Author: pboy Date: 2012-12-22 14:03:34 +0000 (Sat, 22 Dec 2012) New Revision: 2440 Added: contrib/camden/ccm-lbc-decisiontree/sql/ccm-lbc-decisiontree/ contrib/camden/ccm-lbc-decisiontree/src/ccm-lbc-decisiontree.config contrib/camden/ccm-lbc-decisiontree/src/ccm-lbc-decisiontree.load contrib/camden/ccm-lbc-decisiontree/web/themes/ contrib/camden/ccm-lbc-decisiontree/web/themes/heirloom/ contrib/camden/ccm-lbc-decisiontree/web/themes/heirloom/contenttypes/ contrib/camden/ccm-lbc-decisiontree/web/themes/heirloom/contenttypes/DecisionTree.xsl Removed: contrib/camden/ccm-lbc-decisiontree/etc/ contrib/camden/ccm-lbc-decisiontree/sql/ccm-ldn-camden-decisiontree/ contrib/camden/ccm-lbc-decisiontree/sql/oracle-se/ contrib/camden/ccm-lbc-decisiontree/src/ccm-ldn-camden-decisiontree.config contrib/camden/ccm-lbc-decisiontree/src/ccm-ldn-camden-decisiontree.load contrib/camden/ccm-lbc-decisiontree/trunk/ contrib/camden/ccm-lbc-decisiontree/web/static/ Modified: contrib/camden/ccm-lbc-decisiontree/application.xml contrib/camden/ccm-lbc-decisiontree/src/com/arsdigita/camden/cms/contenttypes/DecisionTreeInitializer.java Log: Next part of adaptation to version 2. NOT TESTED yet. Modified: contrib/camden/ccm-lbc-decisiontree/application.xml =================================================================== --- contrib/camden/ccm-lbc-decisiontree/application.xml 2012-12-22 11:10:05 UTC (rev 2439) +++ contrib/camden/ccm-lbc-decisiontree/application.xml 2012-12-22 14:03:34 UTC (rev 2440) @@ -1,9 +1,9 @@ <?xml version="1.0"?> <ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project" - name="ccm-ldn-camden-decisiontree" + name="ccm-lbc-decisiontree" prettyName="Red Hat CCM Content Types" - version="1.0.3" - release="3" + version="6.6.0" + release="1" webapp="ROOT"> <ccm:dependencies> <ccm:requires name="ccm-core" version="6.2.0" relation="ge"/> Copied: contrib/camden/ccm-lbc-decisiontree/src/ccm-lbc-decisiontree.config (from rev 2439, contrib/camden/ccm-lbc-decisiontree/src/ccm-ldn-camden-decisiontree.config) =================================================================== --- contrib/camden/ccm-lbc-decisiontree/src/ccm-lbc-decisiontree.config (rev 0) +++ contrib/camden/ccm-lbc-decisiontree/src/ccm-lbc-decisiontree.config 2012-12-22 14:03:34 UTC (rev 2440) @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<registry> + <!-- nothing yet --> +</registry> + \ No newline at end of file Copied: contrib/camden/ccm-lbc-decisiontree/src/ccm-lbc-decisiontree.load (from rev 2439, contrib/camden/ccm-lbc-decisiontree/src/ccm-ldn-camden-decisiontree.load) =================================================================== --- contrib/camden/ccm-lbc-decisiontree/src/ccm-lbc-decisiontree.load (rev 0) +++ contrib/camden/ccm-lbc-decisiontree/src/ccm-lbc-decisiontree.load 2012-12-22 14:03:34 UTC (rev 2440) @@ -0,0 +1,16 @@ +<load> + <requires> + <table name="inits"/> + <table name="acs_objects"/> + <table name="cms_items"/> + <initializer class="com.arsdigita.cms.Initializer"/> + </requires> + <provides> + <table name="cam_decision_trees"/> + <initializer class="com.arsdigita.camden.cms.contenttypes.DecisionTreeInitializer"/> + </provides> + <scripts> + <schema directory="ccm-lbs-decisiontree"/> + <data class="com.arsdigita.camden.cms.contenttypes.DecisionTreeLoader"/> + </scripts> +</load> Deleted: contrib/camden/ccm-lbc-decisiontree/src/ccm-ldn-camden-decisiontree.config =================================================================== --- contrib/camden/ccm-lbc-decisiontree/src/ccm-ldn-camden-decisiontree.config 2012-12-22 11:10:05 UTC (rev 2439) +++ contrib/camden/ccm-lbc-decisiontree/src/ccm-ldn-camden-decisiontree.config 2012-12-22 14:03:34 UTC (rev 2440) @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<registry> - <!-- nothing yet --> -</registry> - \ No newline at end of file Deleted: contrib/camden/ccm-lbc-decisiontree/src/ccm-ldn-camden-decisiontree.load =================================================================== --- contrib/camden/ccm-lbc-decisiontree/src/ccm-ldn-camden-decisiontree.load 2012-12-22 11:10:05 UTC (rev 2439) +++ contrib/camden/ccm-lbc-decisiontree/src/ccm-ldn-camden-decisiontree.load 2012-12-22 14:03:34 UTC (rev 2440) @@ -1,16 +0,0 @@ -<load> - <requires> - <table name="inits"/> - <table name="acs_objects"/> - <table name="cms_items"/> - <initializer class="com.arsdigita.cms.Initializer"/> - </requires> - <provides> - <table name="cam_decision_trees"/> - <initializer class="com.arsdigita.camden.cms.contenttypes.DecisionTreeInitializer"/> - </provides> - <scripts> - <schema directory="ccm-ldn-camden-decisiontree"/> - <data class="com.arsdigita.camden.cms.contenttypes.DecisionTreeLoader"/> - </scripts> -</load> Modified: contrib/camden/ccm-lbc-decisiontree/src/com/arsdigita/camden/cms/contenttypes/DecisionTreeInitializer.java =================================================================== --- contrib/camden/ccm-lbc-decisiontree/src/com/arsdigita/camden/cms/contenttypes/DecisionTreeInitializer.java 2012-12-22 11:10:05 UTC (rev 2439) +++ contrib/camden/ccm-lbc-decisiontree/src/com/arsdigita/camden/cms/contenttypes/DecisionTreeInitializer.java 2012-12-22 14:03:34 UTC (rev 2440) @@ -24,55 +24,86 @@ import com.arsdigita.domain.DomainObjectFactory; import com.arsdigita.domain.DomainObjectInstantiator; import com.arsdigita.persistence.DataObject; +import com.arsdigita.runtime.ContextInitEvent; import com.arsdigita.runtime.DomainInitEvent; -import com.arsdigita.runtime.LegacyInitEvent; import com.arsdigita.search.MetadataProviderRegistry; /** - * Runtime initialization for the Decision Tree content type. + * Executes at each system startup and initializes the Decision Tree + * content type. + * + * 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$ */ public class DecisionTreeInitializer extends ContentTypeInitializer { - - public final static String versionId = "$Id$"; - - public void init(LegacyInitEvent evt) { - super.init(evt); - - MetadataProviderRegistry.registerAdapter( - DecisionTree.BASE_DATA_OBJECT_TYPE, - new ContentPageMetadataProvider()); + + /** + * Constructor, sets the PDL manifest file and object type string. + */ + public DecisionTreeInitializer() { + super("ccm-lbc-decisiontree.pdl.mf", DecisionTree.BASE_DATA_OBJECT_TYPE); } + @Override public void init(DomainInitEvent evt) { super.init(evt); DomainObjectFactory f = evt.getFactory(); - f.registerInstantiator(SectionOption.BASE_DATA_OBJECT_TYPE, new DomainObjectInstantiator() { + f.registerInstantiator(SectionOption.BASE_DATA_OBJECT_TYPE + , new DomainObjectInstantiator() { protected DomainObject doNewInstance(DataObject dataObject) { return new SectionOption(dataObject); } }); - f.registerInstantiator(OptionTarget.BASE_DATA_OBJECT_TYPE, new DomainObjectInstantiator() { + f.registerInstantiator(OptionTarget.BASE_DATA_OBJECT_TYPE + , new DomainObjectInstantiator() { protected DomainObject doNewInstance(DataObject dataObject) { return new OptionTarget(dataObject); } }); } - - public DecisionTreeInitializer() { - super("ccm-ldn-camden-decisiontree.pdl.mf", DecisionTree.BASE_DATA_OBJECT_TYPE); + + @Override + public void init(ContextInitEvent evt) { + super.init(evt); + + MetadataProviderRegistry.registerAdapter( + DecisionTree.BASE_DATA_OBJECT_TYPE, + new ContentPageMetadataProvider()); } + + /** + * Retrieves fully qualified traversal adapter file name. + * @return + */ + @Override public String getTraversalXML() { return "WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/DecisionTree.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/DecisionTree.xsl" }; + return new String[] { INTERNAL_THEME_TYPES_DIR + "DecisionTree.xsl" }; } } Copied: contrib/camden/ccm-lbc-decisiontree/web/themes/heirloom/contenttypes/DecisionTree.xsl (from rev 2439, contrib/camden/ccm-lbc-decisiontree/web/static/content-types/com/arsdigita/camden/cms/contenttypes/DecisionTree.xsl) =================================================================== --- contrib/camden/ccm-lbc-decisiontree/web/themes/heirloom/contenttypes/DecisionTree.xsl (rev 0) +++ contrib/camden/ccm-lbc-decisiontree/web/themes/heirloom/contenttypes/DecisionTree.xsl 2012-12-22 14:03:34 UTC (rev 2440) @@ -0,0 +1,76 @@ +<!DOCTYPE stylesheet [ +<!ENTITY nbsp " " ><!-- no-break space = non-breaking space, U+00A0 ISOnum --> +]> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:cms="http://www.arsdigita.com/cms/1.0" + version="1.0"> + + <xsl:template match="cms:item[objectType='com.arsdigita.camden.cms.contenttypes.DecisionTree']" mode="cms:CT_graphics" + name="cms:CT_graphics_com_arsdigita_camden_cms_contenttypes_DecisionTree"> + <script type="text/javascript" src="/decisiontree/forms.js"> + // Placeholder to prevent the Camden templates from breaking this tag. + </script> + + <h2><xsl:value-of select="./sections/title"/></h2> + + <div><xsl:value-of select="./sections/instructions/content" disable-output-escaping="yes"/></div> + + <form action="/decisiontree/form-handler.jsp" method="GET"> + <input type="hidden" name="section_oid"> + <xsl:attribute name="value"> + <xsl:value-of select="./sections[title]/@oid"/> + </xsl:attribute> + </input> + <input type="hidden" name="return_url"> + <xsl:attribute name="value"> + <xsl:value-of select="./customInfo/@currentURL"/> + </xsl:attribute> + </input> + + <xsl:for-each select="./parameters"> + <input type="hidden"> + <xsl:attribute name="name"> + <xsl:value-of select="@name"/> + </xsl:attribute> + <xsl:attribute name="value"> + <xsl:value-of select="@value"/> + </xsl:attribute> + </input> + </xsl:for-each> + + <xsl:for-each select="./sections/sectionOptions"> + <xsl:sort select="./rank" data-type="number"/> + + <div> + <input type="radio"> + <xsl:attribute name="name"> + <xsl:value-of select="../parameterName"/> + </xsl:attribute> + <xsl:attribute name="value"> + <xsl:value-of select="./value"/> + </xsl:attribute> + <xsl:attribute name="id"> + <xsl:value-of select="@oid"/> + </xsl:attribute> + </input> + <label> + <xsl:attribute name="for"> + <xsl:value-of select="@oid"/> + </xsl:attribute> + <xsl:value-of select="./label"/> + </label> + </div> + </xsl:for-each> + + <input type="submit" name="cancel" value="Cancel"/> + <input type="submit" name="next" value="Next >" onclick="return validate(this.form)"/> + </form> + </xsl:template> + + <xsl:template match="cms:item[objectType='com.arsdigita.camden.cms.contenttypes.DecisionTree']" mode="cms:CT_text" + name="cms:CT_text_com_arsdigita_camden_cms_contenttypes_DecisionTree"> + <h1 class="mainTitle">DECISIONTREE <xsl:text disable-output-escaping="yes">&</xsl:text>gt; <xsl:value-of select="./title"/></h1> + </xsl:template> + +</xsl:stylesheet> |