Sichern des aktuellen Stands der neuen Sci-Typen
git-svn-id: https://svn.libreccm.org/ccm/trunk@1267 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
469ec4ab1e
commit
acc72a0b5c
|
|
@ -9,6 +9,7 @@ import com.arsdigita.bebop.PageFactory;
|
||||||
import com.arsdigita.bebop.PageState;
|
import com.arsdigita.bebop.PageState;
|
||||||
import com.arsdigita.bebop.ParameterSingleSelectionModel;
|
import com.arsdigita.bebop.ParameterSingleSelectionModel;
|
||||||
import com.arsdigita.bebop.parameters.StringParameter;
|
import com.arsdigita.bebop.parameters.StringParameter;
|
||||||
|
import com.arsdigita.cms.CMS;
|
||||||
import com.arsdigita.cms.ContentItem;
|
import com.arsdigita.cms.ContentItem;
|
||||||
import com.arsdigita.cms.ContentSection;
|
import com.arsdigita.cms.ContentSection;
|
||||||
import com.arsdigita.cms.ReusableImageAsset;
|
import com.arsdigita.cms.ReusableImageAsset;
|
||||||
|
|
@ -368,11 +369,14 @@ public class PublicPersonalProfilesServlet extends BaseApplicationServlet {
|
||||||
links.close();
|
links.close();
|
||||||
final ContentItem item =
|
final ContentItem item =
|
||||||
link.getTargetItem();
|
link.getTargetItem();
|
||||||
|
final Element contentPanelElem = root.
|
||||||
|
newChildElement("cms:contentPanel",
|
||||||
|
CMS.CMS_XML_NS);
|
||||||
final PublicPersonalProfileXmlGenerator generator =
|
final PublicPersonalProfileXmlGenerator generator =
|
||||||
new PublicPersonalProfileXmlGenerator(
|
new PublicPersonalProfileXmlGenerator(
|
||||||
item);
|
item);
|
||||||
generator.generateXML(state,
|
generator.generateXML(state,
|
||||||
root,
|
contentPanelElem,
|
||||||
"");
|
"");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -390,10 +394,16 @@ public class PublicPersonalProfilesServlet extends BaseApplicationServlet {
|
||||||
(ContentItem) DomainObjectFactory.
|
(ContentItem) DomainObjectFactory.
|
||||||
newInstance(itemOid);
|
newInstance(itemOid);
|
||||||
|
|
||||||
|
final Element contentPanelElem = root.
|
||||||
|
newChildElement("cms:contentPanel",
|
||||||
|
CMS.CMS_XML_NS);
|
||||||
|
|
||||||
final PublicPersonalProfileXmlGenerator generator =
|
final PublicPersonalProfileXmlGenerator generator =
|
||||||
new PublicPersonalProfileXmlGenerator(
|
new PublicPersonalProfileXmlGenerator(
|
||||||
item);
|
item);
|
||||||
generator.generateXML(state, root, "");
|
generator.generateXML(state,
|
||||||
|
contentPanelElem,
|
||||||
|
"");
|
||||||
|
|
||||||
} catch (DataObjectNotFoundException ex) {
|
} catch (DataObjectNotFoundException ex) {
|
||||||
logger.error(String.format(
|
logger.error(String.format(
|
||||||
|
|
|
||||||
|
|
@ -162,10 +162,22 @@ query getIdsOfMembersOfOrgaUnits {
|
||||||
String roleName;
|
String roleName;
|
||||||
String status;
|
String status;
|
||||||
|
|
||||||
|
options {
|
||||||
|
WRAP_QUERIES = false;
|
||||||
|
}
|
||||||
|
|
||||||
do {
|
do {
|
||||||
select distinct on (cms_persons.person_id) cms_persons.person_id, cms_persons.surname, cms_persons.givenname, cms_organizationalunits_person_map.organizationalunit_id, cms_organizationalunits_person_map.role_name, cms_organizationalunits_person_map.status
|
select distinct on (cms_persons.person_id)
|
||||||
|
cms_persons.person_id,
|
||||||
|
cms_persons.surname,
|
||||||
|
cms_persons.givenname,
|
||||||
|
cms_organizationalunits_person_map.organizationalunit_id,
|
||||||
|
cms_organizationalunits_person_map.role_name,
|
||||||
|
cms_organizationalunits_person_map.status
|
||||||
from cms_persons
|
from cms_persons
|
||||||
join cms_organizationalunits_person_map on cms_persons.person_id = cms_organizationalunits_person_map.person_id
|
join cms_organizationalunits_person_map on cms_persons.person_id = cms_organizationalunits_person_map.person_id
|
||||||
|
where cms_organizationalunits_person_map.organizationalunit_id in :orgaunitIds
|
||||||
|
|
||||||
} map {
|
} map {
|
||||||
memberId = cms_persons.person_id;
|
memberId = cms_persons.person_id;
|
||||||
orgaunitId = cms_organizationalunits_person_map.organizationalunit_id;
|
orgaunitId = cms_organizationalunits_person_map.organizationalunit_id;
|
||||||
|
|
@ -175,3 +187,4 @@ query getIdsOfMembersOfOrgaUnits {
|
||||||
status = cms_organizationalunits_person_map.status;
|
status = cms_organizationalunits_person_map.status;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//select distinct on (cms_persons.person_id)
|
||||||
|
|
|
||||||
|
|
@ -117,6 +117,8 @@ public class ContentItemXMLRenderer extends DomainObjectXMLRenderer {
|
||||||
relationAttributeCollection.next();
|
relationAttributeCollection.next();
|
||||||
Element element = newElement(m_element, m_keyName);
|
Element element = newElement(m_element, m_keyName);
|
||||||
element.setText(relationAttributeCollection.getName());
|
element.setText(relationAttributeCollection.getName());
|
||||||
|
Element elementId = newElement(m_element, m_keyName + "Id");
|
||||||
|
elementId.setText(relationAttributeCollection.getKey());
|
||||||
relationAttributeCollection.close();
|
relationAttributeCollection.close();
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -144,8 +144,14 @@ public class GenericOrganizationalUnitContactAddForm
|
||||||
if (selectedContact == null) {
|
if (selectedContact == null) {
|
||||||
GenericContact contact = (GenericContact) data.get(ITEM_SEARCH);
|
GenericContact contact = (GenericContact) data.get(ITEM_SEARCH);
|
||||||
|
|
||||||
|
if (orgaunit.getLanguage().equals(
|
||||||
|
GlobalizationHelper.LANG_INDEPENDENT)) {
|
||||||
|
contact = (GenericContact) contact.getContentBundle().
|
||||||
|
getPrimaryInstance();
|
||||||
|
} else {
|
||||||
contact = (GenericContact) contact.getContentBundle().
|
contact = (GenericContact) contact.getContentBundle().
|
||||||
getInstance(orgaunit.getLanguage());
|
getInstance(orgaunit.getLanguage());
|
||||||
|
}
|
||||||
|
|
||||||
orgaunit.addContact(contact,
|
orgaunit.addContact(contact,
|
||||||
(String) data.get(
|
(String) data.get(
|
||||||
|
|
@ -203,7 +209,10 @@ public class GenericOrganizationalUnitContactAddForm
|
||||||
|
|
||||||
GenericContact contact = (GenericContact) data.get(ITEM_SEARCH);
|
GenericContact contact = (GenericContact) data.get(ITEM_SEARCH);
|
||||||
|
|
||||||
if (!(contact.getContentBundle().hasInstance(orgaunit.getLanguage(),
|
if (!(orgaunit.getLanguage().equals(
|
||||||
|
GlobalizationHelper.LANG_INDEPENDENT))) {
|
||||||
|
if (!(contact.getContentBundle().hasInstance(orgaunit.
|
||||||
|
getLanguage(),
|
||||||
Kernel.getConfig().
|
Kernel.getConfig().
|
||||||
languageIndependentItems()))) {
|
languageIndependentItems()))) {
|
||||||
data.addError(
|
data.addError(
|
||||||
|
|
@ -212,9 +221,17 @@ public class GenericOrganizationalUnitContactAddForm
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
contact = (GenericContact) contact.getContentBundle().getInstance(orgaunit.
|
|
||||||
getLanguage());
|
if (orgaunit.getLanguage().equals(
|
||||||
|
GlobalizationHelper.LANG_INDEPENDENT)) {
|
||||||
|
contact = (GenericContact) contact.getContentBundle().
|
||||||
|
getPrimaryInstance();
|
||||||
|
} else {
|
||||||
|
contact = (GenericContact) contact.getContentBundle().
|
||||||
|
getInstance(orgaunit.getLanguage());
|
||||||
|
}
|
||||||
GenericOrganizationalUnitContactCollection contacts = orgaunit.
|
GenericOrganizationalUnitContactCollection contacts = orgaunit.
|
||||||
getContacts();
|
getContacts();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -89,11 +89,11 @@ public class Paginator {
|
||||||
logger.debug(String.format("Applying limits: %d, %d",
|
logger.debug(String.format("Applying limits: %d, %d",
|
||||||
getBegin(),
|
getBegin(),
|
||||||
getEnd()));
|
getEnd()));
|
||||||
if (getBegin() == getEnd()) {
|
/*if (getBegin() == getEnd()) {
|
||||||
query.setRange(getBegin(), getEnd() + 1);
|
query.setRange(getBegin(), getEnd() + 1);
|
||||||
} else {
|
} else {*/
|
||||||
query.setRange(getBegin(), getEnd());
|
query.setRange(getBegin(), getEnd() + 1);
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getPageCount() {
|
public int getPageCount() {
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,8 @@ import com.arsdigita.xml.Element;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The default <tt>XMLGenerator</tt> implementation.</p>
|
* <p>The default <tt>XMLGenerator</tt> implementation.</p>
|
||||||
|
|
@ -67,6 +69,11 @@ public class SimpleXMLGenerator implements XMLGenerator {
|
||||||
* your generator.
|
* your generator.
|
||||||
*/
|
*/
|
||||||
private boolean useExtraXml = true;
|
private boolean useExtraXml = true;
|
||||||
|
/**
|
||||||
|
* Extra attributes for the cms:item element.
|
||||||
|
*/
|
||||||
|
private Map<String, String> itemAttributes =
|
||||||
|
new LinkedHashMap<String, String>();
|
||||||
/**
|
/**
|
||||||
* Allows to overwrite the name and the namespace of the XML element
|
* Allows to overwrite the name and the namespace of the XML element
|
||||||
* used to wrap the rendered item.
|
* used to wrap the rendered item.
|
||||||
|
|
@ -96,14 +103,17 @@ public class SimpleXMLGenerator implements XMLGenerator {
|
||||||
this.useExtraXml = useExtraXml;
|
this.useExtraXml = useExtraXml;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void addItemAttribute(final String name,
|
||||||
|
final String value) {
|
||||||
|
itemAttributes.put(name, value);
|
||||||
|
}
|
||||||
|
|
||||||
public void setItemElemName(final String itemElemName,
|
public void setItemElemName(final String itemElemName,
|
||||||
final String itemElemNs) {
|
final String itemElemNs) {
|
||||||
this.itemElemName = itemElemName;
|
this.itemElemName = itemElemName;
|
||||||
this.itemElemNs = itemElemNs;
|
this.itemElemNs = itemElemNs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generates the XML to render the content panel.
|
* Generates the XML to render the content panel.
|
||||||
*
|
*
|
||||||
|
|
@ -266,6 +276,11 @@ public class SimpleXMLGenerator implements XMLGenerator {
|
||||||
if (useContext != null) {
|
if (useContext != null) {
|
||||||
element.addAttribute("useContext", useContext);
|
element.addAttribute("useContext", useContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (Map.Entry<String, String> attr : itemAttributes.entrySet()) {
|
||||||
|
element.addAttribute(attr.getKey(), attr.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
return element;
|
return element;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,75 @@
|
||||||
|
package com.arsdigita.bundle.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.Page;
|
||||||
|
import com.arsdigita.bebop.PageState;
|
||||||
|
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
|
||||||
|
import com.arsdigita.cms.contenttypes.ui.GenericOrgaUnitTab;
|
||||||
|
import com.arsdigita.dispatcher.DispatcherHelper;
|
||||||
|
import com.arsdigita.domain.DomainObjectFactory;
|
||||||
|
import com.arsdigita.navigation.ui.AbstractComponent;
|
||||||
|
import com.arsdigita.persistence.OID;
|
||||||
|
import com.arsdigita.util.UncheckedWrapperException;
|
||||||
|
import com.arsdigita.xml.Element;
|
||||||
|
import javax.servlet.ServletException;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A wrapper around {@link GenericOrgaUnitTab} which allows it to use the
|
||||||
|
* output of an implementation of {@link GenericOrgaUnitTab} independently from
|
||||||
|
* a {@link GenericOrganizationalUnit} item. This allows it to create an
|
||||||
|
* special JSP and the show a tab as a navigation point.
|
||||||
|
*
|
||||||
|
* @author Jens Pelzetter
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
public class GenericOrgaUnitTabComponent extends AbstractComponent {
|
||||||
|
|
||||||
|
private Page page;
|
||||||
|
private OID orgaunitOid;
|
||||||
|
private GenericOrgaUnitTab tab;
|
||||||
|
|
||||||
|
public void setPage(final Page page) {
|
||||||
|
this.page = page;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The OID of the orga unit to use. Use the OID of the master version (can
|
||||||
|
* be found in the overview tab in the content-center in the stable link)
|
||||||
|
* here
|
||||||
|
* @param oid
|
||||||
|
*/
|
||||||
|
public void setOrgaUnit(final String oid) {
|
||||||
|
this.orgaunitOid = OID.valueOf(oid);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrgaUnitTab(final GenericOrgaUnitTab tab) {
|
||||||
|
this.tab = tab;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Element generateXML(final HttpServletRequest request,
|
||||||
|
final HttpServletResponse response) {
|
||||||
|
final PageState state;
|
||||||
|
try {
|
||||||
|
state = new PageState(page, request, response);
|
||||||
|
} catch (ServletException ex) {
|
||||||
|
throw new UncheckedWrapperException(ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
GenericOrganizationalUnit orgaunit =
|
||||||
|
(GenericOrganizationalUnit) DomainObjectFactory.
|
||||||
|
newInstance(orgaunitOid);
|
||||||
|
if (!DispatcherHelper.getDispatcherPrefix(request).equals("preview")) {
|
||||||
|
orgaunit = (GenericOrganizationalUnit) orgaunit.getLiveVersion();
|
||||||
|
}
|
||||||
|
|
||||||
|
final Element tabsElem = new Element("orgaUnitTabs");
|
||||||
|
final Element selectedTabElem = tabsElem.newChildElement("selectedTab");
|
||||||
|
|
||||||
|
if (orgaunit != null) {
|
||||||
|
tab.generateXml(orgaunit, selectedTabElem, state);
|
||||||
|
}
|
||||||
|
|
||||||
|
return tabsElem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -251,7 +251,7 @@ public class PersonalPublications implements ContentGenerator {
|
||||||
if (typeToken.endsWith("_reviewed")) {
|
if (typeToken.endsWith("_reviewed")) {
|
||||||
return String.format("(objectType = '%s' and reviewed = 'true')",
|
return String.format("(objectType = '%s' and reviewed = 'true')",
|
||||||
typeToken.substring(0, typeToken.length() - 9));
|
typeToken.substring(0, typeToken.length() - 9));
|
||||||
} else if (typeToken.endsWith("notreviewed")) {
|
} else if (typeToken.endsWith("_notreviewed")) {
|
||||||
return String.format(
|
return String.format(
|
||||||
"(objectType = '%s' and (reviewed = 'false' or reviewed is null))",
|
"(objectType = '%s' and (reviewed = 'false' or reviewed is null))",
|
||||||
typeToken.substring(0, typeToken.length() - 12));
|
typeToken.substring(0, typeToken.length() - 12));
|
||||||
|
|
|
||||||
|
|
@ -61,9 +61,7 @@ public class PersonalPublicationsConfig extends AbstractConfig {
|
||||||
* be used here.
|
* be used here.
|
||||||
*/
|
*/
|
||||||
private final Parameter defaultGroup;
|
private final Parameter defaultGroup;
|
||||||
|
|
||||||
private final Parameter pageSize;
|
private final Parameter pageSize;
|
||||||
|
|
||||||
private final Parameter order;
|
private final Parameter order;
|
||||||
|
|
||||||
public PersonalPublicationsConfig() {
|
public PersonalPublicationsConfig() {
|
||||||
|
|
@ -73,8 +71,8 @@ public class PersonalPublicationsConfig extends AbstractConfig {
|
||||||
Parameter.REQUIRED,
|
Parameter.REQUIRED,
|
||||||
"monographs:com.arsdigita.cms.contenttypes.Monograph;"
|
"monographs:com.arsdigita.cms.contenttypes.Monograph;"
|
||||||
+ "collectedVolumeArticles:com.arsdigita.cms.contenttypes.ArticleInCollectedVolume;"
|
+ "collectedVolumeArticles:com.arsdigita.cms.contenttypes.ArticleInCollectedVolume;"
|
||||||
+ "journalArticles:com.arsdigita.cms.contenttypes.ArticleInJournal;"
|
|
||||||
+ "journalArticlesReviewed:com.arsdigita.cms.contenttypes.ArticleInJournal_reviewed;"
|
+ "journalArticlesReviewed:com.arsdigita.cms.contenttypes.ArticleInJournal_reviewed;"
|
||||||
|
+ "journalArticles:com.arsdigita.cms.contenttypes.ArticleInJournal_notreviewed;"
|
||||||
+ "collectedVolumes:com.arsdigita.cms.contenttypes.CollectedVolume");
|
+ "collectedVolumes:com.arsdigita.cms.contenttypes.CollectedVolume");
|
||||||
|
|
||||||
groupSplit = new IntegerParameter(
|
groupSplit = new IntegerParameter(
|
||||||
|
|
@ -82,7 +80,8 @@ public class PersonalPublicationsConfig extends AbstractConfig {
|
||||||
Parameter.REQUIRED,
|
Parameter.REQUIRED,
|
||||||
12);
|
12);
|
||||||
|
|
||||||
defaultGroup = new StringParameter(
|
defaultGroup =
|
||||||
|
new StringParameter(
|
||||||
"com.arsdigita.cms.publicpersonalprofile.publications.defaultGroup",
|
"com.arsdigita.cms.publicpersonalprofile.publications.defaultGroup",
|
||||||
Parameter.REQUIRED,
|
Parameter.REQUIRED,
|
||||||
"monographs,journalArticlesReviewed,journalArticles,misc");
|
"monographs,journalArticlesReviewed,journalArticles,misc");
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
-- Add column for authors property in ct_publications table
|
||||||
|
alter table ct_publications add column authors varchar(2048);
|
||||||
|
|
||||||
|
-- Fill the authors property for existing publications
|
||||||
|
update ct_publications set authors = (array_to_string(array(select cms_persons.surname || ', ' || cms_persons.givenname
|
||||||
|
from cms_persons
|
||||||
|
join ct_publications_authorship on cms_persons.person_id = ct_publications_authorship.person_id
|
||||||
|
where ct_publications_authorship.publication_id = ct_publications.publication_id
|
||||||
|
order by ct_publications_authorship.authorship_order), '; '));
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
-- Add columns
|
||||||
|
alter table ct_internet_article add column url varchar(2048);
|
||||||
|
alter table ct_internet_article add column urn varchar(2048);
|
||||||
|
alter table ct_internet_article add column doi varchar(2048);
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
\echo 'Scientific CMS Publications module 6.6.1 -> 6.6.2 Upgrade Script (PostgreSQL)'
|
||||||
|
|
||||||
|
begin;
|
||||||
|
|
||||||
|
\i ../default/upgrade/6.6.1-6.6.2/add-authors-field.sql
|
||||||
|
\i ../default/upgrade/6.6.1-6.6.2/add-internet-articles-properties.sql
|
||||||
|
|
||||||
|
commit;
|
||||||
|
|
@ -10,10 +10,10 @@
|
||||||
<xrd:attributes rule="exclude">
|
<xrd:attributes rule="exclude">
|
||||||
<xrd:property name="/object/departmentDescription"/>
|
<xrd:property name="/object/departmentDescription"/>
|
||||||
</xrd:attributes>
|
</xrd:attributes>
|
||||||
<xrd:associations rule="include">
|
<!--<xrd:associations rule="include">
|
||||||
<xrd:property name="/object/contacts"/>
|
<xrd:property name="/object/contacts"/>
|
||||||
<xrd:property name="/object/persons"/>
|
<xrd:property name="/object/persons"/>
|
||||||
</xrd:associations>
|
</xrd:associations>-->
|
||||||
</xrd:adapter>
|
</xrd:adapter>
|
||||||
</xrd:context>
|
</xrd:context>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ public class SciDepartmentConfig extends AbstractConfig {
|
||||||
new StringParameter(
|
new StringParameter(
|
||||||
"com.arsdigita.cms.contenttypes.sciproject.tabs",
|
"com.arsdigita.cms.contenttypes.sciproject.tabs",
|
||||||
Parameter.REQUIRED,
|
Parameter.REQUIRED,
|
||||||
"summary:com.arsdigita.cms.contenttypes.ui.SciDepartmentSummaryTab");
|
"summary:com.arsdigita.cms.contenttypes.ui.SciDepartmentSummaryTab;desc:com.arsdigita.cms.contenttypes.ui.SciDepartmentDescTab;members:com.arsdigita.cms.contenttypes.ui.SciDepartmentMembersTab");
|
||||||
|
|
||||||
register(enableSubDepartmentsStep);
|
register(enableSubDepartmentsStep);
|
||||||
register(enableSuperDepartmentsStep);
|
register(enableSuperDepartmentsStep);
|
||||||
|
|
|
||||||
|
|
@ -42,14 +42,16 @@ public class SciDepartmentDescTab implements GenericOrgaUnitTab {
|
||||||
final long start = System.currentTimeMillis();
|
final long start = System.currentTimeMillis();
|
||||||
final Desc desc = getData(orgaunit);
|
final Desc desc = getData(orgaunit);
|
||||||
|
|
||||||
|
final Element descTabElem = parent.newChildElement("departmentDescription");
|
||||||
|
|
||||||
if ((desc.getShortDesc() != null)
|
if ((desc.getShortDesc() != null)
|
||||||
&& !desc.getShortDesc().trim().isEmpty()) {
|
&& !desc.getShortDesc().trim().isEmpty()) {
|
||||||
final Element shortDescElem = parent.newChildElement(
|
final Element shortDescElem = descTabElem.newChildElement(
|
||||||
"shortDescription");
|
"shortDescription");
|
||||||
shortDescElem.setText(desc.getShortDesc());
|
shortDescElem.setText(desc.getShortDesc());
|
||||||
}
|
}
|
||||||
|
|
||||||
final Element descElem = parent.newChildElement("description");
|
final Element descElem = descTabElem.newChildElement("description");
|
||||||
descElem.setText(desc.getDesc());
|
descElem.setText(desc.getDesc());
|
||||||
|
|
||||||
logger.debug(String.format("Generated XML for description tab of "
|
logger.debug(String.format("Generated XML for description tab of "
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ package com.arsdigita.cms.contenttypes.ui;
|
||||||
import com.arsdigita.bebop.PageState;
|
import com.arsdigita.bebop.PageState;
|
||||||
import com.arsdigita.cms.ContentItem;
|
import com.arsdigita.cms.ContentItem;
|
||||||
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
|
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
|
||||||
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnitPersonCollection;
|
|
||||||
import com.arsdigita.cms.contenttypes.GenericPerson;
|
import com.arsdigita.cms.contenttypes.GenericPerson;
|
||||||
import com.arsdigita.cms.contenttypes.SciDepartment;
|
import com.arsdigita.cms.contenttypes.SciDepartment;
|
||||||
import com.arsdigita.cms.contenttypes.ui.panels.CompareFilter;
|
import com.arsdigita.cms.contenttypes.ui.panels.CompareFilter;
|
||||||
|
|
@ -14,6 +13,9 @@ import com.arsdigita.persistence.DataQuery;
|
||||||
import com.arsdigita.persistence.SessionManager;
|
import com.arsdigita.persistence.SessionManager;
|
||||||
import com.arsdigita.xml.Element;
|
import com.arsdigita.xml.Element;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
|
@ -24,14 +26,15 @@ import org.apache.log4j.Logger;
|
||||||
*/
|
*/
|
||||||
public class SciDepartmentMembersTab implements GenericOrgaUnitTab {
|
public class SciDepartmentMembersTab implements GenericOrgaUnitTab {
|
||||||
|
|
||||||
private final Logger logger = Logger.getLogger(SciDepartmentMembersTab.class);
|
private final Logger logger =
|
||||||
|
Logger.getLogger(SciDepartmentMembersTab.class);
|
||||||
private static final SciDepartmentMembersTabConfig config =
|
private static final SciDepartmentMembersTabConfig config =
|
||||||
new SciDepartmentMembersTabConfig();
|
new SciDepartmentMembersTabConfig();
|
||||||
private static final String STATUS_PARAM = "memberStatus";
|
private static final String STATUS_PARAM = "memberStatus";
|
||||||
private static final String SURNAME_PARAM = "memberSurname";
|
private static final String SURNAME_PARAM = "memberSurname";
|
||||||
private final CompareFilter statusFilter = new CompareFilter(
|
private final CompareFilter statusFilter = new CompareFilter(
|
||||||
STATUS_PARAM,
|
STATUS_PARAM,
|
||||||
GenericOrganizationalUnitPersonCollection.LINK_STATUS,
|
"status",
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
false);
|
false);
|
||||||
|
|
@ -79,12 +82,24 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab {
|
||||||
|
|
||||||
final Element filtersElem = depMembersElem.newChildElement("filters");
|
final Element filtersElem = depMembersElem.newChildElement("filters");
|
||||||
|
|
||||||
|
statusFilter.generateXml(filtersElem);
|
||||||
|
|
||||||
|
if (persons.isEmpty()) {
|
||||||
|
if ((surnameFilter != null)
|
||||||
|
&& (surnameFilter.getFilter() != null)
|
||||||
|
&& !(surnameFilter.getFilter().trim().isEmpty())) {
|
||||||
|
surnameFilter.generateXml(filtersElem);
|
||||||
|
}
|
||||||
|
depMembersElem.newChildElement("noMembers");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
final Paginator paginator = new Paginator(request,
|
final Paginator paginator = new Paginator(request,
|
||||||
(int) persons.size(),
|
(int) persons.size(),
|
||||||
config.getPageSize());
|
config.getPageSize());
|
||||||
|
|
||||||
statusFilter.generateXml(filtersElem);
|
if ((paginator.getPageCount() > config.getEnableSearchLimit())
|
||||||
if (paginator.getPageCount() > config.getEnableSearchLimit()) {
|
|| !(surnameFilter.getFilter().trim().isEmpty())) {
|
||||||
surnameFilter.generateXml(filtersElem);
|
surnameFilter.generateXml(filtersElem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -118,6 +133,7 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab {
|
||||||
retrieveQuery(
|
retrieveQuery(
|
||||||
"com.arsdigita.cms.contenttypes.getIdsOfMembersOfOrgaUnits");
|
"com.arsdigita.cms.contenttypes.getIdsOfMembersOfOrgaUnits");
|
||||||
final StringBuffer personsFilter = new StringBuffer();
|
final StringBuffer personsFilter = new StringBuffer();
|
||||||
|
final List<String> orgaUnitIds = new ArrayList<String>();
|
||||||
|
|
||||||
if (config.isMergingMembers()) {
|
if (config.isMergingMembers()) {
|
||||||
final DataQuery subDepartmentsQuery =
|
final DataQuery subDepartmentsQuery =
|
||||||
|
|
@ -135,13 +151,17 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab {
|
||||||
personsFilter.append(String.format("orgaunitId = %s",
|
personsFilter.append(String.format("orgaunitId = %s",
|
||||||
subDepartmentsQuery.get(
|
subDepartmentsQuery.get(
|
||||||
"orgaunitId").toString()));
|
"orgaunitId").toString()));
|
||||||
|
orgaUnitIds.add(subDepartmentsQuery.get(
|
||||||
|
"orgaunitId").toString());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
personsFilter.append(String.format("orgaunitId = %s",
|
personsFilter.append(String.format("orgaunitId = %s",
|
||||||
orgaunit.getID().toString()));
|
orgaunit.getID().toString()));
|
||||||
|
orgaUnitIds.add(orgaunit.getID().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
personsQuery.addFilter(personsFilter.toString());
|
//personsQuery.addFilter(personsFilter.toString());
|
||||||
|
personsQuery.setParameter("orgaunitIds", orgaUnitIds);
|
||||||
|
|
||||||
personsQuery.addOrder(GenericPerson.SURNAME);
|
personsQuery.addOrder(GenericPerson.SURNAME);
|
||||||
personsQuery.addOrder(GenericPerson.GIVENNAME);
|
personsQuery.addOrder(GenericPerson.GIVENNAME);
|
||||||
|
|
@ -162,8 +182,11 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab {
|
||||||
statusFilter.setValue(statusValue);
|
statusFilter.setValue(statusValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String filter = statusFilter.getFilter();
|
||||||
|
if ((filter != null) && !(filter.trim().isEmpty())) {
|
||||||
persons.addFilter(statusFilter.getFilter());
|
persons.addFilter(statusFilter.getFilter());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void applySurnameFilter(final DataQuery persons,
|
private void applySurnameFilter(final DataQuery persons,
|
||||||
final HttpServletRequest request) {
|
final HttpServletRequest request) {
|
||||||
|
|
@ -172,7 +195,10 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab {
|
||||||
surnameFilter.setValue(surnameValue);
|
surnameFilter.setValue(surnameValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
persons.addFilter(surnameFilter.getFilter());
|
final String filter = surnameFilter.getFilter();
|
||||||
|
if ((filter != null) && !(filter.trim().isEmpty())) {
|
||||||
|
persons.addFilter(filter);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void generateMemberXml(final BigDecimal memberId,
|
protected void generateMemberXml(final BigDecimal memberId,
|
||||||
|
|
@ -193,6 +219,7 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab {
|
||||||
final long start = System.currentTimeMillis();
|
final long start = System.currentTimeMillis();
|
||||||
final XmlGenerator generator = new XmlGenerator(member);
|
final XmlGenerator generator = new XmlGenerator(member);
|
||||||
generator.setUseExtraXml(false);
|
generator.setUseExtraXml(false);
|
||||||
|
generator.setItemElemName("member", "");
|
||||||
generator.generateXML(state, parent, "");
|
generator.generateXML(state, parent, "");
|
||||||
logger.debug(String.format("Generated XML for member '%s' in %d ms.",
|
logger.debug(String.format("Generated XML for member '%s' in %d ms.",
|
||||||
member.getFullName(),
|
member.getFullName(),
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ public class SciDepartmentMembersTabConfig extends AbstractConfig {
|
||||||
|
|
||||||
pageSize =
|
pageSize =
|
||||||
new IntegerParameter(
|
new IntegerParameter(
|
||||||
"com.arsdigita.cms.contenttypes.scidepartment.tabs.embers.page_size",
|
"com.arsdigita.cms.contenttypes.scidepartment.tabs.members.page_size",
|
||||||
Parameter.REQUIRED,
|
Parameter.REQUIRED,
|
||||||
30);
|
30);
|
||||||
|
|
||||||
|
|
@ -35,7 +35,7 @@ public class SciDepartmentMembersTabConfig extends AbstractConfig {
|
||||||
new IntegerParameter(
|
new IntegerParameter(
|
||||||
"com.arsdigita.cms.contenttypes.scidepartment.tabs.members.enable_search_limit",
|
"com.arsdigita.cms.contenttypes.scidepartment.tabs.members.enable_search_limit",
|
||||||
Parameter.REQUIRED,
|
Parameter.REQUIRED,
|
||||||
2);
|
0);
|
||||||
|
|
||||||
mergeMembers =
|
mergeMembers =
|
||||||
new BooleanParameter(
|
new BooleanParameter(
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,10 @@ com.arsdigita.cms.contenttypes.scidepartment.tabs.members.status_values.purpose
|
||||||
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.status_values.example = active,associated,former
|
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.status_values.example = active,associated,former
|
||||||
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.status_values.format = [String]
|
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.status_values.format = [String]
|
||||||
|
|
||||||
com.arsdigita.cms.contenttypes.scidepartment.tabs.embers.page_size.title = Page size
|
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.page_size.title = Page size
|
||||||
com.arsdigita.cms.contenttypes.scidepartment.tabs.embers.page_size.purpose = Maximum number of members per page
|
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.page_size.purpose = Maximum number of members per page
|
||||||
com.arsdigita.cms.contenttypes.scidepartment.tabs.embers.page_size.example = 30
|
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.page_size.example = 30
|
||||||
com.arsdigita.cms.contenttypes.scidepartment.tabs.embers.page_size.format = [Integer]
|
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.page_size.format = [Integer]
|
||||||
|
|
||||||
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.enable_search_limit.title = Enable search limit
|
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.enable_search_limit.title = Enable search limit
|
||||||
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.enable_search_limit.purpose = Number of result pages when to activate the search. Set to 1 or 0 to show the search on every time.
|
com.arsdigita.cms.contenttypes.scidepartment.tabs.members.enable_search_limit.purpose = Number of result pages when to activate the search. Set to 1 or 0 to show the search on every time.
|
||||||
|
|
|
||||||
|
|
@ -121,7 +121,7 @@ public class SciDepartmentSummaryTab implements GenericOrgaUnitTab {
|
||||||
heads.addOrder("givenname");
|
heads.addOrder("givenname");
|
||||||
|
|
||||||
while (heads.next()) {
|
while (heads.next()) {
|
||||||
generateMemberXml(heads.getPerson(), headsElem, state);
|
generateHeadXml(heads.getPerson(), headsElem, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.debug(String.format("Generated head of department XML for department '%s' "
|
logger.debug(String.format("Generated head of department XML for department '%s' "
|
||||||
|
|
@ -139,7 +139,7 @@ public class SciDepartmentSummaryTab implements GenericOrgaUnitTab {
|
||||||
department.
|
department.
|
||||||
getSubordinateOrgaUnits();
|
getSubordinateOrgaUnits();
|
||||||
subDepartments.addFilter(
|
subDepartments.addFilter(
|
||||||
String.format("%s = '%s",
|
String.format("%s = '%s'",
|
||||||
GenericOrganizationalUnitSubordinateCollection.LINK_ASSOCTYPE,
|
GenericOrganizationalUnitSubordinateCollection.LINK_ASSOCTYPE,
|
||||||
SciDepartmentSubDepartmentsStep.ASSOC_TYPE));
|
SciDepartmentSubDepartmentsStep.ASSOC_TYPE));
|
||||||
|
|
||||||
|
|
@ -187,7 +187,7 @@ public class SciDepartmentSummaryTab implements GenericOrgaUnitTab {
|
||||||
System.currentTimeMillis() - start));
|
System.currentTimeMillis() - start));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void generateMemberXml(final BigDecimal memberId,
|
protected void generateHeadXml(final BigDecimal memberId,
|
||||||
final Element parent,
|
final Element parent,
|
||||||
final PageState state) {
|
final PageState state) {
|
||||||
final long start = System.currentTimeMillis();
|
final long start = System.currentTimeMillis();
|
||||||
|
|
@ -196,15 +196,16 @@ public class SciDepartmentSummaryTab implements GenericOrgaUnitTab {
|
||||||
+ "in %d ms.",
|
+ "in %d ms.",
|
||||||
member.getFullName(),
|
member.getFullName(),
|
||||||
System.currentTimeMillis() - start));
|
System.currentTimeMillis() - start));
|
||||||
generateMemberXml(member, parent, state);
|
generateHeadXml(member, parent, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void generateMemberXml(final GenericPerson member,
|
protected void generateHeadXml(final GenericPerson member,
|
||||||
final Element parent,
|
final Element parent,
|
||||||
final PageState state) {
|
final PageState state) {
|
||||||
final long start = System.currentTimeMillis();
|
final long start = System.currentTimeMillis();
|
||||||
final XmlGenerator generator = new XmlGenerator(member);
|
final XmlGenerator generator = new XmlGenerator(member);
|
||||||
generator.setUseExtraXml(false);
|
generator.setUseExtraXml(false);
|
||||||
|
generator.setItemElemName("head", "");
|
||||||
generator.generateXML(state, parent, "");
|
generator.generateXML(state, parent, "");
|
||||||
logger.debug(String.format("Generated XML for member '%s' in %d ms.",
|
logger.debug(String.format("Generated XML for member '%s' in %d ms.",
|
||||||
member.getFullName(),
|
member.getFullName(),
|
||||||
|
|
|
||||||
|
|
@ -9,10 +9,12 @@
|
||||||
<xrd:adapter objectType="com.arsdigita.cms.contenttypes.SciProject" extends="com.arsdigita.cms.ContentPage">
|
<xrd:adapter objectType="com.arsdigita.cms.contenttypes.SciProject" extends="com.arsdigita.cms.ContentPage">
|
||||||
<xrd:attributes rule="exclude">
|
<xrd:attributes rule="exclude">
|
||||||
<xrd:property name="/object/projectDescription"/>
|
<xrd:property name="/object/projectDescription"/>
|
||||||
|
<xrd:property name="/object/funding"/>
|
||||||
|
<xrd:property name="/object/fundingVolume"/>
|
||||||
</xrd:attributes>
|
</xrd:attributes>
|
||||||
<xrd:associations rule="include">
|
<xrd:associations rule="include">
|
||||||
<xrd:property name="/object/contacts"/>
|
<!-- <xrd:property name="/object/contacts"/>
|
||||||
<xrd:property name="/object/persons"/>
|
<xrd:property name="/object/persons"/> -->
|
||||||
</xrd:associations>
|
</xrd:associations>
|
||||||
</xrd:adapter>
|
</xrd:adapter>
|
||||||
</xrd:context>
|
</xrd:context>
|
||||||
|
|
|
||||||
|
|
@ -39,24 +39,26 @@ public class SciProjectDescTab implements GenericOrgaUnitTab {
|
||||||
final long start = System.currentTimeMillis();
|
final long start = System.currentTimeMillis();
|
||||||
final Desc desc = getData(orgaunit);
|
final Desc desc = getData(orgaunit);
|
||||||
|
|
||||||
|
final Element descTabElem = parent.newChildElement("projectDescription");
|
||||||
|
|
||||||
if ((desc.getShortDesc() != null)
|
if ((desc.getShortDesc() != null)
|
||||||
&& !desc.getShortDesc().trim().isEmpty()) {
|
&& !desc.getShortDesc().trim().isEmpty()) {
|
||||||
final Element shortDescElem = parent.newChildElement("shortDescription");
|
final Element shortDescElem = descTabElem.newChildElement("shortDescription");
|
||||||
shortDescElem.setText(desc.getShortDesc());
|
shortDescElem.setText(desc.getShortDesc());
|
||||||
}
|
}
|
||||||
|
|
||||||
final Element descElem = parent.newChildElement("description");
|
final Element descElem = descTabElem.newChildElement("description");
|
||||||
descElem.setText(desc.getDesc());
|
descElem.setText(desc.getDesc());
|
||||||
|
|
||||||
if ((desc.getFunding() != null)
|
if ((desc.getFunding() != null)
|
||||||
&& !desc.getFunding().trim().isEmpty()) {
|
&& !desc.getFunding().trim().isEmpty()) {
|
||||||
final Element fundingElem = parent.newChildElement("funding");
|
final Element fundingElem = descTabElem.newChildElement("funding");
|
||||||
fundingElem.setText(desc.getFunding());
|
fundingElem.setText(desc.getFunding());
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((desc.getFundingVolume() != null)
|
if ((desc.getFundingVolume() != null)
|
||||||
&& !desc.getFundingVolume().trim().isEmpty()) {
|
&& !desc.getFundingVolume().trim().isEmpty()) {
|
||||||
final Element volumeElem = parent.newChildElement("fundingVolume");
|
final Element volumeElem = descTabElem.newChildElement("fundingVolume");
|
||||||
volumeElem.setText(desc.getFundingVolume());
|
volumeElem.setText(desc.getFundingVolume());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@ import com.arsdigita.persistence.SessionManager;
|
||||||
import com.arsdigita.xml.Element;
|
import com.arsdigita.xml.Element;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
@ -214,6 +213,7 @@ public class SciProjectSummaryTab implements GenericOrgaUnitTab {
|
||||||
while (personsQuery.next()) {
|
while (personsQuery.next()) {
|
||||||
generateMemberXml((BigDecimal) personsQuery.get("memberId"),
|
generateMemberXml((BigDecimal) personsQuery.get("memberId"),
|
||||||
membersElem,
|
membersElem,
|
||||||
|
(String) personsQuery.get("roleName"),
|
||||||
state);
|
state);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -224,7 +224,10 @@ public class SciProjectSummaryTab implements GenericOrgaUnitTab {
|
||||||
members.addOrder("givenname");
|
members.addOrder("givenname");
|
||||||
|
|
||||||
while (members.next()) {
|
while (members.next()) {
|
||||||
generateMemberXml(members.getPerson(), membersElem, state);
|
generateMemberXml(members.getPerson(),
|
||||||
|
membersElem,
|
||||||
|
members.getRoleName(),
|
||||||
|
state);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -237,6 +240,7 @@ public class SciProjectSummaryTab implements GenericOrgaUnitTab {
|
||||||
|
|
||||||
protected void generateMemberXml(final BigDecimal memberId,
|
protected void generateMemberXml(final BigDecimal memberId,
|
||||||
final Element parent,
|
final Element parent,
|
||||||
|
final String role,
|
||||||
final PageState state) {
|
final PageState state) {
|
||||||
final long start = System.currentTimeMillis();
|
final long start = System.currentTimeMillis();
|
||||||
final GenericPerson member = new GenericPerson(memberId);
|
final GenericPerson member = new GenericPerson(memberId);
|
||||||
|
|
@ -244,15 +248,18 @@ public class SciProjectSummaryTab implements GenericOrgaUnitTab {
|
||||||
+ "in %d ms.",
|
+ "in %d ms.",
|
||||||
member.getFullName(),
|
member.getFullName(),
|
||||||
System.currentTimeMillis() - start));
|
System.currentTimeMillis() - start));
|
||||||
generateMemberXml(member, parent, state);
|
generateMemberXml(member, parent, role, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void generateMemberXml(final GenericPerson member,
|
protected void generateMemberXml(final GenericPerson member,
|
||||||
final Element parent,
|
final Element parent,
|
||||||
|
final String role,
|
||||||
final PageState state) {
|
final PageState state) {
|
||||||
final long start = System.currentTimeMillis();
|
final long start = System.currentTimeMillis();
|
||||||
final XmlGenerator generator = new XmlGenerator(member);
|
final XmlGenerator generator = new XmlGenerator(member);
|
||||||
generator.setUseExtraXml(false);
|
generator.setUseExtraXml(false);
|
||||||
|
generator.setItemElemName("member", "");
|
||||||
|
generator.addItemAttribute("role", role);
|
||||||
generator.generateXML(state, parent, "");
|
generator.generateXML(state, parent, "");
|
||||||
logger.debug(String.format("Generated XML for member '%s' in %d ms.",
|
logger.debug(String.format("Generated XML for member '%s' in %d ms.",
|
||||||
member.getFullName(),
|
member.getFullName(),
|
||||||
|
|
@ -287,6 +294,7 @@ public class SciProjectSummaryTab implements GenericOrgaUnitTab {
|
||||||
final long start = System.currentTimeMillis();
|
final long start = System.currentTimeMillis();
|
||||||
final XmlGenerator generator = new XmlGenerator(contact);
|
final XmlGenerator generator = new XmlGenerator(contact);
|
||||||
generator.setUseExtraXml(false);
|
generator.setUseExtraXml(false);
|
||||||
|
generator.setItemElemName("contact", "");
|
||||||
generator.generateXML(state, parent, "");
|
generator.generateXML(state, parent, "");
|
||||||
logger.debug(String.format("Generated XML for contact '%s' in %d ms.",
|
logger.debug(String.format("Generated XML for contact '%s' in %d ms.",
|
||||||
contact.getName(),
|
contact.getName(),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue