Erster Teil Feintuning XML-Ausgabe für Sci-Typen
git-svn-id: https://svn.libreccm.org/ccm/trunk@1606 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
41b3d7316c
commit
63892df1f4
|
|
@ -183,6 +183,11 @@ public class PublicPersonalProfileExtraXmlGenerator implements ExtraXMLGenerator
|
||||||
//Nothing yet
|
//Nothing yet
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
//nothing
|
||||||
|
}
|
||||||
|
|
||||||
private String getProfileUrl(final PublicPersonalProfile profile) {
|
private String getProfileUrl(final PublicPersonalProfile profile) {
|
||||||
final GenericPerson owner = profile.getOwner();
|
final GenericPerson owner = profile.getOwner();
|
||||||
final GenericPersonContactCollection contacts = owner.getContacts();
|
final GenericPersonContactCollection contacts = owner.getContacts();
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,11 @@ public class ArticleSectionXMLGenerator implements ExtraXMLGenerator {
|
||||||
public void addGlobalStateParams(final Page page) {
|
public void addGlobalStateParams(final Page page) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
//nothing
|
||||||
|
}
|
||||||
|
|
||||||
protected void generateSectionXML(final PageState state,
|
protected void generateSectionXML(final PageState state,
|
||||||
final Element parent,
|
final Element parent,
|
||||||
final ContentItem section,
|
final ContentItem section,
|
||||||
|
|
|
||||||
|
|
@ -84,6 +84,11 @@ public class ArticleSectionPanel extends SimpleComponent implements
|
||||||
p.addGlobalStateParam(m_page);
|
p.addGlobalStateParam(m_page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
//nothing
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Try to get the section from the context
|
* Try to get the section from the context
|
||||||
* if there isn't (eg if we are looking at an index
|
* if there isn't (eg if we are looking at an index
|
||||||
|
|
|
||||||
|
|
@ -84,9 +84,15 @@ public class SiteProxyExtraXMLGenerator implements ExtraXMLGenerator {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void addGlobalStateParams(final Page page) {
|
public void addGlobalStateParams(final Page page) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
//nothing
|
||||||
|
}
|
||||||
|
|
||||||
private String passParameters(final HttpServletRequest request,
|
private String passParameters(final HttpServletRequest request,
|
||||||
final String url) {
|
final String url) {
|
||||||
StringBuilder sb = new StringBuilder(url);
|
StringBuilder sb = new StringBuilder(url);
|
||||||
|
|
|
||||||
|
|
@ -1977,6 +1977,7 @@ public class ContentItem extends VersionedACSObject implements CustomCopy {
|
||||||
DomainObject obj = DomainObjectFactory.newInstance(collection.getDataObject());
|
DomainObject obj = DomainObjectFactory.newInstance(collection.getDataObject());
|
||||||
if (obj instanceof ContentItem) {
|
if (obj instanceof ContentItem) {
|
||||||
final ContentItem item = (ContentItem) obj;
|
final ContentItem item = (ContentItem) obj;
|
||||||
|
collection.close();
|
||||||
return item.copyReverseProperty(source,
|
return item.copyReverseProperty(source,
|
||||||
this,
|
this,
|
||||||
property,
|
property,
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ package com.arsdigita.cms;
|
||||||
|
|
||||||
import com.arsdigita.bebop.Page;
|
import com.arsdigita.bebop.Page;
|
||||||
import com.arsdigita.bebop.PageState;
|
import com.arsdigita.bebop.PageState;
|
||||||
|
import com.arsdigita.cms.dispatcher.SimpleXMLGenerator;
|
||||||
import com.arsdigita.xml.Element;
|
import com.arsdigita.xml.Element;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -27,7 +28,18 @@ public interface ExtraXMLGenerator {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add all required global parameters.
|
* Add all required global parameters.
|
||||||
* @param p The page which contains to item to render
|
* @param page The page which contains to item to render
|
||||||
*/
|
*/
|
||||||
public void addGlobalStateParams(Page p);
|
public void addGlobalStateParams(Page page);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called by the {@link SimpleXMLGenerator} to forward the
|
||||||
|
* value of the listMode property. This method may does nothing. In other
|
||||||
|
* cases it allows it to disable the output of some properties, for example
|
||||||
|
* to avoid endless loops (item a includes item b in its XML output and
|
||||||
|
* item b includes the XML output of item a).
|
||||||
|
*
|
||||||
|
* @param listMode
|
||||||
|
*/
|
||||||
|
public void setListMode(boolean listMode);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -299,6 +299,7 @@ public class GenericContact extends ContentPage implements
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void generateXML(ContentItem item, Element element, PageState state) {
|
public void generateXML(ContentItem item, Element element, PageState state) {
|
||||||
StringTokenizer keys = s_config.getContactEntryKeys();
|
StringTokenizer keys = s_config.getContactEntryKeys();
|
||||||
|
|
||||||
|
|
@ -308,10 +309,16 @@ public class GenericContact extends ContentPage implements
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void addGlobalStateParams(Page p) {
|
public void addGlobalStateParams(Page p) {
|
||||||
//Nothing
|
//Nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
//Nothing
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ExtraXMLGenerator> getExtraXMLGenerators() {
|
public List<ExtraXMLGenerator> getExtraXMLGenerators() {
|
||||||
List<ExtraXMLGenerator> generators = super.getExtraXMLGenerators();
|
List<ExtraXMLGenerator> generators = super.getExtraXMLGenerators();
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ public abstract class GenericOrgaUnitExtraXmlGenerator
|
||||||
private final static Logger logger =
|
private final static Logger logger =
|
||||||
Logger.getLogger(
|
Logger.getLogger(
|
||||||
GenericOrgaUnitExtraXmlGenerator.class);
|
GenericOrgaUnitExtraXmlGenerator.class);
|
||||||
|
private boolean listMode = false;
|
||||||
private final static String SELECTED_TAB_PARAM = "selectedTab";
|
private final static String SELECTED_TAB_PARAM = "selectedTab";
|
||||||
private String showOnly;
|
private String showOnly;
|
||||||
|
|
||||||
|
|
@ -51,6 +52,10 @@ public abstract class GenericOrgaUnitExtraXmlGenerator
|
||||||
+ "only instances of GenericOrganizationalUnit only.");
|
+ "only instances of GenericOrganizationalUnit only.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (listMode) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
final Element orgaUnitTabsElem = element.newChildElement("orgaUnitTabs");
|
final Element orgaUnitTabsElem = element.newChildElement("orgaUnitTabs");
|
||||||
|
|
||||||
final Element availableTabsElem = orgaUnitTabsElem.newChildElement(
|
final Element availableTabsElem = orgaUnitTabsElem.newChildElement(
|
||||||
|
|
@ -207,4 +212,9 @@ public abstract class GenericOrgaUnitExtraXmlGenerator
|
||||||
public void addGlobalStateParams(final Page page) {
|
public void addGlobalStateParams(final Page page) {
|
||||||
//Nothing yet
|
//Nothing yet
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
this.listMode = listMode;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,74 @@
|
||||||
|
package com.arsdigita.cms.contenttypes.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.Page;
|
||||||
|
import com.arsdigita.bebop.PageState;
|
||||||
|
import com.arsdigita.cms.ContentItem;
|
||||||
|
import com.arsdigita.cms.ExtraXMLGenerator;
|
||||||
|
import com.arsdigita.cms.contenttypes.GenericContact;
|
||||||
|
import com.arsdigita.cms.contenttypes.GenericPerson;
|
||||||
|
import com.arsdigita.cms.contenttypes.GenericPersonContactCollection;
|
||||||
|
import com.arsdigita.cms.dispatcher.SimpleXMLGenerator;
|
||||||
|
import com.arsdigita.globalization.GlobalizationHelper;
|
||||||
|
import com.arsdigita.xml.Element;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Jens Pelzetter
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
public class GenericPersonExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
|
|
||||||
|
public void generateXML(final ContentItem item,
|
||||||
|
final Element element,
|
||||||
|
final PageState state) {
|
||||||
|
if (!(item instanceof GenericPerson)) {
|
||||||
|
throw new IllegalArgumentException(
|
||||||
|
"The GenericPersonExtraXmlGenerator can only process "
|
||||||
|
+ "instances of GenericPerson");
|
||||||
|
}
|
||||||
|
|
||||||
|
final GenericPerson person = (GenericPerson) item;
|
||||||
|
final GenericPersonContactCollection contacts = person.getContacts();
|
||||||
|
|
||||||
|
final Element contactsElem = element.newChildElement("contacts");
|
||||||
|
while (contacts.next()) {
|
||||||
|
generateContactXml(
|
||||||
|
contactsElem,
|
||||||
|
contacts.getContact(GlobalizationHelper.getNegotiatedLocale().
|
||||||
|
getLanguage()),
|
||||||
|
state);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addGlobalStateParams(final Page page) {
|
||||||
|
//Nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
//nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -69,6 +69,13 @@ public class SimpleXMLGenerator implements XMLGenerator {
|
||||||
* your generator.
|
* your generator.
|
||||||
*/
|
*/
|
||||||
private boolean useExtraXml = true;
|
private boolean useExtraXml = true;
|
||||||
|
/**
|
||||||
|
* jensp 2012-04-18: This value is forwarded to this ExtraXMLGenerators
|
||||||
|
* by calling {@link ExtraXMLGenerator#setListMode(boolean)}. The behavior
|
||||||
|
* triggered by this value depends on the specific implementation of
|
||||||
|
* the {@code ExtraXMLGenerator}
|
||||||
|
*/
|
||||||
|
private boolean listMode = false;
|
||||||
/**
|
/**
|
||||||
* Extra attributes for the cms:item element.
|
* Extra attributes for the cms:item element.
|
||||||
*/
|
*/
|
||||||
|
|
@ -103,6 +110,10 @@ public class SimpleXMLGenerator implements XMLGenerator {
|
||||||
this.useExtraXml = useExtraXml;
|
this.useExtraXml = useExtraXml;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
this.listMode = listMode;
|
||||||
|
}
|
||||||
|
|
||||||
public void addItemAttribute(final String name,
|
public void addItemAttribute(final String name,
|
||||||
final String value) {
|
final String value) {
|
||||||
itemAttributes.put(name, value);
|
itemAttributes.put(name, value);
|
||||||
|
|
@ -207,6 +218,7 @@ public class SimpleXMLGenerator implements XMLGenerator {
|
||||||
*/
|
*/
|
||||||
if (useExtraXml) {
|
if (useExtraXml) {
|
||||||
for (ExtraXMLGenerator generator : item.getExtraXMLGenerators()) {
|
for (ExtraXMLGenerator generator : item.getExtraXMLGenerators()) {
|
||||||
|
generator.setListMode(listMode);
|
||||||
generator.generateXML(item, content, state);
|
generator.generateXML(item, content, state);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -273,8 +285,8 @@ public class SimpleXMLGenerator implements XMLGenerator {
|
||||||
private Element startElement(String useContext, Element parent) {
|
private Element startElement(String useContext, Element parent) {
|
||||||
//Element element = new Element("cms:item", CMS.CMS_XML_NS);
|
//Element element = new Element("cms:item", CMS.CMS_XML_NS);
|
||||||
//final Element element = new Element(itemElemName, itemElemNs);
|
//final Element element = new Element(itemElemName, itemElemNs);
|
||||||
final Element element = parent.newChildElement("cms:item",
|
final Element element = parent.newChildElement(itemElemName,
|
||||||
CMS.CMS_XML_NS);
|
itemElemNs);
|
||||||
if (useContext != null) {
|
if (useContext != null) {
|
||||||
element.addAttribute("useContext", useContext);
|
element.addAttribute("useContext", useContext);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -80,6 +80,7 @@ public class CMSDataCollectionRenderer extends DataCollectionRenderer {
|
||||||
final ContentItem contentItem = (ContentItem) obj;
|
final ContentItem contentItem = (ContentItem) obj;
|
||||||
|
|
||||||
for(ExtraXMLGenerator generator : contentItem.getExtraListXMLGenerators()) {
|
for(ExtraXMLGenerator generator : contentItem.getExtraListXMLGenerators()) {
|
||||||
|
generator.setListMode(true);
|
||||||
generator.generateXML(contentItem, item, null);
|
generator.generateXML(contentItem, item, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ package com.arsdigita.cms.contenttypes;
|
||||||
import com.arsdigita.cms.ExtraXMLGenerator;
|
import com.arsdigita.cms.ExtraXMLGenerator;
|
||||||
import com.arsdigita.cms.contenttypes.ui.ExpertiseExtraXmlGenerator;
|
import com.arsdigita.cms.contenttypes.ui.ExpertiseExtraXmlGenerator;
|
||||||
import com.arsdigita.domain.DataObjectNotFoundException;
|
import com.arsdigita.domain.DataObjectNotFoundException;
|
||||||
|
import com.arsdigita.globalization.GlobalizationHelper;
|
||||||
import com.arsdigita.persistence.DataObject;
|
import com.arsdigita.persistence.DataObject;
|
||||||
import com.arsdigita.persistence.OID;
|
import com.arsdigita.persistence.OID;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
@ -75,44 +76,42 @@ public class Expertise extends Publication {
|
||||||
}
|
}
|
||||||
|
|
||||||
public GenericOrganizationalUnit getOrganization() {
|
public GenericOrganizationalUnit getOrganization() {
|
||||||
/*DataCollection collection;
|
final GenericOrganizationalUnitBundle bundle = getExpertiseBundle().
|
||||||
|
getOrganization();
|
||||||
|
|
||||||
collection = (DataCollection) get(ORGANIZATION);
|
if (bundle == null) {
|
||||||
|
return null;
|
||||||
if (0 == collection.size()) {
|
} else {
|
||||||
return null;
|
return (GenericOrganizationalUnit) bundle.getPrimaryInstance();
|
||||||
} else {
|
}
|
||||||
DataObject dobj;
|
|
||||||
|
|
||||||
collection.next();
|
|
||||||
dobj = collection.getDataObject();
|
|
||||||
collection.close();
|
|
||||||
|
|
||||||
return (GenericOrganizationalUnit) DomainObjectFactory.newInstance(dobj);
|
|
||||||
} */
|
|
||||||
return (GenericOrganizationalUnit) getExpertiseBundle().getOrganization().
|
|
||||||
getPrimaryInstance();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public GenericOrganizationalUnit getOrganization(final String language) {
|
public GenericOrganizationalUnit getOrganization(final String language) {
|
||||||
return (GenericOrganizationalUnit) getExpertiseBundle().getOrganization().
|
final GenericOrganizationalUnitBundle bundle = getExpertiseBundle().
|
||||||
getInstance(language);
|
getOrganization();
|
||||||
|
|
||||||
|
if (bundle == null) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
|
return (GenericOrganizationalUnit) bundle.getInstance(GlobalizationHelper.
|
||||||
|
getNegotiatedLocale().getLanguage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setOrganization(final GenericOrganizationalUnit orga) {
|
public void setOrganization(final GenericOrganizationalUnit orga) {
|
||||||
/*GenericOrganizationalUnit oldOrga;
|
/*GenericOrganizationalUnit oldOrga;
|
||||||
|
|
||||||
oldOrga = getOrganization();
|
oldOrga = getOrganization();
|
||||||
if (oldOrga != null) {
|
if (oldOrga != null) {
|
||||||
remove(ORGANIZATION, oldOrga);
|
remove(ORGANIZATION, oldOrga);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (null != orga) {
|
if (null != orga) {
|
||||||
Assert.exists(orga, GenericOrganizationalUnit.class);
|
Assert.exists(orga, GenericOrganizationalUnit.class);
|
||||||
DataObject link = add(ORGANIZATION, orga);
|
DataObject link = add(ORGANIZATION, orga);
|
||||||
link.set("orgaOrder", 1);
|
link.set("orgaOrder", 1);
|
||||||
link.save();
|
link.save();
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
getExpertiseBundle().setOrganization(orga);
|
getExpertiseBundle().setOrganization(orga);
|
||||||
}
|
}
|
||||||
|
|
@ -126,45 +125,29 @@ public class Expertise extends Publication {
|
||||||
}
|
}
|
||||||
|
|
||||||
public GenericOrganizationalUnit getOrderer() {
|
public GenericOrganizationalUnit getOrderer() {
|
||||||
/*DataCollection collection;
|
final GenericOrganizationalUnitBundle bundle = getExpertiseBundle().
|
||||||
|
getOrderer();
|
||||||
|
|
||||||
collection = (DataCollection) get(ORDERER);
|
if (bundle == null) {
|
||||||
|
|
||||||
if (0 == collection.size()) {
|
|
||||||
return null;
|
return null;
|
||||||
} else {
|
} else {
|
||||||
DataObject dobj;
|
return (GenericOrganizationalUnit) bundle.getPrimaryInstance();
|
||||||
|
}
|
||||||
collection.next();
|
|
||||||
dobj = collection.getDataObject();
|
|
||||||
collection.close();
|
|
||||||
|
|
||||||
return (GenericOrganizationalUnit) DomainObjectFactory.newInstance(
|
|
||||||
dobj);
|
|
||||||
}*/
|
|
||||||
|
|
||||||
return (GenericOrganizationalUnit) getExpertiseBundle().getOrderer().getPrimaryInstance();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public GenericOrganizationalUnit getOrderer(final String language) {
|
public GenericOrganizationalUnit getOrderer(final String language) {
|
||||||
return (GenericOrganizationalUnit) getExpertiseBundle().getOrderer().getInstance(language);
|
final GenericOrganizationalUnitBundle bundle = getExpertiseBundle().
|
||||||
|
getOrderer();
|
||||||
|
|
||||||
|
if (bundle == null) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
|
return (GenericOrganizationalUnit) bundle.getInstance(GlobalizationHelper.
|
||||||
|
getNegotiatedLocale().getLanguage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setOrderer(final GenericOrganizationalUnit orderer) {
|
public void setOrderer(final GenericOrganizationalUnit orderer) {
|
||||||
/*GenericOrganizationalUnit oldOrga;
|
|
||||||
|
|
||||||
oldOrga = getOrganization();
|
|
||||||
if (oldOrga != null) {
|
|
||||||
remove(ORDERER, oldOrga);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (null != orderer) {
|
|
||||||
Assert.exists(orderer, GenericOrganizationalUnit.class);
|
|
||||||
DataObject link = add(ORDERER, orderer);
|
|
||||||
link.set("ordererOrder", 1);
|
|
||||||
link.save();
|
|
||||||
}*/
|
|
||||||
|
|
||||||
getExpertiseBundle().setOrderer(orderer);
|
getExpertiseBundle().setOrderer(orderer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -180,7 +163,9 @@ public class Expertise extends Publication {
|
||||||
public List<ExtraXMLGenerator> getExtraListXMLGenerators() {
|
public List<ExtraXMLGenerator> getExtraListXMLGenerators() {
|
||||||
final List<ExtraXMLGenerator> generators = super.
|
final List<ExtraXMLGenerator> generators = super.
|
||||||
getExtraListXMLGenerators();
|
getExtraListXMLGenerators();
|
||||||
generators.add(new ExpertiseExtraXmlGenerator());
|
final ExtraXMLGenerator generator = new ExpertiseExtraXmlGenerator();
|
||||||
|
generator.setListMode(true);
|
||||||
|
generators.add(generator);
|
||||||
return generators;
|
return generators;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,7 @@ public class ExpertiseBundle extends PublicationBundle {
|
||||||
if (orgaunitLive != null) {
|
if (orgaunitLive != null) {
|
||||||
final DataObject link = add(ORGANIZATION, orgaunitLive);
|
final DataObject link = add(ORGANIZATION, orgaunitLive);
|
||||||
|
|
||||||
link.set("orgaOrder", link.get("link.orgaOrder"));
|
link.set("orgaOrder", 1);
|
||||||
|
|
||||||
link.save();
|
link.save();
|
||||||
}
|
}
|
||||||
|
|
@ -117,7 +117,7 @@ public class ExpertiseBundle extends PublicationBundle {
|
||||||
if (ordererLive != null) {
|
if (ordererLive != null) {
|
||||||
final DataObject link = add(ORDERER, ordererLive);
|
final DataObject link = add(ORDERER, ordererLive);
|
||||||
|
|
||||||
link.set("ordererOrder", link.get("link.ordererOrder"));
|
link.set("ordererOrder", 1);
|
||||||
|
|
||||||
link.save();
|
link.save();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,7 @@ import java.util.List;
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author Jens Pelzetter
|
* @author Jens Pelzetter
|
||||||
|
* @version $Id$
|
||||||
*/
|
*/
|
||||||
public class InternetArticle extends Publication {
|
public class InternetArticle extends Publication {
|
||||||
|
|
||||||
|
|
@ -81,44 +82,26 @@ public class InternetArticle extends Publication {
|
||||||
}
|
}
|
||||||
|
|
||||||
public GenericOrganizationalUnit getOrganization() {
|
public GenericOrganizationalUnit getOrganization() {
|
||||||
/*DataCollection collection;
|
final GenericOrganizationalUnitBundle bundle = getInternetArticleBundle().getOrganization();
|
||||||
|
|
||||||
collection = (DataCollection) get(ORGANIZATION);
|
if (bundle == null) {
|
||||||
|
|
||||||
if (collection.size() == 0) {
|
|
||||||
return null;
|
return null;
|
||||||
} else {
|
} else {
|
||||||
DataObject dobj;
|
return (GenericOrganizationalUnit) bundle.getPrimaryInstance();
|
||||||
|
}
|
||||||
collection.next();
|
|
||||||
dobj = collection.getDataObject();
|
|
||||||
collection.close();
|
|
||||||
|
|
||||||
return (GenericOrganizationalUnit) DomainObjectFactory.newInstance(dobj);
|
|
||||||
}*/
|
|
||||||
|
|
||||||
return (GenericOrganizationalUnit) getInternetArticleBundle().getOrganization().getPrimaryInstance();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public GenericOrganizationalUnit getOrganization(final String language) {
|
public GenericOrganizationalUnit getOrganization(final String language) {
|
||||||
return (GenericOrganizationalUnit) getInternetArticleBundle().getOrganization().getInstance(language);
|
final GenericOrganizationalUnitBundle bundle = getInternetArticleBundle().getOrganization();
|
||||||
|
|
||||||
|
if (bundle == null) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
|
return (GenericOrganizationalUnit) bundle.getInstance(language);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setOrganization(final GenericOrganizationalUnit orga) {
|
public void setOrganization(final GenericOrganizationalUnit orga) {
|
||||||
/*GenericOrganizationalUnit oldOrga;
|
|
||||||
|
|
||||||
oldOrga = getOrganization();
|
|
||||||
if(oldOrga != null) {
|
|
||||||
remove(ORGANIZATION, oldOrga);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (orga != null) {
|
|
||||||
Assert.exists(orga, GenericOrganizationalUnit.class);
|
|
||||||
DataObject link = add(ORGANIZATION, orga);
|
|
||||||
link.set("orgaOrder", 1);
|
|
||||||
link.save();
|
|
||||||
}*/
|
|
||||||
|
|
||||||
getInternetArticleBundle().setOrganization(orga);
|
getInternetArticleBundle().setOrganization(orga);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -204,7 +187,9 @@ public class InternetArticle extends Publication {
|
||||||
@Override
|
@Override
|
||||||
public List<ExtraXMLGenerator> getExtraListXMLGenerators() {
|
public List<ExtraXMLGenerator> getExtraListXMLGenerators() {
|
||||||
final List<ExtraXMLGenerator> generators = super.getExtraListXMLGenerators();
|
final List<ExtraXMLGenerator> generators = super.getExtraListXMLGenerators();
|
||||||
generators.add(new InternetArticleExtraXmlGenerator());
|
final ExtraXMLGenerator generator = new InternetArticleExtraXmlGenerator();
|
||||||
|
generator.setListMode(true);
|
||||||
|
generators.add(generator);
|
||||||
return generators;
|
return generators;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@ public class InternetArticleBundle extends PublicationBundle {
|
||||||
if (orgaunitLive != null) {
|
if (orgaunitLive != null) {
|
||||||
final DataObject link = add(ORGANIZATION, orgaunitLive);
|
final DataObject link = add(ORGANIZATION, orgaunitLive);
|
||||||
|
|
||||||
link.set("orgaOrder", link.get("link.orgaOrder"));
|
link.set("orgaOrder", 1);
|
||||||
|
|
||||||
link.save();
|
link.save();
|
||||||
}
|
}
|
||||||
|
|
@ -142,7 +142,7 @@ public class InternetArticleBundle extends PublicationBundle {
|
||||||
final DataObject link = orgaBundle.add("internetArticle",
|
final DataObject link = orgaBundle.add("internetArticle",
|
||||||
liveInternetArticle);
|
liveInternetArticle);
|
||||||
|
|
||||||
link.set("orgaOrder", internetArticles.get("link.orderOrder"));
|
link.set("orgaOrder", 1);
|
||||||
|
|
||||||
link.save();
|
link.save();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ public class ArticleInCollectedVolumeExtraXmlGenerator
|
||||||
if (collectedVolume != null) {
|
if (collectedVolume != null) {
|
||||||
final XmlGenerator generator = new XmlGenerator(collectedVolume);
|
final XmlGenerator generator = new XmlGenerator(collectedVolume);
|
||||||
generator.setItemElemName("collectedVolume", "");
|
generator.setItemElemName("collectedVolume", "");
|
||||||
|
generator.setListMode(true);
|
||||||
generator.generateXML(state, parent, "");
|
generator.generateXML(state, parent, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -48,6 +49,11 @@ public class ArticleInCollectedVolumeExtraXmlGenerator
|
||||||
//nothing
|
//nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
//Nothing
|
||||||
|
}
|
||||||
|
|
||||||
private class XmlGenerator extends SimpleXMLGenerator {
|
private class XmlGenerator extends SimpleXMLGenerator {
|
||||||
|
|
||||||
private final ContentItem item;
|
private final ContentItem item;
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ public class ArticleInJournalExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
getNegotiatedLocale().getLanguage());
|
getNegotiatedLocale().getLanguage());
|
||||||
if (journal != null) {
|
if (journal != null) {
|
||||||
final XmlGenerator generator = new XmlGenerator(journal);
|
final XmlGenerator generator = new XmlGenerator(journal);
|
||||||
|
generator.setListMode(true);
|
||||||
generator.setItemElemName("journal", "");
|
generator.setItemElemName("journal", "");
|
||||||
generator.generateXML(state, parent, "");
|
generator.generateXML(state, parent, "");
|
||||||
}
|
}
|
||||||
|
|
@ -47,6 +48,11 @@ public class ArticleInJournalExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
//nothing
|
//nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
//nothing
|
||||||
|
}
|
||||||
|
|
||||||
private class XmlGenerator extends SimpleXMLGenerator {
|
private class XmlGenerator extends SimpleXMLGenerator {
|
||||||
|
|
||||||
private final ContentItem item;
|
private final ContentItem item;
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ import com.arsdigita.cms.ContentItem;
|
||||||
import com.arsdigita.cms.ExtraXMLGenerator;
|
import com.arsdigita.cms.ExtraXMLGenerator;
|
||||||
import com.arsdigita.cms.contenttypes.ArticleInCollectedVolume;
|
import com.arsdigita.cms.contenttypes.ArticleInCollectedVolume;
|
||||||
import com.arsdigita.cms.contenttypes.ArticleInCollectedVolumeCollection;
|
import com.arsdigita.cms.contenttypes.ArticleInCollectedVolumeCollection;
|
||||||
import com.arsdigita.cms.contenttypes.ArticleInJournal;
|
|
||||||
import com.arsdigita.cms.contenttypes.CollectedVolume;
|
import com.arsdigita.cms.contenttypes.CollectedVolume;
|
||||||
import com.arsdigita.cms.dispatcher.SimpleXMLGenerator;
|
import com.arsdigita.cms.dispatcher.SimpleXMLGenerator;
|
||||||
import com.arsdigita.globalization.GlobalizationHelper;
|
import com.arsdigita.globalization.GlobalizationHelper;
|
||||||
|
|
@ -19,6 +18,8 @@ import com.arsdigita.xml.Element;
|
||||||
*/
|
*/
|
||||||
public class CollectedVolumeExtraXmlGenerator implements ExtraXMLGenerator {
|
public class CollectedVolumeExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
|
|
||||||
|
private boolean listMode = false;
|
||||||
|
|
||||||
public void generateXML(final ContentItem item,
|
public void generateXML(final ContentItem item,
|
||||||
final Element element,
|
final Element element,
|
||||||
final PageState state) {
|
final PageState state) {
|
||||||
|
|
@ -30,20 +31,24 @@ public class CollectedVolumeExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
}
|
}
|
||||||
|
|
||||||
final CollectedVolume collectedVolume = (CollectedVolume) item;
|
final CollectedVolume collectedVolume = (CollectedVolume) item;
|
||||||
createArticlesXml(collectedVolume, element, state);
|
if (!listMode) {
|
||||||
|
createArticlesXml(collectedVolume, element, state);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createArticlesXml(final CollectedVolume collectedVolume,
|
private void createArticlesXml(final CollectedVolume collectedVolume,
|
||||||
final Element parent,
|
final Element parent,
|
||||||
final PageState state) {
|
final PageState state) {
|
||||||
final ArticleInCollectedVolumeCollection articles = collectedVolume.getArticles();
|
final ArticleInCollectedVolumeCollection articles = collectedVolume.
|
||||||
|
getArticles();
|
||||||
if ((articles == null) || articles.isEmpty()) {
|
if ((articles == null) || articles.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Element articlesElem = parent.newChildElement("articles");
|
final Element articlesElem = parent.newChildElement("articles");
|
||||||
while(articles.next()) {
|
while (articles.next()) {
|
||||||
createArticleXml(articles.getArticle(GlobalizationHelper.getNegotiatedLocale().getLanguage()),
|
createArticleXml(articles.getArticle(GlobalizationHelper.
|
||||||
|
getNegotiatedLocale().getLanguage()),
|
||||||
articles.getArticleOrder(),
|
articles.getArticleOrder(),
|
||||||
articlesElem,
|
articlesElem,
|
||||||
state);
|
state);
|
||||||
|
|
@ -65,6 +70,11 @@ public class CollectedVolumeExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
//Nothing
|
//Nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
this.listMode = listMode;
|
||||||
|
}
|
||||||
|
|
||||||
private class XmlGenerator extends SimpleXMLGenerator {
|
private class XmlGenerator extends SimpleXMLGenerator {
|
||||||
|
|
||||||
private final ContentItem item;
|
private final ContentItem item;
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ public class ExpertiseExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
getNegotiatedLocale().getLanguage());
|
getNegotiatedLocale().getLanguage());
|
||||||
if (orga != null) {
|
if (orga != null) {
|
||||||
final XmlGenerator generator = new XmlGenerator(orga);
|
final XmlGenerator generator = new XmlGenerator(orga);
|
||||||
|
generator.setListMode(true);
|
||||||
generator.setItemElemName("organization", "");
|
generator.setItemElemName("organization", "");
|
||||||
generator.generateXML(state, parent, "");
|
generator.generateXML(state, parent, "");
|
||||||
}
|
}
|
||||||
|
|
@ -53,6 +54,7 @@ public class ExpertiseExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
getNegotiatedLocale().getLanguage());
|
getNegotiatedLocale().getLanguage());
|
||||||
if (orderer != null) {
|
if (orderer != null) {
|
||||||
final XmlGenerator generator = new XmlGenerator(orderer);
|
final XmlGenerator generator = new XmlGenerator(orderer);
|
||||||
|
generator.setListMode(true);
|
||||||
generator.setItemElemName("orderer", "");
|
generator.setItemElemName("orderer", "");
|
||||||
generator.generateXML(state, parent, "");
|
generator.generateXML(state, parent, "");
|
||||||
}
|
}
|
||||||
|
|
@ -62,6 +64,11 @@ public class ExpertiseExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
//nothing
|
//nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
//nothing
|
||||||
|
}
|
||||||
|
|
||||||
private class XmlGenerator extends SimpleXMLGenerator {
|
private class XmlGenerator extends SimpleXMLGenerator {
|
||||||
|
|
||||||
private final ContentItem item;
|
private final ContentItem item;
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ public class InProceedingsExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
if (proceedings != null) {
|
if (proceedings != null) {
|
||||||
final XmlGenerator generator = new XmlGenerator(proceedings);
|
final XmlGenerator generator = new XmlGenerator(proceedings);
|
||||||
generator.setItemElemName("proceedings", "");
|
generator.setItemElemName("proceedings", "");
|
||||||
|
generator.setListMode(true);
|
||||||
generator.generateXML(state, parent, "");
|
generator.generateXML(state, parent, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -48,6 +49,11 @@ public class InProceedingsExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
//nothing
|
//nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
//nothing
|
||||||
|
}
|
||||||
|
|
||||||
private class XmlGenerator extends SimpleXMLGenerator {
|
private class XmlGenerator extends SimpleXMLGenerator {
|
||||||
|
|
||||||
private final ContentItem item;
|
private final ContentItem item;
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,8 @@ import com.arsdigita.xml.Element;
|
||||||
*/
|
*/
|
||||||
public class InternetArticleExtraXmlGenerator implements ExtraXMLGenerator {
|
public class InternetArticleExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
|
|
||||||
|
private boolean listMode = false;
|
||||||
|
|
||||||
public void generateXML(final ContentItem item,
|
public void generateXML(final ContentItem item,
|
||||||
final Element element,
|
final Element element,
|
||||||
final PageState state) {
|
final PageState state) {
|
||||||
|
|
@ -35,6 +37,11 @@ public class InternetArticleExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
//nothing
|
//nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
this.listMode = true;
|
||||||
|
}
|
||||||
|
|
||||||
private void createOrganizationXml(final InternetArticle internetArticle,
|
private void createOrganizationXml(final InternetArticle internetArticle,
|
||||||
final Element parent,
|
final Element parent,
|
||||||
final PageState state) {
|
final PageState state) {
|
||||||
|
|
@ -44,6 +51,7 @@ public class InternetArticleExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
if (orga != null) {
|
if (orga != null) {
|
||||||
final Element orgaElem = parent.newChildElement("organization");
|
final Element orgaElem = parent.newChildElement("organization");
|
||||||
final XmlGenerator generator = new XmlGenerator(orga);
|
final XmlGenerator generator = new XmlGenerator(orga);
|
||||||
|
generator.setListMode(listMode);
|
||||||
generator.generateXML(state, orgaElem, "");
|
generator.generateXML(state, orgaElem, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,18 +17,22 @@ import com.arsdigita.xml.Element;
|
||||||
*/
|
*/
|
||||||
public class JournalExtraXmlGenerator implements ExtraXMLGenerator {
|
public class JournalExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
|
|
||||||
|
private boolean listMode = false;
|
||||||
|
|
||||||
public void generateXML(final ContentItem item,
|
public void generateXML(final ContentItem item,
|
||||||
final Element element,
|
final Element element,
|
||||||
final PageState state) {
|
final PageState state) {
|
||||||
if (!(item instanceof Journal)) {
|
if (!(item instanceof Journal)) {
|
||||||
throw new IllegalArgumentException(String.format(
|
throw new IllegalArgumentException(String.format(
|
||||||
"ExtraXMLGenerator '%s' only supports items of type '%s'.",
|
"ExtraXMLGenerator '%s' only supports items of type '%s'.",
|
||||||
getClass().getName(),
|
getClass().getName(),
|
||||||
Journal.class.getName()));
|
Journal.class.getName()));
|
||||||
}
|
}
|
||||||
|
|
||||||
final Journal journal = (Journal) item;
|
if (!listMode) {
|
||||||
createArticlesXml(journal, element, state);
|
final Journal journal = (Journal) item;
|
||||||
|
createArticlesXml(journal, element, state);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createArticlesXml(final Journal journal,
|
private void createArticlesXml(final Journal journal,
|
||||||
|
|
@ -40,7 +44,7 @@ public class JournalExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
}
|
}
|
||||||
|
|
||||||
final Element articlesElem = parent.newChildElement("articles");
|
final Element articlesElem = parent.newChildElement("articles");
|
||||||
while(articles.next()) {
|
while (articles.next()) {
|
||||||
createArticleXml(articles.getArticle(),
|
createArticleXml(articles.getArticle(),
|
||||||
articles.getArticleOrder(),
|
articles.getArticleOrder(),
|
||||||
articlesElem,
|
articlesElem,
|
||||||
|
|
@ -62,6 +66,11 @@ public class JournalExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
//nothing
|
//nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
this.listMode = listMode;
|
||||||
|
}
|
||||||
|
|
||||||
private class XmlGenerator extends SimpleXMLGenerator {
|
private class XmlGenerator extends SimpleXMLGenerator {
|
||||||
|
|
||||||
private final ContentItem item;
|
private final ContentItem item;
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
|
||||||
import com.arsdigita.cms.contenttypes.InProceedings;
|
import com.arsdigita.cms.contenttypes.InProceedings;
|
||||||
import com.arsdigita.cms.contenttypes.InProceedingsCollection;
|
import com.arsdigita.cms.contenttypes.InProceedingsCollection;
|
||||||
import com.arsdigita.cms.contenttypes.Proceedings;
|
import com.arsdigita.cms.contenttypes.Proceedings;
|
||||||
import com.arsdigita.cms.contenttypes.Publication;
|
|
||||||
import com.arsdigita.cms.dispatcher.SimpleXMLGenerator;
|
import com.arsdigita.cms.dispatcher.SimpleXMLGenerator;
|
||||||
import com.arsdigita.globalization.GlobalizationHelper;
|
import com.arsdigita.globalization.GlobalizationHelper;
|
||||||
import com.arsdigita.xml.Element;
|
import com.arsdigita.xml.Element;
|
||||||
|
|
@ -20,6 +19,8 @@ import com.arsdigita.xml.Element;
|
||||||
*/
|
*/
|
||||||
public class ProceedingsExtraXmlGenerator implements ExtraXMLGenerator {
|
public class ProceedingsExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
|
|
||||||
|
private boolean listMode = false;
|
||||||
|
|
||||||
public void generateXML(final ContentItem item,
|
public void generateXML(final ContentItem item,
|
||||||
final Element element,
|
final Element element,
|
||||||
final PageState state) {
|
final PageState state) {
|
||||||
|
|
@ -32,7 +33,9 @@ public class ProceedingsExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
|
|
||||||
final Proceedings proceedings = (Proceedings) item;
|
final Proceedings proceedings = (Proceedings) item;
|
||||||
createOrganizerXml(proceedings, element, state);
|
createOrganizerXml(proceedings, element, state);
|
||||||
createPapersXml(proceedings, element, state);
|
if (!listMode) {
|
||||||
|
createPapersXml(proceedings, element, state);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createOrganizerXml(final Proceedings proceedings,
|
private void createOrganizerXml(final Proceedings proceedings,
|
||||||
|
|
@ -57,8 +60,9 @@ public class ProceedingsExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
}
|
}
|
||||||
|
|
||||||
final Element papersElem = parent.newChildElement("papers");
|
final Element papersElem = parent.newChildElement("papers");
|
||||||
while(papers.next()) {
|
while (papers.next()) {
|
||||||
createPaperXml(papers.getPaper(GlobalizationHelper.getNegotiatedLocale().getLanguage()),
|
createPaperXml(papers.getPaper(GlobalizationHelper.
|
||||||
|
getNegotiatedLocale().getLanguage()),
|
||||||
papers.getPaperOrder(),
|
papers.getPaperOrder(),
|
||||||
papersElem,
|
papersElem,
|
||||||
state);
|
state);
|
||||||
|
|
@ -79,6 +83,11 @@ public class ProceedingsExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
//nothing
|
//nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
this.listMode = listMode;
|
||||||
|
}
|
||||||
|
|
||||||
private class XmlGenerator extends SimpleXMLGenerator {
|
private class XmlGenerator extends SimpleXMLGenerator {
|
||||||
|
|
||||||
private final ContentItem item;
|
private final ContentItem item;
|
||||||
|
|
|
||||||
|
|
@ -212,21 +212,20 @@ public class PublicationAuthorAddForm
|
||||||
getSelectedAuthor();
|
getSelectedAuthor();
|
||||||
editing = true;
|
editing = true;
|
||||||
}
|
}
|
||||||
if (!(author.getContentBundle().hasInstance(publication.getLanguage(),
|
|
||||||
|
/*if (!(author.getContentBundle().hasInstance(publication.getLanguage(),
|
||||||
Kernel.getConfig().
|
Kernel.getConfig().
|
||||||
languageIndependentItems()))) {
|
languageIndependentItems()))) {
|
||||||
data.addError(
|
data.addError(
|
||||||
PublicationGlobalizationUtil.globalize(
|
PublicationGlobalizationUtil.globalize(
|
||||||
"publications.ui.authors.selectAuthor.no_suitable_language_variant"));
|
"publications.ui.authors.selectAuthor.no_suitable_language_variant"));
|
||||||
return;
|
return;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
if (!editing) {
|
if (!editing) {
|
||||||
author = (GenericPerson) author.getContentBundle().getInstance(publication.
|
|
||||||
getLanguage());
|
|
||||||
AuthorshipCollection authors = publication.getAuthors();
|
AuthorshipCollection authors = publication.getAuthors();
|
||||||
authors.addFilter(
|
authors.addFilter(
|
||||||
String.format("id = %s", author.getID().toString()));
|
String.format("id = %s", author.getContentBundle().getID().toString()));
|
||||||
if (authors.size() > 0) {
|
if (authors.size() > 0) {
|
||||||
data.addError(PublicationGlobalizationUtil.globalize(
|
data.addError(PublicationGlobalizationUtil.globalize(
|
||||||
"publications.ui.authors.selectAuthor.already_added"));
|
"publications.ui.authors.selectAuthor.already_added"));
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,8 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public class PublicationExtraXmlGenerator implements ExtraXMLGenerator {
|
public class PublicationExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
|
|
||||||
|
private boolean listMode;
|
||||||
|
|
||||||
public void generateXML(final ContentItem item,
|
public void generateXML(final ContentItem item,
|
||||||
final Element element,
|
final Element element,
|
||||||
final PageState state) {
|
final PageState state) {
|
||||||
|
|
@ -43,8 +45,10 @@ public class PublicationExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
final List<PublicationFormat> formats = SciPublicationsExporters.
|
final List<PublicationFormat> formats = SciPublicationsExporters.
|
||||||
getInstance().getSupportedFormats();
|
getInstance().getSupportedFormats();
|
||||||
|
|
||||||
for (PublicationFormat format : formats) {
|
if (!listMode) {
|
||||||
createExportLink(format, element, (Publication) item, state);
|
for (PublicationFormat format : formats) {
|
||||||
|
createExportLink(format, element, (Publication) item, state);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -75,6 +79,7 @@ public class PublicationExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
generator.setItemElemName("author", "");
|
generator.setItemElemName("author", "");
|
||||||
generator.addItemAttribute("isEditor", isAuthor.toString());
|
generator.addItemAttribute("isEditor", isAuthor.toString());
|
||||||
generator.addItemAttribute("order", order.toString());
|
generator.addItemAttribute("order", order.toString());
|
||||||
|
generator.setListMode(listMode);
|
||||||
generator.generateXML(state, authorsElem, "");
|
generator.generateXML(state, authorsElem, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -152,6 +157,11 @@ public class PublicationExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
//Nothing for now
|
//Nothing for now
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
this.listMode = listMode;
|
||||||
|
}
|
||||||
|
|
||||||
private class XmlGenerator extends SimpleXMLGenerator {
|
private class XmlGenerator extends SimpleXMLGenerator {
|
||||||
|
|
||||||
private final ContentItem item;
|
private final ContentItem item;
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,11 @@ public class PublicationWithPublisherExtraXmlGenerator
|
||||||
//nothing
|
//nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
//nothing
|
||||||
|
}
|
||||||
|
|
||||||
private class XmlGenerator extends SimpleXMLGenerator {
|
private class XmlGenerator extends SimpleXMLGenerator {
|
||||||
|
|
||||||
private final ContentItem item;
|
private final ContentItem item;
|
||||||
|
|
|
||||||
|
|
@ -44,10 +44,16 @@ public class UnPublishedExtraXmlGenerator implements ExtraXMLGenerator {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void addGlobalStateParams(final Page page) {
|
public void addGlobalStateParams(final Page page) {
|
||||||
//nothing
|
//nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setListMode(final boolean listMode) {
|
||||||
|
//nothing
|
||||||
|
}
|
||||||
|
|
||||||
private class XmlGenerator extends SimpleXMLGenerator {
|
private class XmlGenerator extends SimpleXMLGenerator {
|
||||||
|
|
||||||
private final ContentItem item;
|
private final ContentItem item;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue