Update ZeS bundle an aktuellen Softwarestand.

git-svn-id: https://svn.libreccm.org/ccm/trunk@1172 8810af33-2d31-482b-a856-94f89814c4df
master
pb 2011-10-18 01:48:32 +00:00
parent bee0ece0c2
commit f828df6ecf
10 changed files with 249 additions and 403 deletions

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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>

View File

@ -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 -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

View File

@ -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;
}
}

View File

@ -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);
}
}