From 99d35d7607b89dcf0c3e3f096a2602b1f7791ee4 Mon Sep 17 00:00:00 2001 From: quasi Date: Mon, 24 Jan 2011 08:30:05 +0000 Subject: [PATCH] =?UTF-8?q?=C3=9Cbersetzungsfehler=20in=20ContentTypes=20k?= =?UTF-8?q?orrigiert.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit siblings -> decendants geƤndert. Tabellenfeld umbenannt alle Methoden und Felder in den Java-Klassen umbenannt git-svn-id: https://svn.libreccm.org/ccm/trunk@708 8810af33-2d31-482b-a856-94f89814c4df --- .../arsdigita/content-section/ContentType.pdl | 16 +-- .../content-section/table-content_types.sql | 5 +- .../src/com/arsdigita/cms/ContentSection.java | 6 +- .../src/com/arsdigita/cms/ContentType.java | 72 ++++++------ .../installer/xml/ContentTypeHelperImpl.java | 8 +- .../cms/ui/ItemSearchFolderBrowser.java | 2 +- .../cms/ui/authoring/NewItemForm.java | 2 +- .../ui/search/ContentTypeFilterWidget.java | 8 +- .../upgrade/CreateGenericContentTypes.java | 108 ------------------ .../search/ui/BaseQueryComponent.java | 3 + .../com/arsdigita/search/ui/ResultsPane.java | 1 + 11 files changed, 62 insertions(+), 169 deletions(-) diff --git a/ccm-cms/pdl/com/arsdigita/content-section/ContentType.pdl b/ccm-cms/pdl/com/arsdigita/content-section/ContentType.pdl index b0113aece..52b5f96e7 100755 --- a/ccm-cms/pdl/com/arsdigita/content-section/ContentType.pdl +++ b/ccm-cms/pdl/com/arsdigita/content-section/ContentType.pdl @@ -27,10 +27,10 @@ object type ContentType extends ACSObject { String[1..1] label = content_types.label VARCHAR(1000); String[0..1] description = content_types.description VARCHAR(4000); String[0..1] className = content_types.classname VARCHAR(200); - // Quasimodo: Store the information about ancenstors and siblings, so we + // Quasimodo: Store the information about ancenstors and decendants, so we // can make use of extending content types String[0..1] ancestors = content_types.ancestors VARCHAR(2000); - String[0..1] siblings = content_types.siblings VARCHAR(2000); + String[0..1] decendants = content_types.decendants VARCHAR(2000); String[1..1] mode = content_types.mode CHAR(1); BigDecimal[0..1] itemFormID = content_types.item_form_id INTEGER; @@ -64,7 +64,7 @@ association { do { select t.type_id, t.object_type, t.label, t.description, t.classname, - t.ancestors, t.siblings, t.mode, t.item_form_id + t.ancestors, t.decendats, t.mode, t.item_form_id from content_types t, content_section_type_map m, authoring_kits a where @@ -79,7 +79,7 @@ association { creatableContentTypes.description = t.description; creatableContentTypes.className = t.classname; creatableContentTypes.ancestors = t.ancestors; - creatableContentTypes.siblings = t.siblings; + creatableContentTypes.decendats = t.decendats; creatableContentTypes.mode = t.mode; creatableContentTypes.itemFormID = t.item_form_id; } @@ -112,7 +112,7 @@ association { do { select t.type_id, t.object_type, t.label, t.description, t.classname, - t.ancestors, t.siblings, t.mode, t.item_form_id + t.ancestors, t.decendats, t.mode, t.item_form_id from content_types t where @@ -127,7 +127,7 @@ association { notAssociatedContentTypes.description = t.description; notAssociatedContentTypes.className = t.classname; notAssociatedContentTypes.ancestors = t.ancestors; - notAssociatedContentTypes.siblings = t.siblings; + notAssociatedContentTypes.decendats = t.decendats; notAssociatedContentTypes.mode = t.mode; notAssociatedContentTypes.itemFormID = t.item_form_id; } @@ -156,7 +156,7 @@ query registeredContentTypes { do { select t.type_id, t.object_type, t.label, - t.description, t.classname, t.ancestors, t.siblings, + t.description, t.classname, t.ancestors, t.decendats, t.mode, t.item_form_id from content_types t where t.mode != 'I' @@ -169,7 +169,7 @@ query registeredContentTypes { type.description = t.description; type.className = t.classname; type.ancestors = t.ancestors; - type.siblings = t.siblings; + type.decendats = t.decendats; type.mode = t.mode; type.itemFormID = t.item_form_id; } diff --git a/ccm-cms/sql/ccm-cms/default/content-section/table-content_types.sql b/ccm-cms/sql/ccm-cms/default/content-section/table-content_types.sql index 46d1ec7e8..209fe1ecc 100755 --- a/ccm-cms/sql/ccm-cms/default/content-section/table-content_types.sql +++ b/ccm-cms/sql/ccm-cms/default/content-section/table-content_types.sql @@ -30,10 +30,7 @@ create table content_types ( description varchar(4000), classname varchar(200), ancestors varchar(2000), - siblings varchar(2000), --- is_internal char(1) default '0' not null --- constraint content_types_is_internal_ck --- check ( is_internal in ('0', '1') ), + decendats varchar(2000), mode char(1) default '' not null constraint content_types_mode_ck check ( mode in ('D', 'H', 'I') ), diff --git a/ccm-cms/src/com/arsdigita/cms/ContentSection.java b/ccm-cms/src/com/arsdigita/cms/ContentSection.java index ccde1a60c..9a1846e38 100755 --- a/ccm-cms/src/com/arsdigita/cms/ContentSection.java +++ b/ccm-cms/src/com/arsdigita/cms/ContentSection.java @@ -779,7 +779,7 @@ public class ContentSection extends Application { return types; } - public ContentTypeCollection getSiblingsOfContentType(ContentType ct) { + public ContentTypeCollection getDecendantsOfContentType(ContentType ct) { ContentTypeCollection ctc = getContentTypes(); // The Filter Factory @@ -791,9 +791,9 @@ public class ContentSection extends Application { // The content type must be either of the requested type or.addFilter(ff.equals(ContentType.ID, ct.ID)); - // Or must be a sibling of the requested type + // Or must be a decendant of the requested type try { - StringTokenizer strTok = new StringTokenizer(ct.getSiblings(), "/"); + StringTokenizer strTok = new StringTokenizer(ct.getDecendants(), "/"); while (strTok.hasMoreElements()) { or.addFilter(ff.equals(ContentType.ID, (String) strTok.nextElement())); } diff --git a/ccm-cms/src/com/arsdigita/cms/ContentType.java b/ccm-cms/src/com/arsdigita/cms/ContentType.java index 5d3692c54..8251b7b9e 100755 --- a/ccm-cms/src/com/arsdigita/cms/ContentType.java +++ b/ccm-cms/src/com/arsdigita/cms/ContentType.java @@ -70,7 +70,7 @@ public class ContentType extends ACSObject { public static final String ITEM_FORM_ID = "itemFormID"; public static final String ITEM_FORM = "itemForm"; public static final String ANCESTORS = "ancestors"; - public static final String SIBLINGS = "siblings"; + public static final String DECENDANTS = "decendats"; /** * Default constructor. This creates a new folder. @@ -343,14 +343,14 @@ public class ContentType extends ACSObject { } /** - * Add an ancestor to the list of siblings, if not already in the list + * Add an ancestor to the list of decendats, if not already in the list * @param newAncestor ID of the ancestor to add */ public void addAncestor(BigDecimal newAncestor) { - // Get the list of siblings from db + // Get the list of decendats from db String ancestors = (String) get(ANCESTORS); - // Only add if the newSibling in not yet in the list + // Only add if the newAncestor in not yet in the list if (ancestors == null) { ancestors = newAncestor.toString(); } else if (!ancestors.contains(newAncestor.toString())) { @@ -368,11 +368,11 @@ public class ContentType extends ACSObject { } /** - * Remove an ancestor id from the list of siblings + * Remove an ancestor id from the list of decendats * @param ancestor ID to be removed */ public void delAncestor(BigDecimal ancestor) { - // Get the list of siblings from db + // Get the list of decendats from db String ancestors = (String) get(ANCESTORS); // Only try to remove from a non-empty string @@ -403,65 +403,65 @@ public class ContentType extends ACSObject { } /** - * Add a sibling to the list of siblings, if not already in list - * @param newSibling ID of the sibling to add + * Add a decendant to the list of decendats, if not already in list + * @param newDecendant ID of the decendant to add */ - public void addSiblings(BigDecimal newSibling) { + public void addDecendants(BigDecimal newDecendant) { - // Get the list of siblings from db - String siblings = (String) get(SIBLINGS); + // Get the list of decendats from db + String decendats = (String) get(DECENDANTS); - // Only add if the newSibling in not yet in the list - if (siblings == null) { - siblings = newSibling.toString(); - } else if (!siblings.contains(newSibling.toString())) { + // Only add if the newDecendant in not yet in the list + if (decendats == null) { + decendats = newDecendant.toString(); + } else if (!decendats.contains(newDecendant.toString())) { - if (siblings.length() == 0) { + if (decendats.length() == 0) { // First entry in list - siblings = newSibling.toString(); + decendats = newDecendant.toString(); } else { // Additional entry in the list - siblings += "/" + newSibling.toString(); + decendats += "/" + newDecendant.toString(); } } // Write new data back to db - set(SIBLINGS, siblings); + set(DECENDANTS, decendats); } /** - * Get the list of siblings + * Get the list of decendats * @return */ - public String getSiblings() { - return (String) get(SIBLINGS); + public String getDecendants() { + return (String) get(DECENDANTS); } /** - * Remove a sibling from the list of siblings - * @param sibling ID to be removed + * Remove a decendant from the list of decendats + * @param decendant ID to be removed */ - public void delSiblings(BigDecimal sibling) { - // Get the list of siblings from db - String siblings = (String) get(SIBLINGS); + public void delDecendants(BigDecimal decendant) { + // Get the list of decendats from db + String decendats = (String) get(DECENDANTS); // Only try to remove from a non-empty string - if (siblings != null && siblings.length() > 0) { + if (decendats != null && decendats.length() > 0) { // Remove ancestor ID from list - siblings.replace(sibling.toString(), ""); + decendats.replace(decendant.toString(), ""); // Delete the additional slash - siblings.replace("//", "/"); + decendats.replace("//", "/"); // If the list only contains a single slash, // we have just removed the last list entry, so the list is empty - if (siblings.equals("/")) { - siblings = ""; + if (decendats.equals("/")) { + decendats = ""; } } // Write new data back to db - set(SIBLINGS, siblings); + set(DECENDANTS, decendats); } ////////////////////////////////////// @@ -558,7 +558,7 @@ public class ContentType extends ACSObject { return new ContentTypeCollection(dc); } - public static ContentTypeCollection getSiblingsOf(ContentType ct) { + public static ContentTypeCollection getDecendantsOf(ContentType ct) { ContentTypeCollection ctc = ContentType.getRegisteredContentTypes(); // The Filter Factory @@ -570,9 +570,9 @@ public class ContentType extends ACSObject { // The content type must be either of the requested type or.addFilter(ff.equals(ContentType.ID, ct.ID)); - // Or must be a sibling of the requested type + // Or must be a decendant of the requested type try { - StringTokenizer strTok = new StringTokenizer(ct.getSiblings(), "/"); + StringTokenizer strTok = new StringTokenizer(ct.getDecendants(), "/"); while (strTok.hasMoreElements()) { or.addFilter(ff.equals(ContentType.ID, (String) strTok.nextElement())); } diff --git a/ccm-cms/src/com/arsdigita/cms/installer/xml/ContentTypeHelperImpl.java b/ccm-cms/src/com/arsdigita/cms/installer/xml/ContentTypeHelperImpl.java index fbcddc529..384f486ef 100755 --- a/ccm-cms/src/com/arsdigita/cms/installer/xml/ContentTypeHelperImpl.java +++ b/ccm-cms/src/com/arsdigita/cms/installer/xml/ContentTypeHelperImpl.java @@ -357,14 +357,14 @@ public class ContentTypeHelperImpl implements ContentTypeHelper { // Add parent ancestors to this content types ancestor list // Also while we iterate through the list, we also need to add - // this content type as sibling to all entries in the ancestor list + // this content type as decendant to all entries in the ancestor list while (strTok.hasMoreElements()) { BigDecimal ctID = new BigDecimal(strTok.nextToken()); // Get the current content type try { ContentType ct = new ContentType(ctID); - ct.addSiblings(ctID); + ct.addDecendants(ctID); } catch (Exception ex) { // The db is broken. There is no content type for this ID } @@ -377,8 +377,8 @@ public class ContentTypeHelperImpl implements ContentTypeHelper { // Add parent to ancestor list type.addAncestor(parent.getID()); - // Add this to parent siblings - parent.addSiblings(type.getID()); + // Add this to parent decendats + parent.addDecendants(type.getID()); } } } diff --git a/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFolderBrowser.java b/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFolderBrowser.java index 12611b542..29b6f89f1 100755 --- a/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFolderBrowser.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFolderBrowser.java @@ -216,7 +216,7 @@ public class ItemSearchFolderBrowser extends Table { try { ContentType ct = new ContentType(singleTypeID); - StringTokenizer strTok = new StringTokenizer(ct.getSiblings(), "/"); + StringTokenizer strTok = new StringTokenizer(ct.getDecendants(), "/"); while (strTok.hasMoreElements()) { or.addFilter(ff.equals(ContentItem.CONTENT_TYPE + "." + ContentType.ID, (String) strTok.nextElement())); } diff --git a/ccm-cms/src/com/arsdigita/cms/ui/authoring/NewItemForm.java b/ccm-cms/src/com/arsdigita/cms/ui/authoring/NewItemForm.java index 70fac30ff..14409ada4 100755 --- a/ccm-cms/src/com/arsdigita/cms/ui/authoring/NewItemForm.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/authoring/NewItemForm.java @@ -112,7 +112,7 @@ public abstract class NewItemForm extends Form { if (parentType == null) { typesCollection = section.getCreatableContentTypes(); } else { - typesCollection = section.getSiblingsOfContentType(parentType); + typesCollection = section.getDecendantsOfContentType(parentType); } typesCollection.addOrder(ContentType.LABEL); diff --git a/ccm-cms/src/com/arsdigita/cms/ui/search/ContentTypeFilterWidget.java b/ccm-cms/src/com/arsdigita/cms/ui/search/ContentTypeFilterWidget.java index c1e115539..7da8b4bed 100755 --- a/ccm-cms/src/com/arsdigita/cms/ui/search/ContentTypeFilterWidget.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/search/ContentTypeFilterWidget.java @@ -56,13 +56,13 @@ public class ContentTypeFilterWidget extends FilterWidget { } public ContentTypeFilterWidget(ContentSection section, ContentType parentType) { - this(section.getSiblingsOfContentType(parentType)); + this(section.getDecendantsOfContentType(parentType)); m_section = section; m_parentType = parentType; } public ContentTypeFilterWidget(ContentType parentType) { - this(ContentType.getSiblingsOf(parentType)); + this(ContentType.getDecendantsOf(parentType)); m_parentType = parentType; } @@ -108,7 +108,7 @@ public class ContentTypeFilterWidget extends FilterWidget { if (parentType == null) { typesCollection = section.getContentTypes(); } else { - typesCollection = section.getSiblingsOfContentType(parentType); + typesCollection = section.getDecendantsOfContentType(parentType); } } else { @@ -116,7 +116,7 @@ public class ContentTypeFilterWidget extends FilterWidget { if (parentType == null) { typesCollection = ContentType.getRegisteredContentTypes(); } else { - typesCollection = ContentType.getSiblingsOf(parentType); + typesCollection = ContentType.getDecendantsOf(parentType); } } diff --git a/ccm-cms/src/com/arsdigita/cms/upgrade/CreateGenericContentTypes.java b/ccm-cms/src/com/arsdigita/cms/upgrade/CreateGenericContentTypes.java index 1a989dfad..92e16802e 100644 --- a/ccm-cms/src/com/arsdigita/cms/upgrade/CreateGenericContentTypes.java +++ b/ccm-cms/src/com/arsdigita/cms/upgrade/CreateGenericContentTypes.java @@ -98,118 +98,10 @@ public class CreateGenericContentTypes extends Program { tc.commitTxn(); // save database additions for re-reading - // add the dependency hierarchie to any installed ct -/* Das sollte ueberfluessig sein. - tc.beginTxn(); - - ContentTypeCollection ctc = ContentType.getAllContentTypes(); - - s_log.debug("Starte content types update"); - - while (ctc.next()) { - - ContentType ct = ctc.getContentType(); - - s_log.debug("Verarbeite " + ct.getClassName()); - - createPedigree(ct); - - } - tc.commitTxn(); -*/ } }.run(); } - /** - * Generates the pedigree for new content types created during update. - * - * Copy 'nd pasted from AbstractContentType / Loader - * @param type The new content type - */ - private void createPedigree(ContentType type) { - - // The parent content type - ContentType parent = null; - - // Get all content types - ContentTypeCollection cts = ContentType.getAllContentTypes(); - - // This is a brute force method, but I can't come up with something - // better atm without changing either all Loader or the xml-files. - - while (cts.next()) { - ContentType ct = cts.getContentType(); - - try { - Class.forName(type.getClassName()).asSubclass(Class.forName(ct.getClassName())); - } catch (Exception ex) { - // This cast is not valid so type is not a subclass of ct - continue; - } - - s_log.debug("Possible Parent: " + ct.getClassName()); - - // Save the current ct as possible parent if we haven't found any parent yet - // or if the current ancestor list is longer than that one from the possible - // parent earlier found - if (!type.getClassName().equals(ct.getClassName()) - && (parent == null - || (parent.getAncestors() != null - && ct.getAncestors() != null - && parent.getAncestors().length() < ct.getAncestors().length()))) { - parent = ct; - } - } - - // If there is a valid parent content type create the pedigree - if (parent != null && !parent.getClassName().equals(type.getClassName())) { - s_log.debug(type.getClassName() + " is a subtype of " - + parent.getClassName()); - - if (parent.getAncestors() != null) { - String parentAncestors = parent.getAncestors(); - - StringTokenizer strTok = new StringTokenizer(parentAncestors, "/"); - - // Add parent ancestors to this content types ancestor list - // Also while we iterate through the list, we also need to add - // this content type as sibling to all entries in the ancestor list - - - while (strTok.hasMoreElements()) { - - BigDecimal ctID = (BigDecimal) strTok.nextElement(); - - // Get the current content type - - - try { - ContentType ct = new ContentType(ctID); - ct.addSiblings(ctID); - - - } catch (Exception ex) { - s_log.error("The db is broken."); - // The db is broken. There is no content type for this ID - } - - // Add parent ancestor - type.addAncestor(ctID); - - } - } - - // Add parent to ancestor list - type.addAncestor(parent.getID()); - - // Add this to parent siblings - parent.addSiblings(type.getID()); - - } - - s_log.debug("Method Pedigree finished"); - } } diff --git a/ccm-core/src/com/arsdigita/search/ui/BaseQueryComponent.java b/ccm-core/src/com/arsdigita/search/ui/BaseQueryComponent.java index fd9a2b284..28fcf2b34 100755 --- a/ccm-core/src/com/arsdigita/search/ui/BaseQueryComponent.java +++ b/ccm-core/src/com/arsdigita/search/ui/BaseQueryComponent.java @@ -73,12 +73,14 @@ public class BaseQueryComponent extends QueryComponent { m_filters = new HashSet(); } + @Override public void register(Page p) { super.register(p); findFilters(m_filters); } + @Override public void register(Form form, FormModel model) { if (s_log.isDebugEnabled()) { s_log.debug("Adding " + m_terms.getName() + " to form model"); @@ -117,6 +119,7 @@ public class BaseQueryComponent extends QueryComponent { } + @Override public void generateXML(PageState state, Element parent) { Element content = generateParent(parent); diff --git a/ccm-core/src/com/arsdigita/search/ui/ResultsPane.java b/ccm-core/src/com/arsdigita/search/ui/ResultsPane.java index f656aa007..264d3941b 100755 --- a/ccm-core/src/com/arsdigita/search/ui/ResultsPane.java +++ b/ccm-core/src/com/arsdigita/search/ui/ResultsPane.java @@ -70,6 +70,7 @@ public class ResultsPane extends SimpleComponent { m_relative = false; } + @Override public void generateXML(PageState state, Element parent) { if (!m_query.hasQuery(state)) { if (s_log.isDebugEnabled()) {