diff --git a/ccm-cms-types-contact/src/com/arsdigita/cms/contenttypes/ContactInitializer.java b/ccm-cms-types-contact/src/com/arsdigita/cms/contenttypes/ContactInitializer.java index 83b1b1923..aaa01890b 100755 --- a/ccm-cms-types-contact/src/com/arsdigita/cms/contenttypes/ContactInitializer.java +++ b/ccm-cms-types-contact/src/com/arsdigita/cms/contenttypes/ContactInitializer.java @@ -1,4 +1,3 @@ - package com.arsdigita.cms.contenttypes; import org.apache.log4j.Logger; @@ -18,7 +17,7 @@ public class ContactInitializer extends ContentTypeInitializer { /** Private Logger instance for debugging purpose. */ private static final Logger s_log = Logger.getLogger(ContactInitializer.class); - + /** * Constructor, sets the PDL manifest file and object type string. */ @@ -26,7 +25,22 @@ public class ContactInitializer extends ContentTypeInitializer { super("ccm-cms-types-contact.pdl.mf", Contact.BASE_DATA_OBJECT_TYPE); } - + +// @Override +// public void init(final DomainInitEvent event) { +// super.init(event); +// +// DomainObjectFactory.registerInstantiator(Contact.BASE_DATA_OBJECT_TYPE, new ACSObjectInstantiator() { +// +// @Override +// public DomainObject doNewInstance(DataObject dataObject) { +// s_log.error("Using ContactInitalizer..."); +// return new Contact(dataObject); +// } +// +// }); +// } + /** * Retrieves fully qualified traversal adapter file name. * @return @@ -35,7 +49,7 @@ public class ContactInitializer extends ContentTypeInitializer { public String getTraversalXML() { return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/Contact.xml"; } - + /** * Retrieve location of this content type's internal default theme * stylesheet(s) which concomitantly serve as a fallback if a custom theme @@ -51,9 +65,9 @@ public class ContactInitializer extends ContentTypeInitializer { */ @Override public String[] getStylesheets() { - return new String[] { - INTERNAL_THEME_TYPES_DIR + "Contact.xsl" - }; + return new String[]{ + INTERNAL_THEME_TYPES_DIR + "Contact.xsl" + }; } - + } diff --git a/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/PersonInitializer.java b/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/PersonInitializer.java index 3e22c65e5..e101204d7 100644 --- a/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/PersonInitializer.java +++ b/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/PersonInitializer.java @@ -20,13 +20,6 @@ package com.arsdigita.cms.contenttypes; -import com.arsdigita.cms.contenttypes.ContentTypeInitializer; -import com.arsdigita.domain.DomainObject; -import com.arsdigita.domain.DomainObjectFactory; -import com.arsdigita.domain.DomainObjectInstantiator; -import com.arsdigita.persistence.DataObject; -import com.arsdigita.runtime.DomainInitEvent; - import org.apache.log4j.Logger; /** @@ -51,7 +44,22 @@ public class PersonInitializer extends ContentTypeInitializer { public PersonInitializer() { super("ccm-cms-types-person.pdl.mf", Person.BASE_DATA_OBJECT_TYPE); } - + +// @Override +// public void init(final DomainInitEvent event) { +// super.init(event); +// +// DomainObjectFactory.registerInstantiator(Person.BASE_DATA_OBJECT_TYPE, new ACSObjectInstantiator() { +// +// @Override +// public DomainObject doNewInstance(DataObject dataObject) { +// s_log.error("Using PersonInitalizer..."); +// return new Person(dataObject); +// } +// +// }); +// } +// /** * Retrieve location of this content type's internal default theme * stylesheet(s) which concomitantly serve as a fallback if a custom theme diff --git a/ccm-cms/pdl/com/arsdigita/content-types/GenericOrganizationalUnit.pdl b/ccm-cms/pdl/com/arsdigita/content-types/GenericOrganizationalUnit.pdl index c63d4a96f..3a42335b7 100644 --- a/ccm-cms/pdl/com/arsdigita/content-types/GenericOrganizationalUnit.pdl +++ b/ccm-cms/pdl/com/arsdigita/content-types/GenericOrganizationalUnit.pdl @@ -102,18 +102,18 @@ query getIdsOfSubordinateOrgaUnitsRecursivly{ do { with recursive subordinate_orgaunits(orgaunit_id, orgaunit_name) AS ( - select cms_organizationalunits.organizationalunit_id as orgaunit_id, + select cms_orgaunit_bundles.bundle_id as orgaunit_id, cms_items.name as orgaunit_name - from cms_organizationalunits - join cms_items on cms_organizationalunits.organizationalunit_id = cms_items.item_id - where cms_organizationalunits.organizationalunit_id = :orgaunitId + from cms_orgaunit_bundles + join cms_items on cms_orgaunit_bundles.bundle_id = cms_items.item_id + where cms_orgaunit_bundles.bundle_id = :orgaunitId union all - select ou.organizationalunit_id as orgaunit_id, + select ou.bundle_id as orgaunit_id, cms_items.name as orgaunit_name from subordinate_orgaunits sou, - cms_organizationalunits ou - join cms_items on ou.organizationalunit_id = cms_items.item_id - join cms_organizationalunits_hierarchy_map on ou.organizationalunit_id = cms_organizationalunits_hierarchy_map.subordinate_orgaunit_id + cms_orgaunit_bundles ou + join cms_items on ou.bundle_id = cms_items.item_id + join cms_organizationalunits_hierarchy_map on ou.bundle_id = cms_organizationalunits_hierarchy_map.subordinate_orgaunit_id where cms_organizationalunits_hierarchy_map.superior_orgaunit_id = sou.orgaunit_id ) select orgaunit_id, orgaunit_name from subordinate_orgaunits @@ -123,7 +123,7 @@ query getIdsOfSubordinateOrgaUnitsRecursivly{ } } -//Same as above but with an addional parameter +//Same as above but with an additional parameter //@param orgaunitId The id of the organizational unit to start with //@param assocType Include only subordinate orga units with the specified assoc //type @@ -133,18 +133,18 @@ query getIdsOfSubordinateOrgaUnitsRecursivlyWithAssocType{ do { with recursive subordinate_orgaunits(orgaunit_id, orgaunit_name) AS ( - select cms_organizationalunits.organizationalunit_id as orgaunit_id, + select cms_orgaunit_bundles.bundle_id as orgaunit_id, cms_items.name as orgaunit_name - from cms_organizationalunits - join cms_items on cms_organizationalunits.organizationalunit_id = cms_items.item_id - where cms_organizationalunits.organizationalunit_id = :orgaunitId + from cms_orgaunit_bundles + join cms_items on cms_orgaunit_bundles.bundle_id = cms_items.item_id + where cms_orgaunit_bundles.bundle_id = 17003 union all - select ou.organizationalunit_id as orgaunit_id, + select ou.bundle_id as orgaunit_id, cms_items.name as orgaunit_name from subordinate_orgaunits sou, - cms_organizationalunits ou - join cms_items on ou.organizationalunit_id = cms_items.item_id - join cms_organizationalunits_hierarchy_map on ou.organizationalunit_id = cms_organizationalunits_hierarchy_map.subordinate_orgaunit_id + cms_orgaunit_bundles ou + join cms_items on ou.bundle_id = cms_items.item_id + join cms_organizationalunits_hierarchy_map on ou.bundle_id = cms_organizationalunits_hierarchy_map.subordinate_orgaunit_id where cms_organizationalunits_hierarchy_map.superior_orgaunit_id = sou.orgaunit_id and cms_organizationalunits_hierarchy_map.assoc_type = :assocType ) select orgaunit_id, orgaunit_name from subordinate_orgaunits @@ -160,8 +160,7 @@ query getIdsOfSubordinateOrgaUnitsRecursivlyWithAssocType{ query getIdsOfMembersOfOrgaUnits { BigDecimal memberId; BigDecimal orgaunitId; - String surname; - String givenname; + String name; String roleName; String status; @@ -170,24 +169,21 @@ query getIdsOfMembersOfOrgaUnits { } 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 - from cms_persons - 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 - + select distinct on (cms_person_bundles.bundle_id) + cms_person_bundles.bundle_id, + cms_items.name, + cms_organizationalunits_person_map.organizationalunit_id, + cms_organizationalunits_person_map.role_name, + cms_organizationalunits_person_map.status + from cms_person_bundles + join cms_organizationalunits_person_map on cms_person_bundles.bundle_id = cms_organizationalunits_person_map.person_id + join cms_items on cms_person_bundles.bundle_id = cms_items.item_id + where cms_organizationalunits_person_map.organizationalunit_id in :orgaunitIds } map { - memberId = cms_persons.person_id; + memberId = cms_person_bundles.bundle_id; orgaunitId = cms_organizationalunits_person_map.organizationalunit_id; - surname = cms_persons.surname; - givenname = cms_persons.givenname; + name = cms_items.name; roleName = cms_organizationalunits_person_map.role_name; status = cms_organizationalunits_person_map.status; } } -//select distinct on (cms_persons.person_id) diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericOrganizationalUnitSuperiorCollection.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericOrganizationalUnitSuperiorCollection.java index 163a71f3d..4c5fd3dd7 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericOrganizationalUnitSuperiorCollection.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericOrganizationalUnitSuperiorCollection.java @@ -152,6 +152,12 @@ public class GenericOrganizationalUnitSuperiorCollection extends DomainCollectio newInstance(m_dataCollection.getDataObject()); return (GenericOrganizationalUnit) bundle.getPrimaryInstance(); } + + public GenericOrganizationalUnit getGenericOrganizationalUnit(final String language) { + final ContentBundle bundle = (ContentBundle) DomainObjectFactory. + newInstance(m_dataCollection.getDataObject()); + return (GenericOrganizationalUnit) bundle.getInstance(language); + } public OID getOID() { return m_dataCollection.getDataObject().getOID(); diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitContactsTab.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitContactsTab.java index 65886acef..2923718b2 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitContactsTab.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitContactsTab.java @@ -16,7 +16,8 @@ import com.arsdigita.xml.Element; public class GenericOrgaUnitContactsTab implements GenericOrgaUnitTab { @Override - public boolean hasData(final GenericOrganizationalUnit orgaunit) { + public boolean hasData(final GenericOrganizationalUnit orgaunit, + final PageState state) { return !getData(orgaunit).isEmpty(); } @@ -54,12 +55,12 @@ public class GenericOrgaUnitContactsTab implements GenericOrgaUnitTab { protected GenericOrganizationalUnitContactCollection getData( final GenericOrganizationalUnit orgaunit, final PageState state) { - return getData(orgaunit); + return getData(orgaunit); } - + protected GenericOrganizationalUnitContactCollection getData( final GenericOrganizationalUnit orgaunit) { - return orgaunit.getContacts(); + return orgaunit.getContacts(); } private class ContactXmlLGenerator extends SimpleXMLGenerator { @@ -75,5 +76,6 @@ public class GenericOrgaUnitContactsTab implements GenericOrgaUnitTab { protected ContentItem getContentItem(PageState state) { return contact; } + } } diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitExtraXmlGenerator.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitExtraXmlGenerator.java index a52b24a23..4f2e6b288 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitExtraXmlGenerator.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitExtraXmlGenerator.java @@ -55,7 +55,7 @@ public abstract class GenericOrgaUnitExtraXmlGenerator if (listMode) { return; } - + final Element orgaUnitTabsElem = element.newChildElement("orgaUnitTabs"); final Element availableTabsElem = orgaUnitTabsElem.newChildElement( @@ -78,7 +78,7 @@ public abstract class GenericOrgaUnitExtraXmlGenerator if ((showOnly == null) || showOnly.isEmpty()) { for (Map.Entry entry : tabs.entrySet()) { - if (entry.getValue().hasData(orgaunit)) { + if (entry.getValue().hasData(orgaunit, state)) { createAvailableTabElem(availableTabsElem, entry.getKey(), selected); @@ -92,8 +92,8 @@ public abstract class GenericOrgaUnitExtraXmlGenerator System.currentTimeMillis() - availableStart)); - if (tabs.containsKey(selected) && tabs.get(selected).hasData( - orgaunit)) { + if (tabs.containsKey(selected) + && tabs.get(selected).hasData(orgaunit, state)) { final GenericOrgaUnitTab selectedTab = tabs.get(selected); final Element selectedTabElem = orgaUnitTabsElem.newChildElement( @@ -212,9 +212,10 @@ public abstract class GenericOrgaUnitExtraXmlGenerator public void addGlobalStateParams(final Page page) { //Nothing yet } - + @Override public void setListMode(final boolean listMode) { this.listMode = listMode; } + } diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitMembersTab.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitMembersTab.java index c5fdc1721..79bd300f8 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitMembersTab.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitMembersTab.java @@ -24,7 +24,9 @@ public abstract class GenericOrgaUnitMembersTab implements GenericOrgaUnitTab { private final static Logger logger = Logger.getLogger(GenericOrgaUnitMembersTab.class); - public boolean hasData(final GenericOrganizationalUnit orgaunit) { + @Override + public boolean hasData(final GenericOrganizationalUnit orgaunit, + final PageState state) { /*final long start = System.currentTimeMillis(); final boolean result = !getData(orgaunit).isEmpty(); logger.debug(String.format( @@ -54,11 +56,11 @@ public abstract class GenericOrgaUnitMembersTab implements GenericOrgaUnitTab { persons = persons.subList(paginator.getBegin(), paginator.getEnd()); } } - - for(GenericPerson person : persons) { + + for (GenericPerson person : persons) { generatePersonXml(person, personsElem, state); } - + logger.debug(String.format("Generated member list of organizational " + "unit '%s' in %d ms.", orgaunit.getName(), @@ -74,10 +76,10 @@ public abstract class GenericOrgaUnitMembersTab implements GenericOrgaUnitTab { generator.setItemElemName("person", ""); generator.generateXML(state, parent, ""); } - + private void generatePersonXml(final GenericPerson person, final Element parent, - final PageState state) { + final PageState state) { final XmlGenerator generator = new XmlGenerator(person); generator.generateXML(state, parent, ""); } @@ -101,8 +103,7 @@ public abstract class GenericOrgaUnitMembersTab implements GenericOrgaUnitTab { final List persons = new LinkedList(); - final GenericOrganizationalUnitPersonCollection personColl = orgaunit. - getPersons(); + final GenericOrganizationalUnitPersonCollection personColl = orgaunit.getPersons(); if ((getRolesToInclude() != null) && !getRolesToInclude().isEmpty()) { final StringBuffer roleFilter = new StringBuffer(); @@ -150,8 +151,7 @@ public abstract class GenericOrgaUnitMembersTab implements GenericOrgaUnitTab { final List persons, final PageState state) { final GenericOrganizationalUnitSubordinateCollection subOrgaUnits = - orgaunit. - getSubordinateOrgaUnits(); + orgaunit.getSubordinateOrgaUnits(); final StringBuffer assocTypeFilter = new StringBuffer(); for (String assocType : getAssocTypesToMerge()) { if (assocTypeFilter.length() > 0) { @@ -217,5 +217,6 @@ public abstract class GenericOrgaUnitMembersTab implements GenericOrgaUnitTab { protected ContentItem getContentItem(final PageState state) { return person; } + } } diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitSubordinateTab.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitSubordinateTab.java index 50b8d40c4..98a5470b2 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitSubordinateTab.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitSubordinateTab.java @@ -21,7 +21,8 @@ public abstract class GenericOrgaUnitSubordinateTab GenericOrgaUnitSubordinateTab.class); @Override - public boolean hasData(final GenericOrganizationalUnit orgaunit) { + public boolean hasData(final GenericOrganizationalUnit orgaunit, + final PageState state) { return !getData(orgaunit).isEmpty(); } @@ -78,8 +79,7 @@ public abstract class GenericOrgaUnitSubordinateTab protected GenericOrganizationalUnitSubordinateCollection getData( final GenericOrganizationalUnit orgaunit) { final GenericOrganizationalUnitSubordinateCollection subOrgaUnits = - orgaunit. - getSubordinateOrgaUnits(); + orgaunit.getSubordinateOrgaUnits(); subOrgaUnits.addFilter( String.format("%s = '%s'", GenericOrganizationalUnitSubordinateCollection.LINK_ASSOCTYPE, @@ -149,5 +149,6 @@ public abstract class GenericOrgaUnitSubordinateTab protected ContentItem getContentItem(final PageState state) { return orgaunit; } + } } diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitTab.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitTab.java index d5ed5f2bb..5c0c1759e 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitTab.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrgaUnitTab.java @@ -15,10 +15,12 @@ public interface GenericOrgaUnitTab { /** * * @param orgaunit + * @param state * @return Returns true if the provided orgaunit has data to show in this * tab, false otherwise. */ - boolean hasData(GenericOrganizationalUnit orgaunit); + boolean hasData(GenericOrganizationalUnit orgaunit, + PageState state); /** * The implementation of this method creates the XML output for the tab. diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitSubordinateOrgaUnitsTable.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitSubordinateOrgaUnitsTable.java index 619cc92e6..58f100788 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitSubordinateOrgaUnitsTable.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitSubordinateOrgaUnitsTable.java @@ -97,10 +97,10 @@ public class GenericOrganizationalUnitSubordinateOrgaUnitsTable public TableModel makeModel(final Table table, final PageState state) { table.getRowSelectionModel().clearSelection(state); final GenericOrganizationalUnit orgaunit = - (GenericOrganizationalUnit) itemModel. - getSelectedObject(state); + (GenericOrganizationalUnit) itemModel.getSelectedObject(state); return new Model(table, state, orgaunit, customizer); } + } private class Model implements TableModel { @@ -124,8 +124,7 @@ public class GenericOrganizationalUnitSubordinateOrgaUnitsTable if ((customizer.getContentType() != null) && !(customizer.getContentType().isEmpty())) { subordinateOrgaUnits.addFilter(String.format("objectType = '%s'", - customizer. - getContentType())); + customizer.getContentType())); } this.customizer = customizer; } @@ -172,6 +171,7 @@ public class GenericOrganizationalUnitSubordinateOrgaUnitsTable GlobalizationHelper.getNegotiatedLocale().getLanguage()). getID(); } + } private class EditCellRenderer @@ -186,11 +186,8 @@ public class GenericOrganizationalUnitSubordinateOrgaUnitsTable final Object key, final int row, final int column) { - final com.arsdigita.cms.SecurityManager securityManager = CMS. - getSecurityManager(state); - final GenericOrganizationalUnit subordinateOrgaUnit = - new GenericOrganizationalUnit( - (BigDecimal) key); + final com.arsdigita.cms.SecurityManager securityManager = CMS.getSecurityManager(state); + final GenericOrganizationalUnit subordinateOrgaUnit = new GenericOrganizationalUnit((BigDecimal) key); final boolean canEdit = securityManager.canAccess( state.getRequest(), @@ -202,24 +199,18 @@ public class GenericOrganizationalUnitSubordinateOrgaUnitsTable getContentSection(); final ItemResolver resolver = section.getItemResolver(); final Link link = - new Link( - String.format("%s (%s)", - value.toString(), - subordinateOrgaUnit.getLanguage()), - resolver.generateItemURL(state, - subordinateOrgaUnit, - section, - subordinateOrgaUnit.getVersion())); - + new Link(value.toString(), + resolver.generateItemURL(state, + subordinateOrgaUnit, + section, + subordinateOrgaUnit.getVersion())); return link; } else { - final Label label = new Label(String.format( - "%s (%s)", - value.toString(), - subordinateOrgaUnit.getLanguage())); + final Label label = new Label(value.toString()); return label; } } + } private class DeleteCellRenderer @@ -234,11 +225,9 @@ public class GenericOrganizationalUnitSubordinateOrgaUnitsTable final Object key, final int row, final int column) { - final com.arsdigita.cms.SecurityManager securityManager = CMS. - getSecurityManager(state); + final com.arsdigita.cms.SecurityManager securityManager = CMS.getSecurityManager(state); final GenericOrganizationalUnit orgaunit = - (GenericOrganizationalUnit) itemModel. - getSelectedObject(state); + (GenericOrganizationalUnit) itemModel.getSelectedObject(state); boolean canEdit = securityManager.canAccess( @@ -255,6 +244,7 @@ public class GenericOrganizationalUnitSubordinateOrgaUnitsTable return label; } } + } private class UpCellRenderer @@ -278,6 +268,7 @@ public class GenericOrganizationalUnitSubordinateOrgaUnitsTable return link; } } + } private class DownCellRenderer @@ -294,11 +285,9 @@ public class GenericOrganizationalUnitSubordinateOrgaUnitsTable final int column) { final GenericOrganizationalUnit orgaunit = - (GenericOrganizationalUnit) itemModel. - getSelectedObject(state); + (GenericOrganizationalUnit) itemModel.getSelectedObject(state); final GenericOrganizationalUnitSubordinateCollection subOrgaUnits = - orgaunit. - getSubordinateOrgaUnits(); + orgaunit.getSubordinateOrgaUnits(); if ((customizer.getAssocType() != null) && !(customizer.getAssocType().isEmpty())) { subOrgaUnits.addFilter(String.format( @@ -321,6 +310,7 @@ public class GenericOrganizationalUnitSubordinateOrgaUnitsTable return link; } } + } private class ActionListener implements TableActionListener { @@ -330,15 +320,13 @@ public class GenericOrganizationalUnitSubordinateOrgaUnitsTable final PageState state = event.getPageState(); final GenericOrganizationalUnit orgaunit = - (GenericOrganizationalUnit) itemModel. - getSelectedObject( + (GenericOrganizationalUnit) itemModel.getSelectedObject( state); final GenericOrganizationalUnit subOrgaUnit = new GenericOrganizationalUnit( new BigDecimal((String) event.getRowKey())); final GenericOrganizationalUnitSubordinateCollection subOrgaUnits = - orgaunit. - getSubordinateOrgaUnits(); + orgaunit.getSubordinateOrgaUnits(); final TableColumn column = getColumnModel().get(event.getColumn(). intValue()); @@ -357,5 +345,6 @@ public class GenericOrganizationalUnitSubordinateOrgaUnitsTable public void headSelected(TableActionEvent e) { //Nothing now } + } } diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitSuperiorOrgaUnitsTable.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitSuperiorOrgaUnitsTable.java index c31969901..072eac5b3 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitSuperiorOrgaUnitsTable.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitSuperiorOrgaUnitsTable.java @@ -22,8 +22,10 @@ import com.arsdigita.cms.contenttypes.GenericOrganizationalUnitSuperiorCollectio import com.arsdigita.cms.dispatcher.ItemResolver; import com.arsdigita.cms.dispatcher.Utilities; import com.arsdigita.domain.DomainObjectFactory; +import com.arsdigita.globalization.GlobalizationHelper; import com.arsdigita.persistence.OID; import com.arsdigita.util.LockableImpl; +import java.math.BigDecimal; /** * @@ -88,10 +90,10 @@ public class GenericOrganizationalUnitSuperiorOrgaUnitsTable extends Table { public TableModel makeModel(final Table table, final PageState state) { table.getRowSelectionModel().clearSelection(state); final GenericOrganizationalUnit orgaunit = - (GenericOrganizationalUnit) itemModel. - getSelectedObject(state); + (GenericOrganizationalUnit) itemModel.getSelectedObject(state); return new Model(table, state, orgaunit, customizer); } + } private class Model implements TableModel { @@ -110,14 +112,12 @@ public class GenericOrganizationalUnitSuperiorOrgaUnitsTable extends Table { && !(customizer.getAssocType().isEmpty())) { superiorOrgaUnits.addFilter(String.format( "link.assocType = '%s'", - customizer. - getAssocType())); + customizer.getAssocType())); } if ((customizer.getContentType() != null) && !(customizer.getContentType().isEmpty())) { superiorOrgaUnits.addFilter(String.format("objectType = '%s'", - customizer. - getContentType())); + customizer.getContentType())); } this.customizer = customizer; } @@ -156,8 +156,10 @@ public class GenericOrganizationalUnitSuperiorOrgaUnitsTable extends Table { } public Object getKeyAt(int columnIndex) { - return superiorOrgaUnits.getOID(); + return superiorOrgaUnits.getGenericOrganizationalUnit( + GlobalizationHelper.getNegotiatedLocale().getLanguage()).getID(); } + } private class EditCellRenderer @@ -171,12 +173,8 @@ public class GenericOrganizationalUnitSuperiorOrgaUnitsTable extends Table { final Object key, final int row, final int column) { - final com.arsdigita.cms.SecurityManager securityManager = CMS. - getSecurityManager(state); - final GenericOrganizationalUnitBundle superiorOrgaUnitBundle = - (GenericOrganizationalUnitBundle) DomainObjectFactory. - newInstance((OID) key); - final GenericOrganizationalUnit superiorOrgaUnit = (GenericOrganizationalUnit) superiorOrgaUnitBundle.getPrimaryInstance(); + final com.arsdigita.cms.SecurityManager securityManager = CMS.getSecurityManager(state); + final GenericOrganizationalUnit superiorOrgaUnit = new GenericOrganizationalUnit((BigDecimal) key); final boolean canEdit = securityManager.canAccess( state.getRequest(), @@ -187,23 +185,18 @@ public class GenericOrganizationalUnitSuperiorOrgaUnitsTable extends Table { final ContentSection section = CMS.getContext(). getContentSection(); final ItemResolver resolver = section.getItemResolver(); - final Link link = new Link( - String.format("%s", - value.toString(), - superiorOrgaUnit.getLanguage()), - resolver.generateItemURL(state, - superiorOrgaUnit, - section, - superiorOrgaUnit.getVersion())); + final Link link = new Link(value.toString(), + resolver.generateItemURL(state, + superiorOrgaUnit, + section, + superiorOrgaUnit.getVersion())); return link; } else { - final Label label = new Label(String.format( - "%s (%s)", - value.toString(), - superiorOrgaUnit.getLanguage())); + final Label label = new Label(value.toString()); return label; } } + } private class DeleteCellRenderer @@ -218,11 +211,9 @@ public class GenericOrganizationalUnitSuperiorOrgaUnitsTable extends Table { final Object key, final int row, final int column) { - final com.arsdigita.cms.SecurityManager securityManager = Utilities. - getSecurityManager(state); + final com.arsdigita.cms.SecurityManager securityManager = Utilities.getSecurityManager(state); final GenericOrganizationalUnit orgaunit = - (GenericOrganizationalUnit) itemModel. - getSelectedObject(state); + (GenericOrganizationalUnit) itemModel.getSelectedObject(state); boolean canEdit = securityManager.canAccess( @@ -239,6 +230,7 @@ public class GenericOrganizationalUnitSuperiorOrgaUnitsTable extends Table { return label; } } + } private class UpCellRenderer @@ -262,6 +254,7 @@ public class GenericOrganizationalUnitSuperiorOrgaUnitsTable extends Table { return link; } } + } private class DownCellRenderer @@ -278,11 +271,9 @@ public class GenericOrganizationalUnitSuperiorOrgaUnitsTable extends Table { final int column) { final GenericOrganizationalUnit orgaunit = - (GenericOrganizationalUnit) itemModel. - getSelectedObject(state); + (GenericOrganizationalUnit) itemModel.getSelectedObject(state); final GenericOrganizationalUnitSuperiorCollection supOrgaUnits = - orgaunit. - getSuperiorOrgaUnits(); + orgaunit.getSuperiorOrgaUnits(); if ((supOrgaUnits.size() - 1) == row) { final Label label = new Label(""); @@ -293,6 +284,7 @@ public class GenericOrganizationalUnitSuperiorOrgaUnitsTable extends Table { return link; } } + } private class ActionListener implements TableActionListener { @@ -302,14 +294,11 @@ public class GenericOrganizationalUnitSuperiorOrgaUnitsTable extends Table { final PageState state = event.getPageState(); final GenericOrganizationalUnit orgaunit = - (GenericOrganizationalUnit) itemModel. - getSelectedObject(state); - final GenericOrganizationalUnit supOrgaUnit = - (GenericOrganizationalUnit) DomainObjectFactory. - newInstance(OID.valueOf((String) event.getRowKey())); + (GenericOrganizationalUnit) itemModel.getSelectedObject(state); + final GenericOrganizationalUnit supOrgaUnit = new GenericOrganizationalUnit( + new BigDecimal((String) event.getRowKey())); final GenericOrganizationalUnitSuperiorCollection supOrgaUnits = - orgaunit. - getSuperiorOrgaUnits(); + orgaunit.getSuperiorOrgaUnits(); final TableColumn column = getColumnModel().get(event.getColumn(). intValue()); @@ -329,5 +318,6 @@ public class GenericOrganizationalUnitSuperiorOrgaUnitsTable extends Table { public void headSelected(final TableActionEvent event) { //Nothing now } + } } diff --git a/ccm-core/src/com/arsdigita/util/ConcurrentDict.java b/ccm-core/src/com/arsdigita/util/ConcurrentDict.java index 28159650f..567fc0388 100755 --- a/ccm-core/src/com/arsdigita/util/ConcurrentDict.java +++ b/ccm-core/src/com/arsdigita/util/ConcurrentDict.java @@ -90,6 +90,8 @@ public final class ConcurrentDict { *

Note that the null key is always mapped to * null.

* + * @param key + * @return * @see EntrySupplier#supply(Object) * @see #ConcurrentDict(ConcurrentDict.EntrySupplier) * diff --git a/ccm-core/src/com/redhat/persistence/common/Path.java b/ccm-core/src/com/redhat/persistence/common/Path.java index 8b2d7e149..253d4779c 100755 --- a/ccm-core/src/com/redhat/persistence/common/Path.java +++ b/ccm-core/src/com/redhat/persistence/common/Path.java @@ -19,6 +19,9 @@ package com.redhat.persistence.common; import com.arsdigita.util.ConcurrentDict; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; /** * Path @@ -26,16 +29,14 @@ import com.arsdigita.util.ConcurrentDict; * @author rhs@mit.edu * @version $Id: Path.java 287 2005-02-22 00:29:02Z sskracic $ **/ - public class Path { //special case the id path since it shows up so often private static final Path ID_PATH = new Path("id"); private static final int NO_DOT = -1; - private static final ConcurrentDict DICT = - new ConcurrentDict(new Supplier()); - + new ConcurrentDict(new Supplier()); + private static final Map DICT2 = new HashMap(); private Path m_parent; // initialized lazily from m_path private final String m_path; private final int m_lastDot; @@ -45,36 +46,36 @@ public class Path { m_lastDot = m_path.lastIndexOf('.'); } - public static final Path get(String path) { + public static Path get(String path) { if ("id".equals(path)) { return ID_PATH; - } - return (Path) DICT.get(path); + } + return (Path) DICT.get(path); } - public static final Path add(String p1, String p2) { + public static Path add(String p1, String p2) { return Path.get(concat(p1, p2)); } - public static final Path add(Path p1, String p2) { - return p1==null ? Path.get(p2) : Path.get(concat(p1.m_path, p2)); + public static Path add(Path p1, String p2) { + return p1 == null ? Path.get(p2) : Path.get(concat(p1.getPath(), p2)); } - public static final Path add(String p1, Path p2) { - return p2==null ? Path.get(p1): Path.get(concat(p1, p2.m_path)); + public static Path add(String p1, Path p2) { + return p2 == null ? Path.get(p1) : Path.get(concat(p1, p2.getPath())); } - public static final Path add(Path p1, Path p2) { + public static Path add(Path p1, Path p2) { if (p1 == null) { return p2; } else if (p2 == null) { return p1; } else { - return Path.get(concat(p1.m_path, p2.m_path)); + return Path.get(concat(p1.getPath(), p2.getPath())); } } - public static final Path relative(Path base, Path descendent) { + public static Path relative(Path base, Path descendent) { if (base == null) { return descendent; } else { @@ -83,12 +84,12 @@ public class Path { } public Path getParent() { - if ( m_lastDot == NO_DOT ) { + if (m_lastDot == NO_DOT) { return null; } - synchronized(this) { - if (m_parent == null ) { + synchronized (this) { + if (m_parent == null) { m_parent = Path.get(m_path.substring(0, m_lastDot)); } return m_parent; @@ -125,32 +126,35 @@ public class Path { } public String getName() { - return m_path.substring(m_lastDot+1); + return m_path.substring(m_lastDot + 1); } public String getPath() { return m_path; } + @Override public String toString() { return m_path; } private static String concat(String s1, String s2) { - if (s1 == null ) { + if (s1 == null) { return s2; - } else if (s2 == null ) { + } else if (s2 == null) { return s1; } else { - StringBuffer sb = new StringBuffer(s1.length() + s2.length() + 1); + StringBuilder sb = new StringBuilder(s1.length() + s2.length() + 1); sb.append(s1).append(".").append(s2); return sb.toString(); } } private static class Supplier implements ConcurrentDict.EntrySupplier { + public Object supply(Object key) { return new Path((String) key); } + } } diff --git a/ccm-core/src/com/redhat/persistence/pdl/PDL.java b/ccm-core/src/com/redhat/persistence/pdl/PDL.java index ab41354e3..741d9c61d 100755 --- a/ccm-core/src/com/redhat/persistence/pdl/PDL.java +++ b/ccm-core/src/com/redhat/persistence/pdl/PDL.java @@ -803,7 +803,11 @@ public class PDL { String[] paths = new String[] { pone.getName(), ptwo.getName() }; for (int i = 0; i < paths.length; i++) { + //System.err.printf("Path.get(paths[i] contains path: %s\n", Path.get(paths[i]).getPath()); Mapping m = om.getMapping(Path.get(paths[i])); + //if (m == null) { + // System.err.println("m is null"); + //} if (m.getTable() != null) { om.setTable(m.getTable()); break; diff --git a/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentDescTab.java b/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentDescTab.java index 666911d24..e3c5ed6e2 100644 --- a/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentDescTab.java +++ b/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentDescTab.java @@ -15,7 +15,9 @@ public class SciDepartmentDescTab implements GenericOrgaUnitTab { public final Logger logger = Logger.getLogger(SciDepartmentDescTab.class); - public boolean hasData(final GenericOrganizationalUnit orgaunit) { + @Override + public boolean hasData(final GenericOrganizationalUnit orgaunit, + final PageState state) { final long start = System.currentTimeMillis(); boolean result; final Desc desc = getData(orgaunit); @@ -43,7 +45,7 @@ public class SciDepartmentDescTab implements GenericOrgaUnitTab { final Desc desc = getData(orgaunit); final Element descTabElem = parent.newChildElement("departmentDescription"); - + if ((desc.getShortDesc() != null) && !desc.getShortDesc().trim().isEmpty()) { final Element shortDescElem = descTabElem.newChildElement( @@ -96,5 +98,6 @@ public class SciDepartmentDescTab implements GenericOrgaUnitTab { public void setDesc(final String desc) { this.desc = desc; } + } } diff --git a/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentMembersTab.java b/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentMembersTab.java index 3781ecd88..395e78fcc 100644 --- a/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentMembersTab.java +++ b/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentMembersTab.java @@ -3,8 +3,6 @@ package com.arsdigita.cms.contenttypes.ui; import com.arsdigita.bebop.PageState; import com.arsdigita.cms.ContentItem; import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit; -import com.arsdigita.cms.contenttypes.GenericOrganizationalUnitPersonCollection; -import com.arsdigita.cms.contenttypes.GenericOrganizationalUnitSubordinateCollection; import com.arsdigita.cms.contenttypes.GenericPerson; import com.arsdigita.cms.contenttypes.SciDepartment; import com.arsdigita.cms.contenttypes.ui.panels.CompareFilter; @@ -12,15 +10,15 @@ import com.arsdigita.cms.contenttypes.ui.panels.Paginator; import com.arsdigita.cms.contenttypes.ui.panels.TextFilter; import com.arsdigita.cms.dispatcher.SimpleXMLGenerator; import com.arsdigita.globalization.Globalization; +import com.arsdigita.persistence.DataCollection; import com.arsdigita.persistence.DataQuery; +import com.arsdigita.persistence.FilterFactory; import com.arsdigita.persistence.SessionManager; import com.arsdigita.xml.Element; import java.math.BigDecimal; import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.LinkedList; import java.util.List; +import java.util.logging.Filter; import javax.servlet.http.HttpServletRequest; import org.apache.log4j.Logger; @@ -39,13 +37,13 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab { private static final String SURNAME_PARAM = "memberSurname"; private final CompareFilter statusFilter = new CompareFilter( STATUS_PARAM, - "link.status", + "status", false, false, false); private final TextFilter surnameFilter = new TextFilter(SURNAME_PARAM, - "name"); + GenericPerson.SURNAME); static { config.load(); @@ -61,18 +59,17 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab { } @Override - public boolean hasData(final GenericOrganizationalUnit orgaunit) { -// if ((orgaunit.getPersons() != null) -// && orgaunit.getPersons().size() > 0) { -// return true; -// } else if (config.isMergingMembers()) { -// final DataQuery persons = getData(orgaunit); -// return persons.isEmpty(); -// } else { -// return false; -// } - - return !orgaunit.getPersons().isEmpty(); + public boolean hasData(final GenericOrganizationalUnit orgaunit, + final PageState state) { + if ((orgaunit.getPersons() != null) + && orgaunit.getPersons().size() > 0) { + return true; + } else if (config.isMergingMembers()) { + final DataQuery persons = getData(orgaunit, state); + return persons.isEmpty(); + } else { + return false; + } } @Override @@ -80,9 +77,12 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab { final Element parent, final PageState state) { final long start = System.currentTimeMillis(); - List members = getMembers(orgaunit, state); + final DataQuery persons = getData(orgaunit, state); final HttpServletRequest request = state.getRequest(); - + + //applyStatusFilter(persons, request); + applySurnameFilter(persons, request); + final Element depMembersElem = parent.newChildElement( "departmentMembers"); @@ -90,8 +90,7 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab { statusFilter.generateXml(filtersElem); - if (members.isEmpty()) { - //if (persons.isEmpty()) { + if ((persons == null) || persons.isEmpty()) { if ((surnameFilter != null) && (surnameFilter.getFilter() != null) && !(surnameFilter.getFilter().trim().isEmpty())) { @@ -101,23 +100,8 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab { return; } - Collections.sort(members, new Comparator() { - - public int compare(final GenericPerson person1, - final GenericPerson person2) { - String name1 = String.format("%s %s", person1.getSurname(), - person1.getGivenName()); - String name2 = String.format("%s %s", person2.getSurname(), - person2.getGivenName()); - - return name1.compareTo(name2); - } - - }); - final Paginator paginator = new Paginator(request, - //(int) persons.size(), - members.size(), + (int) persons.size(), config.getPageSize()); if ((paginator.getPageCount() > config.getEnableSearchLimit()) @@ -126,13 +110,11 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab { surnameFilter.generateXml(filtersElem); } + paginator.applyLimits(persons); paginator.generateXml(depMembersElem); - if (paginator.getEnd() < members.size()) { - members = members.subList(paginator.getBegin(), paginator.getEnd()); - } - for (GenericPerson member : members) { - generateMemberXml(member, + while (persons.next()) { + generateMemberXml((BigDecimal) persons.get("id"), depMembersElem, state); } @@ -143,63 +125,8 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab { System.currentTimeMillis() - start)); } - protected List getMembers( - final GenericOrganizationalUnit orgaunit, - final PageState state) { - final long start = System.currentTimeMillis(); - - final List members = new LinkedList(); - - final GenericOrganizationalUnitPersonCollection persons = orgaunit. - getPersons(); - - if (state != null) { - applyStatusFilter(persons, state.getRequest()); - applySurnameFilter(persons, state.getRequest()); - } - - while (persons.next()) { - members.add(persons.getPerson()); - } - - if (config.isMergingMembers()) { - getMembersFromSubordinateOrgaUnits(orgaunit, members, state); - } - - logger.debug(String.format( - "Got members of department '%s'" - + "in '%d ms'. MergeMembers is set to '%b'.", - orgaunit.getName(), - System.currentTimeMillis() - start, - config.isMergingMembers())); - return members; - } - - protected void getMembersFromSubordinateOrgaUnits( - final GenericOrganizationalUnit orgaunit, - final List members, - final PageState state) { - final GenericOrganizationalUnitSubordinateCollection subDeps = orgaunit. - getSubordinateOrgaUnits(); - subDeps.addFilter( - "objecttype = 'com.arsdigita.cms.contenttypes.SciDepartment'"); - - while (subDeps.next()) { - getMembersFromSubordinateOrgaUnit( - subDeps.getGenericOrganizationalUnit(), members, state); - } - } - - protected void getMembersFromSubordinateOrgaUnit( - final GenericOrganizationalUnit subOrgaUnit, - final List members, - final PageState state) { - final List subOrgaUnitMembers = getMembers(subOrgaUnit, - state); - members.addAll(subOrgaUnitMembers); - } - - protected DataQuery getData(final GenericOrganizationalUnit orgaunit) { + protected DataQuery getData(final GenericOrganizationalUnit orgaunit, + final PageState state) { final long start = System.currentTimeMillis(); if (!(orgaunit instanceof SciDepartment)) { @@ -210,7 +137,7 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab { orgaunit.getClass().getName())); } - final DataQuery personsQuery = SessionManager.getSession(). + final DataQuery personBundlesQuery = SessionManager.getSession(). retrieveQuery( "com.arsdigita.cms.contenttypes.getIdsOfMembersOfOrgaUnits"); final List orgaUnitIds = new ArrayList(); @@ -220,7 +147,7 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab { SessionManager.getSession().retrieveQuery( "com.arsdigita.cms.contenttypes.getIdsOfSubordinateOrgaUnitsRecursivlyWithAssocType"); subDepartmentsQuery.setParameter("orgaunitId", - orgaunit.getID().toString()); + orgaunit.getContentBundle().getID().toString()); subDepartmentsQuery.setParameter("assocType", SciDepartmentSubDepartmentsStep.ASSOC_TYPE); @@ -228,13 +155,30 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab { orgaUnitIds.add(subDepartmentsQuery.get("orgaunitId").toString()); } } else { - orgaUnitIds.add(orgaunit.getID().toString()); + orgaUnitIds.add(orgaunit.getContentBundle().getID().toString()); } - personsQuery.setParameter("orgaunitIds", orgaUnitIds); + personBundlesQuery.setParameter("orgaunitIds", orgaUnitIds); + applyStatusFilter(personBundlesQuery, state.getRequest()); - personsQuery.addOrder(GenericPerson.SURNAME); - personsQuery.addOrder(GenericPerson.GIVENNAME); + final StringBuilder filterBuilder = new StringBuilder(); + while (personBundlesQuery.next()) { + if (filterBuilder.length() > 0) { + filterBuilder.append(","); + } + filterBuilder.append(personBundlesQuery.get("memberId").toString()); + } + final DataCollection membersQuery = SessionManager.getSession().retrieve(GenericPerson.BASE_DATA_OBJECT_TYPE); + + if (filterBuilder.length() > 0) { + membersQuery.addFilter(String.format("parent.id in (%s)", filterBuilder.toString())); + } else { + //No member return null to indicate + return null; + } + + membersQuery.addOrder(GenericPerson.SURNAME); + membersQuery.addOrder(GenericPerson.GIVENNAME); logger.debug(String.format( "Got members of department '%s'" @@ -242,7 +186,7 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab { orgaunit.getName(), System.currentTimeMillis() - start, config.isMergingMembers())); - return personsQuery; + return membersQuery; } private void applyStatusFilter(final DataQuery persons, @@ -312,5 +256,6 @@ public class SciDepartmentMembersTab implements GenericOrgaUnitTab { protected ContentItem getContentItem(final PageState state) { return item; } + } } diff --git a/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentProjectsTab.java b/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentProjectsTab.java index c2b981430..5a29926ee 100644 --- a/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentProjectsTab.java +++ b/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentProjectsTab.java @@ -68,7 +68,9 @@ public class SciDepartmentProjectsTab implements GenericOrgaUnitTab { false); } - public boolean hasData(final GenericOrganizationalUnit orgaunit) { + @Override + public boolean hasData(final GenericOrganizationalUnit orgaunit, + final PageState state) { final long start = System.currentTimeMillis(); final ContentTypeCollection types = ContentType.getAllContentTypes(); types.addFilter( @@ -123,7 +125,7 @@ public class SciDepartmentProjectsTab implements GenericOrgaUnitTab { statusFilter.generateXml(filtersElem); depProjectsElem.newChildElement("greeting"); - + final Calendar now = new GregorianCalendar(); final String today = String.format("%d-%02d-%02d", now.get(Calendar.YEAR), @@ -208,11 +210,11 @@ public class SciDepartmentProjectsTab implements GenericOrgaUnitTab { while (subDepartmentsQuery.next()) { /*if (projectsFilter.length() > 0) { - projectsFilter.append(" or "); - } - projectsFilter.append(String.format("orgaunitId = %s", - subDepartmentsQuery.get( - "orgaunitId").toString()));*/ + projectsFilter.append(" or "); + } + projectsFilter.append(String.format("orgaunitId = %s", + subDepartmentsQuery.get( + "orgaunitId").toString()));*/ orgaunitIds.add(subDepartmentsQuery.get("orgaunitId").toString()); } } else { @@ -265,8 +267,7 @@ public class SciDepartmentProjectsTab implements GenericOrgaUnitTab { final Element parent, final PageState state) { final long start = System.currentTimeMillis(); - final ContentPage project = (ContentPage) DomainObjectFactory. - newInstance(new OID( + final ContentPage project = (ContentPage) DomainObjectFactory.newInstance(new OID( "com.arsdigita.cms.contenttypes.SciProject", projectId)); logger.debug(String.format("Got domain object for project '%s' " + "in %d ms.", @@ -301,5 +302,6 @@ public class SciDepartmentProjectsTab implements GenericOrgaUnitTab { protected ContentItem getContentItem(final PageState state) { return item; } + } } diff --git a/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentPublicationsTab.java b/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentPublicationsTab.java index 54ec12bd3..aa8dd1afd 100644 --- a/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentPublicationsTab.java +++ b/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentPublicationsTab.java @@ -67,7 +67,8 @@ public class SciDepartmentPublicationsTab implements GenericOrgaUnitTab { } } - public boolean hasData(final GenericOrganizationalUnit orgaunit) { + public boolean hasData(final GenericOrganizationalUnit orgaunit, + final PageState state) { final long start = System.currentTimeMillis(); final ContentTypeCollection types = ContentType.getAllContentTypes(); diff --git a/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentSummaryTab.java b/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentSummaryTab.java index 6f1da65cc..20e43c70b 100644 --- a/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentSummaryTab.java +++ b/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/ui/SciDepartmentSummaryTab.java @@ -32,7 +32,8 @@ public class SciDepartmentSummaryTab implements GenericOrgaUnitTab { config.load(); } - public boolean hasData(final GenericOrganizationalUnit orgaunit) { + public boolean hasData(final GenericOrganizationalUnit orgaunit, + final PageState state) { //Some of the the data shown by this tab will ever be there return true; } diff --git a/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstituteDescTab.java b/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstituteDescTab.java index 0be97b122..d2710120c 100644 --- a/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstituteDescTab.java +++ b/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstituteDescTab.java @@ -16,7 +16,8 @@ public class SciInstituteDescTab implements GenericOrgaUnitTab { public final Logger logger = Logger.getLogger(SciInstituteDescTab.class); - public boolean hasData(final GenericOrganizationalUnit orgaunit) { + public boolean hasData(final GenericOrganizationalUnit orgaunit, + final PageState state) { final long start = System.currentTimeMillis(); boolean result; final Desc desc = getData(orgaunit); diff --git a/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstituteMembersTab.java b/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstituteMembersTab.java index 63ceac470..9857dc9ee 100644 --- a/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstituteMembersTab.java +++ b/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstituteMembersTab.java @@ -55,7 +55,8 @@ public class SciInstituteMembersTab implements GenericOrgaUnitTab { } } - public boolean hasData(final GenericOrganizationalUnit orgaunit) { + public boolean hasData(final GenericOrganizationalUnit orgaunit, + final PageState state) { if ((orgaunit.getPersons() != null) && orgaunit.getPersons().size() > 0) { return true; diff --git a/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstituteProjectsTab.java b/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstituteProjectsTab.java index 819b36f1e..6c3777aed 100644 --- a/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstituteProjectsTab.java +++ b/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstituteProjectsTab.java @@ -70,7 +70,8 @@ public class SciInstituteProjectsTab implements GenericOrgaUnitTab { false); } - public boolean hasData(final GenericOrganizationalUnit orgaunit) { + public boolean hasData(final GenericOrganizationalUnit orgaunit, + final PageState state) { final long start = System.currentTimeMillis(); final ContentTypeCollection types = ContentType.getAllContentTypes(); types.addFilter( diff --git a/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstitutePublicationsTab.java b/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstitutePublicationsTab.java index 1b9c677c4..feca45bb0 100644 --- a/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstitutePublicationsTab.java +++ b/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstitutePublicationsTab.java @@ -77,7 +77,8 @@ public class SciInstitutePublicationsTab implements GenericOrgaUnitTab { this.onlyWorkingPapers = onlyWorkingPapers; } - public boolean hasData(final GenericOrganizationalUnit orgaunit) { + public boolean hasData(final GenericOrganizationalUnit orgaunit, + final PageState state) { final long start = System.currentTimeMillis(); final ContentTypeCollection types = ContentType.getAllContentTypes(); diff --git a/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstituteSummaryTab.java b/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstituteSummaryTab.java index bffcee7b2..ebf0405ce 100644 --- a/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstituteSummaryTab.java +++ b/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstituteSummaryTab.java @@ -32,7 +32,8 @@ public class SciInstituteSummaryTab implements GenericOrgaUnitTab { config.load(); } - public boolean hasData(final GenericOrganizationalUnit orgaunit) { + public boolean hasData(final GenericOrganizationalUnit orgaunit, + final PageState state) { //Some of the the data shown by this tab will ever be there return true; } diff --git a/ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectDescTab.java b/ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectDescTab.java index 454287b5b..89e5a1cc8 100644 --- a/ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectDescTab.java +++ b/ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/ui/SciProjectDescTab.java @@ -16,7 +16,8 @@ public class SciProjectDescTab implements GenericOrgaUnitTab { public final Logger logger = Logger.getLogger(SciProjectDescTab.class); - public boolean hasData(final GenericOrganizationalUnit orgaunit) { + public boolean hasData(final GenericOrganizationalUnit orgaunit, + final PageState state) { final long start = System.currentTimeMillis(); boolean result; final Desc desc = getData(orgaunit); 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 376bd5b26..113da0911 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 @@ -39,7 +39,8 @@ public class SciProjectSummaryTab implements GenericOrgaUnitTab { config.load(); } - public boolean hasData(final GenericOrganizationalUnit orgaunit) { + public boolean hasData(final GenericOrganizationalUnit orgaunit, + final PageState state) { //Some of the data shown by this tab will ever be there return true; }