You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(48) |
Dec
(31) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(22) |
Feb
(68) |
Mar
(185) |
Apr
(11) |
May
(21) |
Jun
(23) |
Jul
(46) |
Aug
(69) |
Sep
(211) |
Oct
(26) |
Nov
(51) |
Dec
(52) |
2006 |
Jan
(13) |
Feb
(13) |
Mar
(8) |
Apr
(21) |
May
(17) |
Jun
(100) |
Jul
(34) |
Aug
(23) |
Sep
(26) |
Oct
(16) |
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(66) |
Oct
(10) |
Nov
(1) |
Dec
|
2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
(3) |
May
(8) |
Jun
(5) |
Jul
(31) |
Aug
(8) |
Sep
(11) |
Oct
(6) |
Nov
|
Dec
|
2012 |
Jan
(13) |
Feb
(2) |
Mar
(9) |
Apr
(6) |
May
(24) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(120) |
2013 |
Jan
(6) |
Feb
(35) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <ap...@vh...> - 2006-02-19 23:01:59
|
Author: apevec Date: 2006-02-19 23:56:38 +0100 (Sun, 19 Feb 2006) New Revision: 1092 Modified: trunk/tools/tools/server/resin/conf/resin-default.conf.in Log: turn off resin's directory listing by default Modified: trunk/tools/tools/server/resin/conf/resin-default.conf.in =================================================================== --- trunk/tools/tools/server/resin/conf/resin-default.conf.in 2006-02-17 11:58:30 UTC (rev 1091) +++ trunk/tools/tools/server/resin/conf/resin-default.conf.in 2006-02-19 22:56:38 UTC (rev 1092) @@ -34,6 +34,7 @@ <ignore-client-disconnect>true</ignore-client-disconnect> <welcome-file-list>index.xtp, index.jsp, index.html</welcome-file-list> <host id=''> + <directory-servlet id = "none"/> <access-log id='::log-dir::/access.log'/> <error-log id='::log-dir::/error.log'/> <work-dir>::root-dir::/tmp</work-dir> |
From: <ap...@vh...> - 2006-02-17 12:03:51
|
Author: apevec Date: 2006-02-17 12:58:30 +0100 (Fri, 17 Feb 2006) New Revision: 1091 Modified: trunk/tools/misc/build-all.sh Log: BUNDLETEMPLATE must be absolute path Modified: trunk/tools/misc/build-all.sh =================================================================== --- trunk/tools/misc/build-all.sh 2006-02-10 16:42:58 UTC (rev 1090) +++ trunk/tools/misc/build-all.sh 2006-02-17 11:58:30 UTC (rev 1091) @@ -2,7 +2,7 @@ # # Build everything! -[ -z "$BUNDLETEMPLATE" ] && BUNDLETEMPLATE="tools/bundle/TEMPLATE" +[ -z "$BUNDLETEMPLATE" ] && BUNDLETEMPLATE="`pwd`/tools/bundle/TEMPLATE" [ -z "$BUNDLEDIR" ] && BUNDLEDIR="ccm-ldn-aplaws/ccm-ldn-aplaws" [ -z "$BUNDLES" ] && BUNDLES="standard complete demo devel" |
From: <ap...@vh...> - 2006-02-10 16:48:00
|
Author: apevec Date: 2006-02-10 17:42:58 +0100 (Fri, 10 Feb 2006) New Revision: 1090 Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties Log: Consultation Drop Down -- New values Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties 2006-02-06 09:30:55 UTC (rev 1089) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties 2006-02-10 16:42:58 UTC (rev 1090) @@ -64,6 +64,18 @@ topicOption23=Voluntary sector topicOption24=Waste Management topicOption25=Transport and Streets +topicOption26=Traffic management measures +topicOption27=Parking measures +topicOption28=Traffic calming measures +topicOption29=Quality of the environment +topicOption30=Bus priority measures +topicOption31=Cycling measures +topicOption32=Amenities on the public highway +topicOption33=Road safety measures +topicOption34=Walking measures +topicOption35=School travel measures +topicOption36=Policy +topicOption37=Consultation of behalf of Government/another Local Authority type=Type #typeOption0=Online Questionnaire @@ -134,6 +146,13 @@ #Service users targetOption24=Council tenants targetOption25=Young people +targetOption26=Local groups/organisations +targetOption27=Emergency services +targetOption28=Local schools +targetOption29=Schoolchildren +targetOption30=Statutory Groups +targetOption31=Ward Councillors +targetOption32=Other Local Authorities geo_area=Geographical Area geoOption0=Hampstead Town |
From: <ap...@vh...> - 2006-02-06 09:35:56
|
Author: apevec Date: 2006-02-06 10:30:55 +0100 (Mon, 06 Feb 2006) New Revision: 1089 Added: trunk/tools/bundle/TEMPLATE/ Removed: trunk/ccm-ldn-aplaws/bundles/TEMPLATE/ Modified: trunk/tools/bundle/TEMPLATE/rollingbuild.sh trunk/tools/misc/build-all.sh Log: move RPM bundle templates out of aplaws specific packages Copied: trunk/tools/bundle/TEMPLATE (from rev 1087, trunk/ccm-ldn-aplaws/bundles/TEMPLATE) Modified: trunk/tools/bundle/TEMPLATE/rollingbuild.sh =================================================================== --- trunk/ccm-ldn-aplaws/bundles/TEMPLATE/rollingbuild.sh 2006-02-01 14:21:50 UTC (rev 1087) +++ trunk/tools/bundle/TEMPLATE/rollingbuild.sh 2006-02-06 09:30:55 UTC (rev 1089) @@ -1,6 +1,8 @@ #!/bin/sh # +TEMPLATE=dirname $0 + # Exit immediately if command fails set -e @@ -11,7 +13,7 @@ . ./bundle.in # prepare .spec.in -cat ../TEMPLATE/ccm-bundle.spec.IN ChangeLog > ccm-bundle-$BUNDLE_NAME.spec.in +cat $TEMPLATE/ccm-bundle.spec.IN ChangeLog > ccm-bundle-$BUNDLE_NAME.spec.in # prepare .am cat <<EOF > Makefile.am @@ -86,7 +88,7 @@ # Build the rpms rpmbuild -ta --clean ccm-bundle-$BUNDLE_NAME-*.tar.gz -../TEMPLATE/make-zip.sh +$TEMPLATE/make-zip.sh # Cleanup the build dir #cd .. Modified: trunk/tools/misc/build-all.sh =================================================================== --- trunk/tools/misc/build-all.sh 2006-02-02 10:32:15 UTC (rev 1088) +++ trunk/tools/misc/build-all.sh 2006-02-06 09:30:55 UTC (rev 1089) @@ -2,6 +2,7 @@ # # Build everything! +[ -z "$BUNDLETEMPLATE" ] && BUNDLETEMPLATE="tools/bundle/TEMPLATE" [ -z "$BUNDLEDIR" ] && BUNDLEDIR="ccm-ldn-aplaws/ccm-ldn-aplaws" [ -z "$BUNDLES" ] && BUNDLES="standard complete demo devel" @@ -597,7 +598,7 @@ set -e cd $BUNDLEDIR/bundles/$BUNDLE check_svn_tagged - ../TEMPLATE/rollingbuild.sh + $BUNDLETEMPLATE/rollingbuild.sh ) || exit $? done |
From: <ssk...@vh...> - 2006-02-02 10:36:57
|
Author: sskracic Date: 2006-02-02 11:32:15 +0100 (Thu, 02 Feb 2006) New Revision: 1088 Modified: contrib/ccm-ldn-camden-consultation/trunk/application.xml contrib/ccm-ldn-camden-consultation/trunk/sql/ccm-ldn-camden-consultation/upgrade/oracle-se-1.0.3-1.1.0.sql Log: Providing default value for not null column, so that the upgrade is painless. Modified: contrib/ccm-ldn-camden-consultation/trunk/application.xml =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/application.xml 2006-02-01 14:21:50 UTC (rev 1087) +++ contrib/ccm-ldn-camden-consultation/trunk/application.xml 2006-02-02 10:32:15 UTC (rev 1088) @@ -3,7 +3,7 @@ name="ccm-ldn-camden-consultation" prettyName="Red Hat CCM Content Types" version="1.1.0" - release="7" + release="8" webapp="ROOT"> <ccm:dependencies> <ccm:requires name="ccm-core" version="6.1.1" relation="ge"/> Modified: contrib/ccm-ldn-camden-consultation/trunk/sql/ccm-ldn-camden-consultation/upgrade/oracle-se-1.0.3-1.1.0.sql =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/sql/ccm-ldn-camden-consultation/upgrade/oracle-se-1.0.3-1.1.0.sql 2006-02-01 14:21:50 UTC (rev 1087) +++ contrib/ccm-ldn-camden-consultation/trunk/sql/ccm-ldn-camden-consultation/upgrade/oracle-se-1.0.3-1.1.0.sql 2006-02-02 10:32:15 UTC (rev 1088) @@ -5,7 +5,7 @@ alter table cam_consultation_alerts add constraint cam_con_ale_mob_confir_c_3cz1u check(mobile_confirmed in ('0', '1')); -alter table cam_consultations add sms_alert_sent CHAR(1); +alter table cam_consultations add sms_alert_sent CHAR(1) DEFAULT '0'; update cam_consultations set sms_alert_sent = alert_sent; |
From: <ssk...@vh...> - 2006-02-01 14:26:33
|
Author: sskracic Date: 2006-02-01 15:21:50 +0100 (Wed, 01 Feb 2006) New Revision: 1087 Modified: contrib/ccm-ldn-camden-consultation/trunk/application.xml contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties Log: "Transport and Streets" is a separate topic, independent of "Transport". Modified: contrib/ccm-ldn-camden-consultation/trunk/application.xml =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/application.xml 2006-01-31 16:51:34 UTC (rev 1086) +++ contrib/ccm-ldn-camden-consultation/trunk/application.xml 2006-02-01 14:21:50 UTC (rev 1087) @@ -3,7 +3,7 @@ name="ccm-ldn-camden-consultation" prettyName="Red Hat CCM Content Types" version="1.1.0" - release="6" + release="7" webapp="ROOT"> <ccm:dependencies> <ccm:requires name="ccm-core" version="6.1.1" relation="ge"/> Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties 2006-01-31 16:51:34 UTC (rev 1086) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties 2006-02-01 14:21:50 UTC (rev 1087) @@ -60,9 +60,10 @@ topicOption20=Quality of life topicOption21=Quality of the environment #Social care -topicOption22=Transport and Streets +topicOption22=Transport topicOption23=Voluntary sector topicOption24=Waste Management +topicOption25=Transport and Streets type=Type #typeOption0=Online Questionnaire |
From: <ssk...@vh...> - 2006-01-31 16:56:12
|
Author: sskracic Date: 2006-01-31 17:51:34 +0100 (Tue, 31 Jan 2006) New Revision: 1086 Modified: contrib/ccm-ldn-camden-consultation/trunk/application.xml contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationAlert.java Log: Removing "Methodology" and "Result Feedback" fields from the email alert. Modified: contrib/ccm-ldn-camden-consultation/trunk/application.xml =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/application.xml 2006-01-31 16:49:38 UTC (rev 1085) +++ contrib/ccm-ldn-camden-consultation/trunk/application.xml 2006-01-31 16:51:34 UTC (rev 1086) @@ -3,7 +3,7 @@ name="ccm-ldn-camden-consultation" prettyName="Red Hat CCM Content Types" version="1.1.0" - release="5" + release="6" webapp="ROOT"> <ccm:dependencies> <ccm:requires name="ccm-core" version="6.1.1" relation="ge"/> Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationAlert.java =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationAlert.java 2006-01-31 16:49:38 UTC (rev 1085) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationAlert.java 2006-01-31 16:51:34 UTC (rev 1086) @@ -418,10 +418,6 @@ (String)ConsultationUtil.globalize("target_audience").localize(locale); String geoAreaLabel = (String)ConsultationUtil.globalize("geo_area").localize(locale); - String methodologyLabel = - (String)ConsultationUtil.globalize("methodology").localize(locale); - String feedbackLabel = - (String)ConsultationUtil.globalize("results_feedback").localize(locale); String siteURL = URL.root().getURL(); URL rootURL = URL.root(); @@ -483,9 +479,6 @@ globalize(statutoryFlag != null && statutoryFlag.booleanValue() ? "yes" : "no"). localize(locale); - String methodology = (String)items.get(Consultation.METHODOLOGY); - String feedback = (String)items.get(Consultation.FEEDBACK); - itemList += "----------\n\n" + urlLabel + ": " + itemURL + "\n\n" + @@ -518,11 +511,6 @@ if (geoArea != null) itemList += geoAreaLabel + ": " + geoArea + "\n"; - if (methodology != null && !"".equals(methodology)) - itemList += "\n" + methodologyLabel + ":\n" + methodology.trim() + "\n"; - if (feedback != null && !"".equals(feedback)) - itemList += "\n" + feedbackLabel + ":\n" + feedback.trim() + "\n"; - itemList += "\n"; itemIDs.add(id); |
From: <ssk...@vh...> - 2006-01-31 16:54:23
|
Author: sskracic Date: 2006-01-31 17:49:38 +0100 (Tue, 31 Jan 2006) New Revision: 1085 Modified: contrib/ccm-ldn-camden-consultation/trunk/application.xml contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties Log: Changing "Transport" to "Transport and Streets" in Topic dropdown in "About" authoring step of consultations. Modified: contrib/ccm-ldn-camden-consultation/trunk/application.xml =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/application.xml 2006-01-30 16:32:25 UTC (rev 1084) +++ contrib/ccm-ldn-camden-consultation/trunk/application.xml 2006-01-31 16:49:38 UTC (rev 1085) @@ -3,7 +3,7 @@ name="ccm-ldn-camden-consultation" prettyName="Red Hat CCM Content Types" version="1.1.0" - release="4" + release="5" webapp="ROOT"> <ccm:dependencies> <ccm:requires name="ccm-core" version="6.1.1" relation="ge"/> Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties 2006-01-30 16:32:25 UTC (rev 1084) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties 2006-01-31 16:49:38 UTC (rev 1085) @@ -60,7 +60,7 @@ topicOption20=Quality of life topicOption21=Quality of the environment #Social care -topicOption22=Transport +topicOption22=Transport and Streets topicOption23=Voluntary sector topicOption24=Waste Management |
From: <ssk...@vh...> - 2006-01-30 17:27:26
|
Author: sskracic Date: 2006-01-30 17:32:25 +0100 (Mon, 30 Jan 2006) New Revision: 1084 Modified: releases/1.0.3/ccm-core/application.xml releases/1.0.3/ccm-core/src/com/arsdigita/formbuilder/actions/SimpleEmailListener.java Log: Integrating r1083 (provide default From: address) onto 1.0.3 branch. Modified: releases/1.0.3/ccm-core/application.xml =================================================================== --- releases/1.0.3/ccm-core/application.xml 2006-01-30 16:20:00 UTC (rev 1083) +++ releases/1.0.3/ccm-core/application.xml 2006-01-30 16:32:25 UTC (rev 1084) @@ -3,7 +3,7 @@ name="ccm-core" prettyName="Core" version="6.2.0" - release="4" + release="5" webapp="ROOT" buildHooks="build-hooks.xml"> <ccm:dependencies> Modified: releases/1.0.3/ccm-core/src/com/arsdigita/formbuilder/actions/SimpleEmailListener.java =================================================================== --- releases/1.0.3/ccm-core/src/com/arsdigita/formbuilder/actions/SimpleEmailListener.java 2006-01-30 16:20:00 UTC (rev 1083) +++ releases/1.0.3/ccm-core/src/com/arsdigita/formbuilder/actions/SimpleEmailListener.java 2006-01-30 16:32:25 UTC (rev 1084) @@ -157,9 +157,10 @@ String subject = p.interpolate(m_subject); String from = (String) p.interpolate("::user.email::"); - if (null == from) { + + if (null == from) { User user = (User) Kernel.getContext().getParty(); - if( null == user ) { + if (null == user) { from = Mail.getConfig().getDefaultFrom(); } else { from = user.getPrimaryEmail().getEmailAddress(); @@ -168,7 +169,12 @@ StringBuffer body = new StringBuffer(); - body.append(from); + if (from == null || from.trim().length() == 0) { + body.append("Anonymous visitor"); + from = Kernel.getSecurityConfig().getAdminContactEmail(); + } else { + body.append(from); + } body.append(" submitted the following:\n\n"); String submit = null; |
From: <ssk...@vh...> - 2006-01-30 16:24:54
|
Author: sskracic Date: 2006-01-30 17:20:00 +0100 (Mon, 30 Jan 2006) New Revision: 1083 Modified: trunk/ccm-core/application.xml trunk/ccm-core/src/com/arsdigita/formbuilder/actions/SimpleEmailListener.java Log: Set the meaningful From: address, if an unregistered user is submitting a formbuilder form. Modified: trunk/ccm-core/application.xml =================================================================== --- trunk/ccm-core/application.xml 2006-01-17 17:09:52 UTC (rev 1082) +++ trunk/ccm-core/application.xml 2006-01-30 16:20:00 UTC (rev 1083) @@ -3,7 +3,7 @@ name="ccm-core" prettyName="Core" version="6.3.1" - release="1" + release="2" webapp="ROOT" buildHooks="build-hooks.xml"> <ccm:dependencies> Modified: trunk/ccm-core/src/com/arsdigita/formbuilder/actions/SimpleEmailListener.java =================================================================== --- trunk/ccm-core/src/com/arsdigita/formbuilder/actions/SimpleEmailListener.java 2006-01-17 17:09:52 UTC (rev 1082) +++ trunk/ccm-core/src/com/arsdigita/formbuilder/actions/SimpleEmailListener.java 2006-01-30 16:20:00 UTC (rev 1083) @@ -157,9 +157,10 @@ String subject = p.interpolate(m_subject); String from = (String) p.interpolate("::user.email::"); - if (null == from) { + + if (null == from) { User user = (User) Kernel.getContext().getParty(); - if( null == user ) { + if (null == user) { from = Mail.getConfig().getDefaultFrom(); } else { from = user.getPrimaryEmail().getEmailAddress(); @@ -168,7 +169,12 @@ StringBuffer body = new StringBuffer(); - body.append(from); + if (from == null || from.trim().length() == 0) { + body.append("Anonymous visitor"); + from = Kernel.getSecurityConfig().getAdminContactEmail(); + } else { + body.append(from); + } body.append(" submitted the following:\n\n"); String submit = null; |
Author: apevec Date: 2006-01-17 18:09:52 +0100 (Tue, 17 Jan 2006) New Revision: 1082 Added: trunk/ccm-core/sql/ccm-core/default/upgrade/6.2.0-6.3.1/ trunk/ccm-core/sql/ccm-core/default/upgrade/6.2.0-6.3.1/preferred-categories.sql trunk/ccm-core/sql/ccm-core/upgrade/oracle-se-6.2.0-6.3.1.sql trunk/ccm-core/sql/ccm-core/upgrade/postgres-6.2.0-6.3.1.sql trunk/ccm-ldn-terms/doc/esd/load.sh trunk/ccm-ldn-terms/doc/esd/xml-1.04/synonyms-lgcl-1.04.xml trunk/ccm-ldn-terms/doc/esd/xml-ipsv/synonyms-ipsv-1.00.xml trunk/ccm-ldn-terms/src/com/arsdigita/london/terms/importer/SynonymsBuilder.java Modified: trunk/ccm-core/application.xml trunk/ccm-core/sql/ccm-core/default/categorization/table-cat_category_category_map.sql trunk/ccm-core/src/ccm-core.upgrade trunk/ccm-core/src/com/arsdigita/categorization/Category.java trunk/ccm-ldn-terms/doc/esd/xml-1.04/hierarchy-lgcl-1.04.xml trunk/ccm-ldn-terms/doc/esd/xml-ipsv/hierarchy-ipsv-1.00.xml trunk/ccm-ldn-terms/src/com/arsdigita/london/terms/Domain.java trunk/ccm-ldn-terms/src/com/arsdigita/london/terms/Term.java trunk/ccm-ldn-terms/src/com/arsdigita/london/terms/importer/Parser.java Log: Introducing 'preferred' category relation type in core categorization and ldn-terms to support ESD 'synonyms' and 'search terms' within Aplaws+ categorization service Ideally, search functionality should be added to the Assign Categories step, workaround here is to put synonyms as children of their preferred terms in category tree, and add 'preferred' relation from a synonym to preferred term/category. Previously, all synonyms were loaded as Orphaned Terms which rendered then unusable (not accessible in category tree widget and wrong category path - top-level category is used to select the category tree where category belongs to). NOTE: run provided upgrade script first, then reload LGCL and IPSV hierarchy and synonyms relations: ccm-run com.arsdigita.london.terms.Importer hierarchy-* ccm-run com.arsdigita.london.terms.Importer synonyms-* Modified: trunk/ccm-core/application.xml =================================================================== --- trunk/ccm-core/application.xml 2006-01-17 16:54:32 UTC (rev 1081) +++ trunk/ccm-core/application.xml 2006-01-17 17:09:52 UTC (rev 1082) @@ -2,8 +2,8 @@ <ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project" name="ccm-core" prettyName="Core" - version="6.3.0" - release="5" + version="6.3.1" + release="1" webapp="ROOT" buildHooks="build-hooks.xml"> <ccm:dependencies> Modified: trunk/ccm-core/sql/ccm-core/default/categorization/table-cat_category_category_map.sql =================================================================== --- trunk/ccm-core/sql/ccm-core/default/categorization/table-cat_category_category_map.sql 2006-01-17 16:54:32 UTC (rev 1081) +++ trunk/ccm-core/sql/ccm-core/default/categorization/table-cat_category_category_map.sql 2006-01-17 17:09:52 UTC (rev 1082) @@ -32,7 +32,7 @@ sort_key integer, relation_type varchar(10) constraint cat_cat_map_rel_type_ck - check(relation_type in ('child','related')), + check(relation_type in ('child','related','preferred')), constraint cat_cat_cat_map_ckone check(not category_id = related_category_id), constraint cat_cat_catmap_un Added: trunk/ccm-core/sql/ccm-core/default/upgrade/6.2.0-6.3.1/preferred-categories.sql =================================================================== --- trunk/ccm-core/sql/ccm-core/default/upgrade/6.2.0-6.3.1/preferred-categories.sql 2006-01-17 16:54:32 UTC (rev 1081) +++ trunk/ccm-core/sql/ccm-core/default/upgrade/6.2.0-6.3.1/preferred-categories.sql 2006-01-17 17:09:52 UTC (rev 1082) @@ -0,0 +1,5 @@ +alter table cat_category_category_map + drop constraint cat_cat_map_rel_type_ck ; +alter table cat_category_category_map + add constraint cat_cat_map_rel_type_ck check + (relation_type in ('child','related','preferred')) ; Added: trunk/ccm-core/sql/ccm-core/upgrade/oracle-se-6.2.0-6.3.1.sql =================================================================== --- trunk/ccm-core/sql/ccm-core/upgrade/oracle-se-6.2.0-6.3.1.sql 2006-01-17 16:54:32 UTC (rev 1081) +++ trunk/ccm-core/sql/ccm-core/upgrade/oracle-se-6.2.0-6.3.1.sql 2006-01-17 17:09:52 UTC (rev 1082) @@ -0,0 +1 @@ +@@ ../default/upgrade/6.2.0-6.3.1/preferred-categories.sql Added: trunk/ccm-core/sql/ccm-core/upgrade/postgres-6.2.0-6.3.1.sql =================================================================== --- trunk/ccm-core/sql/ccm-core/upgrade/postgres-6.2.0-6.3.1.sql 2006-01-17 16:54:32 UTC (rev 1081) +++ trunk/ccm-core/sql/ccm-core/upgrade/postgres-6.2.0-6.3.1.sql 2006-01-17 17:09:52 UTC (rev 1082) @@ -0,0 +1 @@ +\i ../default/upgrade/6.2.0-6.3.1/preferred-categories.sql Modified: trunk/ccm-core/src/ccm-core.upgrade =================================================================== --- trunk/ccm-core/src/ccm-core.upgrade 2006-01-17 16:54:32 UTC (rev 1081) +++ trunk/ccm-core/src/ccm-core.upgrade 2006-01-17 17:09:52 UTC (rev 1082) @@ -10,4 +10,7 @@ <version from="6.1.1" to="6.1.2"> <script sql="ccm-core/upgrade/::database::-6.1.1-6.1.2.sql"/> </version> + <version from="6.2.0" to="6.3.1"> + <script sql="ccm-core/upgrade/::database::-6.2.0-6.3.1.sql"/> + </version> </upgrade> Modified: trunk/ccm-core/src/com/arsdigita/categorization/Category.java =================================================================== --- trunk/ccm-core/src/com/arsdigita/categorization/Category.java 2006-01-17 16:54:32 UTC (rev 1081) +++ trunk/ccm-core/src/com/arsdigita/categorization/Category.java 2006-01-17 17:09:52 UTC (rev 1082) @@ -117,6 +117,7 @@ public static final String PARENTS = "parents"; /** An attribute name for the underlying data object. */ public static final String RELATED = "related"; + public static final String PREFERRED = "preferred"; /** An attribute name for the underlying data object. */ public static final String REL_TYPE = "relationType"; /** An attribute name for the underlying data object. */ @@ -825,6 +826,15 @@ public void addRelatedCategory(Category category) { addMapping(category, RELATED); } + + /** + * Add a preferred category, which marks the current category as a synonym. + * When a synonym category is selected, preferred category should be used instead + * i.e. assigned to the item. + */ + public void addPreferredCategory(Category preferred) { + addMapping(preferred, PREFERRED); + } /** @@ -858,6 +868,13 @@ // if the cursor.size() > 0 then the object is already // a child and does not need to be added again. add(CHILD_OBJECTS, acsObj); + if (s_log.isDebugEnabled()) { + s_log.debug(acsObj+" added to "+CHILD_OBJECTS+" of catID="+getID()+" type="+relationType+" (ignored)"); + } + } else { + if (s_log.isDebugEnabled()) { + s_log.debug(acsObj+" is already related to catID="+getID()+" type="+relationType+" (ignored)"); + } } } @@ -880,10 +897,19 @@ DataObject link; if ( cursor.next() ) { link = cursor.getLink(); + if (s_log.isDebugEnabled()) { + s_log.debug("existing related catID="+category.getID()+" "+link.get(REL_TYPE)+" default="+link.get(IS_DEFAULT)); + } } else { link = add(RELATED_CATEGORIES, category); + if (s_log.isDebugEnabled()) { + s_log.debug("adding new related catID="+category.getID()); + } } cursor.close(); + if (s_log.isDebugEnabled()) { + s_log.debug("updating related catID="+category.getID()+" type="+relationType+" default=false"); + } link.set(REL_TYPE, relationType); link.set(IS_DEFAULT, Boolean.FALSE); Added: trunk/ccm-ldn-terms/doc/esd/load.sh =================================================================== --- trunk/ccm-ldn-terms/doc/esd/load.sh 2006-01-17 16:54:32 UTC (rev 1081) +++ trunk/ccm-ldn-terms/doc/esd/load.sh 2006-01-17 17:09:52 UTC (rev 1082) @@ -0,0 +1,7 @@ +set -x +export JAVA_OPTS=-Xmx512m +time ccm-run com.arsdigita.london.terms.Importer domain-* +time ccm-run com.arsdigita.london.terms.Importer hierarchy-* +time ccm-run com.arsdigita.london.terms.Importer mapping-* +time ccm-run com.arsdigita.london.terms.Importer related-* +time ccm-run com.arsdigita.london.terms.Importer synonyms-* Modified: trunk/ccm-ldn-terms/doc/esd/xml-1.04/hierarchy-lgcl-1.04.xml =================================================================== --- trunk/ccm-ldn-terms/doc/esd/xml-1.04/hierarchy-lgcl-1.04.xml 2006-01-17 16:54:32 UTC (rev 1081) +++ trunk/ccm-ldn-terms/doc/esd/xml-1.04/hierarchy-lgcl-1.04.xml 2006-01-17 17:09:52 UTC (rev 1082) @@ -1,30 +1,78 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <terms:hierarchy xmlns:terms="http://xmlns.redhat.com/london/terms/1.0"> <terms:domain resource="http://www.esd.org.uk/standards/lgcl/1.04/termslist.xml"/> <terms:term id="1"/> + <terms:term id="93"/> + <terms:term id="204"/> + <terms:term id="281"/> + <terms:term id="596"/> + <terms:term id="946"/> <terms:term id="1007"/> <terms:term id="1021"/> <terms:term id="1039"/> <terms:term id="1286"/> <terms:term id="1325"/> <terms:term id="1337"/> - <terms:term id="204"/> - <terms:term id="281"/> <terms:term id="3088"/> <terms:term id="3168"/> - <terms:term id="596"/> - <terms:term id="93"/> - <terms:term id="946"/> <terms:orderedPair> <terms:source> <terms:term id="1"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="5"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="5"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="6"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="1"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="8"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="8"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="9"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="1"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> <terms:term id="11"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> + <terms:term id="3088"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="13"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="11"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="14"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> <terms:term id="1"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> @@ -33,14 +81,22 @@ </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="1"/> + <terms:term id="15"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="1523"/> + <terms:term id="16"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> + <terms:term id="15"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="20"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> <terms:term id="1"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> @@ -49,46 +105,102 @@ </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="1"/> + <terms:term id="160"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3100"/> + <terms:term id="43"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="1"/> + <terms:term id="3323"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3300"/> + <terms:term id="48"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="1"/> + <terms:term id="3323"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="49"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> <terms:term id="3323"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="50"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="1"/> + <terms:term id="3323"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3329"/> + <terms:term id="51"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="1"/> + <terms:term id="3323"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="5"/> + <terms:term id="52"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> + <terms:term id="3323"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="53"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3323"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="54"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3323"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="55"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3323"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="56"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="1812"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="57"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3323"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="58"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> <terms:term id="1"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> @@ -105,6 +217,22 @@ </terms:orderedPair> <terms:orderedPair> <terms:source> + <terms:term id="62"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="63"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="62"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="65"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> <terms:term id="1"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> @@ -113,6 +241,30 @@ </terms:orderedPair> <terms:orderedPair> <terms:source> + <terms:term id="66"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="67"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="62"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="68"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="459"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="69"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> <terms:term id="1"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> @@ -121,1042 +273,5218 @@ </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="1"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="8"/> + <terms:term id="71"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="11"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="14"/> + <terms:term id="72"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="15"/> + <terms:term id="78"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="16"/> + <terms:term id="74"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="15"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="20"/> + <terms:term id="75"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="15"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3091"/> + <terms:term id="76"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="15"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3159"/> + <terms:term id="78"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3091"/> + <terms:term id="70"/> </terms:source> - <terms:destination isDefault="true" isPreferred="false"> - <terms:term id="3137"/> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="79"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="21"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3318"/> + <terms:term id="80"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="21"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3319"/> + <terms:term id="81"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="21"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3320"/> + <terms:term id="84"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="21"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3321"/> + <terms:term id="85"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="21"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3322"/> + <terms:term id="86"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3301"/> + <terms:term id="87"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3302"/> + <terms:term id="89"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3303"/> + <terms:term id="90"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3304"/> + <terms:term id="91"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="93"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3305"/> + <terms:term id="95"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="95"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3306"/> + <terms:term id="96"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="95"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3307"/> + <terms:term id="98"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="95"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3308"/> + <terms:term id="99"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="3118"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3309"/> + <terms:term id="103"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="103"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3310"/> + <terms:term id="104"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="103"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="4226"/> + <terms:term id="105"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="103"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3312"/> + <terms:term id="106"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="184"/> </terms:source> + <terms:destination isDefault="false" isPreferred="true"> + <terms:term id="106"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="93"/> + </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3313"/> + <terms:term id="107"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="107"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3314"/> + <terms:term id="108"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="107"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3315"/> + <terms:term id="109"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="107"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3316"/> + <terms:term id="111"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="107"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="1812"/> + <terms:term id="113"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="3332"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3139"/> + <terms:term id="115"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="3332"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3324"/> + <terms:term id="116"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="3332"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3325"/> + <terms:term id="117"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="48"/> + <terms:term id="118"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="49"/> + <terms:term id="119"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="50"/> + <terms:term id="120"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="51"/> + <terms:term id="121"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="52"/> + <terms:term id="122"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="53"/> + <terms:term id="123"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="54"/> + <terms:term id="124"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="55"/> + <terms:term id="125"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="56"/> + <terms:term id="126"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="58"/> + <terms:term id="127"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="1812"/> + <terms:term id="117"/> </terms:source> - <terms:destination isDefault="true" isPreferred="false"> - <terms:term id="57"/> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="128"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="49"/> + <terms:term id="117"/> </terms:source> - <terms:destination isDefault="true" isPreferred="false"> - <terms:term id="2182"/> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="129"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="5"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="1664"/> + <terms:term id="130"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="5"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="6"/> + <terms:term id="131"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="59"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="1665"/> + <terms:term id="132"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="62"/> + <terms:term id="117"/> </terms:source> - <terms:destination isDefault="true" isPreferred="false"> - <terms:term id="1676"/> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="133"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="62"/> + <terms:term id="3332"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="63"/> + <terms:term id="134"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="62"/> + <terms:term id="3332"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="65"/> + <terms:term id="135"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="62"/> + <terms:term id="3332"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="68"/> + <terms:term id="136"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="66"/> + <terms:term id="3332"/> </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="137"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3332"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="139"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3332"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="141"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3332"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="142"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3332"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="143"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3332"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="144"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3332"/> .. |
From: <ap...@vh...> - 2006-01-17 16:58:47
|
Author: apevec Date: 2006-01-17 17:54:32 +0100 (Tue, 17 Jan 2006) New Revision: 1081 Modified: trunk/ccm-ldn-atoz/src/com/arsdigita/london/atoz/AtoZItemGenerator.java trunk/ccm-ldn-atoz/src/com/arsdigita/london/atoz/AtoZSiteProxyGenerator.java trunk/ccm-ldn-atoz/src/com/arsdigita/london/atoz/terms/DomainGenerator.java Log: use c.a.web.URL to generate links in all AtoZ generators Modified: trunk/ccm-ldn-atoz/src/com/arsdigita/london/atoz/AtoZItemGenerator.java =================================================================== --- trunk/ccm-ldn-atoz/src/com/arsdigita/london/atoz/AtoZItemGenerator.java 2006-01-17 16:05:34 UTC (rev 1080) +++ trunk/ccm-ldn-atoz/src/com/arsdigita/london/atoz/AtoZItemGenerator.java 2006-01-17 16:54:32 UTC (rev 1081) @@ -24,6 +24,9 @@ import com.arsdigita.persistence.DataQuery; import com.arsdigita.persistence.Filter; import com.arsdigita.persistence.OID; +import com.arsdigita.web.ParameterMap; +import com.arsdigita.web.URL; +import com.arsdigita.web.Web; import com.arsdigita.xml.Element; import java.math.BigDecimal; @@ -106,7 +109,13 @@ } public String getLink() { - return "/redirect/?oid=" + m_oid; + ParameterMap map = new ParameterMap(); + map.setParameter("oid", m_oid.toString()); + + URL here = Web.getContext().getRequestURL(); + + return (new URL(here.getScheme(), here.getServerName(), here + .getServerPort(), "", "", "/redirect/", map)).toString(); } public Element getContent() { Modified: trunk/ccm-ldn-atoz/src/com/arsdigita/london/atoz/AtoZSiteProxyGenerator.java =================================================================== --- trunk/ccm-ldn-atoz/src/com/arsdigita/london/atoz/AtoZSiteProxyGenerator.java 2006-01-17 16:05:34 UTC (rev 1080) +++ trunk/ccm-ldn-atoz/src/com/arsdigita/london/atoz/AtoZSiteProxyGenerator.java 2006-01-17 16:54:32 UTC (rev 1081) @@ -27,6 +27,9 @@ import com.arsdigita.persistence.DataQuery; import com.arsdigita.persistence.OID; import com.arsdigita.util.url.URLData; +import com.arsdigita.web.ParameterMap; +import com.arsdigita.web.URL; +import com.arsdigita.web.Web; import com.arsdigita.xml.Element; public class AtoZSiteProxyGenerator extends AbstractAtoZGenerator { @@ -105,7 +108,13 @@ } public String getLink() { - return "/redirect?oid=" + m_oid.toString(); + ParameterMap map = new ParameterMap(); + map.setParameter("oid", m_oid.toString()); + + URL here = Web.getContext().getRequestURL(); + + return (new URL(here.getScheme(), here.getServerName(), here + .getServerPort(), "", "", "/redirect/", map)).toString(); } public Element getContent() { Modified: trunk/ccm-ldn-atoz/src/com/arsdigita/london/atoz/terms/DomainGenerator.java =================================================================== --- trunk/ccm-ldn-atoz/src/com/arsdigita/london/atoz/terms/DomainGenerator.java 2006-01-17 16:05:34 UTC (rev 1080) +++ trunk/ccm-ldn-atoz/src/com/arsdigita/london/atoz/terms/DomainGenerator.java 2006-01-17 16:54:32 UTC (rev 1081) @@ -29,6 +29,9 @@ import com.arsdigita.persistence.DataObject; import com.arsdigita.persistence.Filter; import com.arsdigita.persistence.OID; +import com.arsdigita.web.ParameterMap; +import com.arsdigita.web.URL; +import com.arsdigita.web.Web; import com.arsdigita.xml.Element; import java.util.List; @@ -89,7 +92,13 @@ } public String getLink() { - return "/redirect/?oid=" + m_oid; + ParameterMap map = new ParameterMap(); + map.setParameter("oid", m_oid.toString()); + + URL here = Web.getContext().getRequestURL(); + + return (new URL(here.getScheme(), here.getServerName(), here + .getServerPort(), "", "", "/redirect/", map)).toString(); } public Element getContent() { |
From: <ap...@vh...> - 2006-01-17 16:09:34
|
Author: apevec Date: 2006-01-17 17:05:34 +0100 (Tue, 17 Jan 2006) New Revision: 1080 Added: trunk/ccm-ldn-aplaws/web/templates/ccm-ldn-portal/portal/custom.jsp Modified: trunk/ccm-ldn-aplaws/web/templates/ccm-ldn-portal/portal/index.jsp Log: experimental: make the portal homepage read-only and cached for 15min Dynamic no-cache version is available at /ccm/portal/custom.jsp for admins to get the 'customise area' links Added: trunk/ccm-ldn-aplaws/web/templates/ccm-ldn-portal/portal/custom.jsp =================================================================== --- trunk/ccm-ldn-aplaws/web/templates/ccm-ldn-portal/portal/custom.jsp 2006-01-13 14:50:28 UTC (rev 1079) +++ trunk/ccm-ldn-aplaws/web/templates/ccm-ldn-portal/portal/custom.jsp 2006-01-17 16:05:34 UTC (rev 1080) @@ -0,0 +1,37 @@ +<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" + xmlns:define="/WEB-INF/bebop-define.tld" + xmlns:show="/WEB-INF/bebop-show.tld" + version="1.2"> + + <jsp:directive.page + import="com.arsdigita.dispatcher.DispatcherHelper, + com.arsdigita.aplaws.ui.*"/> + + <jsp:scriptlet> + DispatcherHelper.cacheDisable(response); + </jsp:scriptlet> + +<define:page name="itemPage" application="portal" title="APLAWS" cache="true"> + + <define:component name="left" classname="com.arsdigita.aplaws.ui.HomepageWorkspace" /> + <define:component name="middle" classname="com.arsdigita.aplaws.ui.HomepageWorkspace" /> + <define:component name="right" classname="com.arsdigita.aplaws.ui.HomepageWorkspace" /> + + <jsp:scriptlet> +HomepageWorkspaceSelectionModel workspace = new HomepageWorkspaceSelectionModel(); +((HomepageWorkspace)left).setModel(new HomepagePortalSelectionModel(workspace, 0)); +((HomepageWorkspace)left).setName("left"); +((HomepageWorkspace)left).addWidgets(); +((HomepageWorkspace)middle).setModel(new HomepagePortalSelectionModel(workspace, 1)); +((HomepageWorkspace)middle).setName("middle"); +((HomepageWorkspace)middle).addWidgets(); +((HomepageWorkspace)right).setModel(new HomepagePortalSelectionModel(workspace, 2)); +((HomepageWorkspace)right).setCustomizable(true); +((HomepageWorkspace)right).setName("right"); +((HomepageWorkspace)right).addWidgets(); + </jsp:scriptlet> +</define:page> + +<show:all/> + +</jsp:root> Modified: trunk/ccm-ldn-aplaws/web/templates/ccm-ldn-portal/portal/index.jsp =================================================================== --- trunk/ccm-ldn-aplaws/web/templates/ccm-ldn-portal/portal/index.jsp 2006-01-13 14:50:28 UTC (rev 1079) +++ trunk/ccm-ldn-aplaws/web/templates/ccm-ldn-portal/portal/index.jsp 2006-01-17 16:05:34 UTC (rev 1080) @@ -8,7 +8,7 @@ com.arsdigita.aplaws.ui.*"/> <jsp:scriptlet> - DispatcherHelper.cacheDisable(response); + DispatcherHelper.cacheForWorld(response,900); </jsp:scriptlet> <define:page name="itemPage" application="portal" title="APLAWS" cache="true"> @@ -20,13 +20,15 @@ <jsp:scriptlet> HomepageWorkspaceSelectionModel workspace = new HomepageWorkspaceSelectionModel(); ((HomepageWorkspace)left).setModel(new HomepagePortalSelectionModel(workspace, 0)); +((HomepageWorkspace)left).setReadOnly(true); ((HomepageWorkspace)left).setName("left"); ((HomepageWorkspace)left).addWidgets(); ((HomepageWorkspace)middle).setModel(new HomepagePortalSelectionModel(workspace, 1)); +((HomepageWorkspace)middle).setReadOnly(true); ((HomepageWorkspace)middle).setName("middle"); ((HomepageWorkspace)middle).addWidgets(); ((HomepageWorkspace)right).setModel(new HomepagePortalSelectionModel(workspace, 2)); -((HomepageWorkspace)right).setCustomizable(true); +((HomepageWorkspace)right).setReadOnly(true); ((HomepageWorkspace)right).setName("right"); ((HomepageWorkspace)right).addWidgets(); </jsp:scriptlet> |
From: <ssk...@vh...> - 2006-01-13 14:54:15
|
Author: sskracic Date: 2006-01-13 15:50:28 +0100 (Fri, 13 Jan 2006) New Revision: 1079 Modified: contrib/ccm-ldn-camden-consultation/trunk/application.xml Log: Bumping the release number to reflect small fixes. Modified: contrib/ccm-ldn-camden-consultation/trunk/application.xml =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/application.xml 2006-01-13 14:49:53 UTC (rev 1078) +++ contrib/ccm-ldn-camden-consultation/trunk/application.xml 2006-01-13 14:50:28 UTC (rev 1079) @@ -3,7 +3,7 @@ name="ccm-ldn-camden-consultation" prettyName="Red Hat CCM Content Types" version="1.1.0" - release="3" + release="4" webapp="ROOT"> <ccm:dependencies> <ccm:requires name="ccm-core" version="6.1.1" relation="ge"/> |
From: <ssk...@vh...> - 2006-01-13 14:53:47
|
Author: sskracic Date: 2006-01-13 15:49:53 +0100 (Fri, 13 Jan 2006) New Revision: 1078 Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationsTable.java Log: By default, display current consultations, not all. Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationsTable.java =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationsTable.java 2006-01-13 14:49:01 UTC (rev 1077) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationsTable.java 2006-01-13 14:49:53 UTC (rev 1078) @@ -131,7 +131,7 @@ setDefaultOrderDirection(DESCENDING); m_filter = new StringParameter("filter"); - m_filter.setDefaultValue(ConsultationsFilter.FILTER_ALL); + m_filter.setDefaultValue(ConsultationsFilter.FILTER_CURRENT); addQueryListener(new QueryListener() { public void queryPending(QueryEvent e) { |
From: <ssk...@vh...> - 2006-01-13 14:52:49
|
Author: sskracic Date: 2006-01-13 15:49:01 +0100 (Fri, 13 Jan 2006) New Revision: 1077 Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertForm.java Log: Email address is mandatory. In case of having mod_proxy frontend, URL retrieved with URL.here(Web.getRequest(),...) might be incorrect. Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertForm.java =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertForm.java 2006-01-13 14:47:04 UTC (rev 1076) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertForm.java 2006-01-13 14:49:01 UTC (rev 1077) @@ -32,6 +32,7 @@ import com.arsdigita.bebop.form.Submit; import com.arsdigita.bebop.form.Widget; import com.arsdigita.bebop.parameters.EmailValidationListener; +import com.arsdigita.bebop.parameters.NotNullValidationListener; import com.arsdigita.bebop.parameters.ParameterData; import com.arsdigita.camden.cms.contenttypes.ConsultationAlert; import com.arsdigita.camden.cms.contenttypes.ConsultationUtil; @@ -134,6 +135,7 @@ } }); + m_email.addValidationListener(new NotNullValidationListener()); m_email.addValidationListener(new ParameterListener() { private EmailValidationListener m_emailValidation = @@ -304,8 +306,9 @@ alert.getConfirmationToken()); String confirmationURL = - URL.here(Web.getRequest(), - ConsultationAlert.CONFIRM_PATH, parameters).getURL(); + URL.there(Web.getContext().getApplication(), + ConsultationAlert.CONFIRM_PATH, + parameters).getURL(); String num = alert.getMobileNumber(); String[] args = {email, systemURL, confirmationURL, num}; |
From: <ssk...@vh...> - 2006-01-13 14:51:06
|
Author: sskracic Date: 2006-01-13 15:47:04 +0100 (Fri, 13 Jan 2006) New Revision: 1076 Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties Log: Corrected alert text. Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties 2006-01-10 13:06:34 UTC (rev 1075) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties 2006-01-13 14:47:04 UTC (rev 1076) @@ -326,7 +326,7 @@ # {4}: user's first name(s) # {5}: user's last name sms.pin.subject=PIN -sms.pin.text=Your PIN is {0}. Confirm your SMS subscriptionUsed for mob. number verification for {2} +sms.pin.text=Your PIN is {0}. Visit {2} to confirm your subscription to Camden consults alerts service. # {0}: number of newly published consultations # {1}: public URL of the server @@ -334,8 +334,8 @@ # {3}: user's email address # {4}: user's first name(s) # {5}: user's last name -sms.alert.subject=N -sms.alert.text=Check {0} new consultations at {2} -- \n{3} +sms.alert.subject={0} +sms.alert.text=London Borough of Camden new consultation alert {2} bulk_deletion=Bulk Deletion email_addresses=Email Addresses |
From: <ap...@vh...> - 2006-01-10 13:10:19
|
Author: apevec Date: 2006-01-10 14:06:34 +0100 (Tue, 10 Jan 2006) New Revision: 1075 Added: trunk/ccm-ldn-navigation/src/com/arsdigita/london/navigation/AddNavigation.java Log: command line tool to add a new Navigation instance Added: trunk/ccm-ldn-navigation/src/com/arsdigita/london/navigation/AddNavigation.java =================================================================== --- trunk/ccm-ldn-navigation/src/com/arsdigita/london/navigation/AddNavigation.java 2006-01-05 14:48:34 UTC (rev 1074) +++ trunk/ccm-ldn-navigation/src/com/arsdigita/london/navigation/AddNavigation.java 2006-01-10 13:06:34 UTC (rev 1075) @@ -0,0 +1,94 @@ +package com.arsdigita.london.navigation; + +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; + +import org.apache.commons.cli.CommandLine; +import org.apache.log4j.Logger; + +import com.arsdigita.categorization.Category; +import com.arsdigita.categorization.RootCategoryCollection; +import com.arsdigita.cms.ContentSection; +import com.arsdigita.cms.SecurityManager; +import com.arsdigita.cms.ui.role.RoleFactory; +import com.arsdigita.domain.DomainObject; +import com.arsdigita.domain.DomainObjectFactory; +import com.arsdigita.domain.DomainObjectInstantiator; +import com.arsdigita.kernel.Kernel; +import com.arsdigita.kernel.KernelExcursion; +import com.arsdigita.kernel.Role; +import com.arsdigita.kernel.RoleCollection; +import com.arsdigita.kernel.permissions.PrivilegeDescriptor; +import com.arsdigita.london.terms.Domain; +import com.arsdigita.london.util.Program; +import com.arsdigita.london.util.Transaction; +import com.arsdigita.persistence.DataObject; +import com.arsdigita.persistence.DataQuery; +import com.arsdigita.web.Application; + +public class AddNavigation extends Program { + + private static final Logger LOG = Logger.getLogger(AddNavigation.class); + + public AddNavigation() { + super("Add Navigation instance", "1.0.0", "URL-FRAGMENT TITLE DOMAIN-KEY"); + } + + private void addNavigation(String navURL, String navTitle, String defaultDomain) { + if (!Application.isInstalled(Navigation.BASE_DATA_OBJECT_TYPE, "/"+navURL+"/")) { + DomainObjectFactory.registerInstantiator( + Navigation.BASE_DATA_OBJECT_TYPE, new DomainObjectInstantiator() { + public DomainObject doNewInstance(DataObject dataObject) { + return new Navigation(dataObject); + } + }); + Application app = Application.createApplication( + Navigation.BASE_DATA_OBJECT_TYPE, navURL, navTitle, null); + app.save(); + Domain domain = Domain.retrieve(defaultDomain); + domain.setAsRootForObject(app, null); + } else { + System.err.println(Navigation.BASE_DATA_OBJECT_TYPE + + " already installed at " + navURL); + System.exit(1); + } + } + + protected void doRun(final CommandLine cmdLine) { + new Transaction() { + public void doRun() { + new KernelExcursion() { + public void excurse() { + setEffectiveParty(Kernel.getSystemParty()); + String[] args = cmdLine.getArgs(); + if (args.length == 3) { + String navURL = args[0]; + String navTitle = args[1]; + String domainKey = args[2]; + if (navURL != null && navURL.length() != 0 + && navTitle != null && navTitle.length() != 0 + && domainKey != null && domainKey.length() != 0) { + addNavigation(navURL, navTitle, domainKey); + } else { + help(System.err); + System.exit(1); + } + } else { + help(System.err); + System.exit(1); + } + } + }.run(); + } + }.run(); + } + + /** + * @param args + */ + public static void main(String[] args) { + new AddNavigation().run(args); + } + +} |
From: <ssk...@vh...> - 2006-01-05 14:52:14
|
Author: sskracic Date: 2006-01-05 15:48:34 +0100 (Thu, 05 Jan 2006) New Revision: 1074 Modified: contrib/ccm-ldn-camden-consultation/trunk/application.xml contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/Consultation.java Log: An omission which made creation of new consultations impossible. Modified: contrib/ccm-ldn-camden-consultation/trunk/application.xml =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/application.xml 2005-12-22 18:05:24 UTC (rev 1073) +++ contrib/ccm-ldn-camden-consultation/trunk/application.xml 2006-01-05 14:48:34 UTC (rev 1074) @@ -3,7 +3,7 @@ name="ccm-ldn-camden-consultation" prettyName="Red Hat CCM Content Types" version="1.1.0" - release="2" + release="3" webapp="ROOT"> <ccm:dependencies> <ccm:requires name="ccm-core" version="6.1.1" relation="ge"/> Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/Consultation.java =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/Consultation.java 2005-12-22 18:05:24 UTC (rev 1073) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/Consultation.java 2006-01-05 14:48:34 UTC (rev 1074) @@ -99,6 +99,7 @@ super(type); setAlertSent(Boolean.FALSE); + setSMSAlertSent(Boolean.FALSE); } /** |
From: <ssk...@vh...> - 2005-12-22 18:08:31
|
Author: sskracic Date: 2005-12-22 19:05:24 +0100 (Thu, 22 Dec 2005) New Revision: 1073 Modified: contrib/ccm-ldn-camden-consultation/trunk/application.xml contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertForm.java contrib/ccm-ldn-camden-consultation/trunk/web/packages/consultations/www/alert-remove.jsp Log: MInor fixes. Modified: contrib/ccm-ldn-camden-consultation/trunk/application.xml =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/application.xml 2005-12-21 10:58:25 UTC (rev 1072) +++ contrib/ccm-ldn-camden-consultation/trunk/application.xml 2005-12-22 18:05:24 UTC (rev 1073) @@ -3,7 +3,7 @@ name="ccm-ldn-camden-consultation" prettyName="Red Hat CCM Content Types" version="1.1.0" - release="1" + release="2" webapp="ROOT"> <ccm:dependencies> <ccm:requires name="ccm-core" version="6.1.1" relation="ge"/> Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertForm.java =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertForm.java 2005-12-21 10:58:25 UTC (rev 1072) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertForm.java 2005-12-22 18:05:24 UTC (rev 1073) @@ -178,7 +178,8 @@ if (isCancelled(state)) { return; } - if (data == null || data.getValue().toString().trim().length() == 0) { + if (data == null || data.getValue() == null + || data.getValue().toString().trim().length() == 0) { return; } StringBuffer number = new StringBuffer(data.getValue().toString()); Modified: contrib/ccm-ldn-camden-consultation/trunk/web/packages/consultations/www/alert-remove.jsp =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/web/packages/consultations/www/alert-remove.jsp 2005-12-21 10:58:25 UTC (rev 1072) +++ contrib/ccm-ldn-camden-consultation/trunk/web/packages/consultations/www/alert-remove.jsp 2005-12-22 18:05:24 UTC (rev 1073) @@ -20,7 +20,7 @@ classname="com.arsdigita.london.navigation.ui.category.Path"/> <define:component name="categoryMenu" classname="com.arsdigita.london.navigation.ui.category.Menu"/> - <define:component name="alertForm" + <define:component name="alertRemoveForm" classname="com.arsdigita.camden.cms.contenttypes.ui.AlertRemoveForm"/> <jsp:scriptlet> |
From: <ssk...@vh...> - 2005-12-21 11:02:11
|
Author: sskracic Date: 2005-12-21 11:58:25 +0100 (Wed, 21 Dec 2005) New Revision: 1072 Modified: contrib/ccm-ldn-camden-consultation/trunk/application.xml contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/admin/BulkMobileDeletionForm.java Log: Bumped release number, ready to install, fixed some minor issues. Modified: contrib/ccm-ldn-camden-consultation/trunk/application.xml =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/application.xml 2005-12-20 19:04:35 UTC (rev 1071) +++ contrib/ccm-ldn-camden-consultation/trunk/application.xml 2005-12-21 10:58:25 UTC (rev 1072) @@ -3,7 +3,7 @@ name="ccm-ldn-camden-consultation" prettyName="Red Hat CCM Content Types" version="1.1.0" - release="0" + release="1" webapp="ROOT"> <ccm:dependencies> <ccm:requires name="ccm-core" version="6.1.1" relation="ge"/> Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties 2005-12-20 19:04:35 UTC (rev 1071) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties 2005-12-21 10:58:25 UTC (rev 1072) @@ -339,6 +339,7 @@ bulk_deletion=Bulk Deletion email_addresses=Email Addresses +mobile_numbers=Mobile Numbers # {0}: count of deleted Consultation alerts alerts_bulk_deleted=<p>{0} alert(s) have been deleted.</p> Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/admin/BulkMobileDeletionForm.java =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/admin/BulkMobileDeletionForm.java 2005-12-20 19:04:35 UTC (rev 1071) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/admin/BulkMobileDeletionForm.java 2005-12-21 10:58:25 UTC (rev 1072) @@ -51,33 +51,19 @@ public final static String DELETION_COUNT = "deletionCount"; public final static String DELETED_PATH = "/admin/deleted.jsp"; - private ParameterModel m_number = new StringParameter("mobile"); public BulkMobileDeletionForm() { - this(FORM_NAME, ConsultationUtil.globalize("bulk_mobile_deletion")); - } - - - - public BulkMobileDeletionForm(String name, GlobalizedMessage heading) { - super(name, heading); - + super(FORM_NAME, new Label()); addWidgets(); } - public BulkMobileDeletionForm(String name, Label heading) { - super(name, heading); - - addWidgets(); - } - private void addWidgets() { Label label = new Label(ConsultationUtil.globalize("mobile_numbers")); - TextArea emailAddressesWidget = new TextArea(new TrimmedStringParameter(MOBILE_NUMBERS)); - emailAddressesWidget.setCols(72); - emailAddressesWidget.setRows(10); - addField(label, emailAddressesWidget); + TextArea mobileNumbersWidget = new TextArea(new TrimmedStringParameter(MOBILE_NUMBERS)); + mobileNumbersWidget.setCols(72); + mobileNumbersWidget.setRows(10); + addField(label, mobileNumbersWidget); addAction(new Submit(GlobalizationUtil.globalize("cms.ui.delete"))); addAction(new Cancel()); @@ -106,19 +92,21 @@ mobilesToDelete.add(mobileBuf.toString()); } - DataCollection alerts = SessionManager.getSession() - .retrieve(ConsultationAlert.BASE_DATA_OBJECT_TYPE); - alerts.addEqualsFilter(ConsultationAlert.EMAIL_CONFIRMED, Boolean.TRUE); - alerts.addEqualsFilter(ConsultationAlert.MOBILE_CONFIRMED, Boolean.TRUE); - Filter f = alerts.addFilter(ConsultationAlert.MOBILE_NUMBER + " in :mobiles"); - f.set("mobiles", mobilesToDelete); - while (alerts.next()) { - ConsultationAlert alert = new ConsultationAlert(alerts.getDataObject()); - alert.setMobileNumber(null); - alert.clearMobilePin(); - alert.setMobileConfirmed(Boolean.FALSE); - alert.save(); - deletionCount++; + if (mobilesToDelete.size() > 0) { + DataCollection alerts = SessionManager.getSession() + .retrieve(ConsultationAlert.BASE_DATA_OBJECT_TYPE); + alerts.addEqualsFilter(ConsultationAlert.EMAIL_CONFIRMED, Boolean.TRUE); + alerts.addEqualsFilter(ConsultationAlert.MOBILE_CONFIRMED, Boolean.TRUE); + Filter f = alerts.addFilter(ConsultationAlert.MOBILE_NUMBER + " in :mobiles"); + f.set("mobiles", mobilesToDelete); + while (alerts.next()) { + ConsultationAlert alert = new ConsultationAlert(alerts.getDataObject()); + alert.setMobileNumber(null); + alert.clearMobilePin(); + alert.setMobileConfirmed(Boolean.FALSE); + alert.save(); + deletionCount++; + } } ParameterMap parameters = new ParameterMap(); |
From: <ssk...@vh...> - 2005-12-20 19:07:32
|
Author: sskracic Date: 2005-12-20 20:04:35 +0100 (Tue, 20 Dec 2005) New Revision: 1071 Added: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/admin/BulkMobileDeletionForm.java Modified: contrib/ccm-ldn-camden-consultation/trunk/web/packages/consultations/www/admin/index.jsp Log: Added bulk mobile number deletion form. Added: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/admin/BulkMobileDeletionForm.java =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/admin/BulkMobileDeletionForm.java 2005-12-20 18:51:56 UTC (rev 1070) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/admin/BulkMobileDeletionForm.java 2005-12-20 19:04:35 UTC (rev 1071) @@ -0,0 +1,132 @@ +/* + * Copyright (C) 2005 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.camden.cms.contenttypes.ui.admin; + +import com.arsdigita.bebop.FormData; +import com.arsdigita.bebop.FormProcessException; +import com.arsdigita.bebop.Label; +import com.arsdigita.bebop.PageState; +import com.arsdigita.bebop.event.FormProcessListener; +import com.arsdigita.bebop.event.FormSectionEvent; +import com.arsdigita.bebop.form.Submit; +import com.arsdigita.bebop.form.TextArea; +import com.arsdigita.bebop.parameters.ParameterModel; +import com.arsdigita.bebop.parameters.StringParameter; +import com.arsdigita.bebop.parameters.TrimmedStringParameter; +import com.arsdigita.camden.cms.contenttypes.ConsultationAlert; +import com.arsdigita.camden.cms.contenttypes.ConsultationUtil; +import com.arsdigita.cms.ui.BaseForm; +import com.arsdigita.cms.util.GlobalizationUtil; +import com.arsdigita.globalization.GlobalizedMessage; +import com.arsdigita.persistence.DataCollection; +import com.arsdigita.persistence.Filter; +import com.arsdigita.persistence.SessionManager; +import com.arsdigita.web.ParameterMap; +import com.arsdigita.web.RedirectSignal; +import com.arsdigita.web.URL; +import java.util.ArrayList; +import java.util.List; + +public class BulkMobileDeletionForm + extends BaseForm implements FormProcessListener { + + public final static String FORM_NAME = "bulkMobileDeletion"; + public final static String MOBILE_NUMBERS = "mobileNumbers"; + public final static String DELETION_COUNT = "deletionCount"; + public final static String DELETED_PATH = "/admin/deleted.jsp"; + + + private ParameterModel m_number = new StringParameter("mobile"); + + public BulkMobileDeletionForm() { + this(FORM_NAME, ConsultationUtil.globalize("bulk_mobile_deletion")); + } + + + + public BulkMobileDeletionForm(String name, GlobalizedMessage heading) { + super(name, heading); + + addWidgets(); + } + + public BulkMobileDeletionForm(String name, Label heading) { + super(name, heading); + + addWidgets(); + } + + private void addWidgets() { + Label label = new Label(ConsultationUtil.globalize("mobile_numbers")); + TextArea emailAddressesWidget = new TextArea(new TrimmedStringParameter(MOBILE_NUMBERS)); + emailAddressesWidget.setCols(72); + emailAddressesWidget.setRows(10); + addField(label, emailAddressesWidget); + + addAction(new Submit(GlobalizationUtil.globalize("cms.ui.delete"))); + addAction(new Cancel()); + + addProcessListener(this); + } + + public void process(FormSectionEvent fse) throws FormProcessException { + FormData data = fse.getFormData(); + PageState state = fse.getPageState(); + + if (isCancelled(state)) { + URL target = URL.here(state.getRequest(), null); + throw new RedirectSignal(target, false); + } + + String[] mobiles = data.getString(MOBILE_NUMBERS).split("\\n+"); + int deletionCount = 0; + List mobilesToDelete = new ArrayList(); + for (int i = 0; i < mobiles.length; i++) { + StringBuffer mobileBuf = new StringBuffer(mobiles[i]); + List errors = ConsultationUtil.getConfig().getSMSProvider().validateNumber(mobileBuf); + if (errors.size() > 0) { + continue; + } + mobilesToDelete.add(mobileBuf.toString()); + } + + DataCollection alerts = SessionManager.getSession() + .retrieve(ConsultationAlert.BASE_DATA_OBJECT_TYPE); + alerts.addEqualsFilter(ConsultationAlert.EMAIL_CONFIRMED, Boolean.TRUE); + alerts.addEqualsFilter(ConsultationAlert.MOBILE_CONFIRMED, Boolean.TRUE); + Filter f = alerts.addFilter(ConsultationAlert.MOBILE_NUMBER + " in :mobiles"); + f.set("mobiles", mobilesToDelete); + while (alerts.next()) { + ConsultationAlert alert = new ConsultationAlert(alerts.getDataObject()); + alert.setMobileNumber(null); + alert.clearMobilePin(); + alert.setMobileConfirmed(Boolean.FALSE); + alert.save(); + deletionCount++; + } + + ParameterMap parameters = new ParameterMap(); + parameters.setParameter(DELETION_COUNT, String.valueOf(deletionCount)); + URL target = + URL.here(state.getRequest(), DELETED_PATH, parameters); + throw new RedirectSignal(target, true); + } + +} + Property changes on: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/admin/BulkMobileDeletionForm.java ___________________________________________________________________ Name: svn:keywords + Id Author URL Modified: contrib/ccm-ldn-camden-consultation/trunk/web/packages/consultations/www/admin/index.jsp =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/web/packages/consultations/www/admin/index.jsp 2005-12-20 18:51:56 UTC (rev 1070) +++ contrib/ccm-ldn-camden-consultation/trunk/web/packages/consultations/www/admin/index.jsp 2005-12-20 19:04:35 UTC (rev 1071) @@ -29,6 +29,8 @@ classname="com.arsdigita.london.navigation.ui.category.Menu"/> <define:component name="alertConfirm" classname="com.arsdigita.camden.cms.contenttypes.ui.admin.BulkDeletionForm"/> + <define:component name="smsAlertConfirm" + classname="com.arsdigita.camden.cms.contenttypes.ui.admin.BulkMobileDeletionForm"/> <jsp:scriptlet> bulkDeletionPage.addRequestListener(new ApplicationAuthenticationListener()); |
From: <ssk...@vh...> - 2005-12-20 18:55:08
|
Author: sskracic Date: 2005-12-20 19:51:56 +0100 (Tue, 20 Dec 2005) New Revision: 1070 Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/MobifiSMSProvider.java contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/SMSEmailProvider.java contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/VipSMSProvider.java contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertForm.java Log: Changed interface of SMSEmailProvider so that number validation is rid of Bebop legacy. The decision to modify passed in StringBuffer is a bit clumsy, though. Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/MobifiSMSProvider.java =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/MobifiSMSProvider.java 2005-12-20 17:51:16 UTC (rev 1069) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/MobifiSMSProvider.java 2005-12-20 18:51:56 UTC (rev 1070) @@ -1,7 +1,8 @@ package com.arsdigita.camden.cms.contenttypes; -import com.arsdigita.bebop.parameters.ParameterData; import com.arsdigita.util.Assert; +import java.util.List; +import java.util.ArrayList; public class MobifiSMSProvider implements SMSEmailProvider { @@ -21,12 +22,12 @@ /** * Performs a mobile number validation for the supplied number. - * Errors, if any, will be attached to the supplied ParameterData object. - * The number will be normalised, ie. will start with +44 - * @param data ParameterData for the mobile number UI widget + * @param mobileNumber a number we want to validate + * @return list of error GlobalizedMessages. List is empty if the number is valid. */ - public void validateNumber(ParameterData data) { - String number = data.getValue().toString().replaceAll("[^0-9]", ""); + public List validateNumber(StringBuffer mobileNumber) { + List errors = new ArrayList(); + String number = mobileNumber.toString().replaceAll("[^0-9]", ""); // number is valid if it starts with 447 or 07 or 7 // First strip the leading country prefix, if exists number = number.replaceFirst("^44", ""); @@ -36,11 +37,11 @@ // It must be at least (or exactly?) 10 digits in length // 7789 xxx xxx if (!number.startsWith("7") || number.length() < 10) { - data.addError((String)ConsultationUtil. - globalize("invalid_mobile").localize()); + errors.add(ConsultationUtil.globalize("invalid_mobile")); } else { - data.setValue("+44" + number); + mobileNumber.replace(0, mobileNumber.length(), "+44" + number); } + return errors; } } Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/SMSEmailProvider.java =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/SMSEmailProvider.java 2005-12-20 17:51:16 UTC (rev 1069) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/SMSEmailProvider.java 2005-12-20 18:51:56 UTC (rev 1070) @@ -1,6 +1,6 @@ package com.arsdigita.camden.cms.contenttypes; -import com.arsdigita.bebop.parameters.ParameterData; +import java.util.List; public interface SMSEmailProvider { @@ -15,9 +15,10 @@ /** * Performs a mobile number validation for the supplied number. - * Errors, if any, will be attached to the supplied ParameterData object. - * @param data ParameterData for the mobile number UI widget + * The input mobileNumber can be altered during the validation. + * @param mobileNumber a number we want to validate. + * @return list of error GlobalizedMessages. List is empty if the number is valid. */ - void validateNumber(ParameterData data); + List validateNumber(StringBuffer mobileNumber); } Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/VipSMSProvider.java =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/VipSMSProvider.java 2005-12-20 17:51:16 UTC (rev 1069) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/VipSMSProvider.java 2005-12-20 18:51:56 UTC (rev 1070) @@ -1,7 +1,8 @@ package com.arsdigita.camden.cms.contenttypes; -import com.arsdigita.bebop.parameters.ParameterData; import com.arsdigita.util.Assert; +import java.util.List; +import java.util.ArrayList; /** * Used for testing only, since it accepts only @@ -26,12 +27,12 @@ /** * Performs a mobile number validation for the supplied number. - * Errors, if any, will be attached to the supplied ParameterData object. - * The number will be normalised, ie. will start with +385 - * @param data ParameterData for the mobile number UI widget + * @param mobileNumber a number we want to validate + * @return list of error GlobalizedMessages. List is empty if the number is valid. */ - public void validateNumber(ParameterData data) { - String number = data.getValue().toString().replaceAll("[^0-9]", ""); + public List validateNumber(StringBuffer mobileNumber) { + List errors = new ArrayList(); + String number = mobileNumber.toString().replaceAll("[^0-9]", ""); // number is valid if it starts with VIP prefix // First strip the leading country prefix, if exists number = number.replaceFirst("^385", ""); @@ -41,11 +42,11 @@ // It must be at least (or exactly?) 9 digits in length // 91 xxx xx xx if (!number.startsWith("91") || number.length() < 9) { - data.addError((String)ConsultationUtil. - globalize("invalid_mobile").localize()); + errors.add(ConsultationUtil.globalize("invalid_mobile")); } else { - data.setValue("+385" + number); + mobileNumber.replace(0, mobileNumber.length(), "+385" + number); } + return errors; } } Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertForm.java =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertForm.java 2005-12-20 17:51:16 UTC (rev 1069) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertForm.java 2005-12-20 18:51:56 UTC (rev 1070) @@ -45,6 +45,8 @@ import com.arsdigita.web.URL; import com.arsdigita.web.Web; import java.util.Date; +import java.util.Iterator; +import java.util.List; import java.util.TooManyListenersException; import javax.mail.MessagingException; @@ -179,7 +181,13 @@ if (data == null || data.getValue().toString().trim().length() == 0) { return; } - ConsultationUtil.getConfig().getSMSProvider().validateNumber(data); + StringBuffer number = new StringBuffer(data.getValue().toString()); + List errors = ConsultationUtil.getConfig().getSMSProvider().validateNumber(number); + for (Iterator it=errors.iterator(); it.hasNext(); ) { + GlobalizedMessage msg = (GlobalizedMessage) it.next(); + data.addError( (String) msg.localize()); + } + data.setValue(number.toString()); } }); addField(ConsultationUtil.globalize("mobile"), m_mobile); |
Author: sskracic Date: 2005-12-20 18:51:16 +0100 (Tue, 20 Dec 2005) New Revision: 1069 Added: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/AlertRemoveForm.java contrib/ccm-ldn-camden-consultation/trunk/web/packages/consultations/www/alert-remove.jsp contrib/ccm-ldn-camden-consultation/trunk/web/packages/consultations/www/alert-sms-trigger.jsp Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationAlert.java contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationUtil.java contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertConfirm.java contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertForm.java Log: Almost there. Implemented everything except admin page for bulk mobile number deletion. Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationAlert.java =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationAlert.java 2005-12-19 14:04:33 UTC (rev 1068) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationAlert.java 2005-12-20 17:51:16 UTC (rev 1069) @@ -59,6 +59,8 @@ public final static String CONFIRM_PATH = "/alert.jsp"; public final static String CONFIRM_PARAMETER = "co"; public final static String CANCEL_PARAMETER = "ca"; + public final static String CANCEL_SMS_PARAMETER = "cs"; + public final static String REMOVAL_REQUEST_PARAMETER = "rr"; public ConsultationAlert() { this(BASE_DATA_OBJECT_TYPE); @@ -250,6 +252,28 @@ return result; } + public static String cancelSMS(String token) { + DataCollection alerts = + SessionManager.getSession().retrieve(BASE_DATA_OBJECT_TYPE); + alerts.addEqualsFilter(CANCELLATION_TOKEN, token); + + String result = null; + if (alerts.next()) { + ConsultationAlert alert = + new ConsultationAlert(alerts.getDataObject()); + alerts.close(); + + result = alert.getMobileNumber(); + alert.setMobileNumber(null); + alert.clearMobilePin(); + alert.setMobileConfirmed(Boolean.FALSE); + alert.save(); + } + + return result; + } + + public static ConsultationAlert findByEmail(String email) { DataCollection alerts = SessionManager.getSession().retrieve(BASE_DATA_OBJECT_TYPE); @@ -308,6 +332,9 @@ return; } + ConsultationApp app = ConsultationApp.retrieveApplication(); + String consultationURL = URL.there(app, "", null).getURL(); + // Compose the text of an SMS instance: DataCollection alerts = dbSession.retrieve(BASE_DATA_OBJECT_TYPE); @@ -317,13 +344,16 @@ String siteURL = URL.root().getURL(); String from = ConsultationUtil.getConfig().getAlertsSenderEmail(); - String[] args = { String.valueOf(itemCount), siteURL }; - String smsText = (String) ConsultationUtil.globalize("sms.alert.text", args).localize(locale); - // Not sure whether this gets through the gateway at all - String smsSubject = (String) ConsultationUtil.globalize("sms.alert.subject").localize(locale); + while (alerts.next()) { - while (alerts.next()) { ConsultationAlert alert = new ConsultationAlert(alerts.getDataObject()); + + String[] args = { String.valueOf(itemCount), siteURL, consultationURL, + alert.getEmail(), alert.getFirstNames(), alert.getLastName() }; + // Not sure whether the subject gets through the gateway at all, but just in case + String smsSubject = (String) ConsultationUtil.globalize("sms.alert.subject", args).localize(locale); + String smsText = (String) ConsultationUtil.globalize("sms.alert.text", args).localize(locale); + String mobile = alert.getMobileNumber(); // Convert mobile number to email2sms gateway address String smsEmail = ConsultationUtil.getConfig().getSMSProvider().getEmail(mobile); Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties 2005-12-19 14:04:33 UTC (rev 1068) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationResources.properties 2005-12-20 17:51:16 UTC (rev 1069) @@ -235,6 +235,12 @@ \ <p>You will no longer receive emails about new consultation items.</p> +# {0}: mobile number for which the SMS alert was requested +cancel_token_sms.success=\ +<p>The alert for {0} has been removed.</p>\ +\ +<p>You will no longer receive SMS alerts about new consultation items.</p> + verify_token.success=\ <p>Your request to alert {0} of newly published consultation \ items has been stored.</p>\ @@ -313,15 +319,23 @@ \n\ {3} -sms.pin.subject=PIN # {0}: PIN for mobile number verification # {1}: public URL of the server -sms.pin.text=Your PIN is {0}. Used for mob. number verification for {1} +# {2}: consultations URL +# {3}: user's email address (still not validated at this stage!) +# {4}: user's first name(s) +# {5}: user's last name +sms.pin.subject=PIN +sms.pin.text=Your PIN is {0}. Confirm your SMS subscriptionUsed for mob. number verification for {2} -sms.alert.subject=New consultations # {0}: number of newly published consultations # {1}: public URL of the server -sms.alert.text=Check {0} new consultations at {1} +# {2}: consultations URL +# {3}: user's email address +# {4}: user's first name(s) +# {5}: user's last name +sms.alert.subject=N +sms.alert.text=Check {0} new consultations at {2} -- \n{3} bulk_deletion=Bulk Deletion email_addresses=Email Addresses @@ -333,3 +347,57 @@ <p>The URL does not contain the count of deleted alerts.</p>\ \ <p>This is most likely an internal error.</p> + +remove_alert=Remove alert +remove_alert_help=To disable alerts about new consultations, please first enter the recipient email address +no_email=Email address is required +email_unknown=No alerts are being sent to this email address +request_removal=Send removal code + +# {0}: user's email address +removal_request.sent=\ +<p>Your request to disable alerts sent to {0} has been accepted.</p>\n\ +\n\ +<p>To ensure that this request was made by you, alerts will only be disabled\n\ +after you confirm the request. You will receive an email with further\n\ +instructions shortly.</p> + +# The substitutions for removal_request.subject, removal_request.body, removal_with_sms_request.subject and removal_request.with_sms.body +# are as follows: +# {0}: user's first name(s) +# {1}: user's last name +# {2}: user's email address +# {3}: public site URL +# {4}: consultation index URL +# {5}: URL for complete alert removal +# {6}: URL for disabling SMS alerts only, if set +# {7}: user's mobile number +removal_request.subject=Alert removal request for {3} +removal_request.body=\n\ + We have received a request to stop alerting {2}\n\ +of new consultation information published on {4}\n\ +\n\ + If you do not want to receive alerts for newly published content,\n\ +you can cancel them with the link below:\n\ +\n\ +{5}\n\ +\n\ + If you want to keep your alerts unchanged, no action is required. +removal_with_sms_request.subject=Alert removal request for {3} +removal_with_sms_request.body=\n\ + We have received a request to stop alerting {2}\n\ +of new consultation information published on {4}\n\ +\n\ + SMS alerts are also going to mobile number {7}.\n\ +\n\ + To disable SMS alerts, please click on the link below\n\ +(email alerts will still be active):\n\ +\n\ +{6}\n\ +\n\ + To completely cancel both SMS and email alerts, please\n\ +use this link:\n\ +\n\ +{5}\n\ +\n\ + If you want to keep your alerts unchanged, no action is required. Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationUtil.java =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationUtil.java 2005-12-19 14:04:33 UTC (rev 1068) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ConsultationUtil.java 2005-12-20 17:51:16 UTC (rev 1069) @@ -31,6 +31,7 @@ import com.arsdigita.persistence.DataCollection; import com.arsdigita.persistence.SessionManager; import com.arsdigita.web.Application; +import com.arsdigita.web.ParameterMap; import com.arsdigita.web.URL; import java.math.BigDecimal; import java.util.Iterator; @@ -163,16 +164,19 @@ } - public static void sendPin(String mobileNumber, String pin) { + public static void sendPin(ConsultationAlert alert) { Locale locale = Locale.getDefault(); String siteURL = URL.root().getURL(); - String[] args = { pin, siteURL }; + ConsultationApp app = ConsultationApp.retrieveApplication(); + String consultationURL = URL.there(app, "", null).getURL(); + String[] args = { alert.getMobilePin(), siteURL, consultationURL, + alert.getEmail(), alert.getFirstNames(), alert.getLastName()}; String from = getConfig().getAlertsSenderEmail(); - String smsSubject = (String) globalize("sms.pin.subject").localize(locale); + String smsSubject = (String) globalize("sms.pin.subject", args).localize(locale); String smsText = (String) globalize("sms.pin.text", args).localize(locale); - String smsEmail = getConfig().getSMSProvider().getEmail(mobileNumber); + String smsEmail = getConfig().getSMSProvider().getEmail(alert.getMobileNumber()); try { - s_log.debug("About to send PIN to " + mobileNumber + " using email: " + smsEmail); + s_log.debug("About to send PIN to " + alert.getMobileNumber() + " using email: " + smsEmail); Mail.send(smsEmail, from, smsSubject, smsText); } catch (MessagingException ex) { s_log.warn("Exception while sending pin to " + @@ -181,4 +185,44 @@ } + public static void sendAlertRemovalLinks(ConsultationAlert alert) { + Locale locale = Locale.getDefault(); + String siteURL = URL.root().getURL(); + ConsultationApp app = ConsultationApp.retrieveApplication(); + String consultationURL = URL.there(app, "", null).getURL(); + String from = getConfig().getAlertsSenderEmail(); + String to = alert.getEmail(); + String subject; + String body; + ParameterMap parameters = new ParameterMap(); + parameters.setParameter(ConsultationAlert.CANCEL_PARAMETER, + alert.getCancellationToken()); + String alertRemovalURL = + URL.there(app, ConsultationAlert.CONFIRM_PATH, parameters).getURL(); + parameters = new ParameterMap(); + parameters.setParameter(ConsultationAlert.CANCEL_SMS_PARAMETER, + alert.getCancellationToken()); + String smsRemovalURL = + URL.there(app, ConsultationAlert.CONFIRM_PATH, parameters).getURL(); + + String[] args = { alert.getFirstNames(), alert.getLastName(), alert.getEmail(), + siteURL, consultationURL, alertRemovalURL, smsRemovalURL, + alert.getMobileNumber() }; + if (Boolean.TRUE.equals(alert.getMobileConfirmed())) { + subject = (String) globalize("removal_with_sms_request.subject", args).localize(locale); + body = (String) globalize("removal_with_sms_request.body", args).localize(locale); + } else { + subject = (String) globalize("removal_request.subject", args).localize(locale); + body = (String) globalize("removal_request.body", args).localize(locale); + } + try { + s_log.debug("Sending alert removal links to " + to); + Mail.send(to, from, subject, body); + } catch (MessagingException ex) { + s_log.warn("Exception while sending email to " + + to + ": " + ex.getMessage()); + } + } + + } Added: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/AlertRemoveForm.java =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/AlertRemoveForm.java 2005-12-19 14:04:33 UTC (rev 1068) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/AlertRemoveForm.java 2005-12-20 17:51:16 UTC (rev 1069) @@ -0,0 +1,154 @@ +/* + * Copyright (C) 2005 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.camden.cms.contenttypes.ui; + +import com.arsdigita.bebop.FormData; +import com.arsdigita.bebop.FormProcessException; +import com.arsdigita.bebop.Label; +import com.arsdigita.bebop.PageState; +import com.arsdigita.bebop.event.FormProcessListener; +import com.arsdigita.bebop.event.FormSectionEvent; +import com.arsdigita.bebop.event.ParameterEvent; +import com.arsdigita.bebop.event.ParameterListener; +import com.arsdigita.bebop.form.Submit; +import com.arsdigita.bebop.parameters.EmailValidationListener; +import com.arsdigita.bebop.parameters.ParameterData; +import com.arsdigita.camden.cms.contenttypes.ConsultationAlert; +import com.arsdigita.camden.cms.contenttypes.ConsultationUtil; +import com.arsdigita.cms.ui.BaseForm; +import com.arsdigita.globalization.GlobalizedMessage; +import com.arsdigita.persistence.DataCollection; +import com.arsdigita.persistence.SessionManager; +import com.arsdigita.web.ParameterMap; +import com.arsdigita.web.RedirectSignal; +import com.arsdigita.web.URL; + +/** + * <p>Allows user to disable either SMS or both email and SMS + * alerts. </p> + * + * @author Sebastian Skracic + * @version $Id$ + */ +public class AlertRemoveForm + extends BaseForm implements FormProcessListener { + + public final static String FORM_NAME = "remove"; + + public AlertRemoveForm() { + this(FORM_NAME, ConsultationUtil.globalize("remove_alert")); + } + + public AlertRemoveForm(String name, GlobalizedMessage heading) { + this(name, new Label(heading)); + } + + public AlertRemoveForm(String name, Label heading) { + super(name, heading); + + addWidgets(); + } + + private void addWidgets() { + + addComponent(new Label(ConsultationUtil.globalize("remove_alert_help"))); + + Name email = new Name(ConsultationAlert.EMAIL, 100, false); + + email.addValidationListener(new ParameterListener() { + + private EmailValidationListener m_emailValidation = + new EmailValidationListener(); + + public void validate(ParameterEvent e) throws FormProcessException { + PageState state = e.getPageState(); + ParameterData data = e.getParameterData(); + + if (isCancelled(state)) + return; + + m_emailValidation.validate(e); + if (!data.isValid()) + return; + + String email = ((String)data.getValue()).toLowerCase().trim(); + if (email.length() == 0) { + data.addError((String)ConsultationUtil. + globalize("no_email").localize()); + return; + } + + DataCollection alerts = + SessionManager.getSession(). + retrieve(ConsultationAlert.BASE_DATA_OBJECT_TYPE); + alerts.addEqualsFilter(ConsultationAlert.EMAIL, email); + alerts.addEqualsFilter(ConsultationAlert.EMAIL_CONFIRMED, Boolean.TRUE); + if (!alerts.next()) { + data.addError((String)ConsultationUtil. + globalize("email_unknown").localize()); + } + alerts.close(); + } + + }); + addField(ConsultationUtil.globalize("email"), email); + + addAction(new Submit(ConsultationUtil.globalize("request_removal"))); + addAction(new Cancel()); + + addProcessListener(this); + } + + public void process(FormSectionEvent event) throws FormProcessException { + FormData data = event.getFormData(); + PageState state = event.getPageState(); + + if (isCancelled(state)) { + URL target = URL.here(state.getRequest(), null); + throw new RedirectSignal(target, false); + } + + String email = + data.getString(ConsultationAlert.EMAIL).toLowerCase().trim(); + + DataCollection alerts = + SessionManager.getSession(). + retrieve(ConsultationAlert.BASE_DATA_OBJECT_TYPE); + alerts.addEqualsFilter(ConsultationAlert.EMAIL, email); + + if (!alerts.next()) { + alerts.close(); + throw new FormProcessException( (String)ConsultationUtil. + globalize("email_unknown").localize()); + } + ConsultationAlert alert = new ConsultationAlert(alerts.getDataObject()); + alerts.close(); + + // Send the email containing a link for SMS alert removal, if set. + // The email will also contain a link to remove all alerts. + ConsultationUtil.sendAlertRemovalLinks(alert); + + ParameterMap parameters = new ParameterMap(); + parameters.setParameter(ConsultationAlert.REMOVAL_REQUEST_PARAMETER, alert.getID()); + URL target = + URL.here(state.getRequest(), ConsultationAlert.CONFIRM_PATH, parameters); + throw new RedirectSignal(target, true); + } +} + Property changes on: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/AlertRemoveForm.java ___________________________________________________________________ Name: svn:keywords + Id Author URL Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertConfirm.java =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertConfirm.java 2005-12-19 14:04:33 UTC (rev 1068) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertConfirm.java 2005-12-20 17:51:16 UTC (rev 1069) @@ -55,6 +55,18 @@ return; } + tokens = (String[])parameters.get(ConsultationAlert.CANCEL_SMS_PARAMETER); + if (tokens != null && tokens.length > 0) { + String mobile = ConsultationAlert.cancelSMS(tokens[0]); + if (mobile == null) { + target.setLabel(ConsultationUtil.globalize("cancel_token.invalid")); + return; + } + String[] args = {mobile}; + target.setLabel(ConsultationUtil.globalize("cancel_token_sms.success", args)); + return; + } + tokens = (String[])parameters.get(ConsultationAlert.CANCEL_PARAMETER); if (tokens != null && tokens.length > 0) { String email = ConsultationAlert.cancel(tokens[0]); @@ -68,6 +80,20 @@ return; } + tokens = (String[])parameters.get(ConsultationAlert.REMOVAL_REQUEST_PARAMETER); + if (tokens != null && tokens.length > 0) { + ConsultationAlert alert; + try { + alert = new ConsultationAlert(new BigDecimal(tokens[0])); + } catch (DataObjectNotFoundException ex) { + // This should not happen. + throw new RuntimeException(ex); + } + String[] args = {alert.getEmail()}; + target.setLabel(ConsultationUtil.globalize("removal_request.sent", args)); + return; + } + tokens = (String[])parameters.get(ConsultationAlert.ID); if (tokens != null && tokens.length > 0) { ConsultationAlert alert; @@ -77,7 +103,6 @@ // This should not happen. throw new RuntimeException(ex); } - String[] args = {alert.getEmail()}; target.setLabel(ConsultationUtil.globalize("verify_token.success", args)); return; Modified: contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertForm.java =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertForm.java 2005-12-19 14:04:33 UTC (rev 1068) +++ contrib/ccm-ldn-camden-consultation/trunk/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationAlertForm.java 2005-12-20 17:51:16 UTC (rev 1069) @@ -271,7 +271,7 @@ alert.save(); m_pinLabel.setVisible(state, true); m_pin.setVisible(state, true); - ConsultationUtil.sendPin(mobile, alert.getMobilePin()); + ConsultationUtil.sendPin(alert); return; } else { // clear the mobile number that might have been submitted previously Added: contrib/ccm-ldn-camden-consultation/trunk/web/packages/consultations/www/alert-remove.jsp =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/web/packages/consultations/www/alert-remove.jsp 2005-12-19 14:04:33 UTC (rev 1068) +++ contrib/ccm-ldn-camden-consultation/trunk/web/packages/consultations/www/alert-remove.jsp 2005-12-20 17:51:16 UTC (rev 1069) @@ -0,0 +1,36 @@ +<jsp:root + xmlns:jsp="http://java.sun.com/JSP/Page" + xmlns:define="/WEB-INF/bebop-define.tld" + xmlns:show="/WEB-INF/bebop-show.tld" + version="1.2"> + + <jsp:directive.page import="com.arsdigita.dispatcher.DispatcherHelper"/> + <jsp:directive.page import="com.arsdigita.camden.cms.contenttypes.ui.ConsultationsNavigationModel" /> + <jsp:directive.page import="com.arsdigita.london.navigation.Navigation"/> + <jsp:directive.page import="com.arsdigita.london.navigation.NavigationModel"/> + + <jsp:scriptlet> + DispatcherHelper.cacheDisable(response); + </jsp:scriptlet> + + <define:page name="alertNewPage" application="navigation" title="Remove Consultation Alert" cache="true"> + <define:component name="greetingItem" + classname="com.arsdigita.london.navigation.ui.GreetingItem"/> + <define:component name="categoryPath" + classname="com.arsdigita.london.navigation.ui.category.Path"/> + <define:component name="categoryMenu" + classname="com.arsdigita.london.navigation.ui.category.Menu"/> + <define:component name="alertForm" + classname="com.arsdigita.camden.cms.contenttypes.ui.AlertRemoveForm"/> + + <jsp:scriptlet> + NavigationModel navModel = ConsultationsNavigationModel.retrieve(); + ((com.arsdigita.london.navigation.ui.GreetingItem)greetingItem).setModel(navModel); + ((com.arsdigita.london.navigation.ui.category.Path)categoryPath).setModel(navModel); + ((com.arsdigita.london.navigation.ui.category.Menu)categoryMenu).setModel(navModel); + </jsp:scriptlet> + </define:page> + + <show:all/> +</jsp:root> + Added: contrib/ccm-ldn-camden-consultation/trunk/web/packages/consultations/www/alert-sms-trigger.jsp =================================================================== --- contrib/ccm-ldn-camden-consultation/trunk/web/packages/consultations/www/alert-sms-trigger.jsp 2005-12-19 14:04:33 UTC (rev 1068) +++ contrib/ccm-ldn-camden-consultation/trunk/web/packages/consultations/www/alert-sms-trigger.jsp 2005-12-20 17:51:16 UTC (rev 1069) @@ -0,0 +1,18 @@ +<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2"> + + <jsp:directive.page extends="com.arsdigita.web.BaseJSP"/> + + <jsp:directive.page import="com.arsdigita.kernel.*"/> + <jsp:directive.page import="com.arsdigita.camden.cms.contenttypes.*"/> + <jsp:directive.page import="com.arsdigita.web.*"/> + + <jsp:scriptlet> + ConsultationAlert.sendSMSAlerts(); + </jsp:scriptlet> + + <p> + "<%= "success" %>"<br /> + </p> + +</jsp:root> + |
From: <ap...@vh...> - 2005-12-19 14:07:30
|
Author: apevec Date: 2005-12-19 15:04:33 +0100 (Mon, 19 Dec 2005) New Revision: 1068 Modified: trunk/ccm-ldn-atoz/src/com/arsdigita/london/atoz/AtoZSiteProxyGenerator.java Log: use cms namespace Modified: trunk/ccm-ldn-atoz/src/com/arsdigita/london/atoz/AtoZSiteProxyGenerator.java =================================================================== --- trunk/ccm-ldn-atoz/src/com/arsdigita/london/atoz/AtoZSiteProxyGenerator.java 2005-12-19 13:06:32 UTC (rev 1067) +++ trunk/ccm-ldn-atoz/src/com/arsdigita/london/atoz/AtoZSiteProxyGenerator.java 2005-12-19 14:04:33 UTC (rev 1068) @@ -21,6 +21,7 @@ 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; import com.arsdigita.persistence.DataQuery; @@ -111,7 +112,9 @@ if (m_url == null) return null; - Element child = new Element(AtoZSiteProxyAtomicEntry.SITE_PROXY_PANEL_NAME); + Element child = new Element( + AtoZSiteProxyAtomicEntry.SITE_PROXY_PANEL_NAME, + CMS.CMS_XML_NS); child.addAttribute("title", m_title); child.addAttribute("oid", m_oid.toString()); |