You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ad...@apache.org on 2013/06/06 10:02:15 UTC
svn commit: r1490187 [1/2] - in
/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config: ./ model/
Author: adrianc
Date: Thu Jun 6 08:02:14 2013
New Revision: 1490187
URL: http://svn.apache.org/r1490187
Log:
New models for the entityengine.xml file. These will be used to replace the DOM caching/parsing code in the same way as the service engine.
Added:
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/EntityConfigListener.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/ConnectionFactory.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/Datasource.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/DebugXaResources.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/Delegator.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityConfig.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityDataReader.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityEcaReader.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityGroupReader.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityModelReader.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/FieldType.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/GroupMap.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/InlineJdbc.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/JndiJdbc.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/ReadData.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/Resource.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/ResourceLoader.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/SqlLoadPath.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/TransactionFactory.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/TransactionManagerJndi.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/TyrexDataSource.java (with props)
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/UserTransactionJndi.java (with props)
Modified:
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/EntityConfigUtil.java
Added: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/EntityConfigListener.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/EntityConfigListener.java?rev=1490187&view=auto
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/EntityConfigListener.java (added)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/EntityConfigListener.java Thu Jun 6 08:02:14 2013
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * 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.config;
+
+import org.ofbiz.entity.config.model.EntityConfig;
+
+/**
+ * An object that receives notifications when the <code>entityengine.xml</code> file is reloaded.
+ */
+public interface EntityConfigListener {
+
+ /**
+ * Processes <code>entityengine.xml</code> changes.
+ *
+ * @param entityConfig The new <code>EntityConfig</code> instance.
+ */
+ void onEntityConfigChange(EntityConfig entityConfig);
+
+}
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/EntityConfigListener.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/EntityConfigListener.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Rev URL
Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/EntityConfigUtil.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/EntityConfigUtil.java?rev=1490187&r1=1490186&r2=1490187&view=diff
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/EntityConfigUtil.java (original)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/EntityConfigUtil.java Thu Jun 6 08:02:14 2013
@@ -18,18 +18,25 @@
*******************************************************************************/
package org.ofbiz.entity.config;
+import java.net.URL;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
+import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.atomic.AtomicReference;
import org.ofbiz.base.config.GenericConfigException;
import org.ofbiz.base.config.ResourceLoader;
import org.ofbiz.base.util.Debug;
import org.ofbiz.base.util.UtilProperties;
+import org.ofbiz.base.util.UtilURL;
import org.ofbiz.base.util.UtilValidate;
import org.ofbiz.base.util.UtilXml;
+import org.ofbiz.base.util.cache.UtilCache;
import org.ofbiz.entity.GenericEntityConfException;
import org.ofbiz.entity.GenericEntityException;
+import org.ofbiz.entity.config.model.EntityConfig;
+import org.w3c.dom.Document;
import org.w3c.dom.Element;
/**
@@ -40,6 +47,43 @@ public class EntityConfigUtil {
public static final String module = EntityConfigUtil.class.getName();
public static final String ENTITY_ENGINE_XML_FILENAME = "entityengine.xml";
+ // Keep the EntityConfig instance in a cache - so the configuration can be reloaded at run-time. There will be only one EntityConfig instance in the cache.
+ private static final UtilCache<String, EntityConfig> entityConfigCache = UtilCache.createUtilCache("entity.EntityConfig", 0, 0, false);
+ private static final List<EntityConfigListener> configListeners = new CopyOnWriteArrayList<EntityConfigListener>();
+
+ /**
+ * Returns the <code>EntityConfig</code> instance.
+ * @throws GenericEntityConfException
+ */
+ public static EntityConfig getEntityConfig() throws GenericEntityConfException {
+ EntityConfig instance = entityConfigCache.get("instance");
+ if (instance == null) {
+ Element entityConfigElement = getXmlDocument().getDocumentElement();
+ instance = new EntityConfig(entityConfigElement);
+ entityConfigCache.putIfAbsent("instance", instance);
+ instance = entityConfigCache.get("instance");
+ for (EntityConfigListener listener : configListeners) {
+ try {
+ listener.onEntityConfigChange(instance);
+ } catch (Exception e) {
+ Debug.logError(e, "Exception thrown while notifying listener " + listener + ": ", module);
+ }
+ }
+ }
+ return instance;
+ }
+
+ private static Document getXmlDocument() throws GenericEntityConfException {
+ URL confUrl = UtilURL.fromResource(ENTITY_ENGINE_XML_FILENAME);
+ if (confUrl == null) {
+ throw new GenericEntityConfException("Could not find the " + ENTITY_ENGINE_XML_FILENAME + " file");
+ }
+ try {
+ return UtilXml.readXmlDocument(confUrl, true, true);
+ } catch (Exception e) {
+ throw new GenericEntityConfException("Exception thrown while reading " + ENTITY_ENGINE_XML_FILENAME + ": ", e);
+ }
+ }
private static volatile AtomicReference<EntityConfigUtil> configRef = new AtomicReference<EntityConfigUtil>();
Added: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/ConnectionFactory.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/ConnectionFactory.java?rev=1490187&view=auto
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/ConnectionFactory.java (added)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/ConnectionFactory.java Thu Jun 6 08:02:14 2013
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * 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.config.model;
+
+import org.ofbiz.base.lang.ThreadSafe;
+import org.ofbiz.entity.GenericEntityConfException;
+import org.w3c.dom.Element;
+
+/**
+ * An object that models the <code><connection-factory></code> element.
+ *
+ * @see <code>entity-config.xsd</code>
+ */
+@ThreadSafe
+public final class ConnectionFactory {
+
+ private final String className; // type = xs:string
+
+ public ConnectionFactory(Element element) throws GenericEntityConfException {
+ String className = element.getAttribute("class").intern();
+ if (className.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element class attribute is empty");
+ }
+ this.className = className;
+ }
+
+ /** Returns the value of the <code>class</code> attribute. */
+ public String getClassName() {
+ return this.className;
+ }
+}
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/ConnectionFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/ConnectionFactory.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Rev URL
Added: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/Datasource.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/Datasource.java?rev=1490187&view=auto
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/Datasource.java (added)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/Datasource.java Thu Jun 6 08:02:14 2013
@@ -0,0 +1,420 @@
+/*******************************************************************************
+ * 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.config.model;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.ofbiz.base.lang.ThreadSafe;
+import org.ofbiz.base.util.UtilXml;
+import org.ofbiz.entity.GenericEntityConfException;
+import org.w3c.dom.Element;
+
+/**
+ * An object that models the <code><datasource></code> element.
+ *
+ * @see <code>entity-config.xsd</code>
+ */
+@ThreadSafe
+public final class Datasource {
+
+ private final String name; // type = xs:string
+ private final String helperClass; // type = xs:string
+ private final String fieldTypeName; // type = xs:string
+ private final String useSchemas;
+ private final String schemaName; // type = xs:string
+ private final String checkOnStart;
+ private final String addMissingOnStart;
+ private final String usePkConstraintNames;
+ private final String checkPksOnStart;
+ private final String constraintNameClipLength; // type = xs:nonNegativeInteger
+ private final String useProxyCursor;
+ private final String proxyCursorName; // type = xs:string
+ private final String resultFetchSize; // type = xs:integer
+ private final String useForeignKeys;
+ private final String useForeignKeyIndices;
+ private final String checkFksOnStart;
+ private final String checkFkIndicesOnStart;
+ private final String fkStyle;
+ private final String useFkInitiallyDeferred;
+ private final String useIndices;
+ private final String useIndicesUnique;
+ private final String checkIndicesOnStart;
+ private final String joinStyle;
+ private final String aliasViewColumns;
+ private final String alwaysUseConstraintKeyword;
+ private final String dropFkUseForeignKeyKeyword;
+ private final String useBinaryTypeForBlob;
+ private final String useOrderByNulls;
+ private final String offsetStyle;
+ private final String tableType; // type = xs:string
+ private final String characterSet; // type = xs:string
+ private final String collate; // type = xs:string
+ private final String maxWorkerPoolSize; // type = xs:integer
+ private final List<SqlLoadPath> sqlLoadPathList; // <sql-load-path>
+ private final List<ReadData> readDataList; // <read-data>
+
+ public Datasource(Element element) throws GenericEntityConfException {
+ String name = element.getAttribute("name").intern();
+ if (name.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element name attribute is empty");
+ }
+ this.name = name;
+ String helperClass = element.getAttribute("helper-class").intern();
+ if (helperClass.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element helper-class attribute is empty");
+ }
+ this.helperClass = helperClass;
+ String fieldTypeName = element.getAttribute("field-type-name").intern();
+ if (fieldTypeName.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element field-type-name attribute is empty");
+ }
+ this.fieldTypeName = fieldTypeName;
+ String useSchemas = element.getAttribute("use-schemas").intern();
+ if (useSchemas.isEmpty()) {
+ useSchemas = "true";
+ }
+ this.useSchemas = useSchemas;
+ this.schemaName = element.getAttribute("schema-name").intern();
+ String checkOnStart = element.getAttribute("check-on-start").intern();
+ if (checkOnStart.isEmpty()) {
+ checkOnStart = "true";
+ }
+ this.checkOnStart = checkOnStart;
+ String addMissingOnStart = element.getAttribute("add-missing-on-start").intern();
+ if (addMissingOnStart.isEmpty()) {
+ addMissingOnStart = "false";
+ }
+ this.addMissingOnStart = addMissingOnStart;
+ String usePkConstraintNames = element.getAttribute("use-pk-constraint-names").intern();
+ if (usePkConstraintNames.isEmpty()) {
+ usePkConstraintNames = "true";
+ }
+ this.usePkConstraintNames = usePkConstraintNames;
+ String checkPksOnStart = element.getAttribute("check-pks-on-start").intern();
+ if (checkPksOnStart.isEmpty()) {
+ checkPksOnStart = "true";
+ }
+ this.checkPksOnStart = checkPksOnStart;
+ String constraintNameClipLength = element.getAttribute("constraint-name-clip-length").intern();
+ if (constraintNameClipLength.isEmpty()) {
+ constraintNameClipLength = "30";
+ }
+ this.constraintNameClipLength = constraintNameClipLength;
+ String useProxyCursor = element.getAttribute("use-proxy-cursor").intern();
+ if (useProxyCursor.isEmpty()) {
+ useProxyCursor = "false";
+ }
+ this.useProxyCursor = useProxyCursor;
+ String proxyCursorName = element.getAttribute("proxy-cursor-name").intern();
+ if (proxyCursorName.isEmpty()) {
+ proxyCursorName = "p_cursor";
+ }
+ this.proxyCursorName = proxyCursorName;
+ String resultFetchSize = element.getAttribute("result-fetch-size").intern();
+ if (resultFetchSize.isEmpty()) {
+ resultFetchSize = "-1";
+ }
+ this.resultFetchSize = resultFetchSize;
+ String useForeignKeys = element.getAttribute("use-foreign-keys").intern();
+ if (useForeignKeys.isEmpty()) {
+ useForeignKeys = "true";
+ }
+ this.useForeignKeys = useForeignKeys;
+ String useForeignKeyIndices = element.getAttribute("use-foreign-key-indices").intern();
+ if (useForeignKeyIndices.isEmpty()) {
+ useForeignKeyIndices = "true";
+ }
+ this.useForeignKeyIndices = useForeignKeyIndices;
+ String checkFksOnStart = element.getAttribute("check-fks-on-start").intern();
+ if (checkFksOnStart.isEmpty()) {
+ checkFksOnStart = "false";
+ }
+ this.checkFksOnStart = checkFksOnStart;
+ String checkFkIndicesOnStart = element.getAttribute("check-fk-indices-on-start").intern();
+ if (checkFkIndicesOnStart.isEmpty()) {
+ checkFkIndicesOnStart = "false";
+ }
+ this.checkFkIndicesOnStart = checkFkIndicesOnStart;
+ String fkStyle = element.getAttribute("fk-style").intern();
+ if (fkStyle.isEmpty()) {
+ fkStyle = "name_constraint";
+ }
+ this.fkStyle = fkStyle;
+ String useFkInitiallyDeferred = element.getAttribute("use-fk-initially-deferred").intern();
+ if (useFkInitiallyDeferred.isEmpty()) {
+ useFkInitiallyDeferred = "false";
+ }
+ this.useFkInitiallyDeferred = useFkInitiallyDeferred;
+ String useIndices = element.getAttribute("use-indices").intern();
+ if (useIndices.isEmpty()) {
+ useIndices = "true";
+ }
+ this.useIndices = useIndices;
+ String useIndicesUnique = element.getAttribute("use-indices-unique").intern();
+ if (useIndicesUnique.isEmpty()) {
+ useIndicesUnique = "true";
+ }
+ this.useIndicesUnique = useIndicesUnique;
+ String checkIndicesOnStart = element.getAttribute("check-indices-on-start").intern();
+ if (checkIndicesOnStart.isEmpty()) {
+ checkIndicesOnStart = "false";
+ }
+ this.checkIndicesOnStart = checkIndicesOnStart;
+ String joinStyle = element.getAttribute("join-style").intern();
+ if (joinStyle.isEmpty()) {
+ joinStyle = "ansi";
+ }
+ this.joinStyle = joinStyle;
+ String aliasViewColumns = element.getAttribute("alias-view-columns").intern();
+ if (aliasViewColumns.isEmpty()) {
+ aliasViewColumns = "false";
+ }
+ this.aliasViewColumns = aliasViewColumns;
+ String alwaysUseConstraintKeyword = element.getAttribute("always-use-constraint-keyword").intern();
+ if (alwaysUseConstraintKeyword.isEmpty()) {
+ alwaysUseConstraintKeyword = "false";
+ }
+ this.alwaysUseConstraintKeyword = alwaysUseConstraintKeyword;
+ String dropFkUseForeignKeyKeyword = element.getAttribute("drop-fk-use-foreign-key-keyword").intern();
+ if (dropFkUseForeignKeyKeyword.isEmpty()) {
+ dropFkUseForeignKeyKeyword = "false";
+ }
+ this.dropFkUseForeignKeyKeyword = dropFkUseForeignKeyKeyword;
+ String useBinaryTypeForBlob = element.getAttribute("use-binary-type-for-blob").intern();
+ if (useBinaryTypeForBlob.isEmpty()) {
+ useBinaryTypeForBlob = "false";
+ }
+ this.useBinaryTypeForBlob = useBinaryTypeForBlob;
+ String useOrderByNulls = element.getAttribute("use-order-by-nulls").intern();
+ if (useOrderByNulls.isEmpty()) {
+ useOrderByNulls = "false";
+ }
+ this.useOrderByNulls = useOrderByNulls;
+ String offsetStyle = element.getAttribute("offset-style").intern();
+ if (offsetStyle.isEmpty()) {
+ offsetStyle = "none";
+ }
+ this.offsetStyle = offsetStyle;
+ this.tableType = element.getAttribute("table-type").intern();
+ this.characterSet = element.getAttribute("character-set").intern();
+ this.collate = element.getAttribute("collate").intern();
+ String maxWorkerPoolSize = element.getAttribute("max-worker-pool-size").intern();
+ if (maxWorkerPoolSize.isEmpty()) {
+ maxWorkerPoolSize = "0";
+ }
+ this.maxWorkerPoolSize = maxWorkerPoolSize;
+ List<? extends Element> sqlLoadPathElementList = UtilXml.childElementList(element, "sql-load-path");
+ if (sqlLoadPathElementList.isEmpty()) {
+ this.sqlLoadPathList = Collections.emptyList();
+ } else {
+ List<SqlLoadPath> sqlLoadPathList = new ArrayList<SqlLoadPath>(sqlLoadPathElementList.size());
+ for (Element sqlLoadPathElement : sqlLoadPathElementList) {
+ sqlLoadPathList.add(new SqlLoadPath(sqlLoadPathElement));
+ }
+ this.sqlLoadPathList = Collections.unmodifiableList(sqlLoadPathList);
+ }
+ List<? extends Element> readDataElementList = UtilXml.childElementList(element, "read-data");
+ if (readDataElementList.isEmpty()) {
+ this.readDataList = Collections.emptyList();
+ } else {
+ List<ReadData> readDataList = new ArrayList<ReadData>(readDataElementList.size());
+ for (Element readDataElement : readDataElementList) {
+ readDataList.add(new ReadData(readDataElement));
+ }
+ this.readDataList = Collections.unmodifiableList(readDataList);
+ }
+ }
+
+ /** Returns the value of the <code>name</code> attribute. */
+ public String getName() {
+ return this.name;
+ }
+
+ /** Returns the value of the <code>helper-class</code> attribute. */
+ public String getHelperClass() {
+ return this.helperClass;
+ }
+
+ /** Returns the value of the <code>field-type-name</code> attribute. */
+ public String getFieldTypeName() {
+ return this.fieldTypeName;
+ }
+
+ /** Returns the value of the <code>use-schemas</code> attribute. */
+ public String getUseSchemas() {
+ return this.useSchemas;
+ }
+
+ /** Returns the value of the <code>schema-name</code> attribute. */
+ public String getSchemaName() {
+ return this.schemaName;
+ }
+
+ /** Returns the value of the <code>check-on-start</code> attribute. */
+ public String getCheckOnStart() {
+ return this.checkOnStart;
+ }
+
+ /** Returns the value of the <code>add-missing-on-start</code> attribute. */
+ public String getAddMissingOnStart() {
+ return this.addMissingOnStart;
+ }
+
+ /** Returns the value of the <code>use-pk-constraint-names</code> attribute. */
+ public String getUsePkConstraintNames() {
+ return this.usePkConstraintNames;
+ }
+
+ /** Returns the value of the <code>check-pks-on-start</code> attribute. */
+ public String getCheckPksOnStart() {
+ return this.checkPksOnStart;
+ }
+
+ /** Returns the value of the <code>constraint-name-clip-length</code> attribute. */
+ public String getConstraintNameClipLength() {
+ return this.constraintNameClipLength;
+ }
+
+ /** Returns the value of the <code>use-proxy-cursor</code> attribute. */
+ public String getUseProxyCursor() {
+ return this.useProxyCursor;
+ }
+
+ /** Returns the value of the <code>proxy-cursor-name</code> attribute. */
+ public String getProxyCursorName() {
+ return this.proxyCursorName;
+ }
+
+ /** Returns the value of the <code>result-fetch-size</code> attribute. */
+ public String getResultFetchSize() {
+ return this.resultFetchSize;
+ }
+
+ /** Returns the value of the <code>use-foreign-keys</code> attribute. */
+ public String getUseForeignKeys() {
+ return this.useForeignKeys;
+ }
+
+ /** Returns the value of the <code>use-foreign-key-indices</code> attribute. */
+ public String getUseForeignKeyIndices() {
+ return this.useForeignKeyIndices;
+ }
+
+ /** Returns the value of the <code>check-fks-on-start</code> attribute. */
+ public String getCheckFksOnStart() {
+ return this.checkFksOnStart;
+ }
+
+ /** Returns the value of the <code>check-fk-indices-on-start</code> attribute. */
+ public String getCheckFkIndicesOnStart() {
+ return this.checkFkIndicesOnStart;
+ }
+
+ /** Returns the value of the <code>fk-style</code> attribute. */
+ public String getFkStyle() {
+ return this.fkStyle;
+ }
+
+ /** Returns the value of the <code>use-fk-initially-deferred</code> attribute. */
+ public String getUseFkInitiallyDeferred() {
+ return this.useFkInitiallyDeferred;
+ }
+
+ /** Returns the value of the <code>use-indices</code> attribute. */
+ public String getUseIndices() {
+ return this.useIndices;
+ }
+
+ /** Returns the value of the <code>use-indices-unique</code> attribute. */
+ public String getUseIndicesUnique() {
+ return this.useIndicesUnique;
+ }
+
+ /** Returns the value of the <code>check-indices-on-start</code> attribute. */
+ public String getCheckIndicesOnStart() {
+ return this.checkIndicesOnStart;
+ }
+
+ /** Returns the value of the <code>join-style</code> attribute. */
+ public String getJoinStyle() {
+ return this.joinStyle;
+ }
+
+ /** Returns the value of the <code>alias-view-columns</code> attribute. */
+ public String getAliasViewColumns() {
+ return this.aliasViewColumns;
+ }
+
+ /** Returns the value of the <code>always-use-constraint-keyword</code> attribute. */
+ public String getAlwaysUseConstraintKeyword() {
+ return this.alwaysUseConstraintKeyword;
+ }
+
+ /** Returns the value of the <code>drop-fk-use-foreign-key-keyword</code> attribute. */
+ public String getDropFkUseForeignKeyKeyword() {
+ return this.dropFkUseForeignKeyKeyword;
+ }
+
+ /** Returns the value of the <code>use-binary-type-for-blob</code> attribute. */
+ public String getUseBinaryTypeForBlob() {
+ return this.useBinaryTypeForBlob;
+ }
+
+ /** Returns the value of the <code>use-order-by-nulls</code> attribute. */
+ public String getUseOrderByNulls() {
+ return this.useOrderByNulls;
+ }
+
+ /** Returns the value of the <code>offset-style</code> attribute. */
+ public String getOffsetStyle() {
+ return this.offsetStyle;
+ }
+
+ /** Returns the value of the <code>table-type</code> attribute. */
+ public String getTableType() {
+ return this.tableType;
+ }
+
+ /** Returns the value of the <code>character-set</code> attribute. */
+ public String getCharacterSet() {
+ return this.characterSet;
+ }
+
+ /** Returns the value of the <code>collate</code> attribute. */
+ public String getCollate() {
+ return this.collate;
+ }
+
+ /** Returns the value of the <code>max-worker-pool-size</code> attribute. */
+ public String getMaxWorkerPoolSize() {
+ return this.maxWorkerPoolSize;
+ }
+
+ /** Returns the <code><sql-load-path></code> child elements. */
+ public List<SqlLoadPath> getSqlLoadPathList() {
+ return this.sqlLoadPathList;
+ }
+
+ /** Returns the <code><read-data></code> child elements. */
+ public List<ReadData> getReadDataList() {
+ return this.readDataList;
+ }
+}
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/Datasource.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/Datasource.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Rev URL
Added: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/DebugXaResources.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/DebugXaResources.java?rev=1490187&view=auto
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/DebugXaResources.java (added)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/DebugXaResources.java Thu Jun 6 08:02:14 2013
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * 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.config.model;
+
+import org.ofbiz.base.lang.ThreadSafe;
+import org.ofbiz.entity.GenericEntityConfException;
+import org.w3c.dom.Element;
+
+/**
+ * An object that models the <code><debug-xa-resources></code> element.
+ *
+ * @see <code>entity-config.xsd</code>
+ */
+@ThreadSafe
+public final class DebugXaResources {
+
+ private final String value; // type = xs:string
+
+ public DebugXaResources(Element element) throws GenericEntityConfException {
+ String value = element.getAttribute("value").intern();
+ if (value.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element value attribute is empty");
+ }
+ this.value = value;
+ }
+
+ /** Returns the value of the <code>value</code> attribute. */
+ public String getValue() {
+ return this.value;
+ }
+}
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/DebugXaResources.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/DebugXaResources.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Rev URL
Added: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/Delegator.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/Delegator.java?rev=1490187&view=auto
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/Delegator.java (added)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/Delegator.java Thu Jun 6 08:02:14 2013
@@ -0,0 +1,177 @@
+/*******************************************************************************
+ * 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.config.model;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.ofbiz.base.lang.ThreadSafe;
+import org.ofbiz.base.util.UtilXml;
+import org.ofbiz.entity.GenericEntityConfException;
+import org.w3c.dom.Element;
+
+/**
+ * An object that models the <code><delegator></code> element.
+ *
+ * @see <code>entity-config.xsd</code>
+ */
+@ThreadSafe
+public final class Delegator {
+
+ private final String name; // type = xs:string
+ private final String entityModelReader; // type = xs:string
+ private final String entityGroupReader; // type = xs:string
+ private final String entityEcaReader; // type = xs:string
+ private final String entityEcaEnabled;
+ private final String entityEcaHandlerClassName; // type = xs:string
+ private final String distributedCacheClearEnabled;
+ private final String distributedCacheClearClassName; // type = xs:string
+ private final String distributedCacheClearUserLoginId; // type = xs:string
+ private final String sequencedIdPrefix; // type = xs:string
+ private final String defaultGroupName; // type = xs:string
+ private final String keyEncryptingKey; // type = xs:string
+ private final List<GroupMap> groupMapList; // <group-map>
+
+ public Delegator(Element element) throws GenericEntityConfException {
+ String name = element.getAttribute("name").intern();
+ if (name.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element name attribute is empty");
+ }
+ this.name = name;
+ String entityModelReader = element.getAttribute("entity-model-reader").intern();
+ if (entityModelReader.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element entity-model-reader attribute is empty");
+ }
+ this.entityModelReader = entityModelReader;
+ String entityGroupReader = element.getAttribute("entity-group-reader").intern();
+ if (entityGroupReader.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element entity-group-reader attribute is empty");
+ }
+ this.entityGroupReader = entityGroupReader;
+ this.entityEcaReader = element.getAttribute("entity-eca-reader").intern();
+ String entityEcaEnabled = element.getAttribute("entity-eca-enabled").intern();
+ if (entityEcaEnabled.isEmpty()) {
+ entityEcaEnabled = "true";
+ }
+ this.entityEcaEnabled = entityEcaEnabled;
+ String entityEcaHandlerClassName = element.getAttribute("entity-eca-handler-class-name").intern();
+ if (entityEcaHandlerClassName.isEmpty()) {
+ entityEcaHandlerClassName = "org.ofbiz.entityext.eca.DelegatorEcaHandler";
+ }
+ this.entityEcaHandlerClassName = entityEcaHandlerClassName;
+ String distributedCacheClearEnabled = element.getAttribute("distributed-cache-clear-enabled").intern();
+ if (distributedCacheClearEnabled.isEmpty()) {
+ distributedCacheClearEnabled = "false";
+ }
+ this.distributedCacheClearEnabled = distributedCacheClearEnabled;
+ String distributedCacheClearClassName = element.getAttribute("distributed-cache-clear-class-name").intern();
+ if (distributedCacheClearClassName.isEmpty()) {
+ distributedCacheClearClassName = "org.ofbiz.entityext.cache.EntityCacheServices";
+ }
+ this.distributedCacheClearClassName = distributedCacheClearClassName;
+ String distributedCacheClearUserLoginId = element.getAttribute("distributed-cache-clear-user-login-id").intern();
+ if (distributedCacheClearUserLoginId.isEmpty()) {
+ distributedCacheClearUserLoginId = "system";
+ }
+ this.distributedCacheClearUserLoginId = distributedCacheClearUserLoginId;
+ this.sequencedIdPrefix = element.getAttribute("sequenced-id-prefix").intern();
+ String defaultGroupName = element.getAttribute("default-group-name").intern();
+ if (defaultGroupName.isEmpty()) {
+ defaultGroupName = "org.ofbiz";
+ }
+ this.defaultGroupName = defaultGroupName;
+ this.keyEncryptingKey = element.getAttribute("key-encrypting-key").intern();
+ List<? extends Element> groupMapElementList = UtilXml.childElementList(element, "group-map");
+ if (groupMapElementList.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element child elements <group-map> are missing");
+ } else {
+ List<GroupMap> groupMapList = new ArrayList<GroupMap>(groupMapElementList.size());
+ for (Element groupMapElement : groupMapElementList) {
+ groupMapList.add(new GroupMap(groupMapElement));
+ }
+ this.groupMapList = Collections.unmodifiableList(groupMapList);
+ }
+ }
+
+ /** Returns the value of the <code>name</code> attribute. */
+ public String getName() {
+ return this.name;
+ }
+
+ /** Returns the value of the <code>entity-model-reader</code> attribute. */
+ public String getEntityModelReader() {
+ return this.entityModelReader;
+ }
+
+ /** Returns the value of the <code>entity-group-reader</code> attribute. */
+ public String getEntityGroupReader() {
+ return this.entityGroupReader;
+ }
+
+ /** Returns the value of the <code>entity-eca-reader</code> attribute. */
+ public String getEntityEcaReader() {
+ return this.entityEcaReader;
+ }
+
+ /** Returns the value of the <code>entity-eca-enabled</code> attribute. */
+ public String getEntityEcaEnabled() {
+ return this.entityEcaEnabled;
+ }
+
+ /** Returns the value of the <code>entity-eca-handler-class-name</code> attribute. */
+ public String getEntityEcaHandlerClassName() {
+ return this.entityEcaHandlerClassName;
+ }
+
+ /** Returns the value of the <code>distributed-cache-clear-enabled</code> attribute. */
+ public String getDistributedCacheClearEnabled() {
+ return this.distributedCacheClearEnabled;
+ }
+
+ /** Returns the value of the <code>distributed-cache-clear-class-name</code> attribute. */
+ public String getDistributedCacheClearClassName() {
+ return this.distributedCacheClearClassName;
+ }
+
+ /** Returns the value of the <code>distributed-cache-clear-user-login-id</code> attribute. */
+ public String getDistributedCacheClearUserLoginId() {
+ return this.distributedCacheClearUserLoginId;
+ }
+
+ /** Returns the value of the <code>sequenced-id-prefix</code> attribute. */
+ public String getSequencedIdPrefix() {
+ return this.sequencedIdPrefix;
+ }
+
+ /** Returns the value of the <code>default-group-name</code> attribute. */
+ public String getDefaultGroupName() {
+ return this.defaultGroupName;
+ }
+
+ /** Returns the value of the <code>key-encrypting-key</code> attribute. */
+ public String getKeyEncryptingKey() {
+ return this.keyEncryptingKey;
+ }
+
+ /** Returns the <code><group-map></code> child elements. */
+ public List<GroupMap> getGroupMapList() {
+ return this.groupMapList;
+ }
+}
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/Delegator.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/Delegator.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Rev URL
Added: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityConfig.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityConfig.java?rev=1490187&view=auto
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityConfig.java (added)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityConfig.java Thu Jun 6 08:02:14 2013
@@ -0,0 +1,205 @@
+/*******************************************************************************
+ * 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.config.model;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.ofbiz.base.lang.ThreadSafe;
+import org.ofbiz.base.util.UtilXml;
+import org.ofbiz.entity.GenericEntityConfException;
+import org.w3c.dom.Element;
+
+/**
+ * An object that models the <code><entity-config></code> element.
+ *
+ * @see <code>entity-config.xsd</code>
+ */
+@ThreadSafe
+public final class EntityConfig {
+
+ private final List<ResourceLoader> resourceLoaderList; // <resource-loader>
+ private final TransactionFactory transactionFactory; // <transaction-factory>
+ private final ConnectionFactory connectionFactory; // <connection-factory>
+ private final DebugXaResources debugXaResources; // <debug-xa-resources>
+ private final List<Delegator> delegatorList; // <delegator>
+ private final List<EntityModelReader> entityModelReaderList; // <entity-model-reader>
+ private final List<EntityGroupReader> entityGroupReaderList; // <entity-group-reader>
+ private final List<EntityEcaReader> entityEcaReaderList; // <entity-eca-reader>
+ private final List<EntityDataReader> entityDataReaderList; // <entity-data-reader>
+ private final List<FieldType> fieldTypeList; // <field-type>
+ private final List<Datasource> datasourceList; // <datasource>
+
+ public EntityConfig(Element element) throws GenericEntityConfException {
+ List<? extends Element> resourceLoaderElementList = UtilXml.childElementList(element, "resource-loader");
+ if (resourceLoaderElementList.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element child elements <resource-loader> are missing");
+ } else {
+ List<ResourceLoader> resourceLoaderList = new ArrayList<ResourceLoader>(resourceLoaderElementList.size());
+ for (Element resourceLoaderElement : resourceLoaderElementList) {
+ resourceLoaderList.add(new ResourceLoader(resourceLoaderElement));
+ }
+ this.resourceLoaderList = Collections.unmodifiableList(resourceLoaderList);
+ }
+ Element transactionFactoryElement = UtilXml.firstChildElement(element, "transaction-factory");
+ if (transactionFactoryElement == null) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element child element <transaction-factory> is missing");
+ } else {
+ this.transactionFactory = new TransactionFactory(transactionFactoryElement);
+ }
+ Element connectionFactoryElement = UtilXml.firstChildElement(element, "connection-factory");
+ if (connectionFactoryElement == null) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element child element <connection-factory> is missing");
+ } else {
+ this.connectionFactory = new ConnectionFactory(connectionFactoryElement);
+ }
+ Element debugXaResourcesElement = UtilXml.firstChildElement(element, "debug-xa-resources");
+ if (debugXaResourcesElement == null) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element child element <debug-xa-resources> is missing");
+ } else {
+ this.debugXaResources = new DebugXaResources(debugXaResourcesElement);
+ }
+ List<? extends Element> delegatorElementList = UtilXml.childElementList(element, "delegator");
+ if (delegatorElementList.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element child elements <delegator> are missing");
+ } else {
+ List<Delegator> delegatorList = new ArrayList<Delegator>(delegatorElementList.size());
+ for (Element delegatorElement : delegatorElementList) {
+ delegatorList.add(new Delegator(delegatorElement));
+ }
+ this.delegatorList = Collections.unmodifiableList(delegatorList);
+ }
+ List<? extends Element> entityModelReaderElementList = UtilXml.childElementList(element, "entity-model-reader");
+ if (entityModelReaderElementList.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element child elements <entity-model-reader> are missing");
+ } else {
+ List<EntityModelReader> entityModelReaderList = new ArrayList<EntityModelReader>(entityModelReaderElementList.size());
+ for (Element entityModelReaderElement : entityModelReaderElementList) {
+ entityModelReaderList.add(new EntityModelReader(entityModelReaderElement));
+ }
+ this.entityModelReaderList = Collections.unmodifiableList(entityModelReaderList);
+ }
+ List<? extends Element> entityGroupReaderElementList = UtilXml.childElementList(element, "entity-group-reader");
+ if (entityGroupReaderElementList.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element child elements <entity-group-reader> are missing");
+ } else {
+ List<EntityGroupReader> entityGroupReaderList = new ArrayList<EntityGroupReader>(entityGroupReaderElementList.size());
+ for (Element entityGroupReaderElement : entityGroupReaderElementList) {
+ entityGroupReaderList.add(new EntityGroupReader(entityGroupReaderElement));
+ }
+ this.entityGroupReaderList = Collections.unmodifiableList(entityGroupReaderList);
+ }
+ List<? extends Element> entityEcaReaderElementList = UtilXml.childElementList(element, "entity-eca-reader");
+ if (entityEcaReaderElementList.isEmpty()) {
+ this.entityEcaReaderList = Collections.emptyList();
+ } else {
+ List<EntityEcaReader> entityEcaReaderList = new ArrayList<EntityEcaReader>(entityEcaReaderElementList.size());
+ for (Element entityEcaReaderElement : entityEcaReaderElementList) {
+ entityEcaReaderList.add(new EntityEcaReader(entityEcaReaderElement));
+ }
+ this.entityEcaReaderList = Collections.unmodifiableList(entityEcaReaderList);
+ }
+ List<? extends Element> entityDataReaderElementList = UtilXml.childElementList(element, "entity-data-reader");
+ if (entityDataReaderElementList.isEmpty()) {
+ this.entityDataReaderList = Collections.emptyList();
+ } else {
+ List<EntityDataReader> entityDataReaderList = new ArrayList<EntityDataReader>(entityDataReaderElementList.size());
+ for (Element entityDataReaderElement : entityDataReaderElementList) {
+ entityDataReaderList.add(new EntityDataReader(entityDataReaderElement));
+ }
+ this.entityDataReaderList = Collections.unmodifiableList(entityDataReaderList);
+ }
+ List<? extends Element> fieldTypeElementList = UtilXml.childElementList(element, "field-type");
+ if (fieldTypeElementList.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element child elements <field-type> are missing");
+ } else {
+ List<FieldType> fieldTypeList = new ArrayList<FieldType>(fieldTypeElementList.size());
+ for (Element fieldTypeElement : fieldTypeElementList) {
+ fieldTypeList.add(new FieldType(fieldTypeElement));
+ }
+ this.fieldTypeList = Collections.unmodifiableList(fieldTypeList);
+ }
+ List<? extends Element> datasourceElementList = UtilXml.childElementList(element, "datasource");
+ if (datasourceElementList.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element child elements <datasource> are missing");
+ } else {
+ List<Datasource> datasourceList = new ArrayList<Datasource>(datasourceElementList.size());
+ for (Element datasourceElement : datasourceElementList) {
+ datasourceList.add(new Datasource(datasourceElement));
+ }
+ this.datasourceList = Collections.unmodifiableList(datasourceList);
+ }
+ }
+
+ /** Returns the <code><resource-loader></code> child elements. */
+ public List<ResourceLoader> getResourceLoaderList() {
+ return this.resourceLoaderList;
+ }
+
+ /** Returns the <code><transaction-factory></code> child element, or <code>null</code> if no child element was found. */
+ public TransactionFactory getTransactionFactory() {
+ return this.transactionFactory;
+ }
+
+ /** Returns the <code><connection-factory></code> child element, or <code>null</code> if no child element was found. */
+ public ConnectionFactory getConnectionFactory() {
+ return this.connectionFactory;
+ }
+
+ /** Returns the <code><debug-xa-resources></code> child element, or <code>null</code> if no child element was found. */
+ public DebugXaResources getDebugXaResources() {
+ return this.debugXaResources;
+ }
+
+ /** Returns the <code><delegator></code> child elements. */
+ public List<Delegator> getDelegatorList() {
+ return this.delegatorList;
+ }
+
+ /** Returns the <code><entity-model-reader></code> child elements. */
+ public List<EntityModelReader> getEntityModelReaderList() {
+ return this.entityModelReaderList;
+ }
+
+ /** Returns the <code><entity-group-reader></code> child elements. */
+ public List<EntityGroupReader> getEntityGroupReaderList() {
+ return this.entityGroupReaderList;
+ }
+
+ /** Returns the <code><entity-eca-reader></code> child elements. */
+ public List<EntityEcaReader> getEntityEcaReaderList() {
+ return this.entityEcaReaderList;
+ }
+
+ /** Returns the <code><entity-data-reader></code> child elements. */
+ public List<EntityDataReader> getEntityDataReaderList() {
+ return this.entityDataReaderList;
+ }
+
+ /** Returns the <code><field-type></code> child elements. */
+ public List<FieldType> getFieldTypeList() {
+ return this.fieldTypeList;
+ }
+
+ /** Returns the <code><datasource></code> child elements. */
+ public List<Datasource> getDatasourceList() {
+ return this.datasourceList;
+ }
+}
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityConfig.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityConfig.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Rev URL
Added: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityDataReader.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityDataReader.java?rev=1490187&view=auto
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityDataReader.java (added)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityDataReader.java Thu Jun 6 08:02:14 2013
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * 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.config.model;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.ofbiz.base.lang.ThreadSafe;
+import org.ofbiz.base.util.UtilXml;
+import org.ofbiz.entity.GenericEntityConfException;
+import org.w3c.dom.Element;
+
+/**
+ * An object that models the <code><entity-data-reader></code> element.
+ *
+ * @see <code>entity-config.xsd</code>
+ */
+@ThreadSafe
+public final class EntityDataReader {
+
+ private final String name; // type = xs:string
+ private final List<Resource> resourceList; // <resource>
+
+ public EntityDataReader(Element element) throws GenericEntityConfException {
+ String name = element.getAttribute("name").intern();
+ if (name.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element name attribute is empty");
+ }
+ this.name = name;
+ List<? extends Element> resourceElementList = UtilXml.childElementList(element, "resource");
+ if (resourceElementList.isEmpty()) {
+ this.resourceList = Collections.emptyList();
+ } else {
+ List<Resource> resourceList = new ArrayList<Resource>(resourceElementList.size());
+ for (Element resourceElement : resourceElementList) {
+ resourceList.add(new Resource(resourceElement));
+ }
+ this.resourceList = Collections.unmodifiableList(resourceList);
+ }
+ }
+
+ /** Returns the value of the <code>name</code> attribute. */
+ public String getName() {
+ return this.name;
+ }
+
+ /** Returns the <code><resource></code> child elements. */
+ public List<Resource> getResourceList() {
+ return this.resourceList;
+ }
+}
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityDataReader.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityDataReader.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Rev URL
Added: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityEcaReader.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityEcaReader.java?rev=1490187&view=auto
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityEcaReader.java (added)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityEcaReader.java Thu Jun 6 08:02:14 2013
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * 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.config.model;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.ofbiz.base.lang.ThreadSafe;
+import org.ofbiz.base.util.UtilXml;
+import org.ofbiz.entity.GenericEntityConfException;
+import org.w3c.dom.Element;
+
+/**
+ * An object that models the <code><entity-eca-reader></code> element.
+ *
+ * @see <code>entity-config.xsd</code>
+ */
+@ThreadSafe
+public final class EntityEcaReader {
+
+ private final String name; // type = xs:string
+ private final List<Resource> resourceList; // <resource>
+
+ public EntityEcaReader(Element element) throws GenericEntityConfException {
+ String name = element.getAttribute("name").intern();
+ if (name.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element name attribute is empty");
+ }
+ this.name = name;
+ List<? extends Element> resourceElementList = UtilXml.childElementList(element, "resource");
+ if (resourceElementList.isEmpty()) {
+ this.resourceList = Collections.emptyList();
+ } else {
+ List<Resource> resourceList = new ArrayList<Resource>(resourceElementList.size());
+ for (Element resourceElement : resourceElementList) {
+ resourceList.add(new Resource(resourceElement));
+ }
+ this.resourceList = Collections.unmodifiableList(resourceList);
+ }
+ }
+
+ /** Returns the value of the <code>name</code> attribute. */
+ public String getName() {
+ return this.name;
+ }
+
+ /** Returns the <code><resource></code> child elements. */
+ public List<Resource> getResourceList() {
+ return this.resourceList;
+ }
+}
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityEcaReader.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityEcaReader.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Rev URL
Added: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityGroupReader.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityGroupReader.java?rev=1490187&view=auto
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityGroupReader.java (added)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityGroupReader.java Thu Jun 6 08:02:14 2013
@@ -0,0 +1,82 @@
+/*******************************************************************************
+ * 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.config.model;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.ofbiz.base.lang.ThreadSafe;
+import org.ofbiz.base.util.UtilXml;
+import org.ofbiz.entity.GenericEntityConfException;
+import org.w3c.dom.Element;
+
+/**
+ * An object that models the <code><entity-group-reader></code> element.
+ *
+ * @see <code>entity-config.xsd</code>
+ */
+@ThreadSafe
+public final class EntityGroupReader {
+
+ private final String name; // type = xs:string
+ private final String loader; // type = xs:string
+ private final String location; // type = xs:string
+ private final List<Resource> resourceList; // <resource>
+
+ public EntityGroupReader(Element element) throws GenericEntityConfException {
+ String name = element.getAttribute("name").intern();
+ if (name.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element name attribute is empty");
+ }
+ this.name = name;
+ this.loader = element.getAttribute("loader").intern();
+ this.location = element.getAttribute("location").intern();
+ List<? extends Element> resourceElementList = UtilXml.childElementList(element, "resource");
+ if (resourceElementList.isEmpty()) {
+ this.resourceList = Collections.emptyList();
+ } else {
+ List<Resource> resourceList = new ArrayList<Resource>(resourceElementList.size());
+ for (Element resourceElement : resourceElementList) {
+ resourceList.add(new Resource(resourceElement));
+ }
+ this.resourceList = Collections.unmodifiableList(resourceList);
+ }
+ }
+
+ /** Returns the value of the <code>name</code> attribute. */
+ public String getName() {
+ return this.name;
+ }
+
+ /** Returns the value of the <code>loader</code> attribute. */
+ public String getLoader() {
+ return this.loader;
+ }
+
+ /** Returns the value of the <code>location</code> attribute. */
+ public String getLocation() {
+ return this.location;
+ }
+
+ /** Returns the <code><resource></code> child elements. */
+ public List<Resource> getResourceList() {
+ return this.resourceList;
+ }
+}
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityGroupReader.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityGroupReader.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Rev URL
Added: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityModelReader.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityModelReader.java?rev=1490187&view=auto
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityModelReader.java (added)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityModelReader.java Thu Jun 6 08:02:14 2013
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * 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.config.model;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.ofbiz.base.lang.ThreadSafe;
+import org.ofbiz.base.util.UtilXml;
+import org.ofbiz.entity.GenericEntityConfException;
+import org.w3c.dom.Element;
+
+/**
+ * An object that models the <code><entity-model-reader></code> element.
+ *
+ * @see <code>entity-config.xsd</code>
+ */
+@ThreadSafe
+public final class EntityModelReader {
+
+ private final String name; // type = xs:string
+ private final List<Resource> resourceList; // <resource>
+
+ public EntityModelReader(Element element) throws GenericEntityConfException {
+ String name = element.getAttribute("name").intern();
+ if (name.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element name attribute is empty");
+ }
+ this.name = name;
+ List<? extends Element> resourceElementList = UtilXml.childElementList(element, "resource");
+ if (resourceElementList.isEmpty()) {
+ this.resourceList = Collections.emptyList();
+ } else {
+ List<Resource> resourceList = new ArrayList<Resource>(resourceElementList.size());
+ for (Element resourceElement : resourceElementList) {
+ resourceList.add(new Resource(resourceElement));
+ }
+ this.resourceList = Collections.unmodifiableList(resourceList);
+ }
+ }
+
+ /** Returns the value of the <code>name</code> attribute. */
+ public String getName() {
+ return this.name;
+ }
+
+ /** Returns the <code><resource></code> child elements. */
+ public List<Resource> getResourceList() {
+ return this.resourceList;
+ }
+}
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityModelReader.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/EntityModelReader.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Rev URL
Added: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/FieldType.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/FieldType.java?rev=1490187&view=auto
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/FieldType.java (added)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/FieldType.java Thu Jun 6 08:02:14 2013
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * 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.config.model;
+
+import org.ofbiz.base.lang.ThreadSafe;
+import org.ofbiz.entity.GenericEntityConfException;
+import org.w3c.dom.Element;
+
+/**
+ * An object that models the <code><field-type></code> element.
+ *
+ * @see <code>entity-config.xsd</code>
+ */
+@ThreadSafe
+public final class FieldType {
+
+ private final String name; // type = xs:string
+ private final String loader; // type = xs:string
+ private final String location; // type = xs:string
+
+ public FieldType(Element element) throws GenericEntityConfException {
+ String name = element.getAttribute("name").intern();
+ if (name.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element name attribute is empty");
+ }
+ this.name = name;
+ String loader = element.getAttribute("loader").intern();
+ if (loader.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element loader attribute is empty");
+ }
+ this.loader = loader;
+ String location = element.getAttribute("location").intern();
+ if (location.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element location attribute is empty");
+ }
+ this.location = location;
+ }
+
+ /** Returns the value of the <code>name</code> attribute. */
+ public String getName() {
+ return this.name;
+ }
+
+ /** Returns the value of the <code>loader</code> attribute. */
+ public String getLoader() {
+ return this.loader;
+ }
+
+ /** Returns the value of the <code>location</code> attribute. */
+ public String getLocation() {
+ return this.location;
+ }
+}
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/FieldType.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/FieldType.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Rev URL
Added: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/GroupMap.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/GroupMap.java?rev=1490187&view=auto
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/GroupMap.java (added)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/GroupMap.java Thu Jun 6 08:02:14 2013
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * 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.config.model;
+
+import org.ofbiz.base.lang.ThreadSafe;
+import org.ofbiz.entity.GenericEntityConfException;
+import org.w3c.dom.Element;
+
+/**
+ * An object that models the <code><group-map></code> element.
+ *
+ * @see <code>entity-config.xsd</code>
+ */
+@ThreadSafe
+public final class GroupMap {
+
+ private final String groupName; // type = xs:string
+ private final String datasourceName; // type = xs:string
+
+ public GroupMap(Element element) throws GenericEntityConfException {
+ String groupName = element.getAttribute("group-name").intern();
+ if (groupName.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element group-name attribute is empty");
+ }
+ this.groupName = groupName;
+ String datasourceName = element.getAttribute("datasource-name").intern();
+ if (datasourceName.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element datasource-name attribute is empty");
+ }
+ this.datasourceName = datasourceName;
+ }
+
+ /** Returns the value of the <code>group-name</code> attribute. */
+ public String getGroupName() {
+ return this.groupName;
+ }
+
+ /** Returns the value of the <code>datasource-name</code> attribute. */
+ public String getDatasourceName() {
+ return this.datasourceName;
+ }
+}
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/GroupMap.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/GroupMap.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Rev URL
Added: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/InlineJdbc.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/InlineJdbc.java?rev=1490187&view=auto
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/InlineJdbc.java (added)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/InlineJdbc.java Thu Jun 6 08:02:14 2013
@@ -0,0 +1,188 @@
+/*******************************************************************************
+ * 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.config.model;
+
+import org.ofbiz.base.lang.ThreadSafe;
+import org.ofbiz.entity.GenericEntityConfException;
+import org.w3c.dom.Element;
+
+/**
+ * An object that models the <code><inline-jdbc></code> element.
+ *
+ * @see <code>entity-config.xsd</code>
+ */
+@ThreadSafe
+public final class InlineJdbc {
+
+ private final String jdbcDriver; // type = xs:string
+ private final String jdbcUri; // type = xs:string
+ private final String jdbcUsername; // type = xs:string
+ private final String jdbcPassword; // type = xs:string
+ private final String jdbcPasswordLookup; // type = xs:string
+ private final String isolationLevel;
+ private final String poolMaxsize; // type = xs:nonNegativeInteger
+ private final String poolMinsize; // type = xs:nonNegativeInteger
+ private final String idleMaxsize; // type = xs:nonNegativeInteger
+ private final String timeBetweenEvictionRunsMillis; // type = xs:nonNegativeInteger
+ private final String poolSleeptime; // type = xs:nonNegativeInteger
+ private final String poolLifetime; // type = xs:nonNegativeInteger
+ private final String poolDeadlockMaxwait; // type = xs:nonNegativeInteger
+ private final String poolDeadlockRetrywait; // type = xs:nonNegativeInteger
+ private final String poolJdbcTestStmt; // type = xs:string
+ private final String poolXaWrapperClass; // type = xs:string
+
+ public InlineJdbc(Element element) throws GenericEntityConfException {
+ String jdbcDriver = element.getAttribute("jdbc-driver").intern();
+ if (jdbcDriver.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element jdbc-driver attribute is empty");
+ }
+ this.jdbcDriver = jdbcDriver;
+ String jdbcUri = element.getAttribute("jdbc-uri").intern();
+ if (jdbcUri.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element jdbc-uri attribute is empty");
+ }
+ this.jdbcUri = jdbcUri;
+ String jdbcUsername = element.getAttribute("jdbc-username").intern();
+ if (jdbcUsername.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element jdbc-username attribute is empty");
+ }
+ this.jdbcUsername = jdbcUsername;
+ this.jdbcPassword = element.getAttribute("jdbc-password").intern();
+ this.jdbcPasswordLookup = element.getAttribute("jdbc-password-lookup").intern();
+ this.isolationLevel = element.getAttribute("isolation-level").intern();
+ String poolMaxsize = element.getAttribute("pool-maxsize").intern();
+ if (poolMaxsize.isEmpty()) {
+ poolMaxsize = "50";
+ }
+ this.poolMaxsize = poolMaxsize;
+ String poolMinsize = element.getAttribute("pool-minsize").intern();
+ if (poolMinsize.isEmpty()) {
+ poolMinsize = "2";
+ }
+ this.poolMinsize = poolMinsize;
+ this.idleMaxsize = element.getAttribute("idle-maxsize").intern();
+ String timeBetweenEvictionRunsMillis = element.getAttribute("time-between-eviction-runs-millis").intern();
+ if (timeBetweenEvictionRunsMillis.isEmpty()) {
+ timeBetweenEvictionRunsMillis = "600000";
+ }
+ this.timeBetweenEvictionRunsMillis = timeBetweenEvictionRunsMillis;
+ String poolSleeptime = element.getAttribute("pool-sleeptime").intern();
+ if (poolSleeptime.isEmpty()) {
+ poolSleeptime = "300000";
+ }
+ this.poolSleeptime = poolSleeptime;
+ String poolLifetime = element.getAttribute("pool-lifetime").intern();
+ if (poolLifetime.isEmpty()) {
+ poolLifetime = "600000";
+ }
+ this.poolLifetime = poolLifetime;
+ String poolDeadlockMaxwait = element.getAttribute("pool-deadlock-maxwait").intern();
+ if (poolDeadlockMaxwait.isEmpty()) {
+ poolDeadlockMaxwait = "300000";
+ }
+ this.poolDeadlockMaxwait = poolDeadlockMaxwait;
+ String poolDeadlockRetrywait = element.getAttribute("pool-deadlock-retrywait").intern();
+ if (poolDeadlockRetrywait.isEmpty()) {
+ poolDeadlockRetrywait = "10000";
+ }
+ this.poolDeadlockRetrywait = poolDeadlockRetrywait;
+ this.poolJdbcTestStmt = element.getAttribute("pool-jdbc-test-stmt").intern();
+ this.poolXaWrapperClass = element.getAttribute("pool-xa-wrapper-class").intern();
+ }
+
+ /** Returns the value of the <code>jdbc-driver</code> attribute. */
+ public String getJdbcDriver() {
+ return this.jdbcDriver;
+ }
+
+ /** Returns the value of the <code>jdbc-uri</code> attribute. */
+ public String getJdbcUri() {
+ return this.jdbcUri;
+ }
+
+ /** Returns the value of the <code>jdbc-username</code> attribute. */
+ public String getJdbcUsername() {
+ return this.jdbcUsername;
+ }
+
+ /** Returns the value of the <code>jdbc-password</code> attribute. */
+ public String getJdbcPassword() {
+ return this.jdbcPassword;
+ }
+
+ /** Returns the value of the <code>jdbc-password-lookup</code> attribute. */
+ public String getJdbcPasswordLookup() {
+ return this.jdbcPasswordLookup;
+ }
+
+ /** Returns the value of the <code>isolation-level</code> attribute. */
+ public String getIsolationLevel() {
+ return this.isolationLevel;
+ }
+
+ /** Returns the value of the <code>pool-maxsize</code> attribute. */
+ public String getPoolMaxsize() {
+ return this.poolMaxsize;
+ }
+
+ /** Returns the value of the <code>pool-minsize</code> attribute. */
+ public String getPoolMinsize() {
+ return this.poolMinsize;
+ }
+
+ /** Returns the value of the <code>idle-maxsize</code> attribute. */
+ public String getIdleMaxsize() {
+ return this.idleMaxsize;
+ }
+
+ /** Returns the value of the <code>time-between-eviction-runs-millis</code> attribute. */
+ public String getTimeBetweenEvictionRunsMillis() {
+ return this.timeBetweenEvictionRunsMillis;
+ }
+
+ /** Returns the value of the <code>pool-sleeptime</code> attribute. */
+ public String getPoolSleeptime() {
+ return this.poolSleeptime;
+ }
+
+ /** Returns the value of the <code>pool-lifetime</code> attribute. */
+ public String getPoolLifetime() {
+ return this.poolLifetime;
+ }
+
+ /** Returns the value of the <code>pool-deadlock-maxwait</code> attribute. */
+ public String getPoolDeadlockMaxwait() {
+ return this.poolDeadlockMaxwait;
+ }
+
+ /** Returns the value of the <code>pool-deadlock-retrywait</code> attribute. */
+ public String getPoolDeadlockRetrywait() {
+ return this.poolDeadlockRetrywait;
+ }
+
+ /** Returns the value of the <code>pool-jdbc-test-stmt</code> attribute. */
+ public String getPoolJdbcTestStmt() {
+ return this.poolJdbcTestStmt;
+ }
+
+ /** Returns the value of the <code>pool-xa-wrapper-class</code> attribute. */
+ public String getPoolXaWrapperClass() {
+ return this.poolXaWrapperClass;
+ }
+}
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/InlineJdbc.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/InlineJdbc.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Rev URL
Added: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/JndiJdbc.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/JndiJdbc.java?rev=1490187&view=auto
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/JndiJdbc.java (added)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/JndiJdbc.java Thu Jun 6 08:02:14 2013
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * 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.config.model;
+
+import org.ofbiz.base.lang.ThreadSafe;
+import org.ofbiz.entity.GenericEntityConfException;
+import org.w3c.dom.Element;
+
+/**
+ * An object that models the <code><jndi-jdbc></code> element.
+ *
+ * @see <code>entity-config.xsd</code>
+ */
+@ThreadSafe
+public final class JndiJdbc {
+
+ private final String jndiServerName; // type = xs:string
+ private final String jndiName; // type = xs:string
+ private final String isolationLevel;
+
+ public JndiJdbc(Element element) throws GenericEntityConfException {
+ String jndiServerName = element.getAttribute("jndi-server-name").intern();
+ if (jndiServerName.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element jndi-server-name attribute is empty");
+ }
+ this.jndiServerName = jndiServerName;
+ String jndiName = element.getAttribute("jndi-name").intern();
+ if (jndiName.isEmpty()) {
+ throw new GenericEntityConfException("<" + element.getNodeName() + "> element jndi-name attribute is empty");
+ }
+ this.jndiName = jndiName;
+ this.isolationLevel = element.getAttribute("isolation-level").intern();
+ }
+
+ /** Returns the value of the <code>jndi-server-name</code> attribute. */
+ public String getJndiServerName() {
+ return this.jndiServerName;
+ }
+
+ /** Returns the value of the <code>jndi-name</code> attribute. */
+ public String getJndiName() {
+ return this.jndiName;
+ }
+
+ /** Returns the value of the <code>isolation-level</code> attribute. */
+ public String getIsolationLevel() {
+ return this.isolationLevel;
+ }
+}
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/JndiJdbc.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/config/model/JndiJdbc.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Rev URL