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
- 1653 discussions
r1066 - trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro
by mfortun@users.nuiton.org 07 Jul '11
by mfortun@users.nuiton.org 07 Jul '11
07 Jul '11
Author: mfortun
Date: 2011-07-07 11:04:00 +0200 (Thu, 07 Jul 2011)
New Revision: 1066
Url: http://nuiton.org/repositories/revision/wikitty/1066
Log:
* new abstraction needed because some method will be shared by externalize and synchronisation like check constraints on wikitty
Added:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/AbstractWikittyFileService.java
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystem.java
Added: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/AbstractWikittyFileService.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/AbstractWikittyFileService.java (rev 0)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/AbstractWikittyFileService.java 2011-07-07 09:04:00 UTC (rev 1066)
@@ -0,0 +1,423 @@
+package org.nuiton.wikitty.publication.synchro;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import org.nuiton.wikitty.WikittyException;
+import org.nuiton.wikitty.WikittyService;
+import org.nuiton.wikitty.WikittyUtil;
+import org.nuiton.wikitty.entities.FieldType;
+import org.nuiton.wikitty.entities.FieldType.TYPE;
+import org.nuiton.wikitty.entities.Wikitty;
+import org.nuiton.wikitty.search.Criteria;
+import org.nuiton.wikitty.search.PagedResult;
+import org.nuiton.wikitty.search.operators.And;
+import org.nuiton.wikitty.search.operators.AssociatedRestriction;
+import org.nuiton.wikitty.search.operators.Between;
+import org.nuiton.wikitty.search.operators.BinaryOperator;
+import org.nuiton.wikitty.search.operators.Contains;
+import org.nuiton.wikitty.search.operators.Element;
+import org.nuiton.wikitty.search.operators.False;
+import org.nuiton.wikitty.search.operators.In;
+import org.nuiton.wikitty.search.operators.Keyword;
+import org.nuiton.wikitty.search.operators.Not;
+import org.nuiton.wikitty.search.operators.Null;
+import org.nuiton.wikitty.search.operators.Or;
+import org.nuiton.wikitty.search.operators.Restriction;
+import org.nuiton.wikitty.search.operators.RestrictionName;
+import org.nuiton.wikitty.search.operators.True;
+
+public abstract class AbstractWikittyFileService implements WikittyService{
+
+ public AbstractWikittyFileService() {
+ super();
+ }
+
+ /**
+ * Write by jcouteau, used to check if a wikitty check a restriction
+ *
+ * @see org.nuiton.wikitty.storage.WikittySearchEngineInMemory#checkRestriction
+ *
+ * @param restriction
+ * the restriction
+ * @param w
+ * the wikitty to check
+ * @return if the wikitty check the restriction
+ */
+ public boolean checkRestriction(Restriction restriction, Wikitty w) {
+
+
+ if (restriction instanceof BinaryOperator) {
+ BinaryOperator binOp = (BinaryOperator) restriction;
+
+ String fqfieldName = binOp.getElement().getName();
+
+ // Checks on extensions
+ if (Element.ELT_EXTENSION.equals(fqfieldName)) {
+ boolean checked = false;
+
+ switch (restriction.getName()) {
+ case NOT_EQUALS:
+ checked = !w.getExtensionNames().contains(binOp.getValue());
+ break;
+ case EQUALS:
+ checked = w.getExtensionNames().contains(binOp.getValue());
+ break;
+ }
+
+ return checked;
+
+ // Checks on id
+ } else if (Element.ELT_ID.equals(fqfieldName)) {
+
+ boolean checked = false;
+
+ switch (restriction.getName()) {
+ case NOT_EQUALS:
+ checked = !w.getId().equals(binOp.getValue());
+ break;
+ case EQUALS:
+ checked = w.getId().equals(binOp.getValue());
+ break;
+ }
+
+ return checked;
+ }
+
+ // si les wikitty n'ont meme pas l'extension concerné
+ // Le check restriction, ne doit pas tester les champs
+ // si les wikitty n'ont meme pas l'extension concerné
+ String[] extName = fqfieldName.split("\\.");
+ if (!w.hasField(extName[0], extName[1])) {
+
+ // return true in case of not equals
+ if (RestrictionName.NOT_EQUALS == restriction.getName()) {
+ return true;
+ }
+
+ return false;
+ }
+ // recupere la valeur dans le wikitty
+ Object o = w.getFqField(fqfieldName);
+
+ // recupere le type de la valeur
+ FieldType t = w.getFieldType(fqfieldName);
+ // convertie la valeur a verifier dans le meme type que la valeur
+ // du wikitty
+ Object value = binOp.getValue();
+ if (!(value instanceof Collection) && t.isCollection()) {
+ // on doit encapsuler dans une collection, car la creation
+ // de la requete ajoute autant de v == o && ... que de valeurs
+ // dans la collection (champs multi-value solr). Mais
+ // dans le inmemory on doit retrouve des collections et non pas
+ // des objets seuls :(
+ value = Collections.singleton(value);
+ }
+ value = t.getValidValue(value);
+
+ boolean checked = false;
+
+ switch (restriction.getName()) {
+ case EQUALS:
+
+ if (value instanceof String && o instanceof String) {
+ String pattern = (String) value;
+ pattern = pattern.replace("*", "\\p{ASCII}*");
+ pattern = pattern.replace("?", "\\p{ASCII}");
+
+ Pattern p = Pattern.compile(pattern);
+ Matcher m = p.matcher((String) o);
+ checked = m.matches();
+ } else {
+ checked = value.equals(o);
+ }
+ break;
+ case LESS:
+ checked = ((Comparable) o).compareTo(value) < 0;
+ break;
+ case LESS_OR_EQUAL:
+ checked = ((Comparable) o).compareTo(value) <= 0;
+ break;
+ case GREATER:
+ checked = ((Comparable) o).compareTo(value) > 0;
+ break;
+ case GREATER_OR_EQUAL:
+ checked = ((Comparable) o).compareTo(value) >= 0;
+ break;
+ case NOT_EQUALS:
+ checked = !value.equals(o);
+ break;
+ case ENDS_WITH:
+ if (t.getType() != TYPE.STRING) {
+ throw new WikittyException(
+ "Can't search for contents that 'ends with' on attribute type different of String. "
+ + "Attribute "
+ + fqfieldName
+ + " is "
+ + t.getType().name());
+ }
+ checked = ((String) o).endsWith((String) value);
+ break;
+ case STARTS_WITH:
+ if (t.getType() != TYPE.STRING) {
+ throw new WikittyException(
+ "Can't search for contents that 'starts with' on attribute type different of String. "
+ + "Attribute "
+ + fqfieldName
+ + " is "
+ + t.getType().name());
+ }
+
+ // FIXME mfortun-2011-04-20 rustine pour champs multivalué de
+ // type string
+ // et restriction startwith dessus. ça marche mais faudrait
+ // quelque chose de plus
+ // propre, et surtout généraliser pour toutes les restrictions
+
+ if (o instanceof Collection<?>
+ && value instanceof Collection<?>) {
+
+ for (Object val : (Collection) value) {
+
+ String valu = (String) val;
+
+ for (Object oo : (Collection) o) {
+ String cotainedO = (String) oo;
+ if (cotainedO != null) {
+ checked = checked || cotainedO.startsWith(valu);
+ }
+ }
+
+ }
+
+ } else {
+
+ checked = ((String) o).startsWith((String) value);
+ }
+ break;
+ }
+ return checked;
+ } else if (restriction instanceof Null) {
+ Null nullRes = (Null) restriction;
+
+ String fqfieldName = nullRes.getFieldName();
+
+ // check my wikitty got the right extension before doing anything.
+ String[] extName = fqfieldName.split("\\.");
+ if (!w.hasField(extName[0], extName[1])) {
+ return false;
+ }
+ // get the value in the wikitty
+ Object o = w.getFqField(fqfieldName);
+
+ // No null on extensions, always return false
+ if (fqfieldName.equals(Element.ELT_EXTENSION)) {
+ return false;
+ }
+
+ // No null on ids, always return false
+ if (fqfieldName.equals(Element.ELT_ID)) {
+ return false;
+ }
+
+ boolean checked = false;
+
+ switch (nullRes.getName()) {
+ case IS_NULL:
+ checked = (o == null);
+ break;
+ case IS_NOT_NULL:
+ checked = (o != null);
+ break;
+ }
+
+ return checked;
+
+ } else if (restriction instanceof In) {
+ In in = (In) restriction;
+ String fqfieldName = in.getElement().getName();
+ String testedValue = String.valueOf(w.getFqField(fqfieldName));
+ for (String value : in.getValue()) {
+ if (testedValue.equals(value)) {
+ return true;
+ }
+ }
+
+ return false;
+
+ } else if (restriction instanceof True) {
+ return true;
+ } else if (restriction instanceof False) {
+ return false;
+ } else if (restriction instanceof Contains) {
+ Contains contains = (Contains) restriction;
+
+ String fqfieldName = contains.getElement().getName();
+ List<String> values = contains.getValue();
+
+ String extension = WikittyUtil
+ .getExtensionNameFromFQFieldName(fqfieldName);
+ String fieldName = WikittyUtil
+ .getFieldNameFromFQFieldName(fqfieldName);
+
+ if (!w.hasField(extension, fieldName)) {
+ return false;
+ }
+
+ // Get field as string and then split it to take into account not
+ // multivalued fields.
+ String testedValuesAsString = w.getFieldAsString(extension,
+ fieldName);
+
+ if ('[' == testedValuesAsString.charAt(0)) {
+ testedValuesAsString = testedValuesAsString.substring(1,
+ testedValuesAsString.length());
+ }
+
+ List<String> testedValues = Arrays.asList(testedValuesAsString
+ .split(","));
+
+ for (Object value : values) {
+ if (!testedValues.contains(String.valueOf(value))) {
+ return false;
+ }
+ }
+
+ return true;
+
+ } else if (restriction instanceof And) {
+ And and = (And) restriction;
+ for (Restriction sub : and.getRestrictions()) {
+ if (!checkRestriction(sub, w)) {
+ return false;
+ }
+ }
+ return true;
+ } else if (restriction instanceof Or) {
+ Or or = (Or) restriction;
+ for (Restriction sub : or.getRestrictions()) {
+ if (checkRestriction(sub, w)) {
+ return true;
+ }
+ }
+ return false;
+ } else if (restriction instanceof Keyword) {
+ Keyword keyword = (Keyword) restriction;
+
+ String value = keyword.getValue();
+
+ //TODO mfortun-2011-07-06 hack to ensure that * is intepreted as
+ // the real meaning aka any
+ if (value.equals("*")){
+ return true;
+ }
+
+ for (String fieldName : w.getAllFieldNames()) {
+ String testedValue = String.valueOf(w.getFqField(fieldName));
+ if (testedValue.contains(value)) {
+ return true;
+ }
+ }
+ return false;
+ } else if (restriction instanceof Not) {
+ Not or = (Not) restriction;
+ Restriction sub = or.getRestriction();
+ return !checkRestriction(sub, w);
+ } else if (restriction instanceof AssociatedRestriction) {
+
+ AssociatedRestriction ass = (AssociatedRestriction) restriction;
+
+ String fqfieldName = ass.getElement().getName();
+
+ // check my wikitty got the right extension before doing anything.
+ String[] extName = fqfieldName.split("\\.");
+ if (!w.hasField(extName[0], extName[1])) {
+ return false;
+ }
+ // get the value in the wikitty, it is a wikitty's id
+ Object o = w.getFqField(fqfieldName);
+
+ // Get sub-restriction
+ Restriction sub = ass.getRestriction();
+
+ Criteria associatedSearch = new Criteria();
+ associatedSearch.setRestriction(sub);
+
+ // find everything that validate the sub-restriction
+
+ List<Criteria> dummyList = new ArrayList<Criteria>();
+ dummyList.add(associatedSearch);
+ // same as proxy for "fix" unique param to list param
+ PagedResult<String> associatedResult = findAllByCriteria("",
+ dummyList).get(0);
+
+ List<String> associatedList = associatedResult.getAll();
+
+ // Check that my field is contained in the sub-restriction results.
+ return associatedList.contains(String.valueOf(o));
+ } else if (restriction instanceof Between) {
+
+ Between op = (Between) restriction;
+
+ Object max = op.getMax();
+ Object min = op.getMin();
+
+ // No between on extensions, always return false
+ if (op.getElement().getName().equals(Element.ELT_EXTENSION)) {
+ return false;
+ }
+
+ // No between on ids, always return false
+ if (op.getElement().getName().equals(Element.ELT_ID)) {
+ return false;
+ }
+
+ String fqfieldName = op.getElement().getName();
+
+ // si les wikitty n'ont meme pas l'extension concerné
+ // Le check restriction, ne doit pas tester les champs
+ // si les wikitty n'ont meme pas l'extension concerné
+ String[] extName = fqfieldName.split("\\.");
+ if (!w.hasField(extName[0], extName[1])) {
+ return false;
+ }
+
+ // recupere la valeur dans le wikitty
+ Object o = w.getFqField(fqfieldName);
+
+ // recupere le type de la valeur
+ FieldType t = w.getFieldType(fqfieldName);
+
+ if (!(min instanceof Collection) && t.isCollection()) {
+ // on doit encapsuler dans une collection, car la creation
+ // de la requete ajoute autant de v == o && ... que de valeurs
+ // dans la collection (champs multi-value solr). Mais
+ // dans le inmemory on doit retrouve des collections et non pas
+ // des objets seuls :(
+ min = Collections.singleton(min);
+ }
+ min = t.getValidValue(min);
+
+ if (!(max instanceof Collection) && t.isCollection()) {
+ // on doit encapsuler dans une collection, car la creation
+ // de la requete ajoute autant de v == o && ... que de valeurs
+ // dans la collection (champs multi-value solr). Mais
+ // dans le inmemory on doit retrouve des collections et non pas
+ // des objets seuls :(
+ max = Collections.singleton(max);
+ }
+ max = t.getValidValue(max);
+
+ return ((Comparable) o).compareTo(min) >= 0
+ && ((Comparable) o).compareTo(max) <= 0;
+ } else {
+ throw new UnsupportedOperationException(restriction.getName()
+ + " Search Not yet implemented");
+ }
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/AbstractWikittyFileService.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystem.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystem.java 2011-07-06 15:28:09 UTC (rev 1065)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystem.java 2011-07-07 09:04:00 UTC (rev 1066)
@@ -32,9 +32,7 @@
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
@@ -42,8 +40,6 @@
import java.util.Properties;
import java.util.Set;
import java.util.Map.Entry;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
import org.apache.commons.collections.BidiMap;
import org.apache.commons.collections.bidimap.DualHashBidiMap;
import org.apache.commons.logging.Log;
@@ -54,16 +50,12 @@
import org.nuiton.util.MD5InputStream;
import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.WikittyConfigOption;
-import org.nuiton.wikitty.WikittyException;
-import org.nuiton.wikitty.WikittyService;
import org.nuiton.wikitty.WikittyUtil;
-import org.nuiton.wikitty.entities.FieldType;
import org.nuiton.wikitty.entities.Wikitty;
import org.nuiton.wikitty.entities.WikittyExtension;
import org.nuiton.wikitty.entities.WikittyImpl;
import org.nuiton.wikitty.entities.WikittyLabelHelper;
import org.nuiton.wikitty.entities.WikittyLabelImpl;
-import org.nuiton.wikitty.entities.FieldType.TYPE;
import org.nuiton.wikitty.publication.entities.WikittyPubData;
import org.nuiton.wikitty.publication.entities.WikittyPubDataHelper;
import org.nuiton.wikitty.publication.entities.WikittyPubDataImpl;
@@ -73,28 +65,14 @@
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.search.PagedResult;
import org.nuiton.wikitty.search.TreeNodeResult;
-import org.nuiton.wikitty.search.operators.And;
-import org.nuiton.wikitty.search.operators.AssociatedRestriction;
-import org.nuiton.wikitty.search.operators.Between;
-import org.nuiton.wikitty.search.operators.BinaryOperator;
-import org.nuiton.wikitty.search.operators.Contains;
-import org.nuiton.wikitty.search.operators.Element;
-import org.nuiton.wikitty.search.operators.False;
-import org.nuiton.wikitty.search.operators.In;
-import org.nuiton.wikitty.search.operators.Keyword;
-import org.nuiton.wikitty.search.operators.Not;
-import org.nuiton.wikitty.search.operators.Null;
-import org.nuiton.wikitty.search.operators.Or;
import org.nuiton.wikitty.search.operators.Restriction;
-import org.nuiton.wikitty.search.operators.RestrictionName;
-import org.nuiton.wikitty.search.operators.True;
import org.nuiton.wikitty.services.WikittyEvent;
import org.nuiton.wikitty.services.WikittyListener;
-public class WikittyPublicationFileSystem implements WikittyService {
+public class WikittyPublicationFileSystem extends AbstractWikittyFileService {
/** to use log facility, just put in your code: log.info(\"...\"); */
- final static private Log log = LogFactory
+ final static Log log = LogFactory
.getLog(WikittyPublicationFileSystem.class);
static public String WIKITTYLABEL_SEPARATOR = ".";
@@ -679,389 +657,6 @@
return result;
}
- /**
- * Write by jcouteau, used to check if a wikitty check a restriction
- *
- * @see org.nuiton.wikitty.storage.WikittySearchEngineInMemory#checkRestriction
- *
- * @param restriction
- * the restriction
- * @param w
- * the wikitty to check
- * @return if the wikitty check the restriction
- */
- public boolean checkRestriction(Restriction restriction, Wikitty w) {
- log.debug("Check restriction for : "+ w + " restriction: " + restriction);
-
- if (restriction instanceof BinaryOperator) {
- BinaryOperator binOp = (BinaryOperator) restriction;
-
- String fqfieldName = binOp.getElement().getName();
-
- // Checks on extensions
- if (Element.ELT_EXTENSION.equals(fqfieldName)) {
- boolean checked = false;
-
- switch (restriction.getName()) {
- case NOT_EQUALS:
- checked = !w.getExtensionNames().contains(binOp.getValue());
- break;
- case EQUALS:
- checked = w.getExtensionNames().contains(binOp.getValue());
- break;
- }
-
- return checked;
-
- // Checks on id
- } else if (Element.ELT_ID.equals(fqfieldName)) {
-
- boolean checked = false;
-
- switch (restriction.getName()) {
- case NOT_EQUALS:
- checked = !w.getId().equals(binOp.getValue());
- break;
- case EQUALS:
- checked = w.getId().equals(binOp.getValue());
- break;
- }
-
- return checked;
- }
-
- // si les wikitty n'ont meme pas l'extension concerné
- // Le check restriction, ne doit pas tester les champs
- // si les wikitty n'ont meme pas l'extension concerné
- String[] extName = fqfieldName.split("\\.");
- if (!w.hasField(extName[0], extName[1])) {
-
- // return true in case of not equals
- if (RestrictionName.NOT_EQUALS == restriction.getName()) {
- return true;
- }
-
- return false;
- }
- // recupere la valeur dans le wikitty
- Object o = w.getFqField(fqfieldName);
-
- // recupere le type de la valeur
- FieldType t = w.getFieldType(fqfieldName);
- // convertie la valeur a verifier dans le meme type que la valeur
- // du wikitty
- Object value = binOp.getValue();
- if (!(value instanceof Collection) && t.isCollection()) {
- // on doit encapsuler dans une collection, car la creation
- // de la requete ajoute autant de v == o && ... que de valeurs
- // dans la collection (champs multi-value solr). Mais
- // dans le inmemory on doit retrouve des collections et non pas
- // des objets seuls :(
- value = Collections.singleton(value);
- }
- value = t.getValidValue(value);
-
- boolean checked = false;
-
- switch (restriction.getName()) {
- case EQUALS:
-
- if (value instanceof String && o instanceof String) {
- String pattern = (String) value;
- pattern = pattern.replace("*", "\\p{ASCII}*");
- pattern = pattern.replace("?", "\\p{ASCII}");
-
- Pattern p = Pattern.compile(pattern);
- Matcher m = p.matcher((String) o);
- checked = m.matches();
- } else {
- checked = value.equals(o);
- }
- break;
- case LESS:
- checked = ((Comparable) o).compareTo(value) < 0;
- break;
- case LESS_OR_EQUAL:
- checked = ((Comparable) o).compareTo(value) <= 0;
- break;
- case GREATER:
- checked = ((Comparable) o).compareTo(value) > 0;
- break;
- case GREATER_OR_EQUAL:
- checked = ((Comparable) o).compareTo(value) >= 0;
- break;
- case NOT_EQUALS:
- checked = !value.equals(o);
- break;
- case ENDS_WITH:
- if (t.getType() != TYPE.STRING) {
- throw new WikittyException(
- "Can't search for contents that 'ends with' on attribute type different of String. "
- + "Attribute "
- + fqfieldName
- + " is "
- + t.getType().name());
- }
- checked = ((String) o).endsWith((String) value);
- break;
- case STARTS_WITH:
- if (t.getType() != TYPE.STRING) {
- throw new WikittyException(
- "Can't search for contents that 'starts with' on attribute type different of String. "
- + "Attribute "
- + fqfieldName
- + " is "
- + t.getType().name());
- }
-
- // FIXME mfortun-2011-04-20 rustine pour champs multivalué de
- // type string
- // et restriction startwith dessus. ça marche mais faudrait
- // quelque chose de plus
- // propre, et surtout généraliser pour toutes les restrictions
-
- if (o instanceof Collection<?>
- && value instanceof Collection<?>) {
-
- for (Object val : (Collection) value) {
-
- String valu = (String) val;
-
- for (Object oo : (Collection) o) {
- String cotainedO = (String) oo;
- if (cotainedO != null) {
- checked = checked || cotainedO.startsWith(valu);
- }
- }
-
- }
-
- } else {
-
- checked = ((String) o).startsWith((String) value);
- }
- break;
- }
- return checked;
- } else if (restriction instanceof Null) {
- Null nullRes = (Null) restriction;
-
- String fqfieldName = nullRes.getFieldName();
-
- // check my wikitty got the right extension before doing anything.
- String[] extName = fqfieldName.split("\\.");
- if (!w.hasField(extName[0], extName[1])) {
- return false;
- }
- // get the value in the wikitty
- Object o = w.getFqField(fqfieldName);
-
- // No null on extensions, always return false
- if (fqfieldName.equals(Element.ELT_EXTENSION)) {
- return false;
- }
-
- // No null on ids, always return false
- if (fqfieldName.equals(Element.ELT_ID)) {
- return false;
- }
-
- boolean checked = false;
-
- switch (nullRes.getName()) {
- case IS_NULL:
- checked = (o == null);
- break;
- case IS_NOT_NULL:
- checked = (o != null);
- break;
- }
-
- return checked;
-
- } else if (restriction instanceof In) {
- In in = (In) restriction;
- String fqfieldName = in.getElement().getName();
- String testedValue = String.valueOf(w.getFqField(fqfieldName));
- for (String value : in.getValue()) {
- if (testedValue.equals(value)) {
- return true;
- }
- }
-
- return false;
-
- } else if (restriction instanceof True) {
- return true;
- } else if (restriction instanceof False) {
- return false;
- } else if (restriction instanceof Contains) {
- Contains contains = (Contains) restriction;
-
- String fqfieldName = contains.getElement().getName();
- List<String> values = contains.getValue();
-
- String extension = WikittyUtil
- .getExtensionNameFromFQFieldName(fqfieldName);
- String fieldName = WikittyUtil
- .getFieldNameFromFQFieldName(fqfieldName);
-
- if (!w.hasField(extension, fieldName)) {
- return false;
- }
-
- // Get field as string and then split it to take into account not
- // multivalued fields.
- String testedValuesAsString = w.getFieldAsString(extension,
- fieldName);
-
- if ('[' == testedValuesAsString.charAt(0)) {
- testedValuesAsString = testedValuesAsString.substring(1,
- testedValuesAsString.length());
- }
-
- List<String> testedValues = Arrays.asList(testedValuesAsString
- .split(","));
-
- for (Object value : values) {
- if (!testedValues.contains(String.valueOf(value))) {
- return false;
- }
- }
-
- return true;
-
- } else if (restriction instanceof And) {
- And and = (And) restriction;
- for (Restriction sub : and.getRestrictions()) {
- if (!checkRestriction(sub, w)) {
- return false;
- }
- }
- return true;
- } else if (restriction instanceof Or) {
- Or or = (Or) restriction;
- for (Restriction sub : or.getRestrictions()) {
- if (checkRestriction(sub, w)) {
- return true;
- }
- }
- return false;
- } else if (restriction instanceof Keyword) {
- Keyword keyword = (Keyword) restriction;
-
- String value = keyword.getValue();
-
- //TODO mfortun-2011-07-06 hack to ensure that * is intepreted as
- // the real meaning aka any
- if (value.equals("*")){
- return true;
- }
-
- for (String fieldName : w.getAllFieldNames()) {
- String testedValue = String.valueOf(w.getFqField(fieldName));
- if (testedValue.contains(value)) {
- return true;
- }
- }
- return false;
- } else if (restriction instanceof Not) {
- Not or = (Not) restriction;
- Restriction sub = or.getRestriction();
- return !checkRestriction(sub, w);
- } else if (restriction instanceof AssociatedRestriction) {
-
- AssociatedRestriction ass = (AssociatedRestriction) restriction;
-
- String fqfieldName = ass.getElement().getName();
-
- // check my wikitty got the right extension before doing anything.
- String[] extName = fqfieldName.split("\\.");
- if (!w.hasField(extName[0], extName[1])) {
- return false;
- }
- // get the value in the wikitty, it is a wikitty's id
- Object o = w.getFqField(fqfieldName);
-
- // Get sub-restriction
- Restriction sub = ass.getRestriction();
-
- Criteria associatedSearch = new Criteria();
- associatedSearch.setRestriction(sub);
-
- // find everything that validate the sub-restriction
-
- List<Criteria> dummyList = new ArrayList<Criteria>();
- dummyList.add(associatedSearch);
- // same as proxy for "fix" unique param to list param
- PagedResult<String> associatedResult = findAllByCriteria("",
- dummyList).get(0);
-
- List<String> associatedList = associatedResult.getAll();
-
- // Check that my field is contained in the sub-restriction results.
- return associatedList.contains(String.valueOf(o));
- } else if (restriction instanceof Between) {
-
- Between op = (Between) restriction;
-
- Object max = op.getMax();
- Object min = op.getMin();
-
- // No between on extensions, always return false
- if (op.getElement().getName().equals(Element.ELT_EXTENSION)) {
- return false;
- }
-
- // No between on ids, always return false
- if (op.getElement().getName().equals(Element.ELT_ID)) {
- return false;
- }
-
- String fqfieldName = op.getElement().getName();
-
- // si les wikitty n'ont meme pas l'extension concerné
- // Le check restriction, ne doit pas tester les champs
- // si les wikitty n'ont meme pas l'extension concerné
- String[] extName = fqfieldName.split("\\.");
- if (!w.hasField(extName[0], extName[1])) {
- return false;
- }
-
- // recupere la valeur dans le wikitty
- Object o = w.getFqField(fqfieldName);
-
- // recupere le type de la valeur
- FieldType t = w.getFieldType(fqfieldName);
-
- if (!(min instanceof Collection) && t.isCollection()) {
- // on doit encapsuler dans une collection, car la creation
- // de la requete ajoute autant de v == o && ... que de valeurs
- // dans la collection (champs multi-value solr). Mais
- // dans le inmemory on doit retrouve des collections et non pas
- // des objets seuls :(
- min = Collections.singleton(min);
- }
- min = t.getValidValue(min);
-
- if (!(max instanceof Collection) && t.isCollection()) {
- // on doit encapsuler dans une collection, car la creation
- // de la requete ajoute autant de v == o && ... que de valeurs
- // dans la collection (champs multi-value solr). Mais
- // dans le inmemory on doit retrouve des collections et non pas
- // des objets seuls :(
- max = Collections.singleton(max);
- }
- max = t.getValidValue(max);
-
- return ((Comparable) o).compareTo(min) >= 0
- && ((Comparable) o).compareTo(max) <= 0;
- } else {
- throw new UnsupportedOperationException(restriction.getName()
- + " Search Not yet implemented");
- }
- }
-
@Override
public List<PagedResult<String>> findAllByCriteria(String securityToken,
List<Criteria> criteria) {
1
0
r1065 - in trunk: wikitty-api/src/test/java/org/nuiton/wikitty/entities wikitty-generators/src/main/java/org/nuiton/wikitty/generator
by echatellier@users.nuiton.org 06 Jul '11
by echatellier@users.nuiton.org 06 Jul '11
06 Jul '11
Author: echatellier
Date: 2011-07-06 17:28:09 +0200 (Wed, 06 Jul 2011)
New Revision: 1065
Url: http://nuiton.org/repositories/revision/wikitty/1065
Log:
Fix tests (readd wikitty purifier)
Modified:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyGenerationTest.java
trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyMetaTransformer.java
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyGenerationTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyGenerationTest.java 2011-07-06 14:38:05 UTC (rev 1064)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyGenerationTest.java 2011-07-06 15:28:09 UTC (rev 1065)
@@ -25,8 +25,6 @@
package org.nuiton.wikitty.entities;
-import junit.framework.Assert;
-
import org.junit.Ignore;
import org.junit.Test;
Modified: trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyMetaTransformer.java
===================================================================
--- trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyMetaTransformer.java 2011-07-06 14:38:05 UTC (rev 1064)
+++ trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyMetaTransformer.java 2011-07-06 15:28:09 UTC (rev 1065)
@@ -67,7 +67,7 @@
//FIXME tchemit 2010-11-28 : still does not work with superclass inheritance, will not generate operation in Abstract classes
-// setTransformerTypes(WikittyPurifierTransformer.class);
+ setTransformerTypes(WikittyPurifierTransformer.class);
setTemplateTypes(
WikittyContractGenerator.class,
WikittyAbstractGenerator.class,
1
0
r1064 - in trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication: externalize synchro
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 16:38:05 +0200 (Wed, 06 Jul 2011)
New Revision: 1064
Url: http://nuiton.org/repositories/revision/wikitty/1064
Log:
* correct bug inside publication sync
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalize.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublication.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystem.java
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalize.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalize.java 2011-07-06 14:15:34 UTC (rev 1063)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalize.java 2011-07-06 14:38:05 UTC (rev 1064)
@@ -1,13 +1,12 @@
package org.nuiton.wikitty.publication.externalize;
import java.io.File;
-
import org.nuiton.util.ApplicationConfig;
import org.nuiton.util.ArgumentsParserException;
-import org.nuiton.util.FileUtil;
import org.nuiton.wikitty.WikittyConfigOption;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.WikittyServiceFactory;
+import org.nuiton.wikitty.publication.synchro.WikittyPublicationFileSystem;
import org.nuiton.wikitty.search.Search;
/**
@@ -29,13 +28,15 @@
ApplicationConfig appconfig = new ApplicationConfig();
+
+
appconfig.parse(args);
appconfig
.setOption(
WikittyConfigOption.WIKITTY_WIKITTYSERVICE_COMPONENTS
.getKey(),
- "org.nuiton.wikitty.publication.synchro.WikittyPublicationFileSystem");
+ WikittyPublicationFileSystem.class.getName());
File currentFile = new File(".");
currentFile = new File(currentFile.getAbsolutePath()).getParentFile();
@@ -59,9 +60,8 @@
WikittyServiceFactory.buildWikittyService(appconfig));
+
-
-
System.out.println(proxy.findAllByCriteria(Search.query().keyword("*").criteria()).size());
@@ -90,5 +90,21 @@
* Une fois tout les wikitty traité on va packager le dossier tempJar en jar
* et on va supprimer le dossier tempJar
*/
+
+
+
+ /*
+ * Format des propriétés:
+ *
+ * id.property
+ * 18114-1811-181-18=/bob/truc/nuiton/Script
+ *
+ * metadata
+ * 18114-1811-181-18.version=1.0
+ * 18114-1811-181-18.exention=js
+ */
+
+
+
}
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublication.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublication.java 2011-07-06 14:15:34 UTC (rev 1063)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublication.java 2011-07-06 14:38:05 UTC (rev 1064)
@@ -450,7 +450,7 @@
result.setOption(
WikittyConfigOption.WIKITTY_WIKITTYSERVICE_COMPONENTS
.getKey(),
- "org.nuiton.wikitty.publication.synchro.WikittyPublicationFileSystem");
+ WikittyPublicationFileSystem.class.getName());
} else if (uri.getScheme().equals("cajo")) {
result.setOption(
WikittyConfigOption.WIKITTY_WIKITTYSERVICE_COMPONENTS
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystem.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystem.java 2011-07-06 14:15:34 UTC (rev 1063)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystem.java 2011-07-06 14:38:05 UTC (rev 1064)
@@ -237,17 +237,22 @@
// the service use to update or commit
String uriService = app
.getOption(WikittyPublication.WIKITTY_SERVICE_INTERLOCUTEUR);
+ if (uriService !=null) {
log.debug("Writing home property service on:"
+ propertyWikittyService.getOrigin() + " uri" + uriService);
propertyWikittyService.setProperty(
WikittyPublication.WIKITTY_SERVICE_INTERLOCUTEUR, uriService);
-
+ }
+
propertyWikittyService.store();
+ recursion = true;
+ if (app.getOptions().containsKey(WikittyPublication.IS_RECURSION_OPTION)) {
+
this.recursion = app
.getOptionAsBoolean(WikittyPublication.IS_RECURSION_OPTION);
-
+ }
// TODO mfotun-2011-04-28 add a support for filtered file with a
// property file
this.directoryNameBlackList = new ArrayList<String>();
@@ -576,6 +581,7 @@
* restore file as wikitty
*/
public List<Wikitty> restore(String securityToken, List<String> id) {
+
List<Wikitty> result = new ArrayList<Wikitty>();
log.info("restore wikitty, number: " + id.size());
try {
@@ -591,9 +597,9 @@
// register wikitty in the result
for (String wikid : id) {
Object value = locations.get(wikid);
+
if (value != null) {
-
FileSystemWIkittyId localisation = (FileSystemWIkittyId) value;
result.add(this.restore(wikid, localisation));
@@ -604,6 +610,7 @@
e.printStackTrace();
// TODO mfortun-2011-01-12 really handle exception
}
+
return result;
}
@@ -684,6 +691,8 @@
* @return if the wikitty check the restriction
*/
public boolean checkRestriction(Restriction restriction, Wikitty w) {
+ log.debug("Check restriction for : "+ w + " restriction: " + restriction);
+
if (restriction instanceof BinaryOperator) {
BinaryOperator binOp = (BinaryOperator) restriction;
@@ -942,6 +951,12 @@
Keyword keyword = (Keyword) restriction;
String value = keyword.getValue();
+
+ //TODO mfortun-2011-07-06 hack to ensure that * is intepreted as
+ // the real meaning aka any
+ if (value.equals("*")){
+ return true;
+ }
for (String fieldName : w.getAllFieldNames()) {
String testedValue = String.valueOf(w.getFqField(fieldName));
@@ -1050,6 +1065,7 @@
@Override
public List<PagedResult<String>> findAllByCriteria(String securityToken,
List<Criteria> criteria) {
+
Map<String, Wikitty> wikitties = new HashMap<String, Wikitty>();
try {
// construct properly with the working directory and the label
@@ -1080,7 +1096,7 @@
// TODO mfortun-2011-04-20 really handle exception
e.printStackTrace();
}
-
+
List<PagedResult<String>> result = new ArrayList<PagedResult<String>>();
// for each criteria
@@ -1097,8 +1113,6 @@
Wikitty w = entry.getValue();
// if macth
- log.debug("Check restriction for wikitty: " + w
- + " Restriction:" + restriction);
if (checkRestriction(restriction, w)) {
@@ -1116,6 +1130,7 @@
}
result.add(new PagedResult<String>(firstIndex, ids.size(),
restriction.toString(), null, ids));
+
}
return result;
}
1
0
r1063 - in trunk/wikitty-struts/src/main: java/org/nuiton/wikitty/struts/component java/org/nuiton/wikitty/struts/tag resources/template/wikitty tld
by sletellier@users.nuiton.org 06 Jul '11
by sletellier@users.nuiton.org 06 Jul '11
06 Jul '11
Author: sletellier
Date: 2011-07-06 16:15:34 +0200 (Wed, 06 Jul 2011)
New Revision: 1063
Url: http://nuiton.org/repositories/revision/wikitty/1063
Log:
Debug select tag
Modified:
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectBean.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectTag.java
trunk/wikitty-struts/src/main/resources/template/wikitty/ws-select.ftl
trunk/wikitty-struts/src/main/resources/template/wikitty/ws-selectassociation.ftl
trunk/wikitty-struts/src/main/tld/wikitty-struts.tld
Modified: 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 2011-07-06 12:26:44 UTC (rev 1062)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectBean.java 2011-07-06 14:15:34 UTC (rev 1063)
@@ -33,7 +33,7 @@
protected Integer size;
protected String descField;
protected Collection<Wikitty> wikittyValues;
- protected Collection<BusinessEntity> entityValues;
+ protected Collection<? extends BusinessEntity> entityValues;
@@ -115,7 +115,7 @@
}
}
- addParameter("values", resultList);
+ addParameter("value", resultList);
}
@@ -154,11 +154,11 @@
this.wikittyValues = wikittyValues;
}
- public Collection<BusinessEntity> getEntityValues() {
+ public Collection<? extends BusinessEntity> getEntityValues() {
return entityValues;
}
- public void setEntityValues(Collection<BusinessEntity> entityValues) {
+ public void setEntityValues(Collection<? extends BusinessEntity> entityValues) {
this.entityValues = entityValues;
}
}
Modified: 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 2011-07-06 12:26:44 UTC (rev 1062)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/SelectTag.java 2011-07-06 14:15:34 UTC (rev 1063)
@@ -17,7 +17,7 @@
protected Integer size;
protected String descField;
protected Collection<Wikitty> wikittyValues;
- protected Collection<BusinessEntity> entityValues;
+ protected Collection<? extends BusinessEntity> entityValues;
/**
*
@@ -72,11 +72,11 @@
this.wikittyValues = wikittyValues;
}
- public Collection<BusinessEntity> getEntityValues() {
+ public Collection<? extends BusinessEntity> getEntityValues() {
return entityValues;
}
- public void setEntityValues(Collection<BusinessEntity> entityValues) {
+ public void setEntityValues(Collection<? extends BusinessEntity> entityValues) {
this.entityValues = entityValues;
}
Modified: trunk/wikitty-struts/src/main/resources/template/wikitty/ws-select.ftl
===================================================================
--- trunk/wikitty-struts/src/main/resources/template/wikitty/ws-select.ftl 2011-07-06 12:26:44 UTC (rev 1062)
+++ trunk/wikitty-struts/src/main/resources/template/wikitty/ws-select.ftl 2011-07-06 14:15:34 UTC (rev 1063)
@@ -1,9 +1,8 @@
-<#if parameters.included?? && parameters.included==true >
-<#include "/${parameters.templateDir}/${parameters.theme}/ws-label-commons.ftl" />
+<#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/>
+<#assign optionKeys = parameters.value/><#t/>
<#list optionKeys as optionKey><#t/>
<option value="${optionKey.valeur}" <#t/>
<#if optionKey.valeur==parameters.value >
@@ -11,5 +10,4 @@
</#if> <#t/>
> ${optionKey.description} </option>
</#list>
-</select><#t/>
-</#if>
\ No newline at end of file
+</select><#t/>
\ No newline at end of file
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-06 12:26:44 UTC (rev 1062)
+++ trunk/wikitty-struts/src/main/resources/template/wikitty/ws-selectassociation.ftl 2011-07-06 14:15:34 UTC (rev 1063)
@@ -7,7 +7,7 @@
multiple
</#if>
>
-<#assign optionKeys = parameters.value><#t/>
+<#assign optionKeys = parameters.value/><#t/>
<#list optionKeys as optionKey>
<option value="${optionKey.valeur}">
${optionKey.description} </option>
Modified: trunk/wikitty-struts/src/main/tld/wikitty-struts.tld
===================================================================
--- trunk/wikitty-struts/src/main/tld/wikitty-struts.tld 2011-07-06 12:26:44 UTC (rev 1062)
+++ trunk/wikitty-struts/src/main/tld/wikitty-struts.tld 2011-07-06 14:15:34 UTC (rev 1063)
@@ -127,7 +127,7 @@
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
- <description><![CDATA[the name of the field that have to be specialize, it will be the name of the html element]]></description>
+ <description><![CDATA[the name of the field that have to be specialize]]></description>
<name>fqFieldName</name>
<rtexprvalue>true</rtexprvalue>
<required>true</required>
1
0
r1062 - trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities
by echatellier@users.nuiton.org 06 Jul '11
by echatellier@users.nuiton.org 06 Jul '11
06 Jul '11
Author: echatellier
Date: 2011-07-06 14:26:44 +0200 (Wed, 06 Jul 2011)
New Revision: 1062
Url: http://nuiton.org/repositories/revision/wikitty/1062
Log:
In developpement
Modified:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyGenerationTest.java
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyGenerationTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyGenerationTest.java 2011-07-06 12:24:32 UTC (rev 1061)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyGenerationTest.java 2011-07-06 12:26:44 UTC (rev 1062)
@@ -27,6 +27,7 @@
import junit.framework.Assert;
+import org.junit.Ignore;
import org.junit.Test;
/**
@@ -40,6 +41,7 @@
* Last update : $Date$
* By : $Author$
*/
+@Ignore
public class WikittyGenerationTest {
/**
1
0
r1061 - trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator
by echatellier@users.nuiton.org 06 Jul '11
by echatellier@users.nuiton.org 06 Jul '11
06 Jul '11
Author: echatellier
Date: 2011-07-06 14:24:32 +0200 (Wed, 06 Jul 2011)
New Revision: 1061
Url: http://nuiton.org/repositories/revision/wikitty/1061
Log:
Fix no requieres needed
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-06 10:38:11 UTC (rev 1060)
+++ trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java 2011-07-06 12:24:32 UTC (rev 1061)
@@ -278,8 +278,11 @@
addImport(abstractClass, superClass);
addImport(abstractClass, superClass.getQualifiedName() + "Abstract");
requires += requiresSep + WikittyTransformerUtil.classToExtensionVariableName(superClass, true);
- requiresSep = ",";
+ requiresSep = " + \",\" + ";
}
+ if (requires.isEmpty()) {
+ requires = null;
+ }
String buildFieldMapExtensionParametersInLine = StringUtils.join(buildFieldMapExtensionParameters, ", \n");
String extensionVariableName = WikittyTransformerUtil.classToExtensionVariableName(businessEntity, false);
1
0
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