From 41b3d7316cf45765df58c0713bc5df53a5ae5f4d Mon Sep 17 00:00:00 2001 From: jensp Date: Wed, 18 Apr 2012 12:00:03 +0000 Subject: [PATCH] =?UTF-8?q?-=20ExtraXMLGenerator=20von=20SciMember=20in=20?= =?UTF-8?q?ccm-cms=20verlegt,=20wird=20jetzt=20f=C3=BCr=20alle=20von=20Gen?= =?UTF-8?q?ericPerson=20abgeleiteten=20Type=20verwendet=20-=20=C3=9Cberset?= =?UTF-8?q?zungsfehler=20in=20GenericPersonCreate=20behoben?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.libreccm.org/ccm/trunk@1605 8810af33-2d31-482b-a856-94f89814c4df --- .../cms/contenttypes/GenericPerson.java | 31 ++++++++-- .../contenttypes/ui/GenericPersonCreate.java | 5 +- .../arsdigita/cms/contenttypes/SciMember.java | 17 +---- .../SciMemberExtraXmlGenerator.java | 62 ------------------- 4 files changed, 28 insertions(+), 87 deletions(-) delete mode 100644 ccm-sci-types-member/src/com/arsdigita/cms/contenttypes/SciMemberExtraXmlGenerator.java diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericPerson.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericPerson.java index 4076fa50a..299b09fb7 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericPerson.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericPerson.java @@ -20,8 +20,10 @@ package com.arsdigita.cms.contenttypes; import com.arsdigita.cms.ContentPage; import com.arsdigita.cms.ContentType; +import com.arsdigita.cms.ExtraXMLGenerator; import com.arsdigita.cms.LanguageInvariantContentItem; import com.arsdigita.cms.RelationAttributeInterface; +import com.arsdigita.cms.contenttypes.ui.GenericPersonExtraXmlGenerator; import com.arsdigita.domain.DataObjectNotFoundException; import com.arsdigita.domain.DomainObjectFactory; import com.arsdigita.persistence.DataObject; @@ -29,6 +31,7 @@ import com.arsdigita.persistence.OID; import com.arsdigita.util.Assert; import java.math.BigDecimal; import java.util.Date; +import java.util.List; import java.util.StringTokenizer; /** @@ -60,7 +63,6 @@ public class GenericPerson extends ContentPage implements */ public static final String BASE_DATA_OBJECT_TYPE = "com.arsdigita.cms.contenttypes.GenericPerson"; - /** * Default constructor. This creates a new (empty) GenericPerson. @@ -75,17 +77,17 @@ public class GenericPerson extends ContentPage implements } public GenericPerson(OID id) throws DataObjectNotFoundException { - super(id); + super(id); } public GenericPerson(DataObject obj) { - super(obj); + super(obj); } public GenericPerson(String type) { - super(type); + super(type); } - + public GenericPersonBundle getGenericPersonBundle() { return (GenericPersonBundle) getContentBundle(); } @@ -330,7 +332,24 @@ public class GenericPerson extends ContentPage implements return getFullName(); } + @Override public boolean isLanguageInvariant() { return true; - } + } + + @Override + public List getExtraXMLGenerators() { + final List generators = super. + getExtraListXMLGenerators(); + generators.add(new GenericPersonExtraXmlGenerator()); + return generators; + } + + @Override + public List getExtraListXMLGenerators() { + final List generators = super. + getExtraListXMLGenerators(); + generators.add(new GenericPersonExtraXmlGenerator()); + return generators; + } } diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonCreate.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonCreate.java index 28024ed6e..372effcd0 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonCreate.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonCreate.java @@ -12,7 +12,6 @@ import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.event.FormSectionEvent; import com.arsdigita.bebop.parameters.DateParameter; import com.arsdigita.bebop.parameters.ParameterModel; -import com.arsdigita.bebop.util.GlobalizationUtil; import com.arsdigita.cms.ContentPage; import com.arsdigita.cms.ContentSection; import com.arsdigita.cms.ContentType; @@ -24,6 +23,7 @@ import com.arsdigita.cms.ui.authoring.ApplyWorkflowFormSection; import com.arsdigita.cms.ui.authoring.CreationSelector; import com.arsdigita.cms.ui.authoring.LanguageWidget; import com.arsdigita.cms.ui.authoring.PageCreate; +import com.arsdigita.cms.util.GlobalizationUtil; import com.arsdigita.util.Assert; import java.util.Date; @@ -48,8 +48,7 @@ public class GenericPersonCreate extends PageCreate { ContentType type = getItemSelectionModel().getContentType(); m_workflowSection = new ApplyWorkflowFormSection(type); add(m_workflowSection, ColumnPanel.INSERT); - add(new Label(GlobalizationUtil.globalize( - "cms.ui.authoring.content_type"))); + add(new Label(GlobalizationUtil.globalize("cms.ui.authoring.content_type"))); add(new Label(type.getLabel())); add(new Label(GlobalizationUtil.globalize("cms.ui.language.field"))); add(new LanguageWidget(LANGUAGE)); diff --git a/ccm-sci-types-member/src/com/arsdigita/cms/contenttypes/SciMember.java b/ccm-sci-types-member/src/com/arsdigita/cms/contenttypes/SciMember.java index 4fca3727e..60121c90d 100644 --- a/ccm-sci-types-member/src/com/arsdigita/cms/contenttypes/SciMember.java +++ b/ccm-sci-types-member/src/com/arsdigita/cms/contenttypes/SciMember.java @@ -53,20 +53,5 @@ public class SciMember extends GenericPerson { public SciMember(final String type) { super(type); - } - - @Override - public List getExtraXMLGenerators() { - final List generators = super.getExtraListXMLGenerators(); - generators.add(new SciMemberExtraXmlGenerator()); - return generators; - } - - @Override - public List getExtraListXMLGenerators() { - final List generators = super.getExtraListXMLGenerators(); - generators.add(new SciMemberExtraXmlGenerator()); - return generators; - } - + } } diff --git a/ccm-sci-types-member/src/com/arsdigita/cms/contenttypes/SciMemberExtraXmlGenerator.java b/ccm-sci-types-member/src/com/arsdigita/cms/contenttypes/SciMemberExtraXmlGenerator.java deleted file mode 100644 index fe4aa35a5..000000000 --- a/ccm-sci-types-member/src/com/arsdigita/cms/contenttypes/SciMemberExtraXmlGenerator.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.arsdigita.cms.contenttypes; - -import com.arsdigita.bebop.Page; -import com.arsdigita.bebop.PageState; -import com.arsdigita.cms.ContentItem; -import com.arsdigita.cms.ExtraXMLGenerator; -import com.arsdigita.cms.dispatcher.SimpleXMLGenerator; -import com.arsdigita.cms.dispatcher.XMLGenerator; -import com.arsdigita.xml.Element; - -/** - * - * @author Jens Pelzetter - * @version $Id$ - */ -public class SciMemberExtraXmlGenerator implements ExtraXMLGenerator { - - public void generateXML(final ContentItem item, - final Element element, - final PageState state) { - if (!(item instanceof SciMember)) { - throw new IllegalArgumentException( - "The SciMemberExtraXmlGenerator can only process " - + "instances of SciMember"); - } - - final SciMember member = (SciMember) item; - final GenericPersonContactCollection contacts = member.getContacts(); - - final Element contactsElem = element.newChildElement("contacts"); - while (contacts.next()) { - generateContactXml(contactsElem, contacts.getContact(), state); - } - } - - public void addGlobalStateParams(final Page page) { - //Nothing for now - } - - private void generateContactXml(final Element contactsElem, - final GenericContact contact, - final PageState state) { - final XmlGenerator generator = new XmlGenerator(contact); - generator.setItemElemName("contact", ""); - generator.addItemAttribute("contactType", contact.getContactType()); - generator.generateXML(state, contactsElem, ""); - } - - private class XmlGenerator extends SimpleXMLGenerator { - - private ContentItem item; - - public XmlGenerator(final ContentItem item) { - this.item = item; - } - - @Override - public ContentItem getContentItem(final PageState state) { - return item; - } - } -}