You can subscribe to this list here.
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(6) |
Aug
(41) |
Sep
(44) |
Oct
(31) |
Nov
(54) |
Dec
(53) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
(71) |
Feb
(66) |
Mar
(65) |
Apr
(73) |
May
(68) |
Jun
(69) |
Jul
(28) |
Aug
(49) |
Sep
(44) |
Oct
(77) |
Nov
(64) |
Dec
(78) |
| 2009 |
Jan
(50) |
Feb
(28) |
Mar
(41) |
Apr
(30) |
May
(5) |
Jun
(30) |
Jul
(6) |
Aug
(2) |
Sep
(18) |
Oct
(11) |
Nov
(6) |
Dec
(10) |
| 2010 |
Jan
(5) |
Feb
(8) |
Mar
(4) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <tri...@us...> - 2007-08-21 17:08:01
|
Revision: 43
http://equanda.svn.sourceforge.net/equanda/?rev=43&view=rev
Author: triathlon98
Date: 2007-08-21 10:07:57 -0700 (Tue, 21 Aug 2007)
Log Message:
-----------
1778586 remove value and buildvalue objects
Modified Paths:
--------------
trunk/equanda-client/src/main/java/org/equanda/persistence/om/EquandaProxy.java
trunk/equanda-client/src/main/java/org/equanda/persistence/om/EquandaSelector.java
trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/EquandaNodesMap.java
trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMField.java
trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMRootTable.java
trunk/equanda-generate/src/main/resources/equanda.dtd
trunk/equanda-generate/src/main/resources/org/equanda/infrastructure/useradmin/EquandaRole.table
trunk/equanda-generate/src/main/resources/org/equanda/infrastructure/useradmin/EquandaUser.table
trunk/equanda-generate/src/main/velocity/docs/field.vm
trunk/equanda-generate/src/main/velocity/ejb3/ObjectBase.java.vm
trunk/equanda-generate/src/main/velocity/ejb3/ObjectBean.java.vm
trunk/equanda-generate/src/main/velocity/ejb3/ObjectSelectorBean.java.vm
trunk/equanda-generate/src/main/velocity/ejb3/ObjectSelectorEJB.java.vm
trunk/equanda-generate/src/main/velocity/ejb3/ProxyObjectUpdater.java.vm
trunk/equanda-generate/src/main/velocity/ejb3.ini
trunk/test/src/equanda/xejb/BuilderSet.table
trunk/test/src/equanda/xejb/Cloneable.table
trunk/test/src/equanda/xejb/test.xml
trunk/test/src/etc/site_tapestry/site.war/translations.txt
trunk/test/src/main/be/equanda/test/om/server/EquandaRoleMediator.java
trunk/test/src/main/be/equanda/test/pages/testFilters/TestFilters.java
trunk/test/src/main/be/equanda/test/validator/OtherChoices.java
trunk/test/src/main/be/equanda/test/xejb/BuilderSetTest.java
trunk/test/src/main/be/equanda/test/xejb/CloneableTest.java
trunk/test/src/main/be/equanda/test/xejb/DowngradeTest.java
trunk/test/src/main/be/equanda/test/xejb/FieldTest.java
trunk/test/src/main/be/equanda/test/xejb/RemoveLinksTest.java
trunk/test/src/main/be/equanda/test/xejb/SelectionTest.java
trunk/test/src/main/be/equanda/test/xejb/StringLengthTest.java
trunk/test/src/main/be/equanda/test/xejb/UnidQueryTest.java
trunk/test/src/main/be/equanda/test/xejb/UniqueFieldsTest.java
Removed Paths:
-------------
trunk/equanda-client/src/main/java/org/equanda/persistence/om/EquandaClient.java
trunk/equanda-client/src/main/java/org/equanda/persistence/om/EquandaValue.java
trunk/equanda-generate/src/main/velocity/ejb3/LazyValueList.java.vm
trunk/equanda-generate/src/main/velocity/ejb3/ObjectBean-update-included-value.vm
trunk/equanda-generate/src/main/velocity/ejb3/ObjectBuildValue.java.vm
trunk/equanda-generate/src/main/velocity/ejb3/ObjectValue.java.vm
trunk/test/src/equanda/xejb/BuildValueTest.table
trunk/test/src/equanda/xejb/ValueInclude.table
trunk/test/src/main/be/equanda/test/xejb/BuildValueTest.java
trunk/test/src/main/be/equanda/test/xejb/ValueIncludeTest.java
Deleted: trunk/equanda-client/src/main/java/org/equanda/persistence/om/EquandaClient.java
===================================================================
--- trunk/equanda-client/src/main/java/org/equanda/persistence/om/EquandaClient.java 2007-08-21 14:01:55 UTC (rev 42)
+++ trunk/equanda-client/src/main/java/org/equanda/persistence/om/EquandaClient.java 2007-08-21 17:07:57 UTC (rev 43)
@@ -1,137 +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.persistence.om;
-
-import javolution.lang.TextBuilder;
-
-import java.io.Serializable;
-import java.lang.reflect.Method;
-import java.sql.Timestamp;
-
-/**
- * Base client object, shared code between EquandaValue and EquandaProxy.
- * Allows retrieval of UOID, type, modification date, version.
- *
- * @author <a href="mailto:jo...@pr...">Joachim Van der Auwera</a>
- */
-
-public abstract class EquandaClient
- implements HasUOID, Serializable
-{
- protected UOID uoid;
- protected ObjectType equandaType;
- protected Timestamp equandaModificationDate;
- protected long equandaVersion;
- protected boolean equandaStatusModified;
- private static final long serialVersionUID = -3339098667402816180L;
-
- public UOID getUOID() { return uoid; }
-
- public java.sql.Timestamp getEquandaModificationDate() { return equandaModificationDate; }
-
- public long getEquandaVersion() { return equandaVersion; }
-
- public boolean isEquandaModificationDateModified() { return false; }
-
- public abstract String getEquandaStatus();
-
- public abstract void setEquandaStatus( String status );
-
- public String getEquandaType()
- {
- if ( equandaType == null )
- {
- throw new IllegalStateException( "Type not yet specified." );
- }
- return equandaType.getType();
- }
-
- public String getEquandaName()
- {
- if ( equandaType == null )
- {
- throw new IllegalStateException( "Type not yet specified." );
- }
- return equandaType.getName();
- }
-
- public boolean isEquandaType( String type )
- {
- if ( equandaType == null )
- {
- throw new IllegalStateException( "Type not yet specified." );
- }
- return equandaType.isType( type );
- }
-
- public String toString()
- {
- TextBuilder tb = TextBuilder.newInstance();
- Class clazz = this.getClass();
- tb.append( clazz.getName() );
- tb.append( " " );
- tb.append( getUOID() );
- try
- {
- Method method = clazz.getMethod( "getReference" );
- Object ref = method.invoke( this );
- if ( ref instanceof String )
- {
- tb.append( " Reference " );
- tb.append( ref );
- }
- }
- catch ( Exception ex )
- {}
- return tb.toString();
- }
-
- /**
- * Set the type of object which should be used. This is a helper routine to allow using isEquandaType()
- * for checking of object type. This method is only allowed for object building (not for objects
- * which already exists on the server.
- * When an invalid type identifier is specified, then later calls to read the type will throw
- * IllegalStateException.
- *
- * @param type base type which will be used to build the actual object
- * @throws IllegalStateException
- */
- public abstract void setEquandaType( String type );
-
- public abstract boolean isModified();
-
- /**
- * utility routine to test equality of objects without relying on one of them being not null.
- *
- * @param obj1 one of the objects to compare
- * @param obj2 other object to compare
- * @return true when bot objects are equal
- */
- protected boolean objectEquals( Object obj1, Object obj2 )
- {
- if ( obj1 == null ) return ( obj2 == null ) ? ( true ) : ( false );
- return obj1.equals( obj2 );
- }
-}
Modified: trunk/equanda-client/src/main/java/org/equanda/persistence/om/EquandaProxy.java
===================================================================
--- trunk/equanda-client/src/main/java/org/equanda/persistence/om/EquandaProxy.java 2007-08-21 14:01:55 UTC (rev 42)
+++ trunk/equanda-client/src/main/java/org/equanda/persistence/om/EquandaProxy.java 2007-08-21 17:07:57 UTC (rev 43)
@@ -24,18 +24,116 @@
package org.equanda.persistence.om;
+import javolution.lang.TextBuilder;
+
+import java.io.Serializable;
+import java.sql.Timestamp;
+import java.lang.reflect.Method;
+
/**
* Base class for proxies.
*
* @author <a href="mailto:an...@pa...">Andrei Chiritescu</a>
*/
public abstract class EquandaProxy<T extends EquandaProxy>
- extends EquandaClient
+ implements HasUOID, Serializable
{
+ protected UOID uoid;
+ protected ObjectType equandaType;
+ protected Timestamp equandaModificationDate;
+ protected long equandaVersion;
+ protected boolean equandaStatusModified;
private static final long serialVersionUID = 2777313477933801153L;
-
protected boolean update;
+ public UOID getUOID() { return uoid; }
+
+ public java.sql.Timestamp getEquandaModificationDate() { return equandaModificationDate; }
+
+ public long getEquandaVersion() { return equandaVersion; }
+
+ public boolean isEquandaModificationDateModified() { return false; }
+
+ public abstract String getEquandaStatus();
+
+ public abstract void setEquandaStatus( String status );
+
+ public String getEquandaType()
+ {
+ if ( equandaType == null )
+ {
+ throw new IllegalStateException( "Type not yet specified." );
+ }
+ return equandaType.getType();
+ }
+
+ public String getEquandaName()
+ {
+ if ( equandaType == null )
+ {
+ throw new IllegalStateException( "Type not yet specified." );
+ }
+ return equandaType.getName();
+ }
+
+ public boolean isEquandaType( String type )
+ {
+ if ( equandaType == null )
+ {
+ throw new IllegalStateException( "Type not yet specified." );
+ }
+ return equandaType.isType( type );
+ }
+
+ public String toString()
+ {
+ TextBuilder tb = TextBuilder.newInstance();
+ Class clazz = this.getClass();
+ tb.append( clazz.getName() );
+ tb.append( " " );
+ tb.append( getUOID() );
+ try
+ {
+ Method method = clazz.getMethod( "getReference" );
+ Object ref = method.invoke( this );
+ if ( ref instanceof String )
+ {
+ tb.append( " Reference " );
+ tb.append( ref );
+ }
+ }
+ catch ( Exception ex )
+ {/*ignore*/}
+ return tb.toString();
+ }
+
+ /**
+ * Set the type of object which should be used. This is a helper routine to allow using isEquandaType()
+ * for checking of object type. This method is only allowed for object building (not for objects
+ * which already exists on the server.
+ * When an invalid type identifier is specified, then later calls to read the type will throw
+ * IllegalStateException.
+ *
+ * @param type base type which will be used to build the actual object
+ * @throws IllegalStateException
+ */
+ public abstract void setEquandaType( String type );
+
+ public abstract boolean isModified();
+
+ /**
+ * utility routine to test equality of objects without relying on one of them being not null.
+ *
+ * @param obj1 one of the objects to compare
+ * @param obj2 other object to compare
+ * @return true when bot objects are equal
+ */
+ protected boolean objectEquals( Object obj1, Object obj2 )
+ {
+ if ( obj1 == null ) return ( obj2 == null ) ? ( true ) : ( false );
+ return obj1.equals( obj2 );
+ }
+
public abstract T cloneProxy( boolean cloneUoid );
public abstract void equandaUpdate()
Modified: trunk/equanda-client/src/main/java/org/equanda/persistence/om/EquandaSelector.java
===================================================================
--- trunk/equanda-client/src/main/java/org/equanda/persistence/om/EquandaSelector.java 2007-08-21 14:01:55 UTC (rev 42)
+++ trunk/equanda-client/src/main/java/org/equanda/persistence/om/EquandaSelector.java 2007-08-21 17:07:57 UTC (rev 43)
@@ -38,18 +38,12 @@
{
String getEquandaName();
- EquandaValue findUOIDValue( UOID uoid )
- throws EquandaPersistenceException;
-
EquandaProxy findUOIDProxy( UOID uoid )
throws EquandaPersistenceException;
HasUOID findUOID( UOID uoid )
throws EquandaPersistenceException;
- EquandaValue[] findMultipleUOIDValue( UOID[] arr )
- throws EquandaPersistenceException;
-
EquandaProxy[] findMultipleUOIDProxy( UOID[] arr )
throws EquandaPersistenceException;
@@ -57,9 +51,6 @@
* run query methods
*/
- List findEquandaValue( EquandaQuery query )
- throws EquandaPersistenceException;
-
List findEquandaProxy( EquandaQuery query )
throws EquandaPersistenceException;
@@ -75,9 +66,6 @@
int equandaRunUpdateQuery( EquandaQuery query )
throws EquandaPersistenceException;
- EquandaValue findEquandaSingleValue( EquandaQuery query )
- throws EquandaPersistenceException;
-
EquandaProxy findEquandaSingleProxy( EquandaQuery query )
throws EquandaPersistenceException;
Deleted: trunk/equanda-client/src/main/java/org/equanda/persistence/om/EquandaValue.java
===================================================================
--- trunk/equanda-client/src/main/java/org/equanda/persistence/om/EquandaValue.java 2007-08-21 14:01:55 UTC (rev 42)
+++ trunk/equanda-client/src/main/java/org/equanda/persistence/om/EquandaValue.java 2007-08-21 17:07:57 UTC (rev 43)
@@ -1,40 +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.persistence.om;
-
-import java.io.Serializable;
-
-
-/**
- * Base value object, allows retrieval of UOID, type and modification date
- *
- * @author <a href="mailto:jo...@pr...">Joachim Van der Auwera</a>
- */
-public abstract class EquandaValue
- extends EquandaClient
- implements Serializable
-{
- private static final long serialVersionUID = -3874910799583833190L;
-}
Modified: trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/EquandaNodesMap.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/EquandaNodesMap.java 2007-08-21 14:01:55 UTC (rev 42)
+++ trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/EquandaNodesMap.java 2007-08-21 17:07:57 UTC (rev 43)
@@ -58,8 +58,6 @@
put( "other-side-multiple",
new ElementInfo( "other-side-multiple", "other-side-multiple-or-other-side-single" ) );
put( "other-side-single", new ElementInfo( "other-side-single", "other-side-multiple-or-other-side-single" ) );
- put( "value-include", new ElementInfo( "value-include", "value-include-or-value-exclude" ) );
- put( "value-exclude", new ElementInfo( "value-exclude", "value-include-or-value-exclude" ) );
put( "cascade-delete", new ElementInfo( "cascade-delete", "cascade-delete-or-cascade-keep-or-allow-delete" ) );
put( "cascade-keep", new ElementInfo( "cascade-keep", "cascade-delete-or-cascade-keep-or-allow-delete" ) );
put( "allow-delete", new ElementInfo( "allow-delete", "cascade-delete-or-cascade-keep-or-allow-delete" ) );
@@ -78,7 +76,6 @@
put( "no-display", new ElementInfo( "no-display", "display-or-no-display" ) );
put( "hide", new ElementInfo( "hide", "hide-or-no-hide" ) );
put( "no-hide", new ElementInfo( "no-hide", "hide-or-no-hide" ) );
- put( "buildvalue", new ElementInfo( "buildvalue", "buildvalue" ) );
put( "indexed", new ElementInfo( "indexed", "indexed" ) );
put( "case", new ElementInfo( "case", "case" ) );
put( "internal", new ElementInfo( "internal", "internal" ) );
Modified: trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMField.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMField.java 2007-08-21 14:01:55 UTC (rev 42)
+++ trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMField.java 2007-08-21 17:07:57 UTC (rev 43)
@@ -99,15 +99,12 @@
private boolean hide; // hide field in GUI?
private boolean hideIf; // hide field in GUI depending on a class?
private String hideIfClass; // Class implementing the HideIf interface, to be used in GUI at runtime, determining the visibility of the field
- private boolean buildValue; // should this field be included in the buildValue object
private String wsValue = "UOID"; // field to serialize for ws queries for linked fields
private String wsRole = "|all|"; // roles which can get this field when serializing for ws queries
private String securityRole;
private int otherSideMultiplicity = OTHER_SIDE_UNKNOWN; // multiplicity of other side (for links only)
private boolean bidirectional; //is link bidirectional?
private String defaultType; // type of default: value, auto, class
- private boolean valueInclude;
- private boolean valueExclude;
private boolean embedded;
private boolean cascadeDelete;
private boolean cascadeKeep;
@@ -140,10 +137,10 @@
private static String[] childrenList = { "description", "internal", "link-name", "choice", "multiple",
"owner", "auto", "calculated", "other-side-multiple", "other-side-single",
- "value-include", "value-exclude", "cascade-keep", "cascade-delete", "allow-delete",
+ "cascade-keep", "cascade-delete", "allow-delete",
"default", "use-relation-table", "use-relation-field", "suggest", "cloneable", "not-cloneable",
"constraints", "display", "no-display", "hide", "no-hide", "ws-value",
- "ws-role", "buildvalue", "indexed", "case", "security-role", "if",
+ "ws-role", "indexed", "case", "security-role", "if",
"is-reference", "is-description", "embedded", "include" };
private static final String[] requiredAttributes = { "name" };
@@ -496,15 +493,6 @@
calculated = true;
cloneable = false;
}
- else if ( tag.equals( "value-include" ) )
- {
- if ( !isLink() ) return err( "is not link so it cannot be value-include" );
- valueInclude = true;
- }
- else if ( tag.equals( "value-exclude" ) )
- {
- valueExclude = true;
- }
else if ( tag.equals( "embedded" ) )
{
if ( !isLink() ) return err( "is not a link so it cannot be embedded" );
@@ -573,22 +561,16 @@
else if ( tag.equals( "display" ) )
{
if ( internal ) return err( "is internal so it cannot be displayed!" );
- if ( valueExclude ) return err( "is value-exclude so it cannot be displayed!" );
display = true;
}
else if ( tag.equals( "no-display" ) )
{
display = false;
}
- else if ( tag.equals( "buildvalue" ) )
- {
- buildValue = true;
- }
else if ( tag.equals( "ws-value" ) )
{
// clear possible default, rest is accepted as String, but only for linked field
if ( type != TYPE_LINK ) return err( "ws-value only allowed for linked fields" );
- if ( isValueInclude() ) return err( "is value-include so it can not be ws-value" );
wsValue = "";
inTag = TAG_WS_VALUE;
}
@@ -1218,11 +1200,6 @@
return fieldDescription;
}
- public boolean isBuildValue()
- {
- return buildValue;
- }
-
public boolean hasCompare()
{
return compare != null;
@@ -1908,16 +1885,6 @@
return bidirectional;
}
- public boolean isValueInclude()
- {
- return valueInclude;
- }
-
- public boolean isValueExclude()
- {
- return valueExclude;
- }
-
public boolean isEmbedded()
{
return embedded;
Modified: trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMRootTable.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMRootTable.java 2007-08-21 14:01:55 UTC (rev 42)
+++ trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMRootTable.java 2007-08-21 17:07:57 UTC (rev 43)
@@ -229,7 +229,7 @@
return getChildren( "field" );
}
- public ArrayList getSortedFields()
+ public ArrayList<OMField> getSortedFields()
{
ArrayList<OMField> list = getFields();
Collections.sort( list, new PriorityComparator() );
@@ -237,24 +237,16 @@
}
class PriorityComparator
- implements Comparator
+ implements Comparator<OMField>
{
- public int compare( Object o1, Object o2 )
+ public int compare( OMField o1, OMField o2 )
{
- if ( !( o1 instanceof OMField ) )
+ if ( o1.getPriority() < o2.getPriority() )
{
- throw new ClassCastException();
- }
- if ( !( o2 instanceof OMField ) )
- {
- throw new ClassCastException();
- }
- if ( ( (OMField) o1 ).getPriority() < ( (OMField) o2 ).getPriority() )
- {
return -1;
}
- if ( ( (OMField) o1 ).getPriority() > ( (OMField) o2 ).getPriority() )
+ if ( o1.getPriority() > o2.getPriority() )
{
return 1;
}
@@ -273,7 +265,7 @@
public ArrayList<OMSelect> getSelects()
{
if ( selects != null ) return selects;
- selects = getChildren( "select" );
+ selects = (ArrayList<OMSelect>) getChildren( "select" );
if ( !hasSelect( "equandaAll" ) )
{
// add equandaAll select for all tables
@@ -672,15 +664,7 @@
{
if ( field.isLink() )
{
- if ( !field.isValueInclude() )
- {
- params.append( "UOID" );
- }
- else
- {
- params.append( field.getLinkTable().getName() );
- params.append( "Value" );
- }
+ params.append( "UOID" );
}
else
{
Modified: trunk/equanda-generate/src/main/resources/equanda.dtd
===================================================================
--- trunk/equanda-generate/src/main/resources/equanda.dtd 2007-08-21 14:01:55 UTC (rev 42)
+++ trunk/equanda-generate/src/main/resources/equanda.dtd 2007-08-21 17:07:57 UTC (rev 43)
@@ -131,7 +131,7 @@
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|%param.tag;)*, (include)*, (hide|no-hide)?)>
+<!ELEMENT page ((description)?,(field|group|include|%param.tag;)*, (hide|no-hide)?)>
<!ATTLIST page
name CDATA #IMPLIED>
@@ -144,7 +144,7 @@
<!-- Allow grouping of fields. In a GUI this could be represented by a box around the items. -->
-<!ELEMENT group ((description)?,(field|group|%param.tag;)*, (include)*, (hide|no-hide)?)>
+<!ELEMENT group ((description)?,(field|group|include|%param.tag;)*, (hide|no-hide)?)>
<!ATTLIST group
name CDATA "">
@@ -173,7 +173,6 @@
(auto|calculated)?,
(other-side-multiple|other-side-single)?,
(use-relation-table|use-relation-field)?,
- (value-include|value-exclude)?,
(cascade-delete|cascade-keep|allow-delete)?,
default?,
suggest?,
@@ -291,12 +290,6 @@
<!ELEMENT use-relation-field EMPTY>
<!--
- Indication that for a link object, the related object should be included in
- the value object (instead of the UOID)
--->
-<!ELEMENT value-include EMPTY>
-
-<!--
Indication that for a link field, to delete referenced items when the parent is deleted
The link field must be single and bidirectional.
-->
@@ -314,14 +307,7 @@
-->
<!ELEMENT allow-delete EMPTY>
-
<!--
- Indication that this field is not included in the value object
- Displayed fields are not allowed to have value-exclude.
--->
-<!ELEMENT value-exclude 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).
@@ -345,7 +331,6 @@
<!--
ws-value allow replacement of a UOID with one of the referenced (string) fields for the WS interface
Only for link fields.
- Not allowed for value-include link fields.
-->
<!ELEMENT ws-value (#PCDATA)>
Modified: trunk/equanda-generate/src/main/resources/org/equanda/infrastructure/useradmin/EquandaRole.table
===================================================================
--- trunk/equanda-generate/src/main/resources/org/equanda/infrastructure/useradmin/EquandaRole.table 2007-08-21 14:01:55 UTC (rev 42)
+++ trunk/equanda-generate/src/main/resources/org/equanda/infrastructure/useradmin/EquandaRole.table 2007-08-21 17:07:57 UTC (rev 43)
@@ -35,7 +35,6 @@
<field name="Rights" type="EquandaRight">
<multiple/>
- <value-include/>
<hide/>
</field>
Modified: trunk/equanda-generate/src/main/resources/org/equanda/infrastructure/useradmin/EquandaUser.table
===================================================================
--- trunk/equanda-generate/src/main/resources/org/equanda/infrastructure/useradmin/EquandaUser.table 2007-08-21 14:01:55 UTC (rev 42)
+++ trunk/equanda-generate/src/main/resources/org/equanda/infrastructure/useradmin/EquandaUser.table 2007-08-21 17:07:57 UTC (rev 43)
@@ -30,30 +30,26 @@
<field name="TablesPreferences" type="EquandaRight">
<description>Preferences to view/or not tables</description>
- <hide/>
<multiple/>
- <value-include/>
+ <hide/>
</field>
<field name="FieldsPreferences" type="EquandaRight">
<description>Preferences to view/or not fields in Add/Edit/Single selects results</description>
- <hide/>
<multiple/>
- <value-include/>
+ <hide/>
</field>
<field name="ListPreferences" type="EquandaRight">
<description>Preferences to view/or not fields in multiple results of selects</description>
- <hide/>
<multiple/>
- <value-include/>
+ <hide/>
</field>
<field name="ReportPreferences" type="EquandaRight">
<description>Preferences to view/or not fields in reports from selects</description>
- <hide/>
<multiple/>
- <value-include/>
+ <hide/>
</field>
<field name="StartPage" type="string">
Modified: trunk/equanda-generate/src/main/velocity/docs/field.vm
===================================================================
--- trunk/equanda-generate/src/main/velocity/docs/field.vm 2007-08-21 14:01:55 UTC (rev 42)
+++ trunk/equanda-generate/src/main/velocity/docs/field.vm 2007-08-21 17:07:57 UTC (rev 43)
@@ -102,9 +102,6 @@
#if( $field.isBidirectional() )
Other-side-multiple = ${field.OtherSideMultiple} <br />
#end
- #if( $field.isValueInclude() )
- Value include <br/>
- #end
#if( $field.isUserRelationTable() )
Use relation table <br/>
#end
@@ -116,10 +113,6 @@
#end
#end
- #if ( $field.isValueExclude() )
- Value exclude <br/>
- #end
-
#if( $field.hasDefault() )
Default
#if( $field.isDefaultValue() )
@@ -222,10 +215,6 @@
hidden if class $field.HideIfClass <br/>
#end
- #if( $field.isBuildValue() )
- is Buildvalue <br />
- #end
-
#if( $field.isIndexed() )
is indexed <br />
#end
Deleted: trunk/equanda-generate/src/main/velocity/ejb3/LazyValueList.java.vm
===================================================================
--- trunk/equanda-generate/src/main/velocity/ejb3/LazyValueList.java.vm 2007-08-21 14:01:55 UTC (rev 42)
+++ trunk/equanda-generate/src/main/velocity/ejb3/LazyValueList.java.vm 2007-08-21 17:07:57 UTC (rev 43)
@@ -1,134 +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/
- *
- * 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.
- *
- * Contributor(s):
- * @author <a href="mailto:jo...@pr...">Joachim Van der Auwera</a>
- *#
-/**
- * This file is generated by equanda on $generationdate, do not modify
- */
-
-package ${package}.client;
-
-import java.util.List;
-import org.equanda.persistence.om.*;
-import org.equanda.persistence.om.query.EquandaQuery;
-import javax.naming.NamingException;
-
-
-public class ${table.Name}LazyValueList
- extends LazyList<${table.Name}Value>
-{
-
- public ${table.Name}LazyValueList( EquandaQuery query )
- {
- super(query);
- }
-
- public ${table.Name}LazyValueList( List<EquandaQuery> queries, boolean addOperator, int equandaLimit )
- {
- super(queries,addOperator, equandaLimit);
- }
-
- protected int getCacheCapacity()
- {
- #set( $capacity="0" )
- #set( $capacity=$engine.getConfig("lazylist-cache-capacity") )
- return $capacity;
- }
-
- protected int getCacheExpirationPeriod()
- {
- #set( $expiration="0" )
- #set( $expiration=$engine.getConfig("lazylist-cache-expiration") )
- return $expiration;
- }
-
- protected EquandaSelector getSelector()
- throws NamingException
- {
- return ${table.Name}SelectorEJBUtil.get();
- }
-
- protected ${table.Name}Value getOneObject( UOID uoid )
- throws NamingException, EquandaPersistenceException
- {
- ${table.Name}SelectorEJB sel = ${table.Name}SelectorEJBUtil.get();
- ${table.Name}Value res = sel.findUOIDValue(uoid);
- sel.remove();
- return res;
- }
-
- protected ${table.Name}Value getOneObject( int index )
- throws NamingException, EquandaPersistenceException
- {
- ${table.Name}SelectorEJB sel = ${table.Name}SelectorEJBUtil.get();
- int saveFirstResult = query.getFirstResult();
- int saveMaxResult = query.getMaxResults();
- query.setFirstResult( index );
- query.setMaxResults( 1 );
- List<${table.Name}Value> res = sel.equandaRunQueryValue( query );
- query.setFirstResult( saveFirstResult );
- query.setMaxResults( saveMaxResult );
- sel.remove();
- if ( res.size() == 0 ) return null;
- return res.get( 0 );
- }
-
- protected ${table.Name}Value refreshObject( ${table.Name}Value obj )
- throws NamingException, EquandaPersistenceException
- {
- ${table.Name}SelectorEJB sel = ${table.Name}SelectorEJBUtil.get();
- ${table.Name}Value res = sel.findUOIDValue( obj.getUOID() );
- sel.remove();
- return res;
- }
-
- protected ${table.Name}Value[] getMultipleObjects( UOID[] uoids )
- throws NamingException, EquandaPersistenceException
- {
- ${table.Name}SelectorEJB sel = ${table.Name}SelectorEJBUtil.get();
- ${table.Name}Value[] res = sel.findMultipleUOIDValue( uoids );
- sel.remove();
- return res;
- }
-
- protected ${table.Name}Value[] getMultipleObjects( int first, int size )
- throws NamingException, EquandaPersistenceException
- {
- ${table.Name}SelectorEJB sel = ${table.Name}SelectorEJBUtil.get();
- int saveFirstResult = query.getFirstResult();
- int saveMaxResult = query.getMaxResults();
- query.setFirstResult( first );
- query.setMaxResults( size );
- List<${table.Name}Value> col = sel.equandaRunQueryValue( query );
- ${table.Name}Value[] res = new ${table.Name}Value[ col.size() ];
- for ( int i = 0; i < col.size() ; i++ ) res[ i ] = col.get(i);
- query.setFirstResult( saveFirstResult );
- query.setMaxResults( saveMaxResult );
- sel.remove();
- return res;
- }
-}
Modified: trunk/equanda-generate/src/main/velocity/ejb3/ObjectBase.java.vm
===================================================================
--- trunk/equanda-generate/src/main/velocity/ejb3/ObjectBase.java.vm 2007-08-21 14:01:55 UTC (rev 42)
+++ trunk/equanda-generate/src/main/velocity/ejb3/ObjectBase.java.vm 2007-08-21 17:07:57 UTC (rev 43)
@@ -75,15 +75,8 @@
String getEquandaStatus();
void setEquandaStatus( String status );
- ${table.Name}BuildValue getEquandaBuildValue();
- ${table.Name}Value getEquandaValue();
-
${table.Name}Proxy getEquandaProxy();
- void setEquandaValue( ${table.Name}Value value )
- throws EquandaPersistenceException;
- void setEquandaAllValue( ${table.Name}Value value )
- throws EquandaPersistenceException;
void updateEquandaProxy( ${table.Name}Proxy proxy )
throws EquandaPersistenceException;
Deleted: trunk/equanda-generate/src/main/velocity/ejb3/ObjectBean-update-included-value.vm
===================================================================
--- trunk/equanda-generate/src/main/velocity/ejb3/ObjectBean-update-included-value.vm 2007-08-21 14:01:55 UTC (rev 42)
+++ trunk/equanda-generate/src/main/velocity/ejb3/ObjectBean-update-included-value.vm 2007-08-21 17:07:57 UTC (rev 43)
@@ -1,79 +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/
- *
- * 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.
- *
- * Contributor(s):
- * @author cabnetrom
- *#
- {
- if ( ! ($valueTypeTest) )
- {
- throw new EquandaConstraintViolation(UCV_INCLUDE_VALUE_HAS_WRONG_TYPE, "field.${table.Name}.${field.Name}.label" );
- }
- if ($valueIncluded==null) {
- $updateFunction(null);
- }
- else {
- if (${valueIncluded}.getUOID()==null)
- {
- // create one
- String type=" ";
- try {
- type=${valueIncluded}.getEquandaType();
- } catch (Exception e) {
- // no problem, equanda-type not specified
- }
- try {
- ${field.LinkTable.Name}EJB $field.VarName = ${field.LinkTable.Name}EJBUtil.get();
- ${field.VarName}.init( type
-#foreach( $fieldInLink in $field.LinkTable.Fields )
-#if( $fieldInLink.isImmutable() )
- , ${valueIncluded}.get${fieldInLink.Name}()
-#end
-#end
- );
- ${field.VarName}.setEquandaValue($valueIncluded);
- $updateFunction(${field.VarName}.getUOID());
- ${field.VarName}.remove();
- }
- catch ( Exception e )
- {
- log.error( "failed to create included value", e );
- throw new EquandaConstraintViolation( UCV_FAILED_TO_CREATE_INCLUDED_VALUE, e, "field.${table.Name}.${field.Name}.label" );
- }
- } else {
- // update
- try {
- ${field.LinkTable.Name}EJB $field.VarName=${field.LinkTable.Name}EJBUtil.get();
- ${field.VarName}.init( ${valueIncluded}.getUOID() );
- ${field.VarName}.setEquandaValue($valueIncluded);
- ${field.VarName}.remove();
- } catch (Exception e) {
- log.error("oops, unexpected problem", e);
- throw new EJBException ("failed to update included value", e);
- }
- $updateFunction(${valueIncluded}.getUOID());
- }
- }
- }
\ No newline at end of file
Modified: trunk/equanda-generate/src/main/velocity/ejb3/ObjectBean.java.vm
===================================================================
--- trunk/equanda-generate/src/main/velocity/ejb3/ObjectBean.java.vm 2007-08-21 14:01:55 UTC (rev 42)
+++ trunk/equanda-generate/src/main/velocity/ejb3/ObjectBean.java.vm 2007-08-21 17:07:57 UTC (rev 43)
@@ -42,7 +42,6 @@
import org.equanda.persistence.om.EquandaDowngradeException;
import org.equanda.persistence.om.EquandaList;
import org.equanda.persistence.om.EquandaPersistenceException;
-import org.equanda.persistence.om.EquandaValue;
import org.equanda.persistence.om.UOID;
import java.rmi.RemoteException;
@@ -382,74 +381,7 @@
return mediator.getEquandaName();
}
- #tableSecurityRole( $table )
- public ${table.Name}BuildValue getEquandaBuildValue()
- {
- mediator.init( entityManager );
- return new ${table.Name}BuildValue( getUOID()
-#foreach ($field in $table.Fields)
-#if( !$field.isInternal() && $field.isBuildValue() )
-#set( $lnk="" )
-#if( $field.isLink() )#set( $lnk="EquandaLink" )#end
-#set( $cast="" )
-#if( $field.isMultiple() )#set( $cast="(Collection<UOID>)" )#end
- , ${cast}mediator.get${lnk}${field.Name}()
-#end
-#end
- );
- }
-
@PermitAll
- public ${table.Name}Value getEquandaValue()
- {
- mediator.init( entityManager );
-#foreach ($field in $table.Fields)
-#set( $iterator="Iterator" )
-#if( !$field.isInternal() && !$field.isValueExclude() )
-#if( $field.isLink() && $field.isValueInclude())
-#if ( !$field.isMultiple())
- ${field.LinkTable.Name}EJB ${field.VarName}Obj=get${field.Name}();
- ${field.LinkTable.Name}Value ${field.VarName}Value=null;
- if (${field.VarName}Obj!=null) {
- ${field.VarName}Value=${field.VarName}Obj.getEquandaValue();
- ${field.VarName}Obj.remove();
- }
-#else
- EquandaList<${field.JavaFieldType}Value> ${field.VarName}Value=new EquandaList<${field.JavaFieldType}Value>();
- $iterator it${field.Name} = get${field.Name}().iterator();
- while ( it${field.Name}.hasNext() ) {
- ${field.LinkTable.Name}EJB ${field.VarName}Obj = (${field.LinkTable.Name}EJB)( it${field.Name}.next() );
- ${field.VarName}Value.add( ${field.VarName}Obj.getEquandaValue() );
- ${field.VarName}Obj.remove();
- }
- ${field.VarName}Value.reset();
-#set( $iterator="" )
-#end ## if !isMultiple
-#end ## if isLink && isValueInclude
-#end ## if !isInternal
-#end ## foreach field
-
- return new ${table.Name}Value( getUOID(), mediator.getEquandaTypeObject(), mediator.getEquandaModificationDate(), mediator.getEquandaStatus(), mediator.getEquandaVersion()
-#foreach($field in $table.Fields)
-#if( !$field.isInternal() && !$field.isValueExclude() )
-#if (!$field.isLink() || !$field.isValueInclude())
-#set( $lnk="" )
-#if( $field.isLink() )
- #set( $lnk="EquandaLink" )
- #set( $collectionType="UOID" )
-#else
- #set( $collectionType="$field.JavaFieldType" )
-#end
- , mediator.get${lnk}${field.Name}()
-#else
- , ${field.VarName}Value
-#end ## if isLink && !isValueInclude
-#end ## if !isInternal
-#end ## foreach field
- );
- }
-
- @PermitAll
public ${table.Name}Proxy getEquandaProxy()
{
mediator.init( entityManager );
@@ -461,178 +393,7 @@
);
}
- @PermitAll
- public void setEquandaValue( ${table.Name}Value value )
- throws EquandaPersistenceException
- {
- setEquandaValueInternal( value, false );
- }
-
/**
- * Set all fields using the value object.
- */
- @PermitAll
- public void setEquandaAllValue(${table.Name}Value value)
- throws EquandaPersistenceException
- {
- setEquandaValueInternal( value, true );
- }
-
- /**
- * Internal routine to update based on a value object, update indicates whter all fields need setting
- */
- public void setEquandaValueInternal( ${table.Name}Value value, boolean update )
- throws EquandaPersistenceException
- {
- mediator.init( entityManager );
- if ( !update )
- {
- if ( value!=null && value.getUOID()!=null )
- {
- if ( getEquandaVersion()!=value.getEquandaVersion() )
- {
- throw new ConcurrentModificationException(CME_DATA_HAS_BEEN_ALREADY_CHANGED,
- value.getEquandaVersion() + "," +
- getEquandaVersion() );
- }
- }
- }
-#set( $currentTableType="unknown" )
-
- String errorField="";
- try
- {
- if ( update || value.isEquandaStatusModified() )
- {
- errorField = "EquandaStatus";
- if ( !objectEquals( value.getEquandaStatus(), getEquandaStatus() ) )
- {
- setEquandaStatus( value.getEquandaStatus() );
- }
- }
-#foreach( $field in $table.SortedFields )
-#if( !$field.isInternal() && !$field.isImmutable() && !$field.isAuto() && !$field.isCalculated() && !$field.isValueExclude() )
-#if( $currentTableType!=$field.TableType )
- #if( $currentTableType!="unknown" ) } #end
- #set( $currentTableType=$field.TableType )
- if ( mediator.isEquandaType("$field.TableType") ) {
-#end
-#set( $fieldtype=$field.JavaFieldType )
-#set( $lnk="" )
-#if( $field.isLink() )
-#set( $lnk="EquandaLink" )
-#if ( $field.isValueInclude() )
-#set( $fieldtype="${field.LinkTable.Name}Value" )
-#else
-#set( $fieldtype="UOID" )
-#end
-#end
-#set( $fieldtype2 = $fieldtype )
-#if( $field.isLink() )#set( $fieldtype2 = "UOID" )#end
-#if( $field.isMultiple() )
- if ( update || value.is${field.Name}Modified() )
- {
- errorField="$field.Name";
- Collection<$fieldtype> al=value.get${field.Name}();
- if (al==null) {
- EquandaList<$fieldtype2> fvl=(EquandaList<$fieldtype2>)(get$lnk${field.Name}());
- for ( $fieldtype2 rem : fvl ) mediator.remove$lnk${field.Singular}( rem );
- } else {
- for ( $fieldtype ito : al )
- {
- #if( $field.isLink() && $field.isValueInclude() )
- #set( $valueIncluded = "( ito )" )
- #set( $valueTypeTest = "(ito instanceof $fieldtype)" )
- #set( $updateFunction = "mediator.add$lnk${field.Singular}" )
- #parse( "ObjectBean-update-included-value.vm" )
- #else
- mediator.add$lnk${field.Singular}( ito );
- #end
- }
- EquandaList<$fieldtype2> fvl = (EquandaList<$fieldtype2>)(get$lnk${field.Name}());
- if ( !( al instanceof EquandaList ) ) {
- if ( al.size() != fvl.size() ) {
- for ( $fieldtype2 inst : fvl )
- {
- #if( $field.isLink() && $field.isValueInclude() )
- boolean found = false;
- for ( $fieldtype uv : al )
- {
- if ( inst.equals( uv.getUOID() ) )
- {
- found = true;
- break;
- }
- }
- if ( !found ) mediator.remove$lnk${field.Singular}( inst );
- #else
- if ( !al.contains( inst ) ) mediator.remove$lnk${field.Singular}( inst );
- #end
- }
- }
- } else {
- EquandaList<$fieldtype> fval = (EquandaList<$fieldtype>) al;
- if ( fval.isModified() ) {
- Collection<$fieldtype> rem = fval.getRemoveList();
- for ( $fieldtype ro : rem )
-#if( $field.isLink() && $field.isValueInclude() )
- if ( ro == null ) {
- mediator.remove$lnk${field.Singular}( null );
- } else {
- mediator.remove$lnk${field.Singular}( ro.getUOID() );
- }
-#else
- mediator.remove$lnk${field.Singular}( ro );
-#end
- fval.reset();
- }
- }
- }
- }
-#else ## if (isMultiple...)
- if ( update || value.is${field.Name}Modified() )
- {
- errorField="$field.Name";
-#if( !$field.isLink() || !$field.isValueInclude() )
- #if( $field.isInt() || $field.isDouble() || $field.isBoolean() )
- if ( value.get${field.Name}() != get${field.Name}() )
- {
- mediator.set$lnk${field.Name}(value.get${field.Name}());
- }
- #else
- #if( $field.hasDefault() )
- if ( value.get${field.Name}()!=null || value.is${field.Name}Modified() || value.getUOID() != null )
- {
- #end
- if ( !objectEquals(value.get${field.Name}(), get${field.Name}()) )
- {
- mediator.set$lnk${field.Name}(value.get${field.Name}());
- }
- #if( $field.hasDefault() )
- }
- #end
- #end
-#else
- errorField="$field.Name";
-#set( $valueIncluded = "value.get${field.Name}()" )
-#set( $valueTypeTest = "(true)" )
-#set( $updateFunction = "mediator.set$lnk${field.Name}" )
-#parse( "ObjectBean-update-included-value.vm" )
-#end
- }
-#end
-#end ##if field can be set
-#end ##foreach field
- #if( $currentTableType!="unknown" ) } #end
- if ( CheckRulesState.getCheckRules() ) mediator.equandaCheckRules();
- }
- catch (Exception e)
- {
- throw new EquandaConstraintViolation( UCV_CONSTRAINT_VIOLATION, e, "field.${table.Name}."+errorField+".label" );
- }
- }
-
- /**
* Internal routine to update based on a proxy object, update indicates whter all fields need setting
*/
#tableSecurityRole( $table )
Deleted: trunk/equanda-generate/src/main/velocity/ejb3/ObjectBuildValue.java.vm
===================================================================
--- trunk/equanda-generate/src/main/velocity/ejb3/ObjectBuildValue.java.vm 2007-08-21 14:01:55 UTC (rev 42)
+++ trunk/equanda-generate/src/main/velocity/ejb3/ObjectBuildValue.java.vm 2007-08-21 17:07:57 UTC (rev 43)
@@ -1,107 +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/
- *
- * 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.
- *
- * Contributor(s):
- * @author <a href="mailto:jo...@pr...">Joachim Van der Auwera</a>
- *#
-/**
- * This file is generated by equanda on $generationdate, do not modify
- */
-
-package ${package}.client;
-
-import org.equanda.persistence.om.UOID;
-
-import java.util.ArrayList;
-import java.io.Serializable;
-
-/**
- * BuildValue object for table $table.Name
- * This is a reduced, read-only version of the Value object which only contains
- * fields which are to be returned when building objects.
- *
- * $table.Description
- */
-public class ${table.Name}BuildValue implements Serializable {
- // fields
- private UOID uoid;
-#foreach ($field in $table.Fields)
-#if( !$field.isInternal() && $field.isBuildValue() )
-#set( $fieldtype=$field.JavaFieldType )
-#if( $field.isLink() )#set( $fieldtype="UOID" )#end
-#if( $field.isMultiple() )#set( $fieldtype="ArrayList" )#end
- private $fieldtype $field.VarName;
-#end
-#end
-
- /**
- * Empty creator is used to build objects based on a value object
- */
- public ${table.Name}BuildValue() {}
-
- /**
- * Creator which is used to build value objects based on the real object
- */
- public ${table.Name}BuildValue(UOID uoid
-#foreach ($field in $table.Fields)
-#if( !$field.isInternal() && $field.isBuildValue() )
-#set( $fieldtype=$field.JavaFieldType )
-#if( $field.isLink() )#set( $fieldtype="UOID" )#end
-#if( $field.isMultiple() )#set( $fieldtype="ArrayList" )#end
- , $fieldtype $field.VarName
-#end
-#end
- ) {
- this.uoid=uoid;
-#foreach ($field in $table.Fields)
-#if( !$field.isInternal() && !$field.isLink() && $field.isBuildValue() )
- this.$field.VarName=$field.VarName;
-#end
-#end
- }
-
- // getters
-
- public UOID getUOID() { return uoid; }
-
-#foreach ($field in $table.Fields)
-#if( !$field.isInternal() && $field.isBuildValue() )
-#set( $fieldtype=$field.JavaFieldType )
-#if( $field.isLink() )#set( $fieldtype="UOID" )#end
-#if( $field.isMultiple() )#set( $fieldtype="ArrayList" )#end
-
- /**
- * $field.Description
- */
- public $fieldtype get${field.Name}() { return $field.VarName; }
- #if ($field.isBoolean())
- /**
- * $field.Description
- */
- public boolean is${field.Name}() { return $field.VarName; }
- #end
-#end
-#end
-}
\ No newline at end of file
Modified: trunk/equanda-generate/src/main/velocity/ejb3/ObjectSelectorBean.java.vm
===================================================================
--- trunk/equanda-generate/src/main/velocity/ejb3/ObjectSelectorBean.java.vm 2007-08-21 14:01:55 UTC (rev 42)
+++ trunk/equanda-generate/src/main/velocity/ejb3/ObjectSelectorBean.java.vm 2007-08-21 17:07:57 UTC (rev 43)
@@ -118,25 +118,6 @@
public String getEquandaName() { return "${table.Name}Selector"; }
- @PermitAll
- public ${table.Name}Value findUOIDValue( UOID uoid )
- throws EquandaPersistenceException
- {
- if ( uoid == null ) return null;
- try
- {
- ${table.Name}EJBLocal bean = ${table.Name}EJBUtil.getLocal();
- bean.init( uoid );
- ${table.Name}Value res = bean.getEquandaValue();
- bean.remove();
- return res;
- }
- catch ( Exception e)
- {
- throw new EquandaPersistenceException( UPE_CANNOT_CREATE_SESSION_FACADE, e, "findUOIDValue " + uoid.getId() );
- }
- }
-
#macro( loadDefaultFromClass $field )
try
{
@@ -246,21 +227,6 @@
* @ejb.permission
* unchecked="true"
*/
- public ${table.Name}Value[] findMultipleUOIDValue(UOID[] arr) throws EquandaPersistenceException {
- if ( arr == null ) return null;
- ${table.Name}Value[] values = new ${table.Name}Value[ arr.length ];
- for ( int i = 0 ; i < arr.length ; i++ )
- {
- values[ i ] = findUOIDValue( arr[ i ] );
- }
- return values;
- }
-
- /**
- * @ejb.interface-method
- * @ejb.permission
- * unchecked="true"
- */
public ${table.Name}Proxy[] findMultipleUOIDProxy(UOID[] arr) throws EquandaPersistenceException {
if ( arr == null ) return null;
${table.Name}Proxy[] proxies = new ${table.Name}Proxy[ arr.length ];
@@ -271,12 +237,6 @@
return proxies;
}
- public List<${table.Name}Value> findEquandaValue( EquandaQuery query )
- throws EquandaPersistenceException
- {
- return getLazyValueList( query );
- }
-
public List<${table.Name}Proxy> findEquandaProxy( EquandaQuery query )
throws EquandaPersistenceException
{
@@ -330,21 +290,6 @@
return val;
}
- public List<${table.Name}Value> equandaRunQueryValue( EquandaQuery query )
- throws EquandaPersistenceException
- {
- List<DM${table.Name}Bean> col=DM${table.Name}Finder.equandaRunQuery( entityManager, query );
- List<${table.Name}Value> val = new ArrayList<${table.Name}Value>();
- ${table.Name}EJBLocal bean = ${table.Name}EJBUtil.getLocal();
- for ( DM${table.Name}Bean obj : col )
- {
- bean.initEntity( obj );
- val.add( bean.getEquandaValue() );
- }
- bean.remove();
- return val;
- }
-
public long equandaRunCountQuery( EquandaQuery query )
throws EquandaPersistenceException
{
@@ -379,14 +324,6 @@
return DM${table.Name}Finder.runUpdateQuery( entityManager, query );
}
- public ${table.Name}Value findEquandaSingleValue( EquandaQuery query )
- throws EquandaPersistenceException
- {
- List<${table.Name}Value> val = findEquandaValue( query );
- if ( val.size() > 0 ) return val.get( 0 );
- return null;
- }
-
public ${table.Name}Proxy findEquandaSingleProxy( EquandaQuery query )
throws EquandaPersistenceException
{
@@ -663,108 +600,6 @@
#end
}
-#set( $return="List<${table.Name}Value>" )
-#if( $select.isSingle() )#set( $return="${table.Name}Value" )#end
- /**
- * $select.Description
- */
- #selectSecurityRole( $select )
- public $return find${select.Name}Value( $select.ParametersListWithTypes )
- throws EquandaPersistenceException
- {
- #checkFinderParameters( $select )
-#if ( $select.isSingle() )
- try {
-#end
- #set( $return="List<DM${table.Name}Bean>" )
- #if( $select.isSingle() )#set( $return="DM${table.Name}Bean" )#end
- $return val;
-
- #convertValuesForFinder( $select )
-#if( !$select.isSingle() )
-#if( $select.hasSubselects() && ($select.Operator.equals("TRY") || $select.Operator.equals("ADD")) )
- List<EquandaQuery> queries = new ArrayList<EquandaQuery>();
- #set( $index=1 )
- #foreach ($sub in $select.Subselects)
- EquandaQueryImpl query$index = new EquandaQueryImpl("${table.Name}.${sub.Name}", true);
- #foreach( $sel in $sub.Selections )
- #if( $sel.isParameter()...
[truncated message content] |
Revision: 42
http://equanda.svn.sourceforge.net/equanda/?rev=42&view=rev
Author: triathlon98
Date: 2007-08-21 07:01:55 -0700 (Tue, 21 Aug 2007)
Log Message:
-----------
Fix for view-mode, if there is no record suggested.
Modified Paths:
--------------
trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/components/input/equandaLinkInput/actionHandler/LinkInputActionHandlerImpl.java
Modified: trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/components/input/equandaLinkInput/actionHandler/LinkInputActionHandlerImpl.java
===================================================================
--- trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/components/input/equandaLinkInput/actionHandler/LinkInputActionHandlerImpl.java 2007-08-21 13:59:12 UTC (rev 41)
+++ trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/components/input/equandaLinkInput/actionHandler/LinkInputActionHandlerImpl.java 2007-08-21 14:01:55 UTC (rev 42)
@@ -1,7 +1,9 @@
package org.equanda.tapestry.components.input.equandaLinkInput.actionHandler;
+import org.apache.tapestry.IRequestCycle;
import org.equanda.persistence.om.EquandaProxy;
import org.equanda.tapestry.components.input.equandaLinkInput.EquandaLinkInput;
+import org.equanda.tapestry.components.input.equandaLinkInput.LinkInputBinderWrapper;
import org.equanda.tapestry.components.select.SelectObject;
import org.equanda.tapestry.model.Input;
import org.equanda.tapestry.navigation.PageParameters;
@@ -10,9 +12,8 @@
import org.equanda.tapestry.pages.select.SelectPage;
import org.equanda.tapestry.pages.tableManager.TableManagerPage;
import org.equanda.tapestry.pages.view.ViewPage;
+import org.equanda.tapestry.util.EquandaProxyAccessor;
import org.equanda.tapestry.util.FieldType;
-import org.equanda.tapestry.util.EquandaProxyAccessor;
-import org.apache.tapestry.IRequestCycle;
import java.util.ArrayList;
import java.util.List;
@@ -236,6 +237,7 @@
public synchronized void runDisabledView( EquandaLinkInput component, String uoid, String tableName )
{
if ( log.isDebugEnabled() ) log.debug( "runDisabledView() " );
+ if ( uoid == null || uoid.equals( LinkInputBinderWrapper.NOT_UPDATED_YET_UOID ) ) return;
EquandaProxy proxy = EquandaProxyAccessor.findUoid( tableName, uoid );
component.getNavPage().getPageParameters().clearReturnHandler();
ViewPage page = (ViewPage) component.getNavigationManager()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-21 13:59:16
|
Revision: 41
http://equanda.svn.sourceforge.net/equanda/?rev=41&view=rev
Author: triathlon98
Date: 2007-08-21 06:59:12 -0700 (Tue, 21 Aug 2007)
Log Message:
-----------
small fixes in om.mm generation (diff colour for inherited tables, only display real fields for root tables)
Modified Paths:
--------------
trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMRootTable.java
trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java
trunk/equanda-generate/src/main/velocity/docs/mm_table.vm
Modified: trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMRootTable.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMRootTable.java 2007-08-21 11:01:30 UTC (rev 40)
+++ trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMRootTable.java 2007-08-21 13:59:12 UTC (rev 41)
@@ -76,6 +76,8 @@
return cloneable;
}
+ public boolean isRoot() { return true; }
+
public void addCascadeKeep( CascadeKeep ck )
{
// Check cascade array if ck already exists, if exists update array
@@ -332,7 +334,7 @@
private ArrayList getChildren( String name )
{
NodeList nl = getNodesByTagName( name );
- ArrayList list = new ArrayList( nl.getLength() );
+ ArrayList<Object> list = new ArrayList<Object>( nl.getLength() );
for ( int i = 0; i < nl.getLength() ; i++ ) list.add( nl.item( i ) );
return list;
}
@@ -577,7 +579,7 @@
*
* @return the OMTable with same name
*/
- private OMTable getTable()
+ public OMTable getTable()
{
return getTable( name );
}
@@ -585,7 +587,7 @@
/**
* Search for a table with a given name
*
- * @param _name
+ * @param _name table name
* @return OMTable for _name
*/
public OMTable getTable( String _name )
@@ -605,7 +607,7 @@
return null; // oops, fallback, should not happen
}
- public ArrayList getChildTables()
+ public ArrayList<OMTable> getChildTables()
{
OMTable table = getTable();
if ( table != null )
@@ -628,41 +630,25 @@
public boolean isExpectedAmountSmall()
{
OMTable table = getTable();
- if ( table != null )
- {
- return table.isExpectedAmountSmall();
- }
- return false; // oops, fallback, should not happen
+ return table != null && table.isExpectedAmountSmall();
}
public boolean isExpectedAmountMedium()
{
OMTable table = getTable();
- if ( table != null )
- {
- return table.isExpectedAmountMedium();
- }
- return false; // oops, fallback, should not happen
+ return table != null && table.isExpectedAmountMedium();
}
public boolean isExpectedAmountLarge()
{
OMTable table = getTable();
- if ( table != null )
- {
- return table.isExpectedAmountLarge();
- }
- return false; // oops, fallback, should not happen
+ return table != null && table.isExpectedAmountLarge();
}
public boolean isHidden()
{
OMTable table = getTable();
- if ( table != null )
- {
- return table.isHidden();
- }
- return false; // oops, fallback, should not happen
+ return table != null && table.isHidden();
}
public String getReadonlyFieldsListWithTypes()
Modified: trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java 2007-08-21 11:01:30 UTC (rev 40)
+++ trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java 2007-08-21 13:59:12 UTC (rev 41)
@@ -771,7 +771,7 @@
tableChild.add( child );
}
- public ArrayList getChildren()
+ public ArrayList<OMTable> getChildren()
{
return tableChild;
}
@@ -1013,4 +1013,6 @@
}
return res;
}
+
+ public boolean isRoot() { return false; }
}
\ No newline at end of file
Modified: trunk/equanda-generate/src/main/velocity/docs/mm_table.vm
===================================================================
--- trunk/equanda-generate/src/main/velocity/docs/mm_table.vm 2007-08-21 11:01:30 UTC (rev 40)
+++ trunk/equanda-generate/src/main/velocity/docs/mm_table.vm 2007-08-21 13:59:12 UTC (rev 41)
@@ -1,5 +1,10 @@
+#if( $table.isRoot() )
+#set( $table = $table.Table )
<node COLOR="#009966" ID="$table.Name" text="$table.Name">
-#foreach( $table in $table.ChildTables )
+#else
+<node COLOR="#009999" ID="$table.Name" text="$table.Name">
+#end
+#foreach( $table in $table.Children )
#parse( "mm_table.vm" )
#end
<node ID="info$table.Name" text="info" FOLDED="true">
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-21 11:01:35
|
Revision: 40
http://equanda.svn.sourceforge.net/equanda/?rev=40&view=rev
Author: triathlon98
Date: 2007-08-21 04:01:30 -0700 (Tue, 21 Aug 2007)
Log Message:
-----------
1778486 create freemind minmap for om
Modified Paths:
--------------
trunk/equanda-generate/src/main/velocity/docs/index.html.vm
trunk/equanda-generate/src/main/velocity/docs.ini
Added Paths:
-----------
trunk/equanda-generate/src/main/velocity/docs/mm_field.vm
trunk/equanda-generate/src/main/velocity/docs/mm_table.vm
trunk/equanda-generate/src/main/velocity/docs/om.mm.vm
Modified: trunk/equanda-generate/src/main/velocity/docs/index.html.vm
===================================================================
--- trunk/equanda-generate/src/main/velocity/docs/index.html.vm 2007-08-21 09:05:53 UTC (rev 39)
+++ trunk/equanda-generate/src/main/velocity/docs/index.html.vm 2007-08-21 11:01:30 UTC (rev 40)
@@ -25,7 +25,6 @@
*
* @author NetRom team
*#
-
<html>
<head>
@@ -35,9 +34,11 @@
<center><H2>Tables</H2></center>
+<p><a href="om.mm"/>Object model as freemind mindmap</a></p>
+
<UL>
-#foreach ( $table in $tables )
-#parse ( "root_table_children.vm" )
+#foreach( $table in $tables )
+#parse( "root_table_children.vm" )
#end
</UL>
</body>
Added: trunk/equanda-generate/src/main/velocity/docs/mm_field.vm
===================================================================
--- trunk/equanda-generate/src/main/velocity/docs/mm_field.vm (rev 0)
+++ trunk/equanda-generate/src/main/velocity/docs/mm_field.vm 2007-08-21 11:01:30 UTC (rev 40)
@@ -0,0 +1,69 @@
+<node COLOR="#006699"
+#if( $field.isLink() )
+LINK="#$field.FieldTypeName"
+#end
+ID="${table.Name}.$field.Name" text="$field.Name" FOLDED="true">
+<node ID="fielddesc${table.Name}.$field.Name">
+<richcontent TYPE="NODE"><html><head>
+<style type="text/css"><!--
+p { margin-top: 0 }
+--></style></head>
+<body>$field.Description</body>
+</html></richcontent>
+<attribute NAME="type" VALUE="$field.EquandaType"/>
+#if( $field.isString() )
+<attribute NAME="type" VALUE="$field.Length"/>
+#end
+#if( "x$field.Renderer"!="x" )
+<attribute NAME="renderer" VALUE="$field.Renderer"/>
+#end
+#if( $field.isRequired() )
+<attribute NAME="required" VALUE=""/>
+#end
+#if( $field.isImmutable() )
+<attribute NAME="immutable" VALUE=""/>
+#end
+#if( $field.isIndexed() )
+<attribute NAME="indexed" VALUE=""/>
+#end
+#if( $field.isUnique() )
+<attribute NAME="unique" VALUE=""/>
+#end
+#if( $field.isMultiple() )
+<attribute NAME="multiple" VALUE=""/>
+#end
+#if( $field.isOtherSideMultiple() )
+<attribute NAME="other-side-multiple" VALUE=""/>
+#end
+#if( $field.isBidirectional() )
+<attribute NAME="bidirectional" VALUE=""/>
+#end
+#if( $field.isCalculated() )
+<attribute NAME="calculated" VALUE=""/>
+#end
+#if( $field.isAuto() )
+<attribute NAME="auto" VALUE=""/>
+#end
+#if( $field.isCascadeKeep() )
+<attribute NAME="cascade-keep" VALUE=""/>
+#end
+#if( $field.isCascadeDelete() )
+<attribute NAME="cascade-delete" VALUE=""/>
+#end
+#if( $field.isDisplayed() )
+<attribute NAME="displayed" VALUE=""/>
+#end
+#if( $field.isHidden() )
+<attribute NAME="hidden" VALUE=""/>
+#end
+#if( $field.isEmbedded() )
+<attribute NAME="embedded" VALUE=""/>
+#end
+#if( $field.isReference() )
+<attribute NAME="reference" VALUE=""/>
+#end
+#if( $field.isDescription() )
+<attribute NAME="description" VALUE=""/>
+#end
+</node>
+</node>
Added: trunk/equanda-generate/src/main/velocity/docs/mm_table.vm
===================================================================
--- trunk/equanda-generate/src/main/velocity/docs/mm_table.vm (rev 0)
+++ trunk/equanda-generate/src/main/velocity/docs/mm_table.vm 2007-08-21 11:01:30 UTC (rev 40)
@@ -0,0 +1,18 @@
+<node COLOR="#009966" ID="$table.Name" text="$table.Name">
+#foreach( $table in $table.ChildTables )
+#parse( "mm_table.vm" )
+#end
+<node ID="info$table.Name" text="info" FOLDED="true">
+<node ID="desc$table.Name">
+<richcontent TYPE="NODE"><html><head>
+<style type="text/css"><!--
+p { margin-top: 0 }
+--></style></head>
+<body>$table.Description</body>
+</html></richcontent>
+</node>
+#foreach( $field in $table.fields )
+#parse( "mm_field.vm" )
+#end
+</node>
+</node>
Added: trunk/equanda-generate/src/main/velocity/docs/om.mm.vm
===================================================================
--- trunk/equanda-generate/src/main/velocity/docs/om.mm.vm (rev 0)
+++ trunk/equanda-generate/src/main/velocity/docs/om.mm.vm 2007-08-21 11:01:30 UTC (rev 40)
@@ -0,0 +1,90 @@
+#**
+ * 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.
+ *
+ * @author Joachim Van der Auwera
+ *
+ *#<map version="0.9.0_Beta_8">
+<attribute_registry>
+ <attribute_name NAME="multiple">
+ <attribute_value VALUE=""/>
+ </attribute_name>
+ <attribute_name NAME="other-side-multiple">
+ <attribute_value VALUE=""/>
+ </attribute_name>
+ <attribute_name NAME="required">
+ <attribute_value VALUE=""/>
+ </attribute_name>
+ <attribute_name NAME="auto">
+ <attribute_value VALUE=""/>
+ </attribute_name>
+ <attribute_name NAME="dibirectional">
+ <attribute_value VALUE=""/>
+ </attribute_name>
+ <attribute_name NAME="calculated">
+ <attribute_value VALUE=""/>
+ </attribute_name>
+ <attribute_name NAME="cascade-keep">
+ <attribute_value VALUE=""/>
+ </attribute_name>
+ <attribute_name NAME="cascade-delete">
+ <attribute_value VALUE=""/>
+ </attribute_name>
+ <attribute_name NAME="type">
+ </attribute_name>
+ <attribute_name NAME="renderer">
+ </attribute_name>
+ <attribute_name NAME="length">
+ </attribute_name>
+ <attribute_name NAME="displayed">
+ <attribute_value VALUE=""/>
+ </attribute_name>
+ <attribute_name NAME="hidden">
+ <attribute_value VALUE=""/>
+ </attribute_name>
+ <attribute_name NAME="reference">
+ <attribute_value VALUE=""/>
+ </attribute_name>
+ <attribute_name NAME="description">
+ <attribute_value VALUE=""/>
+ </attribute_name>
+ <attribute_name NAME="embedded">
+ <attribute_value VALUE=""/>
+ </attribute_name>
+ <attribute_name NAME="immutable">
+ <attribute_value VALUE=""/>
+ </attribute_name>
+ <attribute_name NAME="indexed">
+ <attribute_value VALUE=""/>
+ </attribute_name>
+ <attribute_name NAME="unique">
+ <attribute_value VALUE=""/>
+ </attribute_name>
+</attribute_registry>
+<node ID="root" TEXT="object model">
+#foreach( $table in $tables )
+#parse( "mm_table.vm" )
+#end
+</node>
+</map>
\ No newline at end of file
Modified: trunk/equanda-generate/src/main/velocity/docs.ini
===================================================================
--- trunk/equanda-generate/src/main/velocity/docs.ini 2007-08-21 09:05:53 UTC (rev 39)
+++ trunk/equanda-generate/src/main/velocity/docs.ini 2007-08-21 11:01:30 UTC (rev 40)
@@ -4,6 +4,8 @@
[root-tables]
output1=${outputDir}index.html
template1=index.html.vm
+output2=${outputDir}om.mm
+template2=om.mm.vm
[table]
output1=${outputDir}Table${table}.html
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-21 09:05:59
|
Revision: 39
http://equanda.svn.sourceforge.net/equanda/?rev=39&view=rev
Author: triathlon98
Date: 2007-08-21 02:05:53 -0700 (Tue, 21 Aug 2007)
Log Message:
-----------
extra blog link
Modified Paths:
--------------
trunk/src/site/wiki/index.wiki
Modified: trunk/src/site/wiki/index.wiki
===================================================================
--- trunk/src/site/wiki/index.wiki 2007-08-20 21:38:36 UTC (rev 38)
+++ trunk/src/site/wiki/index.wiki 2007-08-21 09:05:53 UTC (rev 39)
@@ -11,7 +11,7 @@
There are many ways to enhance/improve the generated application, but this is always done in such a way that most changes in the object model don't cause any problems. You just recompile (which re-generates al lthe files which needs modifying) and all the manual changes are preserved.
-The idea is that application development should be focussed on doing the important stuff (the unique features of the application), and that common aspects should only be done once (even more so because this improves consistency). The goal is to work towards a [vision|vision.html] of how application development should be (original thoughts in this [blog|http://blog.progs.be/?p=21]).
+The idea is that application development should be focussed on doing the important stuff (the unique features of the application), and that common aspects should only be done once (even more so because this improves consistency). The goal is to work towards a [vision|vision.html] of how application development should be (original thoughts in this [blog|http://blog.progs.be/?p=21]). Some more thoughts about the concept (generation) can be found [here|http://blog.progs.be/?p=29].
h2. Features
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-20 21:38:41
|
Revision: 38
http://equanda.svn.sourceforge.net/equanda/?rev=38&view=rev
Author: triathlon98
Date: 2007-08-20 14:38:36 -0700 (Mon, 20 Aug 2007)
Log Message:
-----------
logo
Modified Paths:
--------------
trunk/src/site/resources/images/logo.png
Added Paths:
-----------
trunk/src/site/resources/images/logo.svg
Removed Paths:
-------------
trunk/src/site/resources/images/logo.cdr
Deleted: trunk/src/site/resources/images/logo.cdr
===================================================================
(Binary files differ)
Modified: trunk/src/site/resources/images/logo.png
===================================================================
(Binary files differ)
Added: trunk/src/site/resources/images/logo.svg
===================================================================
--- trunk/src/site/resources/images/logo.svg (rev 0)
+++ trunk/src/site/resources/images/logo.svg 2007-08-20 21:38:36 UTC (rev 38)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.45pre1"
+ width="210mm"
+ height="297mm"
+ sodipodi:docbase="C:\Documents and Settings\Joachim VdA\Bureaublad"
+ sodipodi:docname="Tekening.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ sodipodi:modified="TRUE"
+ inkscape:export-filename="C:\Documents and Settings\Joachim VdA\Bureaublad\Tekening.gif"
+ inkscape:export-xdpi="447.37863"
+ inkscape:export-ydpi="447.37863">
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs5" />
+ <sodipodi:namedview
+ inkscape:window-height="641"
+ inkscape:window-width="1038"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="14.445264"
+ inkscape:cx="60.654076"
+ inkscape:cy="1027.7586"
+ inkscape:window-x="88"
+ inkscape:window-y="116"
+ inkscape:current-layer="svg2" />
+ <path
+ style="font-size:12px;font-style:normal;font-weight:normal;opacity:0.98999999;fill:none;fill-opacity:1;stroke:#ffff00;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ d="M 52.321162,18.639359 L 52.321162,18.949906 C 52.063345,19.278031 51.80065,19.512406 51.533076,19.653031 C 51.265494,19.793656 50.944205,19.863968 50.569209,19.863969 C 49.905144,19.863968 49.357293,19.655961 48.925654,19.239945 C 48.494013,18.82393 48.278192,18.295611 48.278193,17.654984 C 48.278192,17.010456 48.484247,16.467487 48.896357,16.026078 C 49.308465,15.584676 49.813347,15.363973 50.411005,15.363969 C 50.90319,15.363973 51.332877,15.529988 51.700068,15.862015 C 52.067251,16.19405 52.250845,16.590534 52.250849,17.051469 L 52.250849,17.139359 L 49.127802,17.139359 L 49.127802,17.197953 C 49.127801,17.666705 49.19909,18.073931 49.341669,18.419633 C 49.484246,18.765337 49.692254,19.035844 49.965693,19.231156 C 50.239128,19.426469 50.524284,19.524125 50.821162,19.524125 C 51.098502,19.524125 51.335807,19.466508 51.533076,19.351273 C 51.730337,19.236039 51.993033,18.998735 52.321162,18.639359 L 52.321162,18.639359 z M 49.127802,16.934281 L 51.442255,16.934281 L 51.442255,16.85225 C 51.442252,16.473347 51.333853,16.172566 51.11706,15.949906 C 50.90026,15.727254 50.629753,15.615926 50.305537,15.615922 C 49.961785,15.615926 49.685418,15.733113 49.476435,15.967484 C 49.267449,16.201863 49.151238,16.524128 49.127802,16.934281 L 49.127802,16.934281 z M 56.440302,22.260453 L 56.440302,19.524125 C 56.041861,19.750687 55.62194,19.863968 55.180537,19.863969 C 54.555535,19.863968 54.046746,19.668656 53.654169,19.278031 C 53.261591,18.887407 53.065302,18.377642 53.065302,17.748734 C 53.065302,17.029987 53.312372,16.474323 53.806513,16.081742 C 54.300652,15.689168 55.014519,15.492879 55.948115,15.492875 C 56.174674,15.492879 56.61022,15.51241 57.254755,15.551469 L 57.254755,22.248734 C 57.254751,22.490919 57.305532,22.654005 57.407099,22.737992 C 57.508657,22.821973 57.702016,22.863965 57.987177,22.863969 L 57.987177,23.063187 L 55.743037,23.063187 L 55.743037,22.863969 C 56.012565,22.863965 56.196158,22.820997 56.293818,22.735062 C 56.39147,22.649122 56.440299,22.490919 56.440302,22.260453 L 56.440302,22.260453 z M 56.440302,19.260453 L 56.440302,15.850297 C 56.248892,15.811238 56.061393,15.791707 55.877802,15.791703 C 55.28405,15.791707 54.8153,15.959675 54.471552,16.295609 C 54.127801,16.63155 53.955926,17.088581 53.955927,17.666703 C 53.955926,18.194048 54.096551,18.637407 54.377802,18.996781 C 54.65905,19.356156 55.03405,19.535844 55.502802,19.535844 C 55.795768,19.535844 56.108268,19.444047 56.440302,19.260453 L 56.440302,19.260453 z M 62.504755,15.363969 L 62.703974,15.363969 L 62.703974,18.926469 C 62.70397,19.160844 62.753774,19.319047 62.853388,19.401078 C 62.952993,19.483109 63.147328,19.524125 63.436396,19.524125 L 63.436396,19.729203 L 61.889521,19.811234 L 61.889521,19.031937 L 61.866084,19.031937 C 61.440299,19.586625 60.944206,19.863968 60.377802,19.863969 C 59.97155,19.863968 59.638543,19.728226 59.378779,19.456742 C 59.119012,19.185258 58.989129,18.844438 58.98913,18.434281 L 58.98913,16.260453 C 58.989129,16.041707 58.934442,15.893269 58.825068,15.81514 C 58.715692,15.737019 58.518427,15.697957 58.233271,15.697953 L 58.233271,15.492875 L 59.598505,15.363969 L 59.803584,15.363969 L 59.803584,18.399125 C 59.803582,18.696001 59.890496,18.930376 60.064326,19.10225 C 60.238152,19.274125 60.47155,19.360063 60.764521,19.360062 C 61.170768,19.360063 61.545768,19.127641 61.889521,18.662797 L 61.889521,16.371781 C 61.889517,16.078816 61.844595,15.895222 61.754755,15.821 C 61.664908,15.746785 61.43444,15.705769 61.063349,15.697953 L 61.063349,15.492875 L 62.504755,15.363969 z M 65.164912,19.863969 C 64.832879,19.863968 64.547723,19.753617 64.309443,19.532914 C 64.071161,19.312211 63.952021,19.04561 63.952021,18.733109 C 63.952021,18.436235 64.05456,18.191119 64.259638,17.997758 C 64.464715,17.8044 64.881707,17.61983 65.510615,17.444047 C 65.905144,17.334674 66.170768,17.240924 66.30749,17.162797 L 66.30749,16.84639 C 66.307487,16.5378 66.22155,16.288777 66.049677,16.09932 C 65.8778,15.909871 65.647331,15.815144 65.358271,15.81514 C 65.096551,15.815144 64.864129,15.897175 64.661005,16.061234 C 64.45788,16.2253 64.315302,16.447956 64.233271,16.729203 L 64.016474,16.670609 C 64.102411,16.276081 64.288934,15.959675 64.576044,15.72139 C 64.863153,15.483113 65.200066,15.363973 65.586787,15.363969 C 66.043815,15.363973 66.413932,15.501668 66.697138,15.777054 C 66.980338,16.052449 67.121939,16.434284 67.121943,16.922562 L 67.121943,18.744828 C 67.121939,19.002641 67.138541,19.177446 67.171748,19.269242 C 67.204947,19.361039 67.268424,19.406938 67.362177,19.406937 C 67.424673,19.406938 67.475455,19.38057 67.514521,19.327836 C 67.55358,19.275102 67.598501,19.16475 67.649287,18.996781 L 67.854365,18.996781 C 67.834829,19.262406 67.751822,19.473344 67.605341,19.629594 C 67.458853,19.785843 67.26647,19.863968 67.028193,19.863969 C 66.680534,19.863968 66.440299,19.662797 66.30749,19.260453 C 66.09655,19.490922 65.90905,19.649125 65.74499,19.735062 C 65.580925,19.821 65.387566,19.863968 65.164912,19.863969 L 65.164912,19.863969 z M 66.30749,18.867875 L 66.30749,17.426469 C 66.186393,17.477252 66.010612,17.541705 65.780146,17.619828 C 65.354363,17.764361 65.081902,17.907916 64.962763,18.050492 C 64.843621,18.193072 64.784051,18.385454 64.784052,18.62764 C 64.784051,18.838579 64.847528,19.021196 64.974482,19.175492 C 65.101434,19.329789 65.252801,19.406938 65.428584,19.406937 C 65.588738,19.406938 65.756706,19.35518 65.93249,19.251664 C 66.108269,19.148149 66.233268,19.020219 66.30749,18.867875 L 66.30749,18.867875 z M 69.623896,15.363969 L 69.623896,16.213578 C 70.119988,15.647176 70.631706,15.363973 71.159052,15.363969 C 71.569205,15.363973 71.911001,15.503621 72.184443,15.782914 C 72.457876,16.062214 72.594595,16.430378 72.594599,16.887406 L 72.594599,18.803422 C 72.594595,19.096391 72.643423,19.28975 72.741084,19.3835 C 72.838735,19.47725 73.030141,19.524125 73.315302,19.524125 L 73.315302,19.729203 L 71.047724,19.729203 L 71.047724,19.524125 C 71.328971,19.524125 71.521353,19.487992 71.624873,19.415726 C 71.728384,19.343461 71.780142,19.203813 71.780146,18.996781 L 71.780146,16.776078 C 71.780142,16.479206 71.691275,16.242878 71.513544,16.067094 C 71.335807,15.891316 71.108268,15.803426 70.830927,15.803422 C 70.432487,15.803426 70.030144,16.080769 69.623896,16.635453 L 69.623896,18.709672 C 69.623894,19.061235 69.669793,19.284867 69.761591,19.38057 C 69.853386,19.476273 70.045769,19.524125 70.33874,19.524125 L 70.33874,19.729203 L 68.094599,19.729203 L 68.094599,19.524125 C 68.418817,19.524125 68.618036,19.472367 68.692255,19.368851 C 68.766473,19.265336 68.803583,19.04561 68.803584,18.709672 L 68.803584,16.319047 C 68.803583,16.065144 68.758661,15.898152 68.668818,15.81807 C 68.578974,15.737996 68.387567,15.697957 68.094599,15.697953 L 68.094599,15.492875 L 69.418818,15.363969 L 69.623896,15.363969 z M 77.879755,12.194047 L 78.078974,12.194047 L 78.078974,18.903031 C 78.07897,19.137407 78.129751,19.299516 78.231318,19.389359 C 78.332876,19.479203 78.518422,19.524125 78.787959,19.524125 L 78.787959,19.729203 L 76.315302,19.729203 C 75.553581,19.729203 74.951043,19.520219 74.507685,19.10225 C 74.064325,18.684282 73.842646,18.156939 73.842646,17.520219 C 73.842646,16.922565 74.036981,16.413777 74.425654,15.993851 C 74.814324,15.573934 75.28405,15.363973 75.834834,15.363969 C 76.276237,15.363973 76.752799,15.535848 77.264521,15.879594 L 77.264521,13.272172 C 77.264517,12.987022 77.227408,12.793663 77.153193,12.692094 C 77.078971,12.590538 76.92858,12.539757 76.702021,12.53975 L 76.461787,12.53975 L 76.461787,12.334672 L 77.879755,12.194047 z M 77.264521,18.891312 L 77.264521,16.330765 C 77.100455,16.108113 76.908072,15.933308 76.687373,15.806351 C 76.466666,15.679402 76.24694,15.615926 76.028193,15.615922 C 75.641472,15.615926 75.328972,15.775105 75.090693,16.093461 C 74.85241,16.411823 74.73327,16.826862 74.733271,17.338578 C 74.73327,17.998736 74.896356,18.529985 75.222529,18.932328 C 75.548699,19.334672 76.004753,19.535844 76.590693,19.535844 C 76.828971,19.535844 77.000846,19.485063 77.106318,19.3835 C 77.211783,19.281938 77.264517,19.117875 77.264521,18.891312 L 77.264521,18.891312 z M 80.563349,19.863969 C 80.231317,19.863968 79.946161,19.753617 79.70788,19.532914 C 79.469599,19.312211 79.350458,19.04561 79.350459,18.733109 C 79.350458,18.436235 79.452997,18.191119 79.658076,17.997758 C 79.863153,17.8044 80.280145,17.61983 80.909052,17.444047 C 81.303581,17.334674 81.569206,17.240924 81.705927,17.162797 L 81.705927,16.84639 C 81.705925,16.5378 81.619987,16.288777 81.448115,16.09932 C 81.276237,15.909871 81.045769,15.815144 80.756709,15.81514 C 80.494988,15.815144 80.262567,15.897175 80.059443,16.061234 C 79.856317,16.2253 79.713739,16.447956 79.631709,16.729203 L 79.414912,16.670609 C 79.500849,16.276081 79.687372,15.959675 79.974482,15.72139 C 80.26159,15.483113 80.598504,15.363973 80.985224,15.363969 C 81.442253,15.363973 81.81237,15.501668 82.095576,15.777054 C 82.378775,16.052449 82.520377,16.434284 82.52038,16.922562 L 82.52038,18.744828 C 82.520377,19.002641 82.536978,19.177446 82.570185,19.269242 C 82.603385,19.361039 82.666861,19.406938 82.760615,19.406937 C 82.823111,19.406938 82.873892,19.38057 82.912959,19.327836 C 82.952017,19.275102 82.996939,19.16475 83.047724,18.996781 L 83.252802,18.996781 C 83.233267,19.262406 83.150259,19.473344 83.003779,19.629594 C 82.857291,19.785843 82.664908,19.863968 82.42663,19.863969 C 82.078971,19.863968 81.838737,19.662797 81.705927,19.260453 C 81.494987,19.490922 81.307487,19.649125 81.143427,19.735062 C 80.979363,19.821 80.786004,19.863968 80.563349,19.863969 L 80.563349,19.863969 z M 81.705927,18.867875 L 81.705927,17.426469 C 81.584831,17.477252 81.40905,17.541705 81.178584,17.619828 C 80.752801,17.764361 80.48034,17.907916 80.361201,18.050492 C 80.242059,18.193072 80.182489,18.385454 80.18249,18.62764 C 80.182489,18.838579 80.245965,19.021196 80.372919,19.175492 C 80.499871,19.329789 80.651238,19.406938 80.827021,19.406937 C 80.987175,19.406938 81.155144,19.35518 81.330927,19.251664 C 81.506706,19.148149 81.631706,19.020219 81.705927,18.867875 L 81.705927,18.867875 z "
+ id="path2164" />
+ <path
+ style="font-size:12px;font-style:normal;font-weight:normal;opacity:0.98999999;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ d="M 52.325794,18.655505 L 52.325794,18.966052 C 52.067977,19.294177 51.805282,19.528552 51.537708,19.669177 C 51.270126,19.809802 50.948837,19.880114 50.573841,19.880115 C 49.909776,19.880114 49.361925,19.672107 48.930286,19.256091 C 48.498645,18.840076 48.282824,18.311757 48.282825,17.67113 C 48.282824,17.026602 48.488879,16.483633 48.900989,16.042224 C 49.313097,15.600822 49.817979,15.380119 50.415637,15.380115 C 50.907822,15.380119 51.337509,15.546134 51.7047,15.878161 C 52.071883,16.210196 52.255477,16.60668 52.255481,17.067615 L 52.255481,17.155505 L 49.132434,17.155505 L 49.132434,17.214099 C 49.132433,17.682851 49.203722,18.090077 49.346301,18.435779 C 49.488878,18.781483 49.696886,19.05199 49.970325,19.247302 C 50.24376,19.442615 50.528916,19.540271 50.825794,19.540271 C 51.103134,19.540271 51.340439,19.482654 51.537708,19.367419 C 51.734969,19.252185 51.997665,19.014881 52.325794,18.655505 L 52.325794,18.655505 z M 49.132434,16.950427 L 51.446887,16.950427 L 51.446887,16.868396 C 51.446884,16.489493 51.338485,16.188712 51.121692,15.966052 C 50.904892,15.7434 50.634385,15.632072 50.310169,15.632068 C 49.966417,15.632072 49.69005,15.749259 49.481067,15.98363 C 49.272081,16.218009 49.15587,16.540274 49.132434,16.950427 L 49.132434,16.950427 z M 56.444934,22.276599 L 56.444934,19.540271 C 56.046493,19.766833 55.626572,19.880114 55.185169,19.880115 C 54.560167,19.880114 54.051378,19.684802 53.658801,19.294177 C 53.266223,18.903553 53.069934,18.393788 53.069934,17.76488 C 53.069934,17.046133 53.317004,16.490469 53.811145,16.097888 C 54.305284,15.705314 55.019151,15.509025 55.952747,15.509021 C 56.179306,15.509025 56.614852,15.528556 57.259387,15.567615 L 57.259387,22.26488 C 57.259383,22.507065 57.310164,22.670151 57.411731,22.754138 C 57.513289,22.838119 57.706648,22.880111 57.991809,22.880115 L 57.991809,23.079333 L 55.747669,23.079333 L 55.747669,22.880115 C 56.017197,22.880111 56.20079,22.837143 56.29845,22.751208 C 56.396102,22.665268 56.444931,22.507065 56.444934,22.276599 L 56.444934,22.276599 z M 56.444934,19.276599 L 56.444934,15.866443 C 56.253524,15.827384 56.066025,15.807853 55.882434,15.807849 C 55.288682,15.807853 54.819932,15.975821 54.476184,16.311755 C 54.132433,16.647696 53.960558,17.104727 53.960559,17.682849 C 53.960558,18.210194 54.101183,18.653553 54.382434,19.012927 C 54.663682,19.372302 55.038682,19.55199 55.507434,19.55199 C 55.8004,19.55199 56.1129,19.460193 56.444934,19.276599 L 56.444934,19.276599 z M 62.509387,15.380115 L 62.708606,15.380115 L 62.708606,18.942615 C 62.708602,19.17699 62.758406,19.335193 62.85802,19.417224 C 62.957625,19.499255 63.15196,19.540271 63.441028,19.540271 L 63.441028,19.745349 L 61.894153,19.82738 L 61.894153,19.048083 L 61.870716,19.048083 C 61.444931,19.602771 60.948838,19.880114 60.382434,19.880115 C 59.976182,19.880114 59.643175,19.744372 59.383411,19.472888 C 59.123644,19.201404 58.993761,18.860584 58.993762,18.450427 L 58.993762,16.276599 C 58.993761,16.057853 58.939074,15.909415 58.8297,15.831286 C 58.720324,15.753165 58.523059,15.714103 58.237903,15.714099 L 58.237903,15.509021 L 59.603137,15.380115 L 59.808216,15.380115 L 59.808216,18.415271 C 59.808214,18.712147 59.895128,18.946522 60.068958,19.118396 C 60.242784,19.290271 60.476182,19.376209 60.769153,19.376208 C 61.1754,19.376209 61.5504,19.143787 61.894153,18.678943 L 61.894153,16.387927 C 61.894149,16.094962 61.849227,15.911368 61.759387,15.837146 C 61.66954,15.762931 61.439072,15.721915 61.067981,15.714099 L 61.067981,15.509021 L 62.509387,15.380115 z M 65.169544,19.880115 C 64.837511,19.880114 64.552355,19.769763 64.314075,19.54906 C 64.075793,19.328357 63.956653,19.061756 63.956653,18.749255 C 63.956653,18.452381 64.059192,18.207265 64.26427,18.013904 C 64.469347,17.820546 64.886339,17.635976 65.515247,17.460193 C 65.909776,17.35082 66.1754,17.25707 66.312122,17.178943 L 66.312122,16.862536 C 66.312119,16.553946 66.226182,16.304923 66.054309,16.115466 C 65.882432,15.926017 65.651963,15.83129 65.362903,15.831286 C 65.101183,15.83129 64.868761,15.913321 64.665637,16.07738 C 64.462512,16.241446 64.319934,16.464102 64.237903,16.745349 L 64.021106,16.686755 C 64.107043,16.292227 64.293566,15.975821 64.580676,15.737536 C 64.867785,15.499259 65.204698,15.380119 65.591419,15.380115 C 66.048447,15.380119 66.418564,15.517814 66.70177,15.7932 C 66.98497,16.068595 67.126571,16.45043 67.126575,16.938708 L 67.126575,18.760974 C 67.126571,19.018787 67.143173,19.193592 67.17638,19.285388 C 67.209579,19.377185 67.273056,19.423084 67.366809,19.423083 C 67.429305,19.423084 67.480087,19.396716 67.519153,19.343982 C 67.558212,19.291248 67.603133,19.180896 67.653919,19.012927 L 67.858997,19.012927 C 67.839461,19.278552 67.756454,19.48949 67.609973,19.64574 C 67.463485,19.801989 67.271102,19.880114 67.032825,19.880115 C 66.685166,19.880114 66.444931,19.678943 66.312122,19.276599 C 66.101182,19.507068 65.913682,19.665271 65.749622,19.751208 C 65.585557,19.837146 65.392198,19.880114 65.169544,19.880115 L 65.169544,19.880115 z M 66.312122,18.884021 L 66.312122,17.442615 C 66.191025,17.493398 66.015244,17.557851 65.784778,17.635974 C 65.358995,17.780507 65.086534,17.924062 64.967395,18.066638 C 64.848253,18.209218 64.788683,18.4016 64.788684,18.643786 C 64.788683,18.854725 64.85216,19.037342 64.979114,19.191638 C 65.106066,19.345935 65.257433,19.423084 65.433216,19.423083 C 65.59337,19.423084 65.761338,19.371326 65.937122,19.26781 C 66.112901,19.164295 66.2379,19.036365 66.312122,18.884021 L 66.312122,18.884021 z M 69.628528,15.380115 L 69.628528,16.229724 C 70.12462,15.663322 70.636338,15.380119 71.163684,15.380115 C 71.573837,15.380119 71.915633,15.519767 72.189075,15.79906 C 72.462508,16.07836 72.599227,16.446524 72.599231,16.903552 L 72.599231,18.819568 C 72.599227,19.112537 72.648055,19.305896 72.745716,19.399646 C 72.843367,19.493396 73.034773,19.540271 73.319934,19.540271 L 73.319934,19.745349 L 71.052356,19.745349 L 71.052356,19.540271 C 71.333603,19.540271 71.525985,19.504138 71.629505,19.431872 C 71.733016,19.359607 71.784774,19.219959 71.784778,19.012927 L 71.784778,16.792224 C 71.784774,16.495352 71.695907,16.259024 71.518176,16.08324 C 71.340439,15.907462 71.1129,15.819572 70.835559,15.819568 C 70.437119,15.819572 70.034776,16.096915 69.628528,16.651599 L 69.628528,18.725818 C 69.628526,19.077381 69.674425,19.301013 69.766223,19.396716 C 69.858018,19.492419 70.050401,19.540271 70.343372,19.540271 L 70.343372,19.745349 L 68.099231,19.745349 L 68.099231,19.540271 C 68.423449,19.540271 68.622668,19.488513 68.696887,19.384997 C 68.771105,19.281482 68.808215,19.061756 68.808216,18.725818 L 68.808216,16.335193 C 68.808215,16.08129 68.763293,15.914298 68.67345,15.834216 C 68.583606,15.754142 68.392199,15.714103 68.099231,15.714099 L 68.099231,15.509021 L 69.42345,15.380115 L 69.628528,15.380115 z M 77.884387,12.210193 L 78.083606,12.210193 L 78.083606,18.919177 C 78.083602,19.153553 78.134383,19.315662 78.23595,19.405505 C 78.337508,19.495349 78.523054,19.540271 78.792591,19.540271 L 78.792591,19.745349 L 76.319934,19.745349 C 75.558213,19.745349 74.955675,19.536365 74.512317,19.118396 C 74.068957,18.700428 73.847278,18.173085 73.847278,17.536365 C 73.847278,16.938711 74.041613,16.429923 74.430286,16.009997 C 74.818956,15.59008 75.288682,15.380119 75.839466,15.380115 C 76.280869,15.380119 76.757431,15.551994 77.269153,15.89574 L 77.269153,13.288318 C 77.269149,13.003168 77.23204,12.809809 77.157825,12.70824 C 77.083603,12.606684 76.933212,12.555903 76.706653,12.555896 L 76.466419,12.555896 L 76.466419,12.350818 L 77.884387,12.210193 z M 77.269153,18.907458 L 77.269153,16.346911 C 77.105087,16.124259 76.912704,15.949454 76.692005,15.822497 C 76.471298,15.695548 76.251572,15.632072 76.032825,15.632068 C 75.646104,15.632072 75.333604,15.791251 75.095325,16.109607 C 74.857042,16.427969 74.737902,16.843008 74.737903,17.354724 C 74.737902,18.014882 74.900988,18.546131 75.227161,18.948474 C 75.553331,19.350818 76.009385,19.55199 76.595325,19.55199 C 76.833603,19.55199 77.005478,19.501209 77.11095,19.399646 C 77.216415,19.298084 77.269149,19.134021 77.269153,18.907458 L 77.269153,18.907458 z M 80.567981,19.880115 C 80.235949,19.880114 79.950793,19.769763 79.712512,19.54906 C 79.474231,19.328357 79.35509,19.061756 79.355091,18.749255 C 79.35509,18.452381 79.457629,18.207265 79.662708,18.013904 C 79.867785,17.820546 80.284777,17.635976 80.913684,17.460193 C 81.308213,17.35082 81.573838,17.25707 81.710559,17.178943 L 81.710559,16.862536 C 81.710557,16.553946 81.624619,16.304923 81.452747,16.115466 C 81.280869,15.926017 81.050401,15.83129 80.761341,15.831286 C 80.49962,15.83129 80.267199,15.913321 80.064075,16.07738 C 79.860949,16.241446 79.718371,16.464102 79.636341,16.745349 L 79.419544,16.686755 C 79.505481,16.292227 79.692004,15.975821 79.979114,15.737536 C 80.266222,15.499259 80.603136,15.380119 80.989856,15.380115 C 81.446885,15.380119 81.817002,15.517814 82.100208,15.7932 C 82.383407,16.068595 82.525009,16.45043 82.525012,16.938708 L 82.525012,18.760974 C 82.525009,19.018787 82.54161,19.193592 82.574817,19.285388 C 82.608017,19.377185 82.671493,19.423084 82.765247,19.423083 C 82.827743,19.423084 82.878524,19.396716 82.917591,19.343982 C 82.956649,19.291248 83.001571,19.180896 83.052356,19.012927 L 83.257434,19.012927 C 83.237899,19.278552 83.154891,19.48949 83.008411,19.64574 C 82.861923,19.801989 82.66954,19.880114 82.431262,19.880115 C 82.083603,19.880114 81.843369,19.678943 81.710559,19.276599 C 81.499619,19.507068 81.312119,19.665271 81.148059,19.751208 C 80.983995,19.837146 80.790636,19.880114 80.567981,19.880115 L 80.567981,19.880115 z M 81.710559,18.884021 L 81.710559,17.442615 C 81.589463,17.493398 81.413682,17.557851 81.183216,17.635974 C 80.757433,17.780507 80.484972,17.924062 80.365833,18.066638 C 80.246691,18.209218 80.187121,18.4016 80.187122,18.643786 C 80.187121,18.854725 80.250597,19.037342 80.377551,19.191638 C 80.504503,19.345935 80.65587,19.423084 80.831653,19.423083 C 80.991807,19.423084 81.159776,19.371326 81.335559,19.26781 C 81.511338,19.164295 81.636338,19.036365 81.710559,18.884021 L 81.710559,18.884021 z "
+ id="text2159" />
+</svg>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-20 20:39:58
|
Revision: 37
http://equanda.svn.sourceforge.net/equanda/?rev=37&view=rev
Author: triathlon98
Date: 2007-08-20 13:39:54 -0700 (Mon, 20 Aug 2007)
Log Message:
-----------
1766014 add login event to gui
Modified Paths:
--------------
trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/navigation/NavigationablePageImpl.java
trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/util/LoginResolver.java
Modified: trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/navigation/NavigationablePageImpl.java
===================================================================
--- trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/navigation/NavigationablePageImpl.java 2007-08-20 20:37:35 UTC (rev 36)
+++ trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/navigation/NavigationablePageImpl.java 2007-08-20 20:39:54 UTC (rev 37)
@@ -26,7 +26,10 @@
import org.equanda.tapestry.pages.EquandaBasePage;
import org.equanda.tapestry.util.Global;
+import org.equanda.tapestry.util.EquandaProxyAccessor;
import org.equanda.persistence.om.SelectorsState;
+import org.equanda.persistence.om.EquandaProxy;
+import org.equanda.login.LoginInfo;
import org.apache.log4j.Logger;
import org.apache.tapestry.IEngine;
import org.apache.tapestry.IMarkupWriter;
@@ -36,6 +39,9 @@
import org.apache.tapestry.event.PageBeginRenderListener;
import org.apache.tapestry.event.PageEvent;
+import java.util.List;
+import java.lang.reflect.Method;
+
/**
* Basic navigationable page.
*
@@ -120,7 +126,25 @@
}
Global global = (Global) getGlobal();
- SelectorsState.setSelectorsState( global.getSelectorsState() );
+ SelectorsState.setSelectorsState( global.getSelectorsState() );
+
+ // login (again)
+ String userName = getHttpServletRequest().getRemoteUser();
+ if ( userName != null )
+ {
+ try
+ {
+ List<EquandaProxy> results = EquandaProxyAccessor
+ .find( "EquandaUser", "UserName", new Class[]{ String.class }, new String[]{ userName } );
+ if ( results != null && results.size() > 0 )
+ {
+ EquandaProxy user = results.get( 0 );
+ Method method = user.getClass().getMethod( "login", null );
+ method.invoke( user, null );
+ }
+ }
+ catch ( Exception ex ) { log.error( ex ); }
+ }
}
@Override
Modified: trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/util/LoginResolver.java
===================================================================
--- trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/util/LoginResolver.java 2007-08-20 20:37:35 UTC (rev 36)
+++ trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/util/LoginResolver.java 2007-08-20 20:39:54 UTC (rev 37)
@@ -24,9 +24,11 @@
package org.equanda.tapestry.util;
+import org.apache.log4j.Logger;
+import org.equanda.login.LoginInfo;
import org.equanda.persistence.om.EquandaProxy;
-import org.equanda.login.LoginInfo;
+import java.lang.reflect.Method;
import java.util.List;
/**
@@ -36,6 +38,8 @@
*/
public class LoginResolver
{
+ private static final Logger log = Logger.getLogger( LoginResolver.class );
+
public LoginInfo getLoginInfo( String userName )
throws Exception
{
@@ -54,6 +58,11 @@
info.setPassword( (String) EquandaProxyAccessor.getField( user, "Password" ) );
info.setAdministrator( isAdmin );
info.setLanguage( (String) EquandaProxyAccessor.getField( user, "Language" ) );
+
+ // login
+ Method method = user.getClass().getMethod( "login", null );
+ method.invoke( user, null );
+
return info;
}
return null;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-20 20:37:37
|
Revision: 36
http://equanda.svn.sourceforge.net/equanda/?rev=36&view=rev
Author: triathlon98
Date: 2007-08-20 13:37:35 -0700 (Mon, 20 Aug 2007)
Log Message:
-----------
1777626 filters should not be table specific
Modified Paths:
--------------
trunk/equanda-client/src/main/java/org/equanda/persistence/om/ObjectFinder.java
trunk/equanda-client/src/main/java/org/equanda/persistence/om/SelectorsState.java
trunk/equanda-client/src/main/java/org/equanda/persistence/om/ServerEquandaStateInterceptor.java
trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java
trunk/equanda-generate/src/main/velocity/ejb3/DMObjectFinder.java.vm
trunk/equanda-generate/src/main/velocity/ejb3/ObjectSelectorBean.java.vm
trunk/equanda-generate/src/main/velocity/login/LoginModule.java.vm
trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/components/Border.java
trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/pages/tableManager/TableManagerPage.java
trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/util/Global.java
Added Paths:
-----------
trunk/equanda-client/src/main/java/org/equanda/persistence/om/SelectorsStateType.java
Removed Paths:
-------------
trunk/equanda-client/src/main/java/org/equanda/persistence/om/TableSelectorsConfiguration.java
Modified: trunk/equanda-client/src/main/java/org/equanda/persistence/om/ObjectFinder.java
===================================================================
--- trunk/equanda-client/src/main/java/org/equanda/persistence/om/ObjectFinder.java 2007-08-20 14:41:02 UTC (rev 35)
+++ trunk/equanda-client/src/main/java/org/equanda/persistence/om/ObjectFinder.java 2007-08-20 20:37:35 UTC (rev 36)
@@ -29,15 +29,13 @@
import javax.persistence.EntityManager;
import javax.persistence.Query;
import java.util.Collection;
-import java.util.List;
-import java.util.Map;
/**
* Support methods for DMObjectFinder classes
*
* @author NetRom team
*/
-public class ObjectFinder
+public abstract class ObjectFinder
{
protected static Query getEquandaQuery( EntityManager em, EquandaQuery EquandaQuery )
{
@@ -170,15 +168,38 @@
* Count the (total) result size for a equanda select query.
*
* @param em entity manager
- * @param EquandaQuery count query
+ * @param equandaQuery count query
* @return result
*/
- public static List runCountQuery( EntityManager em, EquandaQuery EquandaQuery, Map<String, String> filters )
+/* removed here, is defined in sub-instances
+ public static List runCountQuery( EntityManager em, EquandaQuery equandaQuery )
{
// make sure the query will return the latest version of the data (including in-transaction changes)
//em.flush();
Query query;
+ String queryString = getRunCountQueryString( em, equandaQuery);
+ queryString = setFilters( queryString );
+ query = em.createQuery( queryString );
+
+ for ( String name : equandaQuery.getParameters().keySet() )
+ {
+ query.setParameter( name, equandaQuery.getParameters().get( name ) );
+ }
+
+ return query.getResultList();
+ }
+*/
+
+ /**
+ * Get query string for the count query
+ * @param em entity manager
+ * @param EquandaQuery base query
+ * @return count query string
+ */
+ public static String getRunCountQueryString( EntityManager em, EquandaQuery EquandaQuery )
+ {
+ Query query;
String queryString;
if ( EquandaQuery.getCountQueryString() == null )
{
@@ -201,8 +222,6 @@
queryString = EquandaQuery.getCountQueryString();
}
- queryString = setFilters( queryString, filters );
-
if ( queryString.indexOf( " ORDER BY " ) != -1 )
{
queryString = queryString.substring( 0, queryString.indexOf( " ORDER BY " ) );
@@ -219,14 +238,7 @@
queryString.replace( "SELECT DISTINCT " + obj + " FROM", "SELECT COUNT(DISTINCT " + obj + ") FROM" );
}
- query = em.createQuery( queryString );
-
- for ( String name : EquandaQuery.getParameters().keySet() )
- {
- query.setParameter( name, EquandaQuery.getParameters().get( name ) );
- }
-
- return query.getResultList();
+ return queryString;
}
/**
@@ -265,21 +277,20 @@
}
/**
- * Adds extra clauses to the query
+ * Adds one extra filter to the query
*
* @param queryStr old query
- * @param filters the map with filter-names/filter values to be set in the query
- * @return the new calculated query
+ * @param name name of the filter
+ * @param queryPart how filter is to be applied in the query
+ * @return the new calculated query
*/
- protected static String setFilters( String queryStr, Map<String, String> filters )
+ protected static String setFilter( String queryStr, String name, String queryPart )
{
- if ( filters == null ) return queryStr;
- for ( String filterName : filters.keySet() )
+ String value = SelectorsState.getFilter( name );
+ if ( null != value )
{
- if ( filters.get( filterName ) != null && filters.get( filterName ).length() > 0 )
- {
- queryStr = addFilter( queryStr, filters.get( filterName ) );
- }
+ queryPart = queryPart.replace( "${}", value );
+ queryStr = addFilter( queryStr, queryPart );
}
return queryStr;
}
Modified: trunk/equanda-client/src/main/java/org/equanda/persistence/om/SelectorsState.java
===================================================================
--- trunk/equanda-client/src/main/java/org/equanda/persistence/om/SelectorsState.java 2007-08-20 14:41:02 UTC (rev 35)
+++ trunk/equanda-client/src/main/java/org/equanda/persistence/om/SelectorsState.java 2007-08-20 20:37:35 UTC (rev 36)
@@ -24,80 +24,51 @@
package org.equanda.persistence.om;
-import java.util.Map;
-import java.util.Hashtable;
-
/**
- * Maps with orders and active filters for selects. This is stored in a ThreadLocal.
+ * Contains active filters and order for tables.This is stored in a ThreadLocal.
*
- * @author Florin
+ * @author <a href="mailto:jo...@pr...">Joachim Van der Auwera</a>
*/
public class SelectorsState
{
public static final String SELECTORS_STATE_CONTEXT = "equanda-SelectorsStateContext";
- private static ThreadLocal<Map<String, TableSelectorsConfiguration>> state =
- new ThreadLocal<Map<String, TableSelectorsConfiguration>>()
+ private static ThreadLocal<SelectorsStateType> state =
+ new ThreadLocal<SelectorsStateType>()
{
- protected Map<String, TableSelectorsConfiguration> initialValue()
+ protected SelectorsStateType initialValue()
{
- return new Hashtable<String, TableSelectorsConfiguration>();
+ return new SelectorsStateType();
}
};
public static String getSorting( String tableName )
{
- if ( state.get().get( tableName ) == null ) return null;
- return state.get().get( tableName ).getOrder();
+ return state.get().getTableOrder( tableName );
}
public static void setSorting( String tableName, String order )
{
- TableSelectorsConfiguration cfg = state.get().get( tableName );
- if ( cfg == null ) cfg = new TableSelectorsConfiguration();
- cfg.setOrder( order );
- state.get().put( tableName, cfg );
+ state.get().setTableOrder( tableName, order );
}
- public static Map<String, String> getFilters( String tableName )
+ public static String getFilter( String name )
{
- TableSelectorsConfiguration cfg = state.get().get( tableName );
- if ( cfg == null ) return null;
- return cfg.getFilters();
- }
- public static boolean hasActiveFilters( String tableName )
- {
- TableSelectorsConfiguration cfg = state.get().get( tableName );
- if ( cfg == null ) return false;
- for ( String filterName : cfg.getFilters().keySet() )
- {
- String filter = cfg.getFilters().get( filterName );
- if ( filter != null && !filter.equals( "" ) )
- {
- return true;
- }
- }
- return false;
+ return state.get().getFilter( name );
}
- public static void setFilter( String tableName, String filterName, String value )
+ public static void setFilter( String name, String value )
{
- TableSelectorsConfiguration cfg = state.get().get( tableName );
- if ( cfg == null ) cfg = new TableSelectorsConfiguration();
- cfg.getFilters().put( filterName, value );
- state.get().put( tableName, cfg );
+ state.get().setFilter( name, value );
}
- public static boolean isFilterSet( String tableName, String filterName )
+ public static boolean isFilterSet( String name )
{
- TableSelectorsConfiguration cfg = state.get().get( tableName );
- if ( cfg == null ) return false;
- String filterValue = cfg.getFilters().get( filterName );
- return filterValue != null && filterValue.length() > 0;
+ return getFilter( name ) != null;
}
- public static Map<String, TableSelectorsConfiguration> getSelectorsState() { return state.get(); }
+ public static SelectorsStateType getSelectorsState() { return state.get(); }
- public static void setSelectorsState( Map<String, TableSelectorsConfiguration> map ) { state.set( map ); }
+ public static void setSelectorsState( SelectorsStateType stateType ) { state.set( stateType ); }
}
Added: trunk/equanda-client/src/main/java/org/equanda/persistence/om/SelectorsStateType.java
===================================================================
--- trunk/equanda-client/src/main/java/org/equanda/persistence/om/SelectorsStateType.java (rev 0)
+++ trunk/equanda-client/src/main/java/org/equanda/persistence/om/SelectorsStateType.java 2007-08-20 20:37:35 UTC (rev 36)
@@ -0,0 +1,73 @@
+/**
+ * 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.persistence.om;
+
+import java.util.Map;
+import java.util.Hashtable;
+
+/**
+ * type which combines the selector state for use in the thread local object.
+ *
+ * @author <a href="mailto:jo...@pr...">Joachim Van der Auwera</a>
+ */
+public class SelectorsStateType
+{
+ private Map<String, String> filters = new Hashtable<String, String>();
+ private Map<String, String> tableOrder = new Hashtable<String, String>();
+
+ public String getFilter( String name )
+ {
+ return filters.get( name );
+ }
+
+ public void setFilter( String name, String value )
+ {
+ if ( value == null )
+ {
+ if ( filters.containsKey( name ) ) filters.remove( name );
+ }
+ else
+ {
+ filters.put( name, value );
+ }
+ }
+
+ public String getTableOrder( String table )
+ {
+ return tableOrder.get( table );
+ }
+
+ public void setTableOrder( String table, String order )
+ {
+ if ( order == null )
+ {
+ if ( tableOrder.containsKey( table ) ) tableOrder.remove( table );
+ }
+ else
+ {
+ tableOrder.put( table, order );
+ }
+ }
+}
Modified: trunk/equanda-client/src/main/java/org/equanda/persistence/om/ServerEquandaStateInterceptor.java
===================================================================
--- trunk/equanda-client/src/main/java/org/equanda/persistence/om/ServerEquandaStateInterceptor.java 2007-08-20 14:41:02 UTC (rev 35)
+++ trunk/equanda-client/src/main/java/org/equanda/persistence/om/ServerEquandaStateInterceptor.java 2007-08-20 20:37:35 UTC (rev 36)
@@ -27,8 +27,6 @@
import org.jboss.aop.advice.Interceptor;
import org.jboss.aop.joinpoint.Invocation;
-import java.util.Map;
-
/**
* Server side interceptor to transport the equanda state to the server as part of the invocation context.
*
@@ -46,22 +44,22 @@
throws Throwable
{
boolean prevlcs = LenientChecksState.getLenientChecks();
- Map<String, TableSelectorsConfiguration> prevSelectorsSortingState = SelectorsState.getSelectorsState();
+ SelectorsStateType prevSelectorsState = SelectorsState.getSelectorsState();
Object lcs = invocation.getMetaData( LenientChecksState.LENIENT_CHECKS_STATE_CONTEXT,
LenientChecksState.LENIENT_CHECKS_STATE_CONTEXT );
if ( lcs != null ) LenientChecksState.setLenientChecks( (Boolean) lcs );
- Object selectorsSortingState = invocation.getMetaData( SelectorsState.SELECTORS_STATE_CONTEXT,
- SelectorsState.SELECTORS_STATE_CONTEXT );
- if ( selectorsSortingState != null )
+ Object selectorsState = invocation.getMetaData( SelectorsState.SELECTORS_STATE_CONTEXT,
+ SelectorsState.SELECTORS_STATE_CONTEXT );
+ if ( selectorsState != null )
{
- SelectorsState.setSelectorsState( (Map<String, TableSelectorsConfiguration>) selectorsSortingState );
+ SelectorsState.setSelectorsState( (SelectorsStateType) selectorsState );
}
Object res = invocation.invokeNext();
LenientChecksState.setLenientChecks( prevlcs );
- SelectorsState.setSelectorsState( prevSelectorsSortingState );
+ SelectorsState.setSelectorsState( prevSelectorsState );
return res;
}
}
Deleted: trunk/equanda-client/src/main/java/org/equanda/persistence/om/TableSelectorsConfiguration.java
===================================================================
--- trunk/equanda-client/src/main/java/org/equanda/persistence/om/TableSelectorsConfiguration.java 2007-08-20 14:41:02 UTC (rev 35)
+++ trunk/equanda-client/src/main/java/org/equanda/persistence/om/TableSelectorsConfiguration.java 2007-08-20 20:37:35 UTC (rev 36)
@@ -1,61 +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.persistence.om;
-
-import java.util.Map;
-import java.util.Hashtable;
-import java.io.Serializable;
-
-/**
- * Custom settings for the finders of a certain table, which are set at runtime (and kept in SelectorsState)
- *
- * @author Florin
- */
-public class TableSelectorsConfiguration
- implements Serializable
-{
- private String order;
- private Map<String, String> filters = new Hashtable<String, String>();
-
- public String getOrder()
- {
- return order;
- }
-
- public void setOrder( String order )
- {
- this.order = order;
- }
-
- public Map<String, String> getFilters()
- {
- return filters;
- }
-
- public void setFilters( Map<String, String> filters )
- {
- this.filters = filters;
- }
-}
Modified: trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java 2007-08-20 14:41:02 UTC (rev 35)
+++ trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java 2007-08-20 20:37:35 UTC (rev 36)
@@ -24,15 +24,17 @@
package org.equanda.persistence.xml;
+import javolution.util.FastMap;
+import javolution.xml.sax.Attributes;
import org.equanda.util.SaveException;
+import org.equanda.util.StringSplitter;
import org.equanda.util.xml.tree.*;
-import javolution.util.FastMap;
-import javolution.xml.sax.Attributes;
import java.io.File;
import java.io.FilenameFilter;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.Map;
/**
@@ -985,4 +987,30 @@
public void setOMTable( OMTable table ) {}
public String getDataFilter() { return dataFilter; }
+
+ /**
+ * Indicates whether the table has data filters.
+ *
+ * @return true when there are data filters
+ */
+ public boolean hasDataFilters()
+ {
+ return !"".equals( dataFilter );
+ }
+
+ /**
+ * Return map with data filters which apply for this table.
+ * Each filter contains a name (for the setting) and the string to use in the query (with the value in it)
+ *
+ * @return map with filters
+ */
+ public Map<String, String> getDataFilters()
+ {
+ Map<String, String> res = new HashMap<String, String>();
+ for ( String filter : new StringSplitter( dataFilter, ',' ) )
+ {
+ res.put( filter, "${}" );
+ }
+ return res;
+ }
}
\ No newline at end of file
Modified: trunk/equanda-generate/src/main/velocity/ejb3/DMObjectFinder.java.vm
===================================================================
--- trunk/equanda-generate/src/main/velocity/ejb3/DMObjectFinder.java.vm 2007-08-20 14:41:02 UTC (rev 35)
+++ trunk/equanda-generate/src/main/velocity/ejb3/DMObjectFinder.java.vm 2007-08-20 20:37:35 UTC (rev 36)
@@ -196,27 +196,29 @@
}
#end ##macro createSelect
-#foreach ($select in $table.Selects)
+#foreach( $select in $table.Selects )
#createSelect( $select $table )
#end
-#foreach ($select in $table.SuggestSelects)
+#foreach( $select in $table.SuggestSelects )
#createSelect( $select $table )
#end
// handle EquandaQuery
-public static List<DM${table.Name}Bean> equandaRunQuery(EntityManager em, EquandaQuery EquandaQuery )
+public static List<DM${table.Name}Bean> equandaRunQuery(EntityManager em, EquandaQuery equandaQuery )
{
String sorting=SelectorsState.getSorting( "$table.Name");
Query query=null;
- if ((sorting==null || sorting.equals("")) && !SelectorsState.hasActiveFilters( "$table.Name" ) )
+ #if( !$table.hasDataFilters() )
+ if ( sorting == null || "".equals( sorting ) )
{
- query = getEquandaQuery( em, EquandaQuery );
+ query = getEquandaQuery( em, equandaQuery );
}
else
{
- String queryString=EquandaQuery.getQueryString();
- if (EquandaQuery.isNamedQuery())
+ #end
+ String queryString=equandaQuery.getQueryString();
+ if ( equandaQuery.isNamedQuery() )
{
query = em.createNamedQuery( queryString );
if ( query instanceof org.hibernate.Query )
@@ -228,19 +230,23 @@
queryString = ( (org.hibernate.ejb.QueryImpl) query ).getHibernateQuery().getQueryString();
}
}
- if (sorting!=null && sorting.length()>0) queryString=setOrderBy(queryString, sorting);
- if (SelectorsState.hasActiveFilters("$table.Name")) queryString=setFilters(queryString, SelectorsState.getFilters("$table.Name"));
-
- EquandaQuery calculatedQuery=new EquandaQueryImpl( queryString );
- query=getEquandaQuery(em, calculatedQuery);
+ if ( sorting!=null && sorting.length()>0 ) queryString=setOrderBy(queryString, sorting);
+ #if( !$table.hasDataFilters() )
+ queryString = setFilters( queryString );
+ #end
+
+ EquandaQuery calculatedQuery = new EquandaQueryImpl( queryString );
+ query = getEquandaQuery(em, calculatedQuery);
+ #if( !$table.hasDataFilters() )
}
- if ( EquandaQuery.getMaxResults() > 0 ) query.setMaxResults( EquandaQuery.getMaxResults() );
+ #end
+ if ( equandaQuery.getMaxResults() > 0 ) query.setMaxResults( equandaQuery.getMaxResults() );
- if ( EquandaQuery.getFirstResult() > 0 ) query.setFirstResult( EquandaQuery.getFirstResult() );
+ if ( equandaQuery.getFirstResult() > 0 ) query.setFirstResult( equandaQuery.getFirstResult() );
- for ( String name : EquandaQuery.getParameters().keySet() )
+ for ( String name : equandaQuery.getParameters().keySet() )
{
- query.setParameter( name, EquandaQuery.getParameters().get( name ) );
+ query.setParameter( name, equandaQuery.getParameters().get( name ) );
}
return (List<DM${table.Name}Bean>) query.getResultList();
}
@@ -263,4 +269,46 @@
// if it is not managed, then it cannot be dirty :-)
return em.find( DM${table.Name}Bean.class, uoid );
}
+
+ /**
+ * Apply the data-filters which are declared in the object model.
+ *
+ * @param queryString base query string
+ * @return query string with filters applied
+ */
+ public static String setFilters( String queryString )
+ {
+ #if( !$table.hasDataFilters() )
+ #foreach( $filter in $table.DataFilters.keySet() )
+ queryString = setFilter( queryString, $filter, $table.DataFilters.get( $filter ) );
+ #end
+ #end
+ return queryString;
+ }
+
+ /**
+ * Count the (total) result size for a equanda select query.
+ *
+ * @param em entity manager
+ * @param equandaQuery count query
+ * @return result
+ */
+ public static List runCountQuery( EntityManager em, EquandaQuery equandaQuery )
+ {
+ // make sure the query will return the latest version of the data (including in-transaction changes)
+ //em.flush();
+
+ Query query;
+ String queryString = getRunCountQueryString( em, equandaQuery);
+ queryString = setFilters( queryString );
+ query = em.createQuery( queryString );
+
+ for ( String name : equandaQuery.getParameters().keySet() )
+ {
+ query.setParameter( name, equandaQuery.getParameters().get( name ) );
+ }
+
+ return query.getResultList();
+ }
+
}
Modified: trunk/equanda-generate/src/main/velocity/ejb3/ObjectSelectorBean.java.vm
===================================================================
--- trunk/equanda-generate/src/main/velocity/ejb3/ObjectSelectorBean.java.vm 2007-08-20 14:41:02 UTC (rev 35)
+++ trunk/equanda-generate/src/main/velocity/ejb3/ObjectSelectorBean.java.vm 2007-08-20 20:37:35 UTC (rev 36)
@@ -348,7 +348,7 @@
public long equandaRunCountQuery( EquandaQuery query )
throws EquandaPersistenceException
{
- List res = DM${table.Name}Finder.runCountQuery( entityManager, query, SelectorsState.getFilters("$table.Name") );
+ List res = DM${table.Name}Finder.runCountQuery( entityManager, query );
long count = (Long)res.get(0);
int first = query.getFirstResult();
int max = query.getMaxResults();
Modified: trunk/equanda-generate/src/main/velocity/login/LoginModule.java.vm
===================================================================
--- trunk/equanda-generate/src/main/velocity/login/LoginModule.java.vm 2007-08-20 14:41:02 UTC (rev 35)
+++ trunk/equanda-generate/src/main/velocity/login/LoginModule.java.vm 2007-08-20 20:37:35 UTC (rev 36)
@@ -27,17 +27,16 @@
package ${package};
+import org.apache.log4j.Logger;
import org.equanda.login.LoginInfo;
-
-import org.jboss.security.auth.spi.UsersRolesLoginModule;
import org.jboss.security.SimpleGroup;
+import org.jboss.security.auth.spi.UsersRolesLoginModule;
-import org.apache.log4j.Logger;
import javax.security.auth.login.LoginException;
import java.security.acl.Group;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
-import java.util.Collections;
import java.util.WeakHashMap;
public class LoginModule
Modified: trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/components/Border.java
===================================================================
--- trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/components/Border.java 2007-08-20 14:41:02 UTC (rev 35)
+++ trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/components/Border.java 2007-08-20 20:37:35 UTC (rev 36)
@@ -266,24 +266,25 @@
public boolean isInactiveRecordsHidden()
{
- return ( (Global) getPage().getGlobal() ).isInactiveRecordsHidden();
+ return ( (Global) getPage().getGlobal() ).getFilter( "InactiveFilter" ) != null;
}
public void handlerAjaxToggleInactiveRecordsHide( IRequestCycle cycle )
{
- String [] parameters = (String []) cycle.getServiceParameters();
+ String[] parameters = (String[]) cycle.getServiceParameters();
Global global = (Global) getPage().getGlobal();
- global.setInactiveRecordsHidden( !global.isInactiveRecordsHidden() );
- for ( int i = 0; i < parameters.length ; i += 4 )
+ String filter;
+ if ( isInactiveRecordsHidden() )
{
- String table = parameters[ i ];
- String filterName = parameters[ i + 1 ];
- String field = parameters[ i + 2 ];
- String filter = ( global.isInactiveRecordsHidden() ) ? " o." + field +"="+parameters[i+3]+" ":"";
- global.setFilter( table, filterName, filter );
- SelectorsState.setFilter( table, filterName, filter );
+ filter = null; // remove filter
}
+ else
+ {
+ filter = "o.inactive=0"; // define filter
+ }
+ global.setFilter( "InactiveFilter", filter );
+ SelectorsState.setFilter( "InactiveFilter", filter );
// if there's no answer, there'll be a javascript error... so here it is:
cycle.setServiceParameters( new Object[]{ "dummy response" } );
Modified: trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/pages/tableManager/TableManagerPage.java
===================================================================
--- trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/pages/tableManager/TableManagerPage.java 2007-08-20 14:41:02 UTC (rev 35)
+++ trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/pages/tableManager/TableManagerPage.java 2007-08-20 20:37:35 UTC (rev 36)
@@ -77,7 +77,7 @@
boolean filterSet = false;
for ( String filterName : filterNames )
{
- if ( SelectorsState.isFilterSet( getTableName(), filterName ) )
+ if ( SelectorsState.isFilterSet( filterName ) )
{
filterSet = true;
break;
@@ -140,12 +140,8 @@
public boolean isCustomQueryVisible()
{
- if ( getSessionUserAdmin()
- .hasAccess( "t" + getTableName() + ".sequandaCustomQuery", AccessRight.RUNNABLE_ACCESS_RUN ) )
- {
- return true;
- }
- return false;
+ return getSessionUserAdmin()
+ .hasAccess( "t" + getTableName() + ".sequandaCustomQuery", AccessRight.RUNNABLE_ACCESS_RUN );
}
public void actionListenerCustomQuerySelect( String tableName )
Modified: trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/util/Global.java
===================================================================
--- trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/util/Global.java 2007-08-20 14:41:02 UTC (rev 35)
+++ trunk/equanda-tapestry4/src/main/java/org/equanda/tapestry/util/Global.java 2007-08-20 20:37:35 UTC (rev 36)
@@ -21,13 +21,12 @@
* 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.tapestry.util;
-import org.apache.log4j.Logger;
-
import org.equanda.translations.*;
import org.equanda.tapestry.messages.MessagesGroup;
-import org.equanda.persistence.om.TableSelectorsConfiguration;
+import org.equanda.persistence.om.SelectorsStateType;
import java.io.Serializable;
import java.util.*;
@@ -38,20 +37,16 @@
* This implementation handles:
* - The bean for translations
* - Selector state (copied to the thread local variable at the beginning of each page).
- * - The state of visibility of inactive records.
*
- *
* @author Florin
+ * @author <a href="mailto:jo...@pr...">Joachim Van der Auwera</a>
*/
public class Global
implements Serializable
{
private TranslatorEJBLocal translator;
- private Map<String, TableSelectorsConfiguration> selectorsState =
- new Hashtable<String, TableSelectorsConfiguration>();
- private boolean inactiveRecordsHidden;
+ private SelectorsStateType selectorsState = new SelectorsStateType();
-
public String getTranslation( String language, String strKey, String page, MessagesGroup[] messagesGroups )
{
@@ -71,33 +66,22 @@
return translator.translate( language, strKey, contexts );
}
- public Map<String, TableSelectorsConfiguration> getSelectorsState() { return selectorsState; }
+ public SelectorsStateType getSelectorsState() { return selectorsState; }
- public void setSelectorsState( Map<String, TableSelectorsConfiguration> map ) { selectorsState = map; }
+ public void setSelectorsState( SelectorsStateType state ) { selectorsState = state; }
- public void setFilter( String tableName, String filterName, String value )
+ public void setFilter( String name, String value )
{
- TableSelectorsConfiguration cfg = selectorsState.get( tableName );
- if ( cfg == null ) cfg = new TableSelectorsConfiguration();
- cfg.getFilters().put( filterName, value );
- selectorsState.put( tableName, cfg );
+ selectorsState.setFilter( name, value );
}
- public void setSorting( String tableName, String order )
+ public String getFilter( String name )
{
- TableSelectorsConfiguration cfg = selectorsState.get( tableName );
- if ( cfg == null ) cfg = new TableSelectorsConfiguration();
- cfg.setOrder( order );
- selectorsState.put( tableName, cfg );
+ return selectorsState.getFilter( name );
}
- public boolean isInactiveRecordsHidden()
+ public void setSorting( String tableName, String order )
{
- return inactiveRecordsHidden;
+ selectorsState.setTableOrder( tableName, order );
}
-
- public void setInactiveRecordsHidden( boolean inactiveRecordsHidden )
- {
- this.inactiveRecordsHidden = inactiveRecordsHidden;
- }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-20 14:41:03
|
Revision: 35
http://equanda.svn.sourceforge.net/equanda/?rev=35&view=rev
Author: triathlon98
Date: 2007-08-20 07:41:02 -0700 (Mon, 20 Aug 2007)
Log Message:
-----------
improve comments
Modified Paths:
--------------
trunk/equanda-client/src/main/java/org/equanda/persistence/om/ObjectType.java
Modified: trunk/equanda-client/src/main/java/org/equanda/persistence/om/ObjectType.java
===================================================================
--- trunk/equanda-client/src/main/java/org/equanda/persistence/om/ObjectType.java 2007-08-20 12:27:14 UTC (rev 34)
+++ trunk/equanda-client/src/main/java/org/equanda/persistence/om/ObjectType.java 2007-08-20 14:41:02 UTC (rev 35)
@@ -37,7 +37,6 @@
public interface ObjectType
extends Serializable
{
-
/**
* Check whether the given type "is a child of" (or the type itself).
* <p/>
@@ -61,17 +60,23 @@
/**
* Get the type identifier for this type
+ *
+ * @return type identifier for this type
*/
String getType();
/**
* Get the full name for this type
+ *
+ * @return full name for this type
*/
String getName();
/**
* Returns a list of table type identifiers which are valid (specialized) versions
* of this table/class.
+ *
+ * @return allowed type identifiers
*/
Collection<String> getAllowedStringValues();
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-20 12:27:46
|
Revision: 34
http://equanda.svn.sourceforge.net/equanda/?rev=34&view=rev
Author: triathlon98
Date: 2007-08-20 05:27:14 -0700 (Mon, 20 Aug 2007)
Log Message:
-----------
remove old-docs, not relevant any more
Removed Paths:
-------------
trunk/src/site/old-docs/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-18 13:40:27
|
Revision: 33
http://equanda.svn.sourceforge.net/equanda/?rev=33&view=rev
Author: triathlon98
Date: 2007-08-18 06:40:23 -0700 (Sat, 18 Aug 2007)
Log Message:
-----------
small fixes
Modified Paths:
--------------
trunk/equanda-maven-plugin/src/main/java/org/equanda/plugin/TranslatePlugin.java
Modified: trunk/equanda-maven-plugin/src/main/java/org/equanda/plugin/TranslatePlugin.java
===================================================================
--- trunk/equanda-maven-plugin/src/main/java/org/equanda/plugin/TranslatePlugin.java 2007-08-17 13:59:27 UTC (rev 32)
+++ trunk/equanda-maven-plugin/src/main/java/org/equanda/plugin/TranslatePlugin.java 2007-08-18 13:40:23 UTC (rev 33)
@@ -104,19 +104,24 @@
public void uncaughtException( Thread thread, Throwable throwable )
{
SaveException.saveException( throwable, "during equanda:translate" );
- waitFor.notifyAll();
+ synchronized ( waitFor )
+ {
+ waitFor.notifyAll();
+ }
}
} );
try
{
- System.out.println( "need to really start" );
new TranslationsEditor( new MavenConfiguration(), waitFor );
- System.out.println( "done" );
}
catch ( Exception ex )
{
SaveException.saveException( ex, "problems while editing translations" );
+ synchronized ( waitFor )
+ {
+ waitFor.notifyAll();
+ }
throw new MojoExecutionException( "problems while editing translations", ex );
}
synchronized ( waitFor )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-17 13:59:31
|
Revision: 32
http://equanda.svn.sourceforge.net/equanda/?rev=32&view=rev
Author: triathlon98
Date: 2007-08-17 06:59:27 -0700 (Fri, 17 Aug 2007)
Log Message:
-----------
many site improvements
Modified Paths:
--------------
trunk/pom.xml
trunk/src/site/resources/images/logo.png
trunk/src/site/site.xml
trunk/src/site/wiki/CodingStyle.wiki
trunk/src/site/wiki/ExpectedAmount.wiki
trunk/src/site/wiki/Export.wiki
trunk/src/site/wiki/ExportFileFormat.wiki
trunk/src/site/wiki/FScript.wiki
trunk/src/site/wiki/GuiCustomTable.wiki
trunk/src/site/wiki/GuiPageAction.wiki
trunk/src/site/wiki/GuiPageField.wiki
trunk/src/site/wiki/GuiPageFinder.wiki
trunk/src/site/wiki/GuiPageForm.wiki
trunk/src/site/wiki/GuiPageGroup.wiki
trunk/src/site/wiki/GuiPageOther.wiki
trunk/src/site/wiki/GuiPageStructure.wiki
trunk/src/site/wiki/History.wiki
trunk/src/site/wiki/Import.wiki
trunk/src/site/wiki/ImportFileFormat.wiki
trunk/src/site/wiki/Modules.wiki
trunk/src/site/wiki/SeleniumIDE.wiki
trunk/src/site/wiki/SkinTemplates.wiki
trunk/src/site/wiki/ToDo.wiki
trunk/src/site/wiki/UserAdminKeys.wiki
trunk/src/site/wiki/UtilScriptBoolean.wiki
trunk/src/site/wiki/UtilScriptDatabase.wiki
trunk/src/site/wiki/UtilScriptDate.wiki
trunk/src/site/wiki/UtilScriptFile.wiki
trunk/src/site/wiki/UtilScriptGeneral.wiki
trunk/src/site/wiki/UtilScriptIC.wiki
trunk/src/site/wiki/UtilScriptOM.wiki
trunk/src/site/wiki/UtilScriptString.wiki
trunk/src/site/wiki/build.wiki
trunk/src/site/wiki/cascade.wiki
trunk/src/site/wiki/confluence.wiki
trunk/src/site/wiki/core.wiki
trunk/src/site/wiki/index.wiki
trunk/src/site/wiki/lazy.wiki
trunk/src/site/wiki/navigation.wiki
trunk/src/site/wiki/suggest.wiki
trunk/src/site/wiki/template.wiki
trunk/src/site/wiki/tool.wiki
trunk/src/site/wiki/util.wiki
Added Paths:
-----------
trunk/src/site/wiki/ant.wiki
trunk/src/site/wiki/license.wiki
trunk/src/site/wiki/maven.wiki
trunk/src/site/wiki/om.wiki
Removed Paths:
-------------
trunk/src/site/wiki/License.wiki
trunk/src/site/wiki/pagePrefix.html
trunk/src/site/wiki/pageSuffix.html
trunk/src/site/wiki/test.wiki
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/pom.xml 2007-08-17 13:59:27 UTC (rev 32)
@@ -15,35 +15,51 @@
and to generate the graphical user interface.
Apart from that it contains a lot of utility code which is useful for business applications.
</description>
- <modules>
- <module>equanda-util</module>
- <module>equanda-tool</module>
- <module>equanda-t4-template</module>
- <module>equanda-tapestry4</module>
- <module>equanda-client</module>
- <module>equanda-server</module>
- <module>equanda-generate</module>
- <module>equanda-maven-plugin</module>
- </modules>
+
+ <inceptionYear>2007</inceptionYear>
+ <url>http://equanda.be</url>
<licenses>
<license>
<name>MPL</name>
<url>http://www.mozilla.org/MPL/MPL-1.1.html</url>
+ <distribution>repo</distribution>
<comments>v1.1 or higher</comments>
</license>
<license>
<name>GPL</name>
- <url>http://www.fsf.org/licenses/gpl.html</url>
+ <url>http://www.gnu.org/licenses/gpl-2.0.txt</url>
+ <distribution>repo</distribution>
<comments>v2 or higher</comments>
</license>
<license>
<name>LGPL</name>
- <url>http://www.fsf.org/licenses/lgpl.html</url>
+ <url>http://www.gnu.org/licenses/lgpl-2.0.txt</url>
+ <distribution>repo</distribution>
<comments>v2.1 or higher</comments>
</license>
</licenses>
- <url>http://equanda.be</url>
-
+ <issueManagement>
+ <system>sourceforge trackers</system>
+ <url>http://sourceforge.net/tracker/?group_id=200146</url>
+ </issueManagement>
+ <scm>
+ <connection>
+ scm:svn:https://equanda.svn.sourceforge.net/svnroot/equanda/trunk
+ </connection>
+ <developerConnection>
+ scm:svn:https://equanda.svn.sourceforge.net/svnroot/equanda/trunk
+ </developerConnection>
+ <url>http://equanda.svn.sourceforge.net/viewvc/equanda/</url>
+ </scm>
+ <mailingLists>
+ <mailingList>
+ <name>equanda-svn-commit</name>
+ <post>mailto:equ...@li...</post>
+ <subscribe>https://lists.sourceforge.net/lists/listinfo/equanda-svn-commit</subscribe>
+ <unsubscribe>https://lists.sourceforge.net/lists/listinfo/equanda-svn-commit</unsubscribe>
+ <archive>http://sourceforge.net/mailarchive/forum.php?forum_name=equanda-svn-commit</archive>
+ </mailingList>
+ </mailingLists>
<developers>
<developer>
<name>Joachim Van der Auwera</name>
@@ -58,7 +74,25 @@
</developer>
</developers>
+ <modules>
+ <module>equanda-util</module>
+ <module>equanda-tool</module>
+ <module>equanda-t4-template</module>
+ <module>equanda-tapestry4</module>
+ <module>equanda-client</module>
+ <module>equanda-server</module>
+ <module>equanda-generate</module>
+ <module>equanda-maven-plugin</module>
+ </modules>
+
<build>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav</artifactId>
+ <version>1.0-beta-2</version>
+ </extension>
+ </extensions>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -347,15 +381,15 @@
</repository>
</repositories>
<distributionManagement>
- <snapshotRepository>
- <id>snapshotrepo</id>
- <name>Repository Name</name>
- <url>scp://shell.sf.net/home/groups/e/eq/equanda/htdocs/m2repo</url>
- </snapshotRepository>
+ <repository>
+ <id>progs-repo</id>
+ <name>PROGS maven repository</name>
+ <url>dav:http://maven.progs.be/m2repo</url>
+ </repository>
<site>
- <id>website</id>
- <url>scp://shell.sf.net/home/groups/e/eq/equanda/htdocs/</url>
+ <id>equanda-site</id>
+ <name>equanda website</name>
+ <url>dav:http://www.equanda.org</url>
</site>
</distributionManagement>
-
</project>
Modified: trunk/src/site/resources/images/logo.png
===================================================================
(Binary files differ)
Modified: trunk/src/site/site.xml
===================================================================
--- trunk/src/site/site.xml 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/site.xml 2007-08-17 13:59:27 UTC (rev 32)
@@ -1,24 +1,36 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0" encoding="UTF-8"?>
<project name="equanda">
+ <skin>
+ <groupId>be.progs</groupId>
+ <artifactId>maven-site-skin</artifactId>
+ <version>1.0</version>
+ </skin>
+ <publishDate format="yyyy-MM-dd"/>
<bannerLeft>
<name>equanda</name>
<src>/images/logo.png</src>
- <href>http://equanda.sf.net/</href>
+ <href>http://www.equanda.org/</href>
</bannerLeft>
<body>
<links>
- <item name="Apache" href="http://www.apache.org/"/>
- <item name="Maven 1.0" href="http://maven.apache.org/"/>
- <item name="Maven 2" href="http://maven.apache.org/maven2/"/>
+ <item name="equanda" href="http://www.equanda.org/"/>
+ <item name="staticwiki" href="http://www.staticwiki.org/"/>
</links>
<menu name="equanda">
<item name="Introduction" href="index.html"/>
+ <item name="Vision" href="vision.html"/>
+ <item name="Documentation" collapse="true">
+ <item name="Module overview" href="modules.html"/>
+ </item>
+ <item name="License" href="license.html"/>
+ <!--
<item name="Download" href="download.html"/>
<item name="Release Notes" href="release-notes.html"/>
<item name="General Information" href="about.html"/>
<item name="For Maven 1.0 Users" href="maven1.html"/>
<item name="Road Map" href="roadmap.html"/>
+ -->
</menu>
<menu ref="modules" />
Modified: trunk/src/site/wiki/CodingStyle.wiki
===================================================================
--- trunk/src/site/wiki/CodingStyle.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/CodingStyle.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -2,7 +2,3 @@
~~__CAREFUL !__ This page indicates intended behaviour, not existing behaviour~~
-
-
------
-$Id: CodingStyle.wiki 642 2004-08-13 09:01:21Z triathlon98 $
\ No newline at end of file
Modified: trunk/src/site/wiki/ExpectedAmount.wiki
===================================================================
--- trunk/src/site/wiki/ExpectedAmount.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/ExpectedAmount.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -41,5 +41,3 @@
for the chosen/created record is updated in the opener page. \\
(The look of the suggests with table & field is very much like setting links in GUI, but internaly, instead of choosing/setting uoid's,
it sets the value of a field).
-
-$Id: ExpectedAmount.wiki 1132 2005-02-16 07:09:34Z cabnetrom $
\ No newline at end of file
Modified: trunk/src/site/wiki/Export.wiki
===================================================================
--- trunk/src/site/wiki/Export.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/Export.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -139,7 +139,3 @@
If the primary and all the secondary objects have been successfully imported,
then the "primary_done" function is called. This can be used for cleanup, or to mark that the export has finished.
-
-
------
-$Id: Export.wiki 1849 2006-01-12 13:48:28Z triathlon98 $
\ No newline at end of file
Modified: trunk/src/site/wiki/ExportFileFormat.wiki
===================================================================
--- trunk/src/site/wiki/ExportFileFormat.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/ExportFileFormat.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -37,6 +37,3 @@
3=WeightNet
4=Sale
{code}
-
------
-$Id: ExportFileFormat.wiki 1839 2005-12-31 12:38:01Z triathlon98 $
\ No newline at end of file
Modified: trunk/src/site/wiki/FScript.wiki
===================================================================
--- trunk/src/site/wiki/FScript.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/FScript.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -4,7 +4,3 @@
see http://fscript.sourceforge.net/index.html.
~~Placeholder, should include details of all FScript related classes in util~~
-
-
------
-$Id: FScript.wiki 660 2004-08-23 05:25:22Z triathlon98 $
\ No newline at end of file
Modified: trunk/src/site/wiki/GuiCustomTable.wiki
===================================================================
--- trunk/src/site/wiki/GuiCustomTable.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/GuiCustomTable.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -15,6 +15,3 @@
{code}forms{code} directory.
The possible structure for these files is described in [GuiPageStructure].
-
------
-$Id: GuiCustomTable.wiki 638 2004-08-12 15:15:03Z triathlon98 $
\ No newline at end of file
Modified: trunk/src/site/wiki/GuiPageAction.wiki
===================================================================
--- trunk/src/site/wiki/GuiPageAction.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/GuiPageAction.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -15,7 +15,3 @@
An action could be represented as a link/button, opening another window or popup, asking for the parameters of this action.
Depending on the return type, when the parameters are filled correctly the action window should show a result or return to the edit page / or select page.
(we currently show the actions in the select pages).
-
-
------
-$Id: GuiPageAction.wiki 650 2004-08-16 15:47:45Z cabnetrom $
\ No newline at end of file
Modified: trunk/src/site/wiki/GuiPageField.wiki
===================================================================
--- trunk/src/site/wiki/GuiPageField.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/GuiPageField.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -20,6 +20,3 @@
{code}
Obviously, the default value for "editable" is "true".
-
------
-$Id: GuiPageField.wiki 642 2004-08-13 09:01:21Z triathlon98 $
\ No newline at end of file
Modified: trunk/src/site/wiki/GuiPageFinder.wiki
===================================================================
--- trunk/src/site/wiki/GuiPageFinder.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/GuiPageFinder.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -12,6 +12,3 @@
If there is one result, each field value is on one line.
If there are many results, there is a sort of a table, each record is shown on one line. If there are more records in the results then a certain value, there should be possible to split them in pages, and navigate with [previous] / [next] buttons.
-
------
-$Id: GuiPageFinder.wiki 650 2004-08-16 15:47:45Z cabnetrom $
\ No newline at end of file
Modified: trunk/src/site/wiki/GuiPageForm.wiki
===================================================================
--- trunk/src/site/wiki/GuiPageForm.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/GuiPageForm.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -1,7 +1,3 @@
!Possible contents of a page
~~__CAREFUL !__ This page indicates intended behaviour, not existing behaviour~~
-
-
------
-$Id: GuiPageForm.wiki 638 2004-08-12 15:15:03Z triathlon98 $
\ No newline at end of file
Modified: trunk/src/site/wiki/GuiPageGroup.wiki
===================================================================
--- trunk/src/site/wiki/GuiPageGroup.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/GuiPageGroup.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -1,7 +1,3 @@
!Possible contents of a page
~~__CAREFUL !__ This page indicates intended behaviour, not existing behaviour~~
-
-
------
-$Id: GuiPageGroup.wiki 638 2004-08-12 15:15:03Z triathlon98 $
\ No newline at end of file
Modified: trunk/src/site/wiki/GuiPageOther.wiki
===================================================================
--- trunk/src/site/wiki/GuiPageOther.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/GuiPageOther.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -1,7 +1,3 @@
!Possible contents of a page
~~__CAREFUL !__ This page indicates intended behaviour, not existing behaviour~~
-
-
------
-$Id: GuiPageOther.wiki 638 2004-08-12 15:15:03Z triathlon98 $
\ No newline at end of file
Modified: trunk/src/site/wiki/GuiPageStructure.wiki
===================================================================
--- trunk/src/site/wiki/GuiPageStructure.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/GuiPageStructure.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -63,6 +63,3 @@
- fields [GuiPageField]
- actions [GuiPageAction]
- other (navigation etc) [GuiPageOther]
-
------
-$Id: GuiPageStructure.wiki 638 2004-08-12 15:15:03Z triathlon98 $
\ No newline at end of file
Modified: trunk/src/site/wiki/History.wiki
===================================================================
--- trunk/src/site/wiki/History.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/History.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -8,6 +8,3 @@
... first version gui using Cocooon
... move to tapestry
... move to ejb3
-
------
-$Id: History.wiki 1688 2005-10-13 08:05:24Z triathlon98 $
Modified: trunk/src/site/wiki/Import.wiki
===================================================================
--- trunk/src/site/wiki/Import.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/Import.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -148,6 +148,3 @@
{code}
The [FScript] extensions from the util module are available.
-
------
-$Id: Import.wiki 3028 2006-10-23 14:01:09Z triathlon98 $
\ No newline at end of file
Modified: trunk/src/site/wiki/ImportFileFormat.wiki
===================================================================
--- trunk/src/site/wiki/ImportFileFormat.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/ImportFileFormat.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -122,7 +122,3 @@
{code}
Advanced linked record with nesting and combined selector and fieldlist for "Location".
-
-
------
-$Id: ImportFileFormat.wiki 660 2004-08-23 05:25:22Z triathlon98 $
\ No newline at end of file
Deleted: trunk/src/site/wiki/License.wiki
===================================================================
--- trunk/src/site/wiki/License.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/License.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -1,40 +0,0 @@
-!The equanda license
-
-Deciding a license for open source software is always difficult.
-Legal mumbo jumbo is not the strong point for most programmers.
-Therefore, let me explain the spirit of the licence before moving on to the legal stuff.
-
-As equanda is open source, the choice was for a copyleft license
-(see http://www.fsf.org/licenses/licenses.html#WhatIsCopyleft).
-This means that the code is open source, and it cannot be closed.
-That is, all modifications to this software need to be published (and need to be open source again).
-
-The best known copyleft license is probably GPL, but that is known to be infectious,
-as it strictly disallows using equanda as part of something which is not entirely GPL.
-equanda is mostly developed by CAB for use in their commercial software, so that was a strict no-no.
-
-Not wanting to write yet another open source license, MPL seems like the best choice.
-
-Of course, as equanda is open source, we also want to encourage the use of equanda in other open source projects.
-A lot of open source software is licensed as GPL or LGPL, but the free software foundation says MPL is not
-compatible with these licenses (see http://www.fsf.org/licenses/license-list.html).
-
-The people at Mozilla were also aware of this problem, and solved this by triple licensing
-(for background see http://www.mozilla.org/MPL/relicensing-faq.html). In short, the code is
-licensed using MPL, but the user may choose to replace the license by either GPL or LGPL.
-
-The full applicable license texts :
-- MPL v1.1 or higher, http://www.mozilla.org/MPL/
-- GPL v2 or higher, http://www.fsf.org/licenses/gpl.html
-- LGPL v2.1 or higher, http://www.fsf.org/licenses/lgpl.html
-
-All code which is added in IC-trace needs to be triple licensed like this,
-or have another license which is compatible (more liberal) with this triple license.
-
-
-__Addendum__ : equanda contains quite a few templates which generate code. While these templates fall
-under the triple license, the generated code does not and can be modified and used at well
-(so also in commercial products, without the need to publish the changes).
-
------
-$Id: License.wiki 683 2004-08-27 03:14:54Z triathlon98 $
\ No newline at end of file
Modified: trunk/src/site/wiki/Modules.wiki
===================================================================
--- trunk/src/site/wiki/Modules.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/Modules.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -1,13 +1,13 @@
-!equanda modules
+h1. equanda modules
equanda consists of a several modules, each with their own purpose.
-!build
+h2. !build
The build module
-!core
+h2. core
[ExpectedAmount]\\
[SkinTemplates]\\
@@ -15,7 +15,7 @@
~~ to be completed ~~
-!template
+h2. template
This module contains templates for building a usable .war.
Apart from the files which are generated, there is a whole bunch of files which are normally not replaced.
@@ -25,17 +25,17 @@
You could use one of these or modify them to build your application specific look and feel.
-!test
+h2. test
~~ to be completed ~~
-!util
+h2. util
~~ to be completed ~~
-!tool
+h2. tool
The tool modules contains some tools which are useful for equanda generated applications.
The following tools currently exist.
@@ -43,7 +43,3 @@
- [Import] : tool to import data based on a text file or a script
- [Export] : tool to export data into a text file or into a script.
-
-
------
-$Id: Modules.wiki 1273 2005-04-01 15:49:19Z cabnetrom $
\ No newline at end of file
Modified: trunk/src/site/wiki/SeleniumIDE.wiki
===================================================================
--- trunk/src/site/wiki/SeleniumIDE.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/SeleniumIDE.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -1,6 +1,5 @@
+h1. Creating testcases for GUI with Selenium IDE
-!Creating testcases for GUI with Selenium IDE
-
Selenium is a test tool for web applications.
Testcases used with Selenium are descriptions of the actions of a user in the browser: go to some adress, enter text in
@@ -88,8 +87,4 @@
\\
Selenium IDE also support running the testcases, runnning step-by-step...
-Docs for Selenium IDE are at: http://www.openqa.org/selenium-ide/ . They also have a flash movie (with comments) to show
- the usage of Selenium IDE for recording tests.
-
------
-$Id: SeleniumIDE.wiki 2888 2006-08-18 18:18:24 +0200 (Fri, 18 Aug 2006) max_brod $
\ No newline at end of file
+Docs for Selenium IDE are at: http://www.openqa.org/selenium-ide/ . They also have a flash movie (with comments) to show the usage of Selenium IDE for recording tests.
Modified: trunk/src/site/wiki/SkinTemplates.wiki
===================================================================
--- trunk/src/site/wiki/SkinTemplates.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/SkinTemplates.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -1,4 +1,4 @@
-!Skins for templates.
+h1. Skins for templates.
For templates it's possible to define a skin, along with your template.\\
The skin file will be used for generation.\\
@@ -18,5 +18,3 @@
...
We found it useful there, it seemed more elegant than using a lot of "#parse".
-
-$Id: SkinTemplates.wiki 1273 2005-04-01 15:49:19Z cabnetrom $
\ No newline at end of file
Modified: trunk/src/site/wiki/ToDo.wiki
===================================================================
--- trunk/src/site/wiki/ToDo.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/ToDo.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -33,6 +33,3 @@
!Some questions
-
------
-$Id: ToDo.wiki 1688 2005-10-13 08:05:24Z triathlon98 $
\ No newline at end of file
Modified: trunk/src/site/wiki/UserAdminKeys.wiki
===================================================================
--- trunk/src/site/wiki/UserAdminKeys.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/UserAdminKeys.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -100,4 +100,4 @@
-----
-$Id: UserAdminKeys.wiki 1273 2005-04-01 15:49:19Z cabnetrom $
\ No newline at end of file
+$Id: $
\ No newline at end of file
Modified: trunk/src/site/wiki/UtilScriptBoolean.wiki
===================================================================
--- trunk/src/site/wiki/UtilScriptBoolean.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/UtilScriptBoolean.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -2,6 +2,3 @@
- TRUE : read only variable with value 1.
- FALSE : read only variable with value 0.
-
------
-$Id: UtilScriptBoolean.wiki 1688 2005-10-13 08:05:24Z triathlon98 $
Modified: trunk/src/site/wiki/UtilScriptDatabase.wiki
===================================================================
--- trunk/src/site/wiki/UtilScriptDatabase.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/UtilScriptDatabase.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -8,6 +8,3 @@
- .field(fieldname, table[, where]) : get the value of one field in a table. The where condition is optional.
- .field : (where field is a fieldname from the query). Get the value of the field in the current record of the resultset.
- .field# : (nr is fieldnumber in the query, starting from one). Get the value of the field in the current record of the resultset.
-
------
-$Id: UtilScriptDatabase.wiki 1688 2005-10-13 08:05:24Z triathlon98 $
Modified: trunk/src/site/wiki/UtilScriptDate.wiki
===================================================================
--- trunk/src/site/wiki/UtilScriptDate.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/UtilScriptDate.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -9,6 +9,3 @@
- dateweek(date) : return the iso week numberfor the date given as parameter.
- setdateday(date, day) : return the date with the day changed to the passed day (as integer)
- setdatedaypast(date, day) : return the date with the day changed to the passed day (integer), forcing to be before the past dat. So, if the day is larger than the day in the passed date, then that day in the previous month is returned.
-
------
-$Id: UtilScriptDate.wiki 3012 2006-10-09 10:40:39Z triathlon98 $
Modified: trunk/src/site/wiki/UtilScriptFile.wiki
===================================================================
--- trunk/src/site/wiki/UtilScriptFile.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/UtilScriptFile.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -7,6 +7,3 @@
- write(fp, ...) : ge extra parameters worden in het gegeven bestand geschreven, gevolg door een newline.
- delete(filename) : delete the given file.
- rename(from, to) : rename the first filename to the second filename. Will actually perform a copy/delete ifthe rename does not work.
-
------
-$Id: UtilScriptFile.wiki 1688 2005-10-13 08:05:24Z triathlon98 $
Modified: trunk/src/site/wiki/UtilScriptGeneral.wiki
===================================================================
--- trunk/src/site/wiki/UtilScriptGeneral.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/UtilScriptGeneral.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -4,6 +4,3 @@
- execute(command) : have the given command executed at the command prompt.
- create(class) : create an object from the given classname.
- random(max) : return a random number between 0 (inclusive) and max (exclusive).
-
------
-$Id: UtilScriptGeneral.wiki 1688 2005-10-13 08:05:24Z triathlon98 $
Modified: trunk/src/site/wiki/UtilScriptIC.wiki
===================================================================
--- trunk/src/site/wiki/UtilScriptIC.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/UtilScriptIC.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -2,6 +2,3 @@
- isICWeight(str) : is this a valid IC-trace weight reference?
- isICBatch(str) : is this a valid IC-trace batch reference?
-
------
-$Id: UtilScriptIC.wiki 1688 2005-10-13 08:05:24Z triathlon98 $
Modified: trunk/src/site/wiki/UtilScriptOM.wiki
===================================================================
--- trunk/src/site/wiki/UtilScriptOM.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/UtilScriptOM.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -10,6 +10,3 @@
- OMDate(value) : get a date value from a JJJMMDD string
- OMTimestamp(value) : get timestamp value from a string (YYYYMMDDHHMM or YYYYMMDDHHMMSS.SSS)
- OMValue(value[,dm]) : JNDI lookup for a string in the given data model
-
------
-$Id: UtilScriptOM.wiki 1977 2006-04-21 08:41:25Z triathlon98 $
Modified: trunk/src/site/wiki/UtilScriptString.wiki
===================================================================
--- trunk/src/site/wiki/UtilScriptString.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/UtilScriptString.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -23,5 +23,3 @@
- replace(string, what, with) : replace sequences of "what" in te given string with the value indicated by "with".
- wordwrap(str, line, len) : return the requested line from the given string, using wordwrap with len characters on a line, or an empty string if the line does not exist.
- increment(str) : tries to increment the number at the end of the string and returns that with the same prefix. If there is no number at the end, then the string itself is returned.
------
-$Id: UtilScriptString.wiki 2587 2006-06-15 17:13:05Z triathlon98 $
Added: trunk/src/site/wiki/ant.wiki
===================================================================
--- trunk/src/site/wiki/ant.wiki (rev 0)
+++ trunk/src/site/wiki/ant.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -0,0 +1 @@
+h1. Ant integration
\ No newline at end of file
Modified: trunk/src/site/wiki/build.wiki
===================================================================
--- trunk/src/site/wiki/build.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/build.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -1,4 +1 @@
!build module
-
------
-$Id: build.wiki 1657 2005-09-13 22:55:02Z triathlon98 $
Modified: trunk/src/site/wiki/cascade.wiki
===================================================================
--- trunk/src/site/wiki/cascade.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/cascade.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -6,7 +6,3 @@
-- cascade-keep for a field means that if the linked record is going to be deleted, then this needs to be prevented
-- cascade-keep for a table means that if a record from that table is going to be deleted and is used in some other tables, then this needs to be prevented. This can be override by specifying cascade-delete or cascade-allow for a field.
-- cascade-delete for a fields means that the linked record is going to be deleted also. If that is not possible, then the delete fails
-
-
------
-$Id: cascade.wiki 1732 2005-11-01 14:22:17Z cabnetrom $
Modified: trunk/src/site/wiki/confluence.wiki
===================================================================
--- trunk/src/site/wiki/confluence.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/confluence.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -143,6 +143,4 @@
| Bob | 23 |
| Cathy | 45 |
-{code}
------
-$Id: confluence.wiki 2768 2006-08-02 10:15:28 +0200 (Wed, 02 Aug 2006) pushkutza $
\ No newline at end of file
+{code}
\ No newline at end of file
Modified: trunk/src/site/wiki/core.wiki
===================================================================
--- trunk/src/site/wiki/core.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/core.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -1,4 +1 @@
!core module
-
------
-$Id: core.wiki 1657 2005-09-13 22:55:02Z triathlon98 $
Modified: trunk/src/site/wiki/index.wiki
===================================================================
--- trunk/src/site/wiki/index.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/index.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -1,8 +1,18 @@
+----
+*warning* this is highly preliminary information, the project (and especially the documentation) is in a very preliminary fase and will be improved soon. So do have a browse around, but definitely come back later to see how things evolve.
+----
+
+
h1. equanda purpose
-equanda is an tool to generate a base (J2EE based) application from a XML description of the data and interactions. This application can then be further extended in code. If the base definition changes, the application can be regenerated without loss of the custom code/extensions used to make the app more complete.
-Apart from the core functionality, equanda also includes some utility code which can be useful in it's own right.
+equanda is a tool which should help you to build enterprise grade (J2EE based) application with minimal effort, focussing not only on the initial version, but considering that most of the cost will be in maintaining and evolving the application.
+This is done by generating as much as possible directly from an XML description of the the data and interactions (the _object model_ "om").
+
+There are many ways to enhance/improve the generated application, but this is always done in such a way that most changes in the object model don't cause any problems. You just recompile (which re-generates al lthe files which needs modifying) and all the manual changes are preserved.
+
+The idea is that application development should be focussed on doing the important stuff (the unique features of the application), and that common aspects should only be done once (even more so because this improves consistency). The goal is to work towards a [vision|vision.html] of how application development should be (original thoughts in this [blog|http://blog.progs.be/?p=21]).
+
h2. Features
- The data model supports the following features
@@ -15,6 +25,7 @@
-- soft linked records (using an ordinary field reference, the linked record may not exist)
-- field values can be limited (choices) either statically (xml description) or programmatically (validation)
-- for removing records [cascade] can be used
+-- field templates can be used
- The user interface, out of the box, contains the following features
-- thin client, all browsers
@@ -23,7 +34,7 @@
-- easy/efficient keyboard [navigation]
-- powerful automatic cross linking of records
-- setting links using [suggest] values
--- fields can be distributed over (tab) pages with some fields can be visible on all tabs
+-- fields can be distributed over (tab) pages with some fields be visible on all tabs
-- fields can be grouped
-- powerful user management with customization of rights
-- possible choice of visible fields per user
@@ -61,7 +72,7 @@
- JBoss AS is used for development of the framework (http:/www.jboss.org/)
- Firebird database (http://www.firebirdsql.org/) is used for testing
- The Tapestry framework (http://jakarta.apache.org/tapestry/) is used for the user interface
-- Ant (http://ant.apache.org/ant/) and Velocity (http://jakarta.apache.org/velocity/) are used to drive the generation
+- Ant (http://ant.apache.org/ant/) or maven (http://maven.apache.org) and Velocity (http://jakarta.apache.org/velocity/) are used to drive the generation
- Javolution (http://javolution.org/) is used (mainly) to avoid garbage creation and for some extra speed.
- FScript (http://fscript.sf.net/) for a simple, extensible scripting language
- JasperReports () for a powerful open source reporting engine
@@ -73,7 +84,6 @@
h2. Thanks to
-- [CAB-software|http://www.cab-software.be/] for funding the original development of [Uni-d|http://sf.net/projects/uni-d/], on which equanda is based.
-Equanda is based on Uni-d (http://sf.net/projects/uni-d), for which the development was sponsored by [CAB-software|http://www.cab-software.be/]. The principles have proven themselves there for the implementation of [IC-trace|http://ic-trace.org].
-The development is been sponsored by [synergetics|http://www.synergetics.be/]
+- Equanda is based on [Uni-d|http://sf.net/projects/uni-d], for which the development was sponsored by [CAB-software|http://www.cab-software.be/]. The principles have proven themselves there for the implementation of [IC-trace|http://ic-trace.org].
+- The development is been sponsored by [synergetics|http://www.synergetics.be/]
Modified: trunk/src/site/wiki/lazy.wiki
===================================================================
--- trunk/src/site/wiki/lazy.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/lazy.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -3,4 +3,5 @@
- when hasNext is called and the next iterator object(UOID) is not fetched, a new page is fetched
- when hasNext is called and the next object is already fetched, get is used to obtain the value/proxy or bean
- when hasNext is used for iterator and the collection size was modified, hasNext returns false
-- when get is called and the collection was modified, ConcurrentModificationException is thrown
\ No newline at end of file
+- when get is called and the collection was modified, ConcurrentModificationException is thrown
+- when a collection is not (yet) fully instantiated, then count() will run a count query on the database
\ No newline at end of file
Copied: trunk/src/site/wiki/license.wiki (from rev 27, trunk/src/site/wiki/License.wiki)
===================================================================
--- trunk/src/site/wiki/license.wiki (rev 0)
+++ trunk/src/site/wiki/license.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -0,0 +1,25 @@
+h1. The equanda license
+
+Deciding a license for open source software is always difficult. Legal mumbo jumbo is not the strong point for most programmers. Therefore, let me explain the spirit of the licence before moving on to the legal stuff.
+
+As equanda is open source, the choice was for a copyleft license (see http://www.fsf.org/licenses/licenses.html#WhatIsCopyleft). This means that the code is open source, and it cannot be closed.
+That is, all modifications to this software need to be published (and need to be open source again).
+
+The best known copyleft license is probably GPL, but that is known to be infectious, as it strictly disallows using equanda as part of something which is not entirely GPL.
+equanda is intended for the delopment of enterprise level application, and thus it should be suitable for all kinds of commercial applicatons. As a result, using GPL was a strict no-no.
+
+Not wanting to write yet another open source license, MPL seems like the best choice.
+
+Of course, as equanda is open source, we also want to encourage the use of equanda in other open source projects. A lot of open source software is licensed as GPL or LGPL, but the free software foundation says MPL is not compatible with these licenses (see http://www.fsf.org/licenses/license-list.html).
+
+The people at Mozilla were also aware of this problem, and solved this by triple licensing (for background see http://www.mozilla.org/MPL/relicensing-faq.html). In short, the code is licensed using MPL, but the user may choose to replace the license by either GPL or LGPL.
+
+The full applicable license texts :
+- MPL v1.1 or higher, http://www.mozilla.org/MPL/
+- GPL v2 or higher, http://www.fsf.org/licenses/gpl.html
+- LGPL v2.1 or higher, http://www.fsf.org/licenses/lgpl.html
+
+All code which is added in equanda needs to be triple licensed like this, or have another license which is compatible (more liberal) with this triple license.
+
+
+__Addendum__ : equanda contains quite a few templates which generate code. While these templates fall under the triple license, the generated code does not and can be modified and used at well (so also in commercial products, without the need to publish the changes).
Added: trunk/src/site/wiki/maven.wiki
===================================================================
--- trunk/src/site/wiki/maven.wiki (rev 0)
+++ trunk/src/site/wiki/maven.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -0,0 +1,3 @@
+h1. maven integration
+
+equanda should be particularly easy to use in combination with a [maven2|http://maven.apache.org] build proces. Maven allows you to make the build proces declarative. That is, in the pom ([project object model|http://maven.apache.org/pom.html]), you describe the project, including the configuration details. You then just run maven with a specific _target_ telling it what to do.
\ No newline at end of file
Modified: trunk/src/site/wiki/navigation.wiki
===================================================================
--- trunk/src/site/wiki/navigation.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/navigation.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -5,7 +5,3 @@
-- pressing <Shift+Tab> changes focus to the previous input field
-- submit data by pressing <Ctrl+Enter> no matter focus field
-- submit data by pressing <Enter> on submit buttons which are set as submit buttons. Setting a submit button is done by adding a class named "submitButton"
-
-
------
-$Id: navigation.wiki 1755 2005-11-22 12:41:51Z cabnetrom $
Added: trunk/src/site/wiki/om.wiki
===================================================================
--- trunk/src/site/wiki/om.wiki (rev 0)
+++ trunk/src/site/wiki/om.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -0,0 +1,3 @@
+h1. Object model
+
+The base for most of the generation done in equanda is the object model description.
\ No newline at end of file
Deleted: trunk/src/site/wiki/pagePrefix.html
===================================================================
--- trunk/src/site/wiki/pagePrefix.html 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/pagePrefix.html 2007-08-17 13:59:27 UTC (rev 32)
@@ -1,44 +0,0 @@
-<html>
-<head>
-<title>equanda</title>
-</head>
-<body>
-
-<table width="100%">
-<tr>
-<td width="200" align="center" valign="top" bgcolor="#FAEBD7">
-
-<img src="images/logo.png">
-
-<br/><hr />
-
-<br/>
-<A HREF="index.html">index</A>
-<br/>
-
-<br/><hr />
-
-<br/>
-<A HREF="Modules.html">modules</A>
-<br/>
-
-<br/><hr />
-
-<br/>
-<A HREF="License.html">license</A>
-<br/>
-<A HREF="CodingStyle.html">coding style</A>
-<br/>
-<A HREF="ToDo.html">to do</A>
-<br/>
-
-<br/><hr />
-
-<br/>
-
-<A HREF="http://sourceforge.net/projects/equanda"><IMG src="images/sourceforge.png"/></A>
-
-</td>
-<td width="10"/>
-<td>
-<p>
\ No newline at end of file
Deleted: trunk/src/site/wiki/pageSuffix.html
===================================================================
--- trunk/src/site/wiki/pageSuffix.html 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/pageSuffix.html 2007-08-17 13:59:27 UTC (rev 32)
@@ -1,5 +0,0 @@
-</p>
-</td>
-</tr>
-</table>
-</body>
\ No newline at end of file
Modified: trunk/src/site/wiki/suggest.wiki
===================================================================
--- trunk/src/site/wiki/suggest.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/suggest.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -5,6 +5,3 @@
-- searching for description start can be done by entering the string value followed by '--' characters and pressing <Tab> or <Enter> after
-- searching for description part can be done by entering the string value followed by '?' character and pressing <Tab> or <Enter> after
-- for links finding a matching reference is possible by entering the reference and pressing <Tab> or <Enter>
-
------
-$Id: suggest.wiki 1755 2005-11-22 12:41:51Z cabnetrom $
\ No newline at end of file
Modified: trunk/src/site/wiki/template.wiki
===================================================================
--- trunk/src/site/wiki/template.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/template.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -1,4 +1 @@
!template module
-
------
-$Id: template.wiki 1657 2005-09-13 22:55:02Z triathlon98 $
Deleted: trunk/src/site/wiki/test.wiki
===================================================================
--- trunk/src/site/wiki/test.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/test.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -1,37 +0,0 @@
-Test italics, ~~testing~~
-
-Test bold, __testing__
-
-Striketrough test, --testing--
-
-Add newline test, test\\ing
-
-typography, ... should be rendered as ellipsis
-
-!New style header
-
-- there is
-- a good way
--- to have a list
-- if you need one
-
-A link should simple be in square brackets [LikeThis] or URL http://ic-trace.org or (existing) [index].
-
-{code}
- // set the "application directory" where the definition can be found
- public void setOutdir( String msg )
- {
- outDir = msg;
- if ( !outDir.endsWith( File.separator ) )
- {
- outDir += File.separatorChar;
- }
- }
-{code}
-
-Try to include an image img:images/IC-trace.jpg
-
-
-Horizontal rule
------
-$Id: test.wiki 614 2004-08-08 15:28:55Z triathlon98 $
\ No newline at end of file
Modified: trunk/src/site/wiki/tool.wiki
===================================================================
--- trunk/src/site/wiki/tool.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/tool.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -1,4 +1 @@
!tool module
-
------
-$Id: tool.wiki 1657 2005-09-13 22:55:02Z triathlon98 $
Modified: trunk/src/site/wiki/util.wiki
===================================================================
--- trunk/src/site/wiki/util.wiki 2007-08-17 13:33:03 UTC (rev 31)
+++ trunk/src/site/wiki/util.wiki 2007-08-17 13:59:27 UTC (rev 32)
@@ -11,6 +11,3 @@
-- [UtilScriptIC] some IC-trace specific aid routines
-- [UtilScriptOM] some aid rouines to access a equanda generated object model
-- [UtilScriptString] some string handing aid routines
-
------
-$Id: util.wiki 1688 2005-10-13 08:05:24Z triathlon98 $
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-17 13:33:07
|
Revision: 31
http://equanda.svn.sourceforge.net/equanda/?rev=31&view=rev
Author: triathlon98
Date: 2007-08-17 06:33:03 -0700 (Fri, 17 Aug 2007)
Log Message:
-----------
1776267 add translate maven plugin
small improvements in translate tool (shortcuts etc)
Modified Paths:
--------------
trunk/equanda-maven-plugin/pom.xml
trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/Configuration.java
trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/TranslationsEditor.java
Added Paths:
-----------
trunk/equanda-maven-plugin/src/main/java/org/equanda/plugin/TranslatePlugin.java
trunk/equanda-maven-plugin/src/site/
trunk/equanda-maven-plugin/src/site/site.xml
trunk/equanda-maven-plugin/src/site/wiki/
trunk/equanda-maven-plugin/src/site/wiki/generate.wiki
trunk/equanda-maven-plugin/src/site/wiki/index.wiki
trunk/equanda-maven-plugin/src/site/wiki/translate.wiki
trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/IniConfiguration.java
Modified: trunk/equanda-maven-plugin/pom.xml
===================================================================
--- trunk/equanda-maven-plugin/pom.xml 2007-08-17 11:52:06 UTC (rev 30)
+++ trunk/equanda-maven-plugin/pom.xml 2007-08-17 13:33:03 UTC (rev 31)
@@ -33,5 +33,9 @@
<groupId>org.equanda</groupId>
<artifactId>equanda-generate</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.equanda</groupId>
+ <artifactId>equanda-tool</artifactId>
+ </dependency>
</dependencies>
</project>
Added: trunk/equanda-maven-plugin/src/main/java/org/equanda/plugin/TranslatePlugin.java
===================================================================
--- trunk/equanda-maven-plugin/src/main/java/org/equanda/plugin/TranslatePlugin.java (rev 0)
+++ trunk/equanda-maven-plugin/src/main/java/org/equanda/plugin/TranslatePlugin.java 2007-08-17 13:33:03 UTC (rev 31)
@@ -0,0 +1,186 @@
+/**
+ * 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.plugin;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.equanda.tool.translationsEditor.Configuration;
+import org.equanda.tool.translationsEditor.TranslationsEditor;
+import org.equanda.util.SaveException;
+
+/**
+ * Maven pugin to edit the translation files for the project.
+ *
+ * @author <a href="mailto:jo...@pr...">Joachim Van der Auwera</a>
+ * @goal translate
+ * @description equanda maven plugin to edit the project translations
+ */
+public class TranslatePlugin
+ extends AbstractMojo
+{
+ /**
+ * @parameter expression="om.xml"
+ */
+ private String definition;
+
+ /**
+ * @parameter expression="${basedir}/../src/main/om"
+ */
+ private String sourceDirectory;
+
+ /**
+ * @parameter expression="true"
+ */
+ private boolean importDbKeysOnly;
+
+ /**
+ * @parameter expression="true"
+ */
+ private boolean infrastructure;
+
+ /**
+ * @parameter expression="equanda-table"
+ */
+ private String context;
+
+ /**
+ * @parameter expression="equanda-table"
+ */
+ private String keyPrefixesToKeep;
+
+ /**
+ * @parameter expression="${basedir}/src/main/resources/translations.txt"
+ */
+ private String translateTarget;
+
+ /**
+ * When not specified, then not used, could be something like "en:nl"
+ *
+ * @parameter expression=""
+ */
+ private String verifyLanguages;
+
+ /**
+ * @parameter expression="1000"
+ */
+ private int width;
+
+ /**
+ * @parameter expression="600"
+ */
+ private int height;
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ System.out.println( "verifyLanguages " + verifyLanguages );
+ if ( null == verifyLanguages || "".equals( verifyLanguages ) ) return;
+
+ final Object waitFor = new Object();
+ Thread.currentThread().setUncaughtExceptionHandler( new Thread.UncaughtExceptionHandler()
+ {
+ public void uncaughtException( Thread thread, Throwable throwable )
+ {
+ SaveException.saveException( throwable, "during equanda:translate" );
+ waitFor.notifyAll();
+ }
+ } );
+
+ try
+ {
+ System.out.println( "need to really start" );
+ new TranslationsEditor( new MavenConfiguration(), waitFor );
+ System.out.println( "done" );
+ }
+ catch ( Exception ex )
+ {
+ SaveException.saveException( ex, "problems while editing translations" );
+ throw new MojoExecutionException( "problems while editing translations", ex );
+ }
+ synchronized ( waitFor )
+ {
+ try { waitFor.wait(); } catch ( InterruptedException ex ) {/*ignore*/}
+ }
+ }
+
+ private class MavenConfiguration
+ implements Configuration
+ {
+ public String getDefinition()
+ {
+ return definition;
+ }
+
+ public String getAppdir()
+ {
+ return sourceDirectory;
+ }
+
+ public boolean getImportDbKeysOnly()
+ {
+ return importDbKeysOnly;
+ }
+
+ public boolean getInfrastructure()
+ {
+ return infrastructure;
+ }
+
+ public String getContext()
+ {
+ return context;
+ }
+
+ public String getKeyPrefixesToKeep()
+ {
+ return keyPrefixesToKeep;
+ }
+
+ public String getTargetFile()
+ {
+ return translateTarget;
+ }
+
+ public String[] getVerifyLanguages()
+ {
+ return verifyLanguages.split( ";" );
+ }
+
+ public boolean isShowDb()
+ {
+ return true;
+ }
+
+ public int getWidth()
+ {
+ return width;
+ }
+
+ public int getHeight()
+ {
+ return height;
+ }
+ }
+}
Added: trunk/equanda-maven-plugin/src/site/site.xml
===================================================================
--- trunk/equanda-maven-plugin/src/site/site.xml (rev 0)
+++ trunk/equanda-maven-plugin/src/site/site.xml 2007-08-17 13:33:03 UTC (rev 31)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="equanda-maven-plugin">
+ <body>
+ <menu name="equanda-maven-plugin">
+ <item name="Introduction" href="index.html"/>
+ <item name="Generate" href="generate.html"/>
+ <item name="Translate" href="translate.html"/>
+ </menu>
+ </body>
+</project>
\ No newline at end of file
Added: trunk/equanda-maven-plugin/src/site/wiki/generate.wiki
===================================================================
--- trunk/equanda-maven-plugin/src/site/wiki/generate.wiki (rev 0)
+++ trunk/equanda-maven-plugin/src/site/wiki/generate.wiki 2007-08-17 13:33:03 UTC (rev 31)
@@ -0,0 +1,30 @@
+h1. Generate plugin
+
+The generate plugin should be used to generate the sources based on the [object model description|../om.html].
+
+It is for example used in the core module of the application, and there used as follows
+{code}
+ <build>
+ ...
+ <plugins>
+ ...
+ <plugin>
+ <groupId>org.equanda</groupId>
+ <artifactId>equanda-maven-plugin</artifactId>
+ <configuration>
+ <sourceDirectory>${basedir}/../src/main/om</sourceDirectory>
+ <template>ejb3,import,login</template>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ ...
+ </plugins>
+ ...
+ </build>
+{code}
Added: trunk/equanda-maven-plugin/src/site/wiki/index.wiki
===================================================================
--- trunk/equanda-maven-plugin/src/site/wiki/index.wiki (rev 0)
+++ trunk/equanda-maven-plugin/src/site/wiki/index.wiki 2007-08-17 13:33:03 UTC (rev 31)
@@ -0,0 +1,6 @@
+h1. equanda maven plugin
+
+The equanda-maven-plugin module contains several maven targets which can be used to handle some tasks which are important in the compilation and/or maintenance of the application.
+
+- [generate|generate.html] plugin
+- [translate|translate.html] plugin
Added: trunk/equanda-maven-plugin/src/site/wiki/translate.wiki
===================================================================
--- trunk/equanda-maven-plugin/src/site/wiki/translate.wiki (rev 0)
+++ trunk/equanda-maven-plugin/src/site/wiki/translate.wiki 2007-08-17 13:33:03 UTC (rev 31)
@@ -0,0 +1,41 @@
+h1. translate plugin
+
+To allow easy entering of the translation string for the application, with aid about strings which are not yet translated etc, you can use the translation plugin.
+
+For this to work, shou should edit your .m2/settings.xml file to assure the following bit is included.
+{code}
+ ...
+ <pluginGroups>
+ ...
+ <pluginGroup>org.equanda</pluginGroup>
+ ...
+ </pluginGroups>
+ ...
+{code}
+
+In the pom for the core module, you should add the following (probably merging with the existing equanda-maven-plugin configuration).
+{code}
+ <build>
+ ...
+ <plugins>
+ ...
+ <plugin>
+ <groupId>org.equanda</groupId>
+ <artifactId>equanda-maven-plugin</artifactId>
+ <configuration>
+ <sourceDirectory>${basedir}/../src/main/om</sourceDirectory>
+ <translateTarget>${basedir}/src/main/resources/translations.txt</translateTarget>
+ <verifyLanguages>en;nl</verifyLanguages>
+ </configuration>
+ </plugin>
+ ...
+ </plugins>
+ ...
+ </build>
+{code}
+You may want to change the configuration settings, specifically _verifyLanguages_ as this contains the languages for which translations are needed.
+
+You can now start the translation tool uwing the following maven command.
+{code}
+mvn equanda:translate
+{code}
Modified: trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/Configuration.java
===================================================================
--- trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/Configuration.java 2007-08-17 11:52:06 UTC (rev 30)
+++ trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/Configuration.java 2007-08-17 13:33:03 UTC (rev 31)
@@ -26,175 +26,22 @@
import org.equanda.util.INIFile;
-import java.io.File;
-
/**
* Configuration settings for the TranslationsEditor tool
*
* @author Florin
*/
-public class Configuration
+public interface Configuration
{
- public static final String INI_SECTION_UNI_D = "equanda";
- public static final String INI_SECTION_UNI_D_KEY_APPDIR = "appdir";
- public static final String INI_SECTION_UNI_D_KEY_DEFINITION = "definition";
- public static final String INI_SECTION_UNI_D_KEY_IMPORT_DB_KEYS_ONLY = "import-db-keys-only";
- public static final String INI_SECTION_UNI_D_KEY_INFRASTRUCTURE = "infrastructure";
- public static final String INI_SECTION_UNI_D_KEY_CONTEXT = "context";
- public static final String INI_SECTION_UNI_D_KEY_KEY_PREFIXES_TO_KEEP = "key-prefixes-to-keep";
-
- public static final String INI_SECTION_CONFIG = "config";
- public static final String INI_SECTION_CONFIG_KEY_TARGET_FILE = "target-file";
- public static final String INI_SECTION_CONFIG_KEY_VERIFY_LANGUAGES = "verify-languages";
- public static final String INI_SECTION_CONFIG_KEY_SHOW_DB = "show-db";
-
- public static final String INI_SECTION_GUI = "gui";
- public static final String INI_SECTION_GUI_KEY_WIDTH = "width";
- public static final String INI_SECTION_GUI_KEY_HEIGHT = "height";
-
- private String definition;
- private String appdir;
- private boolean importDbKeysOnly;
- private boolean infrastructure;
- private String context;
- private String keyPrefixesToKeep;
-
- private String targetFile;
- private String[] verifyLanguages;
- private boolean showDb;
-
- private int width;
- private int height;
-
- public Configuration( String iniFilePath )
- throws Exception
- {
- INIFile ini;
- ini = new INIFile( iniFilePath );
- if ( ini.isEmpty() ) throw new RuntimeException( "Ini file is empty or missing !!! file = " + iniFilePath );
-
- appdir = ini.getValue( INI_SECTION_UNI_D, INI_SECTION_UNI_D_KEY_APPDIR );
- definition = ini.getValue( INI_SECTION_UNI_D, INI_SECTION_UNI_D_KEY_DEFINITION );
- String importDbKeysOnlyStr = ini.getValue( INI_SECTION_UNI_D, INI_SECTION_UNI_D_KEY_IMPORT_DB_KEYS_ONLY );
- String infrastructureStr = ini.getValue( INI_SECTION_UNI_D, INI_SECTION_UNI_D_KEY_INFRASTRUCTURE );
- context = ini.getValue( INI_SECTION_UNI_D, INI_SECTION_UNI_D_KEY_CONTEXT );
- keyPrefixesToKeep = ini.getValue( INI_SECTION_UNI_D, INI_SECTION_UNI_D_KEY_KEY_PREFIXES_TO_KEEP );
-
- targetFile = ini.getValue( INI_SECTION_CONFIG, INI_SECTION_CONFIG_KEY_TARGET_FILE );
- String verifyLanguagesStr = ini.getValue( INI_SECTION_CONFIG, INI_SECTION_CONFIG_KEY_VERIFY_LANGUAGES );
- String showDbStr = ini.getValue( INI_SECTION_CONFIG, INI_SECTION_CONFIG_KEY_SHOW_DB );
-
- String widthStr = ini.getValue( INI_SECTION_GUI, INI_SECTION_GUI_KEY_WIDTH );
- String heightStr = ini.getValue( INI_SECTION_GUI, INI_SECTION_GUI_KEY_HEIGHT );
-
- showDb = true;
- if ( showDbStr != null )
- {
- showDb = Boolean.parseBoolean( showDbStr );
- }
-
- if ( showDb )
- {
- if ( appdir == null )
- {
- throw new RuntimeException( "Config setting equanda.appdir cannot be null!" );
- }
- if ( definition == null )
- {
- throw new RuntimeException( "Config setting equanda.definition cannot be null!" );
- }
- if ( importDbKeysOnlyStr == null )
- {
- throw new RuntimeException( "Config setting equanda.import-db-keys-only cannot be null!" );
- }
- if ( infrastructureStr == null )
- {
- throw new RuntimeException( "Config setting equanda.infrastructure cannot be null!" );
- }
- if ( context == null )
- {
- throw new RuntimeException( "Config setting equanda.context cannot be null!" );
- }
- }
- if ( targetFile == null )
- {
- throw new RuntimeException( "Config setting config.targetFile cannot be null!" );
- }
- if ( verifyLanguagesStr == null )
- {
- throw new RuntimeException(
- "Config setting config.verifyLanguages is missing, all languages will be checked!" );
- }
- if ( widthStr == null )
- {
- throw new RuntimeException( "Config setting gui.width cannot be null!" );
- }
- if ( heightStr == null )
- {
- throw new RuntimeException( "Config setting gui.height cannot be null!" );
- }
- width = Integer.parseInt( widthStr );
- height = Integer.parseInt( heightStr );
- importDbKeysOnly = Boolean.parseBoolean( importDbKeysOnlyStr );
- infrastructure = Boolean.parseBoolean( infrastructureStr );
- if ( verifyLanguagesStr != null )
- {
- verifyLanguages = verifyLanguagesStr.split( ";" );
- }
- }
-
- public String getDefinition()
- {
- return definition;
- }
-
- public String getAppdir()
- {
- return appdir;
- }
-
- public boolean getImportDbKeysOnly()
- {
- return importDbKeysOnly;
- }
-
- public boolean getInfrastructure()
- {
- return infrastructure;
- }
-
- public String getContext()
- {
- return context;
- }
-
- public String getKeyPrefixesToKeep()
- {
- return keyPrefixesToKeep;
- }
-
- public String getTargetFile()
- {
- return targetFile;
- }
-
- public String[] getVerifyLanguages()
- {
- return verifyLanguages;
- }
-
- public boolean isShowDb()
- {
- return showDb;
- }
-
- public int getWidth()
- {
- return width;
- }
-
- public int getHeight()
- {
- return height;
- }
-}
+ String getDefinition();
+ String getAppdir();
+ public boolean getImportDbKeysOnly();
+ public boolean getInfrastructure();
+ public String getContext();
+ public String getKeyPrefixesToKeep();
+ public String getTargetFile();
+ public String[] getVerifyLanguages();
+ public boolean isShowDb();
+ public int getWidth();
+ public int getHeight();
+}
\ No newline at end of file
Added: trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/IniConfiguration.java
===================================================================
--- trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/IniConfiguration.java (rev 0)
+++ trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/IniConfiguration.java 2007-08-17 13:33:03 UTC (rev 31)
@@ -0,0 +1,199 @@
+/**
+ * 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.tool.translationsEditor;
+
+import org.equanda.util.INIFile;
+
+/**
+ * ...
+ *
+ * @author <a href="mailto:jo...@pr...">Joachim Van der Auwera</a>
+ */
+public class IniConfiguration
+ implements Configuration
+{
+ public static final String INI_SECTION_UNI_D = "equanda";
+ public static final String INI_SECTION_UNI_D_KEY_APPDIR = "appdir";
+ public static final String INI_SECTION_UNI_D_KEY_DEFINITION = "definition";
+ public static final String INI_SECTION_UNI_D_KEY_IMPORT_DB_KEYS_ONLY = "import-db-keys-only";
+ public static final String INI_SECTION_UNI_D_KEY_INFRASTRUCTURE = "infrastructure";
+ public static final String INI_SECTION_UNI_D_KEY_CONTEXT = "context";
+ public static final String INI_SECTION_UNI_D_KEY_KEY_PREFIXES_TO_KEEP = "key-prefixes-to-keep";
+
+ public static final String INI_SECTION_CONFIG = "config";
+ public static final String INI_SECTION_CONFIG_KEY_TARGET_FILE = "target-file";
+ public static final String INI_SECTION_CONFIG_KEY_VERIFY_LANGUAGES = "verify-languages";
+ public static final String INI_SECTION_CONFIG_KEY_SHOW_DB = "show-db";
+
+ public static final String INI_SECTION_GUI = "gui";
+ public static final String INI_SECTION_GUI_KEY_WIDTH = "width";
+ public static final String INI_SECTION_GUI_KEY_HEIGHT = "height";
+
+ private String definition;
+ private String appdir;
+ private boolean importDbKeysOnly;
+ private boolean infrastructure;
+ private String context;
+ private String keyPrefixesToKeep;
+
+ private String targetFile;
+ private String[] verifyLanguages;
+ private boolean showDb;
+
+ private int width;
+ private int height;
+
+ public IniConfiguration( String iniFilePath )
+ throws Exception
+ {
+ INIFile ini;
+ ini = new INIFile( iniFilePath );
+ if ( ini.isEmpty() ) throw new RuntimeException( "Ini file is empty or missing !!! file = " + iniFilePath );
+
+ appdir = ini.getValue( INI_SECTION_UNI_D, INI_SECTION_UNI_D_KEY_APPDIR );
+ definition = ini.getValue( INI_SECTION_UNI_D, INI_SECTION_UNI_D_KEY_DEFINITION );
+ String importDbKeysOnlyStr = ini.getValue( INI_SECTION_UNI_D, INI_SECTION_UNI_D_KEY_IMPORT_DB_KEYS_ONLY );
+ String infrastructureStr = ini.getValue( INI_SECTION_UNI_D, INI_SECTION_UNI_D_KEY_INFRASTRUCTURE );
+ context = ini.getValue( INI_SECTION_UNI_D, INI_SECTION_UNI_D_KEY_CONTEXT );
+ keyPrefixesToKeep = ini.getValue( INI_SECTION_UNI_D, INI_SECTION_UNI_D_KEY_KEY_PREFIXES_TO_KEEP );
+
+ targetFile = ini.getValue( INI_SECTION_CONFIG, INI_SECTION_CONFIG_KEY_TARGET_FILE );
+ String verifyLanguagesStr = ini.getValue( INI_SECTION_CONFIG, INI_SECTION_CONFIG_KEY_VERIFY_LANGUAGES );
+ String showDbStr = ini.getValue( INI_SECTION_CONFIG, INI_SECTION_CONFIG_KEY_SHOW_DB );
+
+ String widthStr = ini.getValue( INI_SECTION_GUI, INI_SECTION_GUI_KEY_WIDTH );
+ String heightStr = ini.getValue( INI_SECTION_GUI, INI_SECTION_GUI_KEY_HEIGHT );
+
+ showDb = true;
+ if ( showDbStr != null )
+ {
+ showDb = Boolean.parseBoolean( showDbStr );
+ }
+
+ if ( showDb )
+ {
+ if ( appdir == null )
+ {
+ throw new RuntimeException( "Config setting equanda.appdir cannot be null!" );
+ }
+ if ( definition == null )
+ {
+ throw new RuntimeException( "Config setting equanda.definition cannot be null!" );
+ }
+ if ( importDbKeysOnlyStr == null )
+ {
+ throw new RuntimeException( "Config setting equanda.import-db-keys-only cannot be null!" );
+ }
+ if ( infrastructureStr == null )
+ {
+ throw new RuntimeException( "Config setting equanda.infrastructure cannot be null!" );
+ }
+ if ( context == null )
+ {
+ throw new RuntimeException( "Config setting equanda.context cannot be null!" );
+ }
+ }
+ if ( targetFile == null )
+ {
+ throw new RuntimeException( "Config setting config.targetFile cannot be null!" );
+ }
+ if ( verifyLanguagesStr == null )
+ {
+ throw new RuntimeException(
+ "Config setting config.verifyLanguages is missing, all languages will be checked!" );
+ }
+ if ( widthStr == null )
+ {
+ throw new RuntimeException( "Config setting gui.width cannot be null!" );
+ }
+ if ( heightStr == null )
+ {
+ throw new RuntimeException( "Config setting gui.height cannot be null!" );
+ }
+ width = Integer.parseInt( widthStr );
+ height = Integer.parseInt( heightStr );
+ importDbKeysOnly = Boolean.parseBoolean( importDbKeysOnlyStr );
+ infrastructure = Boolean.parseBoolean( infrastructureStr );
+ if ( verifyLanguagesStr != null )
+ {
+ verifyLanguages = verifyLanguagesStr.split( ";" );
+ }
+ }
+
+ public String getDefinition()
+ {
+ return definition;
+ }
+
+ public String getAppdir()
+ {
+ return appdir;
+ }
+
+ public boolean getImportDbKeysOnly()
+ {
+ return importDbKeysOnly;
+ }
+
+ public boolean getInfrastructure()
+ {
+ return infrastructure;
+ }
+
+ public String getContext()
+ {
+ return context;
+ }
+
+ public String getKeyPrefixesToKeep()
+ {
+ return keyPrefixesToKeep;
+ }
+
+ public String getTargetFile()
+ {
+ return targetFile;
+ }
+
+ public String[] getVerifyLanguages()
+ {
+ return verifyLanguages;
+ }
+
+ public boolean isShowDb()
+ {
+ return showDb;
+ }
+
+ public int getWidth()
+ {
+ return width;
+ }
+
+ public int getHeight()
+ {
+ return height;
+ }
+}
Modified: trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/TranslationsEditor.java
===================================================================
--- trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/TranslationsEditor.java 2007-08-17 11:52:06 UTC (rev 30)
+++ trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/TranslationsEditor.java 2007-08-17 13:33:03 UTC (rev 31)
@@ -52,7 +52,8 @@
/**
* A tool to edit/import translations
*
- * @author Florin
+ * @author <a href="mailto:fl...@pa...">Florin</a>
+ * @author <a href="mailto:jo...@pr...">Joachim Van der Auwera</a>
*/
public class TranslationsEditor
extends JFrame
@@ -62,10 +63,10 @@
private KeyTableModel model = new KeyTableModel();
private KeyEditorPanel keyEditorPanel;
private KeyTable table;
- private Configuration config;
private String languages[];
private ImportDialog importDialog = new ImportDialog();
private String lastTranslationSearched;
+ private String lastKeySearched;
private OMDatabase database;
public static void main( final String args[] )
@@ -82,7 +83,8 @@
{
try
{
- new TranslationsEditor( args[ 0 ] );
+ Configuration config = new IniConfiguration( args[ 0 ] );
+ new TranslationsEditor( config, null );
}
catch ( Exception e )
{
@@ -94,18 +96,17 @@
}.start();
}
- public TranslationsEditor( String iniFilePath )
+ public TranslationsEditor( final Configuration config, final Object waitFor )
throws Exception
{
- config = new Configuration( iniFilePath );
- load();
+ load( config );
Dimension frameSize = new Dimension( config.getWidth(), config.getHeight() );
//setLayout( new BorderLayout() );
//add( getButtonsPanel(), BorderLayout.NORTH );
- setJMenuBar( getTranslationsMenuBar() );
+ setJMenuBar( getTranslationsMenuBar( config ) );
add( getContentPanel(), BorderLayout.CENTER );
this.setSize( frameSize );
@@ -128,7 +129,17 @@
JOptionPane.QUESTION_MESSAGE );
if ( option == JOptionPane.OK_OPTION )
{
- System.exit( 0 );
+ if ( waitFor == null )
+ {
+ System.exit( 0 );
+ }
+ else
+ {
+ synchronized ( waitFor )
+ {
+ waitFor.notifyAll();
+ }
+ }
}
else
{
@@ -146,7 +157,7 @@
} );
}
- private JMenuBar getTranslationsMenuBar()
+ private JMenuBar getTranslationsMenuBar( final Configuration config )
{
JMenuBar menuBar = new JMenuBar();
JMenu generalMenu = new JMenu( "General" );
@@ -176,7 +187,7 @@
{
// save previous key:
keyEditorPanel.save();
- importDbContent( true );
+ importDbContent( config, true );
}
} );
@@ -187,7 +198,7 @@
{
// save previous key:
keyEditorPanel.save();
- removeUnusedKeys();
+ removeUnusedKeys( config );
}
}
);
@@ -199,7 +210,7 @@
{
// save previous key:
keyEditorPanel.save();
- save();
+ save( config );
}
}
);
@@ -251,6 +262,17 @@
}
);
+ JMenuItem searchKeyItem = new JMenuItem( "Search key" );
+ searchKeyItem.addActionListener( new ActionListener()
+ {
+ public void actionPerformed( ActionEvent e )
+ {
+ // save previous key:
+ keyEditorPanel.save();
+ searchKeyPart();
+ }
+ } );
+
JMenuItem searchTranslationItem = new JMenuItem( "Search in translations" );
searchTranslationItem.addActionListener( new ActionListener()
{
@@ -282,6 +304,8 @@
generalMenu.add( removeUnusedKeysItem );
}
generalMenu.add( new JSeparator() );
+ saveItem.setAccelerator( KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_S,
+ java.awt.Event.CTRL_MASK ) );
generalMenu.add( saveItem );
contextsMenu.add( exportContextItem );
@@ -290,7 +314,14 @@
keysMenu.add( addKeyItem );
keysMenu.add( removeKeyItem );
+ searchKeyItem.setAccelerator( KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_F,
+ java.awt.Event.CTRL_MASK ) );
+ searchMenu.add( searchKeyItem );
+ searchTranslationItem.setAccelerator( KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_T,
+ java.awt.Event.CTRL_MASK ) );
searchMenu.add( searchTranslationItem );
+ nextFaultItem.setAccelerator( KeyStroke.getKeyStroke( java.awt.event.KeyEvent.VK_N,
+ java.awt.Event.CTRL_MASK ) );
searchMenu.add( nextFaultItem );
menuBar.add( generalMenu );
@@ -375,6 +406,26 @@
}
+ private void searchKeyPart()
+ {
+ lastKeySearched = JOptionPane.showInputDialog( TranslationsEditor.this,
+ "Enter a key (or part of key) to be searched",
+ lastKeySearched );
+
+ if ( lastKeySearched == null || lastKeySearched.equals( "" ) ) return;
+ int start = table.getSelectedRow() + 1;
+
+ for ( int i = start; i < model.getRowCount() ; i++ )
+ {
+ Key key = model.getKeyAtIndex( i );
+ if ( key.getKey().contains( lastKeySearched ) )
+ {
+ table.changeSelection( i, 1, false, false );
+ return;
+ }
+ }
+ }
+
private void gotoNextFault()
{
int start = table.getSelectedRow() + 1;
@@ -401,7 +452,7 @@
}
}
- private java.util.List<String> importDbContent( boolean addToModel )
+ private java.util.List<String> importDbContent( Configuration config, boolean addToModel )
{
java.util.List<String> dbItems = new ArrayList<String>();
try
@@ -424,56 +475,61 @@
for ( int t = 0; t < tables.getLength() ; t++ )
{
OMRootTable table = (OMRootTable) tables.item( t );
- importDbKey( "table." + table.getName(), table.getName(), dbItems, addToModel );
- importDbKey( "category." + table.getCategory(), table.getCategory(), dbItems, addToModel );
+ importDbKey( config, "table." + table.getName(), table.getName(), dbItems, addToModel );
+ importDbKey( config, "category." + table.getCategory(), table.getCategory(), dbItems, addToModel );
for ( OMRootTable.TableType type : table.getTypes() )
{
- importDbKey( "type." + table.getName() + "." + type.getName(), type.getName(), dbItems,
+ importDbKey( config, "type." + table.getName() + "." + type.getName(), type.getName(), dbItems,
addToModel );
}
for ( OMField field : table.getFields() )
{
- importDbKey( "field." + table.getName() + "." + field.getName(), field.getName(), dbItems,
+ importDbKey( config, "field." + table.getName() + "." + field.getName(), field.getName(), dbItems,
addToModel );
for ( OMChoice choice : field.getChoices() )
{
if ( !choice.isFromClass() )
{
- importDbKey( "choice." + table.getName() + "." + field.getName() + "." + choice.getName(),
+ importDbKey( config,
+ "choice." + table.getName() + "." + field.getName() + "." + choice.getName(),
choice.getName(), dbItems, addToModel );
}
}
}
for ( OMPage page : table.getPages() )
{
- importDbKey( "page." + table.getName() + "." + page.getName(), page.getName(), dbItems,
+ importDbKey( config, "page." + table.getName() + "." + page.getName(), page.getName(), dbItems,
addToModel );
for ( OMGroup group : page.getGroupsDeep() )
{
- importDbKey( "group." + table.getName() + "." + group.getName(), group.getName(), dbItems,
+ importDbKey( config, "group." + table.getName() + "." + group.getName(), group.getName(),
+ dbItems,
addToModel );
}
}
for ( OMSelect select : table.getSelects() )
{
- importDbKey( "select." + table.getName() + "." + select.getName(), select.getName(), dbItems,
+ importDbKey( config, "select." + table.getName() + "." + select.getName(), select.getName(),
+ dbItems,
addToModel );
for ( OMSelection selection : select.getSelections() )
{
- importDbKey( "parameter." + table.getName() + "." + select.getName() +
- "." + selection.getName(), selection.getName(), dbItems, addToModel );
+ importDbKey( config, "parameter." + table.getName() + "." + select.getName() +
+ "." + selection.getName(), selection.getName(), dbItems, addToModel );
}
}
for ( OMAction action : table.getActions() )
{
- importDbKey( "action." + table.getName() + "." + action.getName(), action.getName(), dbItems,
+ importDbKey( config, "action." + table.getName() + "." + action.getName(), action.getName(),
+ dbItems,
addToModel );
for ( OMParameter parameter : action.getParameters() )
{
- importDbKey( "param." + table.getName() + "." + action.getName() + "." + parameter.getName(),
+ importDbKey( config,
+ "param." + table.getName() + "." + action.getName() + "." + parameter.getName(),
parameter.getName(), dbItems, addToModel );
}
}
@@ -489,7 +545,8 @@
return dbItems;
}
- private void importDbKey( String keyStr, String translationEn, java.util.List<String> dbItems, boolean addToModel )
+ private void importDbKey( Configuration config, String keyStr, String translationEn, java.util.List<String> dbItems,
+ boolean addToModel )
{
dbItems.add( keyStr );
if ( addToModel )
@@ -507,7 +564,7 @@
}
}
- private void load()
+ private void load( Configuration config )
throws Exception
{
System.out.print( "Loading translations..." );
@@ -515,19 +572,11 @@
parser.parse( new File( config.getTargetFile() ) );
languages = parser.getLanguages();
- if ( languages == null || languages.length == 0 )
- {
- showError( "Invalid translations file with no languages line" );
- System.exit( 1 );
- }
if ( config.getVerifyLanguages() != null )
{
- model.setVerifyLanguages( config.getVerifyLanguages() );
+ languages = config.getVerifyLanguages();
}
- else
- {
- model.setVerifyLanguages( languages );
- }
+ model.setVerifyLanguages( languages );
for ( String language : languages )
{
TreeMap<Key, Translation> mapFromParser = parser.getTranslations( language );
@@ -541,7 +590,7 @@
System.out.println( "Total: " + model.getRowCount() + " keys." );
}
- private void save()
+ private void save( Configuration config )
{
try
{
@@ -634,13 +683,13 @@
dialog.dispose();
}
- private void removeUnusedKeys()
+ private void removeUnusedKeys( Configuration config )
{
// save previous key:
keyEditorPanel.save();
// check keys in equanda table
- java.util.List<String> currentDbKeys = importDbContent( false );
+ java.util.List<String> currentDbKeys = importDbContent( config, false );
int countUnused = 0;
int i = 0;
@@ -648,7 +697,7 @@
{
Key key = model.getKeyAtIndex( i );
- if ( isKeyFromDb( key ) && !currentDbKeys.contains( key.getKey() ) )
+ if ( isKeyFromDb( config, key ) && !currentDbKeys.contains( key.getKey() ) )
{
model.removeKey( i );
log.info( "Removed key " + key.getKey() );
@@ -662,7 +711,7 @@
System.out.println( "Removed: " + countUnused + " keys." );
}
- private boolean isKeyFromDb( Key key )
+ private boolean isKeyFromDb( Configuration config, Key key )
{
if ( key.getContext() == null ) return false;
if ( !key.getContext().equals( config.getContext() ) ) return false;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-17 12:00:48
|
Revision: 30
http://equanda.svn.sourceforge.net/equanda/?rev=30&view=rev
Author: triathlon98
Date: 2007-08-17 04:52:06 -0700 (Fri, 17 Aug 2007)
Log Message:
-----------
fix some warning
Modified Paths:
--------------
trunk/equanda-generate/src/main/java/org/equanda/generate/Generator.java
Modified: trunk/equanda-generate/src/main/java/org/equanda/generate/Generator.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/generate/Generator.java 2007-08-17 11:51:06 UTC (rev 29)
+++ trunk/equanda-generate/src/main/java/org/equanda/generate/Generator.java 2007-08-17 11:52:06 UTC (rev 30)
@@ -168,8 +168,7 @@
table.setDefaultSecurityRoleRemove( getConfig( "security-role-remove" ) );
if ( table.getName().toUpperCase().startsWith( "EQUANDA" ) )
{
- SaveException.saveException( new Exception(
- "table name \"" + table.getName() + "\"starts with \"EQUANDA\"" ) );
+ SaveException.error( "table name \"" + table.getName() + "\"starts with \"EQUANDA\"" );
failed = true;
return null;
}
@@ -215,8 +214,7 @@
{
if ( table.getName().toUpperCase().startsWith( "EQUANDA" ) )
{
- SaveException.saveException( new Exception(
- "table name \"" + table.getName() + "\"starts with \"EQUANDA\"" ) );
+ SaveException.error( "table name \"" + table.getName() + "\"starts with \"EQUANDA\"" );
failed = true;
return null;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-17 11:51:10
|
Revision: 29
http://equanda.svn.sourceforge.net/equanda/?rev=29&view=rev
Author: triathlon98
Date: 2007-08-17 04:51:06 -0700 (Fri, 17 Aug 2007)
Log Message:
-----------
add usable toString()
Modified Paths:
--------------
trunk/equanda-util/src/main/java/org/equanda/util/INIFile.java
Modified: trunk/equanda-util/src/main/java/org/equanda/util/INIFile.java
===================================================================
--- trunk/equanda-util/src/main/java/org/equanda/util/INIFile.java 2007-08-13 10:46:24 UTC (rev 28)
+++ trunk/equanda-util/src/main/java/org/equanda/util/INIFile.java 2007-08-17 11:51:06 UTC (rev 29)
@@ -24,6 +24,8 @@
package org.equanda.util;
+import javolution.lang.TextBuilder;
+
import java.io.*;
import java.util.Enumeration;
import java.util.Hashtable;
@@ -85,6 +87,7 @@
* Creates a new reference to an .ini file. Reads in all the data.
*
* @param filename The filename of the .ini file.
+ * @param useCase should tags be case dependent?
* @throws IOException if anything goes wrong during read.
*/
public INIFile( String filename, boolean useCase )
@@ -144,14 +147,17 @@
/**
* Check whether the .ini file has something in it.
+ *
+ * @return whether section is empty or not
*/
- public boolean isEmpty() { return sections.size() == 0; }
+ public boolean isEmpty()
+ { return sections.size() == 0; }
/**
* Read a specific key/value pair
*
* @param section section name
- * @param key The key for which the value needs to be retrieved
+ * @param key The key for which the value needs to be retrieved
* @return value or null if not exists
*/
public String getValue( String section, String key )
@@ -214,8 +220,8 @@
* Add a key/value pair
*
* @param section section name, will be created if new
- * @param key key
- * @param value value
+ * @param key key
+ * @param value value
*/
public void addValue( String section, String key, String value )
{
@@ -256,7 +262,7 @@
* Removes a key/value pair from given section
*
* @param section section that the key and value is in.
- * @param key The key to be removed.
+ * @param key The key to be removed.
*/
public void removeValue( String section, String key )
{
@@ -314,12 +320,12 @@
Hashtable<String, String> temp;
String str, substr;
PrintWriter pw = new PrintWriter( new FileOutputStream( file ) );
- for ( Enumeration<String> keys = sections.keys() ; keys.hasMoreElements() ; )
+ for ( Enumeration<String> keys = sections.keys(); keys.hasMoreElements() ; )
{
str = keys.nextElement();
temp = sections.get( str );
pw.println( '[' + str + ']' );
- for ( Enumeration<String> subkeys = temp.keys() ; subkeys.hasMoreElements() ; )
+ for ( Enumeration<String> subkeys = temp.keys(); subkeys.hasMoreElements() ; )
{
substr = subkeys.nextElement();
pw.println( substr + '=' + temp.get( substr ) );
@@ -362,10 +368,34 @@
/**
* Get an anumeration with all the section names
*
- * @return
+ * @return enumeration of section names
*/
public Enumeration<String> getSectionNames()
{
return sections.keys();
}
+
+ public String toString()
+ {
+ TextBuilder tb = TextBuilder.newInstance();
+ Enumeration<String> sectionNames = getSectionNames();
+ while ( sectionNames.hasMoreElements() )
+ {
+ String sn = sectionNames.nextElement();
+ tb.append( '[' );
+ tb.append( sn );
+ tb.append( ']' );
+ tb.append( '\n' );
+ Enumeration<String> keyNames = getSectionKeys( sn );
+ while ( keyNames.hasMoreElements() )
+ {
+ String kn = keyNames.nextElement();
+ tb.append( kn );
+ tb.append( '=' );
+ tb.append( getValue( sn, kn ) );
+ tb.append( '\n' );
+ }
+ }
+ return tb.toString();
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-13 10:46:25
|
Revision: 28
http://equanda.svn.sourceforge.net/equanda/?rev=28&view=rev
Author: triathlon98
Date: 2007-08-13 03:46:24 -0700 (Mon, 13 Aug 2007)
Log Message:
-----------
1773013 assure tools run inside ExceptionGroup
Modified Paths:
--------------
trunk/equanda-tool/src/main/java/org/equanda/tool/all/Tool.java
trunk/equanda-tool/src/main/java/org/equanda/tool/ddltool/Utility.java
trunk/equanda-tool/src/main/java/org/equanda/tool/print/PrintClient.java
trunk/equanda-tool/src/main/java/org/equanda/tool/shared/ToolMain.java
trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/TranslationsEditor.java
trunk/equanda-tool/src/main/java/org/equanda/tool/ymport/ImportClient.java
Modified: trunk/equanda-tool/src/main/java/org/equanda/tool/all/Tool.java
===================================================================
--- trunk/equanda-tool/src/main/java/org/equanda/tool/all/Tool.java 2007-08-10 11:41:58 UTC (rev 27)
+++ trunk/equanda-tool/src/main/java/org/equanda/tool/all/Tool.java 2007-08-13 10:46:24 UTC (rev 28)
@@ -30,6 +30,7 @@
import org.equanda.tool.shared.ToolMain;
import org.equanda.tool.shared.configuration.ConfigurationMain;
import org.equanda.tool.shared.worker.WorkerThread;
+import org.equanda.util.ExceptionGroup;
import java.util.Locale;
@@ -46,8 +47,15 @@
public static void main( final String args[] )
{
- Locale.setDefault( new Locale( "xx" ) );
- new Tool().start( args );
+ Locale.setDefault( new Locale( "xx" ) ); // assure the locale is "known" or at least well defined
+ ThreadGroup exceptionThreadGroup = new ExceptionGroup();
+ new Thread( exceptionThreadGroup, "Init thread" )
+ {
+ public void run()
+ {
+ new Tool().start( args );
+ }
+ }.start();
}
public String getIniDefault()
@@ -64,7 +72,7 @@
public WorkerThread getWorkerThread( AllConfiguration cfg )
throws ToolException
{
- return new WorkerThread( cfg, new ToolWorker( cfg, allId ) );
+ return new WorkerThread<AllConfiguration>( cfg, new ToolWorker( cfg, allId ) );
}
public Id getId( AllConfiguration allConfiguration )
Modified: trunk/equanda-tool/src/main/java/org/equanda/tool/ddltool/Utility.java
===================================================================
--- trunk/equanda-tool/src/main/java/org/equanda/tool/ddltool/Utility.java 2007-08-10 11:41:58 UTC (rev 27)
+++ trunk/equanda-tool/src/main/java/org/equanda/tool/ddltool/Utility.java 2007-08-13 10:46:24 UTC (rev 28)
@@ -25,6 +25,7 @@
package org.equanda.tool.ddltool;
import org.apache.log4j.Logger;
+import org.equanda.util.ExceptionGroup;
/**
* Utility main class
@@ -36,9 +37,16 @@
{
private Logger log = Logger.getLogger( this.getClass() );
- public static void main( String[] args )
+ public static void main( final String[] args )
{
- new Utility( args );
+ ThreadGroup exceptionThreadGroup = new ExceptionGroup();
+ new Thread( exceptionThreadGroup, "Init thread" )
+ {
+ public void run()
+ {
+ new Utility( args );
+ }
+ }.start();
}
public void openManager( String[] args )
Modified: trunk/equanda-tool/src/main/java/org/equanda/tool/print/PrintClient.java
===================================================================
--- trunk/equanda-tool/src/main/java/org/equanda/tool/print/PrintClient.java 2007-08-10 11:41:58 UTC (rev 27)
+++ trunk/equanda-tool/src/main/java/org/equanda/tool/print/PrintClient.java 2007-08-13 10:46:24 UTC (rev 28)
@@ -30,6 +30,7 @@
import org.equanda.tool.shared.ToolMain;
import org.equanda.tool.shared.configuration.ConfigurationMain;
import org.equanda.tool.shared.worker.WorkerThread;
+import org.equanda.util.ExceptionGroup;
/**
* Main class for the Print Client program
@@ -48,7 +49,14 @@
public static void main( final String args[] )
{
- new PrintClient().start( args );
+ ThreadGroup exceptionThreadGroup = new ExceptionGroup();
+ new Thread( exceptionThreadGroup, "Init thread" )
+ {
+ public void run()
+ {
+ new PrintClient().start( args );
+ }
+ }.start();
}
public PrintConfiguration getConfiguration( String file )
@@ -65,6 +73,6 @@
public WorkerThread getWorkerThread( PrintConfiguration cfg )
throws ToolException
{
- return new WorkerThread( cfg, new PrintWorker( cfg, printId ) );
+ return new WorkerThread<PrintConfiguration>( cfg, new PrintWorker( cfg, printId ) );
}
}
Modified: trunk/equanda-tool/src/main/java/org/equanda/tool/shared/ToolMain.java
===================================================================
--- trunk/equanda-tool/src/main/java/org/equanda/tool/shared/ToolMain.java 2007-08-10 11:41:58 UTC (rev 27)
+++ trunk/equanda-tool/src/main/java/org/equanda/tool/shared/ToolMain.java 2007-08-13 10:46:24 UTC (rev 28)
@@ -85,12 +85,12 @@
{
public void run()
{
- while ( true )
+ while ( !Thread.interrupted() )
{
try
{ Thread.sleep( 15 * 60 * 1000L ); }
catch ( InterruptedException ie )
- {}
+ {/*ignore*/}
worker.checkDeadline();
}
}
@@ -116,7 +116,8 @@
* Get the tool specific ConfigurationMain instance
*
* @param file filename for ini file
- * @return
+ * @return config instance
+ * @throws ToolException when problems occur
*/
public abstract T getConfiguration( String file )
throws ToolException;
@@ -125,7 +126,8 @@
* Get the tool specific worker thread
*
* @param cfg configuration details
- * @return
+ * @return worker thread
+ * @throws ToolException when problems occur
*/
public abstract WorkerThread getWorkerThread( T cfg )
throws ToolException;
@@ -134,7 +136,7 @@
* Get the tool specific Id
*
* @param cfg configuration details
- * @return
+ * @return config details
*/
public abstract Id getId( T cfg );
}
Modified: trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/TranslationsEditor.java
===================================================================
--- trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/TranslationsEditor.java 2007-08-10 11:41:58 UTC (rev 27)
+++ trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/TranslationsEditor.java 2007-08-13 10:46:24 UTC (rev 28)
@@ -26,6 +26,7 @@
import org.equanda.generate.Generator;
import org.equanda.util.INIFile;
+import org.equanda.util.ExceptionGroup;
import org.equanda.util.xml.tree.Document;
import org.equanda.util.xml.tree.NodeList;
import org.equanda.persistence.xml.*;
@@ -67,23 +68,30 @@
private String lastTranslationSearched;
private OMDatabase database;
- public static void main( String args[] )
+ public static void main( final String args[] )
{
if ( args.length == 0 )
{
System.out.println( "Expected parameter (path to ini file)" );
System.exit( 1 );
}
- try
+ ThreadGroup exceptionThreadGroup = new ExceptionGroup();
+ new Thread( exceptionThreadGroup, "Init thread" )
{
- new TranslationsEditor( args[ 0 ] );
- }
- catch ( Exception e )
- {
- log.error( e, e );
- e.printStackTrace();
- System.exit( 1 );
- }
+ public void run()
+ {
+ try
+ {
+ new TranslationsEditor( args[ 0 ] );
+ }
+ catch ( Exception e )
+ {
+ log.error( e, e );
+ e.printStackTrace();
+ System.exit( 1 );
+ }
+ }
+ }.start();
}
public TranslationsEditor( String iniFilePath )
Modified: trunk/equanda-tool/src/main/java/org/equanda/tool/ymport/ImportClient.java
===================================================================
--- trunk/equanda-tool/src/main/java/org/equanda/tool/ymport/ImportClient.java 2007-08-10 11:41:58 UTC (rev 27)
+++ trunk/equanda-tool/src/main/java/org/equanda/tool/ymport/ImportClient.java 2007-08-13 10:46:24 UTC (rev 28)
@@ -68,7 +68,7 @@
public WorkerThread getWorkerThread( ImportConfiguration cfg )
{
- return new WorkerThread( cfg, new ImportWorker( cfg, importId ) );
+ return new WorkerThread<ImportConfiguration>( cfg, new ImportWorker( cfg, importId ) );
}
public Id getId( ImportConfiguration importConfiguration )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-10 11:42:06
|
Revision: 27
http://equanda.svn.sourceforge.net/equanda/?rev=27&view=rev
Author: triathlon98
Date: 2007-08-10 04:41:58 -0700 (Fri, 10 Aug 2007)
Log Message:
-----------
- start to fix the docs
- include checkstyle (but config not yet correct)
Modified Paths:
--------------
trunk/pom.xml
Added Paths:
-----------
trunk/config/
trunk/config/checkstyle.xml
trunk/config/equanda-header.txt
trunk/src/site/wiki/CodingStyle.wiki
trunk/src/site/wiki/ExpectedAmount.wiki
trunk/src/site/wiki/Export.wiki
trunk/src/site/wiki/ExportFileFormat.wiki
trunk/src/site/wiki/FScript.wiki
trunk/src/site/wiki/GUI-Descriptors-model.mm
trunk/src/site/wiki/GuiCustomTable.wiki
trunk/src/site/wiki/GuiPageAction.wiki
trunk/src/site/wiki/GuiPageField.wiki
trunk/src/site/wiki/GuiPageFinder.wiki
trunk/src/site/wiki/GuiPageForm.wiki
trunk/src/site/wiki/GuiPageGroup.wiki
trunk/src/site/wiki/GuiPageOther.wiki
trunk/src/site/wiki/GuiPageStructure.wiki
trunk/src/site/wiki/History.wiki
trunk/src/site/wiki/Import.wiki
trunk/src/site/wiki/ImportFileFormat.wiki
trunk/src/site/wiki/ImportServlet.wiki
trunk/src/site/wiki/License.wiki
trunk/src/site/wiki/Modules.wiki
trunk/src/site/wiki/SeleniumIDE.wiki
trunk/src/site/wiki/SkinTemplates.wiki
trunk/src/site/wiki/ToDo.wiki
trunk/src/site/wiki/UserAdminKeys.wiki
trunk/src/site/wiki/UtilScriptBoolean.wiki
trunk/src/site/wiki/UtilScriptDatabase.wiki
trunk/src/site/wiki/UtilScriptDate.wiki
trunk/src/site/wiki/UtilScriptFile.wiki
trunk/src/site/wiki/UtilScriptGeneral.wiki
trunk/src/site/wiki/UtilScriptIC.wiki
trunk/src/site/wiki/UtilScriptOM.wiki
trunk/src/site/wiki/UtilScriptString.wiki
trunk/src/site/wiki/build.wiki
trunk/src/site/wiki/cascade.wiki
trunk/src/site/wiki/confluence.wiki
trunk/src/site/wiki/core.wiki
trunk/src/site/wiki/index.wiki
trunk/src/site/wiki/lazy.wiki
trunk/src/site/wiki/navigation.wiki
trunk/src/site/wiki/object-model.mm
trunk/src/site/wiki/pagePrefix.html
trunk/src/site/wiki/pageSuffix.html
trunk/src/site/wiki/reports.mm
trunk/src/site/wiki/suggest.wiki
trunk/src/site/wiki/template.wiki
trunk/src/site/wiki/test.wiki
trunk/src/site/wiki/tool.wiki
trunk/src/site/wiki/util.wiki
trunk/src/site/wiki/vision.wiki
Removed Paths:
-------------
trunk/src/site/old-docs/src/wiki/CodingStyle.wiki
trunk/src/site/old-docs/src/wiki/ExpectedAmount.wiki
trunk/src/site/old-docs/src/wiki/Export.wiki
trunk/src/site/old-docs/src/wiki/ExportFileFormat.wiki
trunk/src/site/old-docs/src/wiki/FScript.wiki
trunk/src/site/old-docs/src/wiki/GUI-Descriptors-model.mm
trunk/src/site/old-docs/src/wiki/GuiCustomTable.wiki
trunk/src/site/old-docs/src/wiki/GuiPageAction.wiki
trunk/src/site/old-docs/src/wiki/GuiPageField.wiki
trunk/src/site/old-docs/src/wiki/GuiPageFinder.wiki
trunk/src/site/old-docs/src/wiki/GuiPageForm.wiki
trunk/src/site/old-docs/src/wiki/GuiPageGroup.wiki
trunk/src/site/old-docs/src/wiki/GuiPageOther.wiki
trunk/src/site/old-docs/src/wiki/GuiPageStructure.wiki
trunk/src/site/old-docs/src/wiki/History.wiki
trunk/src/site/old-docs/src/wiki/Import.wiki
trunk/src/site/old-docs/src/wiki/ImportFileFormat.wiki
trunk/src/site/old-docs/src/wiki/ImportServlet.wiki
trunk/src/site/old-docs/src/wiki/License.wiki
trunk/src/site/old-docs/src/wiki/Modules.wiki
trunk/src/site/old-docs/src/wiki/SeleniumIDE.wiki
trunk/src/site/old-docs/src/wiki/SkinTemplates.wiki
trunk/src/site/old-docs/src/wiki/ToDo.wiki
trunk/src/site/old-docs/src/wiki/UserAdminKeys.wiki
trunk/src/site/old-docs/src/wiki/UtilScriptBoolean.wiki
trunk/src/site/old-docs/src/wiki/UtilScriptDatabase.wiki
trunk/src/site/old-docs/src/wiki/UtilScriptDate.wiki
trunk/src/site/old-docs/src/wiki/UtilScriptFile.wiki
trunk/src/site/old-docs/src/wiki/UtilScriptGeneral.wiki
trunk/src/site/old-docs/src/wiki/UtilScriptIC.wiki
trunk/src/site/old-docs/src/wiki/UtilScriptOM.wiki
trunk/src/site/old-docs/src/wiki/UtilScriptString.wiki
trunk/src/site/old-docs/src/wiki/build.wiki
trunk/src/site/old-docs/src/wiki/cascade.wiki
trunk/src/site/old-docs/src/wiki/confluence.wiki
trunk/src/site/old-docs/src/wiki/core.wiki
trunk/src/site/old-docs/src/wiki/index.wiki
trunk/src/site/old-docs/src/wiki/lazy.wiki
trunk/src/site/old-docs/src/wiki/navigation.wiki
trunk/src/site/old-docs/src/wiki/object-model.mm
trunk/src/site/old-docs/src/wiki/pagePrefix.html
trunk/src/site/old-docs/src/wiki/pageSuffix.html
trunk/src/site/old-docs/src/wiki/reports.mm
trunk/src/site/old-docs/src/wiki/suggest.wiki
trunk/src/site/old-docs/src/wiki/template.wiki
trunk/src/site/old-docs/src/wiki/test.wiki
trunk/src/site/old-docs/src/wiki/tool.wiki
trunk/src/site/old-docs/src/wiki/util.wiki
Added: trunk/config/checkstyle.xml
===================================================================
--- trunk/config/checkstyle.xml (rev 0)
+++ trunk/config/checkstyle.xml 2007-08-10 11:41:58 UTC (rev 27)
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<!DOCTYPE module PUBLIC
+ "-//Puppy Crawl//DTD Check Configuration 1.1//EN"
+ "http://www.puppycrawl.com/dtds/configuration_1_1.dtd">
+
+<!--
+
+ Checkstyle configuration that checks the sun coding conventions from:
+
+ - the Java Language Specification at
+ http://java.sun.com/docs/books/jls/second_edition/html/index.html
+
+ - the Sun Code Conventions at http://java.sun.com/docs/codeconv/
+
+ - the Javadoc guidelines at
+ http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
+
+ - the JDK Api documentation http://java.sun.com/j2se/docs/api/index.html
+
+ - some best practices
+
+ Checkstyle is very configurable. Be sure to read the documentation at
+ http://checkstyle.sf.net (or in your downloaded distribution).
+
+ Most Checks are configurable, be sure to consult the documentation.
+
+ To completely disable a check, just comment it out or delete it from the file.
+
+ Finally, it is worth reading the documentation.
+
+-->
+
+<module name="Checker">
+
+ <!-- Checks that a package.html file exists for each package. -->
+ <!-- See http://checkstyle.sf.net/config_javadoc.html#PackageHtml -->
+ <module name="PackageHtml"/>
+
+ <!-- Checks whether files end with a new line. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
+ <module name="NewlineAtEndOfFile"/>
+
+ <!-- Checks that property files contain the same keys. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
+ <module name="Translation"/>
+
+ <module name="TreeWalker">
+
+ <property name="cacheFile" value="${checkstyle.cache.file}"/>
+
+ <!-- ************************************************************** -->
+ <!-- Checks that are different from the sun coding conventions ones -->
+ <!-- ************************************************************** -->
+ <property name="tabWidth" value="4"/>
+ <module name="LeftCurly">
+ <property name="option" value="nl"/>
+ </module>
+ <module name="RightCurly">
+ <property name="option" value="alone"/>
+ </module>
+ <module name="LineLength">
+ <property name="ignorePattern" value="@version"/>
+ <property name="max" value="132"/>
+ </module>
+ <module name="MemberName">
+ <property name="format" value="^[a-z]+_*[a-zA-Z0-9]*$"/>
+ </module>
+ <module name="StaticVariableName">
+ <property name="format" value="^[a-z]+_*[a-zA-Z0-9]*$"/>
+ </module>
+ <module name="ConstantName">
+ <property name="format" value="^(([A-Z][A-Z0-9]*(_[A-Z0-9]+)*)|log)$"/>
+ </module>
+ <module name="ParameterName">
+ <property name="format" value="^[a-z]+_*[a-zA-Z0-9]*$"/>
+ </module>
+
+ <!-- ************************************************************** -->
+ <!-- Default Sun coding conventions checks -->
+ <!-- ************************************************************** -->
+
+ <!-- Checks for Javadoc comments. -->
+ <!-- See http://checkstyle.sf.net/config_javadoc.html -->
+ <module name="JavadocMethod">
+ <property name="excludeScope" value="private"/>
+ </module>
+ <module name="JavadocType"/>
+ <module name="JavadocVariable"/>
+
+
+ <!-- Checks for Naming Conventions. -->
+ <!-- See http://checkstyle.sf.net/config_naming.html -->
+ <module name="LocalFinalVariableName"/>
+ <module name="LocalVariableName"/>
+ <module name="MethodName"/>
+ <module name="PackageName"/>
+ <module name="TypeName"/>
+
+
+ <!-- Checks for Headers -->
+ <!-- See http://checkstyle.sf.net/config_header.html -->
+ <module name="RegexpHeader">
+ <!-- The follow property value demonstrates the ability -->
+ <!-- to have access to ANT properties. In this case it uses -->
+ <!-- the ${basedir} property to allow Checkstyle to be run -->
+ <!-- from any directory within a project. -->
+ <property name="headerFile" value="config/equanda-header.txt"/>
+ </module>
+
+ <!-- Following interprets the header file as regular expressions. -->
+ <!-- <module name="RegexpHeader"/> -->
+
+
+ <!-- Checks for imports -->
+ <!-- See http://checkstyle.sf.net/config_import.html -->
+ <module name="AvoidStarImport"/>
+ <module name="IllegalImport"/> <!-- defaults to sun.* packages -->
+ <module name="RedundantImport"/>
+ <module name="UnusedImports"/>
+
+
+ <!-- Checks for Size Violations. -->
+ <!-- See http://checkstyle.sf.net/config_sizes.html -->
+ <module name="FileLength"/>
+ <module name="MethodLength"/>
+ <module name="ParameterNumber"/>
+
+
+ <!-- Checks for whitespace -->
+ <!-- See http://checkstyle.sf.net/config_whitespace.html -->
+ <module name="EmptyForIteratorPad"/>
+ <module name="NoWhitespaceAfter"/>
+ <module name="NoWhitespaceBefore"/>
+ <module name="OperatorWrap"/>
+ <module name="ParenPad"/>
+ <module name="TabCharacter"/>
+ <module name="WhitespaceAfter"/>
+ <module name="WhitespaceAround"/>
+
+
+ <!-- Modifier Checks -->
+ <!-- See http://checkstyle.sf.net/config_modifiers.html -->
+ <module name="ModifierOrder"/>
+ <module name="RedundantModifier"/>
+
+ <module name="EmptyBlock"/>
+ <module name="NeedBraces"/>
+
+ <!-- Checks for common coding problems -->
+ <!-- See http://checkstyle.sf.net/config_coding.html -->
+ <module name="DoubleCheckedLocking"/> <!-- MY FAVOURITE -->
+ <module name="EmptyStatement"/>
+ <module name="EqualsHashCode"/>
+ <module name="FallThrough"/>
+ <module name="HiddenField">
+ <property name="ignoreConstructorParameter" value="true"/>
+ <property name="ignoreSetter" value="true"/>
+ </module>
+ <module name="IllegalInstantiation"/>
+ <module name="InnerAssignment"/>
+ <module name="MagicNumber"/>
+ <module name="MissingSwitchDefault"/>
+<!-- <module name="OneMethodPrivateField" /> -->
+ <module name="RedundantThrows"/>
+ <module name="SimplifyBooleanExpression"/>
+ <module name="SimplifyBooleanReturn"/>
+
+ <!-- Checks for class design -->
+ <!-- See http://checkstyle.sf.net/config_design.html -->
+ <module name="FinalClass"/>
+ <module name="HideUtilityClassConstructor"/>
+ <module name="VisibilityModifier">
+ <module name="MissingSwitchDefault"/>
+ <property name="protectedAllowed" value="true"/>
+ </module>
+
+
+ <!-- Miscellaneous other checks. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html -->
+ <module name="ArrayTypeStyle"/>
+<!-- <module name="FinalParameters"/> -->
+ <module name="GenericIllegalRegexp">
+ <property name="format" value="\s+$"/>
+ <property name="message" value="Line has trailing spaces."/>
+ </module>
+ <module name="UpperEll"/>
+
+ </module>
+
+</module>
Added: trunk/config/equanda-header.txt
===================================================================
--- trunk/config/equanda-header.txt (rev 0)
+++ trunk/config/equanda-header.txt 2007-08-10 11:41:58 UTC (rev 27)
@@ -0,0 +1,23 @@
+^/\*\*\s*$
+^ \* This file is part of the equanda project.\s*$
+^ \*\s*$
+^ \* The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License");\s*$
+^ \* you may not use this file except in compliance with the License.\s*$
+^ \* You may obtain a copy of the License at http://www.mozilla.org/MPL/\s*$
+^ \*\s*$
+^ \* Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF\s*$
+^ \* ANY KIND, either express or implied. See the License for the specific language governing rights and\s*$
+^ \* limitations under the License.\s*$
+^ \*\s*$
+^ \* Alternatively, the contents of this file may be used under the terms of\s*$
+^ \* either the GNU General Public License Version 2 or later (the "GPL"), or\s*$
+^ \* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),\s*$
+^ \* in which case the provisions of the GPL or the LGPL are applicable instead\s*$
+^ \* of those above. If you wish to allow use of your version of this file only\s*$
+^ \* under the terms of either the GPL or the LGPL, and not to allow others to\s*$
+^ \* use your version of this file under the terms of the MPL, indicate your\s*$
+^ \* decision by deleting the provisions above and replace them with the notice\s*$
+^ \* and other provisions required by the GPL or the LGPL. If you do not delete\s*$
+^ \* the provisions above, a recipient may use your version of this file under\s*$
+^ \* the terms of any one of the MPL, the GPL or the LGPL.\s*$
+^ \*/\s*$
\ No newline at end of file
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2007-08-08 07:59:55 UTC (rev 26)
+++ trunk/pom.xml 2007-08-10 11:41:58 UTC (rev 27)
@@ -72,15 +72,26 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<!--<version>2.0</version>-->
- <executions>
- <execution>
- <id>clean</id>
- <goals>
- <goal>clean</goal>
- </goals>
- </execution>
- </executions>
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>org.staticwiki</groupId>
+ <artifactId>staticwiki-site-plugin</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+ </plugin>
</plugins>
</build>
<reporting>
@@ -102,15 +113,13 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
</plugin>
- <!--
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
- <configLocation>config/maven_checks.xml</configLocation>
+ <configLocation>config/checkstyle.xml</configLocation>
</configuration>
</plugin>
- -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
Deleted: trunk/src/site/old-docs/src/wiki/CodingStyle.wiki
===================================================================
--- trunk/src/site/old-docs/src/wiki/CodingStyle.wiki 2007-08-08 07:59:55 UTC (rev 26)
+++ trunk/src/site/old-docs/src/wiki/CodingStyle.wiki 2007-08-10 11:41:58 UTC (rev 27)
@@ -1,8 +0,0 @@
-!equanda coding style
-
-
-~~__CAREFUL !__ This page indicates intended behaviour, not existing behaviour~~
-
-
------
-$Id: CodingStyle.wiki 642 2004-08-13 09:01:21Z triathlon98 $
\ No newline at end of file
Deleted: trunk/src/site/old-docs/src/wiki/ExpectedAmount.wiki
===================================================================
--- trunk/src/site/old-docs/src/wiki/ExpectedAmount.wiki 2007-08-08 07:59:55 UTC (rev 26)
+++ trunk/src/site/old-docs/src/wiki/ExpectedAmount.wiki 2007-08-10 11:41:58 UTC (rev 27)
@@ -1,45 +0,0 @@
-!Tables with small, medium, large expected amount of records
-!Usage:
-Example: \\{code}
-<table name="Example" expected-amount="small">
-</table>{code} \\
-The default expected amount is "large". \\
-The function OMRootTable.isExpectedAmountXXX() and OMTable.isExpectedAmountXXX() are used in the templates to get this info.
-(where XXX is one of: "Small", "Medium", "Large").
-
-!Differences:
-
-1) Tables with small/medium amount of records have an extra select added automatically. The name is "equandaAll". This select has no selections, so it gets all the records in that table.
-
-2) The look of link fields in GUI depends on the expected amount of records of the link table.
-
-For links to tables with small amount of records, there are: \\
- -a widget with selection-list (a html select) where all existing records in the table are shown
-(each option is a string with the values of the display fields for the record.) \\
- -a href, its text showing the current value of the link (in the form of a string with the display fields).
-This would open a popup, showing the full record currently selected in view mode.
-From there, you can choose "Edit" to edit the current link.
-
-Links to tables with large and medium amount of records look the same way: \\
- -a href with text "Select". This opens a popup with a list of all the finders in that page
- + a link to add a new record. Choosing one of the results of that finders, or creating a new
- record, the popup closes and the value of the link is updated in the opener page. \\
- -a href, its text showing the current value of the link (in the form of a string with
- the display fields). This would open a popup, showing the full record currently selected in
- view mode. From there, you can choose "Edit" to edit the current link. \\
- (This part, the display of the link fiels, that you can click for View/Edit, is the same as for links to tables with small amount of records).
-
-3) There are also differences in GUI when you edit parameters for actions/reports/finders
-or just fields, and these have suggests with a table and a field:
-
- -If the suggested table has small amount of records, there is a html select near the parameter widget.
-The select contains the values of the sugested field, for all existing records in that table. If you click one,
-the suggested field's value will be set in the parameter widget. \\
- -If the suggested table has medium or large amount of records, there is a button with text "..." near the parameter widget.
-This opens a popup with a list of all the finders in that page + a link to add a new record.
-Choosing one of the results of that finders, or creating a new record, the popup closes and the value of the suggested field
-for the chosen/created record is updated in the opener page. \\
-(The look of the suggests with table & field is very much like setting links in GUI, but internaly, instead of choosing/setting uoid's,
-it sets the value of a field).
-
-$Id: ExpectedAmount.wiki 1132 2005-02-16 07:09:34Z cabnetrom $
\ No newline at end of file
Deleted: trunk/src/site/old-docs/src/wiki/Export.wiki
===================================================================
--- trunk/src/site/old-docs/src/wiki/Export.wiki 2007-08-08 07:59:55 UTC (rev 26)
+++ trunk/src/site/old-docs/src/wiki/Export.wiki 2007-08-10 11:41:58 UTC (rev 27)
@@ -1,145 +0,0 @@
-!Export tool
-
-The export tool allows you to export data from a equanda generated application to text (ascii).
-Alternatively, the data which is exported can be processed using a script which then handles it further.
-This option is typically used to synchronize with another application
-(one-way synchronization, use the [Import] tool for the other direction).
-
-!General configuration
-
-The export program expects the name of the configuration .ini file as parameter.
-If this parameter is not given, a file called "export.ini" in the current directory is used.
-
-The export can be configured using a .ini file with the following base format :
-
-{code}
-[general]
-scanPeriod=30
-
-exportDirectory=c:\export
-exportInfo=exportInfo=org.ictrace.demo.maps.ExportMap
-exportIni=exportConfig.ini
-
-window=display
-
-server=192.168.0.252
-login=myname
-password=mypass
-{code}
-
-- scanPeriod : time in seconds between attempts to pick up files to import, default 120
-- exportDirectory : directory where the export files need to be written
-- window : indicates whether a window needs to be displayed or not (values "display" or "hidden")
-- exportInfo : full class name of the ExportInfo map needed for export
-- exportIni : defines the [ExportFileFormat] which should be used
-- server : name or ip address of server
-- login : login to connect to the equanda application
-- password : password to connect to the equanda application
-
-
-!What to export
-
-The .ini file also defines what to export.
-This is done by specifying the objects which need to be selected.
-For each object selected, you can have selections of secondary (related) objects which are also exported.
-After the export, the tool can automatically update one of the fields to mark that the export was succesful.
-
-For example
-{code}
-[object,1]
-
-selectorJndi=IC-trace/WeightGroupSelector
-selectorName=org.ictrace.client.WeightGroupSelector
-
-finderName=ImportStatus
-finderParamType1=String
-finderParamValue1=Y
-
-setField1=ERPImportStatus
-setFieldType1=String
-setFieldValue1=D
-
-script=WeightGroup.esc
-
-[object,1,1]
-
-selectorJndi=IC-trace/WeightGroupTotalSelector
-selectorName=org.ictrace.client.WeightGroupTotalSelector
-
-finderName=WeightGroup
-finderParamType1=String
-finderParamValue1=${Reference}
-
-script=WeightGroup.esc
-{code}
-
-This excerpt shows all the options.
-The first (and only) primary selector is indicated in the [object,1] section.
-The secondary selections for these are in the [object,1,X] sections, with "X" a number from one upwards.
-
-For each section, you can specify the JNDI name and classname for the bean to use.
-The classname should be without trailing "EJB" or "EJBHome".
-You can also specify the finder to be used, and the type and value for each paramater.
-For secondary objects, fields from the primary object can be used to as parameter value using the "${FieldName}" syntax.
-
-For each object, you can also optionally spacify fields which need to be set when the import was successful.
-You can also choose whether the export is to a file,
-or whether a user defined [FScript] script should handle the export (in which case the file is not generated).
-
-__Key Set Details__
-
-- selectorJndi : JNDI name whether the object which is selected can be found, normally a prefix followed by the table name.
-- selectorName : full name of the selector class (without trailing "EJB")
-
-- finderName : the name of the finder to be used
-- finderParamType~~X~~ : type of the finder's ~~X~~th parameter, can be ~~String~~, ~~int~~, ~~double~~, ~~boolean~~, ~~Timestamp~~, ~~Date~~
-- finderParamValue~~X~~ : value of the finder's ~~X~~th parameter
-
-- setField~~X~~ : name of the field to be set (after the object is exported)
-- setFieldType~~X~~ : type of the field to be set, same choices as finderParamType
-- setFieldValue1~~X~~ : value for the field to be set
-
-- script : name of the script which is used to export the object
-
-__NOTE:__ All keys are __case sensitive__ !!!
-
-
-!Using scripts in export
-
-Like in [Import] you can also use scripts to export the data,
-possibly including the data directly into a different database.
-
-The program accepts [FScript] (see http://fscript.sourceforge.net/index.html) scripts to build the data to be exported.
-The script should have the following structure (example with some debug info) :
-
-{code}
-func primary(object prim)
- debug("primary called for "+prim)
- return TRUE
-endfunc
-
-func primary_done(object prim)
- debug("primary_done called for "+prim)
- display("importing "+prim)
- return TRUE
-endfunc
-
-func secondary(object prim, object sec)
- debug("secondary called for "+prim+":"+sec)
- return FALSE
-endfunc{code}
-
-The [FScript] extensions from the util module are available.
-
-The functions should return "TRUE" or "FALSE" depending on whether the export was successful or not.
-If the export was not successful, then the variables which need to be set are not modified.
-
-When you return "FALSE" for the primary object, then the secondary objects are not exported.
-When one of the secondary objects returned "FALSE", then the fields for the primary object are not set.
-
-If the primary and all the secondary objects have been successfully imported,
-then the "primary_done" function is called. This can be used for cleanup, or to mark that the export has finished.
-
-
------
-$Id: Export.wiki 1849 2006-01-12 13:48:28Z triathlon98 $
\ No newline at end of file
Deleted: trunk/src/site/old-docs/src/wiki/ExportFileFormat.wiki
===================================================================
--- trunk/src/site/old-docs/src/wiki/ExportFileFormat.wiki 2007-08-08 07:59:55 UTC (rev 26)
+++ trunk/src/site/old-docs/src/wiki/ExportFileFormat.wiki 2007-08-10 11:41:58 UTC (rev 27)
@@ -1,42 +0,0 @@
-!File format for export description
-
-This file format is used by the export tool and export classes.
-It allows you to describe which fields need to be exported from which table,
-and the order of the fields and the export filename.
-
-The file has the shape and form of a (case sensitive) .ini file.
-
-The sections in the file indicate the tables which can be exported.
-
-For each section you can specify the following :
-
-- file : name of the file in which the exported object is saved.
-- suppressHeaderLines : when "true" the header lines is not saved in the file.
-- suppressDuplicateLines : when "true" a line is only appended in the file if it was not yet present.
-- ~~number~~ : field which needs exporting, count starts from 1. Needs to be consecutive.
-
-For the filename, you can use a field from the reference object in the filename.
-This is done using the ${~~fieldname~~} syntax.
-
-For the fields, a special syntax "FieldName$expression" can be used. In that case the given fieldname if used as field name, and the FScript expression is used to calculate the field value. If the special fieldname "NOQUOTES" is used, then the result string is not processed (quoted) before exporting. This can be useful when calculating the entire export line.
-
-Example
-{code}
-[WeightGroup]
-file=WG${Reference}.txt
-1=Reference
-2=LocalReference
-3=Client
-4=Date
-5=Today$datesys()
-
-[Weight]
-file=WG${Reference}.txt
-1=Reference
-2=Count
-3=WeightNet
-4=Sale
-{code}
-
------
-$Id: ExportFileFormat.wiki 1839 2005-12-31 12:38:01Z triathlon98 $
\ No newline at end of file
Deleted: trunk/src/site/old-docs/src/wiki/FScript.wiki
===================================================================
--- trunk/src/site/old-docs/src/wiki/FScript.wiki 2007-08-08 07:59:55 UTC (rev 26)
+++ trunk/src/site/old-docs/src/wiki/FScript.wiki 2007-08-10 11:41:58 UTC (rev 27)
@@ -1,10 +0,0 @@
-!Fscript
-
-FScript is a very simple scripting language which is available on sourceforge,
-see http://fscript.sourceforge.net/index.html.
-
-~~Placeholder, should include details of all FScript related classes in util~~
-
-
------
-$Id: FScript.wiki 660 2004-08-23 05:25:22Z triathlon98 $
\ No newline at end of file
Deleted: trunk/src/site/old-docs/src/wiki/GUI-Descriptors-model.mm
===================================================================
--- trunk/src/site/old-docs/src/wiki/GUI-Descriptors-model.mm 2007-08-08 07:59:55 UTC (rev 26)
+++ trunk/src/site/old-docs/src/wiki/GUI-Descriptors-model.mm 2007-08-10 11:41:58 UTC (rev 27)
@@ -1,247 +0,0 @@
-<map version="0.8.0">
-<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
-<node CREATED="1146160158228" ID="Freemind_Link_1338830509" MODIFIED="1146209410674" TEXT="GUI Descriptors model">
-<cloud/>
-<hook NAME="accessories/plugins/NodeNote.properties">
-<text>This is a simplified version of the Object model - only contains the info needed for the GUI.

In this map, only the new nodes (not present in the Object model) are documented.</text>
-</hook>
-<node COLOR="#006699" CREATED="1146160210192" ID="_" MODIFIED="1146160479210" POSITION="right" TEXT="table">
-<edge WIDTH="thin"/>
-<font NAME="SansSerif" SIZE="10"/>
-<node COLOR="#338800" CREATED="1146160494089" FOLDED="true" ID="Freemind_Link_552155653" MODIFIED="1146162922399" TEXT="name" VSHIFT="-22">
-<node CREATED="1146160582126" ID="Freemind_Link_1936755512" MODIFIED="1146160596239" TEXT="name of the root table"/>
-</node>
-<node COLOR="#338800" CREATED="1146160600013" HGAP="26" ID="Freemind_Link_1894884381" MODIFIED="1146162919498" TEXT="type" VSHIFT="-31"/>
-<node COLOR="#006699" CREATED="1146161128671" ID="Freemind_Link_283043584" MODIFIED="1146161135868" TEXT="cloneable?"/>
-<node COLOR="#006699" CREATED="1146162425950" ID="Freemind_Link_1351042587" MODIFIED="1146162439510" TEXT="ttype*">
-<node CREATED="1146162479382" ID="Freemind_Link_478911920" MODIFIED="1146162488659" TEXT="definition of other table in the same root-table"/>
-<node COLOR="#338800" CREATED="1146162489175" ID="Freemind_Link_443836946" MODIFIED="1146162507829" TEXT="type"/>
-<node COLOR="#338800" CREATED="1146162493146" ID="Freemind_Link_1231550989" MODIFIED="1146162510548" TEXT="name"/>
-</node>
-<node COLOR="#006699" CREATED="1146160641913" ID="Freemind_Link_1996565913" MODIFIED="1146160933947" TEXT="security-role-remove?"/>
-<node COLOR="#006699" CREATED="1146160650662" ID="Freemind_Link_1181541681" MODIFIED="1146160727079" TEXT="default?">
-<node CREATED="1146162577406" ID="Freemind_Link_1866575291" MODIFIED="1146162655736" TEXT="the default type of table for GUI "/>
-<node COLOR="#338800" CREATED="1146162581948" ID="Freemind_Link_280155491" MODIFIED="1146162602357" TEXT="type"/>
-<node COLOR="#338800" CREATED="1146162597397" ID="Freemind_Link_1763972817" MODIFIED="1146162603117" TEXT="forced"/>
-<node COLOR="#338800" CREATED="1146162599536" ID="Freemind_Link_568231306" MODIFIED="1146162603492" TEXT="class"/>
-</node>
-<node COLOR="#006699" CREATED="1146160740822" ID="Freemind_Link_1281880686" MODIFIED="1176299592671" TEXT="page*">
-<arrowlink DESTINATION="Freemind_Link_1615050645" ENDARROW="Default" ENDINCLINATION="61;0;" ID="Freemind_Arrow_Link_481871487" STARTARROW="None" STARTINCLINATION="61;0;"/>
-<node COLOR="#338800" CREATED="1146160946360" ID="Freemind_Link_107718382" MODIFIED="1146161195602" TEXT="name"/>
-<node COLOR="#006699" CREATED="1146160965555" HGAP="22" ID="Freemind_Link_1615050645" MODIFIED="1176299592687" TEXT="field*" VSHIFT="10">
-<node COLOR="#338800" CREATED="1146163045153" ID="Freemind_Link_1458833396" MODIFIED="1146163071274" TEXT="name"/>
-<node COLOR="#338800" CREATED="1146163048510" ID="Freemind_Link_722767592" MODIFIED="1146163078546" TEXT="type"/>
-<node COLOR="#338800" CREATED="1146163073410" ID="Freemind_Link_1693999062" MODIFIED="1146206748433" TEXT="link-gui-look (combobox | ajax-select | button-select )"/>
-<node COLOR="#338800" CREATED="1146206750250" ID="Freemind_Link_310268612" MODIFIED="1146207149922" TEXT="length">
-<node CREATED="1182357834577" ID="Freemind_Link_1048046207" MODIFIED="1182358223650" TEXT="the maximum size of string fields, and the maximum number of digits for int and double fields in GUI."/>
-</node>
-<node COLOR="#669900" CREATED="1182357815945" ID="Freemind_Link_1429214875" MODIFIED="1182357822498" TEXT="display-length">
-<node CREATED="1182357839590" ID="Freemind_Link_1027577215" MODIFIED="1182358240165" TEXT="the number of characters used in GUI for the textbox of this field. Can be different from "length"."/>
-</node>
-<node COLOR="#338800" CREATED="1156513618329" ID="Freemind_Link_1111362417" MODIFIED="1156513624576" TEXT="renderer">
-<node CREATED="1156513626359" ID="Freemind_Link_1997362180" MODIFIED="1156513768546" TEXT="this is extra info for rendering the field in GUI"/>
-</node>
-<node COLOR="#338800" CREATED="1146207166508" ID="Freemind_Link_642853327" MODIFIED="1146207193754" TEXT="reference-field">
-<node CREATED="1146207197878" ID="Freemind_Link_1819565926" MODIFIED="1146207236695" TEXT="for link fields, it's the name of the reference-field in the link table (used for ajax selects)"/>
-</node>
-<node COLOR="#338800" CREATED="1146207189041" ID="Freemind_Link_1482152508" MODIFIED="1146207194200" TEXT="description-field">
-<node CREATED="1146207250490" ID="Freemind_Link_46115149" MODIFIED="1146207263983" TEXT="for link fields, it's the name of the description-field in the link table (used for ajax selects)"/>
-</node>
-<node COLOR="#338800" CREATED="1146207277490" ID="Freemind_Link_132918732" MODIFIED="1146207286682" TEXT="table-names">
-<node CREATED="1146207287924" ID="Freemind_Link_1793856839" MODIFIED="1146207295839" TEXT="a list of table names to which this field belongs, sepparated by space"/>
-</node>
-<node COLOR="#338800" CREATED="1146646922499" FOLDED="true" ID="Freemind_Link_722584762" MODIFIED="1146646928849" TEXT="displayed-fields">
-<node CREATED="1146646931238" ID="Freemind_Link_1325913195" MODIFIED="1146646954286" TEXT="for link fields, a list of displayed fields in the link table, sepparated by space"/>
-</node>
-<node COLOR="#338800" CREATED="1147892514523" ID="Freemind_Link_1350764718" MODIFIED="1147892529341" TEXT="update-field">
-<node CREATED="1147892537938" ID="Freemind_Link_1016286581" MODIFIED="1147892585053" TEXT="This is for suggests with table and field (which are treated as links). This indicate the field from the linked table (not UOID, as for normal links)"/>
-</node>
-<node COLOR="#338800" CREATED="1148022270627" ID="Freemind_Link_1703268680" MODIFIED="1148022275836" TEXT="update-type">
-<node CREATED="1148022335188" ID="Freemind_Link_420372441" MODIFIED="1148022365835" TEXT="This is for suggests with table and field (which are treated as links). This indicate the type of the field."/>
-</node>
-<node COLOR="#338800" CREATED="1149842803792" ID="Freemind_Link_1516085704" MODIFIED="1149842807187" TEXT="on-change">
-<node CREATED="1149842808317" ID="Freemind_Link_1138260907" MODIFIED="1149842809796" TEXT="used in custom descriptions, to set some javascript code to be run on the onChange event of this input field"/>
-</node>
-<node COLOR="#006699" CREATED="1146207550892" ID="Freemind_Link_127687021" MODIFIED="1146207562628" TEXT="multiple?"/>
-<node COLOR="#006699" CREATED="1146207555300" FOLDED="true" ID="Freemind_Link_344659397" MODIFIED="1146207581024" TEXT="unique?">
-<node COLOR="#338800" CREATED="1146207605967" ID="Freemind_Link_1661751794" MODIFIED="1146207612130" TEXT="convert-class"/>
-</node>
-<node COLOR="#006699" CREATED="1146207758981" ID="Freemind_Link_1627310459" MODIFIED="1146207805193" TEXT="required?"/>
-<node COLOR="#006699" CREATED="1146207766238" ID="Freemind_Link_128015348" MODIFIED="1146207808856" TEXT="immutable?"/>
-<node COLOR="#006699" CREATED="1146207581321" FOLDED="true" ID="Freemind_Link_265148178" MODIFIED="1146207813768" TEXT="default?">
-<node COLOR="#338800" CREATED="1146207817541" ID="Freemind_Link_209623926" MODIFIED="1146207824814" TEXT="type"/>
-</node>
-<node COLOR="#006699" CREATED="1146208038743" ID="Freemind_Link_623250894" MODIFIED="1146208051124" TEXT="auto?"/>
-<node COLOR="#006699" CREATED="1146208042017" ID="Freemind_Link_613190113" MODIFIED="1146208054754" TEXT="calculated?"/>
-<node COLOR="#006699" CREATED="1146208047673" ID="Freemind_Link_1758583499" MODIFIED="1146208062247" TEXT="display?"/>
-<node COLOR="#006699" CREATED="1146664520426" ID="Freemind_Link_659302679" MODIFIED="1146664527397" TEXT="embeded?"/>
-<node COLOR="#006699" CREATED="1151159842194" ID="Freemind_Link_1109849859" MODIFIED="1151159857320" TEXT="immutable-if">
-<node COLOR="#338800" CREATED="1151160185106" ID="Freemind_Link_1361739095" MODIFIED="1151160194219" TEXT="field"/>
-</node>
-<node COLOR="#006699" CREATED="1151159848120" ID="Freemind_Link_1020271504" MODIFIED="1151159858105" TEXT="mutable-even-if">
-<node COLOR="#338800" CREATED="1151160188321" ID="Freemind_Link_350644294" MODIFIED="1151160195178" TEXT="field"/>
-<node COLOR="#338800" CREATED="1151160190468" ID="Freemind_Link_825334067" MODIFIED="1151160195672" TEXT="when"/>
-</node>
-<node COLOR="#006699" CREATED="1146208108315" ID="Freemind_Link_1652245774" MODIFIED="1146209114407" TEXT="suggest?">
-<node CREATED="1147892440675" ID="Freemind_Link_1025156955" MODIFIED="1147892504448" TEXT="Suggests with table and field do not exist (like in table descriptors), this is treated as a link"/>
-<node COLOR="#338800" CREATED="1146208970982" ID="Freemind_Link_1850878722" MODIFIED="1146208992623" TEXT="value"/>
-<node COLOR="#338800" CREATED="1146208973652" ID="Freemind_Link_690482728" MODIFIED="1146208993696" TEXT="field"/>
-<node COLOR="#338800" CREATED="1146208975707" ID="Freemind_Link_678443821" MODIFIED="1146208994470" TEXT="table"/>
-<node COLOR="#338800" CREATED="1146208977576" ID="Freemind_Link_918147015" MODIFIED="1146208995298" TEXT="path"/>
-<node COLOR="#338800" CREATED="1146208979475" ID="Freemind_Link_413042201" MODIFIED="1146208996000" TEXT="value-list"/>
-</node>
-<node COLOR="#006699" CREATED="1146208111159" ID="Freemind_Link_1608171911" MODIFIED="1146209211600" TEXT="case?">
-<node COLOR="#338800" CREATED="1146208632038" ID="Freemind_Link_550012045" MODIFIED="1146208634796" TEXT="value"/>
-<node COLOR="#338800" CREATED="1146208635169" ID="Freemind_Link_1238130344" MODIFIED="1146208637954" TEXT="class"/>
-</node>
-<node COLOR="#006699" CREATED="1146208133969" FOLDED="true" ID="Freemind_Link_1900167026" MODIFIED="1146557701959" TEXT="choice*">
-<node COLOR="#338800" CREATED="1146208162185" ID="Freemind_Link_1627841886" MODIFIED="1146208173856" TEXT="name"/>
-<node COLOR="#338800" CREATED="1146208164149" ID="Freemind_Link_79609209" MODIFIED="1146208174269" TEXT="value"/>
-<node COLOR="#338800" CREATED="1146208165984" ID="Freemind_Link_1099480779" MODIFIED="1146208174655" TEXT="class"/>
-</node>
-</node>
-<node COLOR="#006699" CREATED="1146160971236" ID="Freemind_Link_1059193234" MODIFIED="1176299601265" TEXT="group*">
-<node COLOR="#338800" CREATED="1146207366299" ID="Freemind_Link_420463932" MODIFIED="1146207371262" TEXT="name"/>
-<node COLOR="#338800" CREATED="1146207302346" ID="Freemind_Link_1681255860" MODIFIED="1146207373871" TEXT="table-names">
-<node CREATED="1146207473127" ID="Freemind_Link_1080641106" MODIFIED="1146207511898" TEXT="a list of table names to which this group belongs, sepparated by space"/>
-</node>
-<node COLOR="#006699" CREATED="1146162815131" ID="Freemind_Link_99820642" MODIFIED="1146163028020" TEXT="field*" VSHIFT="-4">
-<arrowlink DESTINATION="Freemind_Link_1615050645" ENDARROW="Default" ENDINCLINATION="67;0;" ID="Freemind_Arrow_Link_1025410908" STARTARROW="None" STARTINCLINATION="67;0;"/>
-</node>
-<node COLOR="#006699" CREATED="1146162880642" ID="Freemind_Link_511286949" MODIFIED="1146162893426" TEXT="group*" VSHIFT="32"/>
-</node>
-</node>
-<node COLOR="#006699" CREATED="1146160748528" ID="Freemind_Link_1002121865" MODIFIED="1176299490546" TEXT="select*">
-<node COLOR="#338800" CREATED="1146162296416" ID="Freemind_Link_1699195750" MODIFIED="1146162301610" TEXT="name"/>
-<node COLOR="#338800" CREATED="1146162309737" ID="Freemind_Link_1276644801" MODIFIED="1146162376038" TEXT="type (multiple|single)"/>
-<node COLOR="#006699" CREATED="1146162384662" FOLDED="true" ID="Freemind_Link_1001071009" MODIFIED="1146162391108" TEXT="selection*">
-<node COLOR="#338800" CREATED="1146162737269" ID="Freemind_Link_978303034" MODIFIED="1146162740564" TEXT="name"/>
-<node COLOR="#338800" CREATED="1154451127442" ID="Freemind_Link_1065281781" MODIFIED="1154451144435" TEXT="field-name">
-<node CREATED="1154451145950" ID="Freemind_Link_1455563878" MODIFIED="1154451218894" TEXT="The name of the corresponding field (which may be different from selection's name).
It's needed to make the correspondence between fields and selections when using reversed links
and setting the parameters. "/>
-</node>
-<node COLOR="#338800" CREATED="1146162741375" ID="Freemind_Link_1987565195" MODIFIED="1146162743879" TEXT="type"/>
-<node COLOR="#338800" CREATED="1146929978944" ID="Freemind_Link_524484450" MODIFIED="1146929988467" TEXT="length">
-<node CREATED="1146930419782" ID="Freemind_Link_936027576" MODIFIED="1146930425933" TEXT="length of the selection field"/>
-</node>
-<node COLOR="#338800" CREATED="1156586976398" ID="Freemind_Link_711094278" MODIFIED="1156587000263" TEXT="renderer">
-<node CREATED="1156587002111" ID="Freemind_Link_1411319523" MODIFIED="1156587119853" TEXT="this is extra info for rendering the field in GUI"/>
-</node>
-<node COLOR="#338800" CREATED="1146930205777" ID="Freemind_Link_186069036" MODIFIED="1146930553767" TEXT="table-name">
-<node CREATED="1146930429986" ID="Freemind_Link_717482066" MODIFIED="1146930436110" TEXT="root table of the selection field"/>
-</node>
-<node COLOR="#338800" CREATED="1146207166508" ID="Freemind_Link_1961859003" MODIFIED="1146207193754" TEXT="reference-field">
-<node CREATED="1146207197878" ID="Freemind_Link_783233910" MODIFIED="1146207236695" TEXT="for link fields, it's the name of the reference-field in the link table (used for ajax selects)"/>
-</node>
-<node COLOR="#338800" CREATED="1146207189041" ID="Freemind_Link_1234450985" MODIFIED="1146207194200" TEXT="description-field">
-<node CREATED="1146207250490" ID="Freemind_Link_1835983274" MODIFIED="1146207263983" TEXT="for link fields, it's the name of the description-field in the link table (used for ajax selects)"/>
-</node>
-<node COLOR="#338800" CREATED="1146646922499" FOLDED="true" ID="Freemind_Link_1612784667" MODIFIED="1146646928849" TEXT="displayed-fields">
-<node CREATED="1146646931238" ID="Freemind_Link_692562085" MODIFIED="1146646954286" TEXT="for link fields, a list of displayed fields in the link table, sepparated by space"/>
-</node>
-<node COLOR="#338800" CREATED="1147892514523" FOLDED="true" ID="Freemind_Link_1881623962" MODIFIED="1147892529341" TEXT="update-field">
-<node CREATED="1147892537938" ID="Freemind_Link_583928465" MODIFIED="1147892585053" TEXT="This is for suggests with table and field (which are treated as links). This indicate the field from the linked table (not UOID, as for normal links)"/>
-</node>
-<node COLOR="#338800" CREATED="1148022270627" ID="Freemind_Link_470078658" MODIFIED="1148022275836" TEXT="update-type">
-<node CREATED="1148022335188" ID="Freemind_Link_1829464642" MODIFIED="1148022365835" TEXT="This is for suggests with table and field (which are treated as links). This indicate the type of the field."/>
-</node>
-<node COLOR="#338800" CREATED="1149842815738" FOLDED="true" ID="Freemind_Link_1285638888" MODIFIED="1149842823946" TEXT="on-change">
-<node CREATED="1149842820028" ID="Freemind_Link_686760848" MODIFIED="1149842821416" TEXT="used in custom descriptions, to set some javascript code to be run on the onChange event of this input field"/>
-</node>
-<node COLOR="#006699" CREATED="1146162744273" ID="Freemind_Link_153669403" MODIFIED="1146209080270" TEXT="suggest?">
-<arrowlink DESTINATION="Freemind_Link_1652245774" ENDARROW="Default" ENDINCLINATION="414;0;" ID="Freemind_Arrow_Link_652705386" STARTARROW="None" STARTINCLINATION="414;0;"/>
-</node>
-<node COLOR="#006699" CREATED="1146209187224" ID="Freemind_Link_1057449714" MODIFIED="1146209211602" TEXT="case?">
-<arrowlink DESTINATION="Freemind_Link_1608171911" ENDARROW="Default" ENDINCLINATION="360;0;" ID="Freemind_Arrow_Link_1823379221" STARTARROW="None" STARTINCLINATION="360;0;"/>
-</node>
-<node COLOR="#006699" CREATED="1146557681147" ID="Freemind_Link_282130278" MODIFIED="1146557701962" TEXT="choice*">
-<arrowlink DESTINATION="Freemind_Link_1900167026" ENDARROW="Default" ENDINCLINATION="303;0;" ID="Freemind_Arrow_Link_571234094" STARTARROW="None" STARTINCLINATION="303;0;"/>
-</node>
-</node>
-<node COLOR="#006699" CREATED="1180458633573" ID="Freemind_Link_133043595" MODIFIED="1180458640080" TEXT="view-filter">
-<node CREATED="1180458645374" ID="Freemind_Link_1281543846" MODIFIED="1180622957873" TEXT="Comma separated list of filter names. The select is only visible in gui if NONE of these filters is active."/>
-</node>
-</node>
-<node COLOR="#006699" CREATED="1146160754550" FOLDED="true" ID="Freemind_Link_117618858" MODIFIED="1176299356953" TEXT="action*" VSHIFT="52">
-<node COLOR="#338800" CREATED="1146160827463" ID="Freemind_Link_75051530" MODIFIED="1146160842966" TEXT="name"/>
-<node COLOR="#338800" CREATED="1146160837230" ID="Freemind_Link_1075125171" MODIFIED="1146160843539" TEXT="return"/>
-<node COLOR="#338800" CREATED="1155217719791" ID="Freemind_Link_637499112" MODIFIED="1155217724702" TEXT="table-names">
-<node CREATED="1155217726108" ID="Freemind_Link_1265159056" MODIFIED="1155217755224" TEXT="a list of table names to which this action belongs, sepparated by space"/>
-</node>
-<node COLOR="#006699" CREATED="1146160844753" ID="Freemind_Link_1880961403" MODIFIED="1146160851349" TEXT="parameter*">
-<node COLOR="#338800" CREATED="1146162120266" ID="Freemind_Link_1639081437" MODIFIED="1146162183972" TEXT="name"/>
-<node COLOR="#338800" CREATED="1146162184448" ID="Freemind_Link_1382889248" MODIFIED="1146162187221" TEXT="type"/>
-<node COLOR="#338800" CREATED="1146207166508" FOLDED="true" ID="Freemind_Link_1065324489" MODIFIED="1146207193754" TEXT="reference-field">
-<node CREATED="1146207197878" ID="Freemind_Link_1175892302" MODIFIED="1146207236695" TEXT="for link fields, it's the name of the reference-field in the link table (used for ajax selects)"/>
-</node>
-<node COLOR="#338800" CREATED="1156587126332" ID="Freemind_Link_789388182" MODIFIED="1156587141619" TEXT="renderer">
-<node CREATED="1156587143529" ID="Freemind_Link_1270469706" MODIFIED="1156587145864" TEXT="this is extra info for rendering the field in GUI"/>
-</node>
-<node COLOR="#338800" CREATED="1146207189041" ID="Freemind_Link_1416446607" MODIFIED="1146207194200" TEXT="description-field">
-<node CREATED="1146207250490" ID="Freemind_Link_264614965" MODIFIED="1146207263983" TEXT="for link fields, it's the name of the description-field in the link table (used for ajax selects)"/>
-</node>
-<node COLOR="#338800" CREATED="1146646922499" FOLDED="true" ID="Freemind_Link_704715135" MODIFIED="1146646928849" TEXT="displayed-fields">
-<node CREATED="1146646931238" ID="Freemind_Link_1375832421" MODIFIED="1146646954286" TEXT="for link fields, a list of displayed fields in the link table, sepparated by space"/>
-</node>
-<node COLOR="#338800" CREATED="1147892514523" ID="Freemind_Link_193682541" MODIFIED="1147892529341" TEXT="update-field">
-<node CREATED="1147892537938" ID="Freemind_Link_645416576" MODIFIED="1147892585053" TEXT="This is for suggests with table and field (which are treated as links). This indicate the field from the linked table (not UOID, as for normal links)"/>
-</node>
-<node COLOR="#338800" CREATED="1148022270627" ID="Freemind_Link_1441214384" MODIFIED="1148022275836" TEXT="update-type">
-<node CREATED="1148022335188" ID="Freemind_Link_1216928964" MODIFIED="1148022365835" TEXT="This is for suggests with table and field (which are treated as links). This indicate the type of the field."/>
-</node>
-<node COLOR="#338800" CREATED="1149842829708" ID="Freemind_Link_1252347233" MODIFIED="1149842834400" TEXT="on-change">
-<node CREATED="1149842835258" ID="Freemind_Link_31275602" MODIFIED="1149842837412" TEXT="used in custom descriptions, to set some javascript code to be run on the onChange event of this input field"/>
-</node>
-<node COLOR="#006699" CREATED="1146162187906" ID="Freemind_Link_1526361888" MODIFIED="1146209114409" TEXT="suggest?">
-<arrowlink DESTINATION="Freemind_Link_1652245774" ENDARROW="Default" ENDINCLINATION="577;0;" ID="Freemind_Arrow_Link_1231537622" STARTARROW="None" STARTINCLINATION="577;0;"/>
-</node>
-<node COLOR="#006699" CREATED="1146162191409" ID="Freemind_Link_427689857" MODIFIED="1146209056661" TEXT="case?">
-<arrowlink DESTINATION="Freemind_Link_1608171911" ENDARROW="Default" ENDINCLINATION="522;0;" ID="Freemind_Arrow_Link_815930424" STARTARROW="None" STARTINCLINATION="522;0;"/>
-</node>
-</node>
-<node COLOR="#669900" CREATED="1176299247500" ID="Freemind_Link_1416691723" MODIFIED="1176299259843" TEXT="if-class">
-<edge WIDTH="thin"/>
-<font NAME="SansSerif" SIZE="12"/>
-<node CREATED="1176299290437" ID="Freemind_Link_1853157634" MODIFIED="1176299315125" TEXT="Class implementing the HideIf interface, to be used in GUI at runtime, determining the visibility of the item"/>
-</node>
-</node>
-<node COLOR="#006699" CREATED="1147794389209" ID="Freemind_Link_1571755097" MODIFIED="1176299356953" TEXT="linked-select*">
-<edge WIDTH="thin"/>
-<font NAME="SansSerif" SIZE="12"/>
-<node CREATED="1147794497133" ID="Freemind_Link_1787378939" MODIFIED="1147794534244" TEXT="selects (in other tables) selects that have a single parameter of this table type"/>
-<node COLOR="#338800" CREATED="1147794555649" ID="Freemind_Link_1483522338" MODIFIED="1147794636270" TEXT="table"/>
-<node COLOR="#338800" CREATED="1147794559560" ID="Freemind_Link_102344980" MODIFIED="1147794636690" TEXT="select"/>
-<node COLOR="#338800" CREATED="1147964187778" ID="Freemind_Link_699947469" MODIFIED="1147964192348" TEXT="params">
-<node CREATED="1147964225920" ID="Freemind_Link_684195332" MODIFIED="1147964249482" TEXT="list of fields in this table in the linked select"/>
-</node>
-</node>
-<node COLOR="#006699" CREATED="1147794417833" FOLDED="true" ID="Freemind_Link_1157842338" MODIFIED="1176299356968" TEXT="more-linked-select*">
-<node CREATED="1147794541683" ID="Freemind_Link_16961475" MODIFIED="1147964216913" TEXT="selects (in other tables) selects that have more than one parameter and one is of this table type"/>
-<node COLOR="#338800" CREATED="1147794562530" ID="Freemind_Link_1463003655" MODIFIED="1147794634983" TEXT="table"/>
-<node COLOR="#338800" CREATED="1147794564535" ID="Freemind_Link_933871068" MODIFIED="1147794633231" TEXT="select"/>
-<node COLOR="#338800" CREATED="1147964195615" ID="Freemind_Link_515306417" MODIFIED="1147964198608" TEXT="params">
-<node CREATED="1147964257300" ID="Freemind_Link_145572475" MODIFIED="1147964258360" TEXT="list of fields in this table in the linked select"/>
-</node>
-</node>
-<node COLOR="#006699" CREATED="1149876546525" ID="Freemind_Link_577114928" MODIFIED="1176299356968" TEXT="reference-field">
-<node COLOR="#338800" CREATED="1149876555196" ID="Freemind_Link_256134412" MODIFIED="1149876557817" TEXT="name"/>
-</node>
-<node COLOR="#006699" CREATED="1149876559631" ID="Freemind_Link_1878062989" MODIFIED="1176299374875" TEXT="description-field">
-<node CREATED="1149876567827" ID="Freemind_Link_1390034831" MODIFIED="1149876569788" TEXT="name"/>
-</node>
-<node COLOR="#006699" CREATED="1176299129593" FOLDED="true" ID="Freemind_Link_506976591" MODIFIED="1176299601265" TEXT="hide">
-<arrowlink DESTINATION="Freemind_Link_1002121865" ENDARROW="Default" ENDINCLINATION="468;0;" ID="Freemind_Arrow_Link_1555680342" STARTARROW="None" STARTINCLINATION="468;0;"/>
-<arrowlink DESTINATION="Freemind_Link_1059193234" ENDARROW="Default" ENDINCLINATION="363;0;" ID="Freemind_Arrow_Link_1423067910" STARTARROW="None" STARTINCLINATION="363;0;"/>
-<arrowlink DESTINATION="Freemind_Link_117618858" ENDARROW="Default" ENDINCLINATION="362;0;" ID="Freemind_Arrow_Link_340993874" STARTARROW="None" STARTINCLINATION="362;0;"/>
-<arrowlink DESTINATION="Freemind_Link_1615050645" ENDARROW="Default" ENDINCLINATION="801;0;" ID="Freemind_Arrow_Link_514689278" STARTARROW="None" STARTINCLINATION="801;0;"/>
-<arrowlink DESTINATION="Freemind_Link_1281880686" ENDARROW="Default" ENDINCLINATION="769;0;" ID="Freemind_Arrow_Link_1920453520" STARTARROW="None" STARTINCLINATION="769;0;"/>
-<node CREATED="1176299199984" ID="Freemind_Link_1291449497" MODIFIED="1176299308984" TEXT="hide item in GUI depending on a class?"/>
-<node COLOR="#669900" CREATED="1176299638109" ID="Freemind_Link_1311879963" MODIFIED="1176299642546" TEXT="if class">
-<node CREATED="1176299648406" ID="Freemind_Link_1064298642" MODIFIED="1176299695031" TEXT="Class implementing the HideIf interface, to be used in GUI at runtime, determining the visibility of the item"/>
-</node>
-</node>
-<node COLOR="#006699" CREATED="1180458411313" ID="Freemind_Link_1209181793" MODIFIED="1180458415800" TEXT="data-filter">
-<node CREATED="1180458494229" ID="Freemind_Link_1113252348" MODIFIED="1180458653149" TEXT="Comma separated list of filter names. These are filters which are applied to all the selectors."/>
-</node>
-</node>
-</node>
-</map>
Deleted: trunk/src/site/old-docs/src/wiki/GuiCustomTable.wiki
===================================================================
--- trunk/src/site/old-docs/src/wiki/GuiCustomTable.wiki 2007-08-08 07:59:55 UTC (rev 26)
+++ trunk/src/site/old-docs/src/wiki/GuiCustomTable.wiki 2007-08-10 11:41:58 UTC (rev 27)
@@ -1,20 +0,0 @@
-!How to customize the GUI for a table or other form.
-
-~~__CAREFUL !__ This page indicates intended behaviour, not existing behaviour~~
-
-equanda automatically generates a gui for each table which is created using equanda.
-
-This table contains all the fields for the table using a basic layout.
-However, in some cases this layout may need some fine-tuning,
-or you want specialized versions of a table which don't display all the fields,
-or which also include data from other (linked) tables.
-
-The page layout is generated in the directory {code}forms/generated{code}
-
-However, these files can be replaced by a different (custom) file, by including a file with the same name in the
-{code}forms{code} directory.
-
-The possible structure for these files is described in [GuiPageStructure].
-
------
-$Id: GuiCustomTable.wiki 638 2004-08-12 15:15:03Z triathlon98 $
\ No newline at end of file
Deleted: trunk/src/site/old-docs/src/wiki/GuiPageAction.wiki
===================================================================
--- trunk/src/site/old-docs/src/wiki/GuiPageAction.wiki 2007-08-08 07:59:55 UTC (rev 26)
+++ trunk/src/site/old-docs/src/wiki/GuiPageAction.wiki 2007-08-10 11:41:58 UTC (rev 27)
@@ -1,21 +0,0 @@
-!Possible contents of an action
-
-~~__CAREFUL !__ This page indicates intended behaviour, not existing behaviour~~
-
-
-We need information like this:
-{code}
-<action name="ActionName" table="TableName">
-</action>
-{code}
-
-(The type of suggest allowed here are specified in equanda.dtd.)
-
-!Behaviour:
-An action could be represented as a link/button, opening another window or popup, asking for the parameters of this action.
-Depending on the return type, when the parameters are filled correctly the action window should show a result or return to the edit page / or select page.
-(we currently show the actions in the select pages).
-
-
------
-$Id: GuiPageAction.wiki 650 2004-08-16 15:47:45Z cabnetrom $
\ No newline at end of file
Deleted: trunk/src/site/old-docs/src/wiki/GuiPageField.wiki
===================================================================
--- trunk/src/site/old-docs/src/wiki/GuiPageField.wiki 2007-08-08 07:59:55 UTC (rev 26)
+++ trunk/src/site/old-docs/src/wiki/GuiPageField.wiki 2007-08-10 11:41:58 UTC (rev 27)
@@ -1,25 +0,0 @@
-!Page contents : fields
-
-~~__CAREFUL !__ This page indicates intended behaviour, not existing behaviour~~
-
-The code to include a field is extremely simple.
-
-The form already indicates the table for the field.
-More than one form can be combined on a page if fields from more than one table need to be combined.
-
-All the information which is necessary to display/edit a fom is already specified in the field definition,
-so all that is needed is the field name.
-
-There are two possible modifications for the field
-- whether it is editable or view only
-- whether the label needs to be included or not.
-
-{code}
-<field name="FieldName" editable="true"/>
-<field name="AnotherField" editable="false"/>
-{code}
-
-Obviously, the default value for "editable" is "true".
-
------
-$Id: GuiPageField.wiki 642 2004-08-13 09:01:21Z triathlon98 $
\ No newline at end of file
Deleted: trunk/src/site/old-docs/src/wiki/GuiPageFinder.wiki
===================================================================
--- trunk/src/site/old-docs/src/wiki/GuiPageFinder.wiki 2007-08-08 07:59:55 UTC (rev 26)
+++ trunk/src/site/old-docs/src/wiki/GuiPageFinder.wiki 2007-08-10 11:41:58 UTC (rev 27)
@@ -1,17 +0,0 @@
-!Possible contents of a finder
-~~__CAREFUL !__ This page indicates intended behaviour, not existing behaviour~~
-
-{code}
-<finder name="FinderName" table="TableName"/>
-{code}
-
-!Behaviour:
-The finder may be a link/button, leading to a form which asks for selection fields for that finder.
-When these values are correctly field, the result should show this form again but also the results.(1 record or many records)
-The results show field values + links to things that can be done to the record (actions, edit, clone, remove).
-
-If there is one result, each field value is on one line.
-If there are many results, there is a sort of a table, each record is shown on one line. If there are more records in the results then a certain value, there should be possible to split them in pages, and navigate with [previous] / [next] buttons.
-
------
-$Id: GuiPageFinder.wiki 650 2004-08-16 15:47:45Z cabnetrom $
\ No newline at end of file
Deleted: trunk/src/site/old-docs/src/wiki/GuiPageForm.wiki
===================================================================
--- trunk/src/site/old-docs/src/wiki/GuiPageForm.wiki 2007-08-08 07:59:55 UTC (rev 26)
+++ trunk/src/site/old-docs/src/wiki/GuiPageForm.wiki 2007-08-10 11:41:58 UTC (rev 27)
@@ -1,7 +0,0 @@
-!Possible contents of a page
-
-~~__CAREFUL !__ This page indicates intended behaviour, not existing behaviour~~
-
-
------
-$Id: GuiPageForm.wiki 638 2004-08-12 15...
[truncated message content] |
|
From: <tri...@us...> - 2007-08-08 07:59:59
|
Revision: 26
http://equanda.svn.sourceforge.net/equanda/?rev=26&view=rev
Author: triathlon98
Date: 2007-08-08 00:59:55 -0700 (Wed, 08 Aug 2007)
Log Message:
-----------
do validation late enough to allow field templates to do their thing
Modified Paths:
--------------
trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMField.java
trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMSelection.java
Modified: trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMField.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMField.java 2007-08-07 16:30:28 UTC (rev 25)
+++ trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMField.java 2007-08-08 07:59:55 UTC (rev 26)
@@ -1551,40 +1551,6 @@
*/
public void parseTemplates()
{
- if ( type == TYPE_LINK )
- {
- // it could well be that this is actually a type template, not a table
- if ( Character.isLowerCase( linkTableName.charAt( 0 ) ) )
- {
- // complex type, use that
- boolean found = false;
- Node node = this.getParentNode();
- while ( !( node instanceof OMEquanda ) ) node = node.getParentNode();
- NodeList nl = node.getNodesByTagName( "type" );
- for ( int i = 0; i < nl.getLength() ; i++ )
- {
- OMType omType = (OMType) nl.item( i );
- if ( equandaType.equals( omType.getName() ) )
- {
- found = true;
- this.type = omType.getType();
- equandaType = omType.getEquandaType();
- if ( this.type == TYPE_LINK ) linkTableName = equandaType;
- if ( renderer == null ) renderer = omType.getRenderer();
- if ( length == 0 ) length = omType.getFieldLength();
- if ( displayLength == 0 ) displayLength = omType.getDisplayLength();
- // @todo we need more from the template here, like all constraints etc
- }
- }
- if ( !found )
- {
- throw new XMLTreeException( XMLTreeException.NOT_SUPPORTED_ERR, "Field " + getParentName() +
- '.' + this.name + " type " +
- linkTableName + " unknown" );
- }
- }
- }
-
// do some basic validation, only done at this point because base type replacement needs to be done
doValidation();
@@ -1834,8 +1800,47 @@
}
}
- private boolean doValidation()
+ public void convertFieldTemplate()
{
+ if ( type == TYPE_LINK )
+ {
+ // it could well be that this is actually a type template, not a table
+ if ( Character.isLowerCase( linkTableName.charAt( 0 ) ) )
+ {
+ // complex type, use that
+ boolean found = false;
+ Node node = this.getParentNode();
+ while ( !( node instanceof OMEquanda ) ) node = node.getParentNode();
+ NodeList nl = node.getNodesByTagName( "type" );
+ for ( int i = 0; i < nl.getLength() ; i++ )
+ {
+ OMType omType = (OMType) nl.item( i );
+ if ( equandaType.equals( omType.getName() ) )
+ {
+ found = true;
+ this.type = omType.getType();
+ equandaType = omType.getEquandaType();
+ if ( this.type == TYPE_LINK ) linkTableName = equandaType;
+ if ( renderer == null ) renderer = omType.getRenderer();
+ if ( length == 0 ) length = omType.getFieldLength();
+ if ( displayLength == 0 ) displayLength = omType.getDisplayLength();
+ // @todo we need more from the template here, like all constraints etc
+ }
+ }
+ if ( !found )
+ {
+ throw new XMLTreeException( XMLTreeException.NOT_SUPPORTED_ERR, "Field " + getParentName() +
+ '.' + this.name + " type " +
+ linkTableName + " unknown" );
+ }
+ }
+ }
+ }
+
+ public boolean doValidation()
+ {
+ convertFieldTemplate();
+
if ( caseConversionType != CaseConversionType.NONE )
{
if ( !isString() ) return err( "is not string so it cannot have case" );
Modified: trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMSelection.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMSelection.java 2007-08-07 16:30:28 UTC (rev 25)
+++ trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMSelection.java 2007-08-08 07:59:55 UTC (rev 26)
@@ -250,10 +250,7 @@
}
if ( table == null )
{
- gen.setFailed( true );
- SaveException.error( "Selection in " + parentTable.getName() + "." + select.getName() + " - table " +
- this.table +
- " not found in selection" );
+ err( "table " + this.table + " not found in selection" );
return null;
}
@@ -274,48 +271,10 @@
String tn = "";
if ( table instanceof OMTable ) tn = ( (OMTable) table ).getName();
if ( table instanceof OMRootTable ) tn = ( (OMRootTable) table ).getName();
- gen.setFailed( true );
- SaveException.error( "Selection in " + parentTable.getName() + "." + select.getName() +
- " - selection field " +
- field +
- " not found in " +
- tn );
+ err( "selection field " + field + " not found in " + tn );
return null;
}
- if ( omField.isLink() && !test.toLowerCase().equals( "is null" ) &&
- !test.toLowerCase().equals( "is not null" ) )
- {
- gen.setFailed( true );
- SaveException.error( "Selection in " + parentTable.getName() + "." + select.getName() + " - " +
- omField.name +
- " is link so it can only be used with test=\"is (not) null\"" );
- }
- if ( omField.isCalculated() )
- {
- gen.setFailed( true );
- SaveException.error( "Selection in " + parentTable.getName() + "." + select.getName() + " - " +
- omField.name +
- " is calculated so it cannot be used as selection field" );
- }
- if ( omField.isInt() || omField.isDouble() || omField.isBoolean() )
- {
- if ( test.equals( "is null" ) || test.equals( "is not null" ) )
- {
- gen.setFailed( true );
- SaveException.error( "Selection in " + parentTable.getName() + "." + select.getName() + " - " +
- omField.name +
- " cannot be use as selection with test " +
- test );
- }
- }
- if ( omField.isBlob() )
- {
- gen.setFailed( true );
- SaveException.error( "Selection in " + parentTable.getName() + "." + select.getName() + " - " +
- omField.name +
- " is of type Blob so it cannot be used as selection" );
- }
return omField;
}
@@ -399,9 +358,7 @@
field = root.getField( fieldNameTransformed );
if ( field == null )
{
- gen.setFailed( true );
- SaveException.error( parentTable.getName() + "." + select.getName() + " - field " +
- fieldName + " given as path was not found" );
+ err( "field " + fieldName + " given as path was not found" );
return null;
}
@@ -489,9 +446,7 @@
if ( attr.getValue( "path" ) != null )
{
- gen.setFailed( true );
- SaveException.error( "Selection in " + parentTable.getName() + "." + select.getName() +
- " - suggest for selections may not have path" );
+ return err( "suggest for selections may not have path" );
}
boolean tableAndFieldSuggest = ( attr.getValue( "table" ) != null ) &&
@@ -500,16 +455,12 @@
if ( ( attr.getValue( "table" ) != null && !tableAndFieldSuggest ) ||
( attr.getValue( "field" ) != null && !tableAndFieldSuggest ) )
{
- gen.setFailed( true );
- SaveException.error( "Selection in " + parentTable.getName() + "." + select.getName() +
- " - suggest for selection should have both field and table, or none" );
+ return err( "suggest for selection should have both field and table, or none" );
}
if ( tableAndFieldSuggest && valueSuggest )
{
- gen.setFailed( true );
- SaveException.error( "Selection in " + parentTable.getName() + "." + select.getName() +
- " - suggest for selection may not have both table + field and value/value-list " );
+ return err( "suggest for selection may not have both table + field and value/value-list " );
}
String value = null;
@@ -579,8 +530,41 @@
if ( field != null ) this.varName = field.getVarName();
}
+ private boolean doValidation()
+ {
+ getField();
+ omField.doValidation(); // assures field templates are parsed
+
+ if ( omField.isLink() && !test.toLowerCase().equals( "is null" ) &&
+ !test.toLowerCase().equals( "is not null" ) )
+ {
+ return err( omField.name + " is link so it can only be used with test=\"is (not) null\"" );
+ }
+ if ( omField.isCalculated() )
+ {
+ return err( omField.name + " is calculated so it cannot be used as selection field" );
+ }
+ if ( omField.isBlob() ) return err( omField.name + " is of type Blob so it cannot be used as selection" );
+ if ( omField.isInt() || omField.isDouble() || omField.isBoolean() )
+ {
+ if ( test.equals( "is null" ) || test.equals( "is not null" ) )
+ {
+ return err( omField.name + " cannot be use as selection with test " + test );
+ }
+ }
+ return true;
+ }
+
+ private boolean err( String msg )
+ {
+ gen.setFailed( true );
+ SaveException.error( "Selection in " + parentTable.getName() + "." + select.getName() + ' ' + msg );
+ return false;
+ }
+
public void parseTemplates()
{
+ doValidation();
if ( hasSuggest() )
{
if ( getSuggest().isFieldWithTable() )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-07 16:31:19
|
Revision: 25
http://equanda.svn.sourceforge.net/equanda/?rev=25&view=rev
Author: triathlon98
Date: 2007-08-07 09:30:28 -0700 (Tue, 07 Aug 2007)
Log Message:
-----------
simplify code
Modified Paths:
--------------
trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMField.java
trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java
Modified: trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMField.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMField.java 2007-08-07 15:11:41 UTC (rev 24)
+++ trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMField.java 2007-08-07 16:30:28 UTC (rev 25)
@@ -337,18 +337,11 @@
// check if it's int, double, blob, clob
if ( getFieldType() == ( TYPE_INT ) )
{
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " is of type int, so it can't be multiple!" );
- return false;
+ return err( "is of type int, so it can't be multiple!" );
}
if ( getFieldType() == ( TYPE_DOUBLE ) )
{
- gen.setFailed( true );
- SaveException.error( "Field " +
- table.getName() + '.' + this.name +
- " is of type double, so it can't be multiple!" );
- return false;
+ return err( "is of type double, so it can't be multiple!" );
}
multiple = true;
}
@@ -357,10 +350,7 @@
// check if is link
if ( type != TYPE_LINK )
{
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " is not of type link, so it can't be the owner!" );
- return false;
+ return err( "is not of type link, so it can't be the owner!" );
}
owner = true;
}
@@ -387,9 +377,7 @@
{
if ( !cloneable )
{
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " is not cloneable, so it can't be immutable!" );
+ return err( "is not cloneable, so it can't be immutable!" );
}
immutable = true;
required = true;
@@ -407,10 +395,7 @@
String when = null;
if ( attr.getValue( "field" ) == null )
{
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " mutable-even-if: field is required" );
- return false;
+ return err( "mutable-even-if: field is required" );
}
field = attr.getValue( "field" ).toString();
if ( attr.getValue( "when" ) != null )
@@ -424,10 +409,7 @@
{
if ( type == TYPE_LINK )
{
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " is link so it cannot have default" );
- return false;
+ return err( "is link so it cannot have default" );
}
if ( attr.getValue( "type" ) != null )
{
@@ -446,9 +428,7 @@
if ( attr.getValue( "path" ) != null )
{
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " - suggest for fields may not have path" );
+ err( "suggest for fields may not have path" );
}
boolean tableAndFieldSuggest = ( attr.getValue( "table" ) != null ) &&
@@ -457,16 +437,12 @@
if ( ( attr.getValue( "table" ) != null && !tableAndFieldSuggest ) ||
( attr.getValue( "field" ) != null && !tableAndFieldSuggest ) )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " - suggest for fields should have both field and table, or none" );
+ err( "suggest for fields should have both field and table, or none" );
}
if ( tableAndFieldSuggest && valueSuggest )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " - suggest for fields may not have both table + field and value/value-list " );
+ err( "suggest for fields may not have both table + field and value/value-list " );
}
String field = null;
@@ -501,23 +477,12 @@
}
else if ( tag.equals( "not-cloneable" ) )
{
- if ( immutable )
- {
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " is immutable so it has to be cloneable as well!" );
- }
+ if ( immutable ) return err( "is immutable so it has to be cloneable as well!" );
cloneable = false;
}
else if ( tag.equals( "cloneable" ) )
{
- if ( calculated )
- {
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name +
- " is calculated so it has to be cloneable as well!" );
- }
+ if ( calculated ) return err( "is calculated so it has to be cloneable as well!" );
cloneable = true;
}
else if ( tag.equals( "auto" ) )
@@ -527,25 +492,13 @@
}
else if ( tag.equals( "calculated" ) )
{
- if ( hasChoice() )
- {
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " has choices so it can not be calculated" );
- return false;
- }
+ if ( hasChoice() ) return err( "has choices so it can not be calculated" );
calculated = true;
cloneable = false;
}
else if ( tag.equals( "value-include" ) )
{
- if ( !isLink() )
- {
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " is not link so it cannot be value-include" );
- return false;
- }
+ if ( !isLink() ) return err( "is not link so it cannot be value-include" );
valueInclude = true;
}
else if ( tag.equals( "value-exclude" ) )
@@ -554,66 +507,30 @@
}
else if ( tag.equals( "embedded" ) )
{
- if ( !isLink() )
- {
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " is not a link so it cannot be embedded" );
- return false;
- }
+ if ( !isLink() ) return err( "is not a link so it cannot be embedded" );
embedded = true;
cascadeDelete = true;
}
else if ( tag.equals( "cascade-delete" ) )
{
- if ( !isLink() )
- {
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " is not link so it cannot be cascade-delete" );
- return false;
- }
+ if ( !isLink() ) return err( "is not link so it cannot be cascade-delete" );
cascadeDelete = true;
}
else if ( tag.equals( "cascade-keep" ) )
{
- if ( !isLink() )
- {
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " is not link so it cannot be cascade-keep" );
- return false;
- }
+ if ( !isLink() ) return err( "is not link so it cannot be cascade-keep" );
cascadeKeep = true;
}
else if ( tag.equals( "allow-delete" ) )
{
- if ( !isLink() )
- {
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " is not link so it cannot be allow-delete" );
- return false;
- }
+ if ( !isLink() ) return err( "is not link so it cannot be allow-delete" );
allowDelete = true;
allowDeleteSpecified = true;
}
else if ( tag.equals( "use-relation-table" ) )
{
- if ( !isLink() )
- {
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " is not link, so it cannot have use-relation-table!" );
- return false;
- }
- if ( isMultiple() )
- {
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " is multiple, so it cannot have use-relation-table!" );
- return false;
- }
+ if ( !isLink() ) return err( "is not link, so it cannot have use-relation-table!" );
+ if ( isMultiple() ) return err( "is multiple, so it cannot have use-relation-table!" );
useRelationTable = true;
}
else if ( tag.equals( "constraints" ) )
@@ -641,24 +558,12 @@
}
else if ( tag.equals( "is-reference" ) )
{
- if ( isBlob() || isClob() )
- {
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " is lob so it cannot be reference!" );
-
- }
+ if ( isBlob() || isClob() ) return err( "is lob so it cannot be reference!" );
fieldReference = true;
}
else if ( tag.equals( "is-description" ) )
{
- if ( isBlob() )
- {
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " is blob so it cannot be description!" );
-
- }
+ if ( isBlob() ) return err( "is blob so it cannot be description!" );
fieldDescription = true;
}
else if ( tag.equals( "no-hide" ) )
@@ -667,18 +572,8 @@
}
else if ( tag.equals( "display" ) )
{
- if ( internal )
- {
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " is internal so it cannot be displayed!" );
- }
- if ( valueExclude )
- {
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " is value-exclude so it cannot be displayed!" );
- }
+ if ( internal ) return err( "is internal so it cannot be displayed!" );
+ if ( valueExclude ) return err( "is value-exclude so it cannot be displayed!" );
display = true;
}
else if ( tag.equals( "no-display" ) )
@@ -692,18 +587,8 @@
else if ( tag.equals( "ws-value" ) )
{
// clear possible default, rest is accepted as String, but only for linked field
- if ( type != TYPE_LINK )
- {
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " - ws-value only allowed for linked fields" );
- }
- if ( isValueInclude() )
- {
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " is value-include so it can not be ws-value" );
- }
+ if ( type != TYPE_LINK ) return err( "ws-value only allowed for linked fields" );
+ if ( isValueInclude() ) return err( "is value-include so it can not be ws-value" );
wsValue = "";
inTag = TAG_WS_VALUE;
}
@@ -716,38 +601,14 @@
else if ( tag.equals( "value-when-null" ) )
{
// check if it's multiple, auto, calculated
- if ( multiple )
- {
- gen.setFailed( true );
- SaveException.error( "Field " +
- table.getName() + '.' + this.name +
- " is multiple so it can not have value-when-null constraints" );
- return false;
- }
- if ( auto )
- {
- gen.setFailed( true );
- SaveException.error( "Field " +
- table.getName() + '.' + this.name +
- " is auto so it can not have value-when-null constraints" );
- return false;
- }
- if ( calculated )
- {
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " is calculated so it can not have value-when-null constraints" );
- return false;
- }
+ if ( multiple ) return err( "is multiple so it can not have value-when-null constraints" );
+ if ( auto ) return err( "is auto so it can not have value-when-null constraints" );
+ if ( calculated ) return err( "is calculated so it can not have value-when-null constraints" );
// check type: it only makes sense for string, date, timestamp, link
if ( ( type != TYPE_STRING ) && ( type != TYPE_TIMESTAMP ) && ( type != TYPE_DATE ) &&
( type != TYPE_LINK ) )
{
- gen.setFailed( true );
- SaveException.error( "Field " +
- table.getName() + '.' + this.name +
- " - value-when-null only allowed for string, date and timestamp" );
- return false;
+ return err( "value-when-null only allowed for string, date and timestamp" );
}
if ( attr.getValue( "field" ) != null )
@@ -762,54 +623,22 @@
// check if field is the same as current
if ( ( delegatePath == null ) && ( name.equals( attr.getValue( "field" ) ) ) )
{
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " - delegated field must be a different field" );
- return false;
+ return err( "delegated field must be a different field" );
}
- if ( valueWhenNull )
- {
- gen.setFailed( true );
- SaveException.error( "Field " +
- table.getName() + '.' + this.name +
- " - only one value-when-null constraint is allowed per field" );
- return false;
- }
+ if ( valueWhenNull ) return err( "only one value-when-null constraint is allowed per field" );
valueWhenNull = true;
}
else if ( tag.equals( "value-when-zero" ) )
{
// check if it's multiple, auto, calculated
- if ( multiple )
- {
- gen.setFailed( true );
- SaveException.error( "Field " +
- table.getName() + '.' + this.name +
- " is multiple so it can not have value-when-zero constraints" );
- return false;
- }
- if ( auto )
- {
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " is auto so it can not have value-when-zero constraints" );
- return false;
- }
- if ( calculated )
- {
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " is calculated so it can not have value-when-zero constraints" );
- return false;
- }
+ if ( multiple ) return err( "is multiple so it can not have value-when-zero constraints" );
+ if ( auto ) return err( "is auto so it can not have value-when-zero constraints" );
+ if ( calculated ) return err( " is calculated so it can not have value-when-zero constraints" );
// check type: it only makes sense for int and double and boolean
if ( ( type != TYPE_INT ) && ( type != TYPE_DOUBLE ) && ( type != TYPE_BOOLEAN ) )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " - value-when-zero only allowed for int and double and boolean" );
- return false;
+ return err( "value-when-zero only allowed for int and double and boolean" );
}
if ( attr.getValue( "field" ) != null )
@@ -824,32 +653,15 @@
// check if field is the same as current
if ( ( delegatePath == null ) && ( name.equals( attr.getValue( "field" ) ) ) )
{
- gen.setFailed( true );
- SaveException.error( "Field " +
- table.getName() + '.' + this.name +
- " - delegated field must be a different field" );
- return false;
+ return err( "delegated field must be a different field" );
}
- if ( valueWhenZero )
- {
- gen.setFailed( true );
- SaveException.error( "Field " +
- table.getName() + '.' + this.name +
- " - only one value-when-zero constraint is allowed per field" );
- return false;
- }
+ if ( valueWhenZero ) return err( "only one value-when-zero constraint is allowed per field" );
valueWhenZero = true;
}
else if ( tag.equals( "compare" ) )
{
- if ( attr.getValue( "value" ) == null )
- {
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " value expected for compare at field level" );
- return false;
- }
+ if ( attr.getValue( "value" ) == null ) return err( "value expected for compare at field level" );
addCompare( attr, true );
}
else if ( tag.equals( "security-role" ) )
@@ -858,26 +670,12 @@
}
else if ( tag.equals( "other-side-single" ) )
{
- if ( type != TYPE_LINK )
- {
- gen.setFailed( true );
- SaveException.error( "Field " +
- table.getName() + '.' + this.name +
- " - other-side-single can only be used for link fields" );
- return false;
- }
+ if ( type != TYPE_LINK ) return err( "other-side-single can only be used for link fields" );
otherSideMultiplicity = OTHER_SIDE_SINGLE;
}
else if ( tag.equals( "other-side-multiple" ) )
{
- if ( type != TYPE_LINK )
- {
- gen.setFailed( true );
- SaveException.error( "Field " +
- table.getName() + '.' + this.name +
- " - other-side-multiple can only be used for link fields" );
- return false;
- }
+ if ( type != TYPE_LINK ) return err( "other-side-multiple can only be used for link fields" );
otherSideMultiplicity = OTHER_SIDE_MULTIPLE;
}
else if ( tag.equals( "description" ) )
@@ -888,17 +686,11 @@
{
if ( attr.getValue( "value" ) == null && attr.getValue( "class" ) == null )
{
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " has case but value and class are both null" );
- return false;
+ return err( "has case but value and class are both null" );
}
if ( attr.getValue( "value" ) != null && attr.getValue( "class" ) != null )
{
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " has case but value and class are both set" );
- return false;
+ return err( "has case but value and class are both set" );
}
if ( attr.getValue( "value" ) != null )
{
@@ -907,10 +699,7 @@
if ( !caseConversion.equals( "upper" ) && !caseConversion.equals( "lower" ) &&
!caseConversion.equals( "mixed" ) )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- "- case value should be one of \"upper\", \"lower\", \"mixed\"" );
- return false;
+ return err( "case value should be one of \"upper\", \"lower\", \"mixed\"" );
}
}
else
@@ -931,13 +720,7 @@
{
if ( tag.equals( "choice" ) )
{
- if ( isBlob() || isClob() )
- {
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " is of type LOB so it cannot have choices!" );
- return false;
- }
+ if ( isBlob() || isClob() ) return err( "is of type LOB so it cannot have choices!" );
}
return super.canAppendChild( tag, attr );
}
@@ -947,28 +730,9 @@
boolean addCompare( Attributes attr, boolean fieldLevel )
{
// check if it's multiple, auto, compared
- if ( multiple )
- {
- gen.setFailed( true );
- SaveException.error( "Field " +
- table.getName() + '.' + this.name +
- " is multiple so it can not have compare constraints" );
- return false;
- }
- if ( auto )
- {
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " is auto so it can not have compare constraints" );
- return false;
- }
- if ( calculated )
- {
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " is calculated so it can not have compare constraints" );
- return false;
- }
+ if ( multiple ) return err( "is multiple so it can not have compare constraints" );
+ if ( auto ) return err( "is auto so it can not have compare constraints" );
+ if ( calculated ) return err( "is calculated so it can not have compare constraints" );
// check if test is valid
if ( ( !attr.getValue( "test" ).equals( "=" ) ) &&
( !attr.getValue( "test" ).equals( "!=" ) ) &&
@@ -977,11 +741,7 @@
( !attr.getValue( "test" ).equals( "<=" ) ) &&
( !attr.getValue( "test" ).equals( ">=" ) ) )
{
- gen.setFailed( true );
- SaveException.error( "Field " +
- table.getName() + '.' + this.name + " - invalid value for test (" + attr.getValue(
- "test" ) + ')' );
- return false;
+ return err( "invalid value for test (" + attr.getValue( "test" ) + ')' );
}
// check if combination of types (field and value) is valid
DateTimeFormatter df = DateTimeFormat.forPattern( "yyyy-MM-dd HH:mm:ss" );
@@ -996,21 +756,12 @@
if ( ( !attr.getValue( "value" ).equals( "true" ) ) &&
( !attr.getValue( "value" ).equals( "false" ) ) )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " - value for compare is not boolean (" +
- attr.getValue( "value" ) +
- ')' );
- return false;
+ return err( "value for compare is not boolean (" + attr.getValue( "value" ) + ')' );
}
// check test...
if ( ( !attr.getValue( "test" ).equals( "=" ) ) && ( !attr.getValue( "test" ).equals( "!=" ) ) )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name + " - test for compare " +
- attr.getValue( "test" ) +
- " does not work for boolean" );
- return false;
+ return err( "test for compare " + attr.getValue( "test" ) + " does not work for boolean" );
}
break;
case TYPE_DATE:
@@ -1038,11 +789,8 @@
}
catch ( Exception e )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name + " - value (" +
- attr.getValue( "value" ) +
- ") does not match pattern for date (yyyy-MM-dd HH:mm:ss)" );
- return false;
+ return err( "value (" + attr.getValue( "value" ) +
+ ") does not match pattern for date (yyyy-MM-dd HH:mm:ss)" );
}
}
break;
@@ -1062,12 +810,8 @@
}
catch ( Exception e )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " - value for compare (" +
- attr.getValue( "value" ) +
- ") does not match pattern for timestamp (yyyy-MM-dd HH:mm:ss)" );
- return false;
+ return err( "value for compare (" + attr.getValue( "value" ) +
+ ") does not match pattern for timestamp (yyyy-MM-dd HH:mm:ss)" );
}
}
break;
@@ -1078,12 +822,7 @@
}
catch ( NumberFormatException e )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " - value for compare is not an integer (" +
- attr.getValue( "value" ) +
- ')' );
- return false;
+ return err( "value for compare is not an integer (" + attr.getValue( "value" ) + ')' );
}
break;
case TYPE_DOUBLE:
@@ -1093,19 +832,11 @@
}
catch ( NumberFormatException e )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " - value for compare is not a double (" +
- attr.getValue( "value" ) +
- ')' );
- return false;
+ return err( "value for compare is not a double (" + attr.getValue( "value" ) + ')' );
}
break;
default:
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- "- compare works only on string, int, timestamp, date, double and boolean" );
- return false;
+ return err( "compare works only on string, int, timestamp, date, double and boolean" );
}
}
else
@@ -1116,11 +847,7 @@
//check test...
if ( ( !attr.getValue( "test" ).equals( "=" ) ) && ( !attr.getValue( "test" ).equals( "!=" ) ) )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name + " - test " +
- attr.getValue( "test" ) +
- " does not work for boolean" );
- return false;
+ return err( "test " + attr.getValue( "test" ) + " does not work for boolean" );
}
case TYPE_STRING:
case TYPE_DATE:
@@ -1129,10 +856,7 @@
case TYPE_DOUBLE:
break;
default:
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " - compare works only on string, int, timestamp, date, double and boolean" );
- return false;
+ return err( "compare works only on string, int, timestamp, date, double and boolean" );
}
}
@@ -1583,9 +1307,7 @@
f = getField( delegateField );
if ( f == null )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name
- + " - value-when-null constraint, field " + delegateField + " not found" );
+ err( "value-when-null constraint, field " + delegateField + " not found" );
return null;
}
}
@@ -1594,33 +1316,26 @@
OMField path = getField( delegatePath );
if ( path == null )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name
- + " - value-when-null constraint, field " + delegatePath + " not found" );
+ err( "value-when-null constraint, field " + delegatePath + " not found" );
return null;
}
f = path.linkTable.getField( delegateField );
if ( f == null )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name
- + " - value-when-null constraint, field " + delegateField + " not found" );
+ err( "value-when-null constraint, field " + delegateField + " not found" );
return null;
}
}
if ( f.getFieldType() != type )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name
- + " - value-when-null constraint, field types do not match" );
+ err( "value-when-null constraint, field types do not match" );
+ return null;
}
if ( type == TYPE_LINK )
{
if ( !f.getLinkTable().getName().equals( getLinkTable().getName() ) )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name
- + " - value-when-null constraint, field types do not match" );
+ err( "value-when-null constraint, field types do not match" );
}
}
return delegateField;
@@ -1768,20 +1483,17 @@
public boolean isDefaultValue()
{
- if ( defaultType == null ) return true;
- return defaultType.equals( "value" );
+ return defaultType == null || defaultType.equals( "value" );
}
public boolean isDefaultAuto()
{
- if ( defaultType == null ) return false;
- return defaultType.equals( "auto" );
+ return defaultType != null && defaultType.equals( "auto" );
}
public boolean isDefaultClass()
{
- if ( defaultType == null ) return false;
- return defaultType.equals( "class" );
+ return defaultType != null && defaultType.equals( "class" );
}
public void setInherited( boolean inherited )
@@ -1801,14 +1513,12 @@
public boolean isCaseConversionUpper()
{
- if ( caseConversionType != CaseConversionType.VALUE ) return false;
- return caseConversion.equals( "upper" );
+ return caseConversionType == CaseConversionType.VALUE && caseConversion.equals( "upper" );
}
public boolean isCaseConversionLower()
{
- if ( caseConversionType != CaseConversionType.VALUE ) return false;
- return caseConversion.equals( "lower" );
+ return caseConversionType == CaseConversionType.VALUE && caseConversion.equals( "lower" );
}
public boolean isCaseConversionClass()
@@ -1903,10 +1613,8 @@
{
if ( isRequired() && f.isRequired() )
{
- gen.setFailed( true );
- SaveException.error( "Fields " + table.getName() + '.' + this.name + " and " +
- linkTableName + '.' + f.getName() +
- " are bidirectional links and are both required." );
+ err( "and " + linkTableName + '.' + f.getName() +
+ " are bidirectional links and are both required." );
return;
}
if ( f.linkTableName.equals( tableRootName ) )
@@ -1959,9 +1667,7 @@
}
else
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name + " - link " +
- linkName + " used for two different relations " );
+ err( "link " + linkName + " used for two different relations " );
return;
}
@@ -1969,18 +1675,12 @@
}
if ( links > 1 )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name + " - link " + linkName +
- " is used more than once in table " +
- root.getName() );
+ err( "link " + linkName + " is used more than once in table " + root.getName() );
return;
}
if ( ( links == 1 ) && ( foundOtherSideMultiplicity != otherSideMultiplicity ) )
{
- gen.setFailed( true );
- SaveException.error( "Field " +
- table.getName() + '.' + this.name +
- " - other-side multiplicity for field is not correct" );
+ err( "other-side multiplicity for field is not correct" );
return;
}
@@ -2018,11 +1718,8 @@
{
if ( f.getLinkName().equals( linkName ) )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name + " - link-name " +
- linkName
- + " used for two different relations, also found in table "
- + root.getName() );
+ err( "link-name " + linkName +
+ " used for two different relations, also found in table " + root.getName() );
return;
}
}
@@ -2031,42 +1728,17 @@
}
if ( !found )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name + " has unknown type " +
- linkTableName + " (or is not root)" );
+ err( "has unknown type " + linkTableName + " (or is not root)" );
}
if ( !( bidirectional && otherSideMultiplicity == OTHER_SIDE_MULTIPLE ) && useRelationTable )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " is not a bidirectional 1-N link, so it cannot have use-relation-table" );
+ err( "is not a bidirectional 1-N link, so it cannot have use-relation-table" );
}
- /*
- if ( !bidirectional && cascadeDelete )
- {
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " is not a bidirectional link, so it cannot have cascade-delete" );
- }
- */
- if ( !bidirectional && owner )
- {
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " is not a bidirectional link, so it cannot be the owner" );
- }
- /*if ( bidirectional && embedded && !owner )
- {
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " is not the owner of the link, so it cannot be embedded - (Solution : add the <owner/> tag to the field)" );
- }*/
+ if ( !bidirectional && owner ) err( "is not a bidirectional link, so it cannot be the owner" );
if ( bidirectional && embedded && linkField.isMultiple() )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " is marked as embedded but the other side is multiple" );
+ err( "is marked as embedded but the other side is multiple" );
}
if ( bidirectional && embedded && !linkField.isOwner() && isOwner() )
{
@@ -2079,20 +1751,7 @@
linkField.setOwner( true );
}
}
- if ( hasSuggest() )
- {
- gen.setFailed( true );
- SaveException.error(
- "Field " + table.getName() + '.' + this.name + " is a link and a link cannot have suggest" );
- }
- /*
- if ( multiple && cascadeDelete )
- {
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " is a multiple link, so it cannot have cascade-delete" );
- }
- */
+ if ( hasSuggest() ) err( "is a link and a link cannot have suggest" );
}
if ( hasSuggest() )
{
@@ -2104,21 +1763,15 @@
}
if ( !isString() && ( ( isReference() || isDescription() ) ) )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " is not a string field, so it cannot be a reference or description field" );
+ err("is not a string field, so it cannot be a reference or description field" );
}
if ( isLink() && ( isReference() || isDescription() ) )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " is a link field, so it cannot be a reference or description field" );
+ err("is a link field, so it cannot be a reference or description field" );
}
if ( isCalculated() && ( isReference() || isDescription() ) )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " is a calculated field, so it cannot be a reference or description field" );
+ err("is a calculated field, so it cannot be a reference or description field" );
}
if ( hasMutableEvenIf() )
{
@@ -2132,18 +1785,14 @@
OMField f = root.getField( mi.fieldname );
if ( f == null )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " - mutable-even-if constraint, field " + mi.fieldname + " not found" );
+ err("mutable-even-if constraint, field " + mi.fieldname + " not found" );
}
//@todo does a constraint for a field need to be boolean or not?
//else
//{
// if ( !f.isBoolean() )
// {
- // gen.setFailed( true );
- // SaveException.error( "Table " + table.getName() + " - immutable-if constraint, field " +
- // mi.fieldname + " is not boolean" );
+ // err( "immutable-if constraint, field " + mi.fieldname + " is not boolean" );
// }
else
{
@@ -2166,18 +1815,14 @@
OMField f = root.getField( mi.fieldname );
if ( f == null )
{
- gen.setFailed( true );
- SaveException.error( "Field " + table.getName() + '.' + this.name +
- " - immutable-if constraint, field " + mi.fieldname + " not found" );
+ err("immutable-if constraint, field " + mi.fieldname + " not found" );
}
//@todo does a constraint for a field need to be boolean or not?
//else
//{
// if ( !f.isBoolean() )
// {
- // gen.setFailed( true );
- // SaveException.error( "Table " + table.getName() + " - immutable-if constraint, field " +
- // mi.fieldname + " is not boolean" );
+ // err( "immutable-if constraint, field " + mi.fieldname + " is not boolean" );
// }
else
{
@@ -2235,8 +1880,7 @@
public boolean hasLinkName()
{
- if ( linkName == null ) return false;
- return ( linkName.length() != 0 );
+ return linkName != null && ( linkName.length() != 0 );
}
public boolean isOwner()
@@ -2286,11 +1930,7 @@
public boolean isCascadeKeep()
{
- if ( isRequired() && isBidirectional() && !linkField.isCascadeDelete() )
- {
- return true;
- }
- return cascadeKeep;
+ return isRequired() && isBidirectional() && !linkField.isCascadeDelete() || cascadeKeep;
}
@Deprecated
@@ -2372,99 +2012,6 @@
return priority;
}
- private ArrayList<MutableIf> getImutableIf( OMTable table, boolean parents, boolean children )
- {
- ArrayList<MutableIf> al = new ArrayList<MutableIf>();
- ArrayList constraints;
- try
- {
- if ( parents )
- {
- ArrayList<String> parentTables = table.getParentTables();
- if ( parentTables != null )
- {
- for ( String parentTable : parentTables )
- {
- constraints = getImutableIf( table.getRoot().getTable( parentTable ), true, false );
- if ( constraints != null )
- {
- for ( Object constraint : constraints )
- {
- al.add( (MutableIf) constraint );
- }
- }
- }
- }
- }
- if ( children )
- {
- ArrayList childTables = table.getChildren();
- if ( childTables != null )
- {
- for ( Object childTable : childTables )
- {
- constraints = getImutableIf( ( (OMTable) childTable ), false, true );
- if ( constraints != null )
- {
- for ( Object constraint : constraints )
- {
- al.add( (MutableIf) constraint );
- }
- }
- }
- }
- }
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- }
- if ( table.hasImmutableIf() )
- {
- constraints = table.getImmutableIf();
- if ( constraints != null )
- {
- for ( Object constraint : constraints )
- {
- al.add( (MutableIf) constraint );
- }
- }
- }
- return al;
- }
-
- public ArrayList getImutableIf( OMRootTable rootTable, String tableName )
- {
- ArrayList<MutableIf> al;
- ArrayList<MutableIf> constraints;
- try
- {
- al = new ArrayList<MutableIf>();
- constraints = immutableIf;
- if ( constraints != null )
- {
- for ( MutableIf constraint : constraints )
- {
- al.add( constraint );
- }
- }
- constraints = getImutableIf( table, true, true );
- if ( constraints != null )
- {
- for ( MutableIf constraint : constraints )
- {
- al.add( constraint );
- }
- }
- return al;
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- }
- return null;
- }
-
private String getParentName()
{
if ( parentName != null ) return parentName;
Modified: trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java 2007-08-07 15:11:41 UTC (rev 24)
+++ trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java 2007-08-07 16:30:28 UTC (rev 25)
@@ -191,11 +191,7 @@
}
else if ( name.equals( "type" ) )
{
- if ( value.length() > 4 )
- {
- gen.setFailed( true );
- SaveException.error( "Table " + this.name + " - type invalid, has to be shorter than 4 characters " );
- }
+ if ( value.length() > 4 ) err( "type invalid, has to be shorter than 4 characters " );
this.type = ( value + " " ).substring( 0, 4 );
}
else if ( name.equals( "expected-amount" ) )
@@ -283,46 +279,30 @@
{
if ( attr.getValue( "left" ) == null )
{
- gen.setFailed( true );
- SaveException.error( "Table " + this.name + " - left expected for compare at global level" );
- return false;
+ return err( "left expected for compare at global level" );
}
if ( attr.getValue( "right" ) == null )
{
- gen.setFailed( true );
- SaveException.error( "Table " + this.name + " - right expected for compare at global level" );
- return false;
+ return err( "right expected for compare at global level" );
}
OMField left = getField( attr.getValue( "left" ).toString() );
OMField right = getField( attr.getValue( "right" ).toString() );
if ( left == null )
{
- gen.setFailed( true );
- SaveException.error(
- "Table " + this.name + " - compare constraint, field " + attr.getValue( "left" ) + " not found" );
- return false;
+ return err( "compare constraint, field " + attr.getValue( "left" ) + " not found" );
}
if ( right == null )
{
- gen.setFailed( true );
- SaveException.error(
- "Table " + this.name + " - compare constraint, field " + attr.getValue( "right" ) + " not found" );
- return false;
+ return err( "compare constraint, field " + attr.getValue( "right" ) + " not found" );
}
if ( left.getFieldType() != right.getFieldType() )
{
- gen.setFailed( true );
- SaveException.error( "Table " + this.name + " - compare constraint, fields " + attr.getValue( "left" ) +
- " and " +
- attr.getValue( "right" )
- + " have different types" );
- return false;
+ return err( "compare constraint, fields " + attr.getValue( "left" ) + " and " +
+ attr.getValue( "right" ) + " have different types" );
}
if ( left.isImmutable() )
{
- gen.setFailed( true );
- SaveException.error( "Table " + this.name + " - left field in compare constraint cannot be immutable" );
- return false;
+ return err( "left field in compare constraint cannot be immutable" );
}
return left.addCompare( attr, false );
}
@@ -484,8 +464,7 @@
OMTable template = findTemplate( pName );
if ( template == null )
{
- gen.setFailed( true );
- SaveException.error( "Table " + this.name + " - table template " + pName + " not found" );
+ err( "table template " + pName + " not found" );
}
else
{
@@ -556,12 +535,9 @@
}
else
{
- gen.setFailed( true );
- SaveException.error( "Table " + this.name + " - field " + val.getAttribute( "field" )
- + " not found in <overwrite-default> " );
+ err( "field " + val.getAttribute( "field" ) + " not found in <overwrite-default> " );
}
}
- // @todo
}
// remove template node
Node next = node.getNextSibling();
@@ -595,8 +571,7 @@
}
else if ( tmpRef.isReference() && field.isReference() )
{
- gen.setFailed( true );
- SaveException.error( "Table " + this.name + " cannot have more than one reference field declared" );
+ err( "cannot have more than one reference field declared" );
}
}
if ( field.isDescription() || field.getName().toUpperCase().equals( "DESCRIPTION" ) ||
@@ -612,9 +587,7 @@
}
else if ( tmpDesc.isDescription() && field.isDescription() )
{
- gen.setFailed( true );
- SaveException
- .error( "Table " + this.name + " cannot have more than one description field declared" );
+ err( "cannot have more than one description field declared" );
}
}
}
@@ -661,17 +634,13 @@
OMField f = root.getField( mi.fieldname );
if ( f == null )
{
- gen.setFailed( true );
- SaveException.error(
- "Table " + this.name + " - immutable-if constraint, field " + mi.fieldname + " not found" );
+ err( "immutable-if constraint, field " + mi.fieldname + " not found" );
}
else
{
if ( !f.isBoolean() )
{
- gen.setFailed( true );
- SaveException.error( "Table " + this.name + " - immutable-if constraint, field " +
- mi.fieldname + " is not boolean" );
+ err( "immutable-if constraint, field " + mi.fieldname + " is not boolean" );
}
else
{
@@ -683,6 +652,13 @@
}
}
+ private boolean err( String msg )
+ {
+ gen.setFailed( true );
+ SaveException.error( "Table " + name + ' ' + msg );
+ return false;
+ }
+
private void addOMSelect( OMSelect sel )
{
ArrayList<OMSelect> selects = getSelects();
@@ -805,6 +781,11 @@
*/
public OMRootTable getRoot()
{
+ if ( name.equals( parentTable ) )
+ {
+ err( "parent name is same as table" );
+ return null;
+ }
if ( root == null )
{
if ( parentTable != null )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-07 15:11:42
|
Revision: 24
http://equanda.svn.sourceforge.net/equanda/?rev=24&view=rev
Author: triathlon98
Date: 2007-08-07 08:11:41 -0700 (Tue, 07 Aug 2007)
Log Message:
-----------
1769462 fix equanda.dtd errors
Modified Paths:
--------------
trunk/equanda-generate/src/main/resources/equanda.dtd
Modified: trunk/equanda-generate/src/main/resources/equanda.dtd
===================================================================
--- trunk/equanda-generate/src/main/resources/equanda.dtd 2007-08-07 15:09:55 UTC (rev 23)
+++ trunk/equanda-generate/src/main/resources/equanda.dtd 2007-08-07 15:11:41 UTC (rev 24)
@@ -195,7 +195,7 @@
length %integer; #IMPLIED
display-length %integer; #IMPLIED
renderer CDATA #IMPLIED
-priority %integer "5"
+priority %integer; "5"
>
<!-- simple type definition, which allows certain field settings to be filled automatically -->
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-07 15:09:59
|
Revision: 23
http://equanda.svn.sourceforge.net/equanda/?rev=23&view=rev
Author: triathlon98
Date: 2007-08-07 08:09:55 -0700 (Tue, 07 Aug 2007)
Log Message:
-----------
1769462 fix equanda.dtd errors?\194?\181
Modified Paths:
--------------
trunk/equanda-generate/src/main/resources/equanda.dtd
Modified: trunk/equanda-generate/src/main/resources/equanda.dtd
===================================================================
--- trunk/equanda-generate/src/main/resources/equanda.dtd 2007-08-06 20:53:54 UTC (rev 22)
+++ trunk/equanda-generate/src/main/resources/equanda.dtd 2007-08-07 15:09:55 UTC (rev 23)
@@ -218,7 +218,7 @@
(case)?,
(security-role)?,
(is-reference)?,
- (is-description)?,
+ (is-description)?
)>
<!ATTLIST type
name CDATA #REQUIRED
@@ -258,7 +258,13 @@
-->
<!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
@@ -394,7 +400,7 @@
<!--
Unique fields are not allowed to be multiple, calculated, link.
-->
-<!ELEMENT unique (convert-class)?>
+<!ELEMENT unique EMPTY>
<!ATTLIST unique
convert-class CDATA #IMPLIED>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-06 20:54:06
|
Revision: 22
http://equanda.svn.sourceforge.net/equanda/?rev=22&view=rev
Author: triathlon98
Date: 2007-08-06 13:53:54 -0700 (Mon, 06 Aug 2007)
Log Message:
-----------
1768811 remove config for default security-role-embedded and assure default security-role-remove works
Modified Paths:
--------------
trunk/equanda-generate/src/main/java/org/equanda/generate/Generator.java
trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMRootTable.java
trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java
Modified: trunk/equanda-generate/src/main/java/org/equanda/generate/Generator.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/generate/Generator.java 2007-08-03 15:20:14 UTC (rev 21)
+++ trunk/equanda-generate/src/main/java/org/equanda/generate/Generator.java 2007-08-06 20:53:54 UTC (rev 22)
@@ -166,7 +166,6 @@
OMTable table = (OMTable) tables.item( j );
table.setDefaultSecurityRole( getConfig( "security-role" ) );
table.setDefaultSecurityRoleRemove( getConfig( "security-role-remove" ) );
- table.setDefaultSecurityRoleEmbedded( getConfig( "security-role-embedded" ) );
if ( table.getName().toUpperCase().startsWith( "EQUANDA" ) )
{
SaveException.saveException( new Exception(
Modified: trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMRootTable.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMRootTable.java 2007-08-03 15:20:14 UTC (rev 21)
+++ trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMRootTable.java 2007-08-06 20:53:54 UTC (rev 22)
@@ -569,7 +569,7 @@
public boolean hasSecurityRoleRemove()
{
String securityRoleRemove = getSecurityRoleRemove();
- return securityRoleRemove != null && !securityRoleRemove.equals( "" );
+ return securityRoleRemove != null && !"".equals( securityRoleRemove );
}
/**
Modified: trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java 2007-08-03 15:20:14 UTC (rev 21)
+++ trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java 2007-08-06 20:53:54 UTC (rev 22)
@@ -75,7 +75,6 @@
private String securityRole;
private String defaultSecurityRoleRemove;
private String securityRoleRemove;
- private String defaultSecurityRoleEmbedded;
private int inTag; // currently processed tag for appendData
private String description = "";
private String expectedAmount;
@@ -861,16 +860,7 @@
{
if ( securityRoleRemove == null )
{
- for ( OMField field : getFields() )
- {
- if ( field.isLink() && field.isBidirectional() && field.getLinkField().isBidirectional() )
- {
- securityRoleRemove = defaultSecurityRoleEmbedded;
- return securityRoleRemove;
- }
- }
- securityRoleRemove = "";
- return defaultSecurityRoleRemove;
+ securityRoleRemove = defaultSecurityRoleRemove;
}
return securityRoleRemove;
}
@@ -880,11 +870,6 @@
this.defaultSecurityRoleRemove = defaultSecurityRoleRemove;
}
- public void setDefaultSecurityRoleEmbedded( String defaultSecurityRoleEmbedded )
- {
- this.defaultSecurityRoleEmbedded = defaultSecurityRoleEmbedded;
- }
-
public ArrayList getActions()
{
return getChildren( "action" );
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-03 15:20:17
|
Revision: 21
http://equanda.svn.sourceforge.net/equanda/?rev=21&view=rev
Author: triathlon98
Date: 2007-08-03 08:20:14 -0700 (Fri, 03 Aug 2007)
Log Message:
-----------
1767017 allow data-filter tag to be used more than once in a table
Modified Paths:
--------------
trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java
trunk/equanda-generate/src/main/resources/equanda.dtd
Modified: trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java
===================================================================
--- trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java 2007-08-03 14:43:15 UTC (rev 20)
+++ trunk/equanda-generate/src/main/java/org/equanda/persistence/xml/OMTable.java 2007-08-03 15:20:14 UTC (rev 21)
@@ -357,6 +357,7 @@
}
else if ( tag.equals( "data-filter" ) )
{
+ if ( !"".equals( dataFilter ) ) dataFilter += ',';
inTag = TAG_DATA_FILTER;
return false;
}
@@ -838,7 +839,7 @@
node.appendChild( root );
}
}
- if (root==null) SaveException.error( "Table " + this.name + " - has no root ?" );
+ if ( root == null ) SaveException.error( "Table " + this.name + " - has no root ?" );
return root;
}
Modified: trunk/equanda-generate/src/main/resources/equanda.dtd
===================================================================
--- trunk/equanda-generate/src/main/resources/equanda.dtd 2007-08-03 14:43:15 UTC (rev 20)
+++ trunk/equanda-generate/src/main/resources/equanda.dtd 2007-08-03 15:20:14 UTC (rev 21)
@@ -59,6 +59,8 @@
<!ELEMENT table (
(description)?,
(template|%param.tag;)*,
+ (include)*,
+ (data-filter)*,
(default-instance)?,
(security-role)?,
(security-role-remove)?,
@@ -69,9 +71,7 @@
(hide|no-hide)?,
(select|%param.tag;)*,
(build|%param.tag;)*,
- (action|%param.tag;)*,
- (include)*,
- (data-filter)?
+ (action|%param.tag;)*
)>
<!ATTLIST table
name CDATA #IMPLIED
@@ -136,7 +136,8 @@
name CDATA #IMPLIED>
<!--
- Comma separated list of filter names. These are filters which are applied to all the selectors.
+ These are filters which are applied to all the selectors.
+ When the value is comma seperated, this is treated the same as having one tag for each.
-->
<!ELEMENT data-filter (#PCDATA)>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-03 14:43:16
|
Revision: 20
http://equanda.svn.sourceforge.net/equanda/?rev=20&view=rev
Author: triathlon98
Date: 2007-08-03 07:43:15 -0700 (Fri, 03 Aug 2007)
Log Message:
-----------
prepare for move to t5, keep t4 version seperate
Modified Paths:
--------------
trunk/equanda-t4-template/pom.xml
trunk/equanda-tapestry4/pom.xml
trunk/pom.xml
Modified: trunk/equanda-t4-template/pom.xml
===================================================================
--- trunk/equanda-t4-template/pom.xml 2007-08-03 14:32:19 UTC (rev 19)
+++ trunk/equanda-t4-template/pom.xml 2007-08-03 14:43:15 UTC (rev 20)
@@ -7,9 +7,9 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.equanda</groupId>
- <artifactId>equanda-template</artifactId>
+ <artifactId>equanda-t4-template</artifactId>
<packaging>war</packaging>
<version>0.8-SNAPSHOT</version>
- <name>equanda-template</name>
+ <name>equanda-t4-template</name>
<url>http://equanda.be</url>
</project>
Modified: trunk/equanda-tapestry4/pom.xml
===================================================================
--- trunk/equanda-tapestry4/pom.xml 2007-08-03 14:32:19 UTC (rev 19)
+++ trunk/equanda-tapestry4/pom.xml 2007-08-03 14:43:15 UTC (rev 20)
@@ -7,10 +7,10 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.equanda</groupId>
- <artifactId>equanda-tapestry</artifactId>
+ <artifactId>equanda-tapestry4</artifactId>
<packaging>jar</packaging>
<version>0.8-SNAPSHOT</version>
- <name>equanda-tapestry</name>
+ <name>equanda-tapestry4</name>
<url>http://equanda.be</url>
<dependencies>
<dependency>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2007-08-03 14:32:19 UTC (rev 19)
+++ trunk/pom.xml 2007-08-03 14:43:15 UTC (rev 20)
@@ -68,6 +68,19 @@
<target>1.5</target>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <!--<version>2.0</version>-->
+ <executions>
+ <execution>
+ <id>clean</id>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
<reporting>
@@ -105,14 +118,6 @@
<configuration>
<instrumentation></instrumentation>
</configuration>
- <executions>
- <execution>
- <id>clean</id>
- <goals>
- <goal>clean</goal>
- </goals>
- </execution>
- </executions>
</plugin>
</plugins>
</reporting>
@@ -145,12 +150,12 @@
</dependency>
<dependency>
<groupId>org.equanda</groupId>
- <artifactId>equanda-tapestry</artifactId>
+ <artifactId>equanda-tapestry4</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.equanda</groupId>
- <artifactId>equanda-template</artifactId>
+ <artifactId>equanda-t4-template</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tri...@us...> - 2007-08-03 14:32:24
|
Revision: 19
http://equanda.svn.sourceforge.net/equanda/?rev=19&view=rev
Author: triathlon98
Date: 2007-08-03 07:32:19 -0700 (Fri, 03 Aug 2007)
Log Message:
-----------
prepare for move to t5, keep t4 version seperate
Modified Paths:
--------------
trunk/pom.xml
Added Paths:
-----------
trunk/equanda-t4-template/
trunk/equanda-t4-template/pom.xml
trunk/equanda-t4-template/src/
trunk/equanda-tapestry4/
trunk/equanda-tapestry4/pom.xml
trunk/equanda-tapestry4/src/
Removed Paths:
-------------
trunk/equanda-t4-template/pom.xml
trunk/equanda-t4-template/src/
trunk/equanda-tapestry/
trunk/equanda-tapestry4/pom.xml
trunk/equanda-tapestry4/src/
trunk/equanda-template/
Copied: trunk/equanda-t4-template (from rev 12, trunk/equanda-template)
Deleted: trunk/equanda-t4-template/pom.xml
===================================================================
--- trunk/equanda-template/pom.xml 2007-07-13 10:11:02 UTC (rev 12)
+++ trunk/equanda-t4-template/pom.xml 2007-08-03 14:32:19 UTC (rev 19)
@@ -1,15 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>org.equanda</groupId>
- <artifactId>equanda</artifactId>
- <version>0.8-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.equanda</groupId>
- <artifactId>equanda-template</artifactId>
- <packaging>war</packaging>
- <version>0.8-SNAPSHOT</version>
- <name>equanda-template</name>
- <url>http://equanda.be</url>
-</project>
Copied: trunk/equanda-t4-template/pom.xml (from rev 18, trunk/equanda-template/pom.xml)
===================================================================
--- trunk/equanda-t4-template/pom.xml (rev 0)
+++ trunk/equanda-t4-template/pom.xml 2007-08-03 14:32:19 UTC (rev 19)
@@ -0,0 +1,15 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.equanda</groupId>
+ <artifactId>equanda</artifactId>
+ <version>0.8-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.equanda</groupId>
+ <artifactId>equanda-template</artifactId>
+ <packaging>war</packaging>
+ <version>0.8-SNAPSHOT</version>
+ <name>equanda-template</name>
+ <url>http://equanda.be</url>
+</project>
Copied: trunk/equanda-t4-template/src (from rev 18, trunk/equanda-template/src)
Copied: trunk/equanda-tapestry4 (from rev 12, trunk/equanda-tapestry)
Deleted: trunk/equanda-tapestry4/pom.xml
===================================================================
--- trunk/equanda-tapestry/pom.xml 2007-07-13 10:11:02 UTC (rev 12)
+++ trunk/equanda-tapestry4/pom.xml 2007-08-03 14:32:19 UTC (rev 19)
@@ -1,94 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>org.equanda</groupId>
- <artifactId>equanda</artifactId>
- <version>0.8-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.equanda</groupId>
- <artifactId>equanda-tapestry</artifactId>
- <packaging>jar</packaging>
- <version>0.8-SNAPSHOT</version>
- <name>equanda-tapestry</name>
- <url>http://equanda.be</url>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.staticwiki</groupId>
- <artifactId>staticwiki-renderer</artifactId>
- </dependency>
- <dependency>
- <groupId>org.equanda</groupId>
- <artifactId>equanda-server</artifactId>
- </dependency>
- <dependency>
- <groupId>jasperreports</groupId>
- <artifactId>jasperreports</artifactId>
- </dependency>
- <dependency>
- <groupId>tapestry</groupId>
- <artifactId>tapestry</artifactId>
- </dependency>
- <dependency>
- <groupId>tapestry</groupId>
- <artifactId>tapestry-annotations</artifactId>
- </dependency>
- <dependency>
- <groupId>tapestry</groupId>
- <artifactId>tapestry-contrib</artifactId>
- </dependency>
- <dependency>
- <groupId>tapestry</groupId>
- <artifactId>tapestry-prop</artifactId>
- </dependency>
- <dependency>
- <groupId>tapestry</groupId>
- <artifactId>tacos</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-jmx</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-system</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-common</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-cache</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-j2ee</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-ejb3x</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jbosssx</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-serialization</artifactId>
- <scope>provided</scope>
- </dependency>
- </dependencies>
-</project>
Copied: trunk/equanda-tapestry4/pom.xml (from rev 18, trunk/equanda-tapestry/pom.xml)
===================================================================
--- trunk/equanda-tapestry4/pom.xml (rev 0)
+++ trunk/equanda-tapestry4/pom.xml 2007-08-03 14:32:19 UTC (rev 19)
@@ -0,0 +1,94 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.equanda</groupId>
+ <artifactId>equanda</artifactId>
+ <version>0.8-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.equanda</groupId>
+ <artifactId>equanda-tapestry</artifactId>
+ <packaging>jar</packaging>
+ <version>0.8-SNAPSHOT</version>
+ <name>equanda-tapestry</name>
+ <url>http://equanda.be</url>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.staticwiki</groupId>
+ <artifactId>staticwiki-renderer</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.equanda</groupId>
+ <artifactId>equanda-server</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jasperreports</groupId>
+ <artifactId>jasperreports</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>tapestry</groupId>
+ <artifactId>tapestry</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>tapestry</groupId>
+ <artifactId>tapestry-annotations</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>tapestry</groupId>
+ <artifactId>tapestry-contrib</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>tapestry</groupId>
+ <artifactId>tapestry-prop</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>tapestry</groupId>
+ <artifactId>tacos</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-jmx</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-system</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-common</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-cache</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-j2ee</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-ejb3x</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbosssx</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-serialization</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
Copied: trunk/equanda-tapestry4/src (from rev 18, trunk/equanda-tapestry/src)
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2007-08-02 13:16:26 UTC (rev 18)
+++ trunk/pom.xml 2007-08-03 14:32:19 UTC (rev 19)
@@ -18,8 +18,8 @@
<modules>
<module>equanda-util</module>
<module>equanda-tool</module>
- <module>equanda-template</module>
- <module>equanda-tapestry</module>
+ <module>equanda-t4-template</module>
+ <module>equanda-tapestry4</module>
<module>equanda-client</module>
<module>equanda-server</module>
<module>equanda-generate</module>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|