Abschließender Umbau des atoz Package. Upgrade Scripts enthalten.

git-svn-id: https://svn.libreccm.org/ccm/trunk@1623 8810af33-2d31-482b-a856-94f89814c4df
master
pb 2012-04-30 21:38:47 +00:00
parent 1b59e20837
commit 63a9ed8e1c
37 changed files with 792 additions and 39 deletions

View File

@ -0,0 +1,36 @@
--
-- Copyright (C) 2012 Peter Boy 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
--
-- $Id: add_siteproxyprovider_inits.sql pboy $
-- With this update the package ccm-atoz has been divided into a vore atoz
-- package and optional extensions, e.g. this siteproxy extension.
-- Therefore, in an update situation where atoz is already installed, all
-- tables exists and we must just added Initializer to the startup.
INSERT INTO inits (class_name)
VALUES ('com.arsdigita.atoz.siteproxy.Initializer') ;
INSERT INTO init_requirements (required_init, init)
VALUES ('com.arsdigita.atoz.Initializer',
'com.arsdigita.atoz.siteproxy.Initializer') ;
INSERT INTO init_requirements (required_init, init)
VALUES ('com.arsdigita.core.Initializer',
'com.arsdigita.atoz.siteproxy.Initializer') ;

View File

@ -0,0 +1,26 @@
--
-- Copyright (C) 2012 Peter Boy. 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
--
-- $Id: oracle-se-6.6.1-6.6.2.sql $
-- With this update the package ccm-atoz has been divided into a vore atoz
-- package and optional extensions, e.g. this siteproxy extension.
-- Therefore, in an update situation where atoz is already installed, all
-- tables exists and we must just added Initializer to the startup.
@@ default/6.6.1-6.6.2/add_siteproxyprovider_inits.sql

View File

@ -0,0 +1,30 @@
--
-- Copyright (C) 2012 Peter Boy. 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
--
-- $Id: postgres-6.6.1-6.6.2.sql $
-- With this update the package ccm-atoz has been divided into a vore atoz
-- package and optional extensions, e.g. this siteproxy extension.
-- Therefore, in an update situation where atoz is already installed, all
-- tables exists and we must just added Initializer to the startup.
begin;
\i default/6.6.1-6.6.2/add_siteproxyprovider_inits.sql
commit;

View File

@ -1,8 +1,6 @@
<upgrade> <upgrade>
<!-- <version from="6.6.1" to="6.6.2">
<version from="x.y.z" to="x.y.a"> <!-- AtoZ SiteProxy add inits after split from generic atoz package -->
<!-- AtoZ SiteProxy ........ --> <script sql="ccm-atoz-siteproxy/upgrade/::database::-6.6.1-6.6.2.sql"/>
<script sql="ccm-atoz-siteproxy/upgrade/::database::-x.y.z-x.y.a.sql"/>
</version> </version>
-->
</upgrade> </upgrade>

View File

@ -22,17 +22,34 @@ import com.arsdigita.atoz.AtoZ;
import com.arsdigita.atoz.AtoZProviderType; import com.arsdigita.atoz.AtoZProviderType;
import com.arsdigita.atoz.siteproxy.ui.admin.SiteProxyProviderAdmin; import com.arsdigita.atoz.siteproxy.ui.admin.SiteProxyProviderAdmin;
import com.arsdigita.atoz.siteproxy.ui.admin.SiteProxyProviderForm; import com.arsdigita.atoz.siteproxy.ui.admin.SiteProxyProviderForm;
import com.arsdigita.db.DbHelper;
import com.arsdigita.domain.xml.TraversalHandler; import com.arsdigita.domain.xml.TraversalHandler;
import com.arsdigita.persistence.pdl.ManifestSource;
import com.arsdigita.persistence.pdl.NameFilter;
import com.arsdigita.runtime.CompoundInitializer; import com.arsdigita.runtime.CompoundInitializer;
import com.arsdigita.runtime.DomainInitEvent; import com.arsdigita.runtime.DomainInitEvent;
import com.arsdigita.runtime.PDLInitializer;
import com.arsdigita.runtime.RuntimeConfig;
import com.arsdigita.xml.XML; import com.arsdigita.xml.XML;
/** /**
* * Initializes the A-Z system siteproxy extension
* @author pb * @author pb
*/ */
public class Initializer extends CompoundInitializer { public class Initializer extends CompoundInitializer {
/**
* Constructor
*/
public Initializer() {
final String url = RuntimeConfig.getConfig().getJDBCURL();
final int database = DbHelper.getDatabaseFromURL(url);
add(new PDLInitializer(new ManifestSource("ccm-atoz-siteproxy.pdl.mf",
new NameFilter(DbHelper.getDatabaseSuffix(database), "pdl"))));
}
/** /**
* *
* @param evt * @param evt

View File

@ -1,6 +1,9 @@
Up to APLAWS version 1.0.4 atoz had been installed into its own Up to APLAWS version 1.0.4 atoz had been installed into its own
application context: [webapps]/ccm-ldn-atoz. application context: [webapps]/ccm-ldn-atoz.
Up to that version the package was named ccm-ldn-atoz and has then renamed to
ccm-atoz.
Now it is installed inside the main APLAWS application context along Now it is installed inside the main APLAWS application context along
with all other applications. with all other applications.
@ -8,16 +11,16 @@ If shortcuts should be installed as its own web context again following
modifications are necessary: modifications are necessary:
1. remove webapp="xxx" from application.xml 1. remove webapp="xxx" from application.xml
2. move the files in this dir to WEB-INF/ 2. move the files in this dir to WEB-INF/
3. change src/com/ad/london/atoz/AtoZ.java 3. change src/com/ad/atoz/AtoZ.java
method getServletContext() as back to "/files" method getServletContext() as back to "/files"
4. edit themes/.../xsl/index.xsl according the comment 4. edit themes/.../xsl/index.xsl according the comment
5. edit in ccm-ldn-aplaws /web/themes/static/aplaws/atoz.xml 5. edit in ccm-aplaws /web/themes/static/aplaws/atoz.xml
according to the comment according to the comment
Running it in its own webapplication context nevertheless is not suggestive. Running it in its own webapplication context nevertheless is not suggestive.
It needs several xsl files of the main application (esp. core) for basic It needs several xsl files of the main application (esp. core) for basic
operations, which hac been directly mapped from the main applications directory operations, which has been directly mapped from the main applications directory
tree into its own directory tree. So no module separation is possible, no tree into its own directory tree. So no module separation is possible, no
security context useable etc. security context useable etc.

View File

@ -9,7 +9,7 @@
<servlet-class>com.arsdigita.web.ContextRegistrationServlet</servlet-class> <servlet-class>com.arsdigita.web.ContextRegistrationServlet</servlet-class>
<init-param> <init-param>
<param-name>uri</param-name> <param-name>uri</param-name>
<param-value>/ccm-ldn-atoz/</param-value> <param-value>/ccm-atoz/</param-value>
</init-param> </init-param>
<load-on-startup>1</load-on-startup> <load-on-startup>1</load-on-startup>
</servlet> </servlet>
@ -19,7 +19,7 @@
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class> <servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
<init-param> <init-param>
<param-name>template-path</param-name> <param-name>template-path</param-name>
<param-value>/templates/ccm-ldn-atoz</param-value> <param-value>/templates/ccm-atoz</param-value>
</init-param> </init-param>
</servlet> </servlet>

View File

@ -14,7 +14,7 @@
</xs:documentation> </xs:documentation>
<xs:appinfo> <xs:appinfo>
<gen:class>com.arsdigita.london.atoz.ui.AtoZPane</gen:class> <gen:class>com.arsdigita.atoz.ui.AtoZPane</gen:class>
</xs:appinfo> </xs:appinfo>
</xs:annotation> </xs:annotation>

View File

@ -20,5 +20,8 @@ model com.arsdigita.atoz;
import com.arsdigita.web.Application; import com.arsdigita.web.Application;
object type AtoZ extends Application { object type AtoZ extends Application {
reference key (atoz_app.application_id); // Nothing to persist yet
// there is only one instance of AtoZ and
// no instance specific settings about to be persisted.
// reference key (atoz_app.application_id);
} }

View File

@ -0,0 +1,23 @@
--
-- Copyright (C) 2012 Peter Boy 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
--
-- $Id: drop_app_table.sql pboy $
-- drops table atoz_app which just contained application type id and is
-- never used for any action.
drop table atoz_app ;

View File

@ -0,0 +1,42 @@
--
-- Copyright (C) 2011 Peter Boy 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
--
-- $Id: ren_domainprovider_table.sql pboy $
-- rename table trm_atoz_providers to atoz_trm_providers following
-- ccm naming conventions to make maintenance tasks easier
alter table trm_atoz_providers drop constraint trm_ato_provi_provi_id_p_3qjph ;
alter table trm_atoz_providers drop constraint trm_ato_provi_provi_id_f_mibvl ;
alter table trm_atoz_providers drop constraint trm_ato_provide_domain_f_ee4ts ;
alter table trm_atoz_providers RENAME TO atoz_trm_providers ;
alter table atoz_trm_providers
add constraint atoz_trm_provi_prov_id_p_ifmav PRIMARY KEY (provider_id) ;
alter table atoz_trm_providers
add constraint atoz_trm_provi_prov_id_f_yjmjc FOREIGN KEY (provider_id)
REFERENCES atoz_provider (provider_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION;
alter table atoz_trm_providers
add constraint atoz_trm_provid_domain_f_9drhn FOREIGN KEY ("domain")
REFERENCES trm_domains ("key") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION;

View File

@ -0,0 +1,102 @@
--
-- Copyright (C) 2012 Peter Boy 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
--
-- $Id: upd_system_tables.sql pboy $
-- rename cm-ldn-atoz to ccm-atoz
-- adjust various system tables to the new name of application
alter table init_requirements drop constraint init_requirements_init_f_cmmdn ;
alter table init_requirements drop constraint init_require_requ_init_f_i6rgg ;
update inits
set class_name='com.arsdigita.atoz.Initializer'
where class_name='com.arsdigita.london.atoz.Initializer' ;
update init_requirements
set init='com.arsdigita.atoz.Initializer'
where init='com.arsdigita.london.atoz.Initializer' ;
update init_requirements
set required_init='com.arsdigita.atoz.Initializer'
where required_init='com.arsdigita.london.atoz.Initializer' ;
ALTER TABLE init_requirements
ADD CONSTRAINT init_requirements_init_f_cmmdn FOREIGN KEY (init)
REFERENCES inits (class_name) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE init_requirements
ADD CONSTRAINT init_require_requ_init_f_i6rgg FOREIGN KEY (required_init)
REFERENCES inits (class_name) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION;
update application_types
set object_type=replace(object_type,'london.atoz.AtoZ','atoz.AtoZ')
where object_type like '%london.atoz.AtoZ%' ;
-- table applications doesn't require an update
-- update applications
-- set title='CCM Themes Administration',
-- description='CCM themes administration'
-- where primary_url='/admin/themes/' ;
-- table apm_package_types doesn't require an update
-- table apm_packages doesn't require an update either
-- table site_nodes doesn't require an update either
-- update application type in acs_objects
-- update acs_objects
-- set (object_type,display_name,default_domain_class) =
-- ('com.arsdigita.themedirector.ThemeDirector' ,
-- 'CCM Themes Administration',
-- 'com.arsdigita.themedirector.ThemeDirector' )
-- where default_domain_class like 'com.arsdigita.london.theme.ThemeApplication' ;
-- update atoz in acs_objects
-- replace String london.atoz by atoz for all atoz.AtoZ*
update acs_objects
set (object_type,default_domain_class) =
(replace(object_type,'london.atoz', 'atoz') ,
replace(default_domain_class,'london.atoz', 'atoz') )
where object_type like '%london.atoz.AtoZ%' ;
-- rename AtoZItemProvider to ItemProvider
update acs_objects
set (object_type,default_domain_class) =
(replace(object_type,'AtoZItemProvider', 'ItemProvider') ,
replace(default_domain_class,'AtoZItemProvider', 'ItemProvider') )
where object_type like '%AtoZItemProvider%' ;
-- rename AtoZCategoryProvider to CategoryProvider
update acs_objects
set (object_type,default_domain_class) =
(replace(object_type,'AtoZCategoryProvider', 'CategoryProvider') ,
replace(default_domain_class,'AtoZCategoryProvider', 'CategoryProvider') )
where object_type like '%AtoZCategoryProvider%' ;
-- rename AtoZSiteProxyProvider to siteproxy.SiteProxyProvider
update acs_objects
set (object_type,default_domain_class) =
(replace(object_type,'AtoZSiteProxyProvider', 'siteproxy.SiteProxyProvider') ,
replace(default_domain_class,'AtoZSiteProxyProvider', 'siteproxy.SiteProxyProvider') )
where object_type like '%AtoZSiteProxyProvider%' ;
-- rename terms.DomainProvider to DomainProvider
update acs_objects
set (object_type,default_domain_class) =
(replace(object_type,'terms.DomainProvider', 'DomainProvider') ,
replace(default_domain_class,'terms.DomainProvider', 'DomainProvider') )
where object_type like '%atoz.terms.DomainProvider%' ;

View File

@ -0,0 +1,28 @@
--
-- Copyright (C) 2012 Peter Boy. 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
--
-- $Id: oracle-se-6.6.1-6.6.2.sql $
-- AtoZ has been renamed from ccm-ldn-atoz to ccm-atoz and split up into
-- separate packages for generic purposes (items and categories),
-- siteproxy support, and LAW specific terms and ESD services.
-- NOTE: Order is significant
@@ default/6.6.1-6.6.2/upd_system_tables.sql
@@ default/6.6.1-6.6.2/drop_app_table.sql
@@ default/6.6.1-6.6.2/ren_domainprovider_table.sql

View File

@ -0,0 +1,32 @@
--
-- Copyright (C) 2012 Peter Boy. 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
--
-- $Id: postgres-6.6.1-6.6.2.sql $
-- AtoZ has been renamed from ccm-ldn-atoz to ccm-atoz and split up into
-- separate packages for generic purposes (items and categories),
-- siteproxy support, and LAW specific terms and ESD services.
begin;
-- NOTE: Order is significant
\i default/6.6.1-6.6.2/upd_system_tables.sql
\i default/6.6.1-6.6.2/drop_app_table.sql
\i default/6.6.1-6.6.2/ren_domainprovider_table.sql
commit;

View File

@ -17,6 +17,6 @@
</version> </version>
<version from="6.6.1" to="6.6.2"> <version from="6.6.1" to="6.6.2">
<!-- AtoZ renamed from ccm-ldn-atoz to ccm-atoz --> <!-- AtoZ renamed from ccm-ldn-atoz to ccm-atoz -->
<script sql="ccm-atoz/upgrade/::database::-6.6.0-6.6.1.sql"/> <script sql="ccm-atoz/upgrade/::database::-6.6.1-6.6.2.sql"/>
</version> </version>
</upgrade> </upgrade>

View File

@ -147,7 +147,7 @@ public class AtoZ extends Application {
// * web application context // * web application context
// */ // */
// public String getContextPath() { // public String getContextPath() {
// return "/ccm-ldn-atoz"; // return "/ccm-atoz";
// } // }
/** /**

View File

@ -50,6 +50,9 @@ import com.arsdigita.xml.XML;
*/ */
public class Initializer extends CompoundInitializer { public class Initializer extends CompoundInitializer {
/**
* Constructor
*/
public Initializer() { public Initializer() {
final String url = RuntimeConfig.getConfig().getJDBCURL(); final String url = RuntimeConfig.getConfig().getJDBCURL();

View File

@ -24,9 +24,9 @@ import com.arsdigita.domain.DomainObjectFactory;
import com.arsdigita.domain.DomainObjectInstantiator; import com.arsdigita.domain.DomainObjectInstantiator;
import com.arsdigita.kernel.Kernel; import com.arsdigita.kernel.Kernel;
import com.arsdigita.kernel.KernelExcursion; import com.arsdigita.kernel.KernelExcursion;
import com.arsdigita.london.util.Program;
import com.arsdigita.london.util.Transaction; import com.arsdigita.london.util.Transaction;
import com.arsdigita.persistence.DataObject; import com.arsdigita.persistence.DataObject;
import com.arsdigita.util.cmd.Program;
import com.arsdigita.web.Application; import com.arsdigita.web.Application;
import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLine;

View File

@ -3,7 +3,10 @@
xmlns:show="/WEB-INF/bebop-show.tld" xmlns:show="/WEB-INF/bebop-show.tld"
version="1.2"> version="1.2">
<define:page name="childCategories" pageClass="com.arsdigita.cms.ui.authoring.EmptyPage" title="childCategories" cache="true"> <define:page name="childCategories"
pageClass="com.arsdigita.cms.ui.authoring.EmptyPage"
title="childCategories"
cache="true">
<define:component name="catSubtree" <define:component name="catSubtree"
classname="com.arsdigita.london.terms.ui.CategorySubtree"/> classname="com.arsdigita.london.terms.ui.CategorySubtree"/>

View File

@ -2,26 +2,34 @@
<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project" <ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project"
name="ccm-ldn-atoz" name="ccm-ldn-atoz"
prettyName="A-Z" prettyName="A-Z"
version="6.6.1" version="6.6.2"
release="1" release="1"
webapp="ROOT"> webapp="ROOT">
<ccm:dependencies> <ccm:dependencies>
<ccm:requires name="ccm-core" version="6.6.0" relation="ge"/> <ccm:requires name="ccm-core" version="6.6.0" relation="ge"/>
<ccm:requires name="ccm-cms" version="6.6.0" relation="ge"/> <ccm:requires name="ccm-cms" version="6.6.0" relation="ge"/>
<ccm:requires name="ccm-atoz" version="6.6.0" relation="ge"/>
<!--
<ccm:requires name="ccm-navigation" version="6.6.0" relation="ge"/> <ccm:requires name="ccm-navigation" version="6.6.0" relation="ge"/>
<ccm:requires name="ccm-subsite" version="6.6.0" relation="ge"/> <ccm:requires name="ccm-subsite" version="6.6.0" relation="ge"/>
<ccm:requires name="ccm-ldn-aplaws" version="6.6.0" relation="ge"/> <ccm:requires name="ccm-ldn-aplaws" version="6.6.0" relation="ge"/>
-->
<ccm:requires name="ccm-ldn-terms" version="6.6.0" relation="ge"/> <ccm:requires name="ccm-ldn-terms" version="6.6.0" relation="ge"/>
<ccm:requires name="ccm-ldn-util" version="6.6.0" relation="ge"/> <ccm:requires name="ccm-ldn-util" version="6.6.0" relation="ge"/>
<ccm:requires name="ccm-cms-types-siteproxy" version="6.6.0" relation="ge"/>
</ccm:dependencies> </ccm:dependencies>
<ccm:contacts> <ccm:contacts>
<ccm:contact uri="http://www.redhat.com/software/rhea" type="website"/> <ccm:contact uri="http://www.redhat.com/software/rhea" type="website"/>
<ccm:contact uri="mailto:rhea@redhat.com" type="support"/> <ccm:contact uri="mailto:rhea@redhat.com" type="support"/>
</ccm:contacts> </ccm:contacts>
<ccm:description> <ccm:description>
The ccm-ldn-atoz package enables a site to present all it's content in The ccm-ldn-atoz package is an extension for the ccm-atoz package in
combination with the ccm-ldn-terms package. It enables the ccm-atoz package
to deal with LAW specific terms.
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 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. theme provides a link to the page as part of its static elements.

View File

@ -15,14 +15,14 @@
// License along with this library; if not, write to the Free Software // License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
model com.arsdigita.london.atoz.terms; model com.arsdigita.london.atoz;
import com.arsdigita.atoz.AtoZProvider; import com.arsdigita.atoz.AtoZProvider;
import com.arsdigita.london.terms.Domain; import com.arsdigita.london.terms.Domain;
object type DomainProvider extends AtoZProvider { object type DomainProvider extends AtoZProvider {
Domain[1..1] domain = join trm_atoz_providers.domain to trm_domains.key; Domain[1..1] domain = join atoz_trm_providers.domain to trm_domains.key;
reference key (trm_atoz_providers.provider_id); reference key (atoz_trm_providers.provider_id);
} }

View File

@ -0,0 +1,3 @@
@ ddl/oracle-se/create.sql
@ ddl/oracle-se/deferred.sql

View File

@ -0,0 +1,4 @@
begin;
\i ddl/postgres/create.sql
\i ddl/postgres/deferred.sql
end;

View File

@ -0,0 +1,36 @@
--
-- Copyright (C) 2012 Peter Boy 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
--
-- $Id: add_domainprovider_inits.sql pboy $
-- With this update the package ccm-atoz has been divided into a generic atoz
-- package and optional extensions, e.g. this ldn (terms ESD domains) extension.
-- Therefore, in an update situation where atoz is already installed, all
-- tables exists and we must just added Initializer to the startup.
INSERT INTO inits (class_name)
VALUES ('com.arsdigita.london.atoz.Initializer') ;
INSERT INTO init_requirements (required_init, init)
VALUES ('com.arsdigita.atoz.Initializer',
'com.arsdigita.london.atoz.Initializer') ;
INSERT INTO init_requirements (required_init, init)
VALUES ('com.arsdigita.core.Initializer',
'com.arsdigita.london.atoz.Initializer') ;

View File

@ -0,0 +1,26 @@
--
-- Copyright (C) 2012 Peter Boy. 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
--
-- $Id: oracle-se-6.6.1-6.6.2.sql $
-- With this update the package ccm-atoz has been divided into a generic atoz
-- package and optional extensions, e.g. this ldn (terms ESD domains) extension.
-- Therefore, in an update situation where atoz is already installed, all
-- tables exists and we must just added Initializer to the startup.
@@ default/6.6.1-6.6.2/add_domainprovider_inits.sql

View File

@ -0,0 +1,30 @@
--
-- Copyright (C) 2012 Peter Boy. 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
--
-- $Id: postgres-6.6.1-6.6.2.sql $
-- With this update the package ccm-atoz has been divided into a generic atoz
-- package and optional extensions, e.g. this ldn (terms ESD domains) extension.
-- Therefore, in an update situation where atoz is already installed, all
-- tables exists and we must just added Initializer to the startup.
begin;
\i default/6.6.1-6.6.2/add_domainprovider_inits.sql
commit;

View File

@ -0,0 +1,151 @@
<?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.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>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<registry>
<config class="com.arsdigita.london.atoz.DomainConfig"
storage="ccm-atoz/termsdomain.properties"/>
</registry>

View File

@ -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_trm_providers"/>
<initializer class="com.arsdigita.london.atoz.Initializer"/>
</provides>
<scripts>
<schema directory="ccm-ldn-atoz"/>
<!--
<data class="com.arsdigita.london.atoz.Loader"/>
-->
</scripts>
</load>

View File

@ -0,0 +1,6 @@
<upgrade>
<version from="6.6.1" to="6.6.2">
<!-- AtoZ ldn-domain add inits after split from generic atoz package -->
<script sql="ccm-ldn-atoz/upgrade/::database::-6.6.1-6.6.2.sql"/>
</version>
</upgrade>

View File

@ -0,0 +1,87 @@
/*
* 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.london.atoz;
import com.arsdigita.runtime.AbstractConfig;
import com.arsdigita.util.parameter.Parameter;
import com.arsdigita.util.parameter.ResourceParameter;
import java.io.InputStream;
import org.apache.log4j.Logger;
/**
* This is the configuration file for the AtoZ application
*/
public class DomainConfig extends AbstractConfig {
/** A logger instance to assist debugging. */
private static final Logger s_log = Logger.getLogger(DomainConfig.class);
/** Singelton config object. */
private static DomainConfig s_conf;
/**
* Gain a DomainConfig object.
*
* Singelton pattern, don't instantiate a config object using the
* constructor directly!
* @return
*/
public static synchronized DomainConfig getConfig() {
if (s_conf == null) {
s_conf = new DomainConfig();
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.london.atoz.traversal_adapters",
Parameter.REQUIRED,
"/WEB-INF/resources/atoz-ldn-domain-adapters.xml");
/**
* Constructor
*/
public DomainConfig() {
register(m_adapters);
loadInfo();
}
/**
* Provides access to the traversal adapter as stream.
* @return
*/
InputStream getTraversalAdapters() {
return (InputStream)get(m_adapters);
}
}

View File

@ -0,0 +1,4 @@
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-ldn-domain-adapters.xml

View File

@ -16,16 +16,15 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/ */
package com.arsdigita.london.atoz.terms; package com.arsdigita.london.atoz;
import com.arsdigita.atoz.AtoZGeneratorAbstractImpl; import com.arsdigita.atoz.AtoZGeneratorAbstractImpl;
import com.arsdigita.atoz.AtoZAtomicEntry; import com.arsdigita.atoz.AtoZAtomicEntry;
import com.arsdigita.atoz.AtoZEntry; import com.arsdigita.atoz.AtoZEntry;
import com.arsdigita.london.terms.Domain;
import com.arsdigita.london.terms.Term;
import com.arsdigita.categorization.Category; import com.arsdigita.categorization.Category;
import com.arsdigita.domain.DomainCollection; import com.arsdigita.domain.DomainCollection;
import com.arsdigita.london.terms.Domain;
import com.arsdigita.london.terms.Term;
import com.arsdigita.persistence.DataObject; import com.arsdigita.persistence.DataObject;
import com.arsdigita.persistence.Filter; import com.arsdigita.persistence.Filter;
import com.arsdigita.persistence.OID; import com.arsdigita.persistence.OID;
@ -42,6 +41,11 @@ import java.util.ArrayList;
* *
*/ */
public class DomainGenerator extends AtoZGeneratorAbstractImpl { public class DomainGenerator extends AtoZGeneratorAbstractImpl {
/**
* Constructor
* @param provider
*/
public DomainGenerator(DomainProvider provider) { public DomainGenerator(DomainProvider provider) {
super(provider); super(provider);
} }

View File

@ -16,13 +16,12 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/ */
package com.arsdigita.london.atoz.terms; package com.arsdigita.london.atoz;
import com.arsdigita.atoz.AtoZGenerator; import com.arsdigita.atoz.AtoZGenerator;
import com.arsdigita.atoz.AtoZProvider; import com.arsdigita.atoz.AtoZProvider;
import com.arsdigita.london.terms.Domain;
import com.arsdigita.domain.DomainObjectFactory; import com.arsdigita.domain.DomainObjectFactory;
import com.arsdigita.london.terms.Domain;
import com.arsdigita.persistence.DataObject; import com.arsdigita.persistence.DataObject;
import com.arsdigita.persistence.OID; import com.arsdigita.persistence.OID;
@ -33,7 +32,7 @@ import com.arsdigita.persistence.OID;
public class DomainProvider extends AtoZProvider { public class DomainProvider extends AtoZProvider {
public static final String BASE_DATA_OBJECT_TYPE = public static final String BASE_DATA_OBJECT_TYPE =
"com.arsdigita.london.atoz.terms.DomainProvider"; "com.arsdigita.london.atoz.DomainProvider";
public static final String DOMAIN = "domain"; public static final String DOMAIN = "domain";

View File

@ -16,22 +16,41 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/ */
package com.arsdigita.london.atoz.terms; package com.arsdigita.london.atoz;
import com.arsdigita.atoz.AtoZ; import com.arsdigita.atoz.AtoZ;
import com.arsdigita.atoz.AtoZProviderType; import com.arsdigita.atoz.AtoZProviderType;
// import com.arsdigita.london.atoz.terms.DomainProvider; //same package import com.arsdigita.db.DbHelper;
import com.arsdigita.london.atoz.ui.terms.DomainProviderAdmin; import com.arsdigita.domain.xml.TraversalHandler;
import com.arsdigita.london.atoz.ui.terms.DomainProviderForm; import com.arsdigita.london.atoz.ui.DomainProviderAdmin;
import com.arsdigita.london.atoz.ui.DomainProviderForm;
import com.arsdigita.persistence.pdl.ManifestSource;
import com.arsdigita.persistence.pdl.NameFilter;
import com.arsdigita.runtime.CompoundInitializer; import com.arsdigita.runtime.CompoundInitializer;
import com.arsdigita.runtime.DomainInitEvent; import com.arsdigita.runtime.DomainInitEvent;
import com.arsdigita.runtime.PDLInitializer;
import com.arsdigita.runtime.RuntimeConfig;
import com.arsdigita.xml.XML;
/** /**
* Initializes ccm-ldn-atoz, a A-Z system extension for ESD terms
* *
* @author pb * @author pb
*/ */
public class Initializer extends CompoundInitializer { public class Initializer extends CompoundInitializer {
/**
* Constructor
*/
public Initializer() {
final String url = RuntimeConfig.getConfig().getJDBCURL();
final int database = DbHelper.getDatabaseFromURL(url);
add(new PDLInitializer(new ManifestSource("ccm-ldn-atoz.pdl.mf",
new NameFilter(DbHelper.getDatabaseSuffix(database), "pdl"))));
}
/** /**
* *
* @param evt * @param evt
@ -40,7 +59,10 @@ public class Initializer extends CompoundInitializer {
public void init(DomainInitEvent evt) { public void init(DomainInitEvent evt) {
super.init(evt); super.init(evt);
// Introduces dependency on ccm-ldn-typesesdervise ??
XML.parse(DomainConfig.getConfig().getTraversalAdapters(),
new TraversalHandler());
AtoZ.registerProviderType( AtoZ.registerProviderType(
new AtoZProviderType("ESD Toolkit Domain Provider", new AtoZProviderType("ESD Toolkit Domain Provider",
"Provides a ESD Toolkit A-Z", "Provides a ESD Toolkit A-Z",

View File

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/ */
package com.arsdigita.london.atoz.ui.terms; package com.arsdigita.london.atoz.ui;
import com.arsdigita.atoz.ui.admin.ProviderAdmin; import com.arsdigita.atoz.ui.admin.ProviderAdmin;
import com.arsdigita.atoz.ui.admin.ProviderDetails; import com.arsdigita.atoz.ui.admin.ProviderDetails;

View File

@ -16,11 +16,11 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/ */
package com.arsdigita.london.atoz.ui.terms; package com.arsdigita.london.atoz.ui;
import com.arsdigita.atoz.AtoZProvider; import com.arsdigita.atoz.AtoZProvider;
import com.arsdigita.atoz.ui.admin.ProviderForm; import com.arsdigita.atoz.ui.admin.ProviderForm;
import com.arsdigita.london.atoz.terms.DomainProvider; import com.arsdigita.london.atoz.DomainProvider;
import com.arsdigita.london.terms.Domain; import com.arsdigita.london.terms.Domain;
import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.PageState;