diff --git a/ccm-bundle/bundles/demo/res/bundle/navigation/gen-templates.txt b/ccm-bundle/bundles/demo/res/bundle/navigation/gen-templates.txt
new file mode 100755
index 000000000..65aa29330
--- /dev/null
+++ b/ccm-bundle/bundles/demo/res/bundle/navigation/gen-templates.txt
@@ -0,0 +1,8 @@
+LibreCMS Default Items Page,Default Navigation Index Page ordering items in ascending order,/templates/ccm-navigation/navigation/gen-default.jsp
+LibreCMS Recent Items Page,List of items ordered with most recent first,/templates/ccm-navigation/navigation/gen-recent.jsp
+LibreCMS A-Z Items,List of items paginated as A-Z,/templates/ccm-navigation/navigation/gen-atoz.jsp
+LibreCMS Events Page,Events Page ordering events in decending order,/templates/ccm-navigation/navigation/gen-events.jsp
+LibreCMS Portal Page,Portal Page for embedding a portal page as navigation leaves page,/templates/ccm-navigation/navigation/gen-portal.jsp
+LibreCMS Portal Welcome Page,Portal page meant as site welcome page,/templates/ccm-navigation/navigation/gen-portal-welcome.jsp
+LibreCMS Navigation Welcome Page,Site welcome page created by navigation root term,/templates/ccm-navigation/navigation/gen-welcome.jsp
+LibreCMS Specializing Items List,Specialising List item page,/templates/ccm-navigation/navigation/SpecializingList.jsp
\ No newline at end of file
diff --git a/ccm-bundle/bundles/demo/res/bundle/navigation/sci-templates.txt b/ccm-bundle/bundles/demo/res/bundle/navigation/sci-templates.txt
deleted file mode 100755
index 008184981..000000000
--- a/ccm-bundle/bundles/demo/res/bundle/navigation/sci-templates.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-ScientificCMS Default Items Page,Sci Default Navigation Index Page ordering items in ascending order,/templates/ccm-navigation/navigation/sci-default.jsp
-ScientificCMS Recent Items Page,Sci List of items ordered with most recent first,/templates/ccm-navigation/navigation/sci-recent.jsp
-ScientificCMS A-Z Items,Sci List of items paginated as A-Z,/templates/ccm-navigation/navigation/sci-atoz.jsp
-ScientificCMS Events Page,Sci Events Page ordering events in ??? order,/templates/ccm-navigation/navigation/sci-events.jsp
-ScientificCMS Portal Page,Sci Portal Page for embedding a portal page as navigation leaves page,/templates/ccm-navigation/navigation/sci-portal.jsp
-ScientificCMS Portal Welcome Page,Sci Portal page meant as site welcome page,/templates/ccm-navigation/navigation/sci-portal-welcome.jsp
-ScientificCMS Navigation Welcome Page,Sci site welcome page created by navigation root term,/templates/ccm-navigation/navigation/sci-welcome.jsp
-ScientificCMS Specializing Items List,Sci Specialising List item page,/templates/ccm-navigation/navigation/SpecializingList.jsp
-ScientificCMS Publications List,Sci publications listing page,/templates/ccm-navigation/navigation/SciPublicationList.jsp
diff --git a/ccm-bundle/bundles/devel/res/bundle/navigation/gen-templates.txt b/ccm-bundle/bundles/devel/res/bundle/navigation/gen-templates.txt
index f744de834..65aa29330 100755
--- a/ccm-bundle/bundles/devel/res/bundle/navigation/gen-templates.txt
+++ b/ccm-bundle/bundles/devel/res/bundle/navigation/gen-templates.txt
@@ -1,8 +1,8 @@
-LibreCMS Default Items Page,Sci Default Navigation Index Page ordering items in ascending order,/templates/ccm-ldn-navigation/navigation/gen-default.jsp
-LibreCMS Recent Items Page,Sci List of items ordered with most recent first,/templates/ccm-ldn-navigation/navigation/gen-recent.jsp
-LibreCMS A-Z Items,Sci List of items paginated as A-Z,/templates/ccm-ldn-navigation/navigation/gen-atoz.jsp
-LibreCMS Events Page,Sci Events Page ordering events in ??? order,/templates/ccm-ldn-navigation/navigation/gen-events.jsp
-LibreCMS Portal Page,Sci Portal Page for embedding a portal page as navigation leaves page,/templates/ccm-ldn-navigation/navigation/gen-portal.jsp
-LibreCMS Portal Welcome Page,Sci Portal page meant as site welcome page,/templates/ccm-ldn-navigation/navigation/gen-portal-welcome.jsp
-LibreCMS Navigation Welcome Page,Sci site welcome page created by navigation root term,/templates/ccm-ldn-navigation/navigation/gen-welcome.jsp
-LibreCMS Specializing Items List,Sci Specialising List item page,/templates/ccm-ldn-navigation/navigation/SpecializingList.jsp
+LibreCMS Default Items Page,Default Navigation Index Page ordering items in ascending order,/templates/ccm-navigation/navigation/gen-default.jsp
+LibreCMS Recent Items Page,List of items ordered with most recent first,/templates/ccm-navigation/navigation/gen-recent.jsp
+LibreCMS A-Z Items,List of items paginated as A-Z,/templates/ccm-navigation/navigation/gen-atoz.jsp
+LibreCMS Events Page,Events Page ordering events in decending order,/templates/ccm-navigation/navigation/gen-events.jsp
+LibreCMS Portal Page,Portal Page for embedding a portal page as navigation leaves page,/templates/ccm-navigation/navigation/gen-portal.jsp
+LibreCMS Portal Welcome Page,Portal page meant as site welcome page,/templates/ccm-navigation/navigation/gen-portal-welcome.jsp
+LibreCMS Navigation Welcome Page,Site welcome page created by navigation root term,/templates/ccm-navigation/navigation/gen-welcome.jsp
+LibreCMS Specializing Items List,Specialising List item page,/templates/ccm-navigation/navigation/SpecializingList.jsp
\ No newline at end of file
diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileOwnerAssocUpgrade.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileOwnerAssocUpgrade.java
index d421c2252..e01d90614 100644
--- a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileOwnerAssocUpgrade.java
+++ b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileOwnerAssocUpgrade.java
@@ -1,6 +1,6 @@
package com.arsdigita.cms.contenttypes;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.runtime.RuntimeConfig;
import com.arsdigita.util.jdbc.Connections;
import java.math.BigDecimal;
diff --git a/ccm-cms/src/com/arsdigita/cms/ContentPage.java b/ccm-cms/src/com/arsdigita/cms/ContentPage.java
index 865dc6de8..513e1bc84 100755
--- a/ccm-cms/src/com/arsdigita/cms/ContentPage.java
+++ b/ccm-cms/src/com/arsdigita/cms/ContentPage.java
@@ -49,7 +49,7 @@ public class ContentPage extends ContentItem {
private static final Logger s_log = Logger.getLogger(ContentPage.class);
public static final String BASE_DATA_OBJECT_TYPE =
- "com.arsdigita.cms.ContentPage";
+ "com.arsdigita.cms.ContentPage";
public static final String TITLE = "title";
public static final String SUMMARY = "summary";
@@ -58,9 +58,9 @@ public class ContentPage extends ContentItem {
protected static final String PAGES_IN_FOLDER =
- "com.arsdigita.cms.pagesInFolder";
+ "com.arsdigita.cms.pagesInFolder";
protected static final String PAGES_IN_CATEGORY =
- "com.arsdigita.cms.pagesInFolderByCategory";
+ "com.arsdigita.cms.pagesInFolderByCategory";
public static final String QUERY_PAGE = "page";
public static final String QUERY_TYPE = "type";
public static final String QUERY_ROOT_ID = "rootFolderID";
diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericContactPersonAssocUpgrade.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericContactPersonAssocUpgrade.java
index 2bb8fed13..8287864ff 100644
--- a/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericContactPersonAssocUpgrade.java
+++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericContactPersonAssocUpgrade.java
@@ -1,6 +1,6 @@
package com.arsdigita.cms.contenttypes;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.runtime.RuntimeConfig;
import com.arsdigita.util.jdbc.Connections;
import java.math.BigDecimal;
diff --git a/ccm-cms/src/com/arsdigita/cms/upgrade/AddNewStyleApplicationEntries.java b/ccm-cms/src/com/arsdigita/cms/upgrade/AddNewStyleApplicationEntries.java
index e9e54eb54..59ff1d150 100644
--- a/ccm-cms/src/com/arsdigita/cms/upgrade/AddNewStyleApplicationEntries.java
+++ b/ccm-cms/src/com/arsdigita/cms/upgrade/AddNewStyleApplicationEntries.java
@@ -26,7 +26,7 @@ import com.arsdigita.kernel.PackageInstanceCollection;
import com.arsdigita.kernel.PackageType;
import com.arsdigita.kernel.Resource;
import com.arsdigita.kernel.ResourceType;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.persistence.Session;
import com.arsdigita.persistence.SessionManager;
import com.arsdigita.persistence.TransactionContext;
diff --git a/ccm-cms/src/com/arsdigita/cms/upgrade/CreateGenericContentTypes.java b/ccm-cms/src/com/arsdigita/cms/upgrade/CreateGenericContentTypes.java
index 8475d163b..fde4d9f91 100644
--- a/ccm-cms/src/com/arsdigita/cms/upgrade/CreateGenericContentTypes.java
+++ b/ccm-cms/src/com/arsdigita/cms/upgrade/CreateGenericContentTypes.java
@@ -30,7 +30,7 @@ import com.arsdigita.kernel.KernelExcursion;
import org.apache.commons.cli.CommandLine;
import org.apache.log4j.Logger;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.persistence.Session;
import com.arsdigita.persistence.SessionManager;
import com.arsdigita.persistence.TransactionContext;
diff --git a/ccm-cms/src/com/arsdigita/cms/workflow/AddApprovePermission.java b/ccm-cms/src/com/arsdigita/cms/workflow/AddApprovePermission.java
index acf9000fb..8ef8a56db 100755
--- a/ccm-cms/src/com/arsdigita/cms/workflow/AddApprovePermission.java
+++ b/ccm-cms/src/com/arsdigita/cms/workflow/AddApprovePermission.java
@@ -33,7 +33,7 @@ import com.arsdigita.kernel.Group;
import com.arsdigita.kernel.permissions.PermissionDescriptor;
import com.arsdigita.kernel.permissions.PermissionService;
import com.arsdigita.kernel.permissions.PrivilegeDescriptor;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.persistence.DataCollection;
import com.arsdigita.persistence.OID;
import com.arsdigita.persistence.SessionManager;
diff --git a/ccm-forum/src/com/arsdigita/forum/upgrade/CreateContainerGroups.java b/ccm-forum/src/com/arsdigita/forum/upgrade/CreateContainerGroups.java
index f30212044..714325c6a 100644
--- a/ccm-forum/src/com/arsdigita/forum/upgrade/CreateContainerGroups.java
+++ b/ccm-forum/src/com/arsdigita/forum/upgrade/CreateContainerGroups.java
@@ -29,7 +29,7 @@ import com.arsdigita.forum.ThreadSubscription;
import com.arsdigita.kernel.Group;
import com.arsdigita.kernel.GroupCollection;
import com.arsdigita.messaging.MessageThread;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.persistence.DataCollection;
import com.arsdigita.persistence.Session;
import com.arsdigita.persistence.SessionManager;
diff --git a/ccm-forum/src/com/arsdigita/forum/upgrade/CreateGroupsAndPortletType.java b/ccm-forum/src/com/arsdigita/forum/upgrade/CreateGroupsAndPortletType.java
index e74c7664c..c40530fd3 100644
--- a/ccm-forum/src/com/arsdigita/forum/upgrade/CreateGroupsAndPortletType.java
+++ b/ccm-forum/src/com/arsdigita/forum/upgrade/CreateGroupsAndPortletType.java
@@ -26,7 +26,7 @@ import com.arsdigita.forum.portlet.MyForumsPortlet;
import com.arsdigita.kernel.Group;
import com.arsdigita.kernel.Kernel;
import com.arsdigita.kernel.KernelExcursion;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.persistence.DataCollection;
import com.arsdigita.persistence.Session;
import com.arsdigita.persistence.SessionManager;
diff --git a/ccm-ldn-aplaws/bundles/devel/cfg/integration.properties b/ccm-ldn-aplaws/bundles/devel/cfg/integration.properties
index 5bab6337c..5c6e0e7cb 100755
--- a/ccm-ldn-aplaws/bundles/devel/cfg/integration.properties
+++ b/ccm-ldn-aplaws/bundles/devel/cfg/integration.properties
@@ -94,8 +94,8 @@ com.arsdigita.forum.use_wysiwyg_editor=true
com.arsdigita.forum.allow_quick_finish=true
com.arsdigita.forum.disable_page_caching=true
-; atoz
-com.arsdigita.london.atoz.root_category_picker=com.arsdigita.london.terms.ui.RootCategoryPicker
+# atoz
+com.arsdigita.atoz.root_category_picker=com.arsdigita.london.terms.ui.RootCategoryPicker
# ccm-navigation application
; com.arsdigita.navigation.category_menu_show_grand_children_min=1
diff --git a/ccm-ldn-aplaws/bundles/devel/cfg/project.xml b/ccm-ldn-aplaws/bundles/devel/cfg/project.xml
index bf6eb2318..5b1806cce 100755
--- a/ccm-ldn-aplaws/bundles/devel/cfg/project.xml
+++ b/ccm-ldn-aplaws/bundles/devel/cfg/project.xml
@@ -37,8 +37,6 @@
-
-
@@ -53,7 +51,6 @@
-
@@ -87,6 +84,7 @@
+
@@ -111,11 +109,14 @@
+
+
+
diff --git a/ccm-ldn-aplaws/src/com/arsdigita/aplaws/AutoCategorisation.java b/ccm-ldn-aplaws/src/com/arsdigita/aplaws/AutoCategorisation.java
index fca7a7b9e..96e2f8641 100755
--- a/ccm-ldn-aplaws/src/com/arsdigita/aplaws/AutoCategorisation.java
+++ b/ccm-ldn-aplaws/src/com/arsdigita/aplaws/AutoCategorisation.java
@@ -68,7 +68,7 @@ import com.arsdigita.web.Application;
*
* @author apevec@redhat.com
*/
-public class AutoCategorisation extends com.arsdigita.packaging.Program {
+public class AutoCategorisation extends com.arsdigita.util.cmd.Program {
private static final Logger LOG = Logger.getLogger(AutoCategorisation.class);
private static final String CCM_PREFIX = "/ccm/";
diff --git a/ccm-ldn-exporter/src/com/arsdigita/london/exporter/CategoryExportTool.java b/ccm-ldn-exporter/src/com/arsdigita/london/exporter/CategoryExportTool.java
index b96630c2a..e5faddfbf 100755
--- a/ccm-ldn-exporter/src/com/arsdigita/london/exporter/CategoryExportTool.java
+++ b/ccm-ldn-exporter/src/com/arsdigita/london/exporter/CategoryExportTool.java
@@ -29,7 +29,7 @@ import org.apache.commons.cli.OptionBuilder;
import com.arsdigita.categorization.Category;
import com.arsdigita.london.util.Transaction;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.util.UncheckedWrapperException;
import com.arsdigita.web.Application;
diff --git a/ccm-ldn-exporter/src/com/arsdigita/london/exporter/ItemExportTool.java b/ccm-ldn-exporter/src/com/arsdigita/london/exporter/ItemExportTool.java
index 1e464b330..79720e8ca 100755
--- a/ccm-ldn-exporter/src/com/arsdigita/london/exporter/ItemExportTool.java
+++ b/ccm-ldn-exporter/src/com/arsdigita/london/exporter/ItemExportTool.java
@@ -26,7 +26,7 @@ import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ContentSection;
import com.arsdigita.domain.DataObjectNotFoundException;
import com.arsdigita.london.util.Transaction;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.web.Application;
import com.arsdigita.web.Web;
diff --git a/ccm-ldn-importer/src/com/arsdigita/london/importer/cms/AssetImportTool.java b/ccm-ldn-importer/src/com/arsdigita/london/importer/cms/AssetImportTool.java
index 74e2528c8..ddca65811 100755
--- a/ccm-ldn-importer/src/com/arsdigita/london/importer/cms/AssetImportTool.java
+++ b/ccm-ldn-importer/src/com/arsdigita/london/importer/cms/AssetImportTool.java
@@ -26,7 +26,7 @@ import com.arsdigita.london.importer.DomainObjectMapper;
import com.arsdigita.london.importer.ImportParser;
import com.arsdigita.london.importer.ParserDispatcher;
import com.arsdigita.london.util.Transaction;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
/**
diff --git a/ccm-ldn-importer/src/com/arsdigita/london/importer/cms/ItemImportTool.java b/ccm-ldn-importer/src/com/arsdigita/london/importer/cms/ItemImportTool.java
index 22c9c3b97..63b050c8b 100755
--- a/ccm-ldn-importer/src/com/arsdigita/london/importer/cms/ItemImportTool.java
+++ b/ccm-ldn-importer/src/com/arsdigita/london/importer/cms/ItemImportTool.java
@@ -36,7 +36,7 @@ import com.arsdigita.london.importer.DomainObjectMapper;
import com.arsdigita.london.importer.ImportParser;
import com.arsdigita.london.importer.ParserDispatcher;
import com.arsdigita.london.util.Transaction;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.util.UncheckedWrapperException;
import java.util.HashMap;
import java.util.Map;
diff --git a/ccm-ldn-search/src/com/arsdigita/london/search/Reindexer.java b/ccm-ldn-search/src/com/arsdigita/london/search/Reindexer.java
index 78bc45b51..e9607333b 100755
--- a/ccm-ldn-search/src/com/arsdigita/london/search/Reindexer.java
+++ b/ccm-ldn-search/src/com/arsdigita/london/search/Reindexer.java
@@ -20,7 +20,7 @@ package com.arsdigita.london.search;
import com.arsdigita.domain.DomainObject;
import com.arsdigita.domain.DomainObjectFactory;
-import com.arsdigita.london.util.Program;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.london.util.Transaction;
import com.arsdigita.persistence.DataCollection;
diff --git a/ccm-ldn-terms/doc/esd/generate.pl b/ccm-ldn-terms/doc/esd/generate.pl
index 6234f11fc..d920063ff 100755
--- a/ccm-ldn-terms/doc/esd/generate.pl
+++ b/ccm-ldn-terms/doc/esd/generate.pl
@@ -16,11 +16,11 @@ while () {
or die "cannot run xsltproc: $@";
} else {
#FR: not working for me
- #print "wget -q -O - $src | ccm-run com.arsdigita.templating.ApplyTemplates $xsl - - | xmllint -format - > $dst\n";
- #(system "wget -q -O - $src | ccm-run com.arsdigita.templating.ApplyTemplates $xsl - - | - > $dst") == 0
+ #print "wget -q -O - $src | ccm-run com.arsdigita.london.terms.util.ApplyTemplates $xsl - - | xmllint -format - > $dst\n";
+ #(system "wget -q -O - $src | ccm-run com.arsdigita.london.terms.util.ApplyTemplates $xsl - - | - > $dst") == 0
# or die "cannot can ApplyTemplates: $@";
print "Processing $src \n";
- (system "wget -q -O - $src > src.xml; ccm-run com.arsdigita.templating.ApplyTemplates $xsl src.xml $dst; rm src.xml") == 0
+ (system "wget -q -O - $src > src.xml; ccm-run com.arsdigita.london.terms.util.ApplyTemplates $xsl src.xml $dst; rm src.xml") == 0
or die "cannot can ApplyTemplates: $@";
}
}
diff --git a/ccm-ldn-terms/src/com/arsdigita/london/terms/DefaultAncestorsFixer.java b/ccm-ldn-terms/src/com/arsdigita/london/terms/DefaultAncestorsFixer.java
index b0627085a..6cade9668 100755
--- a/ccm-ldn-terms/src/com/arsdigita/london/terms/DefaultAncestorsFixer.java
+++ b/ccm-ldn-terms/src/com/arsdigita/london/terms/DefaultAncestorsFixer.java
@@ -27,7 +27,7 @@ import org.apache.log4j.Logger;
import com.arsdigita.categorization.Category;
import com.arsdigita.categorization.CategoryCollection;
import com.arsdigita.london.util.Transaction;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
public class DefaultAncestorsFixer extends Program {
diff --git a/ccm-ldn-terms/src/com/arsdigita/london/terms/Importer.java b/ccm-ldn-terms/src/com/arsdigita/london/terms/Importer.java
index 93a8bb5f7..f2171a7b4 100755
--- a/ccm-ldn-terms/src/com/arsdigita/london/terms/Importer.java
+++ b/ccm-ldn-terms/src/com/arsdigita/london/terms/Importer.java
@@ -22,7 +22,7 @@ import org.apache.commons.cli.CommandLine;
import com.arsdigita.london.terms.importer.Parser;
import com.arsdigita.london.util.Transaction;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
public class Importer extends Program {
diff --git a/ccm-ldn-terms/src/com/arsdigita/london/terms/SetRoot.java b/ccm-ldn-terms/src/com/arsdigita/london/terms/SetRoot.java
index 3ba307a01..aa0393fdc 100755
--- a/ccm-ldn-terms/src/com/arsdigita/london/terms/SetRoot.java
+++ b/ccm-ldn-terms/src/com/arsdigita/london/terms/SetRoot.java
@@ -21,7 +21,7 @@ package com.arsdigita.london.terms;
import org.apache.commons.cli.CommandLine;
import com.arsdigita.london.util.Transaction;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.web.Application;
diff --git a/ccm-ldn-terms/src/com/arsdigita/london/terms/importer/skos/DomainImportTool.java b/ccm-ldn-terms/src/com/arsdigita/london/terms/importer/skos/DomainImportTool.java
index 46786af9f..a8dca30b4 100644
--- a/ccm-ldn-terms/src/com/arsdigita/london/terms/importer/skos/DomainImportTool.java
+++ b/ccm-ldn-terms/src/com/arsdigita/london/terms/importer/skos/DomainImportTool.java
@@ -27,7 +27,7 @@ import org.apache.log4j.Logger;
import com.arsdigita.kernel.Kernel;
import com.arsdigita.kernel.KernelExcursion;
import com.arsdigita.london.util.Transaction;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.util.WrappedError;
/**
diff --git a/ccm-ldn-terms/src/com/arsdigita/london/terms/ui/ACSObjectCategoryPicker.java b/ccm-ldn-terms/src/com/arsdigita/london/terms/ui/ACSObjectCategoryPicker.java
index dd892c24c..1b06c2746 100644
--- a/ccm-ldn-terms/src/com/arsdigita/london/terms/ui/ACSObjectCategoryPicker.java
+++ b/ccm-ldn-terms/src/com/arsdigita/london/terms/ui/ACSObjectCategoryPicker.java
@@ -56,6 +56,11 @@ public abstract class ACSObjectCategoryPicker extends SimpleContainer {
private ACSObjectCategoryForm m_form;
private BigDecimalParameter m_root;
+ /**
+ *
+ * @param root
+ * @param mode
+ */
public ACSObjectCategoryPicker(BigDecimalParameter root, StringParameter mode) {
m_form = getForm(root, mode);
@@ -65,93 +70,28 @@ public abstract class ACSObjectCategoryPicker extends SimpleContainer {
m_form.addCompletionListener(new ItemCategoryFormCompletion());
}
+ /**
+ *
+ * @param root
+ * @param mode
+ * @return
+ */
protected abstract ACSObjectCategoryForm getForm(BigDecimalParameter root,
StringParameter mode);
+ /**
+ *
+ * @param state
+ * @return
+ */
protected abstract ACSObject getObject(PageState state);
- private class ItemCategoryFormCompletion implements ActionListener {
-
- @Override
- public void actionPerformed(ActionEvent ev) {
-
- PageState state = ev.getPageState();
- Domain domain = getDomain(state);
- String domainKey = domain.getKey();
-
- if (s_log.isDebugEnabled()) {
- s_log.debug("Saving categories in: " + domainKey);
- }
-
-// ACSObject object = getObject(state);
-//
-// if ("LGCL".equals(domainKey)) {
-// lgclSelected(domain, object);
-// } else if ("LGDL".equals(domainKey)) {
-// lgdlSelected(domain, object);
-// }
-
- fireCompletionEvent(state);
- }
-// private void lgclSelected(Domain domain, ACSObject object) {
-// List lgclTerms = getCurrentCategories(domain, object);
-//
-// Domain gcl = Domain.retrieve("GCL");
-// Collection gclTerms = getRelatedTerms(lgclTerms, gcl);
-// clearTerms(gcl, object);
-// assignTerms(gclTerms, object);
-//
-// // The assignment below is removed to satisfy requirement 4.1,
-// // use case 1 of the document "Metadata Improvements" version 1
-// // by Camden, dated 23/01/05.
-// //Domain lgsl = Domain.retrieve("LGSL");
-// //Collection lgslTerms = getRelatedTerms(lgclTerms, lgsl);
-// //clearTerms(lgsl, object);
-// //assignTerms(lgslTerms, object);
-//
-// // adding processing or mapping from LGCL to APLAWS-NAV too
-//// Deactivated here.
-//// If needed
-//// boolean lgclOverrideAnav = Aplaws.getAplawsConfig().getOverrideAnavFromLGCLMappings().booleanValue();
-//// if (lgclOverrideAnav) {
-//// Domain aplawsNav = Domain.retrieve("APLAWS-NAV");
-//// Collection aplawsNavTerms = getRelatedTerms(lgclTerms, aplawsNav);
-//// clearTerms(aplawsNav, object);
-//// assignTerms(aplawsNavTerms, object);
-//// }
-// }
-//
-// // User has selected a term in the LGDL hierarchy, which includes
-// // terms from the LGSL. We're only interested in LGSL terms here.
-// private void lgdlSelected(Domain domain, ACSObject object) {
-// Domain lgsl = Domain.retrieve("LGSL");
-// Domain gcl = Domain.retrieve("GCL");
-// Domain lgcl = Domain.retrieve("LGCL");
-//
-// // We have a mapping LGSL -> LGCL based on the reverse of a
-// // published mapping. We don't have a mapping LGSL -> GCL, so we
-// // do LGSL -> LGCL -> GCL instead.
-//
-// List lgslTerms = getCurrentCategories(lgsl, object);
-// Collection lgclTerms = getRelatedTerms(lgslTerms, lgcl);
-//
-// LinkedList lgclIDs = new LinkedList();
-// Iterator i = lgclTerms.iterator();
-// while (i.hasNext()) {
-// Term term = (Term) i.next();
-// lgclIDs.add(term.getModel().getID());
-// }
-//
-// Collection gclTerms = getRelatedTerms(lgclIDs, gcl);
-//
-// clearTerms(lgcl, object);
-// assignTerms(lgclTerms, object);
-//
-// clearTerms(gcl, object);
-// assignTerms(gclTerms, object);
-// }
- }
-
+ /**
+ *
+ * @param domain
+ * @param object
+ * @return
+ */
protected List getCurrentCategories(Domain domain, ACSObject object) {
if (s_log.isDebugEnabled()) {
s_log.debug("Getting terms from " + domain + " to " + object);
@@ -264,4 +204,96 @@ public abstract class ACSObjectCategoryPicker extends SimpleContainer {
}
return null;
}
+
+
+ /**
+ *
+ */
+ private class ItemCategoryFormCompletion implements ActionListener {
+
+ /**
+ *
+ * @param ev
+ */
+ @Override
+ public void actionPerformed(ActionEvent ev) {
+
+ PageState state = ev.getPageState();
+ Domain domain = getDomain(state);
+ String domainKey = domain.getKey();
+
+ if (s_log.isDebugEnabled()) {
+ s_log.debug("Saving categories in: " + domainKey);
+ }
+
+// ACSObject object = getObject(state);
+//
+// if ("LGCL".equals(domainKey)) {
+// lgclSelected(domain, object);
+// } else if ("LGDL".equals(domainKey)) {
+// lgdlSelected(domain, object);
+// }
+
+ fireCompletionEvent(state);
+ }
+
+// private void lgclSelected(Domain domain, ACSObject object) {
+// List lgclTerms = getCurrentCategories(domain, object);
+//
+// Domain gcl = Domain.retrieve("GCL");
+// Collection gclTerms = getRelatedTerms(lgclTerms, gcl);
+// clearTerms(gcl, object);
+// assignTerms(gclTerms, object);
+//
+// // The assignment below is removed to satisfy requirement 4.1,
+// // use case 1 of the document "Metadata Improvements" version 1
+// // by Camden, dated 23/01/05.
+// //Domain lgsl = Domain.retrieve("LGSL");
+// //Collection lgslTerms = getRelatedTerms(lgclTerms, lgsl);
+// //clearTerms(lgsl, object);
+// //assignTerms(lgslTerms, object);
+//
+// // adding processing or mapping from LGCL to APLAWS-NAV too
+//// Deactivated here.
+//// If needed
+//// boolean lgclOverrideAnav = Aplaws.getAplawsConfig().getOverrideAnavFromLGCLMappings().booleanValue();
+//// if (lgclOverrideAnav) {
+//// Domain aplawsNav = Domain.retrieve("APLAWS-NAV");
+//// Collection aplawsNavTerms = getRelatedTerms(lgclTerms, aplawsNav);
+//// clearTerms(aplawsNav, object);
+//// assignTerms(aplawsNavTerms, object);
+//// }
+// }
+//
+// // User has selected a term in the LGDL hierarchy, which includes
+// // terms from the LGSL. We're only interested in LGSL terms here.
+// private void lgdlSelected(Domain domain, ACSObject object) {
+// Domain lgsl = Domain.retrieve("LGSL");
+// Domain gcl = Domain.retrieve("GCL");
+// Domain lgcl = Domain.retrieve("LGCL");
+//
+// // We have a mapping LGSL -> LGCL based on the reverse of a
+// // published mapping. We don't have a mapping LGSL -> GCL, so we
+// // do LGSL -> LGCL -> GCL instead.
+//
+// List lgslTerms = getCurrentCategories(lgsl, object);
+// Collection lgclTerms = getRelatedTerms(lgslTerms, lgcl);
+//
+// LinkedList lgclIDs = new LinkedList();
+// Iterator i = lgclTerms.iterator();
+// while (i.hasNext()) {
+// Term term = (Term) i.next();
+// lgclIDs.add(term.getModel().getID());
+// }
+//
+// Collection gclTerms = getRelatedTerms(lgclIDs, gcl);
+//
+// clearTerms(lgcl, object);
+// assignTerms(lgclTerms, object);
+//
+// clearTerms(gcl, object);
+// assignTerms(gclTerms, object);
+// }
+ }
+
}
diff --git a/ccm-ldn-terms/src/com/arsdigita/london/terms/upgrade/Upgrade100to101.java b/ccm-ldn-terms/src/com/arsdigita/london/terms/upgrade/Upgrade100to101.java
index e9446a0da..771b933b1 100755
--- a/ccm-ldn-terms/src/com/arsdigita/london/terms/upgrade/Upgrade100to101.java
+++ b/ccm-ldn-terms/src/com/arsdigita/london/terms/upgrade/Upgrade100to101.java
@@ -25,7 +25,7 @@ import com.arsdigita.kernel.Kernel;
import com.arsdigita.kernel.KernelExcursion;
import com.arsdigita.london.terms.Loader;
import com.arsdigita.london.util.Transaction;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
public class Upgrade100to101 extends Program {
diff --git a/ccm-ldn-terms/src/com/arsdigita/london/terms/util/ApplyTemplates.java b/ccm-ldn-terms/src/com/arsdigita/london/terms/util/ApplyTemplates.java
new file mode 100755
index 000000000..ff93cdc0b
--- /dev/null
+++ b/ccm-ldn-terms/src/com/arsdigita/london/terms/util/ApplyTemplates.java
@@ -0,0 +1,180 @@
+/*
+ * Copyright (C) 2003-2004 Red Hat Inc. All Rights Reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+package com.arsdigita.london.terms.util;
+
+import com.arsdigita.util.cmd.CommandLine;
+import com.arsdigita.util.cmd.StringSwitch;
+import com.arsdigita.util.cmd.BooleanSwitch;
+import com.arsdigita.util.UncheckedWrapperException;
+
+import javax.xml.transform.Templates;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.transform.stream.StreamResult;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.HashMap;
+
+import org.apache.log4j.ConsoleAppender;
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.apache.log4j.BasicConfigurator;
+import org.apache.log4j.PatternLayout;
+
+/**
+ * (Obviously) command line utility
+ * Purpose?
+ * Not used anywhere in CCM code (java or jsp), but used in
+ * ccm-ldn-terms/doc/esd/generate.pl which is part of an upgrade of ESD terms
+ */
+// Moved from com.arsdigita.templating to com.arsdigita.london.terms.util
+// because it has nothing to do with core's templating machinery!
+public class ApplyTemplates {
+
+ private static final String OPT_LOOP = "-loop";
+ private static final String OPT_LOG = "-log";
+ private static final String OPT_WARMUP = "-warmup";
+ private static final String OPT_VERBOSE = "-verbose";
+
+ private static final Logger s_log = Logger.getLogger(ApplyTemplates.class);
+
+ /* Command line parameter object.
+ * 1. Param: Name
+ * 2. Param: Usage */
+ private static CommandLine s_cmd = new CommandLine(
+ "apply-templates",
+ "java com.arsdigita.templating.ApplyTemplates " +
+ "-loop [count] -log [loglevel] -verbose -warmup [count] Stylesheet Input Output "
+ );
+ static {
+ s_log.debug("Static initalizer starting...");
+ s_cmd.addSwitch(new StringSwitch(OPT_LOG,
+ "Log4j debug level",
+ "warn"));
+ s_cmd.addSwitch(new StringSwitch(OPT_LOOP,
+ "Number of iterations to apply xsl",
+ "1"));
+ s_cmd.addSwitch(new StringSwitch(OPT_WARMUP,
+ "Number of iterations to warm up on",
+ "0"));
+ s_cmd.addSwitch(new BooleanSwitch(OPT_VERBOSE,
+ "Display progress",
+ Boolean.FALSE));
+ s_log.debug("Static initalizer finished.");
+ }
+
+ public static void main(String[] args) {
+
+ /* Setup logger */
+ ConsoleAppender log = new ConsoleAppender(
+ new PatternLayout(
+ "%d{ISO8601} [%5.5t] %-5p %c{2} - %m%n"));
+ log.setThreshold(Level.toLevel("warn"));
+ BasicConfigurator.configure(log);
+
+
+ /* Process command line options and parameter */
+ Map options = new HashMap();
+ args = s_cmd.parse(options, args);
+
+ String stylesheet = args[0];
+ String input = args[1];
+ String output = args[2];
+
+ log.setThreshold(Level.toLevel((String)options.get(OPT_LOG)));
+
+ s_log.debug("Build xml source " + new Date());
+ StreamSource xml = new StreamSource(input);
+
+ s_log.debug("Build xsl source " + new Date());
+ StreamSource xsl = new StreamSource(stylesheet);
+
+ s_log.debug("Build html dest " + new Date());
+ StreamResult html = new StreamResult(output);
+
+ s_log.debug("Build transformer factory " + new Date());
+ TransformerFactory fact = TransformerFactory.newInstance();
+
+ s_log.debug("Build templates " + new Date());
+ Templates templates = null;
+ try {
+ templates = fact.newTemplates(xsl);
+ } catch (TransformerConfigurationException tce) {
+ throw new UncheckedWrapperException(tce);
+ }
+
+
+ Transformer xf = null;
+ try {
+ xf = templates.newTransformer();
+ } catch (TransformerConfigurationException tce) {
+ throw new UncheckedWrapperException(tce);
+ }
+
+ boolean verbose = Boolean.TRUE.equals(options.get(OPT_VERBOSE));
+
+ try {
+ int warmup = (new Integer((String)options.get(OPT_WARMUP))).intValue();
+ Date start = new Date();
+ s_log.debug("Warming up " + start);
+ for (int i = 0 ; i < warmup ; i++) {
+ xf.setOutputProperty("encoding", "UTF-8");
+ xf.transform(xml,
+ html);
+ if (verbose) {
+ System.out.print(".");
+ System.out.flush();
+ }
+ }
+ if (warmup > 0 && verbose) {
+ System.out.println();
+ }
+
+ int loop = (new Integer((String)options.get(OPT_LOOP))).intValue();
+ start = new Date();
+ s_log.debug("Start " + start);
+ for (int i = 0 ; i < loop ; i++) {
+ xf.setOutputProperty("encoding", "UTF-8");
+ xf.transform(xml,
+ html);
+ if (verbose) {
+ System.out.print(".");
+ System.out.flush();
+ }
+ }
+ if (verbose) {
+ System.out.println();
+ }
+ Date end = new Date();
+ s_log.debug("End " + end);
+
+ long duration = end.getTime() - start.getTime();
+ s_log.info("Duration for " + loop + " iterations with " +
+ " is " + duration + " milliseconds");
+ } catch (TransformerException ex) {
+ throw new UncheckedWrapperException("cannot transform document", ex);
+ }
+
+ }
+}
diff --git a/ccm-ldn-util/src/com/arsdigita/london/util/ConfigPrinter.java b/ccm-ldn-util/src/com/arsdigita/london/util/ConfigPrinter.java
index b19dcaf25..e9d56142d 100755
--- a/ccm-ldn-util/src/com/arsdigita/london/util/ConfigPrinter.java
+++ b/ccm-ldn-util/src/com/arsdigita/london/util/ConfigPrinter.java
@@ -21,14 +21,14 @@ package com.arsdigita.london.util;
import com.arsdigita.xml.Element;
import com.arsdigita.xml.XML;
import com.arsdigita.xml.Document;
-import com.arsdigita.util.UncheckedWrapperException;
import com.arsdigita.util.Classes;
import com.arsdigita.util.StringUtils;
+import com.arsdigita.util.UncheckedWrapperException;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.util.parameter.Parameter;
import com.arsdigita.util.parameter.ParameterInfo;
import com.arsdigita.util.parameter.ParameterContext;
-
import java.io.IOException;
import java.io.File;
import java.io.FileOutputStream;
diff --git a/ccm-ldn-util/src/com/arsdigita/london/util/Initializer.java b/ccm-ldn-util/src/com/arsdigita/london/util/Initializer.java
index 78a2defc6..38e7b2513 100755
--- a/ccm-ldn-util/src/com/arsdigita/london/util/Initializer.java
+++ b/ccm-ldn-util/src/com/arsdigita/london/util/Initializer.java
@@ -48,6 +48,7 @@ public class Initializer extends CompoundInitializer {
new NameFilter(DbHelper.getDatabaseSuffix(database), "pdl"))));
}
+ @Override
public void init(DataInitEvent ev) {
super.init(ev);
diff --git a/ccm-ldn-util/src/com/arsdigita/london/util/Program.java b/ccm-ldn-util/src/com/arsdigita/london/util/Program.java.nolongerInUse
similarity index 95%
rename from ccm-ldn-util/src/com/arsdigita/london/util/Program.java
rename to ccm-ldn-util/src/com/arsdigita/london/util/Program.java.nolongerInUse
index 1c6a84792..d17c397e6 100755
--- a/ccm-ldn-util/src/com/arsdigita/london/util/Program.java
+++ b/ccm-ldn-util/src/com/arsdigita/london/util/Program.java.nolongerInUse
@@ -21,7 +21,7 @@ package com.arsdigita.london.util;
/**
*
- * @deprecated - use {@link com.arsdigita.packaging.Program}
+ * @deprecated - use {@link com.arsdigita.util.cmd.Program}
*
*/
public abstract class Program extends com.arsdigita.util.cmd.Program {
diff --git a/ccm-ldn-util/src/com/arsdigita/london/util/ProgramErrorReport.java b/ccm-ldn-util/src/com/arsdigita/london/util/ProgramErrorReport.java.nolongerInUse
similarity index 93%
rename from ccm-ldn-util/src/com/arsdigita/london/util/ProgramErrorReport.java
rename to ccm-ldn-util/src/com/arsdigita/london/util/ProgramErrorReport.java.nolongerInUse
index afdf6f2d1..ab224ea53 100755
--- a/ccm-ldn-util/src/com/arsdigita/london/util/ProgramErrorReport.java
+++ b/ccm-ldn-util/src/com/arsdigita/london/util/ProgramErrorReport.java.nolongerInUse
@@ -22,7 +22,7 @@ import com.arsdigita.logging.ErrorReport;
/**
*
- * @deprecated - use {@link com.arsdigita.packaging.ProgramErrorReport}
+ * @deprecated - use {@link com.arsdigita.util.cmd.ProgramErrorReport}
*
*/
public class ProgramErrorReport extends com.arsdigita.util.cmd.ProgramErrorReport {
diff --git a/ccm-ldn-util/src/com/arsdigita/london/util/cmd/BulkDelete.java b/ccm-ldn-util/src/com/arsdigita/london/util/cmd/BulkDelete.java
index 696a5b279..8e00ad1bf 100644
--- a/ccm-ldn-util/src/com/arsdigita/london/util/cmd/BulkDelete.java
+++ b/ccm-ldn-util/src/com/arsdigita/london/util/cmd/BulkDelete.java
@@ -18,15 +18,9 @@
package com.arsdigita.london.util.cmd;
-import com.arsdigita.london.util.Program;
-import com.arsdigita.london.util.Transaction;
-import com.arsdigita.persistence.CompoundFilter;
-import com.arsdigita.persistence.Filter;
-import com.arsdigita.persistence.FilterFactory;
-import com.arsdigita.persistence.OID;
-import com.arsdigita.persistence.SessionManager;
-import com.arsdigita.persistence.DataCollection;
import com.arsdigita.domain.DomainObjectFactory;
+import com.arsdigita.persistence.OID;
+import com.arsdigita.london.util.Transaction;
import com.arsdigita.cms.ContentBundle;
import com.arsdigita.cms.ContentPage;
@@ -40,11 +34,8 @@ import org.apache.commons.cli.Options;
import org.apache.log4j.Logger;
import java.util.List;
-import java.util.ArrayList;
import java.util.Iterator;
-import java.math.BigDecimal;
-
public class BulkDelete extends BulkUnpublish {
@@ -52,6 +43,9 @@ public class BulkDelete extends BulkUnpublish {
protected boolean deleteFolderStructure;
+ /**
+ * Constructor
+ */
public BulkDelete() {
super("Bulk Delete", "1.0.0");
@@ -66,6 +60,11 @@ public class BulkDelete extends BulkUnpublish {
}
+ /**
+ *
+ * @param cmdLine
+ */
+ @Override
protected void doRun(CommandLine cmdLine) {
//delete(new OID(ContentItem.BASE_DATA_OBJECT_TYPE, 13890351));
diff --git a/ccm-ldn-util/src/com/arsdigita/london/util/cmd/BulkPublish.java b/ccm-ldn-util/src/com/arsdigita/london/util/cmd/BulkPublish.java
index bc6f0b44f..f85b5bd60 100755
--- a/ccm-ldn-util/src/com/arsdigita/london/util/cmd/BulkPublish.java
+++ b/ccm-ldn-util/src/com/arsdigita/london/util/cmd/BulkPublish.java
@@ -18,22 +18,22 @@
package com.arsdigita.london.util.cmd;
import com.arsdigita.cms.ContentBundle;
-import com.arsdigita.london.util.Program;
-import com.arsdigita.london.util.Transaction;
-import com.arsdigita.persistence.CompoundFilter;
-import com.arsdigita.persistence.FilterFactory;
-import com.arsdigita.persistence.Filter;
-import com.arsdigita.persistence.OID;
-import com.arsdigita.persistence.SessionManager;
-import com.arsdigita.persistence.DataCollection;
-import com.arsdigita.domain.DomainObjectFactory;
-
import com.arsdigita.cms.ContentPage;
import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ContentTypeLifecycleDefinition;
import com.arsdigita.cms.Folder;
import com.arsdigita.cms.contentitem.ContentBundleHelper;
import com.arsdigita.cms.lifecycle.LifecycleDefinition;
+import com.arsdigita.domain.DomainObjectFactory;
+import com.arsdigita.persistence.CompoundFilter;
+import com.arsdigita.persistence.FilterFactory;
+import com.arsdigita.persistence.Filter;
+import com.arsdigita.persistence.OID;
+import com.arsdigita.persistence.SessionManager;
+import com.arsdigita.persistence.DataCollection;
+import com.arsdigita.util.cmd.Program;
+import com.arsdigita.london.util.Transaction;
+
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.OptionBuilder;
diff --git a/ccm-ldn-util/src/com/arsdigita/london/util/cmd/BulkUnpublish.java b/ccm-ldn-util/src/com/arsdigita/london/util/cmd/BulkUnpublish.java
index 9a2e48dc4..1aabaec8c 100644
--- a/ccm-ldn-util/src/com/arsdigita/london/util/cmd/BulkUnpublish.java
+++ b/ccm-ldn-util/src/com/arsdigita/london/util/cmd/BulkUnpublish.java
@@ -18,19 +18,18 @@
package com.arsdigita.london.util.cmd;
import com.arsdigita.cms.ContentBundle;
-import com.arsdigita.london.util.Program;
-import com.arsdigita.london.util.Transaction;
+import com.arsdigita.cms.ContentItem;
+import com.arsdigita.cms.ContentPage;
+import com.arsdigita.cms.Folder;
+import com.arsdigita.domain.DomainObjectFactory;
import com.arsdigita.persistence.CompoundFilter;
import com.arsdigita.persistence.Filter;
import com.arsdigita.persistence.FilterFactory;
import com.arsdigita.persistence.OID;
import com.arsdigita.persistence.SessionManager;
import com.arsdigita.persistence.DataCollection;
-import com.arsdigita.domain.DomainObjectFactory;
-
-import com.arsdigita.cms.ContentItem;
-import com.arsdigita.cms.ContentPage;
-import com.arsdigita.cms.Folder;
+import com.arsdigita.util.cmd.Program;
+import com.arsdigita.london.util.Transaction;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.OptionBuilder;
diff --git a/ccm-ldn-util/src/com/arsdigita/london/util/cmd/SiteMapList.java b/ccm-ldn-util/src/com/arsdigita/london/util/cmd/SiteMapList.java
index e5b20814d..c77d9065e 100755
--- a/ccm-ldn-util/src/com/arsdigita/london/util/cmd/SiteMapList.java
+++ b/ccm-ldn-util/src/com/arsdigita/london/util/cmd/SiteMapList.java
@@ -18,12 +18,11 @@
package com.arsdigita.london.util.cmd;
-
-import com.arsdigita.london.util.Program;
-import org.apache.commons.cli.CommandLine;
-
import com.arsdigita.web.Application;
import com.arsdigita.web.ApplicationCollection;
+import com.arsdigita.util.cmd.Program;
+
+import org.apache.commons.cli.CommandLine;
public class SiteMapList extends Program {
diff --git a/ccm-ldn-util/src/com/arsdigita/london/util/db/ACSObjectInvariantCheck.java b/ccm-ldn-util/src/com/arsdigita/london/util/db/ACSObjectInvariantCheck.java
index 63d2b02b9..8c1efe483 100755
--- a/ccm-ldn-util/src/com/arsdigita/london/util/db/ACSObjectInvariantCheck.java
+++ b/ccm-ldn-util/src/com/arsdigita/london/util/db/ACSObjectInvariantCheck.java
@@ -23,6 +23,9 @@ import com.arsdigita.persistence.SessionManager;
import com.arsdigita.persistence.metadata.MetadataRoot;
import com.arsdigita.persistence.metadata.ObjectType;
import com.arsdigita.util.Assert;
+import com.arsdigita.util.cmd.Program;
+import com.arsdigita.london.util.Transaction;
+
import com.redhat.persistence.metadata.Column;
import com.redhat.persistence.metadata.ObjectMap;
import com.redhat.persistence.metadata.Table;
@@ -32,11 +35,8 @@ import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;
-import com.arsdigita.london.util.Program;
-import com.arsdigita.london.util.Transaction;
import org.apache.commons.cli.CommandLine;
import org.apache.log4j.Logger;
-import java.util.Iterator;
public class ACSObjectInvariantCheck extends Program {
diff --git a/ccm-ldn-util/src/com/arsdigita/london/util/db/InvariantCheck.java b/ccm-ldn-util/src/com/arsdigita/london/util/db/InvariantCheck.java
index d03a48e9e..2b450f48d 100755
--- a/ccm-ldn-util/src/com/arsdigita/london/util/db/InvariantCheck.java
+++ b/ccm-ldn-util/src/com/arsdigita/london/util/db/InvariantCheck.java
@@ -18,12 +18,14 @@
package com.arsdigita.london.util.db;
-import com.arsdigita.london.util.Program;
-import com.arsdigita.london.util.Transaction;
import com.arsdigita.xml.XML;
+import com.arsdigita.util.cmd.Program;
+import com.arsdigita.london.util.Transaction;
+
+import java.util.Iterator;
+
import org.apache.commons.cli.CommandLine;
import org.apache.log4j.Logger;
-import java.util.Iterator;
public class InvariantCheck extends Program {
diff --git a/ccm-navigation/src/com/arsdigita/navigation/AddNavigation.java b/ccm-navigation/src/com/arsdigita/navigation/tools/NavigationCreator.java
similarity index 60%
rename from ccm-navigation/src/com/arsdigita/navigation/AddNavigation.java
rename to ccm-navigation/src/com/arsdigita/navigation/tools/NavigationCreator.java
index 831215dcd..8a39454bc 100755
--- a/ccm-navigation/src/com/arsdigita/navigation/AddNavigation.java
+++ b/ccm-navigation/src/com/arsdigita/navigation/tools/NavigationCreator.java
@@ -1,4 +1,22 @@
-package com.arsdigita.navigation;
+/*
+ * Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+package com.arsdigita.navigation.tools;
import com.arsdigita.domain.DomainObject;
import com.arsdigita.domain.DomainObjectFactory;
@@ -6,24 +24,45 @@ import com.arsdigita.domain.DomainObjectInstantiator;
import com.arsdigita.kernel.Kernel;
import com.arsdigita.kernel.KernelExcursion;
import com.arsdigita.london.terms.Domain;
-import com.arsdigita.london.util.Program;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.london.util.Transaction;
+import com.arsdigita.navigation.Navigation;
import com.arsdigita.persistence.DataObject;
import com.arsdigita.web.Application;
import org.apache.commons.cli.CommandLine;
import org.apache.log4j.Logger;
-public class AddNavigation extends Program {
+/**
+ * Command line utility to create an application instance of Navigation.
+ *
+ * Usually Loader creates a (default) application instance.
+ *
+ */
+public class NavigationCreator extends Program {
- private static final Logger LOG = Logger.getLogger(AddNavigation.class);
+ /** A logger instance to assist debugging. */
+ private static final Logger s_log = Logger.getLogger(NavigationCreator.class);
- public AddNavigation() {
+ /**
+ * Default Constructor
+ */
+ public NavigationCreator() {
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+"/")) {
+ /**
+ *
+ * @param navURL
+ * @param navTitle
+ * @param defaultDomain
+ */
+ private void createNavigation(String navURL,
+ String navTitle,
+ String defaultDomain) {
+
+ if (!Application.isInstalled(Navigation.BASE_DATA_OBJECT_TYPE,
+ "/"+navURL+"/")) {
DomainObjectFactory.registerInstantiator(
Navigation.BASE_DATA_OBJECT_TYPE, new DomainObjectInstantiator() {
@@ -37,13 +76,21 @@ public class AddNavigation extends Program {
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);
+
}
+
}
+ /**
+ *
+ * @param cmdLine
+ */
protected void doRun(final CommandLine cmdLine) {
new Transaction() {
public void doRun() {
@@ -58,7 +105,7 @@ public class AddNavigation extends Program {
if (navURL != null && navURL.length() != 0
&& navTitle != null && navTitle.length() != 0
&& domainKey != null && domainKey.length() != 0) {
- addNavigation(navURL, navTitle, domainKey);
+ createNavigation(navURL, navTitle, domainKey);
} else {
help(System.err);
System.exit(1);
@@ -77,7 +124,7 @@ public class AddNavigation extends Program {
* @param args
*/
public static void main(String[] args) {
- new AddNavigation().run(args);
+ new NavigationCreator().run(args);
}
}
diff --git a/ccm-navigation/src/com/arsdigita/navigation/tools/TemplateCreator.java b/ccm-navigation/src/com/arsdigita/navigation/tools/TemplateCreator.java
index 544b20ae1..d0b939f07 100755
--- a/ccm-navigation/src/com/arsdigita/navigation/tools/TemplateCreator.java
+++ b/ccm-navigation/src/com/arsdigita/navigation/tools/TemplateCreator.java
@@ -19,7 +19,7 @@
package com.arsdigita.navigation.tools;
import com.arsdigita.navigation.Template;
-import com.arsdigita.london.util.Program;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.london.util.Transaction;
import org.apache.commons.cli.CommandLine;
diff --git a/ccm-navigation/src/com/arsdigita/navigation/TemplateTool.java b/ccm-navigation/src/com/arsdigita/navigation/tools/TemplateTool.java
similarity index 90%
rename from ccm-navigation/src/com/arsdigita/navigation/TemplateTool.java
rename to ccm-navigation/src/com/arsdigita/navigation/tools/TemplateTool.java
index 87d44377a..2074e71c0 100755
--- a/ccm-navigation/src/com/arsdigita/navigation/TemplateTool.java
+++ b/ccm-navigation/src/com/arsdigita/navigation/tools/TemplateTool.java
@@ -16,21 +16,30 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-package com.arsdigita.navigation;
+package com.arsdigita.navigation.tools;
-import com.arsdigita.london.util.Program;
-import com.arsdigita.london.util.Transaction;
import com.arsdigita.domain.DataObjectNotFoundException;
+import com.arsdigita.navigation.Template;
+import com.arsdigita.util.cmd.Program;
+
+import com.arsdigita.london.util.Transaction;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.OptionBuilder;
import org.apache.log4j.Logger;
+/**
+ *
+ *
+ */
public class TemplateTool extends Program {
private static final Logger s_log = Logger.getLogger(TemplateTool.class);
+ /**
+ * Constructor
+ */
TemplateTool() {
super("Template Tool",
"1.0.0",
@@ -43,7 +52,12 @@ public class TemplateTool extends Program {
.create("d"));
}
+ /**
+ *
+ * @param cmdLine
+ */
protected void doRun(CommandLine cmdLine) {
+
final String[] args = cmdLine.getArgs();
final boolean delete = cmdLine.hasOption("d");
@@ -84,7 +98,11 @@ public class TemplateTool extends Program {
}.run();
}
- public static final void main(String[] args) {
+ /**
+ *
+ * @param args
+ */
+ public static void main(String[] args) {
new TemplateTool().run(args);
}
}
diff --git a/ccm-navigation/src/com/arsdigita/navigation/ui/portlet/ObjectListPortletEditor.java b/ccm-navigation/src/com/arsdigita/navigation/ui/portlet/ObjectListPortletEditor.java
index e83658385..950aa90d9 100755
--- a/ccm-navigation/src/com/arsdigita/navigation/ui/portlet/ObjectListPortletEditor.java
+++ b/ccm-navigation/src/com/arsdigita/navigation/ui/portlet/ObjectListPortletEditor.java
@@ -53,7 +53,7 @@ import com.arsdigita.util.StringUtils;
import com.arsdigita.kernel.ResourceType;
import com.arsdigita.categorization.ui.CategoryPicker;
-import com.arsdigita.london.util.ui.ApplicationCategoryPicker;
+import com.arsdigita.categorization.ui.ApplicationCategoryPicker;
import com.redhat.persistence.metadata.Root;
import com.redhat.persistence.common.Path;
diff --git a/ccm-navigation/src/com/arsdigita/navigation/upgrades/Upgrade141to142.java b/ccm-navigation/src/com/arsdigita/navigation/upgrades/Upgrade141to142.java
index 5266a1cbc..b9a3d51ed 100755
--- a/ccm-navigation/src/com/arsdigita/navigation/upgrades/Upgrade141to142.java
+++ b/ccm-navigation/src/com/arsdigita/navigation/upgrades/Upgrade141to142.java
@@ -19,12 +19,12 @@
package com.arsdigita.navigation.upgrades;
-import com.arsdigita.london.util.Program;
-import com.arsdigita.london.util.Transaction;
-import com.arsdigita.navigation.Loader;
-
import com.arsdigita.kernel.Kernel;
import com.arsdigita.kernel.KernelExcursion;
+import com.arsdigita.london.util.Transaction;
+import com.arsdigita.navigation.Loader;
+import com.arsdigita.util.cmd.Program;
+
import org.apache.commons.cli.CommandLine;
diff --git a/ccm-navigation/src/com/arsdigita/navigation/upgrades/Upgrade650to651.java b/ccm-navigation/src/com/arsdigita/navigation/upgrades/Upgrade650to651.java
index a361b6b0b..1dc1ae03e 100755
--- a/ccm-navigation/src/com/arsdigita/navigation/upgrades/Upgrade650to651.java
+++ b/ccm-navigation/src/com/arsdigita/navigation/upgrades/Upgrade650to651.java
@@ -13,17 +13,16 @@ import com.arsdigita.kernel.Group;
import com.arsdigita.kernel.permissions.PermissionDescriptor;
import com.arsdigita.kernel.permissions.PermissionService;
import com.arsdigita.kernel.permissions.PrivilegeDescriptor;
-import com.arsdigita.london.util.Program;
import com.arsdigita.london.util.Transaction;
import com.arsdigita.web.Application;
+import com.arsdigita.util.cmd.Program;
+
/**
- * @author chris.gilbert@westsussex.gov.uk
* create and grant permission to group who can then add quick
* links under any category
*
- *
-
+ * @author chris.gilbert@westsussex.gov.uk
*/
public class Upgrade650to651 extends Program {
diff --git a/ccm-portalworkspace/src/com/arsdigita/portalworkspace/upgrade/CreateContainerGroups.java b/ccm-portalworkspace/src/com/arsdigita/portalworkspace/upgrade/CreateContainerGroups.java
index fdd160192..ebf218591 100644
--- a/ccm-portalworkspace/src/com/arsdigita/portalworkspace/upgrade/CreateContainerGroups.java
+++ b/ccm-portalworkspace/src/com/arsdigita/portalworkspace/upgrade/CreateContainerGroups.java
@@ -26,7 +26,7 @@ import com.arsdigita.kernel.GroupCollection;
import com.arsdigita.kernel.Party;
import com.arsdigita.portalworkspace.Workspace;
import com.arsdigita.portalworkspace.WorkspaceCollection;
-import com.arsdigita.london.util.Program;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.persistence.SessionManager;
import com.arsdigita.persistence.TransactionContext;
import com.arsdigita.web.ApplicationType;
diff --git a/ccm-portalworkspace/src/com/arsdigita/portalworkspace/upgrade/CreateFlashPortlet.java b/ccm-portalworkspace/src/com/arsdigita/portalworkspace/upgrade/CreateFlashPortlet.java
index a03e93e1c..c6cd4d869 100644
--- a/ccm-portalworkspace/src/com/arsdigita/portalworkspace/upgrade/CreateFlashPortlet.java
+++ b/ccm-portalworkspace/src/com/arsdigita/portalworkspace/upgrade/CreateFlashPortlet.java
@@ -23,7 +23,7 @@ import org.apache.commons.cli.CommandLine;
import com.arsdigita.portalworkspace.portlet.FlashPortlet;
import com.arsdigita.portalworkspace.portlet.FlashPortletInitializer;
import com.arsdigita.london.util.Transaction;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
/**
* Loads the {@link FlashPortlet}.
diff --git a/ccm-portalworkspace/src/com/arsdigita/portalworkspace/upgrade/CreateNavigationDirectoryPortlet.java b/ccm-portalworkspace/src/com/arsdigita/portalworkspace/upgrade/CreateNavigationDirectoryPortlet.java
index 11290c3ed..9a8acf18f 100644
--- a/ccm-portalworkspace/src/com/arsdigita/portalworkspace/upgrade/CreateNavigationDirectoryPortlet.java
+++ b/ccm-portalworkspace/src/com/arsdigita/portalworkspace/upgrade/CreateNavigationDirectoryPortlet.java
@@ -4,7 +4,7 @@ import org.apache.commons.cli.CommandLine;
import com.arsdigita.navigation.portlet.NavigationTreePortlet;
import com.arsdigita.london.util.Transaction;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
public class CreateNavigationDirectoryPortlet extends Program
{
diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationAuthorAssocUpgrade.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationAuthorAssocUpgrade.java
index 4652192c1..de8509500 100644
--- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationAuthorAssocUpgrade.java
+++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationAuthorAssocUpgrade.java
@@ -1,6 +1,6 @@
package com.arsdigita.cms.contenttypes;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.runtime.RuntimeConfig;
import com.arsdigita.util.jdbc.Connections;
import java.math.BigDecimal;
diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationOrgaunitAssocUpgrade.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationOrgaunitAssocUpgrade.java
index 86bbeb6c9..296540504 100644
--- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationOrgaunitAssocUpgrade.java
+++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationOrgaunitAssocUpgrade.java
@@ -4,7 +4,7 @@
*/
package com.arsdigita.cms.contenttypes;
-import com.arsdigita.packaging.Program;
+import com.arsdigita.util.cmd.Program;
import com.arsdigita.runtime.RuntimeConfig;
import com.arsdigita.util.jdbc.Connections;
import java.math.BigDecimal;
diff --git a/ccm-subsite/src/ccm-subsite.load b/ccm-subsite/src/ccm-subsite.load
index 1f5923437..e81924509 100755
--- a/ccm-subsite/src/ccm-subsite.load
+++ b/ccm-subsite/src/ccm-subsite.load
@@ -5,7 +5,6 @@
-
diff --git a/ccm-subsite/src/com/arsdigita/subsite/SubsiteConfig.java b/ccm-subsite/src/com/arsdigita/subsite/SubsiteConfig.java
index 08ca379ed..a0ad0991a 100755
--- a/ccm-subsite/src/com/arsdigita/subsite/SubsiteConfig.java
+++ b/ccm-subsite/src/com/arsdigita/subsite/SubsiteConfig.java
@@ -25,7 +25,7 @@ import com.arsdigita.util.parameter.Parameter;
import com.arsdigita.util.parameter.ResourceParameter;
import com.arsdigita.util.parameter.StringArrayParameter;
import com.arsdigita.util.parameter.StringParameter;
-import com.arsdigita.london.util.ui.ApplicationCategoryPicker;
+import com.arsdigita.categorization.ui.ApplicationCategoryPicker;
import java.io.InputStream;
import java.util.Map;
diff --git a/ccm-subsite/src/com/arsdigita/subsite/SubsiteConfig_parameter.properties b/ccm-subsite/src/com/arsdigita/subsite/SubsiteConfig_parameter.properties
index 6973e1db2..4999b6c8d 100755
--- a/ccm-subsite/src/com/arsdigita/subsite/SubsiteConfig_parameter.properties
+++ b/ccm-subsite/src/com/arsdigita/subsite/SubsiteConfig_parameter.properties
@@ -16,4 +16,4 @@ com.arsdigita.subsite.front_page_parent_url.example=/portal/
com.arsdigita.subsite.root_category_picker.title=Class for picking root categories
com.arsdigita.subsite.root_category_picker.purpose=The UI class for picking root categories
com.arsdigita.subsite.root_category_picker.format=[class]
-com.arsdigita.subsite.root_category_picker.example=com.arsdigita.london.util.ui.ApplicationCategoryPicker
+com.arsdigita.subsite.root_category_picker.example=com.arsdigita.categorization.ui.ApplicationCategoryPicker
diff --git a/ccm-webpage/application.xml b/ccm-webpage/application.xml
index f61cbc895..f6f3eff8d 100755
--- a/ccm-webpage/application.xml
+++ b/ccm-webpage/application.xml
@@ -8,7 +8,6 @@
-
diff --git a/ccm-webpage/src/com/arsdigita/cms/webpage/tools/UrlUtil.java b/ccm-webpage/src/com/arsdigita/cms/webpage/tools/UrlUtil.java
new file mode 100755
index 000000000..a66611783
--- /dev/null
+++ b/ccm-webpage/src/com/arsdigita/cms/webpage/tools/UrlUtil.java
@@ -0,0 +1,172 @@
+/*
+ * Copyright (C) 2005-2006 UNDP. 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.cms.webpage.tools;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import com.arsdigita.bebop.PageState;
+import com.arsdigita.bebop.parameters.ParameterModel;
+import com.arsdigita.web.ParameterMap;
+import com.arsdigita.web.URL;
+
+public class UrlUtil {
+
+ /**
+ * Processes the URL for location.
+ */
+ public static String prepareURL(final PageState state,
+ String location,
+ ParameterMap params) {
+ return prepareURL(state, location, params, true);
+ }
+
+ /**
+ * Processes the URL for location.
+ */
+ public static String prepareURL(PageState state,
+ String location,
+ ParameterMap params,
+ boolean includeDispatcherPath) {
+ return prepareURL(state, location, params, includeDispatcherPath,
+ (List) null, false);
+ }
+
+ /**
+ * Processes the URL for location.
+ */
+ public static String prepareURL(final PageState state,
+ String location,
+ ParameterMap params,
+ boolean includeDispatcherPath,
+ String ignoreParam) {
+ ArrayList ignoreParams = new ArrayList();
+ ignoreParams.add(ignoreParam);
+ return prepareURL(state, location, params, includeDispatcherPath, ignoreParams, false);
+ }
+
+ /**
+ * Processes the URL for location.
+ */
+ public static String prepareURL(final PageState state,
+ String location,
+ ParameterMap params,
+ boolean includeDispatcherPath,
+ List ignoreParams,
+ boolean addPageStateParams) {
+ final HttpServletRequest req = state.getRequest();
+ final HttpServletResponse resp = state.getResponse();
+
+ if (params == null) {
+ params = new ParameterMap();
+ }
+ //add global state parameters
+ if (addPageStateParams) {
+ Iterator stateParams = state.getPage().getParameters();
+ while (stateParams.hasNext()) {
+ ParameterModel param = (ParameterModel) stateParams.next();
+ Object value = state.getValue(param);
+ if (value != null) {
+ String paramName = param.getName();
+ //don't replace param
+ if (params.getParameter(paramName) == null) {
+ params.setParameter(paramName, value);
+ }
+ }
+ }
+ }
+ params.runListeners(req);
+
+ if (includeDispatcherPath && location.startsWith("/")) {
+ location = URL.getDispatcherPath() + location;
+ }
+
+ String url;
+ if (location.indexOf("?") == -1) {
+ // m_params adds the "?" as needed.
+ url = resp.encodeURL(location + params);
+ }
+ else {
+ // The location already includes a query string, so
+ // append to it without including a "?".
+ if (location.endsWith("&")) {
+ url = resp.encodeURL(location + params.getQueryString());
+ }
+ else {
+ url = resp.encodeURL(location + "&" + params.getQueryString());
+ }
+ }
+
+ //remove ignored params
+ if (ignoreParams != null) {
+ Iterator iParsIter = ignoreParams.iterator();
+ while (iParsIter.hasNext()) {
+ String ignoreParam = (String) iParsIter.next();
+ url = removeParameter(url, ignoreParam);
+ }
+ }
+
+ return url;
+ }
+
+ /**
+ * Removes the URL's paremeter
+ */
+ public static String removeParameter(String url, String parameter) {
+
+ Pattern p = Pattern.compile("[?&]" + parameter + "=[^&]*");
+ Matcher m = p.matcher(url);
+
+ int index = 0;
+ int lastIndex = 0;
+ int length = url.length();
+ StringBuffer out = new StringBuffer();
+ while (m.find(index)) {
+ index = m.start();
+ int end = m.end();
+ if (url.charAt(index) == '&') {
+ out.append(url.substring(lastIndex, index));
+ }
+ else {
+ //start with ?...
+ out.append(url.substring(lastIndex, index + 1));
+ if (length > end && url.charAt(end) == '&') {
+ end++;
+ }
+ }
+ index = end;
+ lastIndex = index;
+ }
+ if (url.length() > lastIndex) {
+ out.append(url.substring(lastIndex));
+ }
+ //remove '?' as last char
+ index = out.length() - 1;
+ if (index >= 0 && out.charAt(index) == '?') {
+ out.deleteCharAt(index);
+ }
+ return out.toString();
+ }
+}
diff --git a/ccm-webpage/src/com/arsdigita/cms/webpage/ui/WebpagePortlet.java b/ccm-webpage/src/com/arsdigita/cms/webpage/ui/WebpagePortlet.java
index b1cef64ce..04bd6307d 100755
--- a/ccm-webpage/src/com/arsdigita/cms/webpage/ui/WebpagePortlet.java
+++ b/ccm-webpage/src/com/arsdigita/cms/webpage/ui/WebpagePortlet.java
@@ -30,7 +30,7 @@ import com.arsdigita.kernel.permissions.PermissionDescriptor;
import com.arsdigita.kernel.permissions.PermissionService;
import com.arsdigita.kernel.permissions.PrivilegeDescriptor;
import com.arsdigita.portalworkspace.WorkspacePage;
-import com.arsdigita.london.util.UrlUtil;
+import com.arsdigita.cms.webpage.tools.UrlUtil;
import com.arsdigita.persistence.DataObject;
import com.arsdigita.portal.Portal;
import com.arsdigita.portal.Portlet;