From 8d0afd2e64b2b65dc230ab1480d8abb492ae1c27 Mon Sep 17 00:00:00 2001 From: jensp Date: Sat, 1 Sep 2012 13:00:20 +0000 Subject: [PATCH] Feintuning Ausgabe von Kontakten bei Projekten git-svn-id: https://svn.libreccm.org/ccm/trunk@1847 8810af33-2d31-482b-a856-94f89814c4df --- .../cms/contenttypes/GenericContact.java | 42 +++++++++++++++---- .../contenttypes/ui/SciProjectSummaryTab.java | 2 +- 2 files changed, 35 insertions(+), 9 deletions(-) diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericContact.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericContact.java index ecd04814b..38753b57f 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericContact.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericContact.java @@ -65,6 +65,7 @@ public class GenericContact extends ContentPage implements s_config.load(); logger.debug("Static initializer finished"); } + /** * Data object type for this domain object */ @@ -128,7 +129,7 @@ public class GenericContact extends ContentPage implements * // Close Collection to prevent an open ResultSet collection.close(); * * return (GenericPerson) DomainObjectFactory.newInstance(dobj); - } + } */ return getGenericContactBundle().getPerson(); @@ -145,7 +146,7 @@ public class GenericContact extends ContentPage implements * link.set(GenericPerson.CONTACTS_KEY, contactType); * link.set(GenericPerson.CONTACTS_ORDER, new * BigDecimal(person.getContacts().size())); link.save(); - } + } */ getGenericContactBundle().setPerson(person, contactType); @@ -166,7 +167,7 @@ public class GenericContact extends ContentPage implements /* * GenericPerson oldPerson; oldPerson = getPerson(); if (oldPerson != * null) { remove(PERSON, oldPerson); - } + } */ getGenericContactBundle().unsetPerson(); @@ -301,10 +302,34 @@ public class GenericContact extends ContentPage implements @Override public void generateXML(ContentItem item, Element element, PageState state) { + if (getPerson() != null) { + Element personElem = element.newChildElement("person"); + GenericPerson person = getPerson(); + + if ((person.getSurname() != null) && !person.getSurname().isEmpty()) { + Element surnameElem = personElem.newChildElement("surname"); + surnameElem.setText(person.getSurname()); + } + + if ((person.getGivenName() != null) && !person.getGivenName().isEmpty()) { + Element givenNameElem = personElem.newChildElement("givenname"); + givenNameElem.setText(person.getGivenName()); + } + + if ((person.getTitlePre() != null) && !person.getTitlePre().isEmpty()) { + Element titlePreElem = personElem.newChildElement("titlepre"); + titlePreElem.setText(person.getTitlePre()); + } + + if ((person.getTitlePost() != null) && !person.getTitlePost().isEmpty()) { + Element titlePostElem = personElem.newChildElement("titlepost"); + titlePostElem.setText(person.getTitlePost()); + } + } + StringTokenizer keys = s_config.getContactEntryKeys(); - - Element contactKeysElem = element.newChildElement("contactEntryKeys"); - while(keys.hasMoreElements()) { + Element contactKeysElem = element.newChildElement("contactEntryKeys"); + while (keys.hasMoreElements()) { contactKeysElem.newChildElement("entryKey").setText(keys.nextToken()); } } @@ -313,16 +338,17 @@ public class GenericContact extends ContentPage implements public void addGlobalStateParams(Page p) { //Nothing } - + @Override public void setListMode(final boolean listMode) { //Nothing } - + @Override public List getExtraXMLGenerators() { List generators = super.getExtraXMLGenerators(); generators.add(this); return generators; } + } diff --git a/ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectSummaryTab.java b/ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectSummaryTab.java index 01202cf8f..d716265c4 100644 --- a/ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectSummaryTab.java +++ b/ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectSummaryTab.java @@ -302,7 +302,7 @@ public class SciProjectSummaryTab implements GenericOrgaUnitTab { final PageState state) { final long start = System.currentTimeMillis(); final XmlGenerator generator = new XmlGenerator(contact); - generator.setUseExtraXml(false); + generator.setUseExtraXml(true); generator.setItemElemName("contact", ""); generator.addItemAttribute("contactType", getContactTypeName(contactType));