You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by "Adam Heath (JIRA)" <ji...@apache.org> on 2007/10/14 19:28:51 UTC
[jira] Assigned: (OFBIZ-747) Entity declaration: NOT NULL Fields on
database
[ https://issues.apache.org/jira/browse/OFBIZ-747?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Adam Heath reassigned OFBIZ-747:
--------------------------------
Assignee: Adam Heath
> Entity declaration: NOT NULL Fields on database
> -----------------------------------------------
>
> Key: OFBIZ-747
> URL: https://issues.apache.org/jira/browse/OFBIZ-747
> Project: OFBiz
> Issue Type: Improvement
> Components: framework
> Affects Versions: SVN trunk
> Environment: SUSE Linux 10.1 & MySQL 5.0.18
> Reporter: Michael Imhof
> Assignee: Adam Heath
> Priority: Minor
> Attachments: patch747.txt
>
>
> We added a new attribute: not-null="true|false" to the <entity/> tag.
> Example:
> <entity entity-name="Archivindex"
> package-name="ch.nowhow.isgate.archiv"
> title="Archiv Index Entity" no-auto-stamp="true">
> <field name="id" type="id-num"></field>
> <field name="notNullField" type="herkunft" not-null="true"></field>
> <prim-key field="id"/>
> </entity>
> This makes the field NOT NULL on the database (like primary key fields).
> Changes:
> =======
> 1.http://www.ofbiz.org/dtds/entitymodel.xsd
> ------------------------------------------------------
> Adding attribute to "attlist.field".
> <xs:attributeGroup name="attlist.field">
> ...
> <xs:attribute name="not-null" default="false">
> <xs:simpleType>
> <xs:restriction base="xs:token">
> <xs:enumeration value="true"/>
> <xs:enumeration value="false"/>
> </xs:restriction>
> </xs:simpleType>
> </xs:attribute>
> </xs:attributeGroup>
> 2.ModelField.java
> ---------------------
> * New attribute notNull with getter & setter.
> protected boolean isNotNull = false;
> * Constructor addition:
> public ModelField(Element fieldElement) {
> this.type = UtilXml.checkEmpty(fieldElement.getAttribute("type"));
> this.name = UtilXml.checkEmpty(fieldElement.getAttribute("name"));
> this.setColName(UtilXml.checkEmpty(fieldElement.getAttribute("col-name")));
> this.isPk = false; // is set elsewhere
> this.encrypt = UtilXml.checkBoolean(fieldElement.getAttribute("encrypt"), false);
> this.isNotNull = UtilXml.checkBoolean(fieldElement.getAttribute("not-null"), false);
> ..
> }
> * Method #toXmlElement(..)
> public Element toXmlElement(Document document) {
> ..
> if (this.getIsNotNull()) {
> root.setAttribute("not-null", "true");
> }
> ..
> }
> 3.DatabaseUtil.java
> ------------------------
> Add field.getIsNotNull() to NOT NULL statement in method createTable(...)
> if (field.getIsNotNull() || field.getIsPk()) {
> if (this.datasourceInfo.alwaysUseConstraintKeyword) {
> sqlBuf.append(" CONSTRAINT NOT NULL, ");
> } else {
> sqlBuf.append(" NOT NULL, ");
> }
> } else {
> sqlBuf.append(", ");
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.