Wikitty-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
July 2011
- 4 participants
- 85 discussions
r1060 - in trunk/wikitty-struts/src/main: java/org/nuiton/wikitty/struts/component java/org/nuiton/wikitty/struts/tag resources/template/wikitty tld
by mfortun@users.nuiton.org 06 Jul '11
by mfortun@users.nuiton.org 06 Jul '11
06 Jul '11
Author: mfortun
Date: 2011-07-06 12:38:11 +0200 (Wed, 06 Jul 2011)
New Revision: 1060
Url: http://nuiton.org/repositories/revision/wikitty/1060
Log:
* new tag that take entityValues or wikittyValues for select
* New abstraction for tag
Added:
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyClosingUIBean.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectBean.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyClosingTag.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectTag.java
trunk/wikitty-struts/src/main/resources/template/wikitty/ws-select-close.ftl
trunk/wikitty-struts/src/main/resources/template/wikitty/ws-select.ftl
Modified:
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponent.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponentBean.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectAssociationBean.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyTag.java
trunk/wikitty-struts/src/main/tld/wikitty-struts.tld
Added: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyClosingUIBean.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyClosingUIBean.java (rev 0)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyClosingUIBean.java 2011-07-06 10:38:11 UTC (rev 1060)
@@ -0,0 +1,30 @@
+package org.nuiton.wikitty.struts.component;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts2.components.ClosingUIBean;
+
+import com.opensymphony.xwork2.util.ValueStack;
+
+public abstract class AbstractWikittyClosingUIBean extends ClosingUIBean {
+
+ public AbstractWikittyClosingUIBean(ValueStack stack,
+ HttpServletRequest request, HttpServletResponse response) {
+ super(stack, request, response);
+ }
+
+
+ @Override
+ protected void evaluateExtraParams() {
+ super.evaluateExtraParams();
+ addParameter("theme", getTheme());
+
+ }
+
+ @Override
+ public String getTheme() {
+ return "wikitty";
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyClosingUIBean.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponent.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponent.java 2011-07-05 16:25:09 UTC (rev 1059)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponent.java 2011-07-06 10:38:11 UTC (rev 1060)
@@ -3,7 +3,6 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.struts2.components.ClosingUIBean;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.entities.BusinessEntity;
import org.nuiton.wikitty.entities.BusinessEntityImpl;
@@ -11,7 +10,7 @@
import com.opensymphony.xwork2.util.ValueStack;
-public abstract class AbstractWikittyComponent extends ClosingUIBean {
+public abstract class AbstractWikittyComponent extends AbstractWikittyClosingUIBean {
/**
* Never used directly this attribute use the getter
@@ -46,11 +45,6 @@
return businessEntity;
}
- @Override
- public String getTheme() {
- return "wikitty";
- }
-
public void setWikitty(Wikitty wikitty) {
this.wikitty = wikitty;
}
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponentBean.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponentBean.java 2011-07-05 16:25:09 UTC (rev 1059)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponentBean.java 2011-07-06 10:38:11 UTC (rev 1060)
@@ -6,11 +6,9 @@
import org.apache.commons.logging.LogFactory;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.entities.BusinessEntity;
-import org.nuiton.wikitty.entities.BusinessEntityImpl;
import org.nuiton.wikitty.entities.Wikitty;
import org.nuiton.wikitty.struts.TagUseException;
import org.nuiton.wikitty.struts.WikittyFieldHandler;
-
import com.opensymphony.xwork2.util.ValueStack;
public abstract class AbstractWikittyComponentBean extends AbstractWikittyComponent {
@@ -79,8 +77,8 @@
} else {
addParameter("name", fqFieldName);
}
- addParameter("theme", getTheme());
+
/*
if (id!=null || id.equals("")) {
id = name==null?fqFieldName:name;
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectAssociationBean.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectAssociationBean.java 2011-07-05 16:25:09 UTC (rev 1059)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectAssociationBean.java 2011-07-06 10:38:11 UTC (rev 1060)
@@ -8,6 +8,7 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.struts2.views.annotations.StrutsTag;
import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.WikittyUtil;
import org.nuiton.wikitty.entities.Wikitty;
@@ -16,6 +17,9 @@
import com.opensymphony.xwork2.util.ValueStack;
+
+@StrutsTag(name = "boolean", tldTagClass = "org.nuiton.wikitty.struts.tag.SelectAssociationTag",
+ description = "", allowDynamicAttributes = false)
public class SelectAssociationBean extends AbstractWikittyComponentBean {
/** to use log facility, just put in your code: log.info(\"...\"); */
Added: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectBean.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectBean.java (rev 0)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectBean.java 2011-07-06 10:38:11 UTC (rev 1060)
@@ -0,0 +1,164 @@
+package org.nuiton.wikitty.struts.component;
+
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.struts2.views.annotations.StrutsTag;
+import org.nuiton.util.StringUtil;
+import org.nuiton.wikitty.WikittyUtil;
+import org.nuiton.wikitty.entities.BusinessEntity;
+import org.nuiton.wikitty.entities.Wikitty;
+import org.nuiton.wikitty.struts.Option;
+import org.nuiton.wikitty.struts.TagUseException;
+import org.nuiton.wikitty.struts.WikittyFieldHandler;
+
+import com.opensymphony.xwork2.util.ValueStack;
+@StrutsTag(name = "boolean", tldTagClass = "org.nuiton.wikitty.struts.tag.SelectTag",
+ description = "", allowDynamicAttributes = false)
+public class SelectBean extends AbstractWikittyClosingUIBean {
+
+ /** to use log facility, just put in your code: log.info(\"...\"); */
+ final static private Log log = LogFactory
+ .getLog(SelectBean.class);
+
+ public static final String OPEN_TEMPLATE = "ws-select";
+ public static final String TEMPLATE = "ws-select-close";
+
+ protected Integer size;
+ protected String descField;
+ protected Collection<Wikitty> wikittyValues;
+ protected Collection<BusinessEntity> entityValues;
+
+
+
+ public SelectBean(ValueStack stack, HttpServletRequest request,
+ HttpServletResponse response) {
+ super(stack, request, response);
+ }
+
+ @Override
+ protected void evaluateExtraParams() {
+ super.evaluateExtraParams();
+
+ if (wikittyValues == null && entityValues == null){
+ log.info("wikittyValues and entityValues null");
+ throw new TagUseException("WikittyValues or entityValues must be define");
+ }
+
+
+ if (size == null || size <=0 ){
+ size = 1;
+ }
+
+ addParameter("selectSize", size);
+
+ List<Option> resultList = new LinkedList<Option>();
+
+ String[] descriptor = StringUtil.split(descField,
+ WikittyFieldHandler.FIELD_SEPARATOR);
+
+
+ if (wikittyValues!=null){
+ for (Wikitty wiki : wikittyValues){
+ Option temp = new Option();
+ temp.setValeur(wiki.getId());
+
+ String desc = wiki.getId();
+
+ // if attribute descripteur fill with something
+ // extract from wikitty corresponding field value
+ if (descriptor.length != 0) {
+ desc = "";
+ for (String descriptorIt : descriptor) {
+ String[] descTable = StringUtil
+ .split(descriptorIt, WikittyUtil.FQ_FIELD_NAME_SEPARATOR);
+
+ desc += wiki.getFieldAsWikitty(descTable[0],
+ descTable[1]);
+ }
+ }
+ temp.setDescription(desc);
+
+
+ resultList.add(temp);
+ }
+ }
+
+
+ if (entityValues!=null){
+ for(BusinessEntity busi: entityValues){
+ Option temp = new Option();
+ temp.setValeur(busi.getWikittyId());
+ String desc = busi.getWikittyId();
+
+ // if attribute descripteur fill with something
+ // extract from wikitty corresponding field value
+ if (descriptor.length != 0) {
+ desc = "";
+ for (String descriptorIt : descriptor) {
+ String[] descTable = StringUtil
+ .split(descriptorIt, WikittyUtil.FQ_FIELD_NAME_SEPARATOR);
+
+ desc += busi.getField(descTable[0],
+ descTable[1]);
+ }
+ }
+ temp.setDescription(desc);
+
+ resultList.add(temp);
+ }
+ }
+
+ addParameter("values", resultList);
+
+ }
+
+ @Override
+ public String getDefaultOpenTemplate() {
+ return OPEN_TEMPLATE;
+
+ }
+
+ @Override
+ protected String getDefaultTemplate() {
+ return TEMPLATE;
+ }
+
+ public Integer getSize() {
+ return size;
+ }
+
+ public void setSize(Integer size) {
+ this.size = size;
+ }
+
+ public String getDescField() {
+ return descField;
+ }
+
+ public void setDescField(String descField) {
+ this.descField = descField;
+ }
+
+ public Collection<Wikitty> getWikittyValues() {
+ return wikittyValues;
+ }
+
+ public void setWikittyValues(Collection<Wikitty> wikittyValues) {
+ this.wikittyValues = wikittyValues;
+ }
+
+ public Collection<BusinessEntity> getEntityValues() {
+ return entityValues;
+ }
+
+ public void setEntityValues(Collection<BusinessEntity> entityValues) {
+ this.entityValues = entityValues;
+ }
+}
Property changes on: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectBean.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyClosingTag.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyClosingTag.java (rev 0)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyClosingTag.java 2011-07-06 10:38:11 UTC (rev 1060)
@@ -0,0 +1,17 @@
+package org.nuiton.wikitty.struts.tag;
+
+import org.apache.struts2.views.jsp.ui.AbstractClosingTag;
+
+
+public abstract class AbstractWikittyClosingTag extends AbstractClosingTag {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -8295712250220293478L;
+
+ public AbstractWikittyClosingTag() {
+ super();
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyClosingTag.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyTag.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyTag.java 2011-07-05 16:25:09 UTC (rev 1059)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyTag.java 2011-07-06 10:38:11 UTC (rev 1060)
@@ -1,14 +1,13 @@
package org.nuiton.wikitty.struts.tag;
-import org.apache.struts2.views.jsp.ui.AbstractClosingTag;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.entities.BusinessEntity;
import org.nuiton.wikitty.entities.Wikitty;
import org.nuiton.wikitty.struts.component.AbstractWikittyComponent;
-import org.nuiton.wikitty.struts.component.AbstractWikittyComponentBean;
-public abstract class AbstractWikittyTag extends AbstractClosingTag {
+public abstract class AbstractWikittyTag extends AbstractWikittyClosingTag {
+
/**
*
*/
Added: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectTag.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectTag.java (rev 0)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectTag.java 2011-07-06 10:38:11 UTC (rev 1060)
@@ -0,0 +1,83 @@
+package org.nuiton.wikitty.struts.tag;
+
+import java.util.Collection;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts2.components.Component;
+import org.nuiton.wikitty.entities.BusinessEntity;
+import org.nuiton.wikitty.entities.Wikitty;
+import org.nuiton.wikitty.struts.component.SelectBean;
+
+import com.opensymphony.xwork2.util.ValueStack;
+
+public class SelectTag extends AbstractWikittyClosingTag {
+
+ protected Integer size;
+ protected String descField;
+ protected Collection<Wikitty> wikittyValues;
+ protected Collection<BusinessEntity> entityValues;
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -3652505449437874066L;
+
+ @Override
+ public Component getBean(ValueStack stack, HttpServletRequest req,
+ HttpServletResponse res) {
+ return new SelectBean(stack, req, res);
+
+ }
+
+ /*
+ * <ws:select name="userId" size="5" values="<%=action.getPartners()%>"
+ * nameField="<%=VradiUser.FQ_FIELD_WIKITTYUSER_LOGIN%>"
+ * descField="<%=VradiUser.FQ_FIELD_VRADIUSER_INFO%>"/>
+ */
+ @Override
+ protected void populateParams() {
+ super.populateParams();
+
+ SelectBean select = (SelectBean) component;
+ select.setSize(size);
+ select.setDescField(descField);
+ select.setEntityValues(entityValues);
+ select.setWikittyValues(wikittyValues);
+
+ }
+
+ public Integer getSize() {
+ return size;
+ }
+
+ public void setSize(Integer size) {
+ this.size = size;
+ }
+
+ public String getDescField() {
+ return descField;
+ }
+
+ public void setDescField(String descField) {
+ this.descField = descField;
+ }
+
+ public Collection<Wikitty> getWikittyValues() {
+ return wikittyValues;
+ }
+
+ public void setWikittyValues(Collection<Wikitty> wikittyValues) {
+ this.wikittyValues = wikittyValues;
+ }
+
+ public Collection<BusinessEntity> getEntityValues() {
+ return entityValues;
+ }
+
+ public void setEntityValues(Collection<BusinessEntity> entityValues) {
+ this.entityValues = entityValues;
+ }
+
+}
Property changes on: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectTag.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/wikitty-struts/src/main/resources/template/wikitty/ws-select.ftl
===================================================================
--- trunk/wikitty-struts/src/main/resources/template/wikitty/ws-select.ftl (rev 0)
+++ trunk/wikitty-struts/src/main/resources/template/wikitty/ws-select.ftl 2011-07-06 10:38:11 UTC (rev 1060)
@@ -0,0 +1,15 @@
+<#if parameters.included?? && parameters.included==true >
+<#include "/${parameters.templateDir}/${parameters.theme}/ws-label-commons.ftl" />
+<select
+<#include "/${parameters.templateDir}/${parameters.theme}/ws-commons.ftl" />
+ size="${parameters.selectSize}">
+<#assign optionKeys = parameters.values><#t/>
+ <#list optionKeys as optionKey><#t/>
+ <option value="${optionKey.valeur}" <#t/>
+ <#if optionKey.valeur==parameters.value >
+ selected <#t/>
+ </#if> <#t/>
+ > ${optionKey.description} </option>
+ </#list>
+</select><#t/>
+</#if>
\ No newline at end of file
Modified: trunk/wikitty-struts/src/main/tld/wikitty-struts.tld
===================================================================
--- trunk/wikitty-struts/src/main/tld/wikitty-struts.tld 2011-07-05 16:25:09 UTC (rev 1059)
+++ trunk/wikitty-struts/src/main/tld/wikitty-struts.tld 2011-07-06 10:38:11 UTC (rev 1060)
@@ -151,6 +151,48 @@
<required>false</required>
</attribute>
</tag>
+ <tag>
+ <name>select</name>
+ <tagclass>org.nuiton.wikitty.struts.tag.SelectTag</tagclass>
+ <bodycontent>empty</bodycontent>
+ <attribute>
+ <description><![CDATA[id for the field]]></description>
+ <name>id</name>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <description><![CDATA[name for html element. Ignored if tag used inside tag form.]]></description>
+ <name>name</name>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <description><![CDATA[the wikitty to edit]]></description>
+ <name>size</name>
+ <rtexprvalue>true</rtexprvalue>
+ <required>false</required>
+ </attribute>
+ <attribute>
+ <description><![CDATA[the proxy from whom search for wikitty required if tag not used inside form tag]]></description>
+ <name>descField</name>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <description><![CDATA[]]></description>
+ <name>wikittyValues</name>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <description><![CDATA[]]></description>
+ <name>entityValues</name>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <description><![CDATA[the label of the field]]></description>
+ <name>label</name>
+ <rtexprvalue>true</rtexprvalue>
+ <required>false</required>
+ </attribute>
+ </tag>
1
0
r1059 - in trunk/wikitty-api: . src/test src/test/java/org/nuiton/wikitty/entities src/test/xmi
by echatellier@users.nuiton.org 05 Jul '11
by echatellier@users.nuiton.org 05 Jul '11
05 Jul '11
Author: echatellier
Date: 2011-07-05 18:25:09 +0200 (Tue, 05 Jul 2011)
New Revision: 1059
Url: http://nuiton.org/repositories/revision/wikitty/1059
Log:
Add test on generation.
Added:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/BirdImpl.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/HorseImpl.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/PegasusImpl.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyGenerationTest.java
trunk/wikitty-api/src/test/xmi/
trunk/wikitty-api/src/test/xmi/wikittytest.zargo
Modified:
trunk/wikitty-api/pom.xml
Modified: trunk/wikitty-api/pom.xml
===================================================================
--- trunk/wikitty-api/pom.xml 2011-07-05 16:24:44 UTC (rev 1058)
+++ trunk/wikitty-api/pom.xml 2011-07-05 16:25:09 UTC (rev 1059)
@@ -171,6 +171,24 @@
<goal>smart-generate</goal>
</goals>
</execution>
+ <execution>
+ <id>test-generation</id>
+ <phase>generate-test-sources</phase>
+ <configuration>
+ <inputs>
+ <input>zargo</input>
+ </inputs>
+ <fullPackagePath>org.nuiton.wikitty.entities</fullPackagePath>
+ <defaultPackage>org.nuiton.wikitty.entities</defaultPackage>
+ <extractedPackages>org.nuiton.wikitty.entities</extractedPackages>
+ <templates>org.nuiton.wikitty.generator.WikittyMetaGenerator</templates>
+ <outputDirectory>target/generated-test-sources</outputDirectory>
+ <testPhase>true</testPhase>
+ </configuration>
+ <goals>
+ <goal>smart-generate</goal>
+ </goals>
+ </execution>
</executions>
</plugin>
Added: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/BirdImpl.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/BirdImpl.java (rev 0)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/BirdImpl.java 2011-07-05 16:25:09 UTC (rev 1059)
@@ -0,0 +1,39 @@
+/*
+ * #%L
+ *
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 Codelutin, Chatellier Eric
+ * %%
+ * This program 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 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program 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 General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+
+package org.nuiton.wikitty.entities;
+
+/**
+ * Bird impl.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class BirdImpl {
+
+}
Property changes on: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/BirdImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/HorseImpl.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/HorseImpl.java (rev 0)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/HorseImpl.java 2011-07-05 16:25:09 UTC (rev 1059)
@@ -0,0 +1,39 @@
+/*
+ * #%L
+ *
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 Codelutin, Chatellier Eric
+ * %%
+ * This program 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 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program 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 General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+
+package org.nuiton.wikitty.entities;
+
+/**
+ * Horse impl.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class HorseImpl {
+
+}
Property changes on: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/HorseImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/PegasusImpl.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/PegasusImpl.java (rev 0)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/PegasusImpl.java 2011-07-05 16:25:09 UTC (rev 1059)
@@ -0,0 +1,84 @@
+/*
+ * #%L
+ *
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 Codelutin, Chatellier Eric
+ * %%
+ * This program 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 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program 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 General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+
+package org.nuiton.wikitty.entities;
+
+/**
+ * Pegasus impl.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class PegasusImpl extends PegasusAbstract {
+
+ /*
+ * @see org.nuiton.wikitty.entities.Pegasus#scream()
+ */
+ @Override
+ public void scream() {
+ // TODO Auto-generated method stub
+
+ }
+
+ /*
+ * @see org.nuiton.wikitty.entities.Pegasus#walk()
+ */
+ @Override
+ public void walk() {
+ // TODO Auto-generated method stub
+
+ }
+
+ /*
+ * @see org.nuiton.wikitty.entities.Bird#fly()
+ */
+ @Override
+ public void fly() {
+ // TODO Auto-generated method stub
+
+ }
+
+ /*
+ * @see org.nuiton.wikitty.entities.Bird#getWingsCount()
+ */
+ @Override
+ public int getWingsCount() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ /*
+ * @see org.nuiton.wikitty.entities.Bird#setWingsCount(int)
+ */
+ @Override
+ public void setWingsCount(int wingsCount) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Property changes on: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/PegasusImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyGenerationTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyGenerationTest.java (rev 0)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyGenerationTest.java 2011-07-05 16:25:09 UTC (rev 1059)
@@ -0,0 +1,54 @@
+/*
+ * #%L
+ *
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 Codelutin, Chatellier Eric
+ * %%
+ * This program 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 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program 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 General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+
+package org.nuiton.wikitty.entities;
+
+import junit.framework.Assert;
+
+import org.junit.Test;
+
+/**
+ * Test que la generation est celle attendues.
+ *
+ * Principalement provenant du modèle de test (src/test/xmi).
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class WikittyGenerationTest {
+
+ /**
+ * Utilise seulement des entities pour voir si certains attributs ou
+ * methodes particulières sont bien présentes.
+ */
+ @Test
+ public void testModelEntitiesCompilation() {
+ Pegasus pegasus = new PegasusImpl();
+ String pegasusRace = pegasus.getRaceFromPegasus();
+ }
+}
Property changes on: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyGenerationTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: trunk/wikitty-api/src/test/xmi/wikittytest.zargo
===================================================================
(Binary files differ)
Property changes on: trunk/wikitty-api/src/test/xmi/wikittytest.zargo
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
1
0
r1058 - trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities
by echatellier@users.nuiton.org 05 Jul '11
by echatellier@users.nuiton.org 05 Jul '11
05 Jul '11
Author: echatellier
Date: 2011-07-05 18:24:44 +0200 (Tue, 05 Jul 2011)
New Revision: 1058
Url: http://nuiton.org/repositories/revision/wikitty/1058
Log:
Add javadoc.
Modified:
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/BusinessEntityImpl.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/Wikitty.java
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/BusinessEntityImpl.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/BusinessEntityImpl.java 2011-07-05 16:07:49 UTC (rev 1057)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/BusinessEntityImpl.java 2011-07-05 16:24:44 UTC (rev 1058)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin, Benjamin Poussin
+ * Copyright (C) 2009 - 2011 CodeLutin, Benjamin Poussin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
@@ -28,7 +28,6 @@
import java.beans.PropertyChangeSupport;
import java.util.Collection;
import java.util.Collections;
-import org.apache.commons.beanutils.BeanUtils;
import org.nuiton.wikitty.WikittyException;
import org.nuiton.wikitty.WikittyUtil;
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/Wikitty.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/Wikitty.java 2011-07-05 16:07:49 UTC (rev 1057)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/Wikitty.java 2011-07-05 16:24:44 UTC (rev 1058)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin, Benjamin Poussin
+ * Copyright (C) 2009 - 2011 CodeLutin, Benjamin Poussin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
@@ -33,21 +33,53 @@
import java.util.Map;
import java.util.Set;
+/**
+ * Wikitty object, containing data as map.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
public interface Wikitty extends Cloneable, Serializable {
+ /**
+ * Add property change listener.
+ *
+ * @param listener listener to add
+ */
void addPropertyChangeListener(PropertyChangeListener listener);
+ /**
+ * Remove property change listener.
+ *
+ * @param listener listener to remove
+ */
void removePropertyChangeListener(PropertyChangeListener listener);
+ /**
+ * Add property change listener on property.
+ *
+ * @param propertyName property to listen
+ * @param listener listener to add
+ */
void addPropertyChangeListener(String propertyName,
PropertyChangeListener listener);
+ /**
+ * Remove property change listener on property.
+ *
+ * @param propertyName property to listen
+ * @param listener listener to remove
+ */
void removePropertyChangeListener(String propertyName,
PropertyChangeListener listener);
/**
* Replace all field of current wikitty with field found in w.
- * This two wikitty must have same id
+ * This two wikitty must have same id.
+ *
* @param w wikitty where we take information
*/
void replaceWith(Wikitty w);
@@ -59,31 +91,64 @@
*/
void replaceWith(Wikitty w, boolean force);
+ /**
+ * Get wikkity id.
+ *
+ * @return wikytty id
+ */
String getId();
+ /**
+ * Return {@code true} is wikitty is deleted.
+ *
+ * @return {@code true} is wikitty is deleted
+ */
boolean isDeleted();
+ /**
+ * Return deletion date.
+ *
+ * @return deletion date or {@code null} if not deleted
+ */
Date getDeleteDate();
/**
- * Server only used
- * @param delete
+ * Set deletion date.
+ *
+ * Server only used.
+ *
+ * @param date deletion date
*/
- void setDeleteDate(Date delete);
+ void setDeleteDate(Date date);
+ /**
+ * Add new extension.
+ *
+ * @param ext extension to add
+ */
void addExtension(WikittyExtension ext);
+ /**
+ * Add multiples extensions.
+ *
+ * @param exts extensions to add
+ */
void addExtension(List<WikittyExtension> exts);
- /** check that the wikitty has a metaExtension about a given extension.
+ /**
+ * Check that the wikitty has a metaExtension about a given extension.
+ *
* @param metaExtensionName the metaExtension to be checked
* @param extensionName an extension already added to the wikitty
+ * @return {@code true} if current wikitty has meta extension
* @since 2.2.0
*/
boolean hasMetaExtension(String metaExtensionName,
String extensionName);
- /** add a meta-extension about the given extension to this wikitty.
+ /**
+ * Add a meta-extension about the given extension to this wikitty.
+ *
* @param metaExtension the metaExtension to add
* @param extension an extension already added to the wikitty
* @since 2.1
@@ -91,18 +156,38 @@
void addMetaExtension(WikittyExtension metaExtension,
WikittyExtension extension);
-
- /** add a meta-extension on the given extension to this wikitty.
+ /**
+ * Add a meta-extension on the given extension to this wikitty.
+ *
* @param metaExtension the metaExtension to add
* @param extensionFqn the name of the extension already added to the wikitty
* @since 2.1
*/
void addMetaExtension(WikittyExtension metaExtension, String extensionFqn);
+ /**
+ * Check if current wikitty has extension.
+ *
+ * @param extName extension name to check
+ * @return {@code true} if current wikitty has extension.
+ */
boolean hasExtension(String extName);
+ /**
+ * Check if current wikitty has requested field.
+ *
+ * @param extName extension name
+ * @param fieldName field name on extension
+ * @return {@code true} if wikitty has field
+ */
boolean hasField(String extName, String fieldName);
+ /**
+ * Check if current wikitty has requested fully qualified field.
+ *
+ * @param fqfieldName fully qualified field name
+ * @return {@code true} if wikitty has field
+ */
boolean hasField(String fqfieldName);
WikittyExtension getExtension(String ext);
@@ -115,14 +200,29 @@
boolean recursively);
/**
- * return field type for the given fieldName.
+ * Return field type for the given fieldName.
+ *
* @param fqfieldName fully qualified fieldName extension.fieldname
* @return field type
*/
FieldType getFieldType(String fqfieldName);
+ /**
+ * Set field value.
+ *
+ * @param ext extension
+ * @param fieldName field name
+ * @param value
+ */
void setField(String ext, String fieldName, Object value);
+ /**
+ * Get field value.
+ *
+ * @param ext extension name
+ * @param fieldName field name
+ * @return
+ */
Object getFieldAsObject(String ext, String fieldName);
byte[] getFieldAsBytes(String ext, String fieldName);
1
0
r1057 - in trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts: component tag
by mfortun@users.nuiton.org 05 Jul '11
by mfortun@users.nuiton.org 05 Jul '11
05 Jul '11
Author: mfortun
Date: 2011-07-05 18:07:49 +0200 (Tue, 05 Jul 2011)
New Revision: 1057
Url: http://nuiton.org/repositories/revision/wikitty/1057
Log:
* new abstract class to encapsulate common attribute and logic like: proxy, wikitty, businessEntity and theme handler
Added:
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponentBean.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyTagComponent.java
Modified:
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponent.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/BooleanBean.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/DateBean.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/FormTagBean.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/HiddenBean.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectAssociationBean.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectCriteriaBean.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectFixedBean.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/TextAreaBean.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/TextFieldBean.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyTag.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/BooleanTag.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/DateTag.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/FormTag.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/HiddenTag.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectAssociationTag.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectCriteriaTag.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectFixedTag.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/TextAreaTag.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/TextFieldTag.java
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponent.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponent.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponent.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -2,69 +2,40 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+
import org.apache.struts2.components.ClosingUIBean;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.entities.BusinessEntity;
import org.nuiton.wikitty.entities.BusinessEntityImpl;
import org.nuiton.wikitty.entities.Wikitty;
-import org.nuiton.wikitty.struts.TagUseException;
-import org.nuiton.wikitty.struts.WikittyFieldHandler;
import com.opensymphony.xwork2.util.ValueStack;
public abstract class AbstractWikittyComponent extends ClosingUIBean {
- /** to use log facility, just put in your code: log.info(\"...\"); */
- final static private Log log = LogFactory
- .getLog(AbstractWikittyComponent.class);
-
- protected WikittyFieldHandler handler;
- protected String fqFieldName;
-
/**
* Never used directly this attribute use the getter
*/
protected Wikitty wikitty;
-
/**
* Never used directly this attribute use the getter
*/
protected BusinessEntity businessEntity;
-
/**
* Never used directly this attribute use the getter
*/
protected WikittyProxy proxy;
- protected AbstractWikittyComponent(ValueStack stack,
+ public AbstractWikittyComponent(ValueStack stack,
HttpServletRequest request, HttpServletResponse response) {
super(stack, request, response);
-
- handler = (WikittyFieldHandler) stack.getContext().get(
- WikittyFieldHandler.WIKITTY_STACK_KEY);
-
- }
-
- public boolean isIncluded(String fieldName) {
- if (handler != null) {
- return handler.isIncluded(fieldName);
- }
- return true;
}
public WikittyProxy getProxy() {
- if (handler != null) {
- return handler.getProxy();
- }
return proxy;
}
public Wikitty getWikitty() {
- if (handler != null) {
- return handler.getWikitty();
- }
if (wikitty == null) {
wikitty = ((BusinessEntityImpl)getBusinessEntity()).getWikitty();
}
@@ -72,67 +43,14 @@
}
public BusinessEntity getBusinessEntity() {
- if (handler != null) {
- return handler.getBusinessEntity();
- }
return businessEntity;
}
@Override
- protected void evaluateExtraParams() {
- super.evaluateExtraParams();
-
- if (handler == null && wikitty == null && businessEntity == null) {
- log.info("Handler not found in the stack and wikitty or businessEntity not declared");
-
-
- throw new TagUseException(
- "Tag must declare Wikitty or businessEntity attribute if used outside ws:form tag");
-
- }
-
- if (name != null && handler == null) {
- addParameter("name", name);
- } else {
- addParameter("name", fqFieldName);
- }
- addParameter("theme", getTheme());
-
- // check if field included
- // if so add the parametter included
- // and add the field to the addedfield (usefull if inside
-
-
-
- if (isIncluded(fqFieldName)){
- addParameter("included", true);
- if (handler != null) {
- handler.addAddedField(fqFieldName);
- }
- }
- }
-
- @Override
public String getTheme() {
return "wikitty";
}
- public WikittyFieldHandler getHandler() {
- return handler;
- }
-
- public void setHandler(WikittyFieldHandler handler) {
- this.handler = handler;
- }
-
- public String getFqFieldName() {
- return fqFieldName;
- }
-
- public void setFqFieldName(String fqFieldName) {
- this.fqFieldName = fqFieldName;
- }
-
public void setWikitty(Wikitty wikitty) {
this.wikitty = wikitty;
}
@@ -145,4 +63,4 @@
this.proxy = proxy;
}
-}
+}
\ No newline at end of file
Copied: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponentBean.java (from rev 1056, trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponent.java)
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponentBean.java (rev 0)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponentBean.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -0,0 +1,121 @@
+package org.nuiton.wikitty.struts.component;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.entities.BusinessEntity;
+import org.nuiton.wikitty.entities.BusinessEntityImpl;
+import org.nuiton.wikitty.entities.Wikitty;
+import org.nuiton.wikitty.struts.TagUseException;
+import org.nuiton.wikitty.struts.WikittyFieldHandler;
+
+import com.opensymphony.xwork2.util.ValueStack;
+
+public abstract class AbstractWikittyComponentBean extends AbstractWikittyComponent {
+
+ /** to use log facility, just put in your code: log.info(\"...\"); */
+ final static private Log log = LogFactory
+ .getLog(AbstractWikittyComponentBean.class);
+
+ protected WikittyFieldHandler handler;
+ protected String fqFieldName;
+
+ protected AbstractWikittyComponentBean(ValueStack stack,
+ HttpServletRequest request, HttpServletResponse response) {
+ super(stack, request, response);
+
+ handler = (WikittyFieldHandler) stack.getContext().get(
+ WikittyFieldHandler.WIKITTY_STACK_KEY);
+
+ }
+
+ public boolean isIncluded(String fieldName) {
+ if (handler != null) {
+ return handler.isIncluded(fieldName);
+ }
+ return true;
+ }
+
+ public WikittyProxy getProxy() {
+ if (handler != null) {
+ return handler.getProxy();
+ }
+ return super.getProxy();
+ }
+
+ public Wikitty getWikitty() {
+ if (handler != null) {
+ return handler.getWikitty();
+ }
+
+ return super.getWikitty();
+ }
+
+ public BusinessEntity getBusinessEntity() {
+ if (handler != null) {
+ return handler.getBusinessEntity();
+ }
+ return super.getBusinessEntity();
+ }
+
+
+
+
+ @Override
+ protected void evaluateExtraParams() {
+ super.evaluateExtraParams();
+
+ if (handler == null && wikitty == null && businessEntity == null) {
+ log.info("Handler not found in the stack and wikitty or businessEntity not declared");
+
+ throw new TagUseException(
+ "Tag must declare Wikitty or businessEntity attribute if used outside ws:form tag");
+ }
+
+ if (name != null && handler == null) {
+ addParameter("name", name);
+ } else {
+ addParameter("name", fqFieldName);
+ }
+ addParameter("theme", getTheme());
+
+ /*
+ if (id!=null || id.equals("")) {
+ id = name==null?fqFieldName:name;
+ } else {
+ addParameter("name", fqFieldName);
+ }*/
+
+ // check if field included
+ // if so add the parametter included
+ // and add the field to the addedfield (usefull if inside
+
+
+
+ if (isIncluded(fqFieldName)){
+ addParameter("included", true);
+ if (handler != null) {
+ handler.addAddedField(fqFieldName);
+ }
+ }
+ }
+
+ public WikittyFieldHandler getHandler() {
+ return handler;
+ }
+
+ public void setHandler(WikittyFieldHandler handler) {
+ this.handler = handler;
+ }
+
+ public String getFqFieldName() {
+ return fqFieldName;
+ }
+
+ public void setFqFieldName(String fqFieldName) {
+ this.fqFieldName = fqFieldName;
+ }
+
+}
Property changes on: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponentBean.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/BooleanBean.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/BooleanBean.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/BooleanBean.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -12,7 +12,7 @@
@StrutsTag(name = "boolean", tldTagClass = "org.nuiton.wikitty.struts.tag.BooleanTag",
description = "", allowDynamicAttributes = false)
-public class BooleanBean extends AbstractWikittyComponent {
+public class BooleanBean extends AbstractWikittyComponentBean {
/** to use log facility, just put in your code: log.info(\"...\"); */
final static private Log log = LogFactory.getLog(BooleanBean.class);
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/DateBean.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/DateBean.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/DateBean.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -12,7 +12,7 @@
@StrutsTag(name = "boolean", tldTagClass = "org.nuiton.wikitty.struts.tag.DateTag",
description = "", allowDynamicAttributes = false)
-public class DateBean extends AbstractWikittyComponent {
+public class DateBean extends AbstractWikittyComponentBean {
/** to use log facility, just put in your code: log.info(\"...\"); */
final static private Log log = LogFactory.getLog(DateBean.class);
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/FormTagBean.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/FormTagBean.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/FormTagBean.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -17,7 +17,7 @@
@StrutsTag(name = "Wikitty", tldTagClass = "org.nuiton.wikitty.struts.tag.FormTag",
description = "", allowDynamicAttributes = false)
-public class FormTagBean extends ClosingUIBean {
+public class FormTagBean extends AbstractWikittyComponent {
/** to use log facility, just put in your code: log.info(\"...\"); */
final static private Log log = LogFactory.getLog(FormTagBean.class);
@@ -25,9 +25,8 @@
public static final String OPEN_TEMPLATE = "ws-form";
public static final String TEMPLATE = "ws-form-close";
- protected Wikitty wikitty;
- protected WikittyProxy proxy;
+
protected String action;
protected String redirect;
@@ -49,11 +48,16 @@
super.evaluateExtraParams();
- if (wikitty == null) {
- throw new TagUseException("Wikitty must be a valid wikitty");
+ if ( wikitty == null && businessEntity == null) {
+ log.info("wikitty and businessEntity not declared");
+
+ throw new TagUseException(
+ "Tag must declare a valid Wikitty or businessEntity attribute");
}
+
+
/* this methode is called two times:
* - first when the wikitty open tag is red
* - second when the wikitty closing tag is red
@@ -83,12 +87,12 @@
if (name==null || name.equals(StringUtils.EMPTY)) {
- name = "wikitty-form-"+wikitty.getId();
+ name = "wikitty-form-"+getWikitty().getId();
}
- addParameter("wikittyid", findString(wikitty.getId()));
+ addParameter("wikittyid", findString(getWikitty().getId()));
// no uses finally:
// addParameter("wikittyversion", findString(wikitty.getVersion()));
// addParameter("wikittyextensions", findString(wikitty
@@ -111,7 +115,7 @@
handler.setExclude(exclude);
handler.setInclude(include);
handler.setOrder(order);
- handler.setWikitty(wikitty);
+ handler.setWikitty(getWikitty());
handler.setProxy(proxy);
handler.setOrderBefore(orderBefore);
@@ -129,12 +133,8 @@
}
-
- @Override
- public String getTheme() {
- return "wikitty";
- }
+
public String getDefaultOpenTemplate() {
return OPEN_TEMPLATE;
}
@@ -143,22 +143,8 @@
return TEMPLATE;
}
- public Wikitty getWikitty() {
- return wikitty;
- }
- public void setWikitty(Wikitty wikitty) {
- this.wikitty = wikitty;
- }
- public WikittyProxy getProxy() {
- return proxy;
- }
-
- public void setProxy(WikittyProxy proxy) {
- this.proxy = proxy;
- }
-
public String getAction() {
return action;
}
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/HiddenBean.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/HiddenBean.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/HiddenBean.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -11,7 +11,7 @@
import com.opensymphony.xwork2.util.ValueStack;
@StrutsTag(name = "hidden", tldTagClass = "org.nuiton.wikitty.struts.tag.HiddenTag", description = "", allowDynamicAttributes = false)
-public class HiddenBean extends AbstractWikittyComponent {
+public class HiddenBean extends AbstractWikittyComponentBean {
/** to use log facility, just put in your code: log.info(\"...\"); */
final static private Log log = LogFactory.getLog(HiddenBean.class);
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectAssociationBean.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectAssociationBean.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectAssociationBean.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -16,7 +16,7 @@
import com.opensymphony.xwork2.util.ValueStack;
-public class SelectAssociationBean extends AbstractWikittyComponent {
+public class SelectAssociationBean extends AbstractWikittyComponentBean {
/** to use log facility, just put in your code: log.info(\"...\"); */
final static private Log log = LogFactory
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectCriteriaBean.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectCriteriaBean.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectCriteriaBean.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -20,7 +20,7 @@
import com.opensymphony.xwork2.util.ValueStack;
@StrutsTag(name = "wikittyselect", tldTagClass = "org.nuiton.wikitty.struts.tag.SelectCriteriaTag", description = "", allowDynamicAttributes = false)
-public class SelectCriteriaBean extends AbstractWikittyComponent {
+public class SelectCriteriaBean extends AbstractWikittyComponentBean {
/** to use log facility, just put in your code: log.info(\"...\"); */
final static private Log log = LogFactory.getLog(SelectCriteriaBean.class);
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectFixedBean.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectFixedBean.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectFixedBean.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -15,7 +15,7 @@
import com.opensymphony.xwork2.util.ValueStack;
@StrutsTag(name = "fixedSelect", tldTagClass = "org.nuiton.wikitty.struts.tag.SelectFixedTag", description = "", allowDynamicAttributes = false)
-public class SelectFixedBean extends AbstractWikittyComponent {
+public class SelectFixedBean extends AbstractWikittyComponentBean {
/** to use log facility, just put in your code: log.info(\"...\"); */
final static private Log log = LogFactory.getLog(SelectFixedBean.class);
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/TextAreaBean.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/TextAreaBean.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/TextAreaBean.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -11,7 +11,7 @@
import com.opensymphony.xwork2.util.ValueStack;
@StrutsTag(name = "textArea", tldTagClass = "org.nuiton.wikitty.struts.tag.TextAreaTag", description = "", allowDynamicAttributes = false)
-public class TextAreaBean extends AbstractWikittyComponent {
+public class TextAreaBean extends AbstractWikittyComponentBean {
/** to use log facility, just put in your code: log.info(\"...\"); */
final static private Log log = LogFactory.getLog(TextAreaBean.class);
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/TextFieldBean.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/TextFieldBean.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/TextFieldBean.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -11,7 +11,7 @@
import com.opensymphony.xwork2.util.ValueStack;
@StrutsTag(name = "textField", tldTagClass = "org.nuiton.wikitty.struts.tag.TextFieldTag", description = "", allowDynamicAttributes = false)
-public class TextFieldBean extends AbstractWikittyComponent {
+public class TextFieldBean extends AbstractWikittyComponentBean {
/** to use log facility, just put in your code: log.info(\"...\"); */
final static private Log log = LogFactory.getLog(TextFieldBean.class);
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyTag.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyTag.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyTag.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -5,25 +5,22 @@
import org.nuiton.wikitty.entities.BusinessEntity;
import org.nuiton.wikitty.entities.Wikitty;
import org.nuiton.wikitty.struts.component.AbstractWikittyComponent;
+import org.nuiton.wikitty.struts.component.AbstractWikittyComponentBean;
public abstract class AbstractWikittyTag extends AbstractClosingTag {
-
- private static final long serialVersionUID = -3401870606519882751L;
- protected String fqFieldName;
+ /**
+ *
+ */
+ private static final long serialVersionUID = -2804975141932256704L;
protected Wikitty wikitty;
protected BusinessEntity businessEntity;
protected WikittyProxy proxy;
- public String getFqFieldName() {
- return fqFieldName;
+ public AbstractWikittyTag() {
+ super();
}
- public void setFqFieldName(String fqFieldName) {
- this.fqFieldName = fqFieldName;
- }
-
-
public Wikitty getWikitty() {
return wikitty;
}
@@ -48,15 +45,15 @@
this.proxy = proxy;
}
+
@Override
protected void populateParams() {
super.populateParams();
AbstractWikittyComponent wikittyComponent = (AbstractWikittyComponent) component;
- wikittyComponent.setFqFieldName(fqFieldName);
wikittyComponent.setWikitty(wikitty);
wikittyComponent.setProxy(proxy);
wikittyComponent.setBusinessEntity(businessEntity);
}
-}
+}
\ No newline at end of file
Copied: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyTagComponent.java (from rev 1056, trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyTag.java)
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyTagComponent.java (rev 0)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyTagComponent.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -0,0 +1,29 @@
+package org.nuiton.wikitty.struts.tag;
+
+import org.nuiton.wikitty.struts.component.AbstractWikittyComponentBean;
+
+public abstract class AbstractWikittyTagComponent extends AbstractWikittyTag {
+
+
+ private static final long serialVersionUID = -3401870606519882751L;
+ protected String fqFieldName;
+
+ public String getFqFieldName() {
+ return fqFieldName;
+ }
+
+ public void setFqFieldName(String fqFieldName) {
+ this.fqFieldName = fqFieldName;
+ }
+
+
+ @Override
+ protected void populateParams() {
+ super.populateParams();
+ AbstractWikittyComponentBean wikittyComponent = (AbstractWikittyComponentBean) component;
+ wikittyComponent.setFqFieldName(fqFieldName);
+
+ }
+
+
+}
Property changes on: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyTagComponent.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/BooleanTag.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/BooleanTag.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/BooleanTag.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -6,7 +6,7 @@
import org.nuiton.wikitty.struts.component.BooleanBean;
import com.opensymphony.xwork2.util.ValueStack;
-public class BooleanTag extends AbstractWikittyTag {
+public class BooleanTag extends AbstractWikittyTagComponent {
/**
*
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/DateTag.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/DateTag.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/DateTag.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -6,7 +6,7 @@
import org.nuiton.wikitty.struts.component.DateBean;
import com.opensymphony.xwork2.util.ValueStack;
-public class DateTag extends AbstractWikittyTag{
+public class DateTag extends AbstractWikittyTagComponent{
/**
*
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/FormTag.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/FormTag.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/FormTag.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -3,20 +3,15 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.components.Component;
-import org.apache.struts2.views.jsp.ui.AbstractClosingTag;
-import org.nuiton.wikitty.WikittyProxy;
-import org.nuiton.wikitty.entities.Wikitty;
import org.nuiton.wikitty.struts.component.FormTagBean;
import com.opensymphony.xwork2.util.ValueStack;
-public class FormTag extends AbstractClosingTag {
+public class FormTag extends AbstractWikittyTag {
/**
*
*/
private static final long serialVersionUID = 258152544560583399L;
- protected Wikitty wikitty;
- protected WikittyProxy proxy;
protected String action;
protected String redirect;
protected String include;
@@ -78,8 +73,6 @@
FormTagBean wikittyTag = ((FormTagBean) component);
wikittyTag.setAction(action);
wikittyTag.setRedirect(redirect);
- wikittyTag.setWikitty(wikitty);
- wikittyTag.setProxy(proxy);
wikittyTag.setOrder(order);
wikittyTag.setOrderBefore(orderBefore);
wikittyTag.setAllowDelete(allowDelete);
@@ -87,22 +80,7 @@
wikittyTag.setExclude(exclude);
}
- public Wikitty getWikitty() {
- return wikitty;
- }
-
- public void setWikitty(Wikitty wikitty) {
- this.wikitty = wikitty;
- }
-
- public WikittyProxy getProxy() {
- return proxy;
- }
-
- public void setProxy(WikittyProxy proxy) {
- this.proxy = proxy;
- }
-
+
public String getAction() {
return action;
}
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/HiddenTag.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/HiddenTag.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/HiddenTag.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -6,7 +6,7 @@
import org.nuiton.wikitty.struts.component.HiddenBean;
import com.opensymphony.xwork2.util.ValueStack;
-public class HiddenTag extends AbstractWikittyTag {
+public class HiddenTag extends AbstractWikittyTagComponent {
/**
*
*/
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectAssociationTag.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectAssociationTag.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectAssociationTag.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -8,7 +8,7 @@
import com.opensymphony.xwork2.util.ValueStack;
-public class SelectAssociationTag extends AbstractWikittyTag{
+public class SelectAssociationTag extends AbstractWikittyTagComponent{
/**
*
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectCriteriaTag.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectCriteriaTag.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectCriteriaTag.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -7,7 +7,7 @@
import org.nuiton.wikitty.struts.component.SelectCriteriaBean;
import com.opensymphony.xwork2.util.ValueStack;
-public class SelectCriteriaTag extends AbstractWikittyTag {
+public class SelectCriteriaTag extends AbstractWikittyTagComponent {
/**
*
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectFixedTag.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectFixedTag.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectFixedTag.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -6,7 +6,7 @@
import org.nuiton.wikitty.struts.component.SelectFixedBean;
import com.opensymphony.xwork2.util.ValueStack;
-public class SelectFixedTag extends AbstractWikittyTag {
+public class SelectFixedTag extends AbstractWikittyTagComponent {
/**
*
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/TextAreaTag.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/TextAreaTag.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/TextAreaTag.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -7,7 +7,7 @@
import com.opensymphony.xwork2.util.ValueStack;
-public class TextAreaTag extends AbstractWikittyTag{
+public class TextAreaTag extends AbstractWikittyTagComponent{
/**
*
*/
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/TextFieldTag.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/TextFieldTag.java 2011-07-05 15:40:53 UTC (rev 1056)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/TextFieldTag.java 2011-07-05 16:07:49 UTC (rev 1057)
@@ -6,7 +6,7 @@
import org.nuiton.wikitty.struts.component.TextFieldBean;
import com.opensymphony.xwork2.util.ValueStack;
-public class TextFieldTag extends AbstractWikittyTag {
+public class TextFieldTag extends AbstractWikittyTagComponent {
protected Boolean password;
1
0
r1056 - in trunk/wikitty-struts/src/main: java/org/nuiton/wikitty/struts java/org/nuiton/wikitty/struts/component java/org/nuiton/wikitty/struts/tag tld
by sletellier@users.nuiton.org 05 Jul '11
by sletellier@users.nuiton.org 05 Jul '11
05 Jul '11
Author: sletellier
Date: 2011-07-05 17:40:53 +0200 (Tue, 05 Jul 2011)
New Revision: 1056
Url: http://nuiton.org/repositories/revision/wikitty/1056
Log:
- Allow using businessEntity
Modified:
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/WikittyFieldHandler.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponent.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectAssociationBean.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyTag.java
trunk/wikitty-struts/src/main/tld/wikitty-struts.tld
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/WikittyFieldHandler.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/WikittyFieldHandler.java 2011-07-05 15:10:06 UTC (rev 1055)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/WikittyFieldHandler.java 2011-07-05 15:40:53 UTC (rev 1056)
@@ -14,6 +14,8 @@
import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.WikittyUtil;
+import org.nuiton.wikitty.entities.BusinessEntity;
+import org.nuiton.wikitty.entities.BusinessEntityImpl;
import org.nuiton.wikitty.entities.FieldType;
import org.nuiton.wikitty.entities.Wikitty;
import org.nuiton.wikitty.entities.WikittyExtension;
@@ -27,6 +29,7 @@
static public String FIELD_SEPARATOR = ",";
protected Wikitty wikitty;
+ protected BusinessEntity businessEntity;
protected WikittyProxy proxy;
protected String include = StringUtils.EMPTY;
protected String exclude = StringUtils.EMPTY;
@@ -55,6 +58,9 @@
}
public Wikitty getWikitty() {
+ if (wikitty == null) {
+ wikitty = ((BusinessEntityImpl) getBusinessEntity()).getWikitty();
+ }
return wikitty;
}
@@ -62,6 +68,14 @@
this.wikitty = wikitty;
}
+ public BusinessEntity getBusinessEntity() {
+ return businessEntity;
+ }
+
+ public void setBusinessEntity(BusinessEntity businessEntity) {
+ this.businessEntity = businessEntity;
+ }
+
public Boolean getOrderBefore() {
return orderBefore;
}
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponent.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponent.java 2011-07-05 15:10:06 UTC (rev 1055)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/AbstractWikittyComponent.java 2011-07-05 15:40:53 UTC (rev 1056)
@@ -6,6 +6,8 @@
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.components.ClosingUIBean;
import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.entities.BusinessEntity;
+import org.nuiton.wikitty.entities.BusinessEntityImpl;
import org.nuiton.wikitty.entities.Wikitty;
import org.nuiton.wikitty.struts.TagUseException;
import org.nuiton.wikitty.struts.WikittyFieldHandler;
@@ -29,6 +31,11 @@
/**
* Never used directly this attribute use the getter
*/
+ protected BusinessEntity businessEntity;
+
+ /**
+ * Never used directly this attribute use the getter
+ */
protected WikittyProxy proxy;
protected AbstractWikittyComponent(ValueStack stack,
@@ -58,23 +65,33 @@
if (handler != null) {
return handler.getWikitty();
}
+ if (wikitty == null) {
+ wikitty = ((BusinessEntityImpl)getBusinessEntity()).getWikitty();
+ }
return wikitty;
}
+ public BusinessEntity getBusinessEntity() {
+ if (handler != null) {
+ return handler.getBusinessEntity();
+ }
+ return businessEntity;
+ }
+
@Override
protected void evaluateExtraParams() {
super.evaluateExtraParams();
- if (handler == null && wikitty == null) {
- log.info("Handler not found in the stack and wikitty not declared");
+ if (handler == null && wikitty == null && businessEntity == null) {
+ log.info("Handler not found in the stack and wikitty or businessEntity not declared");
throw new TagUseException(
- "Tag must declare Wikitty attribute if used outside ws:form tag");
+ "Tag must declare Wikitty or businessEntity attribute if used outside ws:form tag");
}
- if (name!=null && handler ==null) {
+ if (name != null && handler == null) {
addParameter("name", name);
} else {
addParameter("name", fqFieldName);
@@ -120,6 +137,10 @@
this.wikitty = wikitty;
}
+ public void setBusinessEntity(BusinessEntity businessEntity) {
+ this.businessEntity = businessEntity;
+ }
+
public void setProxy(WikittyProxy proxy) {
this.proxy = proxy;
}
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectAssociationBean.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectAssociationBean.java 2011-07-05 15:10:06 UTC (rev 1055)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectAssociationBean.java 2011-07-05 15:40:53 UTC (rev 1056)
@@ -61,7 +61,7 @@
WikittyFieldHandler.FIELD_SEPARATOR);
// iterate wikitty for result construction
- for (Wikitty wiki : wikitty.getFieldAsList(ext, fieldName, Wikitty.class)){
+ for (Wikitty wiki : getWikitty().getFieldAsList(ext, fieldName, Wikitty.class)){
Option temp = new Option();
temp.setValeur(wiki.getId());
String desc = wiki.getId();
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyTag.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyTag.java 2011-07-05 15:10:06 UTC (rev 1055)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/AbstractWikittyTag.java 2011-07-05 15:40:53 UTC (rev 1056)
@@ -2,6 +2,7 @@
import org.apache.struts2.views.jsp.ui.AbstractClosingTag;
import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.entities.BusinessEntity;
import org.nuiton.wikitty.entities.Wikitty;
import org.nuiton.wikitty.struts.component.AbstractWikittyComponent;
@@ -11,6 +12,7 @@
private static final long serialVersionUID = -3401870606519882751L;
protected String fqFieldName;
protected Wikitty wikitty;
+ protected BusinessEntity businessEntity;
protected WikittyProxy proxy;
public String getFqFieldName() {
@@ -30,6 +32,14 @@
this.wikitty = wikitty;
}
+ public BusinessEntity getBusinessEntity() {
+ return businessEntity;
+ }
+
+ public void setBusinessEntity(BusinessEntity businessEntity) {
+ this.businessEntity = businessEntity;
+ }
+
public WikittyProxy getProxy() {
return proxy;
}
@@ -45,7 +55,7 @@
wikittyComponent.setFqFieldName(fqFieldName);
wikittyComponent.setWikitty(wikitty);
wikittyComponent.setProxy(proxy);
-
+ wikittyComponent.setBusinessEntity(businessEntity);
}
Modified: trunk/wikitty-struts/src/main/tld/wikitty-struts.tld
===================================================================
--- trunk/wikitty-struts/src/main/tld/wikitty-struts.tld 2011-07-05 15:10:06 UTC (rev 1055)
+++ trunk/wikitty-struts/src/main/tld/wikitty-struts.tld 2011-07-05 15:40:53 UTC (rev 1056)
@@ -27,9 +27,15 @@
<description><![CDATA[the wikitty to edit]]></description>
<name>wikitty</name>
<rtexprvalue>true</rtexprvalue>
- <required>true</required>
+ <required>false</required>
</attribute>
<attribute>
+ <description><![CDATA[the businessEntity to edit]]></description>
+ <name>businessEntity</name>
+ <rtexprvalue>true</rtexprvalue>
+ <required>false</required>
+ </attribute>
+ <attribute>
<description><![CDATA[the proxy from whom search for wikitty]]></description>
<name>proxy</name>
<rtexprvalue>true</rtexprvalue>
@@ -101,9 +107,15 @@
<description><![CDATA[the wikitty to edit]]></description>
<name>wikitty</name>
<rtexprvalue>true</rtexprvalue>
- <required>true</required>
+ <required>false</required>
</attribute>
<attribute>
+ <description><![CDATA[the businessEntity to edit]]></description>
+ <name>businessEntity</name>
+ <rtexprvalue>true</rtexprvalue>
+ <required>false</required>
+ </attribute>
+ <attribute>
<description><![CDATA[the proxy from whom search for wikitty required if tag not used inside form tag]]></description>
<name>proxy</name>
<rtexprvalue>true</rtexprvalue>
@@ -156,14 +168,19 @@
<name>name</name>
<rtexprvalue>true</rtexprvalue>
</attribute>
-
-
<attribute>
<description><![CDATA[the wikitty to edit]]></description>
<name>wikitty</name>
<rtexprvalue>true</rtexprvalue>
+ <required>false</required>
</attribute>
<attribute>
+ <description><![CDATA[the businessEntity to edit]]></description>
+ <name>businessEntity</name>
+ <rtexprvalue>true</rtexprvalue>
+ <required>false</required>
+ </attribute>
+ <attribute>
<description><![CDATA[the proxy from whom search for wikitty required if tag not used inside form tag]]></description>
<name>proxy</name>
<rtexprvalue>true</rtexprvalue>
@@ -212,8 +229,15 @@
<description><![CDATA[the wikitty to edit]]></description>
<name>wikitty</name>
<rtexprvalue>true</rtexprvalue>
+ <required>false</required>
</attribute>
<attribute>
+ <description><![CDATA[the businessEntity to edit]]></description>
+ <name>businessEntity</name>
+ <rtexprvalue>true</rtexprvalue>
+ <required>false</required>
+ </attribute>
+ <attribute>
<description><![CDATA[if subtype == fixed, use the list of fixed value as option for a select]]></description>
<name>fixvalues</name>
<rtexprvalue>true</rtexprvalue>
@@ -251,8 +275,15 @@
<description><![CDATA[the wikitty to edit]]></description>
<name>wikitty</name>
<rtexprvalue>true</rtexprvalue>
+ <required>false</required>
</attribute>
<attribute>
+ <description><![CDATA[the businessEntity to edit]]></description>
+ <name>businessEntity</name>
+ <rtexprvalue>true</rtexprvalue>
+ <required>false</required>
+ </attribute>
+ <attribute>
<description><![CDATA[the name of the field that have to be specialize]]></description>
<name>fqFieldName</name>
<rtexprvalue>true</rtexprvalue>
@@ -279,8 +310,15 @@
<description><![CDATA[the wikitty to edit]]></description>
<name>wikitty</name>
<rtexprvalue>true</rtexprvalue>
+ <required>false</required>
</attribute>
<attribute>
+ <description><![CDATA[the businessEntity to edit]]></description>
+ <name>businessEntity</name>
+ <rtexprvalue>true</rtexprvalue>
+ <required>false</required>
+ </attribute>
+ <attribute>
<description><![CDATA[the name of the field that have to be specialize]]></description>
<name>fqFieldName</name>
<rtexprvalue>true</rtexprvalue>
@@ -317,8 +355,15 @@
<description><![CDATA[the wikitty to edit]]></description>
<name>wikitty</name>
<rtexprvalue>true</rtexprvalue>
+ <required>false</required>
</attribute>
<attribute>
+ <description><![CDATA[the businessEntity to edit]]></description>
+ <name>businessEntity</name>
+ <rtexprvalue>true</rtexprvalue>
+ <required>false</required>
+ </attribute>
+ <attribute>
<description><![CDATA[the name of the field that have to be specialize]]></description>
<name>fqFieldName</name>
<rtexprvalue>true</rtexprvalue>
@@ -356,8 +401,15 @@
<description><![CDATA[the wikitty to edit]]></description>
<name>wikitty</name>
<rtexprvalue>true</rtexprvalue>
+ <required>false</required>
</attribute>
<attribute>
+ <description><![CDATA[the businessEntity to edit]]></description>
+ <name>businessEntity</name>
+ <rtexprvalue>true</rtexprvalue>
+ <required>false</required>
+ </attribute>
+ <attribute>
<description><![CDATA[the name of the field that have to be specialize]]></description>
<name>fqFieldName</name>
<rtexprvalue>true</rtexprvalue>
@@ -389,8 +441,15 @@
<description><![CDATA[the wikitty to edit]]></description>
<name>wikitty</name>
<rtexprvalue>true</rtexprvalue>
+ <required>false</required>
</attribute>
<attribute>
+ <description><![CDATA[the businessEntity to edit]]></description>
+ <name>businessEntity</name>
+ <rtexprvalue>true</rtexprvalue>
+ <required>false</required>
+ </attribute>
+ <attribute>
<description><![CDATA[the name of the field that have to be specialize]]></description>
<name>fqFieldName</name>
<rtexprvalue>true</rtexprvalue>
1
0
r1055 - in trunk/wikitty-struts/src/main: resources/template/wikitty tld
by sletellier@users.nuiton.org 05 Jul '11
by sletellier@users.nuiton.org 05 Jul '11
05 Jul '11
Author: sletellier
Date: 2011-07-05 17:10:06 +0200 (Tue, 05 Jul 2011)
New Revision: 1055
Url: http://nuiton.org/repositories/revision/wikitty/1055
Log:
Don't force using label
Modified:
trunk/wikitty-struts/src/main/resources/template/wikitty/ws-label-commons.ftl
trunk/wikitty-struts/src/main/tld/wikitty-struts.tld
Modified: trunk/wikitty-struts/src/main/resources/template/wikitty/ws-label-commons.ftl
===================================================================
--- trunk/wikitty-struts/src/main/resources/template/wikitty/ws-label-commons.ftl 2011-07-05 15:04:27 UTC (rev 1054)
+++ trunk/wikitty-struts/src/main/resources/template/wikitty/ws-label-commons.ftl 2011-07-05 15:10:06 UTC (rev 1055)
@@ -1 +1,3 @@
-<label for="${parameters.id}">${parameters.label}</label>
\ No newline at end of file
+<#if parameters.label??>
+<label for="${parameters.id}">${parameters.label}</label>
+</#if>
\ No newline at end of file
Modified: trunk/wikitty-struts/src/main/tld/wikitty-struts.tld
===================================================================
--- trunk/wikitty-struts/src/main/tld/wikitty-struts.tld 2011-07-05 15:04:27 UTC (rev 1054)
+++ trunk/wikitty-struts/src/main/tld/wikitty-struts.tld 2011-07-05 15:10:06 UTC (rev 1055)
@@ -124,7 +124,7 @@
<description><![CDATA[the label of the field]]></description>
<name>label</name>
<rtexprvalue>true</rtexprvalue>
- <required>true</required>
+ <required>false</required>
</attribute>
<attribute>
<description><![CDATA[the label of the field]]></description>
@@ -189,7 +189,7 @@
<description><![CDATA[the label of the field]]></description>
<name>label</name>
<rtexprvalue>true</rtexprvalue>
- <required>true</required>
+ <required>false</required>
</attribute>
</tag>
@@ -229,7 +229,7 @@
<description><![CDATA[the label of the field]]></description>
<name>label</name>
<rtexprvalue>true</rtexprvalue>
- <required>true</required>
+ <required>false</required>
</attribute>
</tag>
@@ -290,7 +290,7 @@
<description><![CDATA[the label of the field]]></description>
<name>label</name>
<rtexprvalue>true</rtexprvalue>
- <required>true</required>
+ <required>false</required>
</attribute>
<attribute>
<description><![CDATA[if the textfiel have to hide the content]]></description>
@@ -328,7 +328,7 @@
<description><![CDATA[the label of the field]]></description>
<name>label</name>
<rtexprvalue>true</rtexprvalue>
- <required>true</required>
+ <required>false</required>
</attribute>
<attribute>
<description><![CDATA[the label of the field]]></description>
@@ -367,7 +367,7 @@
<description><![CDATA[the label of the field]]></description>
<name>label</name>
<rtexprvalue>true</rtexprvalue>
- <required>true</required>
+ <required>false</required>
</attribute>
</tag>
@@ -400,7 +400,7 @@
<description><![CDATA[the label of the field]]></description>
<name>label</name>
<rtexprvalue>true</rtexprvalue>
- <required>true</required>
+ <required>false</required>
</attribute>
</tag>
</taglib>
1
0
r1054 - in trunk/wikitty-struts/src/main: java/org/nuiton/wikitty/struts/component resources/template/wikitty tld
by sletellier@users.nuiton.org 05 Jul '11
by sletellier@users.nuiton.org 05 Jul '11
05 Jul '11
Author: sletellier
Date: 2011-07-05 17:04:27 +0200 (Tue, 05 Jul 2011)
New Revision: 1054
Url: http://nuiton.org/repositories/revision/wikitty/1054
Log:
- Rename selectAssociation tag
- Add multiple selection option
Added:
trunk/wikitty-struts/src/main/resources/template/wikitty/ws-selectassociation-close.ftl
trunk/wikitty-struts/src/main/resources/template/wikitty/ws-selectassociation.ftl
Removed:
trunk/wikitty-struts/src/main/resources/template/wikitty/ws-selectAssociation-close.ftl
trunk/wikitty-struts/src/main/resources/template/wikitty/ws-selectAssociation.ftl
Modified:
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectAssociationBean.java
trunk/wikitty-struts/src/main/tld/wikitty-struts.tld
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectAssociationBean.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectAssociationBean.java 2011-07-05 15:02:52 UTC (rev 1053)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectAssociationBean.java 2011-07-05 15:04:27 UTC (rev 1054)
@@ -27,6 +27,7 @@
protected String descField;
protected int size;
+ protected Boolean multiple;
public SelectAssociationBean(ValueStack stack, HttpServletRequest request,
HttpServletResponse response) {
@@ -43,8 +44,13 @@
size = 1;
}
- // add parametter
- addParameter("size", size);
+ // add parameters
+ addParameter("selectSize", size);
+
+ if (multiple == null) {
+ multiple = false;
+ }
+ addParameter("multiple", multiple);
List<Option> listOption = new LinkedList<Option>();
Deleted: trunk/wikitty-struts/src/main/resources/template/wikitty/ws-selectAssociation.ftl
===================================================================
--- trunk/wikitty-struts/src/main/resources/template/wikitty/ws-selectAssociation.ftl 2011-07-05 15:02:52 UTC (rev 1053)
+++ trunk/wikitty-struts/src/main/resources/template/wikitty/ws-selectAssociation.ftl 2011-07-05 15:04:27 UTC (rev 1054)
@@ -1,16 +0,0 @@
-<#if parameters.included?? && parameters.included==true >
-<#include "/${parameters.templateDir}/${parameters.theme}/ws-label-commons.ftl" />
-<select
-<#include "/${parameters.templateDir}/${parameters.theme}/ws-commons.ftl" />
- size="${parameters.size}"
-<#-- <#if parameters.multiple?? && parameters.multiple==true >-->
- multiple
-<#-- </#if> -->
- >
-<#assign optionKeys = parameters.value><#t/>
- <#list optionKeys as optionKey>
- <option value="${optionKey.valeur}">
- ${optionKey.description} </option>
- </#list>
-</select><#t/>
-</#if>
\ No newline at end of file
Copied: trunk/wikitty-struts/src/main/resources/template/wikitty/ws-selectassociation.ftl (from rev 1052, trunk/wikitty-struts/src/main/resources/template/wikitty/ws-selectAssociation.ftl)
===================================================================
--- trunk/wikitty-struts/src/main/resources/template/wikitty/ws-selectassociation.ftl (rev 0)
+++ trunk/wikitty-struts/src/main/resources/template/wikitty/ws-selectassociation.ftl 2011-07-05 15:04:27 UTC (rev 1054)
@@ -0,0 +1,16 @@
+<#if parameters.included?? && parameters.included==true >
+<#include "/${parameters.templateDir}/${parameters.theme}/ws-label-commons.ftl" />
+<select
+<#include "/${parameters.templateDir}/${parameters.theme}/ws-commons.ftl" />
+ size="${parameters.selectSize}"
+<#if parameters.multiple?? && parameters.multiple>
+ multiple
+ </#if>
+ >
+<#assign optionKeys = parameters.value><#t/>
+ <#list optionKeys as optionKey>
+ <option value="${optionKey.valeur}">
+ ${optionKey.description} </option>
+ </#list>
+</select><#t/>
+</#if>
\ No newline at end of file
Modified: trunk/wikitty-struts/src/main/tld/wikitty-struts.tld
===================================================================
--- trunk/wikitty-struts/src/main/tld/wikitty-struts.tld 2011-07-05 15:02:52 UTC (rev 1053)
+++ trunk/wikitty-struts/src/main/tld/wikitty-struts.tld 2011-07-05 15:04:27 UTC (rev 1054)
@@ -132,6 +132,12 @@
<rtexprvalue>true</rtexprvalue>
<required>true</required>
</attribute>
+ <attribute>
+ <description><![CDATA[to enable multiselect]]></description>
+ <name>multiple</name>
+ <rtexprvalue>true</rtexprvalue>
+ <required>false</required>
+ </attribute>
</tag>
1
0
r1053 - trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator
by echatellier@users.nuiton.org 05 Jul '11
by echatellier@users.nuiton.org 05 Jul '11
05 Jul '11
Author: echatellier
Date: 2011-07-05 17:02:52 +0200 (Tue, 05 Jul 2011)
New Revision: 1053
Url: http://nuiton.org/repositories/revision/wikitty/1053
Log:
Generate multiples requires.
Modified:
trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java
Modified: trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java
===================================================================
--- trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java 2011-07-05 14:23:24 UTC (rev 1052)
+++ trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java 2011-07-05 15:02:52 UTC (rev 1053)
@@ -58,7 +58,7 @@
public class WikittyAbstractGenerator extends ObjectModelTransformerToJava {
private static final Log log = LogFactory.getLog(WikittyAbstractGenerator.class);
-
+
/** map busines entity from source model to generated abstract class */
protected Map<ObjectModelClass, ObjectModelClass> processedClasses =
new HashMap<ObjectModelClass, ObjectModelClass>();
@@ -163,7 +163,7 @@
addImport(clazz, Date.class);
addImport(clazz, LinkedHashSet.class);
}
-
+
protected void addSerialVersionUID(ObjectModelClass clazz) {
// adding a generated serialVersionUID
Random random = new Random();
@@ -174,9 +174,9 @@
serialVersionUIDs.toString() + "L",
ObjectModelModifier.PRIVATE);
}
-
+
protected void addConstructors(ObjectModelClass clazz) {
-
+
ObjectModelOperation constructor = addConstructor(clazz, ObjectModelModifier.PUBLIC);
setOperationBody(constructor, ""
/*{
@@ -196,9 +196,9 @@
/*{
super(businessEntityImpl.getWikitty());
}*/);
-
+
}
-
+
protected void addConstants(ObjectModelClass businessEntity, ObjectModelClass abstractClass) {
// adding some constants about extension to abstract
addConstant(abstractClass, "extensions", "List<WikittyExtension>", null, ObjectModelModifier.PUBLIC);
@@ -236,7 +236,7 @@
+ (attribute.getMaxMultiplicity() == -1 ? "*" : attribute.getMaxMultiplicity())
+ "]";
}
-
+
// // generate a string line like " deprecated=true" or ""
// String deprecated = attribute.hasTagValue("deprecated") ? " deprecated=" + attribute.getTagValue("deprecated") : "";
// // generate a string line like ' documentation="my documentation"' or ""
@@ -271,12 +271,14 @@
}
// a piece of code used in the static block
- String requires = null;
+ String requires = "";
+ String requiresSep = "";
for (ObjectModelClass superClass : businessEntity.getSuperclasses()) {
// using "for" but there will be 0 or 1 iteration
addImport(abstractClass, superClass);
addImport(abstractClass, superClass.getQualifiedName() + "Abstract");
- requires = WikittyTransformerUtil.classToExtensionVariableName(superClass, true);
+ requires += requiresSep + WikittyTransformerUtil.classToExtensionVariableName(superClass, true);
+ requiresSep = ",";
}
String buildFieldMapExtensionParametersInLine = StringUtils.join(buildFieldMapExtensionParameters, ", \n");
@@ -335,10 +337,10 @@
if (WikittyTransformerUtil.isAttributeCollection(attribute)) {
// attributed is a collection, we will generate operations get, add, remove and clear
-
+
String attributeTypeSimpleNameInSet = WikittyTransformerUtil.generateResultType(attribute, true);
String getFieldMethodName = WikittyTransformerUtil.generateGetFieldAsCall(attribute);
-
+
// now, for this attribute, we will generate add, remove and clear methods
// adding operations to contract
getterName = "get" + StringUtils.capitalize(attributeName);
@@ -348,7 +350,7 @@
/*{
<%=attributeTypeSimpleNameInSet%> result = <%=helperClassName%>.<%=getterName%>(getWikitty());
return result;
-}*/;
+}*/;
setOperationBody(getter, getterBody);
String setterName = "set" + capitalizedAttributeName;
@@ -431,7 +433,7 @@
getPropertyChangeSupport().firePropertyChange(<%=fieldVariableName%>, oldValue, <%=getter.getName()%>());
}*/);
}
-
+
// save the getter name for this attribute
attributeToGetterName.put(businessEntity.getName() + "." + attributeName, getterName);
}
@@ -515,7 +517,7 @@
entitiesWithInheritedOperations.add(businessEntity);
}
}
-
+
/** add a toString method
* if a toString is tagValue is attached to businessEntity, it will be used
* to generate a toString as this :
@@ -530,7 +532,7 @@
protected void addToString(ObjectModelClass businessEntity, ObjectModelClass abstractClass) {
String toStringOperationBody = null;
-
+
if (businessEntity.hasTagValue(WikittyTransformerUtil.TAG_TO_STRING)) {
String toStringPattern = businessEntity.getTagValue(WikittyTransformerUtil.TAG_TO_STRING);
@@ -603,7 +605,7 @@
// needed below, in templates
String fieldVariableName = WikittyTransformerUtil.attributeToFielVariableName(attribute, true);
String attributeType = WikittyTransformerUtil.generateResultType(attribute, false);
-
+
String attributeName = attribute.getName();
if (attribute.hasTagValue(WikittyTransformerUtil.TAG_ALTERNATIVE_NAME)) {
// there is a conflict, purifier transformer give as the right name to use
@@ -614,11 +616,11 @@
if (WikittyTransformerUtil.isAttributeCollection(attribute)) {
// attributed is a collection, we will generate operations get, add, remove and clear
-
+
String attributeTypeSimpleNameInSet = WikittyTransformerUtil.generateResultType(attribute, true);
String getFieldMethodName = WikittyTransformerUtil.generateGetFieldAsCall(attribute);
String attributeNameCapitalized = StringUtils.capitalize(attributeName);
-
+
// now, for this attribute, we will generate add, remove and clear methods
// adding operations to contract
getterName = "get" + attributeNameCapitalized;
@@ -719,11 +721,11 @@
}
}*/;
setOperationBody(clear, clearBody);
-
-
+
+
} else {
String getFieldMethodName = WikittyTransformerUtil.generateGetFieldAsCall(attribute);
-
+
// adding getter and setter to contract
getterName = "get" + StringUtils.capitalize(attributeName);
ObjectModelOperation getter = addOperation(abstractClassForThisMetaExtension, getterName, attributeType);
@@ -738,7 +740,7 @@
}
return value;
}*/);
-
+
String setterName = "set" + StringUtils.capitalize(attributeName);
ObjectModelOperation setter = addOperation(abstractClassForThisMetaExtension, setterName, "void");
addAnnotation(abstractClassForThisMetaExtension, setter, "Override");
1
0
r1052 - trunk/wikitty-struts/src/main/resources/template/wikitty
by mfortun@users.nuiton.org 05 Jul '11
by mfortun@users.nuiton.org 05 Jul '11
05 Jul '11
Author: mfortun
Date: 2011-07-05 16:23:24 +0200 (Tue, 05 Jul 2011)
New Revision: 1052
Url: http://nuiton.org/repositories/revision/wikitty/1052
Log:
* forgotten multiple inside tag
Modified:
trunk/wikitty-struts/src/main/resources/template/wikitty/ws-selectAssociation.ftl
Modified: trunk/wikitty-struts/src/main/resources/template/wikitty/ws-selectAssociation.ftl
===================================================================
--- trunk/wikitty-struts/src/main/resources/template/wikitty/ws-selectAssociation.ftl 2011-07-05 14:13:10 UTC (rev 1051)
+++ trunk/wikitty-struts/src/main/resources/template/wikitty/ws-selectAssociation.ftl 2011-07-05 14:23:24 UTC (rev 1052)
@@ -2,7 +2,11 @@
<#include "/${parameters.templateDir}/${parameters.theme}/ws-label-commons.ftl" />
<select
<#include "/${parameters.templateDir}/${parameters.theme}/ws-commons.ftl" />
- size="${parameters.size}">
+ size="${parameters.size}"
+<#-- <#if parameters.multiple?? && parameters.multiple==true >-->
+ multiple
+<#-- </#if> -->
+ >
<#assign optionKeys = parameters.value><#t/>
<#list optionKeys as optionKey>
<option value="${optionKey.valeur}">
1
0
r1051 - trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator
by echatellier@users.nuiton.org 05 Jul '11
by echatellier@users.nuiton.org 05 Jul '11
05 Jul '11
Author: echatellier
Date: 2011-07-05 16:13:10 +0200 (Tue, 05 Jul 2011)
New Revision: 1051
Url: http://nuiton.org/repositories/revision/wikitty/1051
Log:
Fix model transformation (to generate new modele instead of java)
Modified:
trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyPurifierTransformer.java
Modified: trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyPurifierTransformer.java
===================================================================
--- trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyPurifierTransformer.java 2011-07-05 14:12:19 UTC (rev 1050)
+++ trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyPurifierTransformer.java 2011-07-05 14:13:10 UTC (rev 1051)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin, Benjamin Poussin
+ * Copyright (C) 2009 - 2011 CodeLutin, Benjamin Poussin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
@@ -25,35 +25,53 @@
package org.nuiton.wikitty.generator;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.eugene.java.ObjectModelTransformerToJava;
+import org.nuiton.eugene.GeneratorUtil;
+import org.nuiton.eugene.Template;
import org.nuiton.eugene.models.object.ObjectModel;
import org.nuiton.eugene.models.object.ObjectModelAttribute;
+import org.nuiton.eugene.models.object.ObjectModelBuilder;
import org.nuiton.eugene.models.object.ObjectModelClass;
+import org.nuiton.eugene.models.object.ObjectModelClassifier;
+import org.nuiton.eugene.models.object.ObjectModelElement;
+import org.nuiton.eugene.models.object.ObjectModelEnumeration;
+import org.nuiton.eugene.models.object.ObjectModelGenerator;
+import org.nuiton.eugene.models.object.ObjectModelInterface;
+import org.nuiton.eugene.models.object.ObjectModelModifier;
+import org.nuiton.eugene.models.object.ObjectModelOperation;
+import org.nuiton.eugene.models.object.ObjectModelParameter;
+import org.nuiton.eugene.models.object.ObjectModelTransformer;
+import org.nuiton.eugene.models.object.ObjectModelType;
/**
- * this transformer read the original user model and generate the intermediate
- * model needed by generators.
+ * This transformer read the original user model and generate the intermediate
+ * model needed by generators.
*
- *
- *
+ * Currently:
+ * - manage name collision for attributes or methods inherited from two
+ * different classes
*/
-public class WikittyPurifierTransformer extends ObjectModelTransformerToJava {
+public class WikittyPurifierTransformer extends ObjectModelTransformer<ObjectModel> {
private static final Log log =
LogFactory.getLog(WikittyPurifierTransformer.class);
/** for a given class, store all the names used by this class and subClasses */
- Map<ObjectModelClass, List<String>> namesUsedByClass = new HashMap<ObjectModelClass, List<String>>();
+ protected Map<ObjectModelClass, List<String>> namesUsedByClass = new HashMap<ObjectModelClass, List<String>>();
/** class of the original model that are already processed */
- List<ObjectModelClass> processedClasses = new ArrayList<ObjectModelClass>();
+ protected List<ObjectModelClass> processedClasses = new ArrayList<ObjectModelClass>();
+ /** Generated model builder. */
+ protected ObjectModelBuilder builder;
+
/**
* for a given, class read all attributes name and try to find conflicts
* with parent classes attributes names.
@@ -129,7 +147,7 @@
// using alternative name lead to a conflict
attributeName = null;
} else {
- addTagValue(attribute, WikittyTransformerUtil.TAG_ALTERNATIVE_NAME, attributeName);
+ builder.addTagValue(attribute, WikittyTransformerUtil.TAG_ALTERNATIVE_NAME, attributeName);
}
}
@@ -142,8 +160,17 @@
WikittyTransformerUtil.TAG_ALTERNATIVE_NAME +
"\" on this attribute");
} else {
+
+ if (isVerbose()) {
+ if (!attributeName.equals(attribute.getName())) {
+ log.info("attribute " + attribute.getName() + " purified to " + attributeName);
+ }
+ }
+
allUsedNames.add(attributeName);
}
+
+
}
// saving all names we used in current class will permit to sub classes
@@ -163,4 +190,304 @@
}
}
}
+
+ @Override
+ protected Template<ObjectModel> initOutputTemplate() {
+ return new ObjectModelGenerator();
+ }
+
+ /*
+ * @see org.nuiton.eugene.models.object.ObjectModelTransformer#debugOutputModel()
+ */
+ @Override
+ protected void debugOutputModel() {
+
+ }
+
+ /*
+ * @see org.nuiton.eugene.Transformer#initOutputModel()
+ */
+ @Override
+ protected ObjectModel initOutputModel() {
+ builder = new ObjectModelBuilder(getModel().getName());
+ ObjectModel model = builder.getModel();
+ return model;
+ }
+
+ /**
+ * creates a clone of the given {@code source} class in the output model
+ * and clones attributes, inheritance declarations and operations into the
+ * clone
+ *
+ * @param source the class to clone from the source model
+ * @param cloneDocumentation flag to add documentation if some found in model
+ * @return the clone of the given class
+ */
+ public ObjectModelClass cloneClass(ObjectModelClass source,
+ boolean cloneDocumentation) {
+ ObjectModelClass outputClass =
+ builder.createClass(source.getName(), source.getPackageName());
+
+ cloneClassifier(source, outputClass, cloneDocumentation);
+
+ for (ObjectModelClass superClass : source.getSuperclasses()) {
+ builder.addSuperclass(outputClass, superClass.getQualifiedName());
+ }
+
+ if (!CollectionUtils.isEmpty(source.getInnerClassifiers())) {
+ for (ObjectModelClassifier classifier : source.getInnerClassifiers()) {
+ ObjectModelClassifier innerClassifierClone =
+ cloneClassifier(classifier, cloneDocumentation);
+ builder.addInnerClassifier(outputClass,
+ ObjectModelType.OBJECT_MODEL_CLASSIFIER,
+ innerClassifierClone.getName());
+ }
+ }
+ return outputClass;
+ }
+
+ /**
+ * creates a clone of the given {@code source} classifier in the output
+ * model and clones attributes, inheritance declaration and operations
+ *
+ * class-specific, enumeration-specific and interface-specific features
+ * of the given classifier <strong>will</strong> be present in the clone
+ *
+ * @param source the classifier to clone from the source model
+ * @param cloneDocumentation flag to add documentation if some found in model
+ * @return the clone of the given classifier
+ */
+ public ObjectModelClassifier cloneClassifier(ObjectModelClassifier source,
+ boolean cloneDocumentation) {
+ ObjectModelClassifier clone = null;
+ if (source.isInterface()) {
+ clone = cloneInterface((ObjectModelInterface) source, cloneDocumentation);
+ } else if (source.isClass()) {
+ clone = cloneClass((ObjectModelClass) source, cloneDocumentation);
+ } else if (source.isEnum()) {
+ clone = cloneEnumeration((ObjectModelEnumeration) source, cloneDocumentation);
+ } else {
+ // should never occur
+ log.error("strange classifier " + source);
+ }
+ return clone;
+ }
+
+ /**
+ * creates a clone of the given {@code source} interface in the output model
+ * and clones attributes, inheritance declaration and operations into the
+ * clone
+ *
+ * @param source the interface to clone from the source model
+ * @param cloneDocumentation flag to add documentation if some found in model
+ * @return the clone of the given interface
+ */
+ public ObjectModelInterface cloneInterface(ObjectModelInterface source,
+ boolean cloneDocumentation) {
+ ObjectModelInterface outputInterface =
+ builder.createInterface(source.getName(), source.getPackageName());
+
+ cloneClassifier(source, outputInterface, cloneDocumentation);
+ // nothing more to do. copyClassifier already done the job
+
+ return outputInterface;
+ }
+
+ /**
+ * creates a clone of the given {@code source} enumeration in the output
+ * model and clones attributes, inheritance declaration, operations and
+ * literals into the clone
+ *
+ * @param source the enumeration to clone from the source model
+ * @param cloneDocumentation flag to add documentation if some found in model
+ * @return the clone of the given enumeration
+ */
+ public ObjectModelEnumeration cloneEnumeration(ObjectModelEnumeration source,
+ boolean cloneDocumentation) {
+ ObjectModelEnumeration outputEnumeration =
+ builder.createEnumeration(source.getName(), source.getPackageName());
+
+ cloneClassifier(source, outputEnumeration, cloneDocumentation);
+
+ for (String literal : source.getLiterals()) {
+ builder.addLiteral(outputEnumeration, literal);
+ }
+
+ return outputEnumeration;
+ }
+
+ /**
+ * copy attributes, interfaces declaration and operation of a given classifier
+ * into another classifier.
+ *
+ * class-specific, enumeration-specific and interface-specific features
+ * of the given classifier <strong>will not</strong> be present in the clone.
+ * To copy those specific elements, use {@link #cloneClassifier(ObjectModelClassifier, boolean)}
+ *
+ * @param source the classifier to clone from the source model
+ * @param destination where to clone the given source one
+ * @param copyDocumentation flag to add documentation if some found in model
+ */
+ protected void cloneClassifier(ObjectModelClassifier source,
+ ObjectModelClassifier destination,
+ boolean copyDocumentation) {
+
+ cloneTagValues(source, destination);
+
+ cloneStereotypes(source, destination);
+
+ for (ObjectModelAttribute attribute : source.getAttributes()) {
+ cloneAttribute(attribute, destination, copyDocumentation);
+ }
+
+ for (ObjectModelInterface interfacez : source.getInterfaces()) {
+ builder.addInterface(destination, interfacez.getQualifiedName());
+ }
+
+ for (ObjectModelOperation operation : source.getOperations()) {
+ cloneOperation(operation, destination, copyDocumentation);
+ }
+ }
+
+ /**
+ * Clone the {@code source} operation into the {@code destination} classifier.
+ * whole signature, tagValues and body code will be cloned. You can specify
+ * {@code modifiers} for the result operation.
+ *
+ * @param source operation to clone
+ * @param destination classifier where result operation will be added
+ * @param cloneDocumentation flag to add documentation if some found in model
+ * @param modifiers extra modifiers
+ * @return the new operation created in destination classifier
+ */
+ public ObjectModelOperation cloneOperation(ObjectModelOperation source,
+ ObjectModelClassifier destination,
+ boolean cloneDocumentation,
+ ObjectModelModifier... modifiers) {
+ ObjectModelOperation outputOperation = cloneOperationSignature(
+ source,
+ destination,
+ cloneDocumentation,
+ modifiers
+ );
+
+ // add body only if operation is not abstract
+ boolean opAbstract = false;
+ for (ObjectModelModifier modifier : modifiers) {
+ if (modifier == ObjectModelModifier.ABSTRACT) {
+ opAbstract = true;
+ break;
+ }
+ }
+ if (!opAbstract) {
+ builder.setOperationBody(outputOperation, source.getBodyCode());
+ }
+ return outputOperation;
+ }
+
+ /**
+ * Copy all tag values for the given {@code source} to the given
+ * {@code destination}.
+ *
+ * @param source the source element
+ * @param destination the destination element
+ */
+ protected void cloneTagValues(ObjectModelElement source,
+ ObjectModelElement destination) {
+ Map<String, String> tags = source.getTagValues();
+ for (Map.Entry<String, String> entry : tags.entrySet()) {
+ builder.addTagValue(destination,entry.getKey(),entry.getValue());
+ }
+ }
+
+ /**
+ *
+ * @param source
+ * @param destination
+ */
+ protected void cloneStereotypes(ObjectModelClassifier source,
+ ObjectModelClassifier destination) {
+
+ Collection<String> stereotypes = source.getStereotypes();
+ for (String stereotype : stereotypes) {
+ builder.addStereotype(destination,stereotype);
+ }
+ }
+
+ /**
+ * Clone the {@code source} operation into the {@code destination} classifier.
+ * name, returnType, parameters, exceptions and tagValues will be cloned.
+ * You can specify {@code modifiers} for the result operation.
+ *
+ * @param source operation to clone
+ * @param destination classifier where result operation will be added
+ * @param cloneDocumentation flag to add documentation if some found in model
+ * @param modifiers extra modifiers
+ * @return the new operation created in destination classifier
+ */
+ public ObjectModelOperation cloneOperationSignature(ObjectModelOperation source,
+ ObjectModelClassifier destination,
+ boolean cloneDocumentation,
+ ObjectModelModifier... modifiers) {
+
+ ObjectModelOperation outputOperation =
+ builder.addOperation(destination, source.getName(), source.getReturnType(), modifiers);
+
+ if (cloneDocumentation && GeneratorUtil.hasDocumentation(source)) {
+ builder.setDocumentation(outputOperation, source.getDocumentation());
+ }
+
+ for (ObjectModelParameter parameter : source.getParameters()) {
+
+ ObjectModelParameter outputParam =
+ builder.addParameter(outputOperation, parameter.getType(), parameter.getName());
+
+ if (cloneDocumentation && GeneratorUtil.hasDocumentation(parameter)) {
+ builder.setDocumentation(outputParam, parameter.getDocumentation());
+ }
+ }
+
+ for (String exception : source.getExceptions()) {
+ builder.addException(outputOperation, exception);
+ }
+
+ cloneTagValues(source, outputOperation);
+
+ return outputOperation;
+ }
+
+ /**
+ * clone a given attribute into a classifier of the output model
+ *
+ * @param source the original attribute
+ * @param destination classifier where the clone will be added
+ * @param cloneDocumentation flag to add documentation if some found in model
+ * @param modifiers extra modifiers
+ * @return the clone attribute
+ */
+ protected ObjectModelAttribute cloneAttribute(ObjectModelAttribute source,
+ ObjectModelClassifier destination,
+ boolean cloneDocumentation,
+ ObjectModelModifier... modifiers) {
+
+ ObjectModelAttribute outputAttribute = builder.addAttribute(destination,
+ source.getName(), source.getType(),
+ source.getDefaultValue(), modifiers);
+
+ cloneTagValues(source, outputAttribute);
+
+ if (cloneDocumentation) {
+ builder.setDocumentation(outputAttribute, source.getDocumentation());
+ }
+
+ for (String comment : source.getComments()) {
+ builder.addComment(outputAttribute, comment);
+ }
+
+ builder.setMinMultiplicity(outputAttribute, source.getMinMultiplicity());
+ builder.setMaxMultiplicity(outputAttribute, source.getMaxMultiplicity());
+ builder.setNavigable(outputAttribute,source.isNavigable());
+
+ return outputAttribute;
+ }
}
2
1