Weitere Modifikationen AtoZ, noch nicht funktionsfähig.
git-svn-id: https://svn.libreccm.org/ccm/trunk@1621 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
0ad0fbd6ff
commit
718e988884
|
|
@ -26,6 +26,10 @@
|
|||
</ccm:contacts>
|
||||
|
||||
<ccm:description>
|
||||
The ccm-atoz-siteproxy package is an extension for the ccm-atoz package in
|
||||
combination with the ccm-cms-types-siteproxy package. It enables the
|
||||
ccm-atoz package to deal with siteproxy content.
|
||||
|
||||
The ccm-atoz package enables a site to present all it's content in
|
||||
alphabetical order as an additional service to it's users. Usually the
|
||||
theme provides a link to the page as part of its static elements.
|
||||
|
|
|
|||
|
|
@ -15,11 +15,12 @@
|
|||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
model com.arsdigita.atoz;
|
||||
model com.arsdigita.atoz.siteproxy;
|
||||
|
||||
import com.arsdigita.atoz.AtoZProvider;
|
||||
import com.arsdigita.categorization.Category;
|
||||
|
||||
object type AtoZSiteProxyProvider extends AtoZProvider {
|
||||
object type SiteProxyProvider extends AtoZProvider {
|
||||
Category[1..1] category = join atoz_siteproxy_provider.category_id to
|
||||
cat_categories.category_id;
|
||||
reference key (atoz_siteproxy_provider.provider_id);
|
||||
|
|
@ -0,0 +1,149 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<xrd:adapters xmlns:xrd="http://xmlns.redhat.com/schemas/waf/xml-renderer-rules"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://rhea.redhat.com/schemas/waf/xml-renderer-rules xml-renderer-rules.xsd">
|
||||
<!--
|
||||
<xrd:context name="com.arsdigita.atoz.ui.admin.ProviderList">
|
||||
<xrd:adapter objectType="com.arsdigita.atoz.AtoZProvider">
|
||||
<xrd:attributes rule="exclude">
|
||||
<xrd:property name="/object/id"/>
|
||||
<xrd:property name="/object/defaultDomainClass"/>
|
||||
<xrd:property name="/object/displayName"/>
|
||||
</xrd:attributes>
|
||||
</xrd:adapter>
|
||||
</xrd:context>
|
||||
-->
|
||||
|
||||
<xrd:context name="com.arsdigita.atoz.ui.admin.ProviderDetails">
|
||||
<!--
|
||||
<xrd:adapter objectType="com.arsdigita.atoz.CategoryProvider">
|
||||
<xrd:attributes rule="exclude">
|
||||
<xrd:property name="/object/id"/>
|
||||
<xrd:property name="/object/defaultDomainClass"/>
|
||||
<xrd:property name="/object/displayName"/>
|
||||
<xrd:property name="/object/rootUseContext/id"/>
|
||||
<xrd:property name="/object/rootUseContext/rootCategory/id"/>
|
||||
<xrd:property name="/object/rootUseContext/rootCategory/objectType"/>
|
||||
<xrd:property name="/object/rootUseContext/rootCategory/defaultDomainClass"/>
|
||||
<xrd:property name="/object/rootUseContext/rootCategory/defaultAncestors"/>
|
||||
</xrd:attributes>
|
||||
|
||||
<xrd:associations rule="include">
|
||||
<xrd:property name="/object/rootUseContext"/>
|
||||
<xrd:property name="/object/rootUseContext/rootCategory"/>
|
||||
</xrd:associations>
|
||||
</xrd:adapter>
|
||||
-->
|
||||
<!--
|
||||
<xrd:adapter objectType="com.arsdigita.london.atoz.terms.DomainProvider">
|
||||
<xrd:attributes rule="exclude">
|
||||
<xrd:property name="/object/id"/>
|
||||
<xrd:property name="/object/defaultDomainClass"/>
|
||||
<xrd:property name="/object/displayName"/>
|
||||
</xrd:attributes>
|
||||
</xrd:adapter>
|
||||
-->
|
||||
<!--
|
||||
<xrd:adapter objectType="com.arsdigita.atoz.ItemProvider">
|
||||
<xrd:attributes rule="exclude">
|
||||
<xrd:property name="/object/id"/>
|
||||
<xrd:property name="/object/defaultDomainClass"/>
|
||||
<xrd:property name="/object/displayName"/>
|
||||
<xrd:property name="/object/category/id"/>
|
||||
<xrd:property name="/object/category/objectType"/>
|
||||
<xrd:property name="/object/category/defaultDomainClass"/>
|
||||
<xrd:property name="/object/category/defaultAncestors"/>
|
||||
</xrd:attributes>
|
||||
<xrd:associations rule="include">
|
||||
<xrd:property name="/object/category"/>
|
||||
</xrd:associations>
|
||||
</xrd:adapter>
|
||||
-->
|
||||
|
||||
<xrd:adapter objectType="com.arsdigita.atoz.siteproxy.SiteProxyProvider">
|
||||
<xrd:attributes rule="exclude">
|
||||
<xrd:property name="/object/id"/>
|
||||
<xrd:property name="/object/defaultDomainClass"/>
|
||||
<xrd:property name="/object/displayName"/>
|
||||
<xrd:property name="/object/category/id"/>
|
||||
<xrd:property name="/object/category/objectType"/>
|
||||
<xrd:property name="/object/category/defaultDomainClass"/>
|
||||
<xrd:property name="/object/category/defaultAncestors"/>
|
||||
</xrd:attributes>
|
||||
<xrd:associations rule="include">
|
||||
<xrd:property name="/object/category"/>
|
||||
</xrd:associations>
|
||||
</xrd:adapter>
|
||||
|
||||
</xrd:context>
|
||||
|
||||
<!--
|
||||
<xrd:context name="com.arsdigita.atoz.ui.admin.CategoryProviderBlackList">
|
||||
<xrd:adapter objectType="com.arsdigita.categorization.Category">
|
||||
<xrd:attributes rule="exclude">
|
||||
<xrd:property name="/object/id"/>
|
||||
<xrd:property name="/object/objectType"/>
|
||||
<xrd:property name="/object/defaultDomainClass"/>
|
||||
<xrd:property name="/object/displayName"/>
|
||||
</xrd:attributes>
|
||||
</xrd:adapter>
|
||||
</xrd:context>
|
||||
|
||||
<xrd:context name="com.arsdigita.atoz.ui.admin.CategoryProviderContentTypeBlacklist">
|
||||
<xrd:adapter objectType="com.arsdigita.cms.ContentType">
|
||||
<xrd:attributes rule="exclude">
|
||||
<xrd:property name="/object/id"/>
|
||||
<xrd:property name="/object/objectType"/>
|
||||
<xrd:property name="/object/defaultDomainClass"/>
|
||||
<xrd:property name="/object/displayName"/>
|
||||
</xrd:attributes>
|
||||
</xrd:adapter>
|
||||
</xrd:context>
|
||||
|
||||
<xrd:context name="com.arsdigita.atoz.ui.admin.CategoryProviderAliasList">
|
||||
<xrd:adapter objectType="com.arsdigita.categorization.Category">
|
||||
<xrd:attributes rule="exclude">
|
||||
<xrd:property name="/object/id"/>
|
||||
<xrd:property name="/object/objectType"/>
|
||||
<xrd:property name="/object/defaultDomainClass"/>
|
||||
<xrd:property name="/object/displayName"/>
|
||||
</xrd:attributes>
|
||||
</xrd:adapter>
|
||||
|
||||
<xrd:adapter objectType="com.arsdigita.atoz.CategoryAlias">
|
||||
<xrd:attributes rule="exclude">
|
||||
<xrd:property name="/object/id"/>
|
||||
<xrd:property name="/object/objectType"/>
|
||||
<xrd:property name="/object/defaultDomainClass"/>
|
||||
<xrd:property name="/object/displayName"/>
|
||||
</xrd:attributes>
|
||||
</xrd:adapter>
|
||||
</xrd:context>
|
||||
-->
|
||||
<!--
|
||||
<xrd:context name="com.arsdigita.atoz.ui.admin.ItemProviderAliasList">
|
||||
<xrd:adapter objectType="com.arsdigita.cms.ContentItem">
|
||||
<xrd:attributes rule="exclude"> -->
|
||||
<!--
|
||||
<xrd:property name="/object/id"/>
|
||||
<xrd:property name="/object/objectType"/>
|
||||
<xrd:property name="/object/defaultDomainClass"/>
|
||||
<xrd:property name="/object/displayName"/>
|
||||
-->
|
||||
<!-- </xrd:attributes>
|
||||
</xrd:adapter>
|
||||
|
||||
<xrd:adapter objectType="com.arsdigita.atoz.ItemAlias">
|
||||
<xrd:attributes rule="exclude"> -->
|
||||
<!--
|
||||
<xrd:property name="/object/id"/>
|
||||
<xrd:property name="/object/objectType"/>
|
||||
<xrd:property name="/object/defaultDomainClass"/>
|
||||
<xrd:property name="/object/displayName"/>
|
||||
-->
|
||||
<!-- </xrd:attributes>
|
||||
</xrd:adapter>
|
||||
</xrd:context> -->
|
||||
|
||||
</xrd:adapters>
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
|
||||
version="2.4">
|
||||
|
||||
<!-- module ccm-atoz - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>atoz-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-atoz</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-atoz - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-atoz - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>atoz-files</servlet-name>
|
||||
<url-pattern>/ccm-atoz/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-atoz - servlet mappings END -->
|
||||
|
||||
</web-app>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<registry>
|
||||
<config class="com.arsdigita.atoz.siteproxy.Config"
|
||||
storage="ccm-atoz/siteproxy.properties"/>
|
||||
</registry>
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
<load>
|
||||
|
||||
<requires>
|
||||
<table name="inits"/>
|
||||
<table name="acs_objects"/>
|
||||
<initializer class="com.arsdigita.core.Initializer"/>
|
||||
<initializer class="com.arsdigita.atoz.Initializer"/>
|
||||
</requires>
|
||||
|
||||
<provides>
|
||||
<table name="atoz_provider"/>
|
||||
<initializer class="com.arsdigita.atoz.siteproxy.Initializer"/>
|
||||
</provides>
|
||||
|
||||
<scripts>
|
||||
<schema directory="ccm-atoz-siteproxy"/>
|
||||
<!--
|
||||
<data class="com.arsdigita.atoz.siteproxy.Loader"/>
|
||||
-->
|
||||
</scripts>
|
||||
|
||||
</load>
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<upgrade>
|
||||
<!--
|
||||
<version from="x.y.z" to="x.y.a">
|
||||
<!-- AtoZ SiteProxy ........ -->
|
||||
<script sql="ccm-atoz-siteproxy/upgrade/::database::-x.y.z-x.y.a.sql"/>
|
||||
</version>
|
||||
-->
|
||||
</upgrade>
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
/*
|
||||
* 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.atoz.siteproxy;
|
||||
|
||||
import com.arsdigita.runtime.AbstractConfig;
|
||||
import com.arsdigita.util.parameter.BooleanParameter;
|
||||
import com.arsdigita.util.parameter.ClassParameter;
|
||||
import com.arsdigita.util.parameter.Parameter;
|
||||
import com.arsdigita.util.parameter.ResourceParameter;
|
||||
|
||||
import com.arsdigita.categorization.ui.ApplicationCategoryPicker;
|
||||
|
||||
import java.io.InputStream;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
/**
|
||||
* This is the configuration file for the AtoZ application
|
||||
*/
|
||||
public class Config extends AbstractConfig {
|
||||
|
||||
/** A logger instance to assist debugging. */
|
||||
private static final Logger s_log = Logger.getLogger(Config.class);
|
||||
|
||||
/** Singelton config object. */
|
||||
private static Config s_conf;
|
||||
|
||||
/**
|
||||
* Gain a Config object.
|
||||
*
|
||||
* Singelton pattern, don't instantiate a config object using the
|
||||
* constructor directly!
|
||||
* @return
|
||||
*/
|
||||
public static synchronized Config getConfig() {
|
||||
if (s_conf == null) {
|
||||
s_conf = new Config();
|
||||
s_conf.load();
|
||||
}
|
||||
|
||||
return s_conf;
|
||||
}
|
||||
|
||||
|
||||
// ///////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// set of configuration parameters
|
||||
|
||||
/** Rules for configuring information in generated XML */
|
||||
private Parameter m_adapters = new ResourceParameter
|
||||
("com.arsdigita.atoz.siteproxy.traversal_adapters",
|
||||
Parameter.REQUIRED,
|
||||
"/WEB-INF/resources/atoz-siteproxy-adapters.xml");
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public Config() {
|
||||
|
||||
register(m_adapters);
|
||||
|
||||
loadInfo();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Provides access to the traversal adapter as stream.
|
||||
* @return
|
||||
*/
|
||||
InputStream getTraversalAdapters() {
|
||||
return (InputStream)get(m_adapters);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
com.arsdigita.atoz.siteproxy.traversal_adapters.title=XML renderer rules
|
||||
com.arsdigita.atoz.siteproxy.traversal_adapters.purpose=Rules for configuring information in generated XML
|
||||
com.arsdigita.atoz.siteproxy.traversal_adapters.format=[string]
|
||||
com.arsdigita.atoz.siteproxy.traversal_adapters.example=/WEB-INF/resources/atoz-siteproxy-adapters.xml
|
||||
|
|
@ -22,8 +22,10 @@ import com.arsdigita.atoz.AtoZ;
|
|||
import com.arsdigita.atoz.AtoZProviderType;
|
||||
import com.arsdigita.atoz.siteproxy.ui.admin.SiteProxyProviderAdmin;
|
||||
import com.arsdigita.atoz.siteproxy.ui.admin.SiteProxyProviderForm;
|
||||
import com.arsdigita.domain.xml.TraversalHandler;
|
||||
import com.arsdigita.runtime.CompoundInitializer;
|
||||
import com.arsdigita.runtime.DomainInitEvent;
|
||||
import com.arsdigita.xml.XML;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -39,10 +41,14 @@ public class Initializer extends CompoundInitializer {
|
|||
public void init(DomainInitEvent evt) {
|
||||
super.init(evt);
|
||||
|
||||
|
||||
XML.parse(Config.getConfig().getTraversalAdapters(),
|
||||
new TraversalHandler());
|
||||
|
||||
AtoZ.registerProviderType(
|
||||
new AtoZProviderType("SiteProxy Provider",
|
||||
"Provides a SiteProxy A-Z",
|
||||
AtoZSiteProxyProvider.class,
|
||||
SiteProxyProvider.class,
|
||||
SiteProxyProviderForm.class,
|
||||
SiteProxyProviderAdmin.class));
|
||||
|
||||
|
|
|
|||
|
|
@ -22,10 +22,6 @@ import com.arsdigita.atoz.AtoZAtomicEntry;
|
|||
import com.arsdigita.atoz.AtoZCompoundEntry;
|
||||
import com.arsdigita.atoz.AtoZEntry;
|
||||
import com.arsdigita.atoz.AtoZProvider;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.arsdigita.cms.CMS;
|
||||
import com.arsdigita.cms.contenttypes.SiteProxy;
|
||||
import com.arsdigita.cms.dispatcher.SiteProxyPanel;
|
||||
|
|
@ -37,10 +33,19 @@ import com.arsdigita.web.URL;
|
|||
import com.arsdigita.web.Web;
|
||||
import com.arsdigita.xml.Element;
|
||||
|
||||
public class AtoZSiteProxyGenerator extends AtoZGeneratorAbstractImpl {
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class SiteProxyGenerator extends AtoZGeneratorAbstractImpl {
|
||||
|
||||
/**
|
||||
* Compound Entry for mathched Categories
|
||||
* Compound Entry for matched Categories
|
||||
*
|
||||
*/
|
||||
private class AtoZCategoriesCompoundEntry implements AtoZCompoundEntry {
|
||||
|
|
@ -62,7 +67,7 @@ public class AtoZSiteProxyGenerator extends AtoZGeneratorAbstractImpl {
|
|||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see com.arsdigita.london.atoz.AtoZCompoundEntry#getEntries()
|
||||
* @see com.arsdigita.atoz.AtoZCompoundEntry#getEntries()
|
||||
*/
|
||||
public AtoZEntry[] getEntries() {
|
||||
return (AtoZEntry[]) entries.toArray(new AtoZEntry[entries.size()]);
|
||||
|
|
@ -71,7 +76,7 @@ public class AtoZSiteProxyGenerator extends AtoZGeneratorAbstractImpl {
|
|||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see com.arsdigita.london.atoz.AtoZEntry#getTitle()
|
||||
* @see com.arsdigita.atoz.AtoZEntry#getTitle()
|
||||
*/
|
||||
public String getTitle() {
|
||||
return m_title;
|
||||
|
|
@ -80,7 +85,7 @@ public class AtoZSiteProxyGenerator extends AtoZGeneratorAbstractImpl {
|
|||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see com.arsdigita.london.atoz.AtoZEntry#getDescription()
|
||||
* @see com.arsdigita.atoz.AtoZEntry#getDescription()
|
||||
*/
|
||||
public String getDescription() {
|
||||
return m_description;
|
||||
|
|
@ -88,7 +93,10 @@ public class AtoZSiteProxyGenerator extends AtoZGeneratorAbstractImpl {
|
|||
|
||||
}
|
||||
|
||||
private class AtoZSiteProxyAtomicEntry implements AtoZAtomicEntry {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private class SiteProxyAtomicEntry implements AtoZAtomicEntry {
|
||||
|
||||
private static final String SITE_PROXY_PANEL_NAME = "cms:siteProxyPanel";
|
||||
|
||||
|
|
@ -98,7 +106,14 @@ public class AtoZSiteProxyGenerator extends AtoZGeneratorAbstractImpl {
|
|||
|
||||
private String m_url;
|
||||
|
||||
public AtoZSiteProxyAtomicEntry(OID oid, String title, String url) {
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param oid
|
||||
* @param title
|
||||
* @param url
|
||||
*/
|
||||
public SiteProxyAtomicEntry(OID oid, String title, String url) {
|
||||
m_oid = oid;
|
||||
m_title = title;
|
||||
m_url = url;
|
||||
|
|
@ -127,7 +142,7 @@ public class AtoZSiteProxyGenerator extends AtoZGeneratorAbstractImpl {
|
|||
return null;
|
||||
|
||||
Element child = new Element(
|
||||
AtoZSiteProxyAtomicEntry.SITE_PROXY_PANEL_NAME,
|
||||
SiteProxyAtomicEntry.SITE_PROXY_PANEL_NAME,
|
||||
CMS.CMS_XML_NS);
|
||||
child.addAttribute("title", m_title);
|
||||
child.addAttribute("oid", m_oid.toString());
|
||||
|
|
@ -145,12 +160,12 @@ public class AtoZSiteProxyGenerator extends AtoZGeneratorAbstractImpl {
|
|||
}
|
||||
}
|
||||
|
||||
public AtoZSiteProxyGenerator(AtoZProvider provider) {
|
||||
public SiteProxyGenerator(AtoZProvider provider) {
|
||||
super(provider);
|
||||
}
|
||||
|
||||
public AtoZEntry[] getEntries(String letter) {
|
||||
AtoZSiteProxyProvider siteProxyProvider = (AtoZSiteProxyProvider) getProvider();
|
||||
SiteProxyProvider siteProxyProvider = (SiteProxyProvider) getProvider();
|
||||
|
||||
DataQuery entries = siteProxyProvider.getAtomicEntries(letter);
|
||||
|
||||
|
|
@ -176,7 +191,7 @@ public class AtoZSiteProxyGenerator extends AtoZGeneratorAbstractImpl {
|
|||
}
|
||||
|
||||
/* create atomic entry */
|
||||
AtoZSiteProxyAtomicEntry atomicEntry = new AtoZSiteProxyAtomicEntry(
|
||||
SiteProxyAtomicEntry atomicEntry = new SiteProxyAtomicEntry(
|
||||
new OID(SiteProxy.BASE_DATA_OBJECT_TYPE, entries.get("id")),
|
||||
(String) entries.get("title"), (String) entries.get("url"));
|
||||
|
||||
|
|
@ -9,37 +9,40 @@ import com.arsdigita.persistence.OID;
|
|||
import com.arsdigita.persistence.SessionManager;
|
||||
import com.arsdigita.util.Assert;
|
||||
|
||||
public class AtoZSiteProxyProvider extends AtoZProvider {
|
||||
public class SiteProxyProvider extends AtoZProvider {
|
||||
|
||||
public static final String BASE_DATA_OBJECT_TYPE = "com.arsdigita.london.atoz.AtoZSiteProxyProvider";
|
||||
public static final String BASE_DATA_OBJECT_TYPE =
|
||||
"com.arsdigita.atoz.siteproxy.SiteProxyProvider";
|
||||
|
||||
public static final String CATEGORY = "category";
|
||||
|
||||
private static final String ATOMIC_SITEPROXY_ENTRIES_QUERY = "com.arsdigita.london.atoz.getAtomicSiteProxyEntries";
|
||||
private static final String ATOMIC_SITEPROXY_ENTRIES_QUERY =
|
||||
"com.arsdigita.atoz.getAtomicSiteProxyEntries";
|
||||
|
||||
public AtoZSiteProxyProvider() {
|
||||
public SiteProxyProvider() {
|
||||
this(BASE_DATA_OBJECT_TYPE);
|
||||
}
|
||||
|
||||
public AtoZSiteProxyProvider(String type) {
|
||||
public SiteProxyProvider(String type) {
|
||||
super(type);
|
||||
}
|
||||
|
||||
public AtoZSiteProxyProvider(DataObject obj) {
|
||||
public SiteProxyProvider(DataObject obj) {
|
||||
super(obj);
|
||||
}
|
||||
|
||||
public AtoZSiteProxyProvider(OID oid) {
|
||||
public SiteProxyProvider(OID oid) {
|
||||
super(oid);
|
||||
}
|
||||
|
||||
public AtoZGenerator getGenerator() {
|
||||
return new AtoZSiteProxyGenerator(this);
|
||||
return new SiteProxyGenerator(this);
|
||||
}
|
||||
|
||||
public static AtoZSiteProxyProvider create(String title,
|
||||
String description, Category category) {
|
||||
AtoZSiteProxyProvider siteProxyProvider = new AtoZSiteProxyProvider();
|
||||
public static SiteProxyProvider create(String title,
|
||||
String description,
|
||||
Category category) {
|
||||
SiteProxyProvider siteProxyProvider = new SiteProxyProvider();
|
||||
siteProxyProvider.setup(title, description, category);
|
||||
return siteProxyProvider;
|
||||
}
|
||||
|
|
@ -25,7 +25,7 @@ import com.arsdigita.bebop.event.FormSubmissionListener;
|
|||
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
|
||||
import com.arsdigita.atoz.AtoZ;
|
||||
import com.arsdigita.atoz.AtoZProvider;
|
||||
import com.arsdigita.atoz.siteproxy.AtoZSiteProxyProvider;
|
||||
import com.arsdigita.atoz.siteproxy.SiteProxyProvider;
|
||||
import com.arsdigita.atoz.ui.admin.ProviderForm;
|
||||
import com.arsdigita.categorization.ui.CategoryPicker;
|
||||
import com.arsdigita.util.Classes;
|
||||
|
|
@ -35,7 +35,7 @@ public class SiteProxyProviderForm extends ProviderForm {
|
|||
private CategoryPicker m_category_picker;
|
||||
|
||||
public SiteProxyProviderForm(ACSObjectSelectionModel provider) {
|
||||
super("siteProxyProvider", AtoZSiteProxyProvider.class, provider);
|
||||
super("siteProxyProvider", SiteProxyProvider.class, provider);
|
||||
|
||||
setMetaDataAttribute("title", "SiteProxy provider properties");
|
||||
}
|
||||
|
|
@ -52,7 +52,7 @@ public class SiteProxyProviderForm extends ProviderForm {
|
|||
|
||||
protected void initWidgets(PageState state, AtoZProvider provider) {
|
||||
super.initWidgets(state, provider);
|
||||
AtoZSiteProxyProvider siteProxyProvider = (AtoZSiteProxyProvider) provider;
|
||||
SiteProxyProvider siteProxyProvider = (SiteProxyProvider) provider;
|
||||
if (siteProxyProvider != null)
|
||||
m_category_picker.setCategory(state, siteProxyProvider
|
||||
.getCategory());
|
||||
|
|
@ -61,7 +61,7 @@ public class SiteProxyProviderForm extends ProviderForm {
|
|||
protected void processWidgets(PageState state, AtoZProvider provider) {
|
||||
super.processWidgets(state, provider);
|
||||
|
||||
AtoZSiteProxyProvider siteProxyProvider = (AtoZSiteProxyProvider) provider;
|
||||
SiteProxyProvider siteProxyProvider = (SiteProxyProvider) provider;
|
||||
|
||||
siteProxyProvider.setCategory(m_category_picker.getCategory(state));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,13 +20,13 @@ model com.arsdigita.atoz;
|
|||
import com.arsdigita.categorization.Category;
|
||||
import com.arsdigita.cms.ContentType;
|
||||
|
||||
object type AtoZCategoryProvider extends AtoZProvider {
|
||||
object type CategoryProvider extends AtoZProvider {
|
||||
Boolean[1..1] isCompound = atoz_cat_provider.is_compound BIT;
|
||||
|
||||
reference key (atoz_cat_provider.provider_id);
|
||||
}
|
||||
|
||||
object type AtoZCategoryAlias {
|
||||
object type CategoryAlias {
|
||||
BigDecimal[1..1] id = atoz_cat_aliases.object_id;
|
||||
|
||||
Category[1..1] category =
|
||||
|
|
@ -39,7 +39,7 @@ object type AtoZCategoryAlias {
|
|||
}
|
||||
|
||||
association {
|
||||
AtoZCategoryProvider[0..n] atozProvider1 = join cat_categories.category_id
|
||||
CategoryProvider[0..n] atozProvider1 = join cat_categories.category_id
|
||||
to atoz_cat_blacklist_map.category_id,
|
||||
join atoz_cat_blacklist_map.provider_id
|
||||
to atoz_cat_provider.provider_id;
|
||||
|
|
@ -50,16 +50,16 @@ association {
|
|||
}
|
||||
|
||||
association {
|
||||
AtoZCategoryProvider[1..1] provider =
|
||||
CategoryProvider[1..1] provider =
|
||||
join atoz_cat_aliases.provider_id
|
||||
to atoz_cat_provider.provider_id;
|
||||
component AtoZCategoryAlias[0..n] aliases =
|
||||
component CategoryAlias[0..n] aliases =
|
||||
join atoz_cat_provider.provider_id
|
||||
to atoz_cat_aliases.provider_id;
|
||||
}
|
||||
|
||||
association {
|
||||
AtoZCategoryProvider[0..n] atozProvider3 = join content_types.type_id
|
||||
CategoryProvider[0..n] atozProvider3 = join content_types.type_id
|
||||
to atoz_cat_ct_blacklist_map.type_id,
|
||||
join atoz_cat_ct_blacklist_map.provider_id
|
||||
to atoz_cat_provider.provider_id;
|
||||
|
|
@ -20,8 +20,8 @@ model com.arsdigita.atoz;
|
|||
import com.arsdigita.cms.ContentItem;
|
||||
import com.arsdigita.kernel.ACSObject;
|
||||
|
||||
object type AtoZItemAlias extends ACSObject {
|
||||
AtoZItemProvider[1..1] atozItemProvider = join atoz_item_aliases.provider_id
|
||||
object type ItemAlias extends ACSObject {
|
||||
ItemProvider[1..1] itemProvider = join atoz_item_aliases.provider_id
|
||||
to atoz_item_provider.provider_id;
|
||||
ContentItem[1..1] contentItem = join atoz_item_aliases.item_id
|
||||
to cms_items.item_id;
|
||||
|
|
@ -19,7 +19,7 @@ model com.arsdigita.atoz;
|
|||
|
||||
import com.arsdigita.categorization.Category;
|
||||
|
||||
object type AtoZItemProvider extends AtoZProvider {
|
||||
object type ItemProvider extends AtoZProvider {
|
||||
Category[1..1] category = join atoz_item_provider.category_id to
|
||||
cat_categories.category_id;
|
||||
String[0..1] loadPaths = atoz_item_provider.load_paths VARCHAR(200);
|
||||
|
|
@ -14,9 +14,10 @@
|
|||
</xrd:adapter>
|
||||
</xrd:context>
|
||||
|
||||
|
||||
<xrd:context name="com.arsdigita.atoz.ui.admin.ProviderDetails">
|
||||
|
||||
<xrd:adapter objectType="com.arsdigita.atoz.AtoZCategoryProvider">
|
||||
<xrd:adapter objectType="com.arsdigita.atoz.CategoryProvider">
|
||||
<xrd:attributes rule="exclude">
|
||||
<xrd:property name="/object/id"/>
|
||||
<xrd:property name="/object/defaultDomainClass"/>
|
||||
|
|
@ -42,7 +43,7 @@
|
|||
</xrd:attributes>
|
||||
</xrd:adapter>
|
||||
-->
|
||||
<xrd:adapter objectType="com.arsdigita.atoz.AtoZItemProvider">
|
||||
<xrd:adapter objectType="com.arsdigita.atoz.ItemProvider">
|
||||
<xrd:attributes rule="exclude">
|
||||
<xrd:property name="/object/id"/>
|
||||
<xrd:property name="/object/defaultDomainClass"/>
|
||||
|
|
@ -106,7 +107,7 @@
|
|||
</xrd:attributes>
|
||||
</xrd:adapter>
|
||||
|
||||
<xrd:adapter objectType="com.arsdigita.atoz.AtoZCategoryAlias">
|
||||
<xrd:adapter objectType="com.arsdigita.atoz.CategoryAlias">
|
||||
<xrd:attributes rule="exclude">
|
||||
<xrd:property name="/object/id"/>
|
||||
<xrd:property name="/object/objectType"/>
|
||||
|
|
@ -128,7 +129,7 @@
|
|||
</xrd:attributes>
|
||||
</xrd:adapter>
|
||||
|
||||
<xrd:adapter objectType="com.arsdigita.atoz.AtoZItemAlias">
|
||||
<xrd:adapter objectType="com.arsdigita.atoz.ItemAlias">
|
||||
<xrd:attributes rule="exclude">
|
||||
<!--
|
||||
<xrd:property name="/object/id"/>
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import com.arsdigita.util.parameter.ClassParameter;
|
|||
import com.arsdigita.util.parameter.Parameter;
|
||||
import com.arsdigita.util.parameter.ResourceParameter;
|
||||
|
||||
import com.arsdigita.london.util.ui.ApplicationCategoryPicker;
|
||||
import com.arsdigita.categorization.ui.ApplicationCategoryPicker;
|
||||
|
||||
import java.io.InputStream;
|
||||
|
||||
|
|
@ -86,6 +86,9 @@ public class AtoZConfig extends AbstractConfig {
|
|||
Parameter.OPTIONAL,
|
||||
Boolean.FALSE);
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public AtoZConfig() {
|
||||
|
||||
register(m_adapters);
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
com.arsdigita.london.atoz.traversal_adapters.title=XML renderer rules
|
||||
com.arsdigita.london.atoz.traversal_adapters.purpose=Rules for configuring information in generated XML
|
||||
com.arsdigita.london.atoz.traversal_adapters.format=[string]
|
||||
com.arsdigita.london.atoz.traversal_adapters.example=/WEB-INF/resources/atoz-adapters.xml
|
||||
com.arsdigita.atoz.traversal_adapters.title=XML renderer rules
|
||||
com.arsdigita.atoz.traversal_adapters.purpose=Rules for configuring information in generated XML
|
||||
com.arsdigita.atoz.traversal_adapters.format=[string]
|
||||
com.arsdigita.atoz.traversal_adapters.example=/WEB-INF/resources/atoz-adapters.xml
|
||||
|
||||
com.arsdigita.london.atoz.root_category_picker.title=Root Category Picker
|
||||
com.arsdigita.london.atoz.root_category_picker.purpose=The UI widget for the Root Category Picker
|
||||
com.arsdigita.london.atoz.root_category_picker.format=[class]
|
||||
com.arsdigita.london.atoz.root_category_picker.example=com.arsdigita.london.util.ui.ApplicationCategoryPicker
|
||||
com.arsdigita.atoz.root_category_picker.title=Root Category Picker
|
||||
com.arsdigita.atoz.root_category_picker.purpose=The UI widget for the Root Category Picker
|
||||
com.arsdigita.atoz.root_category_picker.format=[class]
|
||||
com.arsdigita.atoz.root_category_picker.example=com.arsdigita.london.util.ui.ApplicationCategoryPicker
|
||||
|
||||
com.arsdigita.london.atoz.use_subsite_specific_navigation_category.title=Make AtoZ use subsite-specific navigation categories
|
||||
com.arsdigita.london.atoz.use_subsite_specific_navigation_category.purpose=Set this to yes, and the AtoZ will use the subsite-specific navigation categories if you define *any* CategoryProvider
|
||||
com.arsdigita.london.atoz.use_subsite_specific_navigation_category.format=[boolean]
|
||||
com.arsdigita.london.atoz.use_subsite_specific_navigation_category.example=true
|
||||
com.arsdigita.atoz.use_subsite_specific_navigation_category.title=Make AtoZ use subsite-specific navigation categories
|
||||
com.arsdigita.atoz.use_subsite_specific_navigation_category.purpose=Set this to yes, and the AtoZ will use the subsite-specific navigation categories if you define *any* CategoryProvider
|
||||
com.arsdigita.atoz.use_subsite_specific_navigation_category.format=[boolean]
|
||||
com.arsdigita.atoz.use_subsite_specific_navigation_category.example=true
|
||||
|
||||
com.arsdigita.london.atoz.filterCategoryProviders.title=To filter out category without published items
|
||||
com.arsdigita.london.atoz.filterCategoryProviders.purpose=if TRUE, the AtoZ category providers will only return Categories with published items
|
||||
com.arsdigita.london.atoz.filterCategoryProviders.format=[boolean]
|
||||
com.arsdigita.london.atoz.filterCategoryProviders.example=false
|
||||
com.arsdigita.atoz.filterCategoryProviders.title=To filter out category without published items
|
||||
com.arsdigita.atoz.filterCategoryProviders.purpose=if TRUE, the AtoZ category providers will only return Categories with published items
|
||||
com.arsdigita.atoz.filterCategoryProviders.format=[boolean]
|
||||
com.arsdigita.atoz.filterCategoryProviders.example=false
|
||||
|
|
@ -18,11 +18,6 @@
|
|||
|
||||
package com.arsdigita.atoz;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.arsdigita.categorization.Category;
|
||||
import com.arsdigita.db.Sequences;
|
||||
import com.arsdigita.domain.DomainObject;
|
||||
|
|
@ -30,15 +25,22 @@ import com.arsdigita.persistence.DataObject;
|
|||
import com.arsdigita.persistence.OID;
|
||||
import com.arsdigita.persistence.PersistenceException;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class AtoZCategoryAlias extends DomainObject {
|
||||
private static final Logger s_log = Logger.getLogger(AtoZCategoryAlias.class);
|
||||
public class CategoryAlias extends DomainObject {
|
||||
|
||||
/** Creates a s_logging category with name = to the full name of class */
|
||||
private static final Logger s_log = Logger.getLogger(CategoryAlias.class);
|
||||
|
||||
public static final String BASE_DATA_OBJECT_TYPE =
|
||||
"com.arsdigita.atoz.AtoZCategoryAlias";
|
||||
"com.arsdigita.atoz.CategoryAlias";
|
||||
|
||||
public static final String ID = "id";
|
||||
public static final String PROVIDER = "provider";
|
||||
|
|
@ -46,19 +48,19 @@ public class AtoZCategoryAlias extends DomainObject {
|
|||
public static final String LETTER = "letter";
|
||||
public static final String TITLE = "title";
|
||||
|
||||
public AtoZCategoryAlias() {
|
||||
public CategoryAlias() {
|
||||
this(BASE_DATA_OBJECT_TYPE);
|
||||
}
|
||||
|
||||
protected AtoZCategoryAlias(String type) {
|
||||
protected CategoryAlias(String type) {
|
||||
super(type);
|
||||
}
|
||||
|
||||
public AtoZCategoryAlias(DataObject obj) {
|
||||
public CategoryAlias(DataObject obj) {
|
||||
super(obj);
|
||||
}
|
||||
|
||||
public AtoZCategoryAlias(OID oid) {
|
||||
public CategoryAlias(OID oid) {
|
||||
super(oid);
|
||||
}
|
||||
|
||||
|
|
@ -71,6 +73,7 @@ public class AtoZCategoryAlias extends DomainObject {
|
|||
/**
|
||||
* Called from base class (DomainObject) constructors.
|
||||
*/
|
||||
@Override
|
||||
protected void initialize() {
|
||||
super.initialize();
|
||||
|
||||
|
|
@ -78,8 +81,8 @@ public class AtoZCategoryAlias extends DomainObject {
|
|||
set(ID, generateID());
|
||||
}
|
||||
|
||||
public AtoZCategoryProvider getProvider() {
|
||||
return (AtoZCategoryProvider)get(PROVIDER);
|
||||
public CategoryProvider getProvider() {
|
||||
return (CategoryProvider)get(PROVIDER);
|
||||
}
|
||||
|
||||
public Category getCategory() {
|
||||
|
|
@ -33,19 +33,19 @@ import java.util.ArrayList;
|
|||
*
|
||||
*
|
||||
*/
|
||||
public class AtoZCategoryGenerator extends AtoZGeneratorAbstractImpl {
|
||||
public class CategoryGenerator extends AtoZGeneratorAbstractImpl {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param provider
|
||||
*/
|
||||
public AtoZCategoryGenerator(AtoZCategoryProvider provider) {
|
||||
public CategoryGenerator(CategoryProvider provider) {
|
||||
super(provider);
|
||||
}
|
||||
|
||||
public AtoZEntry[] getEntries(String letter) {
|
||||
AtoZCategoryProvider provider = (AtoZCategoryProvider) getProvider();
|
||||
CategoryProvider provider = (CategoryProvider) getProvider();
|
||||
|
||||
DataQuery entries = provider.getAtomicEntries();
|
||||
Filter f = entries.addFilter("sortKey like :sortKey");
|
||||
|
|
@ -54,22 +54,28 @@ public class AtoZCategoryGenerator extends AtoZGeneratorAbstractImpl {
|
|||
|
||||
List l = new ArrayList();
|
||||
while (entries.next()) {
|
||||
l.add(new AtoZCategoryAtomicEntry(new OID((String) entries
|
||||
.get("objectType"), entries.get("id")), (String) entries
|
||||
.get("title"), (String) entries.get("description")));
|
||||
l.add(new CategoryAtomicEntry(new OID(
|
||||
(String) entries.get("objectType"),
|
||||
entries.get("id")),
|
||||
(String) entries.get("title"),
|
||||
(String) entries.get("description"))
|
||||
);
|
||||
}
|
||||
|
||||
return (AtoZEntry[]) l.toArray(new AtoZEntry[l.size()]);
|
||||
}
|
||||
|
||||
private class AtoZCategoryAtomicEntry implements AtoZAtomicEntry {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private class CategoryAtomicEntry implements AtoZAtomicEntry {
|
||||
private OID m_oid;
|
||||
|
||||
private String m_title;
|
||||
|
||||
private String m_description;
|
||||
|
||||
public AtoZCategoryAtomicEntry(OID oid, String title, String description) {
|
||||
public CategoryAtomicEntry(OID oid, String title, String description) {
|
||||
m_oid = oid;
|
||||
m_title = title;
|
||||
m_description = description;
|
||||
|
|
@ -38,14 +38,14 @@ import org.apache.log4j.Logger;
|
|||
*
|
||||
*
|
||||
*/
|
||||
public class AtoZCategoryProvider extends AtoZProvider {
|
||||
public class CategoryProvider extends AtoZProvider {
|
||||
|
||||
/** Private logger instance to assist debugging. */
|
||||
private static final Logger s_log =
|
||||
Logger.getLogger(AtoZCategoryProvider.class);
|
||||
Logger.getLogger(CategoryProvider.class);
|
||||
|
||||
public static final String BASE_DATA_OBJECT_TYPE =
|
||||
"com.arsdigita.atoz.AtoZCategoryProvider";
|
||||
"com.arsdigita.atoz.CategoryProvider";
|
||||
|
||||
public static final String IS_COMPOUND = "isCompound";
|
||||
|
||||
|
|
@ -77,7 +77,7 @@ public class AtoZCategoryProvider extends AtoZProvider {
|
|||
/**
|
||||
*
|
||||
*/
|
||||
public AtoZCategoryProvider() {
|
||||
public CategoryProvider() {
|
||||
this(BASE_DATA_OBJECT_TYPE);
|
||||
}
|
||||
|
||||
|
|
@ -85,15 +85,15 @@ public class AtoZCategoryProvider extends AtoZProvider {
|
|||
* Constructor
|
||||
* @param type
|
||||
*/
|
||||
protected AtoZCategoryProvider(String type) {
|
||||
protected CategoryProvider(String type) {
|
||||
super(type);
|
||||
}
|
||||
|
||||
public AtoZCategoryProvider(DataObject obj) {
|
||||
public CategoryProvider(DataObject obj) {
|
||||
super(obj);
|
||||
}
|
||||
|
||||
public AtoZCategoryProvider(OID oid) {
|
||||
public CategoryProvider(OID oid) {
|
||||
super(oid);
|
||||
}
|
||||
|
||||
|
|
@ -104,9 +104,17 @@ public class AtoZCategoryProvider extends AtoZProvider {
|
|||
super.delete();
|
||||
}
|
||||
|
||||
public static AtoZCategoryProvider create(String title, String description,
|
||||
/**
|
||||
*
|
||||
* @param title
|
||||
* @param description
|
||||
* @param isCompound
|
||||
* @return
|
||||
*/
|
||||
public static CategoryProvider create(String title,
|
||||
String description,
|
||||
boolean isCompound) {
|
||||
AtoZCategoryProvider provider = new AtoZCategoryProvider();
|
||||
CategoryProvider provider = new CategoryProvider();
|
||||
provider.setup(title, description, isCompound);
|
||||
return provider;
|
||||
}
|
||||
|
|
@ -125,12 +133,12 @@ public class AtoZCategoryProvider extends AtoZProvider {
|
|||
}
|
||||
|
||||
public void addAlias(Category cat, String letter, String title) {
|
||||
AtoZCategoryAlias alias = new AtoZCategoryAlias();
|
||||
CategoryAlias alias = new CategoryAlias();
|
||||
alias.setup(cat, letter, title);
|
||||
add(ALIASES, alias);
|
||||
}
|
||||
|
||||
public void removeAlias(AtoZCategoryAlias alias) {
|
||||
public void removeAlias(CategoryAlias alias) {
|
||||
remove(ALIASES, alias);
|
||||
}
|
||||
|
||||
|
|
@ -212,7 +220,7 @@ public class AtoZCategoryProvider extends AtoZProvider {
|
|||
}
|
||||
|
||||
public AtoZGenerator getGenerator() {
|
||||
return new AtoZCategoryGenerator(this);
|
||||
return new CategoryGenerator(this);
|
||||
}
|
||||
|
||||
public void addContentTypeBlock(ContentType contentType) {
|
||||
|
|
@ -81,10 +81,10 @@ public class Initializer extends CompoundInitializer {
|
|||
|
||||
|
||||
DomainObjectFactory f = evt.getFactory();
|
||||
f.registerInstantiator(AtoZCategoryAlias.BASE_DATA_OBJECT_TYPE,
|
||||
f.registerInstantiator(CategoryAlias.BASE_DATA_OBJECT_TYPE,
|
||||
new DomainObjectInstantiator() {
|
||||
protected DomainObject doNewInstance(DataObject dataObject) {
|
||||
return new AtoZCategoryAlias(dataObject);
|
||||
return new CategoryAlias(dataObject);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -96,14 +96,14 @@ public class Initializer extends CompoundInitializer {
|
|||
AtoZ.registerProviderType(
|
||||
new AtoZProviderType("Item Provider",
|
||||
"Provides an item A-Z",
|
||||
AtoZItemProvider.class,
|
||||
ItemProvider.class,
|
||||
ItemProviderForm.class,
|
||||
ItemProviderAdmin.class));
|
||||
|
||||
AtoZ.registerProviderType(
|
||||
new AtoZProviderType("Category Provider",
|
||||
"Provides a category A-Z",
|
||||
AtoZCategoryProvider.class,
|
||||
CategoryProvider.class,
|
||||
CategoryProviderForm.class,
|
||||
CategoryProviderAdmin.class));
|
||||
|
||||
|
|
|
|||
|
|
@ -27,40 +27,60 @@ import com.arsdigita.util.Assert;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
|
||||
public class AtoZItemAlias extends ACSObject {
|
||||
public class ItemAlias extends ACSObject {
|
||||
|
||||
private static final Logger s_log = Logger.getLogger(AtoZItemAlias.class);
|
||||
private static final Logger s_log = Logger.getLogger(ItemAlias.class);
|
||||
|
||||
public static final String BASE_DATA_OBJECT_TYPE = AtoZItemAlias.class.getName();
|
||||
public static final String BASE_DATA_OBJECT_TYPE = ItemAlias.class.getName();
|
||||
|
||||
public static final String TITLE = "title";
|
||||
public static final String LETTER = "letter";
|
||||
public static final String ATOZ_ITEM_PROVIDER = "atozItemProvider";
|
||||
public static final String ITEM_PROVIDER = "itemProvider";
|
||||
public static final String CONTENT_ITEM = "contentItem";
|
||||
|
||||
public AtoZItemAlias() {
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public ItemAlias() {
|
||||
this(BASE_DATA_OBJECT_TYPE);
|
||||
}
|
||||
|
||||
public AtoZItemAlias(String type) {
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public ItemAlias(String type) {
|
||||
super(type);
|
||||
}
|
||||
|
||||
public AtoZItemAlias(DataObject obj) {
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public ItemAlias(DataObject obj) {
|
||||
super(obj);
|
||||
}
|
||||
|
||||
public AtoZItemAlias(OID oid) {
|
||||
/**
|
||||
* Constructor
|
||||
* @param oid
|
||||
*/
|
||||
public ItemAlias(OID oid) {
|
||||
super(oid);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param title
|
||||
* @param letter
|
||||
* @param itemProvider
|
||||
* @param contentItem
|
||||
*/
|
||||
protected void setup(String title,
|
||||
String letter,
|
||||
AtoZItemProvider atozItemProvider,
|
||||
ItemProvider itemProvider,
|
||||
ContentItem contentItem) {
|
||||
setTitle(title);
|
||||
setLetter(letter);
|
||||
setAtoZItemProvider(atozItemProvider);
|
||||
setItemProvider(itemProvider);
|
||||
setContentItem(contentItem);
|
||||
}
|
||||
|
||||
|
|
@ -81,16 +101,16 @@ public class AtoZItemAlias extends ACSObject {
|
|||
set(LETTER, letter);
|
||||
}
|
||||
|
||||
public void setAtoZItemProvider(AtoZItemProvider atozItemProvider) {
|
||||
Assert.exists(atozItemProvider, AtoZItemProvider.class);
|
||||
set(ATOZ_ITEM_PROVIDER, atozItemProvider );
|
||||
public void setItemProvider(ItemProvider itemProvider) {
|
||||
Assert.exists(itemProvider, ItemProvider.class);
|
||||
set(ITEM_PROVIDER, itemProvider );
|
||||
}
|
||||
|
||||
public AtoZItemProvider getAtoZItemProvider() {
|
||||
if (get(ATOZ_ITEM_PROVIDER) == null) {
|
||||
public ItemProvider getItemProvider() {
|
||||
if (get(ITEM_PROVIDER) == null) {
|
||||
return null;
|
||||
} else {
|
||||
return new AtoZItemProvider((DataObject) get(ATOZ_ITEM_PROVIDER));
|
||||
return new ItemProvider((DataObject) get(ITEM_PROVIDER));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -34,14 +34,18 @@ import java.math.BigDecimal;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class AtoZItemGenerator extends AtoZGeneratorAbstractImpl {
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class ItemGenerator extends AtoZGeneratorAbstractImpl {
|
||||
|
||||
public AtoZItemGenerator(AtoZItemProvider provider) {
|
||||
public ItemGenerator(ItemProvider provider) {
|
||||
super(provider);
|
||||
}
|
||||
|
||||
public AtoZEntry[] getEntries(String letter) {
|
||||
AtoZItemProvider provider = (AtoZItemProvider) getProvider();
|
||||
ItemProvider provider = (ItemProvider) getProvider();
|
||||
|
||||
DataQuery entries = provider.getAtomicEntries();
|
||||
Filter f = entries.addFilter("sortKey like :sortKey");
|
||||
|
|
@ -82,7 +86,7 @@ public class AtoZItemGenerator extends AtoZGeneratorAbstractImpl {
|
|||
if (title.equals("")) {
|
||||
title = live.getDisplayName();
|
||||
}
|
||||
l.add(new AtoZItemAtomicEntry(live.getOID(), title,
|
||||
l.add(new ItemAtomicEntry(live.getOID(), title,
|
||||
description));
|
||||
}
|
||||
}
|
||||
|
|
@ -92,14 +96,18 @@ public class AtoZItemGenerator extends AtoZGeneratorAbstractImpl {
|
|||
return (AtoZEntry[]) l.toArray(new AtoZEntry[l.size()]);
|
||||
}
|
||||
|
||||
private class AtoZItemAtomicEntry implements AtoZAtomicEntry {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private class ItemAtomicEntry implements AtoZAtomicEntry {
|
||||
private OID m_oid;
|
||||
|
||||
private String m_title;
|
||||
|
||||
private String m_description;
|
||||
|
||||
public AtoZItemAtomicEntry(OID oid, String title, String description) {
|
||||
public ItemAtomicEntry(OID oid, String title, String description) {
|
||||
m_oid = oid;
|
||||
m_title = title;
|
||||
m_description = description;
|
||||
|
|
@ -28,10 +28,14 @@ import com.arsdigita.util.Assert;
|
|||
import com.arsdigita.categorization.Category;
|
||||
|
||||
|
||||
public class AtoZItemProvider extends AtoZProvider {
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class ItemProvider extends AtoZProvider {
|
||||
|
||||
public static final String BASE_DATA_OBJECT_TYPE =
|
||||
"com.arsdigita.atoz.AtoZItemProvider";
|
||||
"com.arsdigita.atoz.ItemProvider";
|
||||
|
||||
public static final String CATEGORY = "category";
|
||||
public static final String LOAD_PATHS = "loadPaths";
|
||||
|
|
@ -39,26 +43,38 @@ public class AtoZItemProvider extends AtoZProvider {
|
|||
public static final String ATOMIC_ENTRIES =
|
||||
"com.arsdigita.atoz.getAtomicItemEntries";
|
||||
|
||||
public AtoZItemProvider() {
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public ItemProvider() {
|
||||
this(BASE_DATA_OBJECT_TYPE);
|
||||
}
|
||||
|
||||
protected AtoZItemProvider(String type) {
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
protected ItemProvider(String type) {
|
||||
super(type);
|
||||
}
|
||||
|
||||
public AtoZItemProvider(DataObject obj) {
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public ItemProvider(DataObject obj) {
|
||||
super(obj);
|
||||
}
|
||||
|
||||
public AtoZItemProvider(OID oid) {
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public ItemProvider(OID oid) {
|
||||
super(oid);
|
||||
}
|
||||
|
||||
public static AtoZItemProvider create(String title,
|
||||
public static ItemProvider create(String title,
|
||||
String description,
|
||||
Category category) {
|
||||
AtoZItemProvider provider = new AtoZItemProvider();
|
||||
ItemProvider provider = new ItemProvider();
|
||||
provider.setup(title, description, category);
|
||||
return provider;
|
||||
}
|
||||
|
|
@ -87,24 +103,40 @@ public class AtoZItemProvider extends AtoZProvider {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public DomainCollection getAliases() {
|
||||
DomainCollection aliases = new DomainCollection(SessionManager.getSession()
|
||||
.retrieve(AtoZItemAlias.BASE_DATA_OBJECT_TYPE));
|
||||
aliases.addFilter("atozItemProvider = :providerId").set("providerId", getID());
|
||||
.retrieve(ItemAlias.BASE_DATA_OBJECT_TYPE));
|
||||
aliases.addFilter("itemProvider = :providerId").set("providerId", getID());
|
||||
aliases.addOrder("title");
|
||||
return aliases;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param loadPaths
|
||||
*/
|
||||
public void setLoadPaths( String loadPaths ) {
|
||||
set( LOAD_PATHS, loadPaths );
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public String getLoadPaths() {
|
||||
return (String) get( LOAD_PATHS );
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public AtoZGenerator getGenerator() {
|
||||
return new AtoZItemGenerator(this);
|
||||
return new ItemGenerator(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -16,8 +16,9 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
package com.arsdigita.atoz;
|
||||
package com.arsdigita.atoz.tools;
|
||||
|
||||
import com.arsdigita.atoz.AtoZ;
|
||||
import com.arsdigita.domain.DomainObject;
|
||||
import com.arsdigita.domain.DomainObjectFactory;
|
||||
import com.arsdigita.domain.DomainObjectInstantiator;
|
||||
|
|
@ -38,14 +39,15 @@ import org.apache.log4j.Logger;
|
|||
* Usually Loader creates a (default) application instance.
|
||||
*
|
||||
*/
|
||||
public class AddAtoZ extends Program {
|
||||
public class AtoZCreator extends Program {
|
||||
|
||||
private static final Logger LOG = Logger.getLogger(AddAtoZ.class);
|
||||
/** A logger instance to assist debugging. */
|
||||
private static final Logger s_log = Logger.getLogger(AtoZCreator.class);
|
||||
|
||||
/**
|
||||
* Default Constructor
|
||||
*/
|
||||
public AddAtoZ() {
|
||||
public AtoZCreator() {
|
||||
super("Add AtoZ instance", "1.0.0", "URL-FRAGMENT TITLE");
|
||||
}
|
||||
|
||||
|
|
@ -105,7 +107,7 @@ public class AddAtoZ extends Program {
|
|||
* @param args
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
new AddAtoZ().run(args);
|
||||
new AtoZCreator().run(args);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -18,13 +18,13 @@
|
|||
|
||||
package com.arsdigita.atoz.ui.admin;
|
||||
|
||||
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
|
||||
import com.arsdigita.bebop.event.ActionListener;
|
||||
import com.arsdigita.bebop.event.ActionEvent;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.bebop.ActionLink;
|
||||
import com.arsdigita.bebop.Page;
|
||||
import com.arsdigita.bebop.Component;
|
||||
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -56,6 +56,10 @@ public class CategoryProviderAdmin extends ProviderAdmin {
|
|||
|
||||
private ActionLink m_addAlias;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param provider
|
||||
*/
|
||||
public CategoryProviderAdmin(ACSObjectSelectionModel provider) {
|
||||
super("categoryProviderAdmin", provider);
|
||||
|
||||
|
|
@ -108,6 +112,7 @@ public class CategoryProviderAdmin extends ProviderAdmin {
|
|||
m_aliasForm.addCompletionListener(new CategoryAliasComplete());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void register(Page p) {
|
||||
super.register(p);
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ import com.arsdigita.bebop.parameters.NotNullValidationListener;
|
|||
import com.arsdigita.bebop.parameters.StringInRangeValidationListener;
|
||||
import com.arsdigita.categorization.Category;
|
||||
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
|
||||
import com.arsdigita.atoz.AtoZCategoryProvider;
|
||||
import com.arsdigita.atoz.CategoryProvider;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -111,7 +111,7 @@ public class CategoryProviderAliasForm extends Form {
|
|||
throws FormProcessException {
|
||||
PageState state = e.getPageState();
|
||||
|
||||
AtoZCategoryProvider provider = (AtoZCategoryProvider)m_provider
|
||||
CategoryProvider provider = (CategoryProvider)m_provider
|
||||
.getSelectedObject(state);
|
||||
|
||||
Category cat = new Category(((BigDecimal[])m_termWidget.getValue(state))[0]);
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@ import com.arsdigita.bebop.SimpleContainer;
|
|||
import com.arsdigita.bebop.PageState;
|
||||
|
||||
import com.arsdigita.atoz.AtoZ;
|
||||
import com.arsdigita.atoz.AtoZCategoryAlias;
|
||||
import com.arsdigita.atoz.AtoZCategoryProvider;
|
||||
import com.arsdigita.atoz.CategoryAlias;
|
||||
import com.arsdigita.atoz.CategoryProvider;
|
||||
|
||||
import com.arsdigita.domain.DomainObjectXMLRenderer;
|
||||
import com.arsdigita.domain.DomainCollection;
|
||||
|
|
@ -55,10 +55,10 @@ public class CategoryProviderAliasList extends SimpleContainer {
|
|||
String value = state.getControlEventValue();
|
||||
|
||||
if (DELETE.equals(key)) {
|
||||
AtoZCategoryAlias alias = (AtoZCategoryAlias)DomainObjectFactory
|
||||
CategoryAlias alias = (CategoryAlias)DomainObjectFactory
|
||||
.newInstance(OID.valueOf(value));
|
||||
|
||||
AtoZCategoryProvider provider = (AtoZCategoryProvider)
|
||||
CategoryProvider provider = (CategoryProvider)
|
||||
m_provider.getSelectedObject(state);
|
||||
provider.removeAlias(alias);
|
||||
}
|
||||
|
|
@ -70,12 +70,12 @@ public class CategoryProviderAliasList extends SimpleContainer {
|
|||
Element content = AtoZ.newElement("categoryProviderAliasList");
|
||||
exportAttributes(content);
|
||||
|
||||
AtoZCategoryProvider provider = (AtoZCategoryProvider)
|
||||
CategoryProvider provider = (CategoryProvider)
|
||||
m_provider.getSelectedObject(state);
|
||||
|
||||
DomainCollection entries = provider.getAliases();
|
||||
while (entries.next()) {
|
||||
AtoZCategoryAlias alias = (AtoZCategoryAlias)entries.getDomainObject();
|
||||
CategoryAlias alias = (CategoryAlias)entries.getDomainObject();
|
||||
Element el = AtoZ.newElement("categoryProviderAlias");
|
||||
el.addAttribute("letter", XML.format(alias.getLetter()));
|
||||
el.addAttribute("title", XML.format(alias.getTitle()));
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import com.arsdigita.bebop.SimpleContainer;
|
|||
import com.arsdigita.bebop.PageState;
|
||||
|
||||
import com.arsdigita.atoz.AtoZ;
|
||||
import com.arsdigita.atoz.AtoZCategoryProvider;
|
||||
import com.arsdigita.atoz.CategoryProvider;
|
||||
|
||||
import com.arsdigita.domain.DomainObjectXMLRenderer;
|
||||
import com.arsdigita.domain.DomainCollection;
|
||||
|
|
@ -59,7 +59,7 @@ public class CategoryProviderBlackList extends SimpleContainer {
|
|||
Category cat = (Category)DomainObjectFactory
|
||||
.newInstance(OID.valueOf(value));
|
||||
|
||||
AtoZCategoryProvider provider = (AtoZCategoryProvider)
|
||||
CategoryProvider provider = (CategoryProvider)
|
||||
m_provider.getSelectedObject(state);
|
||||
provider.removeBlock(cat);
|
||||
}
|
||||
|
|
@ -72,7 +72,7 @@ public class CategoryProviderBlackList extends SimpleContainer {
|
|||
Element content = AtoZ.newElement("categoryProviderBlackList");
|
||||
exportAttributes(content);
|
||||
|
||||
AtoZCategoryProvider provider = (AtoZCategoryProvider)
|
||||
CategoryProvider provider = (CategoryProvider)
|
||||
m_provider.getSelectedObject(state);
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
package com.arsdigita.atoz.ui.admin;
|
||||
|
||||
import com.arsdigita.atoz.AtoZCategoryProvider;
|
||||
import com.arsdigita.atoz.CategoryProvider;
|
||||
import com.arsdigita.categorization.ui.ObjectCategoryPicker;
|
||||
|
||||
import com.arsdigita.bebop.PageState;
|
||||
|
|
@ -97,7 +97,7 @@ public class CategoryProviderBlockForm extends Form {
|
|||
throws FormProcessException {
|
||||
PageState state = e.getPageState();
|
||||
|
||||
AtoZCategoryProvider provider = (AtoZCategoryProvider)m_provider
|
||||
CategoryProvider provider = (CategoryProvider)m_provider
|
||||
.getSelectedObject(state);
|
||||
|
||||
Category cat = m_category.getCategory(state);
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ import com.arsdigita.domain.DomainObjectFactory;
|
|||
import com.arsdigita.domain.DomainObjectXMLRenderer;
|
||||
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
|
||||
import com.arsdigita.atoz.AtoZ;
|
||||
import com.arsdigita.atoz.AtoZCategoryProvider;
|
||||
import com.arsdigita.atoz.CategoryProvider;
|
||||
import com.arsdigita.persistence.OID;
|
||||
import com.arsdigita.util.UncheckedWrapperException;
|
||||
import com.arsdigita.xml.Element;
|
||||
|
|
@ -53,7 +53,7 @@ public class CategoryProviderContentTypeBlacklist extends SimpleContainer {
|
|||
ContentType contentType = (ContentType) DomainObjectFactory
|
||||
.newInstance(OID.valueOf(value));
|
||||
|
||||
AtoZCategoryProvider provider = (AtoZCategoryProvider) m_provider
|
||||
CategoryProvider provider = (CategoryProvider) m_provider
|
||||
.getSelectedObject(state);
|
||||
provider.removeContentTypeBlock(contentType);
|
||||
}
|
||||
|
|
@ -64,7 +64,7 @@ public class CategoryProviderContentTypeBlacklist extends SimpleContainer {
|
|||
.newElement("categoryProviderContentTypeBlackList");
|
||||
exportAttributes(content);
|
||||
|
||||
AtoZCategoryProvider provider = (AtoZCategoryProvider) m_provider
|
||||
CategoryProvider provider = (CategoryProvider) m_provider
|
||||
.getSelectedObject(state);
|
||||
|
||||
DomainCollection entries = provider.getContentTypeBlackList();
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ import com.arsdigita.cms.ContentType;
|
|||
import com.arsdigita.cms.ContentTypeCollection;
|
||||
import com.arsdigita.domain.DomainObjectFactory;
|
||||
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
|
||||
import com.arsdigita.atoz.AtoZCategoryProvider;
|
||||
import com.arsdigita.atoz.CategoryProvider;
|
||||
import com.arsdigita.persistence.OID;
|
||||
import com.arsdigita.util.UncheckedWrapperException;
|
||||
|
||||
|
|
@ -119,7 +119,7 @@ public class CategoryProviderContentTypeBlockForm extends Form {
|
|||
public void process(FormSectionEvent e) throws FormProcessException {
|
||||
PageState state = e.getPageState();
|
||||
|
||||
AtoZCategoryProvider provider = (AtoZCategoryProvider) m_provider
|
||||
CategoryProvider provider = (CategoryProvider) m_provider
|
||||
.getSelectedObject(state);
|
||||
|
||||
BigDecimal contentTypeID = (BigDecimal) m_type_picker
|
||||
|
|
|
|||
|
|
@ -20,13 +20,13 @@ package com.arsdigita.atoz.ui.admin;
|
|||
|
||||
import com.arsdigita.atoz.AtoZ;
|
||||
import com.arsdigita.atoz.AtoZProvider;
|
||||
import com.arsdigita.atoz.AtoZCategoryProvider;
|
||||
import com.arsdigita.atoz.CategoryProvider;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.bebop.SimpleComponent;
|
||||
import com.arsdigita.bebop.form.CheckboxGroup;
|
||||
import com.arsdigita.categorization.Category;
|
||||
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
|
||||
import com.arsdigita.categorization.ui.CategoryPicker;
|
||||
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
|
||||
import com.arsdigita.util.Classes;
|
||||
|
||||
|
||||
|
|
@ -41,7 +41,7 @@ public class CategoryProviderForm extends ProviderForm {
|
|||
|
||||
public CategoryProviderForm(ACSObjectSelectionModel provider) {
|
||||
super("categoryProvider",
|
||||
AtoZCategoryProvider.class, provider);
|
||||
CategoryProvider.class, provider);
|
||||
|
||||
setMetaDataAttribute("title", "Category provider properties");
|
||||
}
|
||||
|
|
@ -68,7 +68,7 @@ public class CategoryProviderForm extends ProviderForm {
|
|||
AtoZProvider provider) {
|
||||
super.processWidgets(state, provider);
|
||||
|
||||
AtoZCategoryProvider myprovider = (AtoZCategoryProvider)provider;
|
||||
CategoryProvider myprovider = (CategoryProvider)provider;
|
||||
myprovider.setCompound(false);
|
||||
//myprovider.setCompound(Boolean.TRUE.equals(m_compound.getValue(state)));
|
||||
|
||||
|
|
@ -81,7 +81,7 @@ public class CategoryProviderForm extends ProviderForm {
|
|||
AtoZProvider provider) {
|
||||
super.initWidgets(state, provider);
|
||||
|
||||
AtoZCategoryProvider myprovider = (AtoZCategoryProvider)provider;
|
||||
CategoryProvider myprovider = (CategoryProvider)provider;
|
||||
if (provider != null) {
|
||||
//m_compound.setValue(state, new Boolean(myprovider.isCompound()));
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,10 @@ import com.arsdigita.bebop.ActionLink;
|
|||
import com.arsdigita.bebop.Page;
|
||||
import com.arsdigita.bebop.Component;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class ItemProviderAdmin extends ProviderAdmin {
|
||||
|
||||
private ItemProviderForm m_detailsForm;
|
||||
|
|
@ -36,6 +40,10 @@ public class ItemProviderAdmin extends ProviderAdmin {
|
|||
private ItemProviderAliasForm m_aliasForm;
|
||||
private ActionLink m_addAlias;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param provider
|
||||
*/
|
||||
public ItemProviderAdmin(ACSObjectSelectionModel provider) {
|
||||
super("categoryProviderAdmin", provider);
|
||||
|
||||
|
|
@ -64,6 +72,11 @@ public class ItemProviderAdmin extends ProviderAdmin {
|
|||
m_aliasForm.addCompletionListener(new ItemAliasComplete());
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param p
|
||||
*/
|
||||
@Override
|
||||
public void register(Page p) {
|
||||
super.register(p);
|
||||
|
||||
|
|
@ -71,6 +84,12 @@ public class ItemProviderAdmin extends ProviderAdmin {
|
|||
p.setVisibleDefault(m_aliasForm, false);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param state
|
||||
* @param form
|
||||
* @param active
|
||||
*/
|
||||
private void switchMode(PageState state,
|
||||
Component form,
|
||||
boolean active) {
|
||||
|
|
|
|||
|
|
@ -40,8 +40,8 @@ import com.arsdigita.categorization.CategorizedCollection;
|
|||
import com.arsdigita.cms.ContentItem;
|
||||
import com.arsdigita.kernel.ACSObject;
|
||||
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
|
||||
import com.arsdigita.atoz.AtoZItemAlias;
|
||||
import com.arsdigita.atoz.AtoZItemProvider;
|
||||
import com.arsdigita.atoz.ItemAlias;
|
||||
import com.arsdigita.atoz.ItemProvider;
|
||||
import com.arsdigita.util.Classes;
|
||||
import com.arsdigita.util.UncheckedWrapperException;
|
||||
|
||||
|
|
@ -88,7 +88,7 @@ public class ItemProviderAliasForm extends Form {
|
|||
PageState state = event.getPageState();
|
||||
boolean valueSet = false;
|
||||
|
||||
Category category = ((AtoZItemProvider) m_provider.getSelectedObject(state))
|
||||
Category category = ((ItemProvider) m_provider.getSelectedObject(state))
|
||||
.getCategory();
|
||||
|
||||
CategorizedCollection children = category.getObjects(ContentItem.BASE_DATA_OBJECT_TYPE);
|
||||
|
|
@ -139,7 +139,7 @@ public class ItemProviderAliasForm extends Form {
|
|||
throws FormProcessException {
|
||||
PageState state = e.getPageState();
|
||||
|
||||
AtoZItemProvider provider = (AtoZItemProvider) m_provider
|
||||
ItemProvider provider = (ItemProvider) m_provider
|
||||
.getSelectedObject(state);
|
||||
|
||||
BigDecimal itemId = new BigDecimal(m_item.getValue(state).toString());
|
||||
|
|
@ -150,11 +150,11 @@ public class ItemProviderAliasForm extends Form {
|
|||
|
||||
//provider.addAlias(item, letter, title);
|
||||
|
||||
AtoZItemAlias alias = (AtoZItemAlias) Classes.newInstance(AtoZItemAlias.class);
|
||||
ItemAlias alias = (ItemAlias) Classes.newInstance(ItemAlias.class);
|
||||
alias.setTitle(title);
|
||||
alias.setLetter(letter);
|
||||
alias.setContentItem(item);
|
||||
alias.setAtoZItemProvider(provider);
|
||||
alias.setItemProvider(provider);
|
||||
alias.save();
|
||||
|
||||
fireCompletionEvent(state);
|
||||
|
|
|
|||
|
|
@ -25,8 +25,8 @@ import com.arsdigita.domain.DomainCollection;
|
|||
import com.arsdigita.domain.DomainObjectFactory;
|
||||
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
|
||||
import com.arsdigita.atoz.AtoZ;
|
||||
import com.arsdigita.atoz.AtoZItemAlias;
|
||||
import com.arsdigita.atoz.AtoZItemProvider;
|
||||
import com.arsdigita.atoz.ItemAlias;
|
||||
import com.arsdigita.atoz.ItemProvider;
|
||||
import com.arsdigita.persistence.OID;
|
||||
import com.arsdigita.util.UncheckedWrapperException;
|
||||
import com.arsdigita.xml.Element;
|
||||
|
|
@ -49,7 +49,7 @@ public class ItemProviderAliasList extends SimpleContainer {
|
|||
String value = state.getControlEventValue();
|
||||
|
||||
if (DELETE.equals(key)) {
|
||||
AtoZItemAlias alias = (AtoZItemAlias) DomainObjectFactory
|
||||
ItemAlias alias = (ItemAlias) DomainObjectFactory
|
||||
.newInstance(OID.valueOf(value));
|
||||
alias.delete();
|
||||
}
|
||||
|
|
@ -61,12 +61,12 @@ public class ItemProviderAliasList extends SimpleContainer {
|
|||
Element content = AtoZ.newElement("itemProviderAliasList");
|
||||
exportAttributes(content);
|
||||
|
||||
AtoZItemProvider provider = (AtoZItemProvider)
|
||||
ItemProvider provider = (ItemProvider)
|
||||
m_provider.getSelectedObject(state);
|
||||
|
||||
DomainCollection entries = provider.getAliases();
|
||||
while (entries.next()) {
|
||||
AtoZItemAlias alias = (AtoZItemAlias) entries.getDomainObject();
|
||||
ItemAlias alias = (ItemAlias) entries.getDomainObject();
|
||||
|
||||
Element el = AtoZ.newElement("itemProviderAlias");
|
||||
el.addAttribute("letter", XML.format(entries.get("letter")));
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@
|
|||
|
||||
package com.arsdigita.atoz.ui.admin;
|
||||
|
||||
import com.arsdigita.atoz.ItemProvider;
|
||||
import com.arsdigita.atoz.AtoZProvider;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.bebop.SimpleComponent;
|
||||
import com.arsdigita.bebop.form.Option;
|
||||
|
|
@ -26,37 +28,41 @@ import com.arsdigita.bebop.form.TextField;
|
|||
import com.arsdigita.bebop.parameters.NotNullValidationListener;
|
||||
import com.arsdigita.bebop.parameters.StringInRangeValidationListener;
|
||||
import com.arsdigita.categorization.Category;
|
||||
import com.arsdigita.categorization.ui.AbstractCategoryPicker;
|
||||
import com.arsdigita.categorization.ui.CategoryPicker;
|
||||
import com.arsdigita.domain.DomainCollection;
|
||||
import com.arsdigita.domain.DomainObjectFactory;
|
||||
import com.arsdigita.domain.DomainServiceInterfaceExposer;
|
||||
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
|
||||
import com.arsdigita.atoz.AtoZItemProvider;
|
||||
import com.arsdigita.atoz.AtoZProvider;
|
||||
import com.arsdigita.categorization.ui.AbstractCategoryPicker;
|
||||
import com.arsdigita.categorization.ui.CategoryPicker;
|
||||
import com.arsdigita.persistence.DataCollection;
|
||||
import com.arsdigita.persistence.DataObject;
|
||||
import com.arsdigita.persistence.SessionManager;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class ItemProviderForm extends ProviderForm {
|
||||
|
||||
private CategoryPicker m_picker;
|
||||
private TextField m_loadPaths;
|
||||
|
||||
public ItemProviderForm(ACSObjectSelectionModel provider) {
|
||||
super("itemProvider", AtoZItemProvider.class, provider);
|
||||
super("itemProvider", ItemProvider.class, provider);
|
||||
|
||||
setMetaDataAttribute("title", "Item provider properties");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addWidgets() {
|
||||
super.addWidgets();
|
||||
|
||||
m_loadPaths = new TextField(AtoZItemProvider.LOAD_PATHS);
|
||||
m_loadPaths = new TextField(ItemProvider.LOAD_PATHS);
|
||||
((SimpleComponent)m_loadPaths).setMetaDataAttribute("label", "Attributes to retrieve");
|
||||
add(m_loadPaths);
|
||||
m_loadPaths.addValidationListener(new StringInRangeValidationListener(0, 200));
|
||||
|
|
@ -66,21 +72,23 @@ public class ItemProviderForm extends ProviderForm {
|
|||
add(m_picker);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void processWidgets(PageState state,
|
||||
AtoZProvider provider) {
|
||||
super.processWidgets(state, provider);
|
||||
|
||||
AtoZItemProvider myprovider = (AtoZItemProvider)provider;
|
||||
ItemProvider myprovider = (ItemProvider)provider;
|
||||
|
||||
myprovider.setCategory(m_picker.getCategory(state));
|
||||
myprovider.setLoadPaths( (String) m_loadPaths.getValue(state));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initWidgets(PageState state,
|
||||
AtoZProvider provider) {
|
||||
super.initWidgets(state, provider);
|
||||
|
||||
AtoZItemProvider myprovider = (AtoZItemProvider)provider;
|
||||
ItemProvider myprovider = (ItemProvider)provider;
|
||||
if (provider != null) {
|
||||
//m_compound.setValue(state, new Boolean(myprovider.isCompound()));
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
package com.arsdigita.atoz.ui.admin;
|
||||
|
||||
import com.arsdigita.atoz.AtoZCategoryProvider;
|
||||
import com.arsdigita.atoz.CategoryProvider;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.categorization.Category;
|
||||
import com.arsdigita.cms.CMS;
|
||||
|
|
@ -153,7 +153,7 @@ public class TermWidget extends com.arsdigita.london.terms.ui.TermWidget {
|
|||
* copied from com.arsdigita.aplaws.ui.ACSObjectCategoryPicker
|
||||
*/
|
||||
protected Domain getDomain(PageState state) {
|
||||
AtoZCategoryProvider provider = (AtoZCategoryProvider)m_provider.getSelectedObject(state);
|
||||
CategoryProvider provider = (CategoryProvider)m_provider.getSelectedObject(state);
|
||||
Category root = Category.getRootForObject(provider);
|
||||
|
||||
if (s_log.isDebugEnabled()) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue