diff --git a/ccm-subsite/src/ccm-subsite.config b/ccm-subsite/src/ccm-subsite.config
new file mode 100755
index 000000000..9a72164c8
--- /dev/null
+++ b/ccm-subsite/src/ccm-subsite.config
@@ -0,0 +1,5 @@
+
+
+
+
diff --git a/ccm-ldn-subsite/src/ccm-ldn-subsite.load b/ccm-subsite/src/ccm-subsite.load
similarity index 73%
rename from ccm-ldn-subsite/src/ccm-ldn-subsite.load
rename to ccm-subsite/src/ccm-subsite.load
index 7c0f29a29..1f5923437 100755
--- a/ccm-ldn-subsite/src/ccm-ldn-subsite.load
+++ b/ccm-subsite/src/ccm-subsite.load
@@ -12,10 +12,10 @@
-
+
-
-
+
+
diff --git a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/Initializer.java b/ccm-subsite/src/com/arsdigita/subsite/Initializer.java
similarity index 94%
rename from ccm-ldn-subsite/src/com/arsdigita/london/subsite/Initializer.java
rename to ccm-subsite/src/com/arsdigita/subsite/Initializer.java
index d6be57b13..55a93b51f 100755
--- a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/Initializer.java
+++ b/ccm-subsite/src/com/arsdigita/subsite/Initializer.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-package com.arsdigita.london.subsite;
+package com.arsdigita.subsite;
import com.arsdigita.db.DbHelper;
@@ -25,7 +25,6 @@ import com.arsdigita.domain.DomainObject;
import com.arsdigita.kernel.ACSObjectInstantiator;
-// import com.arsdigita.persistence.pdl.ManifestSource;
import com.arsdigita.persistence.pdl.NameFilter;
import com.arsdigita.persistence.pdl.ManifestSource;
import com.arsdigita.persistence.DataObject;
@@ -33,7 +32,6 @@ import com.arsdigita.persistence.DataObject;
import com.arsdigita.runtime.RuntimeConfig;
import com.arsdigita.runtime.PDLInitializer;
import com.arsdigita.runtime.CompoundInitializer;
-// import com.arsdigita.runtime.LegacyInitEvent;
import com.arsdigita.runtime.DomainInitEvent;
import com.arsdigita.templating.PatternStylesheetResolver;
@@ -52,7 +50,7 @@ public class Initializer extends CompoundInitializer {
add(new PDLInitializer
(new ManifestSource
- ("ccm-ldn-subsite.pdl.mf",
+ ("ccm-subsite.pdl.mf",
new NameFilter(DbHelper.getDatabaseSuffix(database), "pdl"))));
}
diff --git a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/Loader.java b/ccm-subsite/src/com/arsdigita/subsite/Loader.java
similarity index 98%
rename from ccm-ldn-subsite/src/com/arsdigita/london/subsite/Loader.java
rename to ccm-subsite/src/com/arsdigita/subsite/Loader.java
index 06853e7cd..c3219f542 100755
--- a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/Loader.java
+++ b/ccm-subsite/src/com/arsdigita/subsite/Loader.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-package com.arsdigita.london.subsite;
+package com.arsdigita.subsite;
import com.arsdigita.loader.PackageLoader;
diff --git a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/Site.java b/ccm-subsite/src/com/arsdigita/subsite/Site.java
similarity index 98%
rename from ccm-ldn-subsite/src/com/arsdigita/london/subsite/Site.java
rename to ccm-subsite/src/com/arsdigita/subsite/Site.java
index 7730030d9..5c766b74d 100755
--- a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/Site.java
+++ b/ccm-subsite/src/com/arsdigita/subsite/Site.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-package com.arsdigita.london.subsite;
+package com.arsdigita.subsite;
import com.arsdigita.categorization.Category;
import com.arsdigita.cms.TemplateContext;
@@ -39,7 +39,7 @@ import java.math.BigDecimal;
public class Site extends ACSObject {
public static final String BASE_DATA_OBJECT_TYPE =
- "com.arsdigita.london.subsite.Site";
+ "com.arsdigita.subsite.Site";
public static final String TITLE = "title";
public static final String DESCRIPTION = "description";
@@ -112,6 +112,7 @@ public class Site extends ACSObject {
Category.setRootForObject(this, root);
}
+ @Override
public void beforeSave() {
super.beforeSave();
@@ -121,6 +122,7 @@ public class Site extends ACSObject {
}
}
+ @Override
public void beforeDelete() {
super.beforeDelete();
diff --git a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/Subsite.java b/ccm-subsite/src/com/arsdigita/subsite/Subsite.java
similarity index 95%
rename from ccm-ldn-subsite/src/com/arsdigita/london/subsite/Subsite.java
rename to ccm-subsite/src/com/arsdigita/subsite/Subsite.java
index 0058da7de..7a591f008 100755
--- a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/Subsite.java
+++ b/ccm-subsite/src/com/arsdigita/subsite/Subsite.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-package com.arsdigita.london.subsite;
+package com.arsdigita.subsite;
import com.arsdigita.web.Application;
import com.arsdigita.persistence.OID;
@@ -34,9 +34,9 @@ public class Subsite extends Application {
private static final Logger s_log = Logger.getLogger(Subsite.class);
public static final String BASE_DATA_OBJECT_TYPE
- = "com.arsdigita.london.subsite.Subsite";
+ = "com.arsdigita.subsite.Subsite";
public static final String SUBSITE_XML_NS
- = "http://ccm.redhat.com/london/subsite/1.0";
+ = "http://ccm.redhat.com/subsite/1.0";
public static final String SUBSITE_XML_PREFIX
= "subsite:";
@@ -112,7 +112,7 @@ public class Subsite extends Application {
*/
public String getServletPath() {
// return "/files";
- return "/ccm-ldn-subsite/files";
+ return "/ccm-subsite/files";
}
}
diff --git a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/SubsiteConfig.java b/ccm-subsite/src/com/arsdigita/subsite/SubsiteConfig.java
similarity index 68%
rename from ccm-ldn-subsite/src/com/arsdigita/london/subsite/SubsiteConfig.java
rename to ccm-subsite/src/com/arsdigita/subsite/SubsiteConfig.java
index e2f1b1461..231d87d1c 100755
--- a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/SubsiteConfig.java
+++ b/ccm-subsite/src/com/arsdigita/subsite/SubsiteConfig.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-package com.arsdigita.london.subsite;
+package com.arsdigita.subsite;
import com.arsdigita.runtime.AbstractConfig;
@@ -27,7 +27,7 @@ import com.arsdigita.util.parameter.StringParameter;
// import com.arsdigita.util.UncheckedWrapperException;
import com.arsdigita.london.util.ui.ApplicationCategoryPicker;
import java.io.InputStream;
-import java.io.IOException;
+// import java.io.IOException;
// import java.net.URL;
// import java.net.MalformedURLException;
import java.util.Map;
@@ -42,32 +42,46 @@ public class SubsiteConfig extends AbstractConfig {
private Map m_themes = new HashMap();
- private ResourceParameter m_adapters;
- private StringParameter m_frontPageApplicationTypeParameter;
- private StringParameter m_frontPageParentURLParameter;
- private Parameter m_rootCategoryPicker;
+ /**
+ *
+ */
+ private Parameter m_adapters = new
+ ResourceParameter("com.arsdigita.subsite.traversal_adapters",
+ Parameter.REQUIRED,
+ "/WEB-INF/resources/subsite-adapters.xml");
+ /** Class name of application type which should be used for front page
+ * of all created subsites.
+ * It is not possible to use different front page appöications for
+ * different subsites.
+ */
+ private Parameter m_frontPageApplicationTypeParameter= new
+ StringParameter("com.arsdigita.subsite.front_page_application",
+ Parameter.REQUIRED,
+ "com.arsdigita.portalworkspace.Workspace");
+
+ /**
+ *
+ */
+ private Parameter m_frontPageParentURLParameter = new
+ StringParameter("com.arsdigita.subsite.front_page_parent_url",
+ Parameter.REQUIRED,
+ "/portal/");
+
+ /**
+ *
+ */
+ private Parameter m_rootCategoryPicker = new
+ ClassParameter("com.arsdigita.subsite.root_category_picker",
+ Parameter.REQUIRED,
+ ApplicationCategoryPicker.class);
+
+
+ /**
+ *
+ */
public SubsiteConfig() {
- m_adapters = new ResourceParameter
- ("com.arsdigita.london.subsite.traversal_adapters",
- Parameter.REQUIRED,
- "/WEB-INF/resources/subsite-adapters.xml");
-
- m_frontPageApplicationTypeParameter = new StringParameter
- ("com.arsdigita.london.subsite.front_page_application",
- Parameter.REQUIRED,
- "com.arsdigita.london.portal.Workspace");
-
- m_frontPageParentURLParameter = new StringParameter
- ("com.arsdigita.london.subsite.front_page_parent_url",
- Parameter.REQUIRED,
- "/portal/");
- m_rootCategoryPicker = new ClassParameter(
- "com.arsdigita.london.subsite.root_category_picker",
- Parameter.REQUIRED,
- ApplicationCategoryPicker.class);
-
register(m_adapters);
register(m_frontPageApplicationTypeParameter);
register(m_frontPageParentURLParameter);
@@ -80,6 +94,10 @@ public class SubsiteConfig extends AbstractConfig {
return (InputStream) get(m_adapters);
}
+ /**
+ *
+ * @return
+ */
public String getFrontPageApplicationType() {
return (String)get(m_frontPageApplicationTypeParameter);
}
diff --git a/ccm-subsite/src/com/arsdigita/subsite/SubsiteConfig_parameter.properties b/ccm-subsite/src/com/arsdigita/subsite/SubsiteConfig_parameter.properties
new file mode 100755
index 000000000..6973e1db2
--- /dev/null
+++ b/ccm-subsite/src/com/arsdigita/subsite/SubsiteConfig_parameter.properties
@@ -0,0 +1,19 @@
+com.arsdigita.subsite.traversal_adapters.title=XML renderer rules
+com.arsdigita.subsite.traversal_adapters.purpose=Name of file with rules for configuring information in generated XML
+com.arsdigita.subsite.traversal_adapters.format=[string]
+com.arsdigita.subsite.traversal_adapters.example=/WEB-INF/resources/subsite-adapters.xml
+
+com.arsdigita.subsite.front_page_application.title=Front Page Application (Subsite)
+com.arsdigita.subsite.front_page_application.purpose=The Application to use as the front (home) page for a subsite
+com.arsdigita.subsite.front_page_application.format=[classname]
+com.arsdigita.subsite.front_page_application.example=com.arsdigita.portalworkspace.Workspace
+
+com.arsdigita.subsite.front_page_parent_url.title=Front Page Parent URL (Subsite)
+com.arsdigita.subsite.front_page_parent_url.purpose=The url that is used as the parent for all subsites.
+com.arsdigita.subsite.front_page_parent_url.format=[string]
+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
diff --git a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/SubsiteContext.java b/ccm-subsite/src/com/arsdigita/subsite/SubsiteContext.java
similarity index 97%
rename from ccm-ldn-subsite/src/com/arsdigita/london/subsite/SubsiteContext.java
rename to ccm-subsite/src/com/arsdigita/subsite/SubsiteContext.java
index 4fb4c251b..f14f326d8 100755
--- a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/SubsiteContext.java
+++ b/ccm-subsite/src/com/arsdigita/subsite/SubsiteContext.java
@@ -16,14 +16,14 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-package com.arsdigita.london.subsite;
+package com.arsdigita.subsite;
-import org.apache.log4j.Logger;
-import javax.servlet.http.HttpServletRequest;
-import com.arsdigita.util.Assert;
import com.arsdigita.dispatcher.DispatcherHelper;
+import com.arsdigita.util.Assert;
+// import com.arsdigita.subsite.Site;
-import com.arsdigita.london.subsite.Site;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.log4j.Logger;
/**
* The entry point into all the global state that CCM Subsite code expects to
diff --git a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/SubsiteDynamicHostProvider.java b/ccm-subsite/src/com/arsdigita/subsite/SubsiteDynamicHostProvider.java
similarity index 93%
rename from ccm-ldn-subsite/src/com/arsdigita/london/subsite/SubsiteDynamicHostProvider.java
rename to ccm-subsite/src/com/arsdigita/subsite/SubsiteDynamicHostProvider.java
index 6502b40bd..22770ae45 100755
--- a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/SubsiteDynamicHostProvider.java
+++ b/ccm-subsite/src/com/arsdigita/subsite/SubsiteDynamicHostProvider.java
@@ -16,9 +16,10 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
-package com.arsdigita.london.subsite;
+package com.arsdigita.subsite;
-import com.arsdigita.util.servlet.HttpHost;
+// import com.arsdigita.subsite.Subsite;
+// import com.arsdigita.util.servlet.HttpHost;
import com.arsdigita.web.ServerDynamicHostProvider;
import org.apache.log4j.Logger;
@@ -34,6 +35,7 @@ public class SubsiteDynamicHostProvider extends ServerDynamicHostProvider {
super();
}
+ @Override
public String getName() {
if (!Subsite.getContext().hasSite()) {
return super.getName();
@@ -43,6 +45,7 @@ public class SubsiteDynamicHostProvider extends ServerDynamicHostProvider {
return url.getHost();
}
+ @Override
public int getPort() {
if (!Subsite.getContext().hasSite()) {
return super.getPort();
diff --git a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/SubsiteFilter.java b/ccm-subsite/src/com/arsdigita/subsite/SubsiteFilter.java
similarity index 97%
rename from ccm-ldn-subsite/src/com/arsdigita/london/subsite/SubsiteFilter.java
rename to ccm-subsite/src/com/arsdigita/subsite/SubsiteFilter.java
index 521aaecdf..be146e076 100755
--- a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/SubsiteFilter.java
+++ b/ccm-subsite/src/com/arsdigita/subsite/SubsiteFilter.java
@@ -16,9 +16,10 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-package com.arsdigita.london.subsite;
+package com.arsdigita.subsite;
+// import com.arsdigita.subsite.Site;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
@@ -59,6 +60,7 @@ public class SubsiteFilter extends BaseFilter {
* @throws IOException
* @throws ServletException
*/
+ @Override
protected void doService(HttpServletRequest sreq,
HttpServletResponse sresp,
FilterChain chain)
diff --git a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/SubsitePatternGenerator.java b/ccm-subsite/src/com/arsdigita/subsite/SubsitePatternGenerator.java
similarity index 95%
rename from ccm-ldn-subsite/src/com/arsdigita/london/subsite/SubsitePatternGenerator.java
rename to ccm-subsite/src/com/arsdigita/subsite/SubsitePatternGenerator.java
index b41eee2b9..ae0d71a54 100755
--- a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/SubsitePatternGenerator.java
+++ b/ccm-subsite/src/com/arsdigita/subsite/SubsitePatternGenerator.java
@@ -16,10 +16,11 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-package com.arsdigita.london.subsite;
+package com.arsdigita.subsite;
-import javax.servlet.http.HttpServletRequest;
+// import com.arsdigita.subsite.Subsite;
import com.arsdigita.templating.PatternGenerator;
+import javax.servlet.http.HttpServletRequest;
public class SubsitePatternGenerator implements PatternGenerator {
diff --git a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/dispatcher/SubsiteItemTemplateResolver.java b/ccm-subsite/src/com/arsdigita/subsite/dispatcher/SubsiteItemTemplateResolver.java
similarity index 96%
rename from ccm-ldn-subsite/src/com/arsdigita/london/subsite/dispatcher/SubsiteItemTemplateResolver.java
rename to ccm-subsite/src/com/arsdigita/subsite/dispatcher/SubsiteItemTemplateResolver.java
index a75eb32f8..a9eb88504 100755
--- a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/dispatcher/SubsiteItemTemplateResolver.java
+++ b/ccm-subsite/src/com/arsdigita/subsite/dispatcher/SubsiteItemTemplateResolver.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-package com.arsdigita.london.subsite.dispatcher;
+package com.arsdigita.subsite.dispatcher;
import com.arsdigita.cms.Folder;
import com.arsdigita.cms.ContentItem;
@@ -25,8 +25,8 @@ import com.arsdigita.cms.TemplateManager;
import com.arsdigita.cms.dispatcher.DefaultTemplateResolver;
import com.arsdigita.util.ResourceManager;
-import com.arsdigita.london.subsite.Site;
-import com.arsdigita.london.subsite.Subsite;
+import com.arsdigita.subsite.Site;
+import com.arsdigita.subsite.Subsite;
import java.io.File;
diff --git a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/package.html b/ccm-subsite/src/com/arsdigita/subsite/package.html
similarity index 89%
rename from ccm-ldn-subsite/src/com/arsdigita/london/subsite/package.html
rename to ccm-subsite/src/com/arsdigita/subsite/package.html
index db991135d..40685e109 100644
--- a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/package.html
+++ b/ccm-subsite/src/com/arsdigita/subsite/package.html
@@ -1,8 +1,8 @@
+
-
Package com.arsdigita.london.subsite
@@ -15,7 +15,7 @@ and open the template in the editor.
subsite
- com.arsdigita.london.subsite.SubsiteFilter
+ com.arsdigita.subsite.SubsiteFilter
diff --git a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/ui/ControlCenterPanel.java b/ccm-subsite/src/com/arsdigita/subsite/ui/ControlCenterPanel.java
similarity index 93%
rename from ccm-ldn-subsite/src/com/arsdigita/london/subsite/ui/ControlCenterPanel.java
rename to ccm-subsite/src/com/arsdigita/subsite/ui/ControlCenterPanel.java
index 04e3c29ad..3de2b99fb 100755
--- a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/ui/ControlCenterPanel.java
+++ b/ccm-subsite/src/com/arsdigita/subsite/ui/ControlCenterPanel.java
@@ -16,9 +16,9 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-package com.arsdigita.london.subsite.ui;
+package com.arsdigita.subsite.ui;
-import com.arsdigita.london.subsite.Subsite;
+import com.arsdigita.subsite.Subsite;
import com.arsdigita.bebop.SimpleContainer;
public class ControlCenterPanel extends SimpleContainer {
diff --git a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/ui/SiteForm.java b/ccm-subsite/src/com/arsdigita/subsite/ui/SiteForm.java
similarity index 84%
rename from ccm-ldn-subsite/src/com/arsdigita/london/subsite/ui/SiteForm.java
rename to ccm-subsite/src/com/arsdigita/subsite/ui/SiteForm.java
index e2efd11e9..8805a4732 100755
--- a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/ui/SiteForm.java
+++ b/ccm-subsite/src/com/arsdigita/subsite/ui/SiteForm.java
@@ -16,10 +16,10 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-package com.arsdigita.london.subsite.ui;
+package com.arsdigita.subsite.ui;
-import com.arsdigita.london.subsite.Site;
-import com.arsdigita.london.subsite.Subsite;
+import com.arsdigita.subsite.Site;
+import com.arsdigita.subsite.Subsite;
import com.arsdigita.london.util.ui.CategoryPicker;
import com.arsdigita.categorization.Category;
import com.arsdigita.util.StringUtils;
@@ -64,23 +64,27 @@ public class SiteForm extends Form {
private SiteSelectionModel m_site;
private TextField m_title;
+ private TextField m_hostname;
private TextArea m_description;
private RadioGroup m_customHomepage;
- private TextField m_hostname;
+ private TextField m_customHomepage_url;
private TextField m_styleDir;
private CategoryPicker m_rootCategory;
private SingleSelect m_themes;
private SaveCancelSection m_buttons;
private final static String DEFAULT_STYLE = "DEFAULT_STYLE";
- private final static String DEFAULT_STYLE_LABEL =
- "Site Wide Default";
+ private final static String DEFAULT_STYLE_LABEL = "Site Wide Default";
private final static String OTHER_STYLE = "OTHER_STYLE";
- private final static String OTHER_STYLE_LABEL =
- "Other (type in box below)";
+ private final static String OTHER_STYLE_LABEL = "Other (type in box below)";
- public SiteForm(String name,
- SiteSelectionModel site) {
+ /**
+ *
+ * @param name
+ * @param site
+ */
+ public SiteForm(String name, SiteSelectionModel site) {
+
super(name, new SimpleContainer());
setClassAttr("simpleForm");
setRedirecting(true);
@@ -94,6 +98,17 @@ public class SiteForm extends Form {
m_title.setSize(40);
add(m_title);
+ /* Setup text input field for hostname */
+ m_hostname = new TextField(new StringParameter("hostname"));
+ m_hostname.addValidationListener(new NotNullValidationListener());
+ m_hostname.addValidationListener(new HostNameValidationListener());
+ m_hostname.setMetaDataAttribute("title", "Hostname");
+ m_hostname.setSize(35);
+ m_hostname.setHint(
+ "Enter the hostname for the subsite, eg business.example.com"
+ );
+ add(m_hostname); // adds hostname input field to form
+
m_description = new TextArea(new StringParameter("description"));
m_description.addValidationListener(new NotNullValidationListener());
m_description.setMetaDataAttribute("title", "Description");
@@ -104,11 +119,12 @@ public class SiteForm extends Form {
);
add(m_description);
+ /* Setup Radio selection group for subsite start page (front page) */
m_customHomepage = new RadioGroup("customHome");
- m_customHomepage.addOption(new Option(Boolean.TRUE.toString(),
- "Create custom homepage"));
m_customHomepage.addOption(new Option(Boolean.FALSE.toString(),
"Use main site homepage"));
+ m_customHomepage.addOption(new Option(Boolean.TRUE.toString(),
+ "Create custom homepage"));
m_customHomepage.addValidationListener(new NotNullValidationListener());
m_customHomepage.setHint(
"Select to create a custom homepage for the subsite"
@@ -125,18 +141,20 @@ public class SiteForm extends Form {
} catch (TooManyListenersException ex) {
throw new UncheckedWrapperException("cannot happen", ex);
}
- add(m_customHomepage);
+ add(m_customHomepage); // adds Radio group start page to form
- m_hostname = new TextField(new StringParameter("hostname"));
- m_hostname.addValidationListener(new NotNullValidationListener());
- m_hostname.addValidationListener(new HostNameValidationListener());
- m_hostname.setMetaDataAttribute("title", "Hostname");
- m_title.setSize(40);
- m_hostname.setHint(
- "Enter the hostname for the subsite, eg business.example.com"
+ m_customHomepage_url = new TextField(
+ new StringParameter("customHomepage_url"));
+ m_customHomepage_url.setMetaDataAttribute("title",
+ "Front Page name (url)");
+ m_customHomepage_url.setSize(40);
+ m_customHomepage_url.setHint(
+ "Enter the name of the custom homepage, i.e. the last part of url. " +
+ " "
);
- add(m_hostname);
+ add(m_customHomepage_url); // adds inputfield start page to form
+ /* Setup selection box for themes */
m_themes = new SingleSelect(new StringParameter("selectStyleDir"));
m_themes.setMetaDataAttribute("title", "XSLT Directory");
m_themes.setHint("Select an existing theme from the list, " +
@@ -148,11 +166,11 @@ public class SiteForm extends Form {
} catch (TooManyListenersException ex) {
throw new UncheckedWrapperException("This cannot happen", ex);
}
- add(m_themes);
+ add(m_themes); // adds themes selection box to form
m_styleDir = new TextField(new StringParameter("styleDir"));
m_styleDir.setMetaDataAttribute("title", "XSLT Directory (Other)");
- m_title.setSize(40);
+ m_styleDir.setSize(40);
m_styleDir.setHint(
"Enter the directory for the custom XSLT styles, " +
"or leave blank for the default styling"
@@ -182,6 +200,9 @@ public class SiteForm extends Form {
addValidationListener(new SiteValidationListener());
}
+ /**
+ *
+ */
private class SiteSubmissionListener implements FormSubmissionListener {
public void submitted(FormSectionEvent e)
throws FormProcessException {
@@ -194,6 +215,9 @@ public class SiteForm extends Form {
}
}
+ /**
+ *
+ */
private class SiteValidationListener implements FormValidationListener {
public void validate(FormSectionEvent e) {
PageState state = e.getPageState();
@@ -229,6 +253,9 @@ public class SiteForm extends Form {
}
}
+ /**
+ *
+ */
private class HostNameValidationListener implements ParameterListener {
public void validate(ParameterEvent e) {
ParameterData data = e.getParameterData();
@@ -253,12 +280,16 @@ public class SiteForm extends Form {
}
}
+ /**
+ *
+ */
private class SiteInitListener implements FormInitListener {
public void init(FormSectionEvent e)
throws FormProcessException {
PageState state = e.getPageState();
Site site = m_site.getSelectedSite(state);
+
if (site == null) {
m_title.setValue(state, null);
m_description.setValue(state, null);
@@ -306,6 +337,9 @@ public class SiteForm extends Form {
}
}
+ /**
+ *
+ */
private class SiteProcessListener implements FormProcessListener {
public void process(FormSectionEvent e)
throws FormProcessException {
@@ -325,47 +359,58 @@ public class SiteForm extends Form {
styleDir = theme;
}
}
- if (site == null) {
+ if (site == null) { // (sub)site not yet exists, create new one
+
+ /* Retrieve application type object */
ApplicationType appType = ApplicationType
.retrieveApplicationTypeForApplication
(Subsite.getConfig().getFrontPageApplicationType());
- Assert.exists(appType,
- ApplicationType.class);
+ Assert.exists(appType,ApplicationType.class);
+ /* Retrieve parent application object */
Application parentApp = Application
.retrieveApplicationForPath(
Subsite.getConfig().getFrontPageParentURL());
- Assert.exists(parentApp,
- Application.class);
+ Assert.exists(parentApp,Application.class);
Application frontPage = null;
- if (Boolean.TRUE.toString().equals(m_customHomepage
- .getValue(state))) {
- frontPage = Application.createApplication(
- appType,
- (String)m_hostname.getValue(state),
- (String)m_title.getValue(state),
- parentApp
- );
+ if (Boolean.TRUE.toString()
+ .equals(m_customHomepage.getValue(state))) {
+
+ // custom homepage selected - create one
+ // hostname hard coded as front page url
+ frontPage = Application.createApplication
+ ( appType,
+ (String)m_hostname.getValue(state),
+ (String)m_title.getValue(state),
+ parentApp
+ );
frontPage.setDescription((String)m_description.getValue(state));
- Category.setRootForObject(frontPage,
- root);
- } else {
+ Category.setRootForObject(frontPage,root);
+
+ } else {
+
frontPage = parentApp;
// NB, explicitly don't set cat on shared front page!
}
+
+ // actually create a new subsite
site = Site.create((String)m_title.getValue(state),
(String)m_description.getValue(state),
(String)m_hostname.getValue(state),
styleDir,
root,
frontPage);
- } else {
+
+ } else { // (sub)site already exists, modify mutable configuration
+
+ // FRONT_PAGE Application not mutable
site.setTitle((String)m_title.getValue(state));
site.setDescription((String)m_description.getValue(state));
site.setHostname((String)m_hostname.getValue(state));
site.setStyleDirectory(styleDir);
site.setRootCategory(root);
+
}
m_site.clearSelection(state);
@@ -378,6 +423,9 @@ public class SiteForm extends Form {
}
+ /**
+ *
+ */
private class ThemesListener implements PrintListener {
public void prepare(PrintEvent e) {
SingleSelect target = (SingleSelect)e.getTarget();
diff --git a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/ui/SiteListing.java b/ccm-subsite/src/com/arsdigita/subsite/ui/SiteListing.java
similarity index 94%
rename from ccm-ldn-subsite/src/com/arsdigita/london/subsite/ui/SiteListing.java
rename to ccm-subsite/src/com/arsdigita/subsite/ui/SiteListing.java
index 14229e3c3..7f8f4676b 100755
--- a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/ui/SiteListing.java
+++ b/ccm-subsite/src/com/arsdigita/subsite/ui/SiteListing.java
@@ -16,10 +16,10 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-package com.arsdigita.london.subsite.ui;
+package com.arsdigita.subsite.ui;
-import com.arsdigita.london.subsite.Subsite;
-import com.arsdigita.london.subsite.Site;
+import com.arsdigita.subsite.Subsite;
+import com.arsdigita.subsite.Site;
import com.arsdigita.bebop.SimpleComponent;
import com.arsdigita.bebop.PageState;
import com.arsdigita.domain.DomainCollection;
diff --git a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/ui/SiteSelectionModel.java b/ccm-subsite/src/com/arsdigita/subsite/ui/SiteSelectionModel.java
similarity index 93%
rename from ccm-ldn-subsite/src/com/arsdigita/london/subsite/ui/SiteSelectionModel.java
rename to ccm-subsite/src/com/arsdigita/subsite/ui/SiteSelectionModel.java
index 31d51982b..67665425f 100755
--- a/ccm-ldn-subsite/src/com/arsdigita/london/subsite/ui/SiteSelectionModel.java
+++ b/ccm-subsite/src/com/arsdigita/subsite/ui/SiteSelectionModel.java
@@ -16,14 +16,18 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-package com.arsdigita.london.subsite.ui;
+package com.arsdigita.subsite.ui;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.parameters.BigDecimalParameter;
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
-import com.arsdigita.london.subsite.Site;
+import com.arsdigita.subsite.Site;
+/**
+ *
+ *
+ */
public class SiteSelectionModel extends ACSObjectSelectionModel {
public SiteSelectionModel(BigDecimalParameter param) {
diff --git a/ccm-ldn-subsite/web/WEB-INF/web.ccm-ldn-subsite.xml b/ccm-subsite/web/WEB-INF/web.ccm-subsite.xml
similarity index 84%
rename from ccm-ldn-subsite/web/WEB-INF/web.ccm-ldn-subsite.xml
rename to ccm-subsite/web/WEB-INF/web.ccm-subsite.xml
index b53dff8ee..01a1482b8 100644
--- a/ccm-ldn-subsite/web/WEB-INF/web.ccm-ldn-subsite.xml
+++ b/ccm-subsite/web/WEB-INF/web.ccm-subsite.xml
@@ -6,7 +6,7 @@
subsite
- com.arsdigita.london.subsite.SubsiteFilter
+ com.arsdigita.subsite.SubsiteFilter
@@ -20,7 +20,7 @@
com.arsdigita.web.ApplicationFileServlet
template-path
- /templates/ccm-ldn-subsite
+ /templates/ccm-subsite
@@ -28,7 +28,7 @@
subsite-files
- /ccm-ldn-subsite/files/*
+ /ccm-subsite/files/*
diff --git a/ccm-ldn-subsite/web/__ccm__/apps/subsite/xsl/index.xsl b/ccm-subsite/web/__ccm__/apps/subsite/xsl/index.xsl
similarity index 94%
rename from ccm-ldn-subsite/web/__ccm__/apps/subsite/xsl/index.xsl
rename to ccm-subsite/web/__ccm__/apps/subsite/xsl/index.xsl
index 9cbd59a25..f2d3f8135 100755
--- a/ccm-ldn-subsite/web/__ccm__/apps/subsite/xsl/index.xsl
+++ b/ccm-subsite/web/__ccm__/apps/subsite/xsl/index.xsl
@@ -3,10 +3,10 @@
-
diff --git a/ccm-ldn-subsite/web/templates/ccm-ldn-subsite/index.jsp b/ccm-subsite/web/templates/ccm-subsite/index.jsp
similarity index 85%
rename from ccm-ldn-subsite/web/templates/ccm-ldn-subsite/index.jsp
rename to ccm-subsite/web/templates/ccm-subsite/index.jsp
index bbbd51db9..fa0ab96df 100755
--- a/ccm-ldn-subsite/web/templates/ccm-ldn-subsite/index.jsp
+++ b/ccm-subsite/web/templates/ccm-subsite/index.jsp
@@ -5,8 +5,8 @@
-
-
+
+
diff --git a/ccm-themedirector/application.xml b/ccm-themedirector/application.xml
index c8cc77c97..6f90e6f17 100755
--- a/ccm-themedirector/application.xml
+++ b/ccm-themedirector/application.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/ccm-themedirector/src/ccm-themedirector.load b/ccm-themedirector/src/ccm-themedirector.load
index ad4502297..d6ceadd0d 100755
--- a/ccm-themedirector/src/ccm-themedirector.load
+++ b/ccm-themedirector/src/ccm-themedirector.load
@@ -3,7 +3,7 @@
-
+