|
From: <tri...@us...> - 2008-12-01 17:55:13
|
Revision: 882
http://equanda.svn.sourceforge.net/equanda/?rev=882&view=rev
Author: triathlon98
Date: 2008-12-01 17:55:09 +0000 (Mon, 01 Dec 2008)
Log Message:
-----------
EQ-288 create equanda-dm module (splitting equanda-generate)
Modified Paths:
--------------
trunk/equanda-dm/src/main/java/org/equanda/domain/db/CodebaseConvert.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Action.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Build.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/CaseConversion.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/DataFilter.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Default.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/DefaultInstance.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/DomainModel.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Group.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/IncludeData.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/OverwriteDefault.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Page.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Set.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/SubSelect.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Template.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Type.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/aid/DefaultConverter.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/aid/DefaultInstanceConverter.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/aid/OverwriteDefaultConverter.java
trunk/equanda-dm/src/main/java/org/equanda/domain/xml/aid/SetConverter.java
trunk/equanda-dm/src/test/java/org/equanda/domain/xml/ActionTest.java
trunk/equanda-dm/src/test/java/org/equanda/domain/xml/DefaultInstanceTest.java
trunk/equanda-dm/src/test/java/org/equanda/domain/xml/ParserIncludeTest.java
trunk/equanda-dm/src/test/java/org/equanda/domain/xml/ParserTransformationTest.java
trunk/equanda-dm/src/test/java/org/equanda/domain/xml/XStreamTestAdapter.java
trunk/equanda-dm/src/test/java/org/equanda/domain/xml/aid/ValidationUtilTest.java
trunk/equanda-generate/pom.xml
trunk/equanda-generate/src/test/resources/CaseConversionTest/CaseConversionAuto.xml
trunk/equanda-generate/src/test/resources/CaseConversionTest/CaseConversionBothValueAndClass.xml
trunk/equanda-generate/src/test/resources/CaseConversionTest/CaseConversionCalculated.xml
trunk/equanda-generate/src/test/resources/CaseConversionTest/CaseConversionInvalidType.xml
trunk/equanda-generate/src/test/resources/CaseConversionTest/CaseConversionInvalidValue.xml
trunk/equanda-generate/src/test/resources/CaseConversionTest/CaseConversionNoValueNoClass.xml
trunk/equanda-generate/src/test/resources/ChoicesTest/ChoiceCalculated.xml
trunk/equanda-generate/src/test/resources/ChoicesTest/ChoiceDate.xml
trunk/equanda-generate/src/test/resources/ChoicesTest/ChoiceInvalidBoolean.xml
trunk/equanda-generate/src/test/resources/ChoicesTest/ChoiceInvalidDouble.xml
trunk/equanda-generate/src/test/resources/ChoicesTest/ChoiceInvalidInt.xml
trunk/equanda-generate/src/test/resources/ChoicesTest/ChoiceTimestamp.xml
trunk/equanda-generate/src/test/resources/ChoicesTest/ChoiceTooLong.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareAuto.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareBooleanInvalidTest.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareCalculated.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareDifferentTypes.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareGlobalAuto.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareGlobalBooleanInvalidTest.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareGlobalCalculated.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareGlobalDifferentTypes.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareGlobalLeftImmutable.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareGlobalMultiple.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareInvalidBoolean.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareInvalidDate.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareInvalidDouble.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareInvalidInt.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareInvalidTimestamp.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareLinkEquals.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareLinkType.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareLinkTypeInvalid.xml
trunk/equanda-generate/src/test/resources/CompareTest/CompareMultiple.xml
trunk/equanda-generate/src/test/resources/ConstraintsTest/UniqueAndUniqueFor.xml
trunk/equanda-generate/src/test/resources/ConstraintsTest/UniqueFor.xml
trunk/equanda-generate/src/test/resources/ConstraintsTest/UniqueForOnTable.xml
trunk/equanda-generate/src/test/resources/DefaultTest/DefaultLink.xml
trunk/equanda-generate/src/test/resources/DisplayTest/InternalDisplayed.xml
trunk/equanda-generate/src/test/resources/FailOnInvalidDefinitionTest/Invalid.xml
trunk/equanda-generate/src/test/resources/FailOnInvalidDefinitionTest/Valid.xml
trunk/equanda-generate/src/test/resources/ImmutableAndMutableTest/ImmutableAndMutable.xml
trunk/equanda-generate/src/test/resources/LinksTest/AllowDeleteFieldNotLink.xml
trunk/equanda-generate/src/test/resources/LinksTest/BidirectionalLinksBothRequired.xml
trunk/equanda-generate/src/test/resources/LinksTest/CascadeDeleteFieldNotLink.xml
trunk/equanda-generate/src/test/resources/LinksTest/CascadeDeleteMultiple.xml
trunk/equanda-generate/src/test/resources/LinksTest/CascadeDeleteNotBidirectional.xml
trunk/equanda-generate/src/test/resources/LinksTest/CascadeKeepFieldNotLink.xml
trunk/equanda-generate/src/test/resources/LinksTest/LinkName2Times.xml
trunk/equanda-generate/src/test/resources/LinksTest/LinkNameDifferentRelations1.xml
trunk/equanda-generate/src/test/resources/LinksTest/LinkNameDifferentRelations2.xml
trunk/equanda-generate/src/test/resources/LinksTest/LinksWithSuggest.xml
trunk/equanda-generate/src/test/resources/LinksTest/OtherSideMultipleIncorrect.xml
trunk/equanda-generate/src/test/resources/LinksTest/OtherSideSingleIncorrect.xml
trunk/equanda-generate/src/test/resources/LinksTest/OtherSideSingleWithFieldNotLink.xml
trunk/equanda-generate/src/test/resources/LinksTest/UseRelationTableFieldMultiple.xml
trunk/equanda-generate/src/test/resources/LinksTest/UseRelationTableFieldNotLink.xml
trunk/equanda-generate/src/test/resources/LinksTest/UseRelationTableNotBidirectional.xml
trunk/equanda-generate/src/test/resources/LinksTest/UseRelationTableOtherSideSingle.xml
trunk/equanda-generate/src/test/resources/LinksTest/ValidLinks.xml
trunk/equanda-generate/src/test/resources/LobTest/BlobChoice.xml
trunk/equanda-generate/src/test/resources/LobTest/BlobDescription.xml
trunk/equanda-generate/src/test/resources/LobTest/BlobReference.xml
trunk/equanda-generate/src/test/resources/LobTest/BlobSelection.xml
trunk/equanda-generate/src/test/resources/LobTest/ClobChoice.xml
trunk/equanda-generate/src/test/resources/LobTest/ClobReference.xml
trunk/equanda-generate/src/test/resources/MultipleTest/MultipleDouble.xml
trunk/equanda-generate/src/test/resources/MultipleTest/MultipleInt.xml
trunk/equanda-generate/src/test/resources/NamesTest/InvalidFieldName-0Length.xml
trunk/equanda-generate/src/test/resources/NamesTest/InvalidFieldName-Invalid1stChar.xml
trunk/equanda-generate/src/test/resources/NamesTest/InvalidFieldName-InvalidChar.xml
trunk/equanda-generate/src/test/resources/NamesTest/InvalidLinkName-Invalid1stChar.xml
trunk/equanda-generate/src/test/resources/NamesTest/InvalidLinkName-InvalidChar.xml
trunk/equanda-generate/src/test/resources/NamesTest/InvalidTableName-0Length.xml
trunk/equanda-generate/src/test/resources/NamesTest/InvalidTableName-Invalid1stChar.xml
trunk/equanda-generate/src/test/resources/NamesTest/InvalidTableName-InvalidChar.xml
trunk/equanda-generate/src/test/resources/NamesTest/InvalidTableName-ReservedName.xml
trunk/equanda-generate/src/test/resources/SelectTest/DirectSelectionsAndSubselects.xml
trunk/equanda-generate/src/test/resources/SelectTest/OperatorAddNoSubselects.xml
trunk/equanda-generate/src/test/resources/SelectTest/OperatorAddSingleSelect.xml
trunk/equanda-generate/src/test/resources/SelectTest/OperatorTryNoSubselects.xml
trunk/equanda-generate/src/test/resources/SelectTest/OrderBooleanField.xml
trunk/equanda-generate/src/test/resources/SelectTest/OrderInvalidField.xml
trunk/equanda-generate/src/test/resources/SelectTest/OrderLinkField.xml
trunk/equanda-generate/src/test/resources/SelectTest/OrderMultipleField.xml
trunk/equanda-generate/src/test/resources/SelectTest/SelectionInvalidTest.xml
trunk/equanda-generate/src/test/resources/SelectTest/SingleSelectWithLimit.xml
trunk/equanda-generate/src/test/resources/SubjectoryTest/NoContextOnChoice.xml
trunk/equanda-generate/src/test/resources/SubjectoryTest/NoContextOnField.xml
trunk/equanda-generate/src/test/resources/SubjectoryTest/NoContextOnTable.xml
trunk/equanda-generate/src/test/resources/SubjectoryTest/ValidSubjectory.xml
trunk/equanda-generate/src/test/resources/TableInclude/IncludedTable.table
trunk/equanda-generate/src/test/resources/TableInclude/TableDirInclude.xml
trunk/equanda-generate/src/test/resources/UniqueNameTest/ActionNotUnique.xml
trunk/equanda-generate/src/test/resources/UniqueNameTest/BuildNotUnique.xml
trunk/equanda-generate/src/test/resources/UniqueNameTest/FieldNameNotUnique.xml
trunk/equanda-generate/src/test/resources/UniqueNameTest/GroupJoin.xml
trunk/equanda-generate/src/test/resources/UniqueNameTest/GroupJoinFailed1.xml
trunk/equanda-generate/src/test/resources/UniqueNameTest/GroupJoinFailed2.xml
trunk/equanda-generate/src/test/resources/UniqueNameTest/SelectNotUnique.xml
trunk/equanda-generate/src/test/resources/UniqueNameTest/TableNameNotUnique.xml
trunk/equanda-generate/src/test/resources/UniqueNameTest/TableTypeNotUnique.xml
trunk/equanda-generate/src/test/resources/UniqueTest/UniqueCalculated.xml
trunk/equanda-generate/src/test/resources/UniqueTest/UniqueLink.xml
trunk/equanda-generate/src/test/resources/UniqueTest/UniqueMultiple.xml
trunk/equanda-generate/src/test/resources/ValueWhenNullTest/ValueWhenNullAuto.xml
trunk/equanda-generate/src/test/resources/ValueWhenNullTest/ValueWhenNullCalculated.xml
trunk/equanda-generate/src/test/resources/ValueWhenNullTest/ValueWhenNullInvalidType.xml
trunk/equanda-generate/src/test/resources/ValueWhenNullTest/ValueWhenNullMultiple.xml
trunk/equanda-generate/src/test/resources/ValueWhenNullTest/ValueWhenNullTwice.xml
trunk/equanda-maven-plugin/src/main/resources/archetype-resources/src/main/dm/Address.table
trunk/equanda-maven-plugin/src/main/resources/archetype-resources/src/main/dm/Organization.table
trunk/equanda-maven-plugin/src/main/resources/archetype-resources/src/main/dm/User.table
trunk/equanda-maven-plugin/src/main/resources/archetype-resources/src/main/dm/dm.xml
Added Paths:
-----------
trunk/equanda-dm/src/main/java/org/
trunk/equanda-dm/src/main/java/org/equanda/
trunk/equanda-dm/src/main/java/org/equanda/domain/
trunk/equanda-dm/src/main/resources/equanda.dtd
trunk/equanda-dm/src/main/resources/org/
trunk/equanda-dm/src/test/java/org/
trunk/equanda-dm/src/test/java/org/equanda/
trunk/equanda-dm/src/test/java/org/equanda/domain/
trunk/equanda-dm/src/test/resources/domain/
trunk/equanda-generate/src/test/java/org/equanda/generate/TableTest.java
Removed Paths:
-------------
trunk/equanda-dm/src/test/java/org/equanda/domain/xml/ParseTableTest.java
trunk/equanda-generate/src/main/java/org/equanda/domain/
trunk/equanda-generate/src/main/resources/equanda.dtd
trunk/equanda-generate/src/main/resources/org/
trunk/equanda-generate/src/test/java/org/equanda/domain/
trunk/equanda-generate/src/test/resources/domain/
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/db/CodebaseConvert.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/db/CodebaseConvert.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/db/CodebaseConvert.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -26,6 +26,7 @@
import org.equanda.util.IniFile;
import org.equanda.util.SaveException;
+
import java.io.IOException;
/**
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Action.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/Action.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Action.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -28,9 +28,10 @@
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
+import javolution.lang.TextBuilder;
+
import java.util.ArrayList;
import java.util.List;
-import javolution.lang.TextBuilder;
/**
* representation of action tag
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Build.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/Build.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Build.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -28,9 +28,10 @@
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
+import javolution.lang.TextBuilder;
+
import java.util.ArrayList;
import java.util.List;
-import javolution.lang.TextBuilder;
/**
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/CaseConversion.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/CaseConversion.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/CaseConversion.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -24,9 +24,9 @@
package org.equanda.domain.xml;
-import org.equanda.domain.xml.aid.CaseConversionValue;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
+import org.equanda.domain.xml.aid.CaseConversionValue;
/**
* case conversion tag
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/DataFilter.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/DataFilter.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/DataFilter.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -26,8 +26,6 @@
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import java.util.ArrayList;
-import java.util.List;
/**
* Implementation for data-filter
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Default.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/Default.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Default.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -24,10 +24,10 @@
package org.equanda.domain.xml;
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import com.thoughtworks.xstream.annotations.XStreamConverter;
import org.equanda.domain.xml.aid.DefaultConverter;
import org.equanda.domain.xml.aid.DefaultType;
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamConverter;
/**
* default value handling
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/DefaultInstance.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/DefaultInstance.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/DefaultInstance.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -24,9 +24,9 @@
package org.equanda.domain.xml;
-import org.equanda.domain.xml.aid.DefaultInstanceConverter;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter;
+import org.equanda.domain.xml.aid.DefaultInstanceConverter;
/**
* default-instance tag
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/DomainModel.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/DomainModel.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/DomainModel.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -24,15 +24,16 @@
package org.equanda.domain.xml;
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import com.thoughtworks.xstream.annotations.XStreamImplicit;
+import com.thoughtworks.xstream.annotations.XStreamOmitField;
+import org.equanda.domain.xml.aid.ListFilter;
import org.equanda.domain.xml.aid.ObjectGetter;
+import org.equanda.domain.xml.aid.TemplateUtil;
import org.equanda.domain.xml.aid.ValidationUtil;
-import org.equanda.domain.xml.aid.TemplateUtil;
-import org.equanda.domain.xml.aid.ListFilter;
import org.equanda.domain.xml.transform.HasSetLastModified;
import org.equanda.domain.xml.transform.RootTable;
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamImplicit;
-import com.thoughtworks.xstream.annotations.XStreamOmitField;
+
import java.util.*;
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Group.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/Group.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Group.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -28,16 +28,15 @@
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
+import javolution.lang.TextBuilder;
import org.equanda.domain.xml.transform.RootTable;
import org.equanda.util.StringUtil;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.HashMap;
-import javolution.lang.TextBuilder;
-
/**
* representation of a "group" node.
*
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/IncludeData.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/IncludeData.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/IncludeData.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -26,6 +26,7 @@
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
+
import java.util.ArrayList;
import java.util.List;
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/OverwriteDefault.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/OverwriteDefault.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/OverwriteDefault.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -24,10 +24,10 @@
package org.equanda.domain.xml;
-import org.equanda.domain.xml.aid.OverwriteDefaultConverter;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
+import org.equanda.domain.xml.aid.OverwriteDefaultConverter;
/**
* overwrite-default tag
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Page.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/Page.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Page.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -28,13 +28,12 @@
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
+import javolution.lang.TextBuilder;
import org.equanda.util.StringUtil;
import java.util.ArrayList;
import java.util.List;
-import javolution.lang.TextBuilder;
-
/**
* representation of a <page> node
*
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Set.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/Set.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Set.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -24,9 +24,9 @@
package org.equanda.domain.xml;
-import org.equanda.domain.xml.aid.SetConverter;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamConverter;
+import org.equanda.domain.xml.aid.SetConverter;
/**
* representation of a <set> tag, as can be used inside <build>
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/SubSelect.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/SubSelect.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/SubSelect.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -24,14 +24,15 @@
package org.equanda.domain.xml;
-import org.equanda.domain.xml.transform.RootTable;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
+import javolution.lang.TextBuilder;
+import org.equanda.domain.xml.transform.RootTable;
+
import java.util.ArrayList;
import java.util.List;
-import javolution.lang.TextBuilder;
/**
* representation of a "subselect" node
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Template.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/Template.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Template.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -24,11 +24,12 @@
package org.equanda.domain.xml;
-import org.equanda.domain.xml.aid.TransformationUtil;
-import org.equanda.domain.xml.transform.RootTable;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
+import org.equanda.domain.xml.aid.TransformationUtil;
+import org.equanda.domain.xml.transform.RootTable;
+
import java.util.ArrayList;
import java.util.List;
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Type.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/Type.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/Type.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -24,8 +24,9 @@
package org.equanda.domain.xml;
+import com.thoughtworks.xstream.annotations.*;
import org.equanda.domain.xml.aid.ImplicitBooleanConverter;
-import com.thoughtworks.xstream.annotations.*;
+
import java.util.List;
/**
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/aid/DefaultConverter.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/aid/DefaultConverter.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/aid/DefaultConverter.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -24,12 +24,12 @@
package org.equanda.domain.xml.aid;
-import org.equanda.domain.xml.Default;
import com.thoughtworks.xstream.converters.Converter;
import com.thoughtworks.xstream.converters.MarshallingContext;
import com.thoughtworks.xstream.converters.UnmarshallingContext;
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
+import org.equanda.domain.xml.Default;
/**
* XStream converter for the "default" node
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/aid/DefaultInstanceConverter.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/aid/DefaultInstanceConverter.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/aid/DefaultInstanceConverter.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -24,12 +24,12 @@
package org.equanda.domain.xml.aid;
-import org.equanda.domain.xml.DefaultInstance;
import com.thoughtworks.xstream.converters.Converter;
import com.thoughtworks.xstream.converters.MarshallingContext;
import com.thoughtworks.xstream.converters.UnmarshallingContext;
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
+import org.equanda.domain.xml.DefaultInstance;
/**
* XStream converter for the "default-instance" node
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/aid/OverwriteDefaultConverter.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/aid/OverwriteDefaultConverter.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/aid/OverwriteDefaultConverter.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -24,12 +24,12 @@
package org.equanda.domain.xml.aid;
-import org.equanda.domain.xml.OverwriteDefault;
import com.thoughtworks.xstream.converters.Converter;
import com.thoughtworks.xstream.converters.MarshallingContext;
import com.thoughtworks.xstream.converters.UnmarshallingContext;
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
+import org.equanda.domain.xml.OverwriteDefault;
/**
* Converter for overwrite-default node.
Modified: trunk/equanda-dm/src/main/java/org/equanda/domain/xml/aid/SetConverter.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/domain/xml/aid/SetConverter.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/main/java/org/equanda/domain/xml/aid/SetConverter.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -24,12 +24,12 @@
package org.equanda.domain.xml.aid;
-import org.equanda.domain.xml.Set;
import com.thoughtworks.xstream.converters.Converter;
import com.thoughtworks.xstream.converters.MarshallingContext;
import com.thoughtworks.xstream.converters.UnmarshallingContext;
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
+import org.equanda.domain.xml.Set;
/**
* Converter for overwrite-default node.
Copied: trunk/equanda-dm/src/main/resources/equanda.dtd (from rev 874, trunk/equanda-generate/src/main/resources/equanda.dtd)
===================================================================
--- trunk/equanda-dm/src/main/resources/equanda.dtd (rev 0)
+++ trunk/equanda-dm/src/main/resources/equanda.dtd 2008-12-01 17:55:09 UTC (rev 882)
@@ -0,0 +1,623 @@
+c<!--
+ This file is part of the equanda project.
+
+ * The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at http://www.mozilla.org/MPL/
+ *
+ * Code generated by applying this template can be freely used.
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
+ * ANY KIND, either express or implied. See the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+
+ This is the dtd for the XML description of the data model for the application
+
+ Contributor(s):
+ Joachim Van der Auwera (jo...@pr...)
+ NetRom team
+ -->
+
+<!ENTITY % integer "CDATA">
+<!-- a <integer>, for lack of more accurate description -->
+
+<!-- a equanda description can be split into multiple files, the main file always has a "equanda" root element -->
+<!ELEMENT equanda ((type)*,(table)*)>
+
+<!-- an include file normally contains the "include-data" tag as root, the contents in included -->
+<!ELEMENT include-data ((group|field|choice)*),hide?>
+
+<!--
+ Table definition. this can be internal in the XML file, or defined in (a) separate file(s).
+ When defined in separate file(s) the "file" or "dir" attribute should be used
+ "file" indicates the name of the file containing the table definition
+ "dir" indicates the directory. All *.table files will be added as table definitions
+ When this is the actual table definition, then
+ "name" is the name for this table, an error should be reported when not unique
+ "type" is a four letter string which is used as table identifier. This should be unique within the
+ tree of tables which share the same root table.
+ "expected-amount" is an info about the expected number of records for this table. This is used in GUI.
+ "category" allows combining tables in categories, useful for building a menu structure
+ The "internal" attribute when set indicates that this table is only provided to be part of the inheritance tree,
+ but no instances of this type are allowed to exist.
+-->
+<!ELEMENT table (
+ (description)?,
+ (subjectory)?,
+ (template)*,
+ (include)*,
+ (data-filter)*,
+ (default-instance)?,
+ (security-role)?,
+ (security-role-remove)?,
+ (cascade-keep)?,
+ (page)*,
+ (cloneable|not-cloneable)?,
+ (constraints)?,
+ (hide)?,
+ (select)*,
+ (build)*,
+ (action)*
+ )>
+<!ATTLIST table
+name CDATA #IMPLIED
+file CDATA #IMPLIED
+dir CDATA #IMPLIED
+type CDATA #IMPLIED
+expected-amount (small|medium|large) "large"
+category CDATA #IMPLIED
+proxy-interface CDATA #IMPLIED
+internal CDATA #IMPLIED
+>
+
+<!--
+ Template table definition.
+ This is actually a kind of inheritance. As Java only supports single inheritance, the inheritance on the
+ generated mediators is only for the first template. For the other templates all fields and constraints
+ are implicitly copied.
+ In the templates, it is possible to overwrite default values for fields.
+-->
+<!ELEMENT template (overwrite-default)*>
+<!ATTLIST template
+parent CDATA #REQUIRED>
+
+<!ELEMENT overwrite-default (#PCDATA)>
+<!ATTLIST overwrite-default
+field CDATA #REQUIRED>
+
+<!--
+ Specify that this table type is the default instance type.
+ Possibly give a class-name to indicate the default type.
+ You can set whether it is forced that all instanced are of default type.
+ There should only be one default-instance tag in a table hierarchy.
+ This only has effect for the generated pages and components.
+-->
+<!ELEMENT default-instance EMPTY>
+<!ATTLIST default-instance
+class-name CDATA #IMPLIED
+force (true|false) "false">
+
+
+<!--
+ Comma separated list of roles which can access the enclosing entity (field/table/selector/...)
+ There is a special security-role (NONE), meaning the corresponding ejb methods for that entity
+ will be unchecked.
+ For entities other than tables, if the security-role is missing, the one from the root table is
+ used.
+ -->
+<!ELEMENT security-role (#PCDATA)>
+
+
+<!--
+ Comma seperated list of roles which can access the function removeEntity.
+ If missing, this method will not be generated.
+-->
+<!ELEMENT security-role-remove (#PCDATA)>
+
+
+<!--
+ A table is always split into at least one page.
+ This is a visual separation, indicating typically the tab page which contains the field.
+-->
+<!ELEMENT page ((description)?,(field|group|include)*, (hide)?)>
+<!ATTLIST page
+name CDATA #IMPLIED>
+
+
+<!--
+ These are filters which are applied to all the selectors.
+ The name is the name of the selector, children define how the filter is applied (in this table).
+-->
+<!ELEMENT data-filter (filter-query?)>
+<!ATTLIST data-filter
+name CDATA #REQUIRED>
+
+<!--
+ Defines how the filter value can be applied in a ejbql query.The "${}" is replaced by the filter-value.
+-->
+<!ELEMENT filter-query EMPTY>
+<!ATTLIST filter-query
+from CDATA #IMPLIED
+where CDATA #REQUIRED>
+
+
+
+<!-- Allow grouping of fields. In a GUI this could be represented by a box around the items. -->
+<!ELEMENT group ((description)?,(field|group|include)*, (hide)?)>
+<!ATTLIST group
+name CDATA ""
+renderer CDATA #IMPLIED
+>
+
+<!--
+ Definition of a database field.
+ For multiple fields, you can also define the name in singular (default is the name without trailing
+ "s" if any). This name is used for add and remove methods.
+ Some of the constraints need extra explications.
+ An internal field is not available for read or write to the outside.
+ A calculated field has no DB representation and is calculated when requested. It has no setter.
+ A "auto" field has no setter, but is set by as a side-effect of some actions (much like an internal
+ field, except this there is a getter for this).
+ "length" is the maximum size of string fields, and the maximum number of digits for int and double fields in GUI.
+ "display-length" is the number of characters used in GUI for the textbox of this field. Can be different from "length".
+ of the widget for that field. Default length for strings is 50. Default length
+ for dates and timestamps is 10. Default length for int and double is 5.
+ renderer is extra info for rendering the field in GUI.
+ -->
+<!ELEMENT field ( (description)?,
+ (subjectory)?,
+ (internal)?,
+ (link-name)?,
+ (choice)*,
+ (multiple)?,
+ (owner)?,
+ (embedded)?,
+ (auto|calculated)?,
+ (other-side-multiple|other-side-single)?,
+ (use-relation-table|use-relation-field)?,
+ (cascade-delete|cascade-keep|allow-delete)?,
+ default?,
+ suggest?,
+ (cloneable|not-cloneable)?,
+ (constraints)?,
+ (display)?,(hide)?,
+ (indexed)?,
+ (case)?,
+ (is-reference)?,
+ (is-description)?,
+ (include)*
+ )>
+<!ATTLIST field
+name CDATA #REQUIRED
+singular CDATA #IMPLIED
+type CDATA "string"
+length %integer; #IMPLIED
+display-length %integer; #IMPLIED
+renderer CDATA #IMPLIED
+priority %integer; "5"
+>
+
+<!-- simple type definition, which allows certain field settings to be filled automatically -->
+<!ELEMENT type ((description)?,
+ (internal)?,
+ (choice)*,
+ (multiple)?,
+ (embedded)?,
+ default?,
+ suggest?,
+ (constraints)?,
+ (display)?,(hide)?,
+ (indexed)?,
+ (case)?
+ )>
+<!ATTLIST type
+name CDATA #REQUIRED
+type CDATA "string"
+length %integer; #IMPLIED
+display-length %integer; #IMPLIED
+renderer CDATA #IMPLIED
+>
+
+<!--
+ This node will insert the content from the referenced file (as far as applicable) into the data set.
+ The included file normally has "include-data" as root tag.
+-->
+<!ELEMENT include EMPTY>
+<!ATTLIST include
+file CDATA #REQUIRED
+required CDATA #IMPLIED
+>
+
+
+<!--
+ Not allowed for date and timestamp fields
+ Not allowed for for auto and calculated, and multiple.
+ class-name, if specified, must extend org.equanda.validation.Choices
+-->
+
+<!ELEMENT choice ((description)?,
+ (subjectory)?
+ )>
+<!ATTLIST choice
+class-name CDATA #IMPLIED
+name CDATA #IMPLIED
+value CDATA #IMPLIED>
+
+<!ELEMENT description (#PCDATA)>
+
+<!-- subjectory support information -->
+<!ELEMENT subjectory ( (uri)?,
+ (synonym)*,
+ (mapping)*
+ )>
+<!ELEMENT uri (#PCDATA)>
+<!ELEMENT synonym (#PCDATA)>
+
+<!--
+ mapping inside a subjectory element, typically used for microtransformations, import, export
+ context is required and groups the different mappings together
+ can be used to indicate a (data) container the data comes from or should be put into
+ several expressions can be used to indicate the conversion, the type (lowercase) indicates the kind of expression
+ (for exampe (xpath", "groovy", "scala")
+ A translator can be specified which maps from the external format (string) to the internal format and vice versa,
+ this should be a classname which is an instance of org.equanda.subjectory.MappingTranslator.
+-->
+<!ELEMENT mapping ( (context),
+ (container)?,
+ (expr)*,
+ (translator)?
+ )>
+<!ELEMENT context (#PCDATA)>
+<!ELEMENT container (#PCDATA)>
+<!ELEMENT expr (#PCDATA)>
+<!ATTLIST expr
+type CDATA #IMPLIED>
+
+<!ELEMENT translator (#PCDATA)>
+
+<!--
+ Not allowed for int and double fields
+-->
+<!ELEMENT multiple EMPTY>
+
+<!--
+ Indicates that this field is a reference or description field, to allow searching using "-", "\-\-" and "?" constructs.
+-->
+<!ELEMENT is-reference EMPTY>
+<!ELEMENT is-description EMPTY>
+
+
+<!--
+ Requires a bidirectional link and removes the posibility to have an unlinked
+ record on the other side of the link
+-->
+<!ELEMENT embedded EMPTY>
+
+<!--
+ Indicates the owner of the relationship.Alowed only on bidirectional links.
+ For 1-N and N-1 this is defaulted to the 1 side.
+ For 1-1 and N-N this has to be specified.
+-->
+<!ELEMENT owner EMPTY>
+
+<!--
+ Indication of multiplicity for linked fields. By default 1-N or N-1 link.
+-->
+<!ELEMENT other-side-multiple EMPTY>
+<!ELEMENT other-side-single EMPTY>
+
+<!--
+ Indication, for the 1 side of a bidirectional 1-N link, that a relation table should be created or not.
+-->
+<!ELEMENT use-relation-table EMPTY>
+<!ELEMENT use-relation-field EMPTY>
+
+<!--
+ Indication that for a link field, to delete referenced items when the parent is deleted
+ The link field must be single and bidirectional.
+-->
+<!ELEMENT cascade-delete EMPTY>
+
+<!--
+ Indication that for a link field, do not delete when there is a referenced record.
+ This works on the reverse side. When table A has a link to table B which is marked as cascade-keep,
+ then attempts to delete a record from B which is linked in A will fail.
+-->
+<!ELEMENT cascade-keep EMPTY>
+
+<!--
+ Indication for a link field, to allow delete without any checks.
+-->
+<!ELEMENT allow-delete EMPTY>
+
+<!--
+ Specify the default value for a field.
+ The default value can be calculated in the mediator (type="auto"), similar to auto variables,
+ or can be calculated using a specific class (implementation of org.equanda.validation.Default).
+-->
+<!ELEMENT default (#PCDATA)>
+<!ATTLIST default
+type (value|auto|class) "value">
+
+<!--
+ auto fields are calculated by the application and stored in the database. They have no setter.
+ not that auto fields are not cloneable by default (but this can be overwritten)
+-->
+<!ELEMENT auto EMPTY>
+
+<!-- calculated fields are calculated when requested, they are not stored in the database -->
+<!ELEMENT calculated EMPTY>
+
+<!ELEMENT cloneable EMPTY>
+<!ELEMENT not-cloneable EMPTY>
+
+<!--
+ ws-value allow replacement of a UOID with one of the referenced (string) fields for the WS interface
+ Only for link fields.
+ -->
+<!ELEMENT ws-value (#PCDATA)>
+
+<!--
+ Indicate the roles which may view this value, default is "all".
+ Other possible values are "none", or a
+ space or comma seperated list of roles
+-->
+<!ELEMENT ws-role (#PCDATA)>
+
+<!--
+ <display> marks a field for display in a list which represents the object,
+ in the data (eg xml) for the object when referenced, etc.
+
+ <hide> indicates that the field should not be displayed in the user interface
+ A hidden field gets a default ws-role of "none" (only if the "if-class" attribute is null).
+ The attribute if-class indicates a class which is used at runtime to determine if the field should be visible or not.
+
+ When both "display" and "hide" are indicated, then "hide" should have precedence.
+-->
+<!ELEMENT display EMPTY>
+<!ELEMENT hide EMPTY>
+<!ATTLIST hide
+if-class CDATA #IMPLIED>
+
+<!-- Indicates whether there should be a database index for this field -->
+<!ELEMENT indexed EMPTY>
+
+<!-- Indicates a conversion for String fields
+ Value can be one of "upper", "lower", "mixed"
+ Class-name is a class name, indicating an implementation of org.equanda.validation.CaseConverter
+ Not allowed for calculated and auto fields.
+ -->
+<!ELEMENT case EMPTY>
+<!ATTLIST case
+value (upper|lower|mixed) "mixed"
+class-name CDATA #IMPLIED>
+
+
+<!ELEMENT internal EMPTY>
+<!ELEMENT link-name (#PCDATA)>
+
+<!ELEMENT constraints (
+ (unique)?,
+ (unique-for)?,
+ (required)?,
+ (immutable)?,
+ (immutable-if|mutable-even-if|compare)*,
+ (value-when-null)?,
+ (value-when-zero)?
+ )>
+
+<!--
+ Unique fields are not allowed to be multiple, calculated, link.
+-->
+<!ELEMENT unique EMPTY>
+<!ATTLIST unique
+convert-class CDATA #IMPLIED>
+
+<!--
+ unique-for indicates that a field is unique for a specific value in another field in the same table (typically a link field).
+ Same as unique, unique-for fields are not allowed to be multiple, calculated, link.
+-->
+<!ELEMENT unique-for (#PCDATA)>
+
+<!ELEMENT immutable EMPTY>
+<!ELEMENT required EMPTY>
+
+<!ELEMENT immutable-if EMPTY>
+<!ATTLIST immutable-if
+field CDATA #REQUIRED>
+
+<!ELEMENT mutable-even-if EMPTY>
+<!ATTLIST mutable-even-if
+field CDATA #REQUIRED
+when CDATA #IMPLIED>
+
+<!--
+ Constraint where fields need to be compared. Can be defined at field or table level.
+ test can be one of: =,!=,<,>,<=,>=, except for link fields, where only "type" is allowed
+ For boolean fields, only "=" and "!=" are allowed as tests for compare.
+ Not allowed for compare for auto and calculated, and multiple.
+ If defined at table level, left can not be immutable
+-->
+<!ELEMENT compare EMPTY>
+<!ATTLIST compare
+test CDATA #REQUIRED
+value CDATA #IMPLIED
+left CDATA #IMPLIED
+right CDATA #IMPLIED>
+
+<!--
+ Replace the value which is returned by the value of another field when the value for this field is null.
+
+ Only allowed for string, timestamp and date fields, but not for multiple fields.
+
+ Path (if specified) is the name of a field linked to a table which contains the specified field. Otherwise, the field
+ should be in the current table.
+ -->
+<!ELEMENT value-when-null EMPTY>
+<!ATTLIST value-when-null
+field CDATA #REQUIRED
+path CDATA #IMPLIED
+>
+
+
+<!--
+ Replace the value which is returned by the value of another field when the value for this field is zero.
+
+ Only allowed for int and double and boolean fields, but not for multiple fields.
+
+ Path (if specified) is the name of a field linked to a table which contains the specified field. Otherwise, the field
+ should be in the current table.
+ -->
+<!ELEMENT value-when-zero EMPTY>
+<!ATTLIST value-when-zero
+field CDATA #REQUIRED
+path CDATA #IMPLIED
+>
+
+
+<!--
+ define a selector method which selects records based on the selection criteria
+ A select can either define criteria (selection tags), or define a list of subselects.
+ Subselects are a way to build brackets in the selection. The operator which has to be used can be specified.
+ The "TRY" operator is special. The subselects are tried in order.
+ When there was no result, the next subselect is executed.
+ The "ADD" operator is similar, but the result is a combination of the results of the subselects.
+ Though not specified by this model, a (sub)select should have either subselect of selection children,
+ not a combination.
+ "TRY" and "ADD" are not allowed for selects with direct selections (no subselects)
+ "order" is the name of the field, to be used in a order by clause. EQUANDA_MODIFIED is also supported.
+ The field used for order is not allowed to be one of multiple, boolean, link.
+ You may indicate "-field" to have descending order or just "field" for ascending order.
+ "limit"="yes" means the query will have a limit clause too. (Parameter for "limit" is variable).
+ "limit" and "order" are not allowed for selects of type "single".
+-->
+<!ELEMENT select ( (description)?,
+ (subselect)*,
+ (selection)*,
+ (query)?,
+ (security-role)?,
+ (hide)?,
+ (view-filter)?
+ )>
+<!ATTLIST select
+name CDATA #REQUIRED
+type (single|multiple) "multiple"
+operator (AND|OR|TRY|ADD) "AND"
+order CDATA #IMPLIED
+limit (no|yes) "no">
+
+<!ELEMENT subselect ( (description)?,
+ (subselect)*,
+ (selection)*,
+ (query)?
+ )>
+<!ATTLIST subselect
+operator (AND|OR) "AND">
+
+<!--
+ field is used for the field to select on
+ EQUANDA_MODIFIED can be used as a selection too.
+ field cannot be link or calculated.
+ table if the (root) table this field is part of, defaults to the table in which the selector is defined
+ path is the path which is used to get from the current table to the other table, defaults to the table attribute
+ name is the variable name for the parameter on the selector method (defaults to the fields name)
+ from in a possible extra part for the from clause in the EJB-QL statement
+ base is the base object which is added before the path (default "o")
+ test can be one of: =,!=,<,>,<=,>=,is null,is not null,like
+ is null, is not null are not allowed for int, boolean and double fields.
+ like is (partialy) supported. For strings only, you can use an expression "like _?%" (with wildcard), as test. For
+ the rest of types, the substring after "like" is currently neglected.
+ skip-parameter indicates whether this is a parameter to the method or not (allows you to reuse a parameter more than once)
+-->
+<!ELEMENT selection (suggest)?>
+<!ATTLIST selection
+field CDATA #REQUIRED
+table CDATA #IMPLIED
+path CDATA #IMPLIED
+name CDATA #IMPLIED
+from CDATA #IMPLIED
+base CDATA #IMPLIED
+test CDATA #IMPLIED
+skip-parameter (true|false) "false">
+
+<!--
+ Query allow you to explicitly define the EJB-QL query which needs to be used for a selector.
+ The (order and type of the) parameters are defined using the preceding selection tags.
+-->
+<!ELEMENT query (#PCDATA)>
+
+
+<!--
+ Comma separated list of filter names. The select is only visible in gui if NONE of these filters is active.
+-->
+<!ELEMENT view-filter (#PCDATA)>
+
+<!ELEMENT build ((description)?,(parameter)*,(set)*,security-role?)>
+<!ATTLIST build
+name CDATA #REQUIRED>
+
+<!ELEMENT set (#PCDATA)>
+<!ATTLIST set
+field CDATA #REQUIRED>
+
+<!--
+ An action can be defined on a table. These actions always have to be coded in the Mediator class
+ It is advised (but not enforced) that action names do not clash with field names.
+
+ An action can have parameters. The type of these has to be defined as well.
+ Parameters should be either simple types, of fully qualified
+
+ If the result for an action is "java.net.URL" then clicking on the action will jump to that page in the gui.
+-->
+<!ELEMENT action ((description)?, (parameter)*, security-role?, (hide)?)>
+<!ATTLIST action
+name CDATA #REQUIRED
+return CDATA "void"
+>
+
+<!ELEMENT parameter ((description)?, (suggest)?, (case)?)>
+<!ATTLIST parameter
+type CDATA #REQUIRED
+name CDATA #IMPLIED
+>
+
+
+<!--
+ Suggest is something used in GUI, to show a default for a parameter of an action or selector.
+ For selectors and fields, the variants with field and field-with-path are not usable (there is no "current" object,
+ so you could reference a value of a field in it).
+
+ It can be:
+ - a value (a value of the type of the parameter).
+ - a field (a field in the current table).
+ - a field and a path (path is a field in the current table, field is in the path table).
+ - a table and a field (a table name and a field in that table).
+ - a list of values (shown in gui as a choice field), sepparated by comma
+
+ Field and Path cannot be multiple
+ Field cannot be a link.
+ Path should always be a link.
+
+ Suggest is only used for parameters of type string, boolean, int, double, date, timestamp
+ -->
+<!ELEMENT suggest EMPTY>
+
+<!ATTLIST suggest
+value CDATA #IMPLIED
+field CDATA #IMPLIED
+path CDATA #IMPLIED
+table CDATA #IMPLIED
+value-list CDATA #IMPLIED
+>
Modified: trunk/equanda-dm/src/test/java/org/equanda/domain/xml/ActionTest.java
===================================================================
--- trunk/equanda-generate/src/test/java/org/equanda/domain/xml/ActionTest.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/test/java/org/equanda/domain/xml/ActionTest.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -25,6 +25,7 @@
package org.equanda.domain.xml;
import com.thoughtworks.xstream.XStream;
+
import java.util.List;
/**
Modified: trunk/equanda-dm/src/test/java/org/equanda/domain/xml/DefaultInstanceTest.java
===================================================================
--- trunk/equanda-generate/src/test/java/org/equanda/domain/xml/DefaultInstanceTest.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/test/java/org/equanda/domain/xml/DefaultInstanceTest.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -25,7 +25,6 @@
package org.equanda.domain.xml;
import com.thoughtworks.xstream.XStream;
-import org.equanda.domain.xml.aid.DefaultType;
/**
* test for data-filter class
Deleted: trunk/equanda-dm/src/test/java/org/equanda/domain/xml/ParseTableTest.java
===================================================================
--- trunk/equanda-generate/src/test/java/org/equanda/domain/xml/ParseTableTest.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/test/java/org/equanda/domain/xml/ParseTableTest.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -1,66 +0,0 @@
-/**
- * This file is part of the equanda project.
- *
- * The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
- * ANY KIND, either express or implied. See the License for the specific language governing rights and
- * limitations under the License.
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- */
-
-package org.equanda.domain.xml;
-
-import org.equanda.util.IniFile;
-import org.equanda.generate.Generator;
-import junit.framework.TestCase;
-import java.util.List;
-
-/**
- * Test transformation and validation of table objects.
- *
- * @author <a href="mailto:jo...@pr...">Joachim Van der Auwera</a>
- */
-public class ParseTableTest
- extends TestCase
-{
- private IniFile ini = new IniFile();
-
- protected void setUp()
- throws Exception
- {
- ini.addValue( "config", "template", "null" );
- ini.addValue( "config", "outputdir", "." );
- }
-
- public void testInvalidTemplateParent()
- throws Exception
- {
- ini.addValue( "config", "definition", "classpath://domain/xml/table/InvalidTemplateParent.xml" );
- Generator gen = new Generator( ini, null );
- gen.generate();
- assertTrue( gen.getFailed() );
- }
-
- public void testInvalidTemplateParent2()
- throws Exception
- {
- ini.addValue( "config", "definition", "classpath://domain/xml/table/InvalidTemplateParent2.xml" );
- Generator gen = new Generator( ini, null );
- gen.generate();
- assertTrue( gen.getFailed() );
- }
-}
Modified: trunk/equanda-dm/src/test/java/org/equanda/domain/xml/ParserIncludeTest.java
===================================================================
--- trunk/equanda-generate/src/test/java/org/equanda/domain/xml/ParserIncludeTest.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/test/java/org/equanda/domain/xml/ParserIncludeTest.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -27,9 +27,7 @@
import junit.framework.TestCase;
import org.equanda.util.IniFile;
-import java.util.Enumeration;
import java.util.List;
-import java.util.Properties;
/**
* Test for proper handling of includes in the parser.
Modified: trunk/equanda-dm/src/test/java/org/equanda/domain/xml/ParserTransformationTest.java
===================================================================
--- trunk/equanda-generate/src/test/java/org/equanda/domain/xml/ParserTransformationTest.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/test/java/org/equanda/domain/xml/ParserTransformationTest.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -24,10 +24,11 @@
package org.equanda.domain.xml;
+import junit.framework.TestCase;
import org.equanda.domain.xml.transform.RootTable;
import org.equanda.util.IniFile;
+
import java.util.List;
-import junit.framework.TestCase;
/**
* Test for proper handling of includes in the parser.
Modified: trunk/equanda-dm/src/test/java/org/equanda/domain/xml/XStreamTestAdapter.java
===================================================================
--- trunk/equanda-generate/src/test/java/org/equanda/domain/xml/XStreamTestAdapter.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/test/java/org/equanda/domain/xml/XStreamTestAdapter.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -24,9 +24,9 @@
package org.equanda.domain.xml;
-import junit.framework.TestCase;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.annotations.Annotations;
+import junit.framework.TestCase;
import org.equanda.util.ReflectionUtil;
/**
Modified: trunk/equanda-dm/src/test/java/org/equanda/domain/xml/aid/ValidationUtilTest.java
===================================================================
--- trunk/equanda-generate/src/test/java/org/equanda/domain/xml/aid/ValidationUtilTest.java 2008-11-24 13:57:55 UTC (rev 874)
+++ trunk/equanda-dm/src/test/java/org/equanda/domain/xml/aid/ValidationUtilTest.java 2008-12-01 17:55:09 UTC (rev 882)
@@ -24,9 +24,10 @@
package org.equanda.domain.xml.aid;
-import java.util.Arrays;
import junit.framework.TestCase;
+import java.util.Arrays;
+
/**
* Verify the ValidationUtil class
*
Modified: trunk/equanda-generate/pom.xml
===================================================================
--- trunk/equanda-generate/pom.xml 2008-12-01 17:42:03 UTC (rev 881)
+++ trunk/equanda-generate/pom.xml 2008-12-01 17:55:09 UTC (rev 882)
@@ -31,6 +31,10 @@
<artifactId>equanda-util</artifactId>
</dependency>
<dependency>
+ <groupId>org.equanda</groupId>
+ <artifactId>equanda-dm</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<scope>provided</scope>
Deleted: trunk/equanda-generate/src/main/resources/equanda.dtd
===================================================================
--- trunk/equanda-generate/src/main/resources/equanda.dtd 2008-12-01 17:42:03 UTC (rev 881)
+++ trunk/equanda-generate/src/main/resources/equanda.dtd 2008-12-01 17:55:09 UTC (rev 882)
@@ -1,623 +0,0 @@
-c<!--
- This file is part of the equanda project.
-
- * The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at http://www.mozilla.org/MPL/
- *
- * Code generated by applying this template can be freely used.
- *
- * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
- * ANY KIND, either express or implied. See the License for the specific language governing rights and
- * limitations under the License.
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser Gen...
[truncated message content] |