From: <pb...@fe...> - 2012-12-22 10:09:52
|
Author: pboy Date: 2012-12-22 10:09:42 +0000 (Sat, 22 Dec 2012) New Revision: 2429 Modified: contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ConsultationInitializer.java contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ConsultationLoader.java contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ConsultationUtil.java contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationsList.java contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationsNavigationModel.java contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationsTable.java Log: First parft of update to version 2, fixed all syntactic errors. Modified: contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ConsultationInitializer.java =================================================================== --- contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ConsultationInitializer.java 2012-12-19 00:18:22 UTC (rev 2428) +++ contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ConsultationInitializer.java 2012-12-22 10:09:42 UTC (rev 2429) @@ -24,7 +24,8 @@ import com.arsdigita.persistence.Session; import com.arsdigita.persistence.SessionManager; import com.arsdigita.persistence.TransactionContext; -import com.arsdigita.runtime.LegacyInitEvent; +import com.arsdigita.runtime.ContextCloseEvent; +import com.arsdigita.runtime.ContextInitEvent; import com.arsdigita.search.MetadataProviderRegistry; import java.util.Calendar; import java.util.Date; @@ -33,17 +34,23 @@ import org.apache.log4j.Logger; /** - * Runtime initialization for the Consultations content type. + * Runtime initialization for the Consultations content type, executes at + * each system startup. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Carsten Clasohm * @version $Id: ConsultationInitializer.java 24 2005-08-02 14:14:14Z clasohm $ */ public class ConsultationInitializer extends ContentTypeInitializer { + + /** Private Logger instance for debugging purpose. */ private static final Logger s_log = Logger.getLogger(ConsultationInitializer.class); - public final static String versionId = "$Id: ConsultationInitializer.java 24 2005-08-02 14:14:14Z clasohm $"; - // The time at which alerts are sent each day. public final static int ALERT_HOUR = 5; public final static int ALERT_MINUTE = 12; @@ -51,7 +58,22 @@ public final static int SMS_ALERT_HOUR = 9; public final static int SMS_ALERT_MINUTE = 1; - public void init(LegacyInitEvent evt) { + /** + * Constructor, sets the PDL manifest file and object type string. + */ + public ConsultationInitializer() { + super("ccm-ldn-camden-consultation.pdl.mf", + Consultation.BASE_DATA_OBJECT_TYPE); + } + + /** + * Implementation of the {@link Initializer#init(ContextInitEvent)} + * method used to setup and start background threads . + * + * @param evt The context init event. + */ + @Override + public void init(ContextInitEvent evt) { super.init(evt); MetadataProviderRegistry.registerAdapter( @@ -59,12 +81,13 @@ new ConsultationMetadataProvider()); if(ConsultationUtil.getConfig().getAlertsEnabledStatus()) { - // Schedule our timer at the given alert time. If we are already past this time, - // the first run is scheduled for tomorrow morning. + // Schedule our timer at the given alert time. If we are already + // past this time, the first run is scheduled for tomorrow morning. Calendar cal = Calendar.getInstance(); int hourOfDay = cal.get(Calendar.HOUR_OF_DAY); int minute = cal.get(Calendar.MINUTE); - if (hourOfDay > ALERT_HOUR || hourOfDay == ALERT_HOUR && minute >= ALERT_MINUTE) + if (hourOfDay > ALERT_HOUR || hourOfDay == ALERT_HOUR + && minute >= ALERT_MINUTE) cal.add(Calendar.DATE, 1); cal.set(Calendar.HOUR_OF_DAY, ALERT_HOUR); cal.set(Calendar.MINUTE, ALERT_MINUTE); @@ -92,7 +115,8 @@ Calendar cal2 = Calendar.getInstance(); hourOfDay = cal2.get(Calendar.HOUR_OF_DAY); minute = cal2.get(Calendar.MINUTE); - if (hourOfDay > SMS_ALERT_HOUR || hourOfDay == SMS_ALERT_HOUR && minute >= SMS_ALERT_MINUTE) + if (hourOfDay > SMS_ALERT_HOUR || hourOfDay == SMS_ALERT_HOUR + && minute >= SMS_ALERT_MINUTE) cal2.add(Calendar.DATE, 1); cal2.set(Calendar.HOUR_OF_DAY, SMS_ALERT_HOUR); cal2.set(Calendar.MINUTE, SMS_ALERT_MINUTE); @@ -116,15 +140,44 @@ } } - public ConsultationInitializer() { - super("ccm-ldn-camden-consultation.pdl.mf", Consultation.BASE_DATA_OBJECT_TYPE); + /** + * Implementation of the {@link Initializer#close()} method. + * + * @param evt The ContextClose init event. + */ + @Override + public void close(ContextCloseEvent evt) { + + // TODO: Stop timer at system shutdown + } + /** + * + * @return + */ + @Override public String getTraversalXML() { return "WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/Consultation.xml"; } + + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ + @Override public String[] getStylesheets() { - return new String[] { "/static/content-types/com/arsdigita/camden/cms/contenttypes/Consultation.xsl" }; + return new String[] + { "/static/content-types/com/arsdigita/camden/cms/contenttypes/Consultation.xsl" }; } } Modified: contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ConsultationLoader.java =================================================================== --- contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ConsultationLoader.java 2012-12-19 00:18:22 UTC (rev 2428) +++ contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ConsultationLoader.java 2012-12-22 10:09:42 UTC (rev 2429) @@ -23,21 +23,23 @@ import com.arsdigita.kernel.ACSObjectInstantiator; import com.arsdigita.kernel.Kernel; import com.arsdigita.kernel.KernelExcursion; -import com.arsdigita.london.navigation.Template; +import com.arsdigita.navigation.Template; import com.arsdigita.persistence.DataObject; import com.arsdigita.runtime.ScriptContext; import com.arsdigita.web.Application; -import com.arsdigita.web.ApplicationSetup; +// import com.arsdigita.web.ApplicationSetup; import com.arsdigita.web.ApplicationType; /** * Intializes the database after the Consultations data model has been created. * + * Executes nonrecurring at install time and loads (installs and initializes) + * the ccm-ldn-camden-consultation package persistently into database. + * * @author Carsten Clasohm * @version $Id: ConsultationLoader.java 31 2005-08-04 15:56:42Z clasohm $ */ public class ConsultationLoader extends AbstractContentTypeLoader { - public final static String versionId = "$Id: ConsultationLoader.java 31 2005-08-04 15:56:42Z clasohm $"; private static final String[] TYPES = { "/WEB-INF/content-types/com/arsdigita/camden/cms/contenttypes/Consultation.xml" @@ -47,6 +49,12 @@ return TYPES; } + /** + * Run script invoked by com.arsdigita.packing loader script. + * + * @param ctx + */ + @Override public void run(ScriptContext ctx) { super.run(ctx); @@ -66,6 +74,7 @@ } private void setupApplication() { +/* ApplicationSetup setup = new ApplicationSetup(s_log); setup.setApplicationObjectType( @@ -75,13 +84,19 @@ setup.setDescription("Consultations"); setup.setSingleton(true); setup.setInstantiator(new ACSObjectInstantiator() { + @Override public DomainObject doNewInstance(DataObject dataObject) { return new ConsultationApp(dataObject); } }); ApplicationType type = setup.run(); type.save(); - +*/ + ApplicationType type = new ApplicationType( + "Consultations", + ConsultationApp.BASE_DATA_OBJECT_TYPE ); + type.setDescription("Provides Consultations service"); + ConsultationApp app = (ConsultationApp) Application.createApplication(type, "consultations", Modified: contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ConsultationUtil.java =================================================================== --- contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ConsultationUtil.java 2012-12-19 00:18:22 UTC (rev 2428) +++ contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ConsultationUtil.java 2012-12-22 10:09:42 UTC (rev 2429) @@ -26,10 +26,10 @@ import com.arsdigita.categorization.CategoryCollection; import com.arsdigita.globalization.GlobalizedMessage; import com.arsdigita.kernel.Kernel; -import com.arsdigita.london.rss.RSS; import com.arsdigita.mail.Mail; import com.arsdigita.persistence.DataCollection; import com.arsdigita.persistence.SessionManager; +import com.arsdigita.rssfeed.RSSFeed; import com.arsdigita.web.Application; import com.arsdigita.web.ParameterMap; import com.arsdigita.web.URL; @@ -133,10 +133,11 @@ */ private static BigDecimal initRSSCategory() { DataCollection apps = - SessionManager.getSession().retrieve(RSS.BASE_DATA_OBJECT_TYPE); + SessionManager.getSession().retrieve(RSSFeed.BASE_DATA_OBJECT_TYPE); - if (!apps.next()) + if (!apps.next()) { return null; + } Application app = Application.retrieveApplication(apps.getDataObject()); apps.close(); @@ -144,8 +145,9 @@ BigDecimal result = null; Category rootCategory = Category.getRootForObject(app); - if (rootCategory == null) + if (rootCategory == null) { return null; + } String consultationsTermURL = getConfig().getConsultationsTermURL(); Modified: contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationsList.java =================================================================== --- contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationsList.java 2012-12-19 00:18:22 UTC (rev 2428) +++ contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationsList.java 2012-12-22 10:09:42 UTC (rev 2429) @@ -18,21 +18,20 @@ */ package com.arsdigita.camden.cms.contenttypes.ui; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - import com.arsdigita.camden.cms.contenttypes.Consultation; import com.arsdigita.globalization.GlobalizedMessage; import com.arsdigita.kernel.ACSObject; -import com.arsdigita.london.navigation.DataCollectionRenderer; -import com.arsdigita.london.navigation.Navigation; -import com.arsdigita.london.navigation.ui.AbstractObjectList; +import com.arsdigita.navigation.DataCollectionRenderer; +import com.arsdigita.navigation.Navigation; +import com.arsdigita.navigation.ui.AbstractObjectList; import com.arsdigita.persistence.DataCollection; import com.arsdigita.persistence.DataObject; import com.arsdigita.persistence.DataQuery; import com.arsdigita.persistence.DataQueryDataCollectionAdapter; import com.arsdigita.persistence.SessionManager; import com.arsdigita.xml.Element; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; /** * To be used as a component in a JSP page, this class displays the latest @@ -45,16 +44,21 @@ private int m_maxCount = 5; + /** + * Constructor. + */ public ConsultationsList() { // We need a custom renderer to display the consultation status, // which is dynamically computed and not stored in the database. DataCollectionRenderer renderer = new DataCollectionRenderer() { + @Override protected void generateItemXML(Element item, DataObject dobj, ACSObject obj, int index) { Consultation consultation = (Consultation) obj; GlobalizedMessage status = consultation.getStatus(); - if (status == null) - return; + if (status == null) { + return; + } Element attribute = Navigation.newElement("attribute"); attribute.addAttribute("name", "status"); @@ -83,6 +87,13 @@ getRenderer().setPageSize(m_maxCount); } + /** + * + * @param request + * @param response + * @return + */ + @Override protected DataCollection getObjects(HttpServletRequest request, HttpServletResponse response) { DataQuery query = SessionManager.getSession().retrieveQuery( @@ -91,6 +102,12 @@ return new DataQueryDataCollectionAdapter(query, "consultation"); } + /** + * + * @param request + * @param response + * @return + */ public Element generateXML(HttpServletRequest request, HttpServletResponse response) { Element content = Navigation.newElement("simpleObjectList"); Modified: contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationsNavigationModel.java =================================================================== --- contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationsNavigationModel.java 2012-12-19 00:18:22 UTC (rev 2428) +++ contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationsNavigationModel.java 2012-12-22 10:09:42 UTC (rev 2429) @@ -1,13 +1,12 @@ package com.arsdigita.camden.cms.contenttypes.ui; -import java.lang.reflect.Array; - import com.arsdigita.camden.cms.contenttypes.ConsultationApp; import com.arsdigita.camden.cms.contenttypes.ConsultationUtil; import com.arsdigita.categorization.Category; import com.arsdigita.categorization.CategoryCollection; import com.arsdigita.kernel.ACSObject; -import com.arsdigita.london.navigation.AbstractNavigationModel; +import com.arsdigita.navigation.AbstractNavigationModel; +import java.lang.reflect.Array; /** * <p>NavigationModel to be used by the Camden Consultations JSPs. @@ -40,8 +39,9 @@ private ConsultationsNavigationModel() { ConsultationApp app = ConsultationApp.retrieveApplication(); - if (app != null) + if (app != null) { m_rootCategory = Category.getRootForObject(app); + } if (m_rootCategory != null) { String consultationsTermUrl = @@ -65,8 +65,9 @@ } protected Category[] loadCategoryPath() { - if (m_tipCategory == null) + if (m_tipCategory == null) { return null; + } CategoryCollection ascendants = loadCategory().getDefaultAscendants(); @@ -85,8 +86,9 @@ } static public ConsultationsNavigationModel retrieve() { - if (m_model == null) + if (m_model == null) { m_model = new ConsultationsNavigationModel(); + } return m_model; } Modified: contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationsTable.java =================================================================== --- contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationsTable.java 2012-12-19 00:18:22 UTC (rev 2428) +++ contrib/camden/ccm-ldn-camden-consultation/src/com/arsdigita/camden/cms/contenttypes/ui/ConsultationsTable.java 2012-12-22 10:09:42 UTC (rev 2429) @@ -18,8 +18,6 @@ */ package com.arsdigita.camden.cms.contenttypes.ui; -import java.math.BigDecimal; - import com.arsdigita.bebop.Component; import com.arsdigita.bebop.Label; import com.arsdigita.bebop.Link; @@ -33,7 +31,7 @@ import com.arsdigita.camden.cms.contenttypes.ConsultationUtil; import com.arsdigita.cms.ContentItem; import com.arsdigita.cms.ContentPage; -import com.arsdigita.london.navigation.Navigation; +import com.arsdigita.navigation.Navigation; import com.arsdigita.persistence.DataQuery; import com.arsdigita.persistence.OID; import com.arsdigita.persistence.SessionManager; @@ -46,6 +44,7 @@ import com.arsdigita.web.ParameterMap; import com.arsdigita.web.URL; import com.arsdigita.web.Web; +import java.math.BigDecimal; /** * To be used as a component in a JSP page, this class displays all published @@ -139,12 +138,16 @@ PageState s = e.getPageState(); String filter = (String)s.getValue(m_filter); - if (ConsultationsFilter.FILTER_PAST.equals(filter)) + if (ConsultationsFilter.FILTER_PAST.equals(filter)) { q.addFilter("completionDate < current_date"); - else if (ConsultationsFilter.FILTER_CURRENT.equals(filter)) - q.addFilter("startDate <= current_date and completionDate >= current_date"); - else if (ConsultationsFilter.FILTER_FORTHCOMING.equals(filter)) + } + else if (ConsultationsFilter.FILTER_CURRENT.equals(filter)) { + q.addFilter("startDate <= current_date " + + "and completionDate >= current_date"); + } + else if (ConsultationsFilter.FILTER_FORTHCOMING.equals(filter)) { q.addFilter("startDate > current_date"); + } } }); @@ -153,6 +156,7 @@ /** * Register the ordering parameter */ + @Override public void register(Page p) { super.register(p); @@ -166,6 +170,7 @@ * @return the order by which the currently selected column will be sorted; * will be either ASCENDING or DESCENDING */ + @Override public String getOrderDirection(PageState s) { return (String) s.getValue(m_dirParam); } @@ -179,6 +184,7 @@ * the direction in which the current column should be sorted; * either ASCENDING or DESCENDING */ + @Override public void setOrderDirection(PageState s, String dir) { Assert.truth(ASCENDING.equals(dir) || DESCENDING.equals(dir), "invalid sort direction"); @@ -193,7 +199,7 @@ * either ASCENDING or DESCENDING */ public void setDefaultOrderDirection(String dir) { - Assert.unlocked(this); + Assert.isUnlocked(this); m_dirParam.setDefaultValue(dir); } @@ -204,8 +210,9 @@ // to reset the paginator, because the number of // items will have changed. Paginator paginator = getPaginator(); - if (paginator != null) + if (paginator != null) { paginator.reset(state); + } } public String getFilter(PageState state) { |