Update ZeS bundle an aktuellen Softwarestand.
git-svn-id: https://svn.libreccm.org/ccm/trunk@1172 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
bee0ece0c2
commit
f828df6ecf
|
|
@ -1,4 +1,4 @@
|
|||
BUNDLE_NAME=aplaws-plus-zes-devel
|
||||
BUNDLE_PRETTY_NAME="APLAWS+ ZeS Devel Bundle"
|
||||
VERSION=1.1.2devel
|
||||
VERSION=1.1.4devel
|
||||
RELEASE=1
|
||||
|
|
|
|||
|
|
@ -0,0 +1,107 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
|
||||
<!-- project.xml -IAW- containing only those modules used for IAW -->
|
||||
|
||||
<ccm:project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ccm="http://ccm.redhat.com/ccm-project"
|
||||
ccmVersion="6.1"
|
||||
name="aplaws-iaw"
|
||||
prettyName="APLAWS plus"
|
||||
version="1-1-4"
|
||||
release="r1107"
|
||||
webxml="web.xml-aplaws"
|
||||
webapp="ROOT"
|
||||
xsi:schemaLocation="http://ccm.redhat.com/ccm-project file:tools-ng/common/xsd/project.xsd">
|
||||
|
||||
<ccm:build>
|
||||
|
||||
<!-- Main apps -->
|
||||
<!-- - - - - - -->
|
||||
<ccm:application name="ccm-core"/>
|
||||
<ccm:application name="ccm-cms"/>
|
||||
|
||||
<!-- Content Assets -->
|
||||
<!-- - - - - - - - -->
|
||||
<ccm:application name="ccm-cms-assets-fileattachment"/>
|
||||
<ccm:application name="ccm-cms-assets-imagestep"/>
|
||||
<ccm:application name="ccm-cms-assets-notes"/>
|
||||
<ccm:application name="ccm-cms-assets-relatedlink"/>
|
||||
|
||||
<!-- Content Types -->
|
||||
<!-- - - - - - - - -->
|
||||
<!-- <ccm:application name="ccm-cms-types-address"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-agenda"/> -->
|
||||
<ccm:application name="ccm-cms-types-article"/>
|
||||
<ccm:application name="ccm-cms-types-bookmark"/>
|
||||
<!-- <ccm:application name="ccm-cms-types-contact"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-esdservice"/> -->
|
||||
<ccm:application name="ccm-cms-types-event"/>
|
||||
<!-- <ccm:application name="ccm-cms-types-faqitem"/> -->
|
||||
<ccm:application name="ccm-cms-types-filestorageitem"/>
|
||||
<ccm:application name="ccm-cms-types-formitem"/>
|
||||
<ccm:application name="ccm-cms-types-formsectionitem"/>
|
||||
<!-- <ccm:application name="ccm-cms-types-glossaryitem"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-htmlform"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-inlinesite"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-job"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-legalnotice"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-minutes"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-motditem"/> -->
|
||||
<ccm:application name="ccm-cms-types-mparticle"/>
|
||||
<ccm:application name="ccm-cms-types-newsitem"/>
|
||||
<!-- <ccm:application name="ccm-cms-types-organization"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-person"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-pressrelease"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-service"/> -->
|
||||
<ccm:application name="ccm-cms-types-siteproxy"/>
|
||||
<!-- <ccm:application name="ccm-cms-types-xmlfeed"/> -->
|
||||
|
||||
<!-- Applications -->
|
||||
<!-- - - - - - - -->
|
||||
<!-- <ccm:application name="ccm-auth-http"/> -->
|
||||
<!-- <ccm:application name="ccm-bookmarks"/> -->
|
||||
<!-- temporarily excluded, produces errors in the build process
|
||||
<ccm:application name="ccm-docmngr"/> -->
|
||||
<!-- <ccm:application name="ccm-formbuilder-pdf"/> -->
|
||||
<!-- <ccm:application name="ccm-forum"/> -->
|
||||
<!-- <ccm:application name="ccm-simplesurvey"/> -->
|
||||
<ccm:application name="ccm-user-preferences"/>
|
||||
<!-- <ccm:application name="ccm-weblog"/> -->
|
||||
<!-- <ccm:application name="ccm-webpage"/> -->
|
||||
|
||||
<!-- LDN extension -->
|
||||
<!-- - - - - - - - -->
|
||||
<!-- <ccm:application name="ccm-ldn-aplaws"/> -->
|
||||
<!-- <ccm:application name="ccm-ldn-atoz"/> -->
|
||||
<!-- <ccm:application name="ccm-ldn-dublin"/> -->
|
||||
<!-- <ccm:application name="ccm-ldn-exporter"/> -->
|
||||
<!-- <ccm:application name="ccm-ldn-freeform"/> -->
|
||||
<!-- <ccm:application name="ccm-ldn-importer"/> -->
|
||||
<ccm:application name="ccm-ldn-navigation"/>
|
||||
<ccm:application name="ccm-ldn-portal"/>
|
||||
<ccm:application name="ccm-ldn-rss"/>
|
||||
<ccm:application name="ccm-ldn-search"/>
|
||||
<ccm:application name="ccm-ldn-shortcuts"/>
|
||||
<ccm:application name="ccm-ldn-subsite"/>
|
||||
<ccm:application name="ccm-ldn-terms"/>
|
||||
<ccm:application name="ccm-ldn-theme"/>
|
||||
<ccm:application name="ccm-ldn-util"/>
|
||||
|
||||
|
||||
<!-- IAW extension -->
|
||||
<!-- - - - - - - - -->
|
||||
<!-- <ccm:application name="ccm-cms-dabinimporter" />
|
||||
<ccm:application name="ccm-sci-types-organization"/>
|
||||
<ccm:application name="ccm-sci-publications"/>
|
||||
-->
|
||||
<ccm:application name="ccm-iaw-aplaws"/>
|
||||
|
||||
|
||||
|
||||
<!-- tools will be downloaded from trunk, but does not
|
||||
contain java code to be compiled!
|
||||
<ccm:application name="tools"/> -->
|
||||
|
||||
|
||||
</ccm:build>
|
||||
</ccm:project>
|
||||
|
|
@ -206,11 +206,11 @@
|
|||
<!-- module ccm-forum - servlet declarations END -->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>portal-files</servlet-name>
|
||||
<servlet-name>portalworkspace-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-portal</param-value>
|
||||
<param-value>/templates/ccm-portalworkspace</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
|
|
@ -357,8 +357,8 @@
|
|||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>portal-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-portal/files/*</url-pattern>
|
||||
<servlet-name>portalworkspace-files</servlet-name>
|
||||
<url-pattern>/ccm-portalworkspace/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
BUNDLE_NAME=aplaws-plus-shp
|
||||
BUNDLE_PRETTY_NAME="APLAWS+ SHP Standard Bundle"
|
||||
VERSION=1.0.5devel
|
||||
BUNDLE_NAME=aplaws-plus-ZeS
|
||||
BUNDLE_PRETTY_NAME="APLAWS+ ZeS Standard Bundle"
|
||||
VERSION=1.1.4
|
||||
RELEASE=1
|
||||
|
|
|
|||
|
|
@ -1,61 +0,0 @@
|
|||
# ZeS standard application.cfg
|
||||
#
|
||||
# Das standard bundle enthält die Modul Zusammensetzung der aktuellen
|
||||
# Produktiv-Version auf dem Softwarestand des Trunk-Levels. Soll vor allem das
|
||||
# Testen von Update-Scripten erleichtern. AKTUELL: 1.1.0 / r772
|
||||
#
|
||||
# Main apps
|
||||
ccm-core
|
||||
ccm-cms
|
||||
|
||||
# Content assets
|
||||
ccm-cms-assets-fileattachment
|
||||
ccm-cms-assets-imagestep
|
||||
ccm-cms-assets-notes
|
||||
ccm-cms-assets-relatedlink
|
||||
|
||||
# -- ccm-cms-types-address ## kommt in die kommende Version
|
||||
ccm-cms-types-article
|
||||
ccm-cms-types-bookmark
|
||||
# -- ccm-cms-types-contact ## kommt in die kommende Version
|
||||
ccm-cms-types-event
|
||||
ccm-cms-types-filestorageitem
|
||||
ccm-cms-types-formitem
|
||||
ccm-cms-types-formsectionitem
|
||||
|
||||
ccm-cms-types-mparticle
|
||||
ccm-cms-types-newsitem
|
||||
|
||||
# -- ccm-cms-types-person ## kommt in die kommende Version
|
||||
|
||||
ccm-cms-types-siteproxy
|
||||
# -- xmlfeed wird moeglicherweise ebenfalls nicht gebraucht
|
||||
ccm-cms-types-xmlfeed
|
||||
|
||||
# Applications
|
||||
# ------------
|
||||
ccm-forum
|
||||
ccm-portalworkspace
|
||||
ccm-simplesurvey
|
||||
ccm-themedirector
|
||||
ccm-user-preferences
|
||||
|
||||
# ldn extensions
|
||||
# --------------
|
||||
ccm-ldn-navigation
|
||||
# ccm-ldn-portal nach ccm-portalworkspace
|
||||
ccm-ldn-rss
|
||||
ccm-ldn-search
|
||||
ccm-ldn-shortcuts
|
||||
ccm-ldn-subsite
|
||||
ccm-ldn-terms
|
||||
# ccm-ldn-theme nach ccm-themedirector
|
||||
ccm-ldn-util
|
||||
|
||||
# sci extensions
|
||||
# --------------
|
||||
# -- ccm-cms-dabinimporter ## kommt in die kommende Version
|
||||
# -- ccm-sci-publications ## kommt in die kommende Version
|
||||
# -- ccm-sci-types-organization ## kommt in die kommende Version
|
||||
# integration layer
|
||||
ccm-zes-aplaws
|
||||
|
|
@ -72,6 +72,7 @@ com.arsdigita.cms.hide_launch_date=true
|
|||
com.arsdigita.cms.hide_templates_tab=true
|
||||
com.arsdigita.cms.hide_timezone=true
|
||||
com.arsdigita.cms.hide_udct_ui=true
|
||||
com.arsdigita.cms.item_search.default_tab=search
|
||||
|
||||
com.arsdigita.cms.use_section_categories=false
|
||||
com.arsdigita.cms.use_streamlined_creation=true
|
||||
|
|
|
|||
|
|
@ -0,0 +1,126 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
|
||||
<!-- project.xml -ZeS- containing only those modules used for ZeS -->
|
||||
|
||||
<ccm:project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ccm="http://ccm.redhat.com/ccm-project"
|
||||
ccmVersion="6.1"
|
||||
name="aplaws-zes"
|
||||
prettyName="APLAWS plus"
|
||||
version="1-1-5"
|
||||
release="r1136"
|
||||
webxml="web.xml-aplaws"
|
||||
webapp="ROOT"
|
||||
xsi:schemaLocation="http://ccm.redhat.com/ccm-project file:tools-ng/common/xsd/project.xsd">
|
||||
|
||||
<ccm:build>
|
||||
|
||||
<!-- Main apps -->
|
||||
<!-- - - - - - -->
|
||||
<ccm:application name="ccm-core"/>
|
||||
<ccm:application name="ccm-cms"/>
|
||||
|
||||
<!-- Content Assets -->
|
||||
<!-- - - - - - - - -->
|
||||
<ccm:application name="ccm-cms-assets-fileattachment"/>
|
||||
<ccm:application name="ccm-cms-assets-imagestep"/>
|
||||
<ccm:application name="ccm-cms-assets-notes"/>
|
||||
<ccm:application name="ccm-cms-assets-relatedlink"/>
|
||||
|
||||
<!-- Content Types -->
|
||||
<!-- - - - - - - - -->
|
||||
<ccm:application name="ccm-cms-types-address"/>
|
||||
<ccm:application name="ccm-cms-types-article"/>
|
||||
<ccm:application name="ccm-cms-types-bookmark"/>
|
||||
<ccm:application name="ccm-cms-types-contact"/>
|
||||
<ccm:application name="ccm-cms-types-event"/>
|
||||
<ccm:application name="ccm-cms-types-filestorageitem"/>
|
||||
<ccm:application name="ccm-cms-types-formitem"/>
|
||||
<ccm:application name="ccm-cms-types-formsectionitem"/>
|
||||
<ccm:application name="ccm-cms-types-mparticle"/>
|
||||
<ccm:application name="ccm-cms-types-newsitem"/>
|
||||
<ccm:application name="ccm-cms-types-person"/>
|
||||
<ccm:application name="ccm-cms-types-siteproxy"/>
|
||||
<ccm:application name="ccm-cms-types-xmlfeed"/>
|
||||
|
||||
<!-- Applications -->
|
||||
<!-- - - - - - - -->
|
||||
<ccm:application name="ccm-forum"/>
|
||||
<ccm:application name="ccm-portalworkspace"/>
|
||||
<ccm:application name="ccm-simplesurvey"/>
|
||||
<ccm:application name="ccm-themedirector"/>
|
||||
<ccm:application name="ccm-user-preferences"/>
|
||||
|
||||
<!-- LDN extension -->
|
||||
<!-- - - - - - - - -->
|
||||
<ccm:application name="ccm-ldn-navigation"/>
|
||||
<ccm:application name="ccm-ldn-rss"/>
|
||||
<ccm:application name="ccm-ldn-search"/>
|
||||
<ccm:application name="ccm-ldn-shortcuts"/>
|
||||
<ccm:application name="ccm-ldn-subsite"/>
|
||||
<ccm:application name="ccm-ldn-terms"/>
|
||||
<ccm:application name="ccm-ldn-util"/>
|
||||
|
||||
|
||||
<!-- ZeS extension (for new version 1.1.4) -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - -->
|
||||
<ccm:application name="ccm-sci-types-organization"/>
|
||||
<ccm:application name="ccm-sci-types-organizationwithpublications"/>
|
||||
<ccm:application name="ccm-sci-publications"/>
|
||||
<ccm:application name="ccm-cms-dabinimporter" />
|
||||
<!-- <ccm:application name="ccm-cms-publicpersonalprofile"/> -->
|
||||
|
||||
<ccm:application name="ccm-zes-aplaws"/>
|
||||
|
||||
|
||||
|
||||
<!-- tools will be downloaded from trunk, but does not
|
||||
contain java code to be compiled!
|
||||
<ccm:application name="tools"/> -->
|
||||
|
||||
|
||||
</ccm:build>
|
||||
|
||||
<!-- probable addons -->
|
||||
|
||||
<!-- Content Types -->
|
||||
<!-- - - - - - - - -->
|
||||
<!-- <ccm:application name="ccm-cms-types-agenda"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-esdservice"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-faqitem"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-glossaryitem"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-htmlform"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-inlinesite"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-job"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-legalnotice"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-minutes"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-motditem"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-organization"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-person"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-pressrelease"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-service"/> -->
|
||||
<!-- <ccm:application name="ccm-cms-types-xmlfeed"/> -->
|
||||
|
||||
<!-- Applications -->
|
||||
<!-- - - - - - - -->
|
||||
<!-- <ccm:application name="ccm-auth-http"/> -->
|
||||
<!-- <ccm:application name="ccm-bookmarks"/> -->
|
||||
<!-- temporarily excluded, produces errors in the build process
|
||||
<ccm:application name="ccm-docmngr"/> -->
|
||||
<!-- <ccm:application name="ccm-formbuilder-pdf"/> -->
|
||||
<!-- <ccm:application name="ccm-forum"/> -->
|
||||
<!-- <ccm:application name="ccm-simplesurvey"/> -->
|
||||
<!-- <ccm:application name="ccm-weblog"/> -->
|
||||
<!-- <ccm:application name="ccm-webpage"/> -->
|
||||
|
||||
<!-- LDN extension -->
|
||||
<!-- - - - - - - - -->
|
||||
<!-- <ccm:application name="ccm-ldn-aplaws"/> -->
|
||||
<!-- <ccm:application name="ccm-ldn-atoz"/> -->
|
||||
<!-- <ccm:application name="ccm-ldn-dublin"/> -->
|
||||
<!-- <ccm:application name="ccm-ldn-exporter"/> -->
|
||||
<!-- <ccm:application name="ccm-ldn-freeform"/> -->
|
||||
<!-- <ccm:application name="ccm-ldn-importer"/> -->
|
||||
|
||||
|
||||
</ccm:project>
|
||||
|
|
@ -304,33 +304,33 @@
|
|||
</servlet>
|
||||
<!-- module ccm-ldn-terms - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-themes - servlet declarations BEGIN -->
|
||||
<!-- module ccm-themedirector - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>theme-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-theme</param-value>
|
||||
<param-value>/templates/ccm-themedirector</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ThemeDownload</servlet-name>
|
||||
<servlet-class>com.arsdigita.london.theme.dispatcher.ThemeDownloadServlet</servlet-class>
|
||||
<servlet-class>com.arsdigita.themedirector.dispatcher.ThemeDownloadServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<display-name>Servlet to allow admins to preview look/feel</display-name>
|
||||
<servlet-class>
|
||||
com.arsdigita.london.theme.dispatcher.InternalThemePrefixerServlet
|
||||
com.arsdigita.themedirector.dispatcher.InternalThemePrefixerServlet
|
||||
</servlet-class>
|
||||
<init-param>
|
||||
<param-name>prefix</param-name>
|
||||
<param-value>/theme</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-themes - servlet declarations END -->
|
||||
<!-- module ccm-themedirector - servlet declarations END -->
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
MODULES SERVLET MAPPINGS SECTION
|
||||
|
|
@ -404,7 +404,7 @@
|
|||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-terms - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-ldn-theme - servlet mappings BEGIN -->
|
||||
<!-- module ccm-themedirector - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>theme-files</servlet-name>
|
||||
<url-pattern>/theme-files/*</url-pattern>
|
||||
|
|
@ -419,7 +419,7 @@
|
|||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<url-pattern>/theme/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-themes - servlet mappings END -->
|
||||
<!-- module ccm-themedirector - servlet mappings END -->
|
||||
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
|
|
|||
|
|
@ -1,278 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public License
|
||||
* as published by the Free Software Foundation; either version 2.1 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
package com.arsdigita.aplaws.ui;
|
||||
|
||||
import com.arsdigita.aplaws.Aplaws;
|
||||
import com.arsdigita.bebop.Label;
|
||||
import com.arsdigita.bebop.SimpleContainer;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.bebop.parameters.StringParameter;
|
||||
import com.arsdigita.bebop.parameters.BigDecimalParameter;
|
||||
import com.arsdigita.bebop.event.ActionEvent;
|
||||
import com.arsdigita.bebop.event.ActionListener;
|
||||
import com.arsdigita.bebop.form.Widget;
|
||||
import com.arsdigita.persistence.SessionManager;
|
||||
import com.arsdigita.persistence.DataCollection;
|
||||
import com.arsdigita.domain.DomainCollection;
|
||||
import com.arsdigita.domain.DomainObjectFactory;
|
||||
import com.arsdigita.kernel.ACSObject;
|
||||
import com.arsdigita.london.terms.Term;
|
||||
import com.arsdigita.london.terms.Domain;
|
||||
import com.arsdigita.categorization.ui.ACSObjectCategoryForm;
|
||||
import com.arsdigita.cms.ContentItem;
|
||||
import com.arsdigita.cms.CMS;
|
||||
import com.arsdigita.cms.ui.authoring.ItemCategoryForm;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.LinkedList;
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
/**
|
||||
* abstracted from original version of ItemCategoryPicker r1297
|
||||
* chris gilbert
|
||||
*/
|
||||
public abstract class ACSObjectCategoryPicker extends SimpleContainer {
|
||||
private static final Logger s_log = Logger.getLogger(ItemCategoryPicker.class);
|
||||
|
||||
private ACSObjectCategoryForm m_form;
|
||||
private BigDecimalParameter m_root;
|
||||
|
||||
public ACSObjectCategoryPicker(BigDecimalParameter root,
|
||||
StringParameter mode) {
|
||||
|
||||
m_form = getForm(root, mode);
|
||||
m_root = root;
|
||||
|
||||
add(m_form);
|
||||
m_form.addCompletionListener(new ItemCategoryFormCompletion());
|
||||
}
|
||||
|
||||
protected abstract ACSObjectCategoryForm getForm(BigDecimalParameter root, StringParameter mode);
|
||||
|
||||
protected abstract ACSObject getObject(PageState state);
|
||||
|
||||
|
||||
|
||||
|
||||
private class ItemCategoryFormCompletion implements ActionListener {
|
||||
public void actionPerformed(ActionEvent ev) {
|
||||
|
||||
PageState state = ev.getPageState();
|
||||
Domain domain = getDomain(state);
|
||||
String domainKey = domain.getKey();
|
||||
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Saving categories in: " + domainKey);
|
||||
}
|
||||
|
||||
ACSObject object = getObject(state);
|
||||
|
||||
if ("LGCL".equals(domainKey)) {
|
||||
lgclSelected(domain, object);
|
||||
}
|
||||
|
||||
else if ("LGDL".equals(domainKey)) {
|
||||
lgdlSelected(domain, object);
|
||||
}
|
||||
|
||||
fireCompletionEvent(state);
|
||||
}
|
||||
|
||||
private void lgclSelected(Domain domain, ACSObject object) {
|
||||
List lgclTerms = getCurrentCategories(domain, object);
|
||||
|
||||
Domain gcl = Domain.retrieve("GCL");
|
||||
Collection gclTerms = getRelatedTerms(lgclTerms, gcl);
|
||||
clearTerms(gcl, object);
|
||||
assignTerms(gclTerms, object);
|
||||
|
||||
// The assignment below is removed to satisfy requirement 4.1,
|
||||
// use case 1 of the document "Metadata Improvements" version 1
|
||||
// by Camden, dated 23/01/05.
|
||||
//Domain lgsl = Domain.retrieve("LGSL");
|
||||
//Collection lgslTerms = getRelatedTerms(lgclTerms, lgsl);
|
||||
//clearTerms(lgsl, object);
|
||||
//assignTerms(lgslTerms, object);
|
||||
|
||||
// adding processing or mapping from LGCL to APLAWS-NAV too
|
||||
// boolean lgclOverrideAnav = Aplaws.getAplawsConfig().getOverrideAnavFromLGCLMappings().booleanValue();
|
||||
// if (lgclOverrideAnav) {
|
||||
// Domain aplawsNav = Domain.retrieve("APLAWS-NAV");
|
||||
// Collection aplawsNavTerms = getRelatedTerms(lgclTerms, aplawsNav);
|
||||
// clearTerms(aplawsNav, object);
|
||||
// assignTerms(aplawsNavTerms, object);
|
||||
// }
|
||||
}
|
||||
|
||||
// User has selected a term in the LGDL hierarchy, which includes
|
||||
// terms from the LGSL. We're only interested in LGSL terms here.
|
||||
private void lgdlSelected(Domain domain, ACSObject object) {
|
||||
Domain lgsl = Domain.retrieve("LGSL");
|
||||
Domain gcl = Domain.retrieve("GCL");
|
||||
Domain lgcl = Domain.retrieve("LGCL");
|
||||
|
||||
// We have a mapping LGSL -> LGCL based on the reverse of a
|
||||
// published mapping. We don't have a mapping LGSL -> GCL, so we
|
||||
// do LGSL -> LGCL -> GCL instead.
|
||||
|
||||
List lgslTerms = getCurrentCategories(lgsl, object);
|
||||
Collection lgclTerms = getRelatedTerms(lgslTerms, lgcl);
|
||||
|
||||
LinkedList lgclIDs = new LinkedList();
|
||||
Iterator i = lgclTerms.iterator();
|
||||
while (i.hasNext()) {
|
||||
Term term = (Term) i.next();
|
||||
lgclIDs.add(term.getModel().getID());
|
||||
}
|
||||
|
||||
Collection gclTerms = getRelatedTerms(lgclIDs, gcl);
|
||||
|
||||
clearTerms(lgcl, object);
|
||||
assignTerms(lgclTerms, object);
|
||||
|
||||
clearTerms(gcl, object);
|
||||
assignTerms(gclTerms, object);
|
||||
}
|
||||
}
|
||||
|
||||
protected List getCurrentCategories(Domain domain,
|
||||
ACSObject object) {
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Getting terms from " + domain + " to " + object);
|
||||
}
|
||||
DomainCollection terms = domain.getTerms();
|
||||
terms.addEqualsFilter("model.childObjects.id", object.getID());
|
||||
terms.addPath("model.id");
|
||||
|
||||
List current = new LinkedList();
|
||||
while (terms.next()) {
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Got term " + terms.get("model.id"));
|
||||
}
|
||||
current.add(terms.get("model.id"));
|
||||
}
|
||||
return current;
|
||||
}
|
||||
|
||||
// TODO move out of UI code
|
||||
public static Collection getCurrentTerms(Domain domain,
|
||||
ACSObject object) {
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Getting terms from " + domain + " to " + object);
|
||||
}
|
||||
Collection current = new LinkedList();
|
||||
DomainCollection terms = domain.getTerms();
|
||||
terms.addEqualsFilter("model.childObjects.id", object.getID());
|
||||
terms.addPath("model.id");
|
||||
while (terms.next()) {
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Got term " + terms.get("model.id"));
|
||||
}
|
||||
current.add(terms.getDomainObject());
|
||||
}
|
||||
return current;
|
||||
}
|
||||
|
||||
// TODO move out of UI code
|
||||
public static Collection getRelatedTerms(Collection src,
|
||||
Domain domain) {
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Getting related terms to " + domain);
|
||||
|
||||
}
|
||||
if (src.isEmpty()) {
|
||||
// this is a hack, it would be better not to use a completion event listener as
|
||||
// this is called even when the form is cancelled...
|
||||
return new LinkedList();
|
||||
}
|
||||
DomainCollection terms = domain.getTerms();
|
||||
// these next two lines build the query
|
||||
terms.addEqualsFilter("model.parents.link.relationType", "related");
|
||||
terms.addFilter("model.parents.id in :ids").set("ids", src);
|
||||
|
||||
Collection related = new LinkedList();
|
||||
while (terms.next()) {
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Got term " + terms.getDomainObject());
|
||||
}
|
||||
related.add(terms.getDomainObject());
|
||||
}
|
||||
return related;
|
||||
}
|
||||
|
||||
protected void clearTerms(Domain domain,
|
||||
ACSObject object) {
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Removing terms from " + domain + " to " + object);
|
||||
}
|
||||
Iterator terms = getCurrentTerms(domain, object).iterator();
|
||||
while (terms.hasNext()) {
|
||||
Term term = (Term)terms.next();
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Removing term " + term + " from " + object);
|
||||
}
|
||||
term.removeObject(object);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// TODO move out of UI code
|
||||
public static void assignTerms(Collection terms,
|
||||
ACSObject object) {
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Assigning terms to " + object);
|
||||
}
|
||||
Iterator i = terms.iterator();
|
||||
while (i.hasNext()) {
|
||||
Term term = (Term)i.next();
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Assigning term " + term + " to " + object);
|
||||
}
|
||||
term.addObject(object);
|
||||
}
|
||||
}
|
||||
|
||||
protected Domain getDomain(PageState state) {
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Getting domain for " + state.getValue(m_root));
|
||||
}
|
||||
|
||||
DataCollection domains = SessionManager.getSession()
|
||||
.retrieve(Domain.BASE_DATA_OBJECT_TYPE);
|
||||
domains.addEqualsFilter("model.id",
|
||||
state.getValue(m_root));
|
||||
|
||||
if (domains.next()) {
|
||||
Domain domain = (Domain)DomainObjectFactory
|
||||
.newInstance(domains.getDataObject());
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Got domain " + domain);
|
||||
}
|
||||
domains.close();
|
||||
return domain;
|
||||
}
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("No domain found");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
package com.arsdigita.aplaws.ui;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.arsdigita.bebop.Page;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.bebop.SimpleComponent;
|
||||
import com.arsdigita.bebop.parameters.BigDecimalParameter;
|
||||
import com.arsdigita.bebop.parameters.IntegerParameter;
|
||||
import com.arsdigita.bebop.parameters.StringParameter;
|
||||
import com.arsdigita.categorization.Category;
|
||||
import com.arsdigita.domain.DomainObjectFactory;
|
||||
import com.arsdigita.persistence.OID;
|
||||
import com.arsdigita.xml.Element;
|
||||
|
||||
/**
|
||||
* Generate part of the category tree. Used by Assign Category authoring step.
|
||||
*
|
||||
* @author Alan Pevec
|
||||
*/
|
||||
public class CategorySubtree extends SimpleComponent {
|
||||
|
||||
StringParameter nodeIDparam = new StringParameter("nodeID");
|
||||
|
||||
private static Logger s_log = Logger.getLogger(CategorySubtree.class);
|
||||
public void register(Page p) {
|
||||
super.register(p);
|
||||
p.addGlobalStateParam(nodeIDparam);
|
||||
|
||||
}
|
||||
|
||||
public void generateXML(PageState state, Element p) {
|
||||
|
||||
String node = (String)state.getValue(nodeIDparam);
|
||||
s_log.debug("selected node = " + node);
|
||||
String[] pathElements = StringUtils.split(node, "-");
|
||||
|
||||
Category root = (Category) DomainObjectFactory.newInstance(new OID(
|
||||
Category.BASE_DATA_OBJECT_TYPE, new BigDecimal(pathElements[pathElements.length - 1])));
|
||||
s_log.debug("generating subtree for cat " + root.getID());
|
||||
TermWidget.generateSubtree(p, root);
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue