Added: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelFieldImpl.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelFieldImpl.java?rev=804060&view=auto ============================================================================== --- ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelFieldImpl.java (added) +++ ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelFieldImpl.java Thu Aug 13 23:33:38 2009 @@ -0,0 +1,283 @@ +/******************************************************************************* + * 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. + *******************************************************************************/ +package org.ofbiz.entity.model; + +import java.util.*; +import org.w3c.dom.*; + +import org.ofbiz.entity.jdbc.*; +import org.ofbiz.base.util.*; + +/** + * Generic Entity - Field model class + * + */ +@SuppressWarnings("serial") +public class ModelFieldImpl extends ModelChild implements ModelField { + + /** The name of the Field */ + protected String name = ""; + + /** The type of the Field */ + protected String type = ""; + + /** The col-name of the Field */ + protected String colName = ""; + + /** boolean which specifies whether or not the Field is a Primary Key */ + protected boolean isPk = false; + protected boolean encrypt = false; + protected boolean isNotNull = false; + protected boolean isAutoCreatedInternal = false; + protected boolean enableAuditLog = false; + + /** validators to be called when an update is done */ + protected List<String> validators = new ArrayList<String>(); + + /** Default Constructor */ + public ModelFieldImpl() {} + + /** Fields Constructor */ + public ModelFieldImpl(String name, String type, String colName, boolean isPk) { + this(name, type, colName, isPk, false, false); + } + + public ModelFieldImpl(String name, String type, String colName, boolean isPk, boolean encrypt, boolean enableAuditLog) { + this.name = name; + this.type = type; + this.setColName(colName); + this.isPk = isPk; + this.encrypt = encrypt; + this.enableAuditLog = enableAuditLog; + } + + /** XML Constructor */ + public ModelFieldImpl(Element fieldElement) { + this.type = UtilXml.checkEmpty(fieldElement.getAttribute("type")).intern(); + this.name = UtilXml.checkEmpty(fieldElement.getAttribute("name")).intern(); + this.setColName(UtilXml.checkEmpty(fieldElement.getAttribute("col-name")).intern()); + this.isPk = false; // is set elsewhere + this.encrypt = UtilXml.checkBoolean(fieldElement.getAttribute("encrypt"), false); + this.description = UtilXml.childElementValue(fieldElement, "description"); + this.enableAuditLog = UtilXml.checkBoolean(fieldElement.getAttribute("enable-audit-log"), false); + this.isNotNull = UtilXml.checkBoolean(fieldElement.getAttribute("not-null"), false); + + NodeList validateList = fieldElement.getElementsByTagName("validate"); + + for (int i = 0; i < validateList.getLength(); i++) { + Element element = (Element) validateList.item(i); + + this.validators.add(UtilXml.checkEmpty(element.getAttribute("name")).intern()); + } + } + + /** DB Names Constructor */ + public ModelFieldImpl(DatabaseUtil.ColumnCheckInfo ccInfo, ModelFieldTypeReader modelFieldTypeReader) { + this.colName = ccInfo.columnName; + this.name = ModelUtil.dbNameToVarName(this.colName); + + // figure out the type according to the typeName, columnSize and decimalDigits + this.type = ModelUtil.induceFieldType(ccInfo.typeName, ccInfo.columnSize, ccInfo.decimalDigits, modelFieldTypeReader); + + this.isPk = ccInfo.isPk; + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#getName() + */ + public String getName() { + return this.name; + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#setName(java.lang.String) + */ + public void setName(String name) { + this.name = name; + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#getType() + */ + public String getType() { + return this.type; + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#setType(java.lang.String) + */ + public void setType(String type) { + this.type = type; + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#getColName() + */ + public String getColName() { + return this.colName; + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#setColName(java.lang.String) + */ + public void setColName(String colName) { + this.colName = colName; + if (this.colName == null || this.colName.length() == 0) { + this.colName = ModelUtil.javaNameToDbName(UtilXml.checkEmpty(this.name)); + } + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#getIsPk() + */ + public boolean getIsPk() { + return this.isPk; + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#setIsPk(boolean) + */ + public void setIsPk(boolean isPk) { + this.isPk = isPk; + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#getIsNotNull() + */ + public boolean getIsNotNull() { + return this.isNotNull; + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#setIsNotNull(boolean) + */ + public void setIsNotNull(boolean isNotNull) { + this.isNotNull = isNotNull; + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#getEncrypt() + */ + public boolean getEncrypt() { + return this.encrypt; + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#setEncrypt(boolean) + */ + public void setEncrypt(boolean encrypt) { + this.encrypt = encrypt; + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#getEnableAuditLog() + */ + public boolean getEnableAuditLog() { + return this.enableAuditLog; + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#getIsAutoCreatedInternal() + */ + public boolean getIsAutoCreatedInternal() { + return this.isAutoCreatedInternal; + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#setIsAutoCreatedInternal(boolean) + */ + public void setIsAutoCreatedInternal(boolean isAutoCreatedInternal) { + this.isAutoCreatedInternal = isAutoCreatedInternal; + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#getValidator(int) + */ + public String getValidator(int index) { + return this.validators.get(index); + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#getValidatorsSize() + */ + public int getValidatorsSize() { + return this.validators.size(); + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#addValidator(java.lang.String) + */ + public void addValidator(String validator) { + this.validators.add(validator); + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#removeValidator(int) + */ + public String removeValidator(int index) { + return this.validators.remove(index); + } + + @Override + public boolean equals(Object obj) { + if (obj.getClass() != getClass()) return false; + ModelField other = (ModelField) obj; + return other.getName().equals(getName()) && other.getModelEntity() == getModelEntity(); + } + + @Override + public int hashCode() { + return getModelEntity().hashCode() ^ getName().hashCode(); + } + + @Override + public String toString() { + return getModelEntity() + "@" + getName(); + } + + /* (non-Javadoc) + * @see org.ofbiz.entity.model.ModelField#toXmlElement(org.w3c.dom.Document) + */ + public Element toXmlElement(Document document) { + Element root = document.createElement("field"); + root.setAttribute("name", this.getName()); + if (!this.getColName().equals(ModelUtil.javaNameToDbName(this.getName()))) { + root.setAttribute("col-name", this.getColName()); + } + root.setAttribute("type", this.getType()); + if (this.getEncrypt()) { + root.setAttribute("encrypt", "true"); + } + if (this.getIsNotNull()) { + root.setAttribute("not-null", "true"); + } + + Iterator<String> valIter = this.validators.iterator(); + if (valIter != null) { + while (valIter.hasNext()) { + String validator = valIter.next(); + Element val = document.createElement("validate"); + val.setAttribute("name", validator); + root.appendChild(val); + } + } + + return root; + } +} Propchange: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelFieldImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelFieldImpl.java ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelFieldImpl.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelKeyMap.java URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelKeyMap.java?rev=804060&r1=804059&r2=804060&view=diff ============================================================================== --- ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelKeyMap.java (original) +++ ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelKeyMap.java Thu Aug 13 23:33:38 2009 @@ -18,98 +18,24 @@ *******************************************************************************/ package org.ofbiz.entity.model; -import java.util.List; - import org.w3c.dom.Document; import org.w3c.dom.Element; -import org.ofbiz.base.util.UtilMisc; -import org.ofbiz.base.util.UtilXml; - - /** * Generic Entity - KeyMap model class * */ -public class ModelKeyMap implements java.io.Serializable { +public interface ModelKeyMap { /** name of the field in this entity */ - protected String fieldName = ""; - - /** name of the field in related entity */ - protected String relFieldName = ""; + public String getFieldName(); - /** Default Constructor */ - public ModelKeyMap() {} - - /** Data Constructor, if relFieldName is null defaults to fieldName */ - public ModelKeyMap(String fieldName, String relFieldName) { - this.fieldName = fieldName; - this.relFieldName = UtilXml.checkEmpty(relFieldName, this.fieldName); - } - - /** XML Constructor */ - public ModelKeyMap(Element keyMapElement) { - this.fieldName = UtilXml.checkEmpty(keyMapElement.getAttribute("field-name")).intern(); - // if no relFieldName is specified, use the fieldName; this is convenient for when they are named the same, which is often the case - this.relFieldName = UtilXml.checkEmpty(keyMapElement.getAttribute("rel-field-name"), this.fieldName).intern(); - } - - /** name of the field in this entity */ - public String getFieldName() { - return this.fieldName; - } - - public void setFieldName(String fieldName) { - this.fieldName = fieldName; - } + public void setFieldName(String fieldName); /** name of the field in related entity */ - public String getRelFieldName() { - return this.relFieldName; - } - - public void setRelFieldName(String relFieldName) { - this.relFieldName = relFieldName; - } - - // ======= Some Convenience Oriented Factory Methods ======= - public static List<ModelKeyMap> makeKeyMapList(String fieldName1) { - return UtilMisc.toList(new ModelKeyMap(fieldName1, null)); - } - public static List<ModelKeyMap> makeKeyMapList(String fieldName1, String relFieldName1) { - return UtilMisc.toList(new ModelKeyMap(fieldName1, relFieldName1)); - } - public static List<ModelKeyMap> makeKeyMapList(String fieldName1, String relFieldName1, String fieldName2, String relFieldName2) { - return UtilMisc.toList(new ModelKeyMap(fieldName1, relFieldName1), new ModelKeyMap(fieldName2, relFieldName2)); - } - public static List<ModelKeyMap> makeKeyMapList(String fieldName1, String relFieldName1, String fieldName2, String relFieldName2, String fieldName3, String relFieldName3) { - return UtilMisc.toList(new ModelKeyMap(fieldName1, relFieldName1), new ModelKeyMap(fieldName2, relFieldName2), new ModelKeyMap(fieldName3, relFieldName3)); - } - - @Override - public int hashCode() { - return this.fieldName.hashCode() + this.relFieldName.hashCode(); - } - - @Override - public boolean equals(Object other) { - if (!(other instanceof ModelKeyMap)) return false; - ModelKeyMap otherKeyMap = (ModelKeyMap) other; - - if (!otherKeyMap.fieldName.equals(this.fieldName)) return false; - if (!otherKeyMap.relFieldName.equals(this.relFieldName)) return false; - - return true; - } - - public Element toXmlElement(Document document) { - Element root = document.createElement("key-map"); - root.setAttribute("field-name", this.getFieldName()); - if (!this.getFieldName().equals(this.getRelFieldName())) { - root.setAttribute("rel-field-name", this.getRelFieldName()); - } + public String getRelFieldName(); + + public void setRelFieldName(String relFieldName); - return root; - } + public Element toXmlElement(Document document); } Added: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelKeyMapImpl.java URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelKeyMapImpl.java?rev=804060&view=auto ============================================================================== --- ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelKeyMapImpl.java (added) +++ ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelKeyMapImpl.java Thu Aug 13 23:33:38 2009 @@ -0,0 +1,101 @@ +/******************************************************************************* + * 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. + *******************************************************************************/ +package org.ofbiz.entity.model; + +import java.util.List; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +import org.ofbiz.base.util.UtilMisc; +import org.ofbiz.base.util.UtilXml; + + +/** + * Generic Entity - KeyMap model class + * + */ +public class ModelKeyMapImpl implements java.io.Serializable, ModelKeyMap { + + /** name of the field in this entity */ + protected String fieldName = ""; + + /** name of the field in related entity */ + protected String relFieldName = ""; + + /** Default Constructor */ + public ModelKeyMapImpl() {} + + /** Data Constructor, if relFieldName is null defaults to fieldName */ + public ModelKeyMapImpl(String fieldName, String relFieldName) { + this.fieldName = fieldName; + this.relFieldName = UtilXml.checkEmpty(relFieldName, this.fieldName); + } + + /** XML Constructor */ + public ModelKeyMapImpl(Element keyMapElement) { + this.fieldName = UtilXml.checkEmpty(keyMapElement.getAttribute("field-name")).intern(); + // if no relFieldName is specified, use the fieldName; this is convenient for when they are named the same, which is often the case + this.relFieldName = UtilXml.checkEmpty(keyMapElement.getAttribute("rel-field-name"), this.fieldName).intern(); + } + + /** name of the field in this entity */ + public String getFieldName() { + return this.fieldName; + } + + public void setFieldName(String fieldName) { + this.fieldName = fieldName; + } + + /** name of the field in related entity */ + public String getRelFieldName() { + return this.relFieldName; + } + + public void setRelFieldName(String relFieldName) { + this.relFieldName = relFieldName; + } + + @Override + public int hashCode() { + return this.fieldName.hashCode() + this.relFieldName.hashCode(); + } + + @Override + public boolean equals(Object other) { + if (!(other instanceof ModelKeyMap)) return false; + ModelKeyMap otherKeyMap = (ModelKeyMap) other; + + if (!otherKeyMap.getFieldName().equals(this.fieldName)) return false; + if (!otherKeyMap.getRelFieldName().equals(this.relFieldName)) return false; + + return true; + } + + public Element toXmlElement(Document document) { + Element root = document.createElement("key-map"); + root.setAttribute("field-name", this.getFieldName()); + if (!this.getFieldName().equals(this.getRelFieldName())) { + root.setAttribute("rel-field-name", this.getRelFieldName()); + } + + return root; + } +} Propchange: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelKeyMapImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelKeyMapImpl.java ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelKeyMapImpl.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelReader.java URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelReader.java?rev=804060&r1=804059&r2=804060&view=diff ============================================================================== --- ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelReader.java (original) +++ ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelReader.java Thu Aug 13 23:33:38 2009 @@ -307,7 +307,7 @@ } // create the new relationship even if one exists so we can show what we are looking for in the info message - ModelRelation newRel = new ModelRelation(); + ModelRelationImpl newRel = new ModelRelationImpl(); newRel.setModelEntity(relatedEnt); newRel.setRelEntityName(curModelEntity.getEntityName()); newRel.setTitle(targetTitle); @@ -315,7 +315,7 @@ Set<String> curEntityKeyFields = FastSet.newInstance(); for (int kmn = 0; kmn < modelRelation.getKeyMapsSize(); kmn++) { ModelKeyMap curkm = modelRelation.getKeyMap(kmn); - ModelKeyMap newkm = new ModelKeyMap(); + ModelKeyMap newkm = new ModelKeyMapImpl(); newRel.addKeyMap(newkm); newkm.setFieldName(curkm.getRelFieldName()); newkm.setRelFieldName(curkm.getFieldName()); @@ -549,7 +549,7 @@ ModelEntity createModelEntity(Element entityElement, UtilTimer utilTimer, ModelInfo def) { if (entityElement == null) return null; this.numEntities++; - ModelEntity entity = new ModelEntity(this, entityElement, utilTimer, def); + ModelEntity entity = new ModelEntityImpl(this, entityElement, utilTimer, def); return entity; } @@ -562,13 +562,13 @@ public ModelRelation createRelation(ModelEntity entity, Element relationElement) { this.numRelations++; - ModelRelation relation = new ModelRelation(entity, relationElement); + ModelRelation relation = new ModelRelationImpl(entity, relationElement); return relation; } public ModelField findModelField(ModelEntity entity, String fieldName) { - for (ModelField field: entity.fields) { - if (field.name.compareTo(fieldName) == 0) { + for (ModelField field: entity.getFieldsUnmodifiable()) { + if (field.getName().compareTo(fieldName) == 0) { return field; } } @@ -577,7 +577,7 @@ public ModelField createModelField(String name, String type, String colName, boolean isPk) { this.numFields++; - ModelField field = new ModelField(name, type, colName, isPk); + ModelField field = new ModelFieldImpl(name, type, colName, isPk); return field; } @@ -587,7 +587,7 @@ } this.numFields++; - ModelField field = new ModelField(fieldElement); + ModelField field = new ModelFieldImpl(fieldElement); return field; } } Modified: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelRelation.java URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelRelation.java?rev=804060&r1=804059&r2=804060&view=diff ============================================================================== --- ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelRelation.java (original) +++ ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelRelation.java Thu Aug 13 23:33:38 2009 @@ -18,299 +18,70 @@ */ package org.ofbiz.entity.model; -import java.util.ArrayList; -import java.util.HashSet; import java.util.Iterator; import java.util.List; -import java.util.Set; -import javolution.util.FastList; - -import org.ofbiz.base.util.StringUtil; -import org.ofbiz.base.util.UtilValidate; -import org.ofbiz.base.util.UtilXml; import org.w3c.dom.Document; import org.w3c.dom.Element; -import org.w3c.dom.NodeList; /** * Generic Entity - Relation model class * */ -public class ModelRelation extends ModelChild { - - /** the title, gives a name/description to the relation */ - protected String title; +public interface ModelRelation { - /** the type: either "one" or "many" or "one-nofk" */ - protected String type; - - /** the name of the related entity */ - protected String relEntityName; + /** Find a KeyMap with the specified fieldName */ + public ModelKeyMap findKeyMap(String fieldName); - /** the name to use for a database foreign key, if applies */ - protected String fkName; + /** Find a KeyMap with the specified relFieldName */ + public ModelKeyMap findKeyMapByRelated(String relFieldName); - /** keyMaps defining how to lookup the relatedTable using columns from this table */ - protected List<ModelKeyMap> keyMaps = new ArrayList<ModelKeyMap>(); + public String getCombinedName(); - /** the main entity of this relation */ - protected ModelEntity mainEntity = null; + /** The description for documentation purposes */ + public String getDescription(); - protected boolean isAutoRelation = false; + public String getFkName(); - /** Default Constructor */ - public ModelRelation() { - title = ""; - type = ""; - relEntityName = ""; - fkName = ""; - } - - /** Default Constructor */ - public ModelRelation(String type, String title, String relEntityName, String fkName, List<ModelKeyMap> keyMaps) { - this.title = title; - if (title == null) title = ""; - this.type = type; - this.relEntityName = relEntityName; - this.fkName = fkName; - this.keyMaps.addAll(keyMaps); - } - - /** XML Constructor */ - public ModelRelation(ModelEntity mainEntity, Element relationElement) { - this.mainEntity = mainEntity; - - this.type = UtilXml.checkEmpty(relationElement.getAttribute("type")).intern(); - this.title = UtilXml.checkEmpty(relationElement.getAttribute("title")).intern(); - this.relEntityName = UtilXml.checkEmpty(relationElement.getAttribute("rel-entity-name")).intern(); - this.fkName = UtilXml.checkEmpty(relationElement.getAttribute("fk-name")).intern(); - this.description = StringUtil.internString(UtilXml.childElementValue(relationElement, "description")); - - NodeList keyMapList = relationElement.getElementsByTagName("key-map"); - for (int i = 0; i < keyMapList.getLength(); i++) { - Element keyMapElement = (Element) keyMapList.item(i); - - if (keyMapElement.getParentNode() == relationElement) { - ModelKeyMap keyMap = new ModelKeyMap(keyMapElement); - - if (keyMap != null) { - this.keyMaps.add(keyMap); - } - } - } - } - - public String getCombinedName() { - return this.title + this.relEntityName; - } + public ModelKeyMap getKeyMap(int index); - /** the title, gives a name/description to the relation */ - public String getTitle() { - if (this.title == null) { - this.title = ""; - } - return this.title; - } - - public void setTitle(String title) { - if (title == null) { - this.title = ""; - } else { - this.title = title; - } - } + public List<ModelKeyMap> getKeyMapsClone(); - /** the type: either "one" or "many" or "one-nofk" */ - public String getType() { - return this.type; - } - - public void setType(String type) { - this.type = type; - } + /** keyMaps defining how to lookup the relatedTable using columns from this table */ + public Iterator<ModelKeyMap> getKeyMapsIterator(); - /** the name of the related entity */ - public String getRelEntityName() { - return this.relEntityName; - } - - public void setRelEntityName(String relEntityName) { - this.relEntityName = relEntityName; - } - - public String getFkName() { - return this.fkName; - } - - public void setFkName(String fkName) { - this.fkName = fkName; - } + public int getKeyMapsSize(); /** @deprecated - * the main entity of this relation */ - @Deprecated - public ModelEntity getMainEntity() { - return getModelEntity(); - } - - /** @deprecated */ - @Deprecated - public void setMainEntity(ModelEntity mainEntity) { - setModelEntity(mainEntity); - } - - /** keyMaps defining how to lookup the relatedTable using columns from this table */ - public Iterator<ModelKeyMap> getKeyMapsIterator() { - return this.keyMaps.iterator(); - } - - public List<ModelKeyMap> getKeyMapsClone() { - List<ModelKeyMap> kmList = FastList.newInstance(); - kmList.addAll(this.keyMaps); - return kmList; - } - - public int getKeyMapsSize() { - return this.keyMaps.size(); - } - - public ModelKeyMap getKeyMap(int index) { - return this.keyMaps.get(index); - } - - public void addKeyMap(ModelKeyMap keyMap) { - this.keyMaps.add(keyMap); - } - - public ModelKeyMap removeKeyMap(int index) { - return this.keyMaps.remove(index); - } + * the main entity of this relation */ + @Deprecated + public ModelEntity getMainEntity(); - /** Find a KeyMap with the specified fieldName */ - public ModelKeyMap findKeyMap(String fieldName) { - for (ModelKeyMap keyMap: keyMaps) { - if (keyMap.fieldName.equals(fieldName)) return keyMap; - } - return null; - } + /** the name of the related entity */ + public String getRelEntityName(); - /** Find a KeyMap with the specified relFieldName */ - public ModelKeyMap findKeyMapByRelated(String relFieldName) { - for (ModelKeyMap keyMap: keyMaps) { - if (keyMap.relFieldName.equals(relFieldName)) - return keyMap; - } - return null; - } - - public String keyMapString(String separator, String afterLast) { - String returnString = ""; - - if (keyMaps.size() < 1) { - return ""; - } - - int i = 0; - - for (; i < keyMaps.size() - 1; i++) { - returnString = returnString + keyMaps.get(i).fieldName + separator; - } - returnString = returnString + keyMaps.get(i).fieldName + afterLast; - return returnString; - } - - public String keyMapUpperString(String separator, String afterLast) { - if (keyMaps.size() < 1) - return ""; - - StringBuilder returnString = new StringBuilder( keyMaps.size() * 10 ); - int i=0; - while (true) { - ModelKeyMap kmap = keyMaps.get(i); - returnString.append( ModelUtil.upperFirstChar( kmap.fieldName)); - - i++; - if (i >= keyMaps.size()) { - returnString.append( afterLast ); - break; - } - - returnString.append( separator ); - } - - return returnString.toString(); - } - - public String keyMapRelatedUpperString(String separator, String afterLast) { - if (keyMaps.size() < 1) - return ""; - - StringBuilder returnString = new StringBuilder( keyMaps.size() * 10 ); - int i=0; - while (true) { - ModelKeyMap kmap = keyMaps.get(i); - returnString.append( ModelUtil.upperFirstChar( kmap.relFieldName )); - - i++; - if (i >= keyMaps.size()) { - returnString.append( afterLast ); - break; - } + /** the title, gives a name/description to the relation */ + public String getTitle(); - returnString.append( separator ); - } + /** the type: either "one" or "many" or "one-nofk" */ + public String getType(); - return returnString.toString(); - } /** * @return Returns the isAutoRelation. */ - public boolean isAutoRelation() { - return isAutoRelation; - } + public boolean isAutoRelation(); + /** * @param isAutoRelation The isAutoRelation to set. */ - public void setAutoRelation(boolean isAutoRelation) { - this.isAutoRelation = isAutoRelation; - } - - // FIXME: CCE - @Override - public boolean equals(Object other) { - ModelRelation otherRel = (ModelRelation) other; - - if (!otherRel.type.equals(this.type)) return false; - if (!otherRel.title.equals(this.title)) return false; - if (!otherRel.relEntityName.equals(this.relEntityName)) return false; - - Set<ModelKeyMap> thisKeyNames = new HashSet<ModelKeyMap>(this.keyMaps); - Set<ModelKeyMap> otherKeyNames = new HashSet<ModelKeyMap>(otherRel.keyMaps); - if (!thisKeyNames.containsAll(otherKeyNames)) return false; - if (!otherKeyNames.containsAll(thisKeyNames)) return false; - - return true; - } - - public Element toXmlElement(Document document) { - Element root = document.createElement("relation"); - root.setAttribute("type", this.getType()); - if (UtilValidate.isNotEmpty(this.getTitle())) { - root.setAttribute("title", this.getTitle()); - } - root.setAttribute("rel-entity-name", this.getRelEntityName()); - - if (UtilValidate.isNotEmpty(this.getFkName())) { - root.setAttribute("fk-name", this.getFkName()); - } - - Iterator<ModelKeyMap> kmIter = this.getKeyMapsIterator(); - while (kmIter != null && kmIter.hasNext()) { - ModelKeyMap km = kmIter.next(); - root.appendChild(km.toXmlElement(document)); - } + public void setAutoRelation(boolean isAutoRelation); + + public void setFkName(String fkName); + + public void setRelEntityName(String relEntityName); + + public void setTitle(String title); + public void setType(String type); - return root; - } + public Element toXmlElement(Document document); } Added: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelRelationImpl.java URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelRelationImpl.java?rev=804060&view=auto ============================================================================== --- ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelRelationImpl.java (added) +++ ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelRelationImpl.java Thu Aug 13 23:33:38 2009 @@ -0,0 +1,316 @@ +/* + * 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. + */ +package org.ofbiz.entity.model; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import javolution.util.FastList; + +import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.UtilValidate; +import org.ofbiz.base.util.UtilXml; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.NodeList; + +/** + * Generic Entity - Relation model class + * + */ +public class ModelRelationImpl extends ModelChild implements ModelRelation { + + /** the title, gives a name/description to the relation */ + protected String title; + + /** the type: either "one" or "many" or "one-nofk" */ + protected String type; + + /** the name of the related entity */ + protected String relEntityName; + + /** the name to use for a database foreign key, if applies */ + protected String fkName; + + /** keyMaps defining how to lookup the relatedTable using columns from this table */ + protected List<ModelKeyMap> keyMaps = new ArrayList<ModelKeyMap>(); + + /** the main entity of this relation */ + protected ModelEntity mainEntity = null; + + protected boolean isAutoRelation = false; + + /** Default Constructor */ + public ModelRelationImpl() { + title = ""; + type = ""; + relEntityName = ""; + fkName = ""; + } + + /** Default Constructor */ + public ModelRelationImpl(String type, String title, String relEntityName, String fkName, List<ModelKeyMap> keyMaps) { + this.title = title; + if (title == null) title = ""; + this.type = type; + this.relEntityName = relEntityName; + this.fkName = fkName; + this.keyMaps.addAll(keyMaps); + } + + /** XML Constructor */ + public ModelRelationImpl(ModelEntity mainEntity, Element relationElement) { + this.mainEntity = mainEntity; + + this.type = UtilXml.checkEmpty(relationElement.getAttribute("type")).intern(); + this.title = UtilXml.checkEmpty(relationElement.getAttribute("title")).intern(); + this.relEntityName = UtilXml.checkEmpty(relationElement.getAttribute("rel-entity-name")).intern(); + this.fkName = UtilXml.checkEmpty(relationElement.getAttribute("fk-name")).intern(); + this.description = StringUtil.internString(UtilXml.childElementValue(relationElement, "description")); + + NodeList keyMapList = relationElement.getElementsByTagName("key-map"); + for (int i = 0; i < keyMapList.getLength(); i++) { + Element keyMapElement = (Element) keyMapList.item(i); + + if (keyMapElement.getParentNode() == relationElement) { + ModelKeyMap keyMap = new ModelKeyMapImpl(keyMapElement); + + if (keyMap != null) { + this.keyMaps.add(keyMap); + } + } + } + } + + public String getCombinedName() { + return this.title + this.relEntityName; + } + + /** the title, gives a name/description to the relation */ + public String getTitle() { + if (this.title == null) { + this.title = ""; + } + return this.title; + } + + public void setTitle(String title) { + if (title == null) { + this.title = ""; + } else { + this.title = title; + } + } + + /** the type: either "one" or "many" or "one-nofk" */ + public String getType() { + return this.type; + } + + public void setType(String type) { + this.type = type; + } + + /** the name of the related entity */ + public String getRelEntityName() { + return this.relEntityName; + } + + public void setRelEntityName(String relEntityName) { + this.relEntityName = relEntityName; + } + + public String getFkName() { + return this.fkName; + } + + public void setFkName(String fkName) { + this.fkName = fkName; + } + + /** @deprecated + * the main entity of this relation */ + @Deprecated + public ModelEntity getMainEntity() { + return getModelEntity(); + } + + /** @deprecated */ + @Deprecated + public void setMainEntity(ModelEntity mainEntity) { + setModelEntity(mainEntity); + } + + /** keyMaps defining how to lookup the relatedTable using columns from this table */ + public Iterator<ModelKeyMap> getKeyMapsIterator() { + return this.keyMaps.iterator(); + } + + public List<ModelKeyMap> getKeyMapsClone() { + List<ModelKeyMap> kmList = FastList.newInstance(); + kmList.addAll(this.keyMaps); + return kmList; + } + + public int getKeyMapsSize() { + return this.keyMaps.size(); + } + + public ModelKeyMap getKeyMap(int index) { + return this.keyMaps.get(index); + } + + public void addKeyMap(ModelKeyMap keyMap) { + this.keyMaps.add(keyMap); + } + + public ModelKeyMap removeKeyMap(int index) { + return this.keyMaps.remove(index); + } + + /** Find a KeyMap with the specified fieldName */ + public ModelKeyMap findKeyMap(String fieldName) { + for (ModelKeyMap keyMap: keyMaps) { + if (keyMap.getFieldName().equals(fieldName)) return keyMap; + } + return null; + } + + /** Find a KeyMap with the specified relFieldName */ + public ModelKeyMap findKeyMapByRelated(String relFieldName) { + for (ModelKeyMap keyMap: keyMaps) { + if (keyMap.getRelFieldName().equals(relFieldName)) + return keyMap; + } + return null; + } + + public String keyMapString(String separator, String afterLast) { + String returnString = ""; + + if (keyMaps.size() < 1) { + return ""; + } + + int i = 0; + + for (; i < keyMaps.size() - 1; i++) { + returnString = returnString + keyMaps.get(i).getFieldName() + separator; + } + returnString = returnString + keyMaps.get(i).getFieldName() + afterLast; + return returnString; + } + + public String keyMapUpperString(String separator, String afterLast) { + if (keyMaps.size() < 1) + return ""; + + StringBuilder returnString = new StringBuilder( keyMaps.size() * 10 ); + int i=0; + while (true) { + ModelKeyMap kmap = keyMaps.get(i); + returnString.append( ModelUtil.upperFirstChar( kmap.getFieldName())); + + i++; + if (i >= keyMaps.size()) { + returnString.append( afterLast ); + break; + } + + returnString.append( separator ); + } + + return returnString.toString(); + } + + public String keyMapRelatedUpperString(String separator, String afterLast) { + if (keyMaps.size() < 1) + return ""; + + StringBuilder returnString = new StringBuilder( keyMaps.size() * 10 ); + int i=0; + while (true) { + ModelKeyMap kmap = keyMaps.get(i); + returnString.append( ModelUtil.upperFirstChar( kmap.getRelFieldName() )); + + i++; + if (i >= keyMaps.size()) { + returnString.append( afterLast ); + break; + } + + returnString.append( separator ); + } + + return returnString.toString(); + } + /** + * @return Returns the isAutoRelation. + */ + public boolean isAutoRelation() { + return isAutoRelation; + } + /** + * @param isAutoRelation The isAutoRelation to set. + */ + public void setAutoRelation(boolean isAutoRelation) { + this.isAutoRelation = isAutoRelation; + } + + // FIXME: CCE + @Override + public boolean equals(Object other) { + ModelRelation otherRel = (ModelRelation) other; + + if (!otherRel.getType().equals(this.type)) return false; + if (!otherRel.getTitle().equals(this.title)) return false; + if (!otherRel.getRelEntityName().equals(this.relEntityName)) return false; + + Set<ModelKeyMap> thisKeyNames = new HashSet<ModelKeyMap>(this.keyMaps); + Set<ModelKeyMap> otherKeyNames = new HashSet<ModelKeyMap>(otherRel.getKeyMapsClone()); + if (!thisKeyNames.containsAll(otherKeyNames)) return false; + if (!otherKeyNames.containsAll(thisKeyNames)) return false; + + return true; + } + + public Element toXmlElement(Document document) { + Element root = document.createElement("relation"); + root.setAttribute("type", this.getType()); + if (UtilValidate.isNotEmpty(this.getTitle())) { + root.setAttribute("title", this.getTitle()); + } + root.setAttribute("rel-entity-name", this.getRelEntityName()); + + if (UtilValidate.isNotEmpty(this.getFkName())) { + root.setAttribute("fk-name", this.getFkName()); + } + + Iterator<ModelKeyMap> kmIter = this.getKeyMapsIterator(); + while (kmIter != null && kmIter.hasNext()) { + ModelKeyMap km = kmIter.next(); + root.appendChild(km.toXmlElement(document)); + } + + return root; + } +} Propchange: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelRelationImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelRelationImpl.java ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelRelationImpl.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelUtil.java URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelUtil.java?rev=804060&r1=804059&r2=804060&view=diff ============================================================================== --- ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelUtil.java (original) +++ ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelUtil.java Thu Aug 13 23:33:38 2009 @@ -19,6 +19,9 @@ package org.ofbiz.entity.model; import java.io.*; +import java.util.List; + +import javolution.util.FastList; import org.ofbiz.base.util.*; @@ -292,4 +295,46 @@ return "invalid-" + sqlTypeName + ":" + length + ":" + precision; } } + + // ======= ModelKeyMap Convenience Oriented Factory Methods ======= // + + public static List<ModelKeyMap> makeKeyMapList(String fieldName1) { + return UtilMisc.toList(createModelKeyMap(fieldName1, null)); + } + + public static List<ModelKeyMap> makeKeyMapList(String fieldName1, String relFieldName1) { + return UtilMisc.toList(createModelKeyMap(fieldName1, relFieldName1)); + } + + public static List<ModelKeyMap> makeKeyMapList(String fieldName1, String relFieldName1, String fieldName2, String relFieldName2) { + List<ModelKeyMap> modelKeyMapList = FastList.newInstance(); + modelKeyMapList.add(createModelKeyMap(fieldName1, relFieldName1)); + modelKeyMapList.add(createModelKeyMap(fieldName2, relFieldName2)); + return modelKeyMapList; + } + + public static List<ModelKeyMap> makeKeyMapList(String fieldName1, String relFieldName1, String fieldName2, String relFieldName2, String fieldName3, String relFieldName3) { + List<ModelKeyMap> modelKeyMapList = FastList.newInstance(); + modelKeyMapList.add(createModelKeyMap(fieldName1, relFieldName1)); + modelKeyMapList.add(createModelKeyMap(fieldName2, relFieldName2)); + modelKeyMapList.add(createModelKeyMap(fieldName3, relFieldName3)); + return modelKeyMapList; + } + + public static ModelKeyMap createModelKeyMap(String fieldName, String relFieldName) { + ModelKeyMap modelKeyMap = null; + ClassLoader loader = Thread.currentThread().getContextClassLoader(); + try { + modelKeyMap = (ModelKeyMap) loader.loadClass("org.ofbiz.entity.model.ModelKeyMapImpl").newInstance(); + } catch (Exception e) { + Debug.logError(e, module); + } + modelKeyMap.setFieldName(fieldName); + modelKeyMap.setRelFieldName(UtilXml.checkEmpty(relFieldName, fieldName)); + return modelKeyMap; + } + + public static DynamicViewEntity createDynamicViewEntity() { + return new DynamicViewEntityImpl(); + } } Modified: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelViewEntity.java URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelViewEntity.java?rev=804060&r1=804059&r2=804060&view=diff ============================================================================== --- ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelViewEntity.java (original) +++ ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/model/ModelViewEntity.java Thu Aug 13 23:33:38 2009 @@ -52,7 +52,7 @@ * This class extends ModelEntity and provides additional information appropriate to view entities */ @SuppressWarnings("serial") -public class ModelViewEntity extends ModelEntity { +public class ModelViewEntity extends ModelEntityImpl { public static final String module = ModelViewEntity.class.getName(); public static Map<String, String> functionPrefixMap = FastMap.newInstance(); @@ -338,9 +338,9 @@ Iterator<ModelField> fldsIt = flds.iterator(); while (fldsIt.hasNext()) { ModelField field = fldsIt.next(); - returnString.append(field.colName); + returnString.append(field.getColName()); if (alias) { - ModelAlias modelAlias = this.getAlias(field.name); + ModelAlias modelAlias = this.getAlias(field.getName()); if (modelAlias != null) { returnString.append(" AS " + modelAlias.getColAlias()); } @@ -354,7 +354,7 @@ return returnString.toString(); } - protected ModelEntity aliasedModelEntity = new ModelEntity(); + protected ModelEntity aliasedModelEntity = new ModelEntityImpl(); public ModelEntity getAliasedModelEntity() { return this.aliasedModelEntity; @@ -408,7 +408,7 @@ Iterator<ModelField> aliasedFieldIterator = aliasedEntity.getFieldsIterator(); while (aliasedFieldIterator.hasNext()) { ModelField aliasedModelField = aliasedFieldIterator.next(); - ModelField newModelField = new ModelField(); + ModelField newModelField = new ModelFieldImpl(); for (int i = 0; i < aliasedModelField.getValidatorsSize(); i++) { newModelField.addValidator(aliasedModelField.getValidator(i)); } @@ -424,9 +424,9 @@ expandAllAliasAlls(modelReader); for (ModelAlias alias: aliases) { - ModelField field = new ModelField(); + ModelFieldImpl field = new ModelFieldImpl(); field.setModelEntity(this); - field.name = alias.name; + field.setName(alias.name); field.description = alias.description; // if this is a groupBy field, add it to the groupBys list @@ -449,7 +449,7 @@ field.isPk = false; } else { ModelEntity aliasedEntity = getAliasedEntity(alias.entityAlias, modelReader); - ModelField aliasedField = getAliasedField(aliasedEntity, alias.field, modelReader); + ModelFieldImpl aliasedField = (ModelFieldImpl) getAliasedField(aliasedEntity, alias.field, modelReader); if (aliasedField == null) { Debug.logError("[ModelViewEntity.populateFields (" + this.getEntityName() + ")] ERROR: could not find ModelField for field name \"" + alias.field + "\" on entity with name: " + aliasedEntity.getEntityName(), module); @@ -467,7 +467,7 @@ field.type = aliasedField.type; field.validators = aliasedField.validators; - field.colName = alias.entityAlias + "." + SqlJdbcUtil.filterColName(aliasedField.colName); + field.colName = alias.entityAlias + "." + SqlJdbcUtil.filterColName(aliasedField.getColName()); if (UtilValidate.isEmpty(field.description)) { field.description = aliasedField.description; } @@ -490,7 +490,7 @@ if (prefix == null) { Debug.logWarning("Specified alias function [" + alias.function + "] not valid; must be: min, max, sum, avg, count or count-distinct; using a column name with no function function", module); } else { - field.colName = prefix + field.colName + ")"; + field.setColName(prefix + field.getColName() + ")"); } } } @@ -987,7 +987,7 @@ //set fieldTypeBuffer if not already set if (fieldTypeBuffer.length() == 0) { - fieldTypeBuffer.append(modelField.type); + fieldTypeBuffer.append(modelField.getType()); } } } @@ -1010,7 +1010,7 @@ NodeList keyMapList = viewLinkElement.getElementsByTagName("key-map"); for (int j = 0; j < keyMapList.getLength(); j++) { Element keyMapElement = (Element) keyMapList.item(j); - ModelKeyMap keyMap = new ModelKeyMap(keyMapElement); + ModelKeyMap keyMap = new ModelKeyMapImpl(keyMapElement); if (keyMap != null) keyMaps.add(keyMap); } Modified: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/test/EntityTestSuite.java URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/test/EntityTestSuite.java?rev=804060&r1=804059&r2=804060&view=diff ============================================================================== --- ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/test/EntityTestSuite.java (original) +++ ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/test/EntityTestSuite.java Thu Aug 13 23:33:38 2009 @@ -29,7 +29,7 @@ import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.UtilDateTime; import org.ofbiz.base.util.UtilMisc; -import org.ofbiz.entity.GenericEntity; +import org.ofbiz.entity.EntityFactory; import org.ofbiz.entity.GenericEntityException; import org.ofbiz.entity.GenericPK; import org.ofbiz.entity.GenericValue; @@ -113,7 +113,7 @@ public void testCreateTree() throws Exception { try { // get how many child nodes did we have before creating the tree - EntityCondition isChild = EntityCondition.makeCondition("primaryParentNodeId", EntityOperator.NOT_EQUAL, GenericEntity.NULL_FIELD); + EntityCondition isChild = EntityCondition.makeCondition("primaryParentNodeId", EntityOperator.NOT_EQUAL, EntityFactory.NULL_FIELD); long alreadyStored = delegator.findCountByCondition("TestingNode", isChild, null, null); // @@ -123,7 +123,7 @@ // create the root GenericValue root = delegator.create("TestingNode", "testingNodeId", delegator.getNextSeqId("TestingNode"), - "primaryParentNodeId", GenericEntity.NULL_FIELD, + "primaryParentNodeId", EntityFactory.NULL_FIELD, "description", "root"); int level1; for(level1 = 0; level1 < _level1max; level1++) { @@ -148,7 +148,7 @@ */ public void testAddMembersToTree() throws Exception { // get the level1 nodes - EntityCondition isLevel1 = EntityCondition.makeCondition("primaryParentNodeId", EntityOperator.NOT_EQUAL, GenericEntity.NULL_FIELD); + EntityCondition isLevel1 = EntityCondition.makeCondition("primaryParentNodeId", EntityOperator.NOT_EQUAL, EntityFactory.NULL_FIELD); List<GenericValue> nodeLevel1 = delegator.findList("TestingNode", isLevel1, null, null, null, false); List<GenericValue> newValues = new LinkedList<GenericValue>(); @@ -184,7 +184,7 @@ * Tests findByCondition and tests searching on a view-entity */ public void testCountViews() throws Exception { - EntityCondition isNodeWithMember = EntityCondition.makeCondition("testingId", EntityOperator.NOT_EQUAL, GenericEntity.NULL_FIELD); + EntityCondition isNodeWithMember = EntityCondition.makeCondition("testingId", EntityOperator.NOT_EQUAL, EntityFactory.NULL_FIELD); List<GenericValue> nodeWithMembers = delegator.findList("TestingNodeAndMember", isNodeWithMember, null, null, null, false); for (GenericValue v: nodeWithMembers) { @@ -331,7 +331,7 @@ // Find all the root nodes, // delete them their primary key // - EntityCondition isRoot = EntityCondition.makeCondition("primaryParentNodeId", EntityOperator.EQUALS, GenericEntity.NULL_FIELD); + EntityCondition isRoot = EntityCondition.makeCondition("primaryParentNodeId", EntityOperator.EQUALS, EntityFactory.NULL_FIELD); List<GenericValue> rootValues = delegator.findList("TestingNode", isRoot, UtilMisc.toSet("testingNodeId"), null, null, false); for (GenericValue value: rootValues) { Modified: ofbiz/branches/executioncontext20090812/framework/entityext/src/org/ofbiz/entityext/synchronization/EntitySyncServices.java URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/entityext/src/org/ofbiz/entityext/synchronization/EntitySyncServices.java?rev=804060&r1=804059&r2=804060&view=diff ============================================================================== --- ofbiz/branches/executioncontext20090812/framework/entityext/src/org/ofbiz/entityext/synchronization/EntitySyncServices.java (original) +++ ofbiz/branches/executioncontext20090812/framework/entityext/src/org/ofbiz/entityext/synchronization/EntitySyncServices.java Thu Aug 13 23:33:38 2009 @@ -42,6 +42,7 @@ import org.ofbiz.base.util.UtilXml; import org.ofbiz.base.util.UtilURL; import org.ofbiz.entity.DelegatorFactory; +import org.ofbiz.entity.EntityFactory; import org.ofbiz.entity.GenericDelegator; import org.ofbiz.entity.GenericEntity; import org.ofbiz.entity.GenericEntityException; Modified: ofbiz/branches/executioncontext20090812/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java?rev=804060&r1=804059&r2=804060&view=diff ============================================================================== --- ofbiz/branches/executioncontext20090812/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java (original) +++ ofbiz/branches/executioncontext20090812/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java Thu Aug 13 23:33:38 2009 @@ -45,7 +45,7 @@ import org.ofbiz.base.util.UtilValidate; import org.ofbiz.base.util.UtilXml; import org.ofbiz.base.util.cache.UtilCache; -import org.ofbiz.entity.GenericEntity; +import org.ofbiz.entity.EntityFactory; import org.ofbiz.entity.GenericValue; import org.ofbiz.entity.transaction.GenericTransactionException; import org.ofbiz.entity.transaction.TransactionUtil; @@ -632,8 +632,8 @@ /** Execute the Simple Method operations */ public String exec(MethodContext methodContext) { // always put the null field object in as "null" - methodContext.putEnv("null", GenericEntity.NULL_FIELD); - methodContext.putEnv("nullField", GenericEntity.NULL_FIELD); + methodContext.putEnv("null", EntityFactory.NULL_FIELD); + methodContext.putEnv("nullField", EntityFactory.NULL_FIELD); methodContext.putEnv(delegatorName, methodContext.getDelegator()); methodContext.putEnv(securityName, methodContext.getSecurity()); Modified: ofbiz/branches/executioncontext20090812/framework/webslinger/build.xml URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/webslinger/build.xml?rev=804060&r1=804059&r2=804060&view=diff ============================================================================== --- ofbiz/branches/executioncontext20090812/framework/webslinger/build.xml (original) +++ ofbiz/branches/executioncontext20090812/framework/webslinger/build.xml Thu Aug 13 23:33:38 2009 @@ -31,6 +31,7 @@ <path id="local.class.path"> <fileset dir="lib" includes="*.jar"/> + <fileset dir="${ofbiz.home.dir}/framework/api/build/lib" includes="*.jar"/> <fileset dir="${ofbiz.home.dir}/framework/entity/lib" includes="*.jar"/> <fileset dir="${ofbiz.home.dir}/framework/entity/build/lib" includes="*.jar"/> <fileset dir="${ofbiz.home.dir}/framework/base/lib" includes="*.jar"/> Modified: ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/screen/ModelScreen.java URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/screen/ModelScreen.java?rev=804060&r1=804059&r2=804060&view=diff ============================================================================== --- ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/screen/ModelScreen.java (original) +++ ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/screen/ModelScreen.java Thu Aug 13 23:33:38 2009 @@ -32,8 +32,8 @@ import org.ofbiz.base.util.UtilValidate; import org.ofbiz.base.util.UtilXml; import org.ofbiz.base.util.string.FlexibleStringExpander; +import org.ofbiz.entity.EntityFactory; import org.ofbiz.entity.GenericDelegator; -import org.ofbiz.entity.GenericEntity; import org.ofbiz.entity.GenericEntityException; import org.ofbiz.entity.transaction.TransactionUtil; import org.ofbiz.service.ExecutionContext; @@ -350,7 +350,7 @@ ExecutionContext executionContext = (ExecutionContext) context.get("executionContext"); executionContext.pushExecutionArtifact(this); // make sure the "null" object is in there for entity ops - context.put("null", GenericEntity.NULL_FIELD); + context.put("null", EntityFactory.NULL_FIELD); setWidgetBoundaryComments(context); Modified: ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/screen/ScreenRenderer.java URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/screen/ScreenRenderer.java?rev=804060&r1=804059&r2=804060&view=diff ============================================================================== --- ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/screen/ScreenRenderer.java (original) +++ ofbiz/branches/executioncontext20090812/framework/widget/src/org/ofbiz/widget/screen/ScreenRenderer.java Thu Aug 13 23:33:38 2009 @@ -44,8 +44,8 @@ import org.ofbiz.base.util.UtilMisc; import org.ofbiz.base.util.UtilValidate; import org.ofbiz.base.util.collections.MapStack; +import org.ofbiz.entity.EntityFactory; import org.ofbiz.entity.GenericDelegator; -import org.ofbiz.entity.GenericEntity; import org.ofbiz.entity.GenericValue; import org.ofbiz.security.Security; import org.ofbiz.security.authz.Authorization; @@ -152,7 +152,7 @@ context.put("globalContext", context.standAloneStack()); // make sure the "nullField" object is in there for entity ops; note this is nullField and not null because as null causes problems in FreeMarker and such... - context.put("nullField", GenericEntity.NULL_FIELD); + context.put("nullField", EntityFactory.NULL_FIELD); context.put("parameters", parameters); context.put("delegator", delegator); Modified: ofbiz/branches/executioncontext20090812/specialpurpose/shark/src/org/ofbiz/shark/expression/ActivityIteratorCondExprBldr.java URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/specialpurpose/shark/src/org/ofbiz/shark/expression/ActivityIteratorCondExprBldr.java?rev=804060&r1=804059&r2=804060&view=diff ============================================================================== --- ofbiz/branches/executioncontext20090812/specialpurpose/shark/src/org/ofbiz/shark/expression/ActivityIteratorCondExprBldr.java (original) +++ ofbiz/branches/executioncontext20090812/specialpurpose/shark/src/org/ofbiz/shark/expression/ActivityIteratorCondExprBldr.java Thu Aug 13 23:33:38 2009 @@ -42,7 +42,7 @@ public void addProcess(String field, String fieldAlias) { if (!addedProcess) { this.addEntity("WFPR", org.ofbiz.shark.SharkConstants.WfProcess); - this.addLink("WFAC", "WFAC", false, ModelKeyMap.makeKeyMapList(org.ofbiz.shark.SharkConstants.processId)); + this.addLink("WFAC", "WFAC", false, ModelUtil.makeKeyMapList(org.ofbiz.shark.SharkConstants.processId)); } this.addField("WFPR", field, fieldAlias); } Modified: ofbiz/branches/executioncontext20090812/specialpurpose/shark/src/org/ofbiz/shark/expression/BaseEntityCondExprBldr.java URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/specialpurpose/shark/src/org/ofbiz/shark/expression/BaseEntityCondExprBldr.java?rev=804060&r1=804059&r2=804060&view=diff ============================================================================== --- ofbiz/branches/executioncontext20090812/specialpurpose/shark/src/org/ofbiz/shark/expression/BaseEntityCondExprBldr.java (original) +++ ofbiz/branches/executioncontext20090812/specialpurpose/shark/src/org/ofbiz/shark/expression/BaseEntityCondExprBldr.java Thu Aug 13 23:33:38 2009 @@ -150,7 +150,7 @@ } private DynamicViewEntity makeView() { - DynamicViewEntity view = new DynamicViewEntity(); + DynamicViewEntity view = ModelUtil.createDynamicViewEntity(); // create the members Modified: ofbiz/branches/executioncontext20090812/specialpurpose/shark/src/org/ofbiz/shark/instance/EntityPersistentMgr.java URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/specialpurpose/shark/src/org/ofbiz/shark/instance/EntityPersistentMgr.java?rev=804060&r1=804059&r2=804060&view=diff ============================================================================== --- ofbiz/branches/executioncontext20090812/specialpurpose/shark/src/org/ofbiz/shark/instance/EntityPersistentMgr.java (original) +++ ofbiz/branches/executioncontext20090812/specialpurpose/shark/src/org/ofbiz/shark/instance/EntityPersistentMgr.java Thu Aug 13 23:33:38 2009 @@ -785,14 +785,14 @@ GenericDelegator delegator = SharkContainer.getDelegator(); List processIds = new ArrayList(); - DynamicViewEntity view = new DynamicViewEntity(); + DynamicViewEntity view = ModelUtil.createDynamicViewEntity(); view.addMemberEntity("WFDL", org.ofbiz.shark.SharkConstants.WfDeadline); view.addMemberEntity("WFPR", org.ofbiz.shark.SharkConstants.WfProcess); view.addMemberEntity("WFAC", org.ofbiz.shark.SharkConstants.WfActivity); view.addAlias("WFPR", org.ofbiz.shark.SharkConstants.currentState, "processState", null, null, null, null); view.addAlias("WFAC", org.ofbiz.shark.SharkConstants.currentState, "activityState", null, null, null, null); - view.addViewLink("WFDL", "WFPR", Boolean.FALSE, ModelKeyMap.makeKeyMapList(org.ofbiz.shark.SharkConstants.processId)); - view.addViewLink("WFDL", "WFAC", Boolean.FALSE, ModelKeyMap.makeKeyMapList(org.ofbiz.shark.SharkConstants.activityId)); + view.addViewLink("WFDL", "WFPR", Boolean.FALSE, ModelUtil.makeKeyMapList(org.ofbiz.shark.SharkConstants.processId)); + view.addViewLink("WFDL", "WFAC", Boolean.FALSE, ModelUtil.makeKeyMapList(org.ofbiz.shark.SharkConstants.activityId)); EntityListIterator eli = null; try { |
Free forum by Nabble | Edit this page |