diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileLoader.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileLoader.java index 2d5550051..3345be1ea 100644 --- a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileLoader.java +++ b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileLoader.java @@ -1,6 +1,34 @@ +/* + * Copyright (C) 2011 - 2013 University of Bremen. 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.contenttypes; /** + * Loader executes nonrecurring once at install time and loads the + * Public Personal Profile contenttype package persistently into database. + * + * It uses the base class to create the database schema and the required + * table entries for the contenttype. + * + * NOTE: Configuration parameters used at load time MUST be part of Loader + * class and can not delegated to a Config object (derived from AbstractConfig). + * They will (and can) not be persisted into an registry object (file). * * @author Jens Pelzetter * @version $Id$ @@ -11,11 +39,22 @@ public class PublicPersonalProfileLoader extends AbstractContentTypeLoader { super(); } + /** Defines the xml file containing the PPP content types property + * definitions. */ private static final String[] TYPES = { "/WEB-INF/content-types/com/arsdigita/cms/contenttypes/" + "PublicPersonalProfile.xml" }; + /** + * Provides the of PPP contenttype property definitions implementing + * the parent's class abstract method. + * + * The file defines the types name as displayed in content center + * select box and the authoring steps. These are loaded into database. + * + * @return String Atring Array of fully qualified file names + */ @Override public String[] getTypes() { return TYPES; diff --git a/ccm-cms-types-address/src/com/arsdigita/cms/contenttypes/AddressLoader.java b/ccm-cms-types-address/src/com/arsdigita/cms/contenttypes/AddressLoader.java index a2bc7ed03..c6bbc4d9f 100755 --- a/ccm-cms-types-address/src/com/arsdigita/cms/contenttypes/AddressLoader.java +++ b/ccm-cms-types-address/src/com/arsdigita/cms/contenttypes/AddressLoader.java @@ -1,15 +1,53 @@ +/* + * Copyright (C) 2010 University of Bremen. 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.contenttypes; /** - * Loader + * Loader executes nonrecurring once at install time and loads the e-Form + * contenttype package persistently into database. + * + * It uses the base class to create the database schema and the required + * table entries for the contenttype. + * + * NOTE: Configuration parameters used at load time MUST be part of Loader + * class and can not delegated to a Config object (derived from AbstractConfig). + * They will (and can) not be persisted into an registry object (file). * */ public class AddressLoader extends AbstractContentTypeLoader { + /** Defines the xml file containing the Address content type property + * definitions. */ private static final String[] TYPES = { "/WEB-INF/content-types/com/arsdigita/cms/contenttypes/Address.xml" }; + /** + * Provides the of Address contenttype property definitions implementing + * the parent's class abstract method. + * + * The file defines the types name as displayed in content center + * select box and the authoring steps. These are loaded into database. + * + * @return String Atring Array of fully qualified file names + */ public String[] getTypes() { return TYPES; } diff --git a/ccm-cms-types-agenda/src/com/arsdigita/cms/contenttypes/AgendaLoader.java b/ccm-cms-types-agenda/src/com/arsdigita/cms/contenttypes/AgendaLoader.java index 9fd601289..045961fac 100755 --- a/ccm-cms-types-agenda/src/com/arsdigita/cms/contenttypes/AgendaLoader.java +++ b/ccm-cms-types-agenda/src/com/arsdigita/cms/contenttypes/AgendaLoader.java @@ -21,7 +21,11 @@ package com.arsdigita.cms.contenttypes; import com.arsdigita.cms.contenttypes.AbstractContentTypeLoader; /** - * Loader. Just sets content type specific properties for use of the parent class. + * Loader executes nonrecurring once at install time and loads the Agenda + * contenttype package persistently into database. + * + * It uses the base class to create the database schema and the required + * table entries for the contenttype. * * @author Rafael H. Schloming <rhs@mit.edu> * @version $Revision: #7 $ $Date: 2004/08/17 $ @@ -29,10 +33,21 @@ import com.arsdigita.cms.contenttypes.AbstractContentTypeLoader; */ public class AgendaLoader extends AbstractContentTypeLoader { + /** Defines the xml file containing the EForm content types property + * definitions. */ private static final String[] TYPES = { "/WEB-INF/content-types/com/arsdigita/cms/contenttypes/Agenda.xml" }; + /** + * Provides the of Agenda contenttype property definitions implementing + * the parent's class abstract method. + * + * The file defines the types name as displayed in content center + * select box and the authoring steps. These are loaded into database. + * + * @return String Array of fully qualified file names + */ public String[] getTypes() { return TYPES; } diff --git a/ccm-cms-types-article/src/com/arsdigita/cms/contenttypes/ArticleLoader.java b/ccm-cms-types-article/src/com/arsdigita/cms/contenttypes/ArticleLoader.java index bbb1c705b..38c538bb8 100755 --- a/ccm-cms-types-article/src/com/arsdigita/cms/contenttypes/ArticleLoader.java +++ b/ccm-cms-types-article/src/com/arsdigita/cms/contenttypes/ArticleLoader.java @@ -21,17 +21,32 @@ package com.arsdigita.cms.contenttypes; // import com.arsdigita.cms.contenttypes.AbstractContentTypeLoader; /** - * Loader. + * Loader executes nonrecurring once at install time and loads the Article + * contenttype package persistently into database. + * + * It uses the base class to create the database schema and the required + * table entries for the contenttype. * * @author Justin Ross <jross@redhat.com> * @version $Id: ArticleLoader.java 287 2005-02-22 00:29:02Z sskracic $ */ public class ArticleLoader extends AbstractContentTypeLoader { + /** Defines the xml file containing the Article content types property + * definitions. */ private static final String[] TYPES = { "/WEB-INF/content-types/com/arsdigita/cms/contenttypes/Article.xml" }; + /** + * Provides the of Article contenttype property definitions + * implementing the parent's class abstract method. + * + * The file defines the types name as displayed in content center + * select box and the authoring steps. These are loaded into database. + * + * @return String Atring Array of fully qualified file names + */ public String[] getTypes() { return TYPES; } diff --git a/ccm-cms-types-article/src/com/arsdigita/cms/contenttypes/ui/ArticlePropertiesStep.java b/ccm-cms-types-article/src/com/arsdigita/cms/contenttypes/ui/ArticlePropertiesStep.java index a54f7aa97..b0455e22e 100755 --- a/ccm-cms-types-article/src/com/arsdigita/cms/contenttypes/ui/ArticlePropertiesStep.java +++ b/ccm-cms-types-article/src/com/arsdigita/cms/contenttypes/ui/ArticlePropertiesStep.java @@ -21,11 +21,11 @@ package com.arsdigita.cms.contenttypes.ui; import com.arsdigita.bebop.Component; import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.contenttypes.Article; -import com.arsdigita.toolbox.ui.DomainObjectPropertySheet; import com.arsdigita.cms.ui.authoring.AuthoringKitWizard; import com.arsdigita.cms.ui.authoring.BasicPageForm; import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess; import com.arsdigita.cms.util.GlobalizationUtil; +import com.arsdigita.toolbox.ui.DomainObjectPropertySheet; /** * Authoring step to edit the simple attributes of the Article content diff --git a/ccm-cms-types-bookmark/src/com/arsdigita/cms/contenttypes/BookmarkLoader.java b/ccm-cms-types-bookmark/src/com/arsdigita/cms/contenttypes/BookmarkLoader.java index 8771305f2..49f3fc5b6 100755 --- a/ccm-cms-types-bookmark/src/com/arsdigita/cms/contenttypes/BookmarkLoader.java +++ b/ccm-cms-types-bookmark/src/com/arsdigita/cms/contenttypes/BookmarkLoader.java @@ -21,17 +21,32 @@ package com.arsdigita.cms.contenttypes; import com.arsdigita.cms.contenttypes.AbstractContentTypeLoader; /** - * Loader. + * Loader executes nonrecurring once at install time and loads the + * Bookmark contenttype package persistently into database. + * + * It uses the base class to create the database schema and the required + * table entries for the contenttype. * * @author Justin Ross <jross@redhat.com> * @version $Id: BookmarkLoader.java 287 2005-02-22 00:29:02Z sskracic $ */ public class BookmarkLoader extends AbstractContentTypeLoader { - private static final String[] TYPES = { + /** Defines the xml file containing the Bookmark content types + * property definitions. */ + private static final String[] TYPES = { "/WEB-INF/content-types/com/arsdigita/cms/contenttypes/Bookmark.xml" }; + /** + * Provides the of Bookmark contenttype property definitions implementing + * the parent's class abstract method. + * + * The file defines the types name as displayed in content center + * select box and the authoring steps. These are loaded into database. + * + * @return String Atring Array of fully qualified file names + */ public String[] getTypes() { return TYPES; } diff --git a/ccm-cms-types-contact/src/com/arsdigita/cms/contenttypes/ContactLoader.java b/ccm-cms-types-contact/src/com/arsdigita/cms/contenttypes/ContactLoader.java index 85239378d..9808708f0 100755 --- a/ccm-cms-types-contact/src/com/arsdigita/cms/contenttypes/ContactLoader.java +++ b/ccm-cms-types-contact/src/com/arsdigita/cms/contenttypes/ContactLoader.java @@ -1,17 +1,50 @@ +/* + * Copyright (C) 2010-2013 University of Bremen. 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.contenttypes; /** - * Loader. + * Loader executes nonrecurring once at install time and loads the + * Contact contenttype package persistently into database. + * + * It uses the base class to create the database schema and the required + * table entries for the contenttype. * * @author Sören Bernstein */ public class ContactLoader extends AbstractContentTypeLoader { + /** Defines the xml file containing the Contact content types + * property definitions. */ private static final String[] TYPES = { "/WEB-INF/content-types/com/arsdigita/cms/contenttypes/Contact.xml" }; + /** + * Provides the of Event contenttype property definitions + * implementing the parent's class abstract method. + * + * The file defines the types name as displayed in content center + * select box and the authoring steps. These are loaded into database. + * + * @return String Atring Array of fully qualified file names + */ public String[] getTypes() { return TYPES; } diff --git a/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/EventLoader.java b/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/EventLoader.java index 0b4a7ccf1..b0a58f299 100755 --- a/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/EventLoader.java +++ b/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/EventLoader.java @@ -21,19 +21,33 @@ package com.arsdigita.cms.contenttypes; import com.arsdigita.cms.contenttypes.AbstractContentTypeLoader; /** - * Loader + * Loader executes nonrecurring once at install time and loads the + * Event contenttype package persistently into database. + * + * It uses the base class to create the database schema and the required + * table entries for the contenttype. * * @author Rafael H. Schloming <rhs@mit.edu> * @version $Revision: #6 $ $Date: 2004/08/17 $ * @version $Id: EventLoader.java 1595 2007-07-10 16:14:44Z p_boy $ - **/ - + */ public class EventLoader extends AbstractContentTypeLoader { - private static final String[] TYPES = { + /** Defines the xml file containing the EForm content types + * property definitions. */ +private static final String[] TYPES = { "/WEB-INF/content-types/com/arsdigita/cms/contenttypes/Event.xml" }; + /** + * Provides the of Event contenttype property definitions + * implementing the parent's class abstract method. + * + * The file defines the types name as displayed in content center + * select box and the authoring steps. These are loaded into database. + * + * @return String Atring Array of fully qualified file names + */ public String[] getTypes() { return TYPES; } diff --git a/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/ui/EventPropertiesStep.java b/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/ui/EventPropertiesStep.java index 8ed221511..58309a6a3 100755 --- a/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/ui/EventPropertiesStep.java +++ b/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/ui/EventPropertiesStep.java @@ -24,14 +24,14 @@ import com.arsdigita.cms.ContentPage; import com.arsdigita.cms.ContentSection; import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.contenttypes.Event; -import com.arsdigita.domain.DomainObject; -import com.arsdigita.toolbox.ui.DomainObjectPropertySheet; +import com.arsdigita.cms.contenttypes.util.EventGlobalizationUtil; import com.arsdigita.cms.ui.authoring.AuthoringKitWizard; import com.arsdigita.cms.ui.authoring.BasicPageForm; import com.arsdigita.cms.ui.authoring.SimpleEditStep; import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess; -import com.arsdigita.cms.contenttypes.util.EventGlobalizationUtil; +import com.arsdigita.domain.DomainObject; import com.arsdigita.globalization.GlobalizationHelper; +import com.arsdigita.toolbox.ui.DomainObjectPropertySheet; import java.text.DateFormat; import java.util.Calendar; @@ -39,26 +39,36 @@ import java.util.Date; /** * Authoring step to view/edit the simple attributes of the Event content type (and - * its subclasses). The attributes edited are 'name', 'title', 'lead', + * its subclasses). + * + * The attributes edited are 'name', 'title', 'lead', * 'start date', 'starttime', end date', 'end time','event date' (literal descr. of date), * 'location', 'main contributor', 'event type', 'map link', and - * 'cost'. This authoring step replaces the + * 'cost'. + * + * This authoring step replaces the * com.arsdigita.ui.authoring.PageEdit step for this type. - **/ + */ public class EventPropertiesStep extends SimpleEditStep { /** The name of the editing sheet added to this step */ public static String EDIT_SHEET_NAME = "edit"; + /** + * + * @param itemModel + * @param parent + */ public EventPropertiesStep(ItemSelectionModel itemModel, - AuthoringKitWizard parent) { + AuthoringKitWizard parent) { super(itemModel, parent); setDefaultEditKey(EDIT_SHEET_NAME); BasicPageForm editSheet; editSheet = new EventPropertyForm(itemModel, this); - add(EDIT_SHEET_NAME, "Edit", new WorkflowLockedComponentAccess(editSheet, itemModel), + add(EDIT_SHEET_NAME, "Edit", + new WorkflowLockedComponentAccess(editSheet, itemModel), editSheet.getSaveCancelSection().getCancelButton()); setDisplayComponent(getEventPropertySheet(itemModel)); @@ -76,9 +86,14 @@ public class EventPropertiesStep extends SimpleEditStep { public static Component getEventPropertySheet(ItemSelectionModel itemModel) { DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel); - sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.name").localize(), Event.NAME); - sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.title").localize(), Event.TITLE); - sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.lead").localize(), Event.LEAD); + + // sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.name").localize(), Event.NAME); + // sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.title").localize(), Event.TITLE); + // sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.lead").localize(), Event.LEAD); + + sheet.add( EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.name"), Event.NAME); + sheet.add( EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.title"), Event.TITLE); + sheet.add( EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.lead"), Event.LEAD); if (!ContentSection.getConfig().getHideLaunchDate()) { sheet.add(EventGlobalizationUtil.globalize("cms.contenttypes.ui.launch_date"), ContentPage.LAUNCH_DATE, @@ -96,8 +111,9 @@ public class EventPropertiesStep extends SimpleEditStep { } }); } - sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.start_time").localize(), Event.START_DATE, - new DomainObjectPropertySheet.AttributeFormatter() { +// sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.start_time").localize(), Event.START_DATE, + sheet.add( EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.start_time"), Event.START_DATE, + new DomainObjectPropertySheet.AttributeFormatter() { public String format(DomainObject item, String attribute, @@ -121,7 +137,8 @@ public class EventPropertiesStep extends SimpleEditStep { } }); - sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.end_time").localize(), Event.END_DATE, +// sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.end_time").localize(), Event.END_DATE, + sheet.add( EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.end_time"), Event.END_DATE, new DomainObjectPropertySheet.AttributeFormatter() { public String format(DomainObject item, @@ -145,21 +162,27 @@ public class EventPropertiesStep extends SimpleEditStep { } }); if (!Event.getConfig().getHideDateDescription()) { - sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.date_description").localize(), Event.EVENT_DATE); + // sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.date_description").localize(), Event.EVENT_DATE); + sheet.add( EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.date_description"), Event.EVENT_DATE); } - sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.location").localize(), Event.LOCATION); +// sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.location").localize(), Event.LOCATION); + sheet.add( EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.location"), Event.LOCATION); if (!Event.getConfig().getHideMainContributor()) { - sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.main_contributor").localize(), Event.MAIN_CONTRIBUTOR); + // sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.main_contributor").localize(), Event.MAIN_CONTRIBUTOR); + sheet.add( EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.main_contributor"), Event.MAIN_CONTRIBUTOR); } if (!Event.getConfig().getHideEventType()) { - sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.event_type").localize(), Event.EVENT_TYPE); + // sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.event_type").localize(), Event.EVENT_TYPE); + sheet.add( EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.event_type"), Event.EVENT_TYPE); } if (!Event.getConfig().getHideLinkToMap()) { - sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.link_to_map").localize(), Event.MAP_LINK); + // sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.link_to_map").localize(), Event.MAP_LINK); + sheet.add( EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.link_to_map"), Event.MAP_LINK ); } if (!Event.getConfig().getHideCost()) { - sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.cost").localize(), Event.COST); + // sheet.add((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.cost").localize(), Event.COST); + sheet.add( EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.cost"), Event.COST ); } return sheet; } diff --git a/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/ui/EventPropertyForm.java b/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/ui/EventPropertyForm.java index c1d393c7f..5b7943f71 100755 --- a/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/ui/EventPropertyForm.java +++ b/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/ui/EventPropertyForm.java @@ -30,22 +30,24 @@ import com.arsdigita.bebop.form.TextField; import com.arsdigita.bebop.form.Time; import com.arsdigita.bebop.parameters.DateParameter; import com.arsdigita.bebop.parameters.NotNullValidationListener; -import com.arsdigita.bebop.parameters.StringInRangeValidationListener; import com.arsdigita.bebop.parameters.ParameterModel; +import com.arsdigita.bebop.parameters.StringInRangeValidationListener; import com.arsdigita.bebop.parameters.StringParameter; import com.arsdigita.bebop.parameters.TimeParameter; import com.arsdigita.bebop.parameters.TrimmedStringParameter; import com.arsdigita.cms.ItemSelectionModel; import com.arsdigita.cms.contenttypes.Event; -import com.arsdigita.cms.ui.authoring.BasicPageForm; import com.arsdigita.cms.contenttypes.util.EventGlobalizationUtil; import com.arsdigita.cms.ui.CMSDHTMLEditor; +import com.arsdigita.cms.ui.authoring.BasicPageForm; + import java.util.Calendar; import java.util.GregorianCalendar; /** - * Form to edit the basic properties of an Event object. Used by - * EventPropertiesStep authoring kit step. + * Form to edit the basic properties of an Event object. + * + * Used by EventPropertiesStep authoring kit step. *
* This form can be extended to create forms for Event subclasses. **/ @@ -113,7 +115,7 @@ public class EventPropertyForm extends BasicPageForm super.addWidgets(); /* Summary (lead) */ - add(new Label((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.lead").localize())); + add(new Label(EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.lead")) ); ParameterModel leadParam = new StringParameter(LEAD); if(Event.getConfig().isLeadTextOptional()) { leadParam.addParameterListener(new NotNullValidationListener()); @@ -124,7 +126,7 @@ public class EventPropertyForm extends BasicPageForm add(lead); /* Start date and time */ ParameterModel eventStartDateParam = new DateParameter(START_DATE); - add(new Label((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.start_date").localize())); + add(new Label(EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.start_date")) ); eventStartDateParam.addParameterListener(new NotNullValidationListener()); // Use bebop date instead of java.util.date m_startDate = new com.arsdigita.bebop.form.Date(eventStartDateParam); @@ -134,7 +136,7 @@ public class EventPropertyForm extends BasicPageForm add(m_startDate); ParameterModel eventStartTimeParam = new TimeParameter(START_TIME); - add(new Label((String) EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.start_time").localize())); + add(new Label(EventGlobalizationUtil.globalize("cms.contenttypes.ui.event.start_time")) ); if(Event.getConfig().isStartTimeOptional()) { eventStartTimeParam.addParameterListener(new NotNullValidationListener()); } diff --git a/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/util/EventGlobalizationUtil.java b/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/util/EventGlobalizationUtil.java index dcd285fc3..faaaf0727 100755 --- a/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/util/EventGlobalizationUtil.java +++ b/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/util/EventGlobalizationUtil.java @@ -16,10 +16,12 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ + package com.arsdigita.cms.contenttypes.util; import com.arsdigita.globalization.GlobalizedMessage; + /** *

* Contains methods to simplify globalizing keys @@ -28,9 +30,9 @@ import com.arsdigita.globalization.GlobalizedMessage; * @author randyg@arsdigita.com * @version $Revision: #4 $ $Date: 2004/08/17 $ */ - public class EventGlobalizationUtil { + /** Name of the Java class to handle Event's globalisation. */ final public static String BUNDLE_NAME = "com.arsdigita.cms.contenttypes.util.EventResourceBundle"; diff --git a/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/util/EventResourceBundle.java b/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/util/EventResourceBundle.java index d8bfdb52a..f68125c88 100755 --- a/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/util/EventResourceBundle.java +++ b/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/util/EventResourceBundle.java @@ -18,17 +18,18 @@ */ package com.arsdigita.cms.contenttypes.util; -import java.util.PropertyResourceBundle; -import com.arsdigita.globalization.ChainedResourceBundle; import com.arsdigita.cms.CMSGlobalized; +import com.arsdigita.globalization.ChainedResourceBundle; + +import java.util.PropertyResourceBundle; /** * Resource Bundle used in UI for Event ContentType. * - * @author Shashin Shinde sshinde@redhat.com - * + * @author Shashin Shinde (sshinde@redhat.com) */ -public class EventResourceBundle extends ChainedResourceBundle implements CMSGlobalized { +public class EventResourceBundle extends ChainedResourceBundle + implements CMSGlobalized { public final static String EVENT_BUNDLE_NAME = "com.arsdigita.cms.contenttypes.EventResources"; diff --git a/ccm-cms-types-faqitem/src/com/arsdigita/cms/contenttypes/FAQItemLoader.java b/ccm-cms-types-faqitem/src/com/arsdigita/cms/contenttypes/FAQItemLoader.java index edad04f54..e5da669cf 100755 --- a/ccm-cms-types-faqitem/src/com/arsdigita/cms/contenttypes/FAQItemLoader.java +++ b/ccm-cms-types-faqitem/src/com/arsdigita/cms/contenttypes/FAQItemLoader.java @@ -21,17 +21,32 @@ package com.arsdigita.cms.contenttypes; import com.arsdigita.cms.contenttypes.AbstractContentTypeLoader; /** - * Loader. + * Loader executes nonrecurring once at install time and loads the + * FAQ contenttype package persistently into database. + * + * It uses the base class to create the database schema and the required + * table entries for the contenttype. * * @author Justin Ross <jross@redhat.com> * @version $Id: FAQItemLoader.java 287 2005-02-22 00:29:02Z sskracic $ */ public class FAQItemLoader extends AbstractContentTypeLoader { + /** Defines the xml file containing the FAQ content types + * property definitions. */ private static final String[] TYPES = { "/WEB-INF/content-types/com/arsdigita/cms/contenttypes/FAQItem.xml" }; + /** + * Provides the of FAQ contenttype property definitions + * implementing the parent's class abstract method. + * + * The file defines the types name as displayed in content center + * select box and the authoring steps. These are loaded into database. + * + * @return String Atring Array of fully qualified file names + */ public String[] getTypes() { return TYPES; } diff --git a/ccm-cms/src/com/arsdigita/cms/Loader.java b/ccm-cms/src/com/arsdigita/cms/Loader.java index f7629f456..615a7e22c 100755 --- a/ccm-cms/src/com/arsdigita/cms/Loader.java +++ b/ccm-cms/src/com/arsdigita/cms/Loader.java @@ -64,6 +64,10 @@ import org.apache.log4j.Logger; * processing, otherwise hardcoded default values take effect. After processing, * the installation values can not be modified anymore without a fresh * installation of the whole system.

+ * + * NOTE: Configuration parameters used at load time MUST be part of Loader + * class and can not delegated to a Config object (derived from AbstractConfig). + * They will (and can) not be persisted into an registry object (file). * * @author Peter Boy <pboy@barkhof.uni-bremen.de> * @since ccm-cms version 6.6.0 @@ -83,6 +87,7 @@ public class Loader extends PackageLoader { * time, the parameter must be relocated into this Loader class! */ private static final LoaderConfig s_conf = LoaderConfig.getInstance(); + // /////////////////////////////////////////////////////////////////// // Configurable parameters during load step. // /////////////////////////////////////////////////////////////////// @@ -96,6 +101,10 @@ public class Loader extends PackageLoader { "com.arsdigita.cms.loader.section_names", Parameter.REQUIRED, new String[]{"content"}); + // /////////////////////////////////////////////////////////////////// + // Configurable parameters during load step END. + // /////////////////////////////////////////////////////////////////// + /** * List of classnames of internal base content types (needed in every * section created), generated while loading those content types in diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/AbstractContentTypeLoader.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/AbstractContentTypeLoader.java index 3856a9caa..8457e0d8e 100755 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/AbstractContentTypeLoader.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/AbstractContentTypeLoader.java @@ -53,6 +53,12 @@ import org.apache.log4j.Logger; * This is the base loader that can be used by individual content types. * Specifically, it provides type loading functionality in the "run" method * that can be used by content types to reduce code duplication. + * + * NOTE: Implementing clases may need to define and use configuration parameters + * to adjust things at load time. These MUST be part of Loader class + * implementationand itself and can not be delegated to a Config object + * (derived from AbstractConfig). They will (and can) not be persisted into an + * registry object (file). * * @author Rafael H. Schloming <rhs@mit.edu> * @authro Sören Bernstein (quasi@barkhof.uni-bremen.de) @@ -134,6 +140,16 @@ public abstract class AbstractContentTypeLoader extends PackageLoader { ContentTypeWorkflowTemplate.updateWorkflowTemplate(section, type, wf); } + /** + * Provides a list of contenttype property definitions. + * + * The file defines the types name as displayed in content center + * select box and the authoring steps. These are loaded into database. + * + * Must be implemented by each content type loader to provide its + * specific definition files. + * @return + */ protected abstract String[] getTypes(); /* diff --git a/ccm-core/src/com/arsdigita/toolbox/ui/DomainObjectPropertySheet.java b/ccm-core/src/com/arsdigita/toolbox/ui/DomainObjectPropertySheet.java index 95fce100d..6abfa9cb3 100755 --- a/ccm-core/src/com/arsdigita/toolbox/ui/DomainObjectPropertySheet.java +++ b/ccm-core/src/com/arsdigita/toolbox/ui/DomainObjectPropertySheet.java @@ -22,21 +22,19 @@ import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.PropertySheet; import com.arsdigita.bebop.PropertySheetModel; import com.arsdigita.bebop.PropertySheetModelBuilder; +import com.arsdigita.domain.DomainObject; +import com.arsdigita.domain.DomainService; +import com.arsdigita.globalization.GlobalizedMessage; +import com.arsdigita.kernel.ui.DomainObjectSelectionModel; +import com.arsdigita.persistence.DataObject; +import com.arsdigita.toolbox.util.GlobalizationUtil; import com.arsdigita.util.LockableImpl; -import java.util.List; -import java.util.LinkedList; import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; import java.util.StringTokenizer; -import com.arsdigita.domain.DomainService; -import com.arsdigita.domain.DomainObject; -import com.arsdigita.persistence.DataObject; -import com.arsdigita.kernel.ui.DomainObjectSelectionModel; - -import com.arsdigita.globalization.GlobalizedMessage; -import com.arsdigita.toolbox.util.GlobalizationUtil; - /** * Displays a list of label-value pairs, which represent the attributes @@ -44,7 +42,8 @@ import com.arsdigita.toolbox.util.GlobalizationUtil; *

* Typical usage is *


- * DomainObjectPropertySheet mySheet = new DomainObjectPropertySheet(myDomainObjectSelectionModel);
+ * DomainObjectPropertySheet mySheet = 
+ *         new DomainObjectPropertySheet(myDomainObjectSelectionModel);
  * mySheet.add("Name:", ContentPage.NAME);
  * mySheet.add("Title:", ContentPage.TITLE);
  * 
@@ -65,9 +64,9 @@ import com.arsdigita.toolbox.util.GlobalizationUtil; * Note that, by default, DomainObjectPropertySheet retrieves * the values for its properties directly from the underlying {@link DataObject} * of the {@link DomainObject}. This means that the Java getXXX - * methods of the DomainObject will never be called. Of course, it - * is always possible to create a custom {@link AttributeFormatter} that will call the - * appropriate methods. + * methods of the DomainObject will never be called. Of course, + * it is always possible to create a custom {@link AttributeFormatter} that + * will call the appropriate methods. * * @author Stanislav Freidin * @version $Id: DomainObjectPropertySheet.java 287 2005-02-22 00:29:02Z sskracic $ @@ -75,8 +74,6 @@ import com.arsdigita.toolbox.util.GlobalizationUtil; */ public class DomainObjectPropertySheet extends PropertySheet { - public static final String versionId = - "$Id: DomainObjectPropertySheet.java 287 2005-02-22 00:29:02Z sskracic $ by $Author: sskracic $, $DateTime: 2004/08/16 18:10:38 $"; private List m_props; private DomainObjectSelectionModel m_objModel; private AttributeFormatter m_toStringFormatter; @@ -157,7 +154,8 @@ public class DomainObjectPropertySheet extends PropertySheet { * @param label The label for the attribute * @param attribute The name for the attribute * @param formatter An instance of AttributeFormatter - * @deprecated Use add(GlobalizedMessage label, String attribute, AttributeFormatter f) instead + * @deprecated Use add(GlobalizedMessage label, String attribute, + * AttributeFormatter f) instead */ public void add(String label, String attribute, AttributeFormatter f) { add(GlobalizationUtil.globalize(label), attribute, f); @@ -252,7 +250,7 @@ public class DomainObjectPropertySheet extends PropertySheet { private Iterator m_props; private Property m_current; private static String ERROR = - "No current property. Make sure that nextRow() was called at least once."; + "No current property. Make sure that nextRow() was called at least once."; public DomainObjectPropertiesModel( DomainObject obj, Iterator props, PageState state) { diff --git a/ccm-ldn-types-contact/src/com/arsdigita/london/contenttypes/ContactLoader.java b/ccm-ldn-types-contact/src/com/arsdigita/london/contenttypes/ContactLoader.java index 57cb15e32..7bd48d795 100755 --- a/ccm-ldn-types-contact/src/com/arsdigita/london/contenttypes/ContactLoader.java +++ b/ccm-ldn-types-contact/src/com/arsdigita/london/contenttypes/ContactLoader.java @@ -33,13 +33,21 @@ import com.arsdigita.runtime.ScriptContext; */ public class ContactLoader extends AbstractContentTypeLoader { - private static final String[] TYPES = { - "/WEB-INF/content-types/com/arsdigita/london/contenttypes/Contact.xml" - }; + /** Defines the xml file containing the Contact content types property + * definitions. */ + private static final String[] TYPES = { + "/WEB-INF/content-types/com/arsdigita/london/contenttypes/Contact.xml" + }; - /** - * @see com.arsdigita.cms.contenttypes.AbstractContentTypeLoader#getTypes() - */ + /** + * Provides the of Contact contenttype property definitions implementing + * the parent's class abstract method. + * + * The file defines the types name as displayed in content center + * select box and the authoring steps. These are loaded into database. + * + * @return String Atring Array of fully qualified file names + */ public String[] getTypes() { return TYPES; }