teiid SVN: r760 - branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2009-04-12 17:30:53 -0400 (Sun, 12 Apr 2009)
New Revision: 760
Modified:
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/BasicConfigurationObjectEditor.java
Log:
Teiid 323 - refactured the xml configuration classes to simplify importing/exporting and to clean up the removal of psc, resourcepool and product type related info
Modified: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/BasicConfigurationObjectEditor.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/BasicConfigurationObjectEditor.java 2009-04-12 20:09:44 UTC (rev 759)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/BasicConfigurationObjectEditor.java 2009-04-12 21:30:53 UTC (rev 760)
@@ -2850,7 +2850,7 @@
// }
// }
//this will overwrite the service if it already is in the Configuration
- targetConfig.addComponentDefn(basicService);
+ // targetConfig.addComponentDefn(basicService);
return deployComponent;
15 years, 8 months
teiid SVN: r759 - branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/util.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2009-04-12 16:09:44 -0400 (Sun, 12 Apr 2009)
New Revision: 759
Modified:
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/util/ConfigurationImportExportUtility.java
Log:
Teiid 323 - refactured, removing duplicate methods
Modified: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/util/ConfigurationImportExportUtility.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/util/ConfigurationImportExportUtility.java 2009-04-12 20:08:18 UTC (rev 758)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/util/ConfigurationImportExportUtility.java 2009-04-12 20:09:44 UTC (rev 759)
@@ -93,7 +93,7 @@
* that cannot be resolved to other configuration objects in the passed in
* Collection
*/
- public void exportConfiguration(OutputStream stream, Collection configurationObjects, Properties props)throws IOException, ConfigObjectsNotResolvableException;
+ public void exportConfiguration(OutputStream stream, Collection<?> configurationObjects, Properties props)throws IOException, ConfigObjectsNotResolvableException;
@@ -128,7 +128,7 @@
* the representation of the configuration element as it exists in the
* InputStream resource, usually some type of formatting problem.
*/
- public Collection importConfigurationObjects(InputStream stream, ConfigurationObjectEditor editor, String newName)throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException;
+ public Collection<?> importConfigurationObjects(InputStream stream, ConfigurationObjectEditor editor, String newName)throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException;
/**
* <p>This method will be used to import a ComponentType Object from given a
@@ -168,7 +168,7 @@
* the representation of the configuration element as it exists in the
* DirectoryEntry resource, usually some type of formatting problem.
*/
- public Collection importComponentTypes(InputStream stream,
+ public Collection<?> importComponentTypes(InputStream stream,
ConfigurationObjectEditor editor)
throws IOException, InvalidConfigurationElementException;
@@ -268,30 +268,6 @@
public void exportConnectorBindings(OutputStream stream, ConnectorBinding[] bindings, ComponentType[] types, Properties props) throws IOException, ConfigObjectsNotResolvableException ;
/**
- * <p>This method will be used to import a Connector ComponentType Object from given a
- * InputStream .</p>
- *
- * <p>This method also allows you to rename the imported ComponentType object
- * possibly to avoid name conflicts with other objects already in the server.</p>
- *
- * <p>If the name parameter submitted is null, the name of the configuration
- * object as it exists in the InputStream will be used.</p>
- *
- * @param editor the ConfigurationObjectEditor to use to create the Configuration
- * objects in the InputStream resource.
- * @param stream the input stream to read the configuration object
- * representation from
- * @return the configuration object that was represented as data in the
- * InputStream resource
- * @param name the name for the ComponentType object to be created.
- * @throws IOException if there is an error reading from the InputStream
- * @throws InvalidConfigurationElementException if there is a problem with
- * the representation of the configuration element as it exists in the
- * InputStream resource, usually some type of formatting problem.
- */
- public ComponentType importConnector(InputStream stream, ConfigurationObjectEditor editor, String newName)throws IOException, InvalidConfigurationElementException;
-
- /**
* <p>This method will be used to import a group of Connector Bindings
* Objects given a ImputStream. If the ImputStream resource does not contain enough
* data to recombine a complete Connector, then a ConfigurationObjectsNotResolvableException
@@ -321,7 +297,7 @@
* the representation of the configuration element as it exists in the
* InputStream resource, usually some type of formatting problem.
*/
- public Collection importConnectorBindings(InputStream stream, ConfigurationObjectEditor editor)throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException;
+ public Collection<ConnectorBinding> importConnectorBindings(InputStream stream, ConfigurationObjectEditor editor)throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException;
/**
15 years, 8 months
teiid SVN: r758 - branches/remove_psc/connector-sdk/src/main/java/com/metamatrix/cdk/file.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2009-04-12 16:08:18 -0400 (Sun, 12 Apr 2009)
New Revision: 758
Modified:
branches/remove_psc/connector-sdk/src/main/java/com/metamatrix/cdk/file/XMLConfigReaderWriter.java
Log:
Teiid 323 - refactured, removing duplicate methods
Modified: branches/remove_psc/connector-sdk/src/main/java/com/metamatrix/cdk/file/XMLConfigReaderWriter.java
===================================================================
--- branches/remove_psc/connector-sdk/src/main/java/com/metamatrix/cdk/file/XMLConfigReaderWriter.java 2009-04-12 01:10:21 UTC (rev 757)
+++ branches/remove_psc/connector-sdk/src/main/java/com/metamatrix/cdk/file/XMLConfigReaderWriter.java 2009-04-12 20:08:18 UTC (rev 758)
@@ -37,7 +37,7 @@
public ComponentType loadConnectorType(InputStream stream) throws InvalidConfigurationElementException, IOException {
- return getImportExportUtility().importConnector(stream, getEditor(), null);
+ return getImportExportUtility().importComponentType(stream, getEditor(), null);
}
public Object[] loadConnectorBinding(InputStream stream) throws ConfigObjectsNotResolvableException, InvalidConfigurationElementException, IOException {
15 years, 8 months
teiid SVN: r757 - in branches/remove_psc/common-internal/src: test/java/com/metamatrix/common/config/xml and 1 other directory.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2009-04-11 21:10:21 -0400 (Sat, 11 Apr 2009)
New Revision: 757
Modified:
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/ConfigurationImportExport.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfigurationImportExportUtility.java
branches/remove_psc/common-internal/src/test/java/com/metamatrix/common/config/xml/TestXMLConfigurationImportExportUtility.java
Log:
Teiid 323 - refactured the xml configuration classes to simplify importing/exporting and to clean up the removal of psc, resourcepool and product type related info
Modified: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/ConfigurationImportExport.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/ConfigurationImportExport.java 2009-04-12 00:31:57 UTC (rev 756)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/ConfigurationImportExport.java 2009-04-12 01:10:21 UTC (rev 757)
@@ -513,96 +513,7 @@
return null;
}
-
- /**
- * <p>This method will be used to import a ServiceComponentDefn Object given a Directory
- * entry instance. If the DirectoryEntry resource does not contain enough
- * data to recombine a complete ServiceComponentDefn, then a ConfigurationObjectsNotResolvableException
- * will be thrown.</p>
- *
- * <p>This method also allows you to rename the imported ServiceComponentDefn object
- * possibly to avoid name conflicts with other objects already in the server.</p>
- *
- * <p>If the name parameter submitted is null, the name of the confiuguration
- * object as it exists in the DirectoryEntry will be used.</p>
- *
- * <p>This method returns an array of objects which represent a
- * ServiceComponentDefn and its corresponding ComponentType. The index of
- * each is defined by the following static variables:</p>
- *
- * <pre>
- * ConfigurationImportExport.COMPONENT_TYPE_INDEX
- * ConfigurationImportExport.SERVICE_COMPONENT_DEFN_INDEX
- * </pre>
- *
- * <p>These array indices are also used to override the ComponentType name
- * and ServiceComponentDefn name with the passed in name[] String array.
- * If either or both of these String names are null, the name of the returned
- * configuration object will be as it exists in the DirectoryEntry resource.</p>
- *
- * <p>The user of this method must either commit the ComponentType of this
- * ServiceComponentDefn or make sure that it already exists in the server
- * configuration database before attempting to commit the
- * ServiceComponentDefn object. This is because every ServiceComponentDefn
- * has a reference to a corresponding ComponentType</p>
- *
- * @param editor the ConfigurationObjectEditor to use to create the Configuration
- * objects in the DirectoryEntry resource.
- * @param stream the input stream to read the configuration object
- * representation from
- * @param name the name for the ServiceComponentDefn and ComponentType
- * object to be created.
- * @return the configuration objects that are represented as data in the
- * DirectoryEntry resource. see javadoc heading for details.
- * @throws ConfigObjectsNotResolvableException if the
- * ServiceComponentDefn does not have a reference to a ComponentType object
- * for which there is data to recombine in the DirectoryEntry resource.
- * @throws IOException if there is an error reading from the DirectoryEntry
- * @throws InvalidConfigurationElementException if there is a problem with
- * the representation of the configuration element as it exists in the
- * DirectoryEntry resource, usually some type of formatting problem.
- */
- public Object[] importServiceComponentDefn(InputStream stream,
- Configuration config, ConfigurationObjectEditor editor,
- String[] name)throws IOException,
- ConfigObjectsNotResolvableException,
- InvalidConfigurationElementException {
- Assertion.isNotNull(stream);
- Assertion.isNotNull(editor);
-
- Document doc = null;
-
-
- try {
- doc = getXMLReaderWriter().readDocument(stream);
- }catch(JDOMException e) {
- e.printStackTrace();
- throw new IOException(CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0006));
- }
-
-
- Element root = doc.getRootElement();
-
- ComponentType type = createComponentType(root, editor, name[ConfigurationImportExport.COMPONENT_TYPES_INDEX]);
-
- Element serviceComponentDefnsElement = root.getChild(XMLConfig_ElementNames.Configuration.Services.ELEMENT);
-
- if (serviceComponentDefnsElement == null) {
- throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0008, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0008, XMLConfig_ElementNames.Configuration.Services.ELEMENT));
- }
-
-
- Element serviceComponentDefnElement = serviceComponentDefnsElement.getChild(XMLConfig_ElementNames.Configuration.Services.Service.ELEMENT);
-
- ComponentDefn cd = xmlHelper.createServiceComponentDefn(serviceComponentDefnElement, config, editor, name[ConfigurationImportExport.SERVICE_COMPONENT_DEFNS_INDEX]);
- Object[] object = {type, cd};
-
-
- return object;
- }
-
-
protected ComponentType createComponentType(Element root, ConfigurationObjectEditor editor, String name) throws InvalidConfigurationElementException{
Element componentTypesElement = root.getChild(XMLConfig_ElementNames.ComponentTypes.ELEMENT);
@@ -773,7 +684,7 @@
* @param root
* @since 4.2
*/
- public void exportConnectorBindings(ConnectorBinding[] bindings,
+ private void exportConnectorBindings(ConnectorBinding[] bindings,
ComponentType[] types,
Element root) {
int s = bindings.length;
@@ -1184,9 +1095,13 @@
String typeName = null;
String bindingName = null;
- if (newName != null) {
- typeName = newName[ConfigurationImportExport.COMPONENT_TYPES_INDEX];
- bindingName = newName[ConfigurationImportExport.SERVICE_COMPONENT_DEFNS_INDEX];
+ if (newName != null && newName.length > 0) {
+ if (newName[0] != null) {
+ typeName = newName[0];
+ }
+ if (newName[1] != null) {
+ bindingName = newName[1];
+ }
}
Element root = doc.getRootElement();
Modified: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfigurationImportExportUtility.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfigurationImportExportUtility.java 2009-04-12 00:31:57 UTC (rev 756)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfigurationImportExportUtility.java 2009-04-12 01:10:21 UTC (rev 757)
@@ -609,14 +609,14 @@
}
- public void exportConnectorBindings(ConnectorBinding[] bindings,
- ComponentType[] types,
- Element root) {
- ConfigurationImportExport util = new ConfigurationImportExport();
-
- util.exportConnectorBindings(bindings, types, root);
-
- }
+// public void exportConnectorBindings(ConnectorBinding[] bindings,
+// ComponentType[] types,
+// Element root) {
+// ConfigurationImportExport util = new ConfigurationImportExport();
+//
+// util.exportConnectorBindings(bindings, types, root);
+//
+// }
/**
* <p>This method will generally be used to create a file representation of
Modified: branches/remove_psc/common-internal/src/test/java/com/metamatrix/common/config/xml/TestXMLConfigurationImportExportUtility.java
===================================================================
--- branches/remove_psc/common-internal/src/test/java/com/metamatrix/common/config/xml/TestXMLConfigurationImportExportUtility.java 2009-04-12 00:31:57 UTC (rev 756)
+++ branches/remove_psc/common-internal/src/test/java/com/metamatrix/common/config/xml/TestXMLConfigurationImportExportUtility.java 2009-04-12 01:10:21 UTC (rev 757)
@@ -347,7 +347,7 @@
InputStream in = new FileInputStream(filename);
- Object[] bandt = utility.importConnectorBindingAndType(in, editor, null);
+ Object[] bandt = utility.importConnectorBindingAndType(in, editor, new String[]{});
if (bandt == null || bandt.length != 2) {
fail("didnt import both, binding and type");
15 years, 8 months
teiid SVN: r756 - in branches/remove_psc/common-internal: src/main/java/com/metamatrix/common/config/api and 3 other directories.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2009-04-11 20:31:57 -0400 (Sat, 11 Apr 2009)
New Revision: 756
Added:
branches/remove_psc/common-internal/src/test/resources/properties.cdk
Removed:
branches/remove_psc/common-internal/XMLElementNames.java
Modified:
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/api/ConfigurationModelContainer.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/BasicConfigurationObjectEditor.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/ConfigurationModelContainerImpl.java
branches/remove_psc/common-internal/src/test/java/com/metamatrix/common/config/xml/TestXMLConfigurationImportExportUtility.java
Log:
Teiid 323 - refactured the xml configuration classes to simplify importing/exporting and to clean up the removal of psc, resourcepool and product type related info
Deleted: branches/remove_psc/common-internal/XMLElementNames.java
===================================================================
--- branches/remove_psc/common-internal/XMLElementNames.java 2009-04-11 17:17:48 UTC (rev 755)
+++ branches/remove_psc/common-internal/XMLElementNames.java 2009-04-12 00:31:57 UTC (rev 756)
@@ -1,746 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.common.config.xml;
-
-import com.metamatrix.common.config.util.ConfigurationPropertyNames;
-
-/**
-* This class structure mimics the structure of a Configuration XML
-* document and defines all of the element and attribute names for that
-* document type.
-*/
-public interface XMLElementNames {
-
- /**
- * This is used as the delimiter of all XML element names.
- */
- public static final String DELIMITER = "."; //$NON-NLS-1$
-
- /**
- * This should be the root Element name for all Configuration XML Documents.
- */
- // public static final String ELEMENT = "ConfigurationDocument"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the Configurations Element which contains
- * all of the XML elements that represent Configuration objects.
- */
-
- /**
- * This is the class that represents the Configuration Element which contains
- * all of the XML elements that represent a Configuration object.
- */
- public static class Configuration {
-
- /**
- * This is the name of the Configurations Element.
- */
- public static final String ELEMENT = "Configuration"; //$NON-NLS-1$
- /**
- * This is the class that represents the ServiceComponentDefns Element which contains
- * all of the XML elements that represent a ServiceComponentDefns object.
- */
- public static class ServiceComponentDefns {
-
- /**
- * This is the name of the ServiceComponentDefns Element.
- */
- public static final String ELEMENT = Configuration.ELEMENT + DELIMITER + "ServiceComponentDefns"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the ServiceComponentDefn Element which contains
- * all of the XML elements that represent a ServiceComponentDefn object.
- */
- public static class ServiceComponentDefn {
-
- /**
- * This is the name of the ServiceComponentDefn Element.
- */
- public static final String ELEMENT = "ServiceComponentDefn"; //$NON-NLS-1$
-
- public static class Attributes extends ComponentObject.Attributes{
- public static final String ROUTING_UUID = "routingUUID"; //$NON-NLS-1$
- }
- }
- }
-
-
- /**
- * This is the class that represents the VMComponentDefns Element which contains
- * all of the XML elements that represent a VMComponentDefns object.
- */
- public static class VMComponentDefns {
-
- /**
- * This is the name of the VMComponentDefns Element.
- */
- public static final String ELEMENT = Configuration.ELEMENT + DELIMITER +"VMComponentDefns"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the VMComponentDefn Element which contains
- * all of the XML elements that represent a VMComponentDefn object.
- */
- public static class VMComponentDefn {
-
- /**
- * This is the name of the VMComponentDefn Element.
- */
- public static final String ELEMENT = "VMComponentDefn"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ComponentObject.Attributes{
- }
- }
- }
-
-
-
- /**
- * This is the class that represents the DeployedComponents Element which contains
- * all of the XML elements that represent a DeployedComponents object.
- */
- public static class DeployedComponents {
-
- /**
- * This is the name of the DeployedComponents Element.
- */
- public static final String ELEMENT = Configuration.ELEMENT + DELIMITER + "DeployedComponents"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the DeployedComponent Element which contains
- * all of the XML elements that represent a DeployedComponent object.
- */
- public static class DeployedComponent {
-
- /**
- * This is the name of the DeployedComponent Element.
- */
- public static final String ELEMENT = "DeployedComponent"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ComponentObject.Attributes{
- public static final String HOST_ID = "HostID"; //$NON-NLS-1$
-// public static final String PRODUCT_SERVICE_CONFIG_ID = "ProductServiceConfigID"; //$NON-NLS-1$
- public static final String SERVICE_COMPONENT_DEFN_ID = "ServiceComponentDefnID"; //$NON-NLS-1$
- public static final String VM_COMPONENT_DEFN_ID = "VMComponentDefnID"; //$NON-NLS-1$
- }
- }
- }
-
-
- /**
- * This is the class that represents the ComponentDefnID Element which contains
- * all of the XML elements that represent a ComponentDefnID object.
- */
- public static final class ComponentDefnID{
-
- /**
- * This is the name of the ComponentDefnID Element.
- */
- public static final String ELEMENT = "ComponentDefnID"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ID.Attributes {
- }
- }
-
- /**
- * This is the class that represents the DeployedComponentID Element which contains
- * all of the XML elements that represent a DeployedComponentID object.
- */
- public static final class DeployedComponentID{
-
- /**
- * This is the name of the DeployedComponentID Element.
- */
- public static final String ELEMENT = "DeployedComponentID"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ID.Attributes {
- }
- }
-
- /**
- * This is the class that represents the ProductServiceConfigID Element which contains
- * all of the XML elements that represent a ProductServiceConfigID object.
- */
-// public static final class ProductServiceConfigID{
-//
-// /**
-// * This is the name of the ProductServiceConfigID Element.
-// */
-// public static final String ELEMENT = "ProductServiceConfigID"; //$NON-NLS-1$
-//
-// /**
-// * This class defines the Attributes of the Element class that
-// * contains it. Note that this class just inherits its attributes
-// * from its configuration object superclass.
-// */
-// public static class Attributes extends ID.Attributes {
-// }
-// }
-
- /**
- * This is the class that represents the VMComponentDefnID Element which contains
- * all of the XML elements that represent a VMComponentDefnID object.
- */
- public static final class VMComponentDefnID{
-
- /**
- * This is the name of the VMComponentDefnID Element.
- */
- public static final String ELEMENT = "VMComponentDefnID"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ID.Attributes {
- }
- }
-
- /**
- * This is the class that represents the VMComponentDefnID Element which contains
- * all of the XML elements that represent a VMComponentDefnID object.
- */
- public static final class ServiceComponentDefnID{
-
- /**
- * This is the name of the ServiceComponentDefnID Element.
- */
- public static final String ELEMENT = "ServiceComponentDefnID"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ID.Attributes {
- }
- }
-
- /**
- * This is the class that represents the ConfigurationInfo Element which contains
- * all of the XML elements that represent a ConfigurationInfo object.
- */
- public static class ConfigurationInfo {
-
- /**
- * This is the name of the ServiceComponentDefnID Element.
- */
- public static final String ELEMENT = "ConfigurationInfo"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String LAST_CHANGED_DATE = "LastChangedDate"; //$NON-NLS-1$
- public static final String CREATION_DATE = "CreationDate"; //$NON-NLS-1$
- }
- }
-
- /**
- * This is the class that represents the LogConfiguration Element which contains
- * all of the XML elements that represent a LogConfiguration object.
- */
- public static class LogConfiguration {
-
- /**
- * This is the name of the LogConfiguration Element.
- */
- public static final String ELEMENT = "LogConfiguration"; //$NON-NLS-1$
-
- }
-
- }
- // }
-
- /**
- * This is the class that represents the ComponentObject Element which contains
- * all of the XML elements that represent a ComponentObject object.
- */
- public static class ComponentObject {
- public static class Attributes {
- public static final String NAME = "Name"; //$NON-NLS-1$
- public static final String COMPONENT_TYPE = "ComponentType"; //$NON-NLS-1$
- }
- }
-
- /**
- * This is the class that represents the Properties Element which contains
- * all of the XML elements that represent a Properties object.
- */
- public static class Properties {
-
- /**
- * This is the name of the Properties Element.
- */
- public static final String ELEMENT = "Properties"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the Property Element which contains
- * all of the XML elements that represent a Property object.
- */
- public static class Property {
-
- /**
- * This is the name of the Property Element.
- */
- public static final String ELEMENT = "Property"; //$NON-NLS-1$
-
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String NAME = "Name"; //$NON-NLS-1$
- }
-
- }
- }
-
- /**
- * This is the class that represents the ChangeHistory Properties Element which contains
- * all of the XML elements that represent the change information for the object.
- */
- public static class ChangeHistory {
-
- /**
- * This is the name of the ChangeHistory Element.
- */
- public static final String ELEMENT = "ChangeHistory"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the Property Element which contains
- * all of the XML elements that represent a Property object.
- */
- public static class Property {
-
- /**
- * This is the name of the Property Element.
- */
- public static final String ELEMENT = "Property"; //$NON-NLS-1$
-
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String NAME = "Name"; //$NON-NLS-1$
- }
-
- public static class NAMES {
- public static final String LAST_CHANGED_DATE = "LastChangedDate"; //$NON-NLS-1$
- public static final String LAST_CHANGED_BY = "LastChangedBy"; //$NON-NLS-1$
- public static final String CREATION_DATE = "CreationDate"; //$NON-NLS-1$
- public static final String CREATED_BY = "CreatedBy"; //$NON-NLS-1$
-
- }
- }
- }
-
-
- /**
- * This is the class that represents the ID Element which contains
- * all of the XML elements that represent a ID object.
- */
- public static class ID {
- // these are the shared attributes of all ID Elements
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String NAME = "Name"; //$NON-NLS-1$
- }
- }
-
-
- /**
- * This is the class that represents the HostID Element which contains
- * all of the XML elements that represent a HostID object.
- */
- public static final class HostID {
-
- /**
- * This is the name of the HostID Element.
- */
- public static final String ELEMENT = "HostID"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ID.Attributes {
- }
- }
-
-
-
-
-
- /**
- * This is the class that represents the Hosts Element which contains
- * all of the XML elements that represent a Hosts object.
- */
-// public static class Hosts {
-//
-// /**
-// * This is the name of the Hosts Element.
-// */
-// public static final String ELEMENT = "Hosts"; //$NON-NLS-1$
-//
-// /**
-// * This is the class that represents the Host Element which contains
-// * all of the XML elements that represent a Host object.
-// */
-// public static class Host {
-//
-// /**
-// * This is the name of the Host Element.
-// */
-// public static final String ELEMENT = "Host"; //$NON-NLS-1$
-//
-// }
-// }
-
- /**
- * This is the class that represents the Resources Element which contains
- * all of the XML elements that represent a Resource object.
- */
- public static class Resources {
-
- /**
- * This is the name of the Hosts Element.
- */
- public static final String ELEMENT = "Resources"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the Resource Element which contains
- * all of the XML elements that represent a Resource object.
- */
- public static class Resource {
-
- /**
- * This is the name of the Resource Element.
- */
- public static final String ELEMENT = "Resource"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ComponentObject.Attributes{
- }
-
-
- }
- }
-
- /**
- * This is the class that represents the ServiceComponentDefns Element which contains
- * all of the XML elements that represent a ServiceComponentDefns object.
- */
- public static class ConnectorComponents {
-
- /**
- * This is the name of the ServiceComponentDefns Element.
- */
- public static final String ELEMENT = "ConnectorBindings"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the ConnectorBinding Element which contains
- * all of the XML elements that represent a ConnectorBinding object.
- */
- public static class ConnectorComponent {
-
- /**
- * This is the name of the ConnectorBinding Element.
- */
- public static final String ELEMENT = "Connector"; //$NON-NLS-1$
-
- public static class Attributes extends ComponentObject.Attributes{
- public static final String QUEUED_SERVICE = "QueuedService"; //$NON-NLS-1$
-// public static final String IS_ENABLED = "IsEnabled";
- public static final String ROUTING_UUID = "routingUUID"; //$NON-NLS-1$
- }
- }
- }
-
-
-
- /**
- * This is the class that represents the ComponentTypeID Element which contains
- * all of the XML elements that represent a ComponentTypeID object.
- */
- public static class ComponentTypeID {
-
- /**
- * This is the name of the ComponentTypeID Element.
- */
- public static final String ELEMENT = "ComponentTypeID"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ID.Attributes {
- }
-
- }
-
- /**
- * This is the class that represents the ComponentTypes Element which contains
- * all of the XML elements that represent a ComponentTypes object.
- */
- public static class ComponentTypes {
-
- /**
- * This is the name of the ComponentTypes Element.
- */
- public static final String ELEMENT = "ComponentTypes"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the ComponentType Element which contains
- * all of the XML elements that represent a ComponentType object.
- */
- public static class ComponentType {
-
- /**
- * This is the name of the ComponentType Element.
- */
- public static final String ELEMENT = "ComponentType"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String NAME = "Name"; //$NON-NLS-1$
- public static final String PARENT_COMPONENT_TYPE = "ParentComponentType"; //$NON-NLS-1$
- public static final String SUPER_COMPONENT_TYPE = "SuperComponentType"; //$NON-NLS-1$
- public static final String COMPONENT_TYPE_CODE = "ComponentTypeCode"; //$NON-NLS-1$
- public static final String DEPLOYABLE = "Deployable"; //$NON-NLS-1$
- public static final String DEPRECATED = "Deprecated"; //$NON-NLS-1$
- public static final String MONITORABLE = "Monitorable"; //$NON-NLS-1$
- }
-
-
- /**
- * This is the class that represents the ComponentTypeDefn Element which contains
- * all of the XML elements that represent a ComponentTypeDefn object.
- */
- public static class ComponentTypeDefn {
-
- /**
- * This is the name of the ComponentTypeDefn Element.
- */
- public static final String ELEMENT = "ComponentTypeDefn"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String DEPRECATED = "Deprecated"; //$NON-NLS-1$
- }
-
- /**
- * This is the class that represents the PropertyDefinition Element which contains
- * all of the XML elements that represent a PropertyDefinition object.
- */
- public static class PropertyDefinition {
-
- /**
- * This is the name of the PropertyDefinition Element.
- */
- public static final String ELEMENT = "PropertyDefinition"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String NAME = "Name"; //$NON-NLS-1$
- public static final String DISPLAY_NAME = "DisplayName"; //$NON-NLS-1$
- public static final String SHORT_DESCRIPTION ="ShortDescription"; //$NON-NLS-1$
- public static final String DEFAULT_VALUE = "DefaultValue"; //$NON-NLS-1$
- public static final String MULTIPLICITY = "Multiplicity"; //$NON-NLS-1$
- public static final String PROPERTY_TYPE = "PropertyType"; //$NON-NLS-1$
- public static final String VALUE_DELIMITER = "ValueDelimiter"; //$NON-NLS-1$
- public static final String IS_CONSTRAINED_TO_ALLOWED_VALUES = "IsConstrainedToAllowedValues"; //$NON-NLS-1$
- public static final String IS_EXPERT = "IsExpert"; //$NON-NLS-1$
- public static final String IS_HIDDEN = "IsHidden"; //$NON-NLS-1$
- public static final String IS_MASKED = "IsMasked"; //$NON-NLS-1$
- public static final String IS_MODIFIABLE = "IsModifiable"; //$NON-NLS-1$
- public static final String IS_PREFERRED = "IsPreferred"; //$NON-NLS-1$
- }
-
- /**
- * This is the class that represents the AllowedValue Element which contains
- * all of the XML elements that represent a AllowedValue object.
- */
- public static class AllowedValue {
-
- /**
- * This is the name of the AllowedValue Element.
- */
- public static final String ELEMENT = "AllowedValue"; //$NON-NLS-1$
- }
-
- }
-
- }
- }
- }
-
- /**
- * This is the class that represents the ProductTypes Element which contains
- * all of the XML elements that represent a ProductType object.
- */
-// public static class ProductTypes {
-// public static final String ELEMENT = "ProductTypes"; //$NON-NLS-1$
-//
-// /**
-// * This is the class that represents the ProductType Element which contains
-// * all of the XML elements that represent a ProductType object.
-// * Note that it extends teh ComponentType element definition.
-// */
-// public static class ProductType extends ComponentTypes.ComponentType{
-// public static final String ELEMENT = "ProductType"; //$NON-NLS-1$
-// }
-// }
-
-
-
-
- /**
- * This is the class that represents the Header Element which contains
- * all of the XML elements that represent a Header object.
- */
- public static class Header {
-
- /**
- * This is the name of the Header Element.
- */
- public static final String ELEMENT = "Header"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the UserName Element which contains
- * all of the XML elements that represent a UserName object.
- */
- public static class UserCreatedBy {
-
- /**
- * This is the name of the UserName Element.
- */
- public static final String ELEMENT = ConfigurationPropertyNames.USER_CREATED_BY;
- }
-
- /**
- * This is the class that represents the ApplicationCreatedDate Element which contains
- * all of the XML elements that represent a ApplicationCreatedDate object.
- */
- public static class ApplicationCreatedBy {
-
- /**
- * This is the name of the ApplicationCreatedDate Element.
- */
- public static final String ELEMENT = ConfigurationPropertyNames.APPLICATION_CREATED_BY;
- }
-
- /**
- * This is the class that represents the ApplicationVersionCreatedBy Element which contains
- * all of the XML elements that represent a ApplicationVersionCreatedBy object.
- */
- public static class ApplicationVersionCreatedBy {
-
- /**
- * This is the name of the ApplicationVersionCreatedBy Element.
- */
- public static final String ELEMENT = ConfigurationPropertyNames.APPLICATION_VERSION_CREATED_BY;
- }
-
- /**
- * This is the class that represents the Time Element which contains
- * all of the XML elements that represent a Time object.
- */
- public static class Time {
-
- /**
- * This is the name of the Time Element.
- */
- public static final String ELEMENT = ConfigurationPropertyNames.TIME;
- }
-
- /**
- * This is the class that represents the DocumentTypeVersion Element which contains
- * all of the XML elements that represent a DocumentTypeVersion object.
- */
- public static class ConfigurationVersion {
-
- /**
- * This is the name of the DocumentTypeVersion Element.
- */
- public static final String ELEMENT = ConfigurationPropertyNames.CONFIGURATION_VERSION;
- }
-
- /**
- * This is the class that represents the MetaMatrixServerVersion Element which contains
- * all of the XML elements that represent a ProductServiceConfigs object.
- */
- public static class MetaMatrixSystemVersion {
-
- /**
- * This is the name of the MetaMatrixServerVersion Element.
- */
- public static final String ELEMENT = ConfigurationPropertyNames.METAMATRIX_SYSTEM_VERSION;
- }
- }
-
-
-}
Modified: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/api/ConfigurationModelContainer.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/api/ConfigurationModelContainer.java 2009-04-11 17:17:48 UTC (rev 755)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/api/ConfigurationModelContainer.java 2009-04-12 00:31:57 UTC (rev 756)
@@ -100,7 +100,6 @@
* @since 4.1
*/
ComponentTypeDefn getComponentTypeDefinition(ComponentTypeID typeID, String defnName);
-
/**
* Return the ComponentType for the specified name
Modified: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/BasicConfigurationObjectEditor.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/BasicConfigurationObjectEditor.java 2009-04-11 17:17:48 UTC (rev 755)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/BasicConfigurationObjectEditor.java 2009-04-12 00:31:57 UTC (rev 756)
@@ -2785,11 +2785,12 @@
//we must automagically create DeployedComponents for the newly-
//enabled service defn, wherever its PSC has already been deployed
DeployedComponent aDeployedComponent = null;
- HostID hostID = null;
+
ConfigurationID configID = (ConfigurationID)targetConfig.getID();
ServiceComponentDefnID serviceDefnID = (ServiceComponentDefnID)basicService.getID();
VMComponentDefn vm = targetConfig.getVMComponentDefn(vmID);
+ HostID hostID = vm.getHostID();
DeployedComponent deployComponent = targetConfig.getDeployedServiceForVM( serviceDefnID, vm);
// if its not deployed, deploy it
Modified: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/ConfigurationModelContainerImpl.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/ConfigurationModelContainerImpl.java 2009-04-11 17:17:48 UTC (rev 755)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/ConfigurationModelContainerImpl.java 2009-04-12 00:31:57 UTC (rev 756)
@@ -295,9 +295,11 @@
return getSuperComponentTypeDefinitions(defnMap, defns, superType);
}
-
+
- public ComponentType getComponentType(String fullName) {
+
+
+ public ComponentType getComponentType(String fullName) {
if (compTypes.containsKey(fullName)) {
return (ComponentType) compTypes.get(fullName);
}
Modified: branches/remove_psc/common-internal/src/test/java/com/metamatrix/common/config/xml/TestXMLConfigurationImportExportUtility.java
===================================================================
--- branches/remove_psc/common-internal/src/test/java/com/metamatrix/common/config/xml/TestXMLConfigurationImportExportUtility.java 2009-04-11 17:17:48 UTC (rev 755)
+++ branches/remove_psc/common-internal/src/test/java/com/metamatrix/common/config/xml/TestXMLConfigurationImportExportUtility.java 2009-04-12 00:31:57 UTC (rev 756)
@@ -34,10 +34,10 @@
import junit.framework.TestCase;
import com.metamatrix.common.config.api.Configuration;
-import com.metamatrix.common.config.api.ConfigurationID;
import com.metamatrix.common.config.api.ConfigurationModelContainer;
import com.metamatrix.common.config.api.ConfigurationObjectEditor;
import com.metamatrix.common.config.api.ConnectorArchive;
+import com.metamatrix.common.config.api.ConnectorBinding;
import com.metamatrix.common.config.api.ConnectorBindingType;
import com.metamatrix.common.config.api.ExtensionModule;
import com.metamatrix.common.config.api.VMComponentDefn;
@@ -45,7 +45,7 @@
import com.metamatrix.common.config.model.BasicConnectorArchive;
import com.metamatrix.common.config.model.BasicExtensionModule;
import com.metamatrix.common.config.model.ConfigurationModelContainerAdapter;
-import com.metamatrix.common.config.model.ConfigurationModelContainerImpl;
+import com.metamatrix.common.config.util.ConfigurationImportExportUtility;
import com.metamatrix.common.util.ByteArrayHelper;
import com.metamatrix.core.util.FileUtils;
import com.metamatrix.core.util.UnitTestUtil;
@@ -339,6 +339,46 @@
}
}
+ public void testloadConnectorBindingAndType() throws Exception {
+ ConfigurationObjectEditor editor = new BasicConfigurationObjectEditor();
+ ConfigurationImportExportUtility utility= new XMLConfigurationImportExportUtility();
+
+ String filename = UnitTestUtil.getTestDataPath() + File.separator+ "properties.cdk";
+
+ InputStream in = new FileInputStream(filename);
+
+ Object[] bandt = utility.importConnectorBindingAndType(in, editor, null);
+
+ if (bandt == null || bandt.length != 2) {
+ fail("didnt import both, binding and type");
+ }
+ if ( bandt[1] instanceof ConnectorBinding) {
+
+ } else {
+ fail("Not connector binding instance");
+ }
+ if ( bandt[0] instanceof ConnectorBindingType) {
+
+ } else {
+ fail("No connector type instance");
+ }
+ }
+
+ public void testloadConnectorBinding() throws Exception {
+ ConfigurationObjectEditor editor = new BasicConfigurationObjectEditor();
+ ConfigurationImportExportUtility utility= new XMLConfigurationImportExportUtility();
+
+ String filename = UnitTestUtil.getTestDataPath() + File.separator+ "properties.cdk";
+
+ InputStream in = new FileInputStream(filename);
+
+ ConnectorBinding cb = utility.importConnectorBinding(in, editor, null);
+
+ if (cb == null) {
+ fail("didnt import binding");
+ }
+ }
+
public void testImportExportConfig() throws Exception {
String fileToImport = UnitTestUtil.getTestDataPath()+"/config-original.xml"; //$NON-NLS-1$
Added: branches/remove_psc/common-internal/src/test/resources/properties.cdk
===================================================================
--- branches/remove_psc/common-internal/src/test/resources/properties.cdk (rev 0)
+++ branches/remove_psc/common-internal/src/test/resources/properties.cdk 2009-04-12 00:31:57 UTC (rev 756)
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ConfigurationDocument>
+ <Header>
+ <ApplicationCreatedBy>Connec</ApplicationCreatedBy>
+ <ApplicationVersionCreatedBy>4.0:1681</ApplicationVersionCreatedBy>
+ <UserCreatedBy>MetaMatrixAdmin</UserCreatedBy>
+ <DocumentTypeVersion>1.0</DocumentTypeVersion>
+ <MetaMatrixSystemVersion>3.0</MetaMatrixSystemVersion>
+ <Time>2004-01-30T15:22:05.296-06:00</Time>
+ </Header>
+ <ComponentTypes>
+ <ComponentType Name="Oracle 8 JDBC Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Connector" ParentComponentType="Connectors">
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="Password" DisplayName="Password" ShortDescription="" Multiplicity="1" PropertyType="String" ValueDelimiter="," IsConstrainedToAllowedValues="false" IsExpert="false" IsHidden="false" IsMasked="true" IsModifiable="true" IsPreferred="true" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="com.metamatrix.data.pool.max_connections" DisplayName="Pool Maximum Connections" ShortDescription="Set the maximun number of connections for the connection pool" DefaultValue="5" Multiplicity="0..1" PropertyType="Integer" ValueDelimiter="," IsConstrainedToAllowedValues="true" IsExpert="true" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="false" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.jdbc.JDBCConnector" Multiplicity="1" PropertyType="String" ValueDelimiter="," IsConstrainedToAllowedValues="true" IsExpert="true" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="false" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="com.metamatrix.data.pool.enable_shrinking" DisplayName="Pool Shrinking Enabled" ShortDescription="Set whether to enable the pool shrinking" DefaultValue="false" Multiplicity="0..1" PropertyType="Boolean" ValueDelimiter="," IsConstrainedToAllowedValues="true" IsExpert="true" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="false" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="User" DisplayName="User Name" ShortDescription="" Multiplicity="1" PropertyType="String" ValueDelimiter="," IsConstrainedToAllowedValues="false" IsExpert="false" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="true" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="com.metamatrix.data.pool.max_connections_for_each_id" DisplayName="Pool Maximum Connections for Each ID" ShortDescription="Set the maximun number of connections for each connector ID for the connection pool" DefaultValue="5" Multiplicity="0..1" PropertyType="Integer" ValueDelimiter="," IsConstrainedToAllowedValues="true" IsExpert="true" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="false" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="ExtensionConnectionFactoryClass" DisplayName="Extension Connection Factory Class" ShortDescription="" DefaultValue="com.metamatrix.connector.jdbc.JDBCSingleIdentityConnectionFactory" Multiplicity="0..1" PropertyType="String" ValueDelimiter="," IsConstrainedToAllowedValues="true" IsExpert="true" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="false" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="TrimStrings" DisplayName="Trim string flag" ShortDescription="" DefaultValue="false" Multiplicity="0..1" PropertyType="Boolean" ValueDelimiter="," IsConstrainedToAllowedValues="true" IsExpert="true" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="false" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="com.metamatrix.data.pool.cleaning_interval" DisplayName="Pool cleaning Interval" ShortDescription="Set the interval to cleaning the pool" DefaultValue="60" Multiplicity="0..1" PropertyType="Integer" ValueDelimiter="," IsConstrainedToAllowedValues="true" IsExpert="true" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="false" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="Driver" DisplayName="Driver Class" ShortDescription="" DefaultValue="com.metamatrix.jdbc.oracle.OracleDriver" Multiplicity="1" PropertyType="String" ValueDelimiter="," IsConstrainedToAllowedValues="false" IsExpert="false" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="false" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="TransactionIsolationLevel" DisplayName="Transaction Isolation Level" ShortDescription="Set the data source transaction isolation level" DefaultValue="" Multiplicity="0..1" PropertyType="String" ValueDelimiter="," IsConstrainedToAllowedValues="true" IsExpert="true" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="false" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="ExtensionResultsTranslationClass" DisplayName="Extension Results Translation Class" ShortDescription="" DefaultValue="com.metamatrix.connector.jdbc.oracle.Oracle8ResultsTranslator" Multiplicity="0..1" PropertyType="String" ValueDelimiter="," IsConstrainedToAllowedValues="true" IsExpert="true" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="false" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="ExtensionSQLTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="com.metamatrix.connector.jdbc.oracle.Oracle8SQLTranslator" Multiplicity="0..1" PropertyType="String" ValueDelimiter="," IsConstrainedToAllowedValues="true" IsExpert="true" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="false" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="ConnectorClassPath" DisplayName="Class Path" ShortDescription="" DefaultValue="extensionjar:MJbase.jar;extensionjar:MJutil.jar;extensionjar:MJoracle.jar;extensionjar:jdbcconn.jar" Multiplicity="1" PropertyType="String" ValueDelimiter="," IsConstrainedToAllowedValues="true" IsExpert="false" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="false" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="MaxSQLLength" DisplayName="Max SQL String Length" ShortDescription="" DefaultValue="16384" Multiplicity="0..1" PropertyType="Integer" ValueDelimiter="," IsConstrainedToAllowedValues="true" IsExpert="true" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="false" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="ExtensionCapabilityClass" DisplayName="Extension Capability Class" ShortDescription="" DefaultValue="com.metamatrix.connector.jdbc.oracle.Oracle8Capabilities" Multiplicity="0..1" PropertyType="String" ValueDelimiter="," IsConstrainedToAllowedValues="true" IsExpert="true" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="false" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:mmx:oracle://<host>:<port1521>;SID=<sid>" Multiplicity="1" PropertyType="String" ValueDelimiter="," IsConstrainedToAllowedValues="false" IsExpert="false" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="true" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="com.metamatrix.data.pool.wait_for_source_time" DisplayName="Pool Connection Waiting Time" ShortDescription="Set the time to wait if the connection is not available" DefaultValue="120000" Multiplicity="0..1" PropertyType="Integer" ValueDelimiter="," IsConstrainedToAllowedValues="true" IsExpert="true" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="false" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="SetCriteriaBatchSize" DisplayName="SetCriteria Batch Size" ShortDescription="Max number of values in a SetCriteria before batching into multiple queries. A value <= 0 indicates batching is OFF." DefaultValue="0" Multiplicity="0..1" PropertyType="Integer" ValueDelimiter="," IsConstrainedToAllowedValues="false" IsExpert="true" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="false" />
+ </ComponentTypeDefn>
+ <ComponentTypeDefn Deprecated="false">
+ <PropertyDefinition Name="com.metamatrix.data.pool.live_and_unused_time" DisplayName="Pool Connection Idle Time" ShortDescription="Set the idle time of the connection before it should be closed if pool shrinking is enabled" DefaultValue="60" Multiplicity="0..1" PropertyType="Integer" ValueDelimiter="," IsConstrainedToAllowedValues="true" IsExpert="true" IsHidden="false" IsMasked="false" IsModifiable="true" IsPreferred="false" />
+ </ComponentTypeDefn>
+ <ChangeHistory>
+ <Property Name="LastChangedBy">ConfigurationStartup</Property>
+ <Property Name="CreatedBy">ConfigurationStartup</Property>
+ </ChangeHistory>
+ </ComponentType>
+ </ComponentTypes>
+ <ConnectorBindings>
+ <Connector Name="SOAPTest" ComponentType="Oracle 8 JDBC Connector" QueuedService="false">
+ <Properties>
+ <Property Name="property1">PropVal1</Property>
+ <Property Name="property2">PropVal2</Property>
+ <Property Name="property3">com.metamatrix.cdk.propertyVal</Property>
+ </Properties>
+ <ChangeHistory>
+ <Property Name="LastChangedBy">metamatrixadmin</Property>
+ <Property Name="LastChangedDate">2004-01-30T15:20:14.968-06:00</Property>
+ <Property Name="CreatedBy">metamatrixadmin</Property>
+ <Property Name="CreationDate">2004-01-30T15:20:14.968-06:00</Property>
+ </ChangeHistory>
+ </Connector>
+ </ConnectorBindings>
+</ConfigurationDocument>
+
15 years, 8 months
teiid SVN: r755 - in trunk: engine/src/main/java/com/metamatrix/cache and 6 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2009-04-11 13:17:48 -0400 (Sat, 11 Apr 2009)
New Revision: 755
Modified:
trunk/cache-jbosscache/src/main/java/com/metamatrix/cache/jboss/JBossCache.java
trunk/engine/src/main/java/com/metamatrix/cache/Cache.java
trunk/engine/src/main/java/com/metamatrix/cache/CacheFactory.java
trunk/engine/src/main/java/com/metamatrix/common/application/Application.java
trunk/engine/src/main/java/org/teiid/dqp/internal/cache/ResultSetCache.java
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/impl/TestConnectorManagerImpl.java
trunk/server/src/main/java/com/metamatrix/platform/security/authorization/service/AuthorizationServiceImpl.java
Log:
TEIID-483 TEIID-40 added appropriate default cache settings and implemented maxfetchsize.
Modified: trunk/cache-jbosscache/src/main/java/com/metamatrix/cache/jboss/JBossCache.java
===================================================================
--- trunk/cache-jbosscache/src/main/java/com/metamatrix/cache/jboss/JBossCache.java 2009-04-11 03:03:46 UTC (rev 754)
+++ trunk/cache-jbosscache/src/main/java/com/metamatrix/cache/jboss/JBossCache.java 2009-04-11 17:17:48 UTC (rev 755)
@@ -39,11 +39,11 @@
*/
public class JBossCache<K, V> implements Cache<K, V> {
- private org.jboss.cache.Cache cacheStore;
+ private org.jboss.cache.Cache<K, V> cacheStore;
private Fqn rootFqn;
private JBossCacheListener cacheListener;
- public JBossCache(org.jboss.cache.Cache cacheStore, Fqn fqn) {
+ public JBossCache(org.jboss.cache.Cache<K, V> cacheStore, Fqn fqn) {
this.cacheStore = cacheStore;
this.rootFqn = fqn;
}
@@ -52,39 +52,39 @@
* {@inheritDoc}
*/
public V get(K key) {
- return (V)this.cacheStore.get(this.rootFqn, key);
+ return this.cacheStore.get(this.rootFqn, key);
}
/**
* {@inheritDoc}
*/
public V put(K key, V value) {
- return (V)this.cacheStore.put(this.rootFqn, key, value);
+ return this.cacheStore.put(this.rootFqn, key, value);
}
/**
* {@inheritDoc}
*/
public V remove(K key) {
- return (V)this.cacheStore.remove(this.rootFqn, key);
+ return this.cacheStore.remove(this.rootFqn, key);
}
/**
* {@inheritDoc}
*/
public Set<K> keySet() {
- Node node = this.cacheStore.getRoot().getChild(this.rootFqn);
+ Node<K, V> node = this.cacheStore.getRoot().getChild(this.rootFqn);
if (node != null) {
return node.getKeys();
}
- return Collections.EMPTY_SET;
+ return Collections.emptySet();
}
/**
* {@inheritDoc}
*/
public int size() {
- Node node = this.cacheStore.getRoot().getChild(this.rootFqn);
+ Node<K, V> node = this.cacheStore.getRoot().getChild(this.rootFqn);
if (node != null) {
return node.dataSize();
}
@@ -95,7 +95,7 @@
* {@inheritDoc}
*/
public void clear() {
- Node node = this.cacheStore.getRoot().getChild(this.rootFqn);
+ Node<K, V> node = this.cacheStore.getRoot().getChild(this.rootFqn);
if (node != null) {
node.clearData();
}
@@ -103,7 +103,7 @@
@Override
public Collection<V> values() {
- Node node = this.cacheStore.getRoot().getChild(this.rootFqn);
+ Node<K, V> node = this.cacheStore.getRoot().getChild(this.rootFqn);
if (node != null) {
return node.getData().values();
}
@@ -130,21 +130,21 @@
* {@inheritDoc}
*/
@Override
- public Cache addChild(String name) {
- Node node = this.cacheStore.getNode(this.rootFqn);
- Node childNode = node.addChild(Fqn.fromString(name));
- return new JBossCache(this.cacheStore, childNode.getFqn());
+ public Cache<K, V> addChild(String name) {
+ Node<K, V> node = this.cacheStore.getNode(this.rootFqn);
+ Node<K, V> childNode = node.addChild(Fqn.fromString(name));
+ return new JBossCache<K, V>(this.cacheStore, childNode.getFqn());
}
/**
* {@inheritDoc}
*/
@Override
- public Cache getChild(String name) {
- Node node = this.cacheStore.getNode(this.rootFqn);
- Node child = node.getChild(Fqn.fromString(name));
+ public Cache<K, V> getChild(String name) {
+ Node<K, V> node = this.cacheStore.getNode(this.rootFqn);
+ Node<K, V> child = node.getChild(Fqn.fromString(name));
if (child != null) {
- return new JBossCache(this.cacheStore, child.getFqn());
+ return new JBossCache<K, V>(this.cacheStore, child.getFqn());
}
return null;
}
@@ -154,14 +154,14 @@
*/
@Override
public List<Cache> getChildren() {
- Node node = this.cacheStore.getNode(this.rootFqn);
+ Node<K, V> node = this.cacheStore.getNode(this.rootFqn);
Set<Node<K,V>> nodes = node.getChildren();
if (nodes.isEmpty()) {
- return Collections.EMPTY_LIST;
+ return Collections.emptyList();
}
List<Cache> children = new ArrayList<Cache>();
- for(Node child: nodes) {
- children.add(new JBossCache(this.cacheStore, child.getFqn()));
+ for(Node<K, V> child: nodes) {
+ children.add(new JBossCache<K, V>(this.cacheStore, child.getFqn()));
}
return children;
}
@@ -171,7 +171,7 @@
*/
@Override
public boolean removeChild(String name) {
- Node node = this.cacheStore.getNode(this.rootFqn);
+ Node<K, V> node = this.cacheStore.getNode(this.rootFqn);
return node.removeChild(Fqn.fromString(name));
}
}
Modified: trunk/engine/src/main/java/com/metamatrix/cache/Cache.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/cache/Cache.java 2009-04-11 03:03:46 UTC (rev 754)
+++ trunk/engine/src/main/java/com/metamatrix/cache/Cache.java 2009-04-11 17:17:48 UTC (rev 755)
@@ -36,7 +36,7 @@
SESSION("Session"), //$NON-NLS-1$
SESSION_MONITOR("Session-Monitor"), //$NON-NLS-1$
AUTHORIZATION_POLICY("Authorization-Policy"), //$NON-NLS-1$
- AUTHORIZATION_PRINCIPLE("Auhtorization-Principle"), //$NON-NLS-1$
+ AUTHORIZATION_PRINCIPAL("Auhtorization-Principal"), //$NON-NLS-1$
RESULTSET("ResultSet"), //$NON-NLS-1$
VDBMETADATA("VdbMetadata"), //$NON-NLS-1$
VDBMODELS("VdbModels"); //$NON-NLS-1$
Modified: trunk/engine/src/main/java/com/metamatrix/cache/CacheFactory.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/cache/CacheFactory.java 2009-04-11 03:03:46 UTC (rev 754)
+++ trunk/engine/src/main/java/com/metamatrix/cache/CacheFactory.java 2009-04-11 17:17:48 UTC (rev 755)
@@ -30,7 +30,7 @@
* @param config configuration setup for the cache
* @return
*/
- Cache get(Cache.Type type, CacheConfiguration config);
+ <K,V> Cache<K, V> get(Cache.Type type, CacheConfiguration config);
/**
* Destroy the cache factory and any caches underneath.
Modified: trunk/engine/src/main/java/com/metamatrix/common/application/Application.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/common/application/Application.java 2009-04-11 03:03:46 UTC (rev 754)
+++ trunk/engine/src/main/java/com/metamatrix/common/application/Application.java 2009-04-11 17:17:48 UTC (rev 755)
@@ -57,7 +57,7 @@
final String serviceName = DQPServiceNames.ALL_SERVICES[i];
final Class<? extends ApplicationService> type = DQPServiceNames.ALL_SERVICE_CLASSES[i];
if(injector.getBinding(Key.get(type)) == null){
- LogManager.logWarning(LogConstants.CTX_DQP, DQPPlugin.Util.getString("DQPLauncher.InstallService_ServiceIsNull", serviceName)); //$NON-NLS-1$
+ LogManager.logInfo(LogConstants.CTX_DQP, DQPPlugin.Util.getString("DQPLauncher.InstallService_ServiceIsNull", serviceName)); //$NON-NLS-1$
}else{
ApplicationService appService = injector.getInstance(type);
String loggingContext = DQPServiceNames.SERVICE_LOGGING_CONTEXT[i];
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/cache/ResultSetCache.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/cache/ResultSetCache.java 2009-04-11 03:03:46 UTC (rev 754)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/cache/ResultSetCache.java 2009-04-11 17:17:48 UTC (rev 755)
@@ -27,12 +27,12 @@
import java.util.Map;
import java.util.Properties;
-import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.cache.Cache;
import com.metamatrix.cache.CacheConfiguration;
import com.metamatrix.cache.CacheFactory;
import com.metamatrix.cache.Cache.Type;
import com.metamatrix.cache.CacheConfiguration.Policy;
+import com.metamatrix.common.util.PropertiesUtils;
/**
* Used to cache ResultSet based on the exact match of sql string.
@@ -49,25 +49,41 @@
private Cache<CacheID, CacheResults> cache;
private String scope;
- private Map tempBatchResults = new HashMap();
- private long maxSize; //bytes
+ private Map<CacheID, CacheResults> tempBatchResults = new HashMap<CacheID, CacheResults>();
+ private int maxSize = 50 * 1024 * 1024; //bytes
+ private int maxAge = 60 * 60; // seconds
+ private int maxEntries = 20 * 1024;
- public ResultSetCache(Properties props, CacheFactory cacheFactory) throws MetaMatrixComponentException{
- //ObjectCache does a check every 5 seconds.
- //It starts cleaning only if the cache is full.
- //We set the max size of the ObjectCache a little lower than the one user specified
- maxSize = Integer.parseInt(props.getProperty(RS_CACHE_MAX_SIZE)) * 1024 * 1024;
- int maxAgeInSeconds = Integer.parseInt(props.getProperty(RS_CACHE_MAX_AGE));
-
- scope = props.getProperty(RS_CACHE_SCOPE);
- this.cache = cacheFactory.get(Type.RESULTSET, new CacheConfiguration(Policy.MRU, maxAgeInSeconds, 1000));
+ public ResultSetCache(Properties props, CacheFactory cacheFactory) {
+ PropertiesUtils.setBeanProperties(this, props, null);
+ this.cache = cacheFactory.get(Type.RESULTSET, new CacheConfiguration(Policy.MRU, maxAge, maxEntries));
}
+ public void setMaxSize(int maxSize) {
+ if (maxSize <= 0 ) {
+ this.maxSize = 0;
+ this.maxEntries = Integer.MAX_VALUE;
+ } else {
+ this.maxSize = maxSize * 1024 * 1024;
+ this.maxEntries = this.maxSize * 1024;
+ }
+ }
+ public void setMaxAge(int maxAge) {
+ if (maxAge <= 0) {
+ this.maxAge = Integer.MAX_VALUE;
+ }
+ this.maxAge = Math.max(1, maxAge / 1000);
+ }
+
+ public void setScope(String scope) {
+ this.scope = scope;
+ }
+
//interval is 1 based.
public final CacheResults getResults(CacheID cacheID, int[] interval){
CacheResults cacheResults = null;
- cacheResults = (CacheResults)cache.get(cacheID);
+ cacheResults = cache.get(cacheID);
if(cacheResults == null){
return null;
}
@@ -80,7 +96,7 @@
return cacheResults;
}
int batchSize = lastRow - firstRow + 1;
- List[] resultsPart = new List[batchSize];
+ List<?>[] resultsPart = new List[batchSize];
System.arraycopy(cacheResults.getResults(), firstRow, resultsPart, 0, batchSize);
boolean isFinal = lastRow == finalRow;
CacheResults newCacheResults = new CacheResults(resultsPart, cacheResults.getElements(), firstRow + 1, lastRow == finalRow);
@@ -104,7 +120,7 @@
* @return true if the result was cachable
*/
public boolean setResults(CacheID cacheID, CacheResults cacheResults, Object requestID){
- List[] results = cacheResults.getResults();
+ List<?>[] results = cacheResults.getResults();
if(cacheResults.getSize() == -1){
cacheResults.setSize(ResultSetCacheUtil.getResultsSize(results, true));
}
@@ -118,7 +134,7 @@
}
synchronized(tempBatchResults){
- CacheResults savedResults = (CacheResults)tempBatchResults.get(cacheID);
+ CacheResults savedResults = tempBatchResults.get(cacheID);
if(savedResults == null){
savedResults = new CacheResults(null, cacheResults.getElements(), 1, false);
tempBatchResults.put(cacheID, savedResults);
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java 2009-04-11 03:03:46 UTC (rev 754)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java 2009-04-11 17:17:48 UTC (rev 755)
@@ -57,7 +57,6 @@
import org.teiid.dqp.internal.process.DQPWorkContext;
import org.teiid.dqp.internal.transaction.TransactionProvider;
-import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.common.application.ApplicationEnvironment;
import com.metamatrix.common.application.ApplicationService;
import com.metamatrix.common.application.exception.ApplicationLifecycleException;
@@ -97,6 +96,8 @@
public static final int DEFAULT_MAX_PROCESSOR_THREADS = 15;
public static final int DEFAULT_PROCESSOR_TREAD_TTL = 120000;
+ private static final String DEFAULT_MAX_RESULTSET_CACHE_SIZE = "20"; //$NON-NLS-1$
+ private static final String DEFAULT_MAX_RESULTSET_CACHE_AGE = "3600000"; //$NON-NLS-1$
//state constructed in start
private ConnectorWrapper connector;
@@ -323,18 +324,14 @@
// Initialize and start the connector
initStartConnector(connectorEnv);
- try {
- //check result set cache
- if(PropertiesUtils.getBooleanProperty(props, ConnectorPropertyNames.USE_RESULTSET_CACHE, false)) {
- Properties rsCacheProps = new Properties();
- rsCacheProps.setProperty(ResultSetCache.RS_CACHE_MAX_SIZE, props.getProperty(ConnectorPropertyNames.MAX_RESULTSET_CACHE_SIZE, "0")); //$NON-NLS-1$
- rsCacheProps.setProperty(ResultSetCache.RS_CACHE_MAX_AGE, props.getProperty(ConnectorPropertyNames.MAX_RESULTSET_CACHE_AGE, "0")); //$NON-NLS-1$
- rsCacheProps.setProperty(ResultSetCache.RS_CACHE_SCOPE, props.getProperty(ConnectorPropertyNames.RESULTSET_CACHE_SCOPE, ResultSetCache.RS_CACHE_SCOPE_VDB));
- this.rsCache = createResultSetCache(rsCacheProps);
- }
- } catch (MetaMatrixComponentException e) {
- throw new ApplicationLifecycleException(e);
- }
+ //check result set cache
+ if(PropertiesUtils.getBooleanProperty(props, ConnectorPropertyNames.USE_RESULTSET_CACHE, false)) {
+ Properties rsCacheProps = new Properties();
+ rsCacheProps.setProperty(ResultSetCache.RS_CACHE_MAX_SIZE, props.getProperty(ConnectorPropertyNames.MAX_RESULTSET_CACHE_SIZE, DEFAULT_MAX_RESULTSET_CACHE_SIZE));
+ rsCacheProps.setProperty(ResultSetCache.RS_CACHE_MAX_AGE, props.getProperty(ConnectorPropertyNames.MAX_RESULTSET_CACHE_AGE, DEFAULT_MAX_RESULTSET_CACHE_AGE));
+ rsCacheProps.setProperty(ResultSetCache.RS_CACHE_SCOPE, props.getProperty(ConnectorPropertyNames.RESULTSET_CACHE_SCOPE, ResultSetCache.RS_CACHE_SCOPE_VDB));
+ this.rsCache = createResultSetCache(rsCacheProps);
+ }
this.workItemFactory = new ConnectorWorkItemFactory(this, this.rsCache, synchWorkers);
this.started = true;
}
@@ -456,8 +453,7 @@
return c;
}
- protected ResultSetCache createResultSetCache(Properties rsCacheProps)
- throws MetaMatrixComponentException {
+ protected ResultSetCache createResultSetCache(Properties rsCacheProps) {
return new ResultSetCache(rsCacheProps, ResourceFinder.getCacheFactory());
}
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java 2009-04-11 03:03:46 UTC (rev 754)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java 2009-04-11 17:17:48 UTC (rev 755)
@@ -117,11 +117,15 @@
private static final String PROCESS_PLAN_QUEUE_NAME = "QueryProcessorQueue"; //$NON-NLS-1$
private static final String DEAFULT_PROCESS_WORKER_TIMEOUT = "120000"; //$NON-NLS-1$
private static final int DEFAULT_MAX_PROCESS_WORKERS = 15;
+ private static final String DEFAULT_MAX_RESULTSET_CACHE_SIZE = "50"; //$NON-NLS-1$
+ private static final String DEFAULT_MAX_RESULTSET_CACHE_AGE = "3600000"; //$NON-NLS-1$
// System properties for Code Table
private int maxCodeTableRecords = DEFAULT_MAX_CODE_TABLE_RECORDS;
private int maxCodeTables = DEFAULT_MAX_CODE_TABLES;
+ private int maxFetchSize = 20000;
+
// Resources
private ConnectorCapabilitiesCache connectorCapabilitiesCache = new ConnectorCapabilitiesCache();
private BufferManager bufferManager;
@@ -135,7 +139,7 @@
// Query worker pool for processing plans
private WorkerPool processWorkerPool;
private int processorTimeslice = DEFAULT_PROCESSOR_TIMESLICE;
- private boolean processDebugAllowed;
+ private boolean processorDebugAllowed;
private TempTableStoresHolder tempTableStoresHolder;
private int chunkSize = 0;
@@ -228,7 +232,7 @@
RequestID requestID = workContext.getRequestID(reqID);
requestMsg.markProcessingStart();
Map<String, SourceCapabilities> vdbCapabilties = this.connectorCapabilitiesCache.getVDBConnectorCapabilities(workContext);
-
+ requestMsg.setFetchSize(Math.min(requestMsg.getFetchSize(), maxFetchSize));
Request request = null;
if ( requestMsg.isPreparedStatement() || requestMsg.isCallableStatement()) {
request = new PreparedStatementRequest(prepPlanCache);
@@ -237,7 +241,7 @@
}
request.initialize(requestMsg, getEnvironment(), bufferManager,
dataTierMgr, vdbCapabilties, transactionService,
- processDebugAllowed, this.tempTableStoresHolder
+ processorDebugAllowed, this.tempTableStoresHolder
.getTempTableStore(workContext.getConnectionID()),
workContext, chunkSize);
@@ -358,7 +362,7 @@
}
RequestWorkItem safeGetWorkItem(Object processorID) {
- return this.requests.get((RequestID)processorID);
+ return this.requests.get(processorID);
}
/**
@@ -581,22 +585,18 @@
public void start(Properties props) {
ApplicationEnvironment env = this.getEnvironment();
+
+ PropertiesUtils.setBeanProperties(this, props, null);
this.chunkSize = PropertiesUtils.getIntProperty(props, DQPConfigSource.STREAMING_BATCH_SIZE, 10) * 1024;
//result set cache
if(PropertiesUtils.getBooleanProperty(props, DQPConfigSource.USE_RESULTSET_CACHE, false)){
Properties rsCacheProps = new Properties();
- rsCacheProps.setProperty(ResultSetCache.RS_CACHE_MAX_SIZE, props.getProperty(DQPConfigSource.MAX_RESULTSET_CACHE_SIZE, "0")); //$NON-NLS-1$
- rsCacheProps.setProperty(ResultSetCache.RS_CACHE_MAX_AGE, props.getProperty(DQPConfigSource.MAX_RESULTSET_CACHE_AGE, "0")); //$NON-NLS-1$
+ rsCacheProps.setProperty(ResultSetCache.RS_CACHE_MAX_SIZE, props.getProperty(DQPConfigSource.MAX_RESULTSET_CACHE_SIZE, DEFAULT_MAX_RESULTSET_CACHE_SIZE));
+ rsCacheProps.setProperty(ResultSetCache.RS_CACHE_MAX_AGE, props.getProperty(DQPConfigSource.MAX_RESULTSET_CACHE_AGE, DEFAULT_MAX_RESULTSET_CACHE_AGE));
rsCacheProps.setProperty(ResultSetCache.RS_CACHE_SCOPE, props.getProperty(DQPConfigSource.RESULTSET_CACHE_SCOPE, ResultSetCache.RS_CACHE_SCOPE_VDB));
- try {
- this.rsCache = new ResultSetCache(rsCacheProps, ResourceFinder.getCacheFactory());
- } catch (MetaMatrixComponentException e) {
- // this does not really affect the
- //function of DQP, log warning for now
- LogManager.logWarning(LogConstants.CTX_DQP, e, DQPPlugin.Util.getString("DQPCORE.6")); //$NON-NLS-1$
- }
+ this.rsCache = new ResultSetCache(rsCacheProps, ResourceFinder.getCacheFactory());
}
//prepared plan cache
@@ -604,13 +604,8 @@
prepPlanCache = new PreparedPlanCache(maxSizeTotal);
// Processor debug flag
- this.processDebugAllowed = PropertiesUtils.getBooleanProperty(props, DQPConfigSource.PROCESSOR_DEBUG_ALLOWED, false);
- LogManager.logInfo(LogConstants.CTX_DQP, DQPPlugin.Util.getString("DQPCore.Processor_debug_allowed_{0}", processDebugAllowed)); //$NON-NLS-1$
+ LogManager.logInfo(LogConstants.CTX_DQP, DQPPlugin.Util.getString("DQPCore.Processor_debug_allowed_{0}", this.processorDebugAllowed)); //$NON-NLS-1$
- this.maxCodeTables = PropertiesUtils.getIntProperty(props, DQPConfigSource.MAX_CODE_TABLES, DEFAULT_MAX_CODE_TABLES);
- this.maxCodeTableRecords = PropertiesUtils.getIntProperty(props, DQPConfigSource.MAX_CODE_TABLE_RECORDS, DEFAULT_MAX_CODE_TABLE_RECORDS);
- this.processorTimeslice = PropertiesUtils.getIntProperty(props, DQPConfigSource.PROCESSOR_TIMESLICE, DEFAULT_PROCESSOR_TIMESLICE);
-
//get buffer manager
BufferService bufferService = (BufferService) env.findService(DQPServiceNames.BUFFER_SERVICE);
bufferManager = bufferService.getBufferManager();
@@ -729,5 +724,25 @@
MetaDataProcessor processor = new MetaDataProcessor(this.metadataService, this, this.prepPlanCache, getEnvironment(), this.tempTableStoresHolder);
return processor.processMessage(workContext.getRequestID(requestID), workContext, preparedSql, allowDoubleQuotedVariable);
}
+
+ public void setMaxFetchSize(int maxFetchSize) {
+ this.maxFetchSize = maxFetchSize;
+ }
+
+ public void setProcessorDebugAllowed(boolean processorDebugAllowed) {
+ this.processorDebugAllowed = processorDebugAllowed;
+ }
+
+ public void setMaxCodeTableRecords(int maxCodeTableRecords) {
+ this.maxCodeTableRecords = maxCodeTableRecords;
+ }
+
+ public void setMaxCodeTables(int maxCodeTables) {
+ this.maxCodeTables = maxCodeTables;
+ }
+
+ public void setProcessorTimeslice(int processorTimeslice) {
+ this.processorTimeslice = processorTimeslice;
+ }
}
\ No newline at end of file
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/impl/TestConnectorManagerImpl.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/impl/TestConnectorManagerImpl.java 2009-04-11 03:03:46 UTC (rev 754)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/impl/TestConnectorManagerImpl.java 2009-04-11 17:17:48 UTC (rev 755)
@@ -26,11 +26,7 @@
*/
package org.teiid.dqp.internal.datamgr.impl;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.*;
import java.net.URL;
import java.net.URLClassLoader;
@@ -45,7 +41,6 @@
import org.teiid.dqp.internal.pooling.connector.FakeSourceConnectionFactory;
import org.teiid.dqp.internal.process.DQPWorkContext;
-import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.cache.FakeCache;
import com.metamatrix.common.application.ApplicationEnvironment;
import com.metamatrix.common.application.exception.ApplicationLifecycleException;
@@ -157,10 +152,8 @@
@Test public void testCaching() throws Exception {
ConnectorManager cm = new ConnectorManager() {
@Override
- protected ResultSetCache createResultSetCache(
- Properties rsCacheProps)
- throws MetaMatrixComponentException {
- assertEquals(rsCacheProps.get(ResultSetCache.RS_CACHE_MAX_AGE), String.valueOf(0));
+ protected ResultSetCache createResultSetCache(Properties rsCacheProps) {
+ assertEquals(String.valueOf(3600000), rsCacheProps.get(ResultSetCache.RS_CACHE_MAX_AGE));
return new ResultSetCache(rsCacheProps, new FakeCache.FakeCacheFactory());
}
};
Modified: trunk/server/src/main/java/com/metamatrix/platform/security/authorization/service/AuthorizationServiceImpl.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/platform/security/authorization/service/AuthorizationServiceImpl.java 2009-04-11 03:03:46 UTC (rev 754)
+++ trunk/server/src/main/java/com/metamatrix/platform/security/authorization/service/AuthorizationServiceImpl.java 2009-04-11 17:17:48 UTC (rev 755)
@@ -163,7 +163,7 @@
// Initialize cache
CacheFactory cf = ResourceFinder.getCacheFactory();
CacheConfiguration config = new CacheConfiguration(Policy.LRU, 0, 0);
- this.authorizationCache = new AuthorizationCache(cf.get(Type.AUTHORIZATION_POLICY, config), cf.get(Type.AUTHORIZATION_PRINCIPLE, config),environment);
+ this.authorizationCache = new AuthorizationCache(cf.get(Type.AUTHORIZATION_POLICY, config), cf.get(Type.AUTHORIZATION_PRINCIPAL, config),environment);
this.serviceClosed = false;
15 years, 8 months
teiid SVN: r754 - in branches/remove_psc/server/src/test: java/com/metamatrix/platform/config/spi/xml and 1 other directories.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2009-04-10 23:03:46 -0400 (Fri, 10 Apr 2009)
New Revision: 754
Modified:
branches/remove_psc/server/src/test/java/com/metamatrix/admin/server/FakeConfigurationService.java
branches/remove_psc/server/src/test/java/com/metamatrix/admin/server/TestServerMonitoringAdminImpl.java
branches/remove_psc/server/src/test/java/com/metamatrix/platform/config/spi/xml/TestXMLConfigReader.java
branches/remove_psc/server/src/test/resources/config/config-original.xml
branches/remove_psc/server/src/test/resources/config/config.xml
branches/remove_psc/server/src/test/resources/config/config_format.xml
branches/remove_psc/server/src/test/resources/config/config_next.xml
branches/remove_psc/server/src/test/resources/config/config_out.xml
branches/remove_psc/server/src/test/resources/config/config_wconnector.xml
branches/remove_psc/server/src/test/resources/config/config_wgateaconnector.xml
branches/remove_psc/server/src/test/resources/config/config_woresources.xml
Log:
Teiid 323 - refactured the xml configuration classes to simplify importing/exporting and to clean up the removal of psc, resourcepool and product type related info
Modified: branches/remove_psc/server/src/test/java/com/metamatrix/admin/server/FakeConfigurationService.java
===================================================================
--- branches/remove_psc/server/src/test/java/com/metamatrix/admin/server/FakeConfigurationService.java 2009-04-11 02:54:02 UTC (rev 753)
+++ branches/remove_psc/server/src/test/java/com/metamatrix/admin/server/FakeConfigurationService.java 2009-04-11 03:03:46 UTC (rev 754)
@@ -397,7 +397,7 @@
List results = new ArrayList();
SharedResourceID resourceID1 = new SharedResourceID("resource1"); //$NON-NLS-1$
- SharedResource resource1 = new BasicSharedResource(resourceID1, SharedResource.JDBC_COMPONENT_TYPE_ID);
+ SharedResource resource1 = new BasicSharedResource(resourceID1, SharedResource.MISC_COMPONENT_TYPE_ID);
ConfigurationObjectEditorHelper.addProperty(resource1, "prop1", "value1"); //$NON-NLS-1$ //$NON-NLS-2$
ConfigurationObjectEditorHelper.addProperty(resource1, Resource.RESOURCE_POOL, "pool"); //$NON-NLS-1$
@@ -405,7 +405,7 @@
SharedResourceID resourceID2 = new SharedResourceID("resource2"); //$NON-NLS-1$
- SharedResource resource2 = new BasicSharedResource(resourceID2, SharedResource.JDBC_COMPONENT_TYPE_ID);
+ SharedResource resource2 = new BasicSharedResource(resourceID2, SharedResource.MISC_COMPONENT_TYPE_ID);
results.add(resource2);
Modified: branches/remove_psc/server/src/test/java/com/metamatrix/admin/server/TestServerMonitoringAdminImpl.java
===================================================================
--- branches/remove_psc/server/src/test/java/com/metamatrix/admin/server/TestServerMonitoringAdminImpl.java 2009-04-11 02:54:02 UTC (rev 753)
+++ branches/remove_psc/server/src/test/java/com/metamatrix/admin/server/TestServerMonitoringAdminImpl.java 2009-04-11 03:03:46 UTC (rev 754)
@@ -417,7 +417,7 @@
MMResource resource = (MMResource) results.iterator().next();
assertEquals("resource1", resource.getIdentifier()); //$NON-NLS-1$
- assertEquals(SharedResource.JDBC_COMPONENT_TYPE_NAME, resource.getResourceType());
+ assertEquals(SharedResource.MISC_COMPONENT_TYPE_NAME, resource.getResourceType());
assertEquals("pool", resource.getConnectionPoolIdentifier()); //$NON-NLS-1$
Modified: branches/remove_psc/server/src/test/java/com/metamatrix/platform/config/spi/xml/TestXMLConfigReader.java
===================================================================
--- branches/remove_psc/server/src/test/java/com/metamatrix/platform/config/spi/xml/TestXMLConfigReader.java 2009-04-11 02:54:02 UTC (rev 753)
+++ branches/remove_psc/server/src/test/java/com/metamatrix/platform/config/spi/xml/TestXMLConfigReader.java 2009-04-11 03:03:46 UTC (rev 754)
@@ -25,15 +25,14 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
-import java.util.Map;
import com.metamatrix.common.config.CurrentConfiguration;
import com.metamatrix.common.config.api.ComponentType;
import com.metamatrix.common.config.api.ComponentTypeDefn;
import com.metamatrix.common.config.api.ComponentTypeID;
import com.metamatrix.common.config.api.Configuration;
-import com.metamatrix.common.config.api.ConnectorBinding;
import com.metamatrix.common.config.api.ConfigurationModelContainer;
+import com.metamatrix.common.config.api.ConnectorBinding;
import com.metamatrix.common.config.api.SharedResource;
import com.metamatrix.platform.config.BaseTest;
import com.metamatrix.platform.config.util.CurrentConfigHelper;
Modified: branches/remove_psc/server/src/test/resources/config/config-original.xml
===================================================================
--- branches/remove_psc/server/src/test/resources/config/config-original.xml 2009-04-11 02:54:02 UTC (rev 753)
+++ branches/remove_psc/server/src/test/resources/config/config-original.xml 2009-04-11 03:03:46 UTC (rev 754)
@@ -75,12 +75,12 @@
<Property Name="vm.enabled">true</Property>
<Property Name="vm.forced.shutdown.time">30</Property>
</Properties>
- <Service Name="MembershipService" ComponentType="MembershipService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="SessionService" ComponentType="SessionService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="AuthorizationService" ComponentType="AuthorizationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="ConfigurationService" ComponentType="ConfigurationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="QueryService" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="MembershipService" ComponentType="MembershipService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="SessionService" ComponentType="SessionService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="AuthorizationService" ComponentType="AuthorizationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="ConfigurationService" ComponentType="ConfigurationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="QueryService" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
</Process>
</Host>
</Configuration>
Modified: branches/remove_psc/server/src/test/resources/config/config.xml
===================================================================
--- branches/remove_psc/server/src/test/resources/config/config.xml 2009-04-11 02:54:02 UTC (rev 753)
+++ branches/remove_psc/server/src/test/resources/config/config.xml 2009-04-11 03:03:46 UTC (rev 754)
@@ -75,12 +75,12 @@
<Property Name="vm.enabled">true</Property>
<Property Name="vm.forced.shutdown.time">30</Property>
</Properties>
- <Service Name="MembershipService" ComponentType="MembershipService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="SessionService" ComponentType="SessionService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="AuthorizationService" ComponentType="AuthorizationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="ConfigurationService" ComponentType="ConfigurationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="QueryService" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="MembershipService" ComponentType="MembershipService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="SessionService" ComponentType="SessionService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="AuthorizationService" ComponentType="AuthorizationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="ConfigurationService" ComponentType="ConfigurationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="QueryService" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
</Process>
</Host>
</Configuration>
Modified: branches/remove_psc/server/src/test/resources/config/config_format.xml
===================================================================
--- branches/remove_psc/server/src/test/resources/config/config_format.xml 2009-04-11 02:54:02 UTC (rev 753)
+++ branches/remove_psc/server/src/test/resources/config/config_format.xml 2009-04-11 03:03:46 UTC (rev 754)
@@ -144,74 +144,27 @@
<Configuration Name="Next Startup" ComponentType="Configuration">
<Host Name="slwxp141" ComponentType="Host">
<Process Name="MetaMatrixProcess" ComponentType="VM">
- <Service Name="DirectoryService" ComponentType="DirectoryService">
- <ChangeHistory>
- <Property Name="LastChangedBy">ConfigurationStartup</Property>
- <Property Name="CreatedBy">ConfigurationStartup</Property>
- </ChangeHistory>
- </Service>
- <Service Name="IndexingService" ComponentType="IndexingService">
- <ChangeHistory>
- <Property Name="LastChangedBy">ConfigurationStartup</Property>
- <Property Name="CreatedBy">ConfigurationStartup</Property>
- </ChangeHistory>
- </Service>
+ <DeployedService Name="DirectoryService" ComponentType="DirectoryService">
+ </DeployedService>
+ <DeployedService Name="IndexingService" ComponentType="IndexingService">
+ </DeployedService>
- <ChangeHistory>
- <Property Name="LastChangedBy">ConfigurationStartup</Property>
- <Property Name="CreatedBy">ConfigurationStartup</Property>
- </ChangeHistory>
+ <DeployedService Name="MembershipService" ComponentType="MembershipService">
+ </DeployedService>
- <Service Name="MembershipService" ComponentType="MembershipService">
- <ChangeHistory>
- <Property Name="LastChangedBy">ConfigurationStartup</Property>
- <Property Name="CreatedBy">ConfigurationStartup</Property>
- </ChangeHistory>
- </Service>
+ <DeployedService Name="SessionService" ComponentType="SessionService">
+ </DeployedService>
- <Service Name="SessionService" ComponentType="SessionService">
- <ChangeHistory>
- <Property Name="LastChangedBy">ConfigurationStartup</Property>
- <Property Name="CreatedBy">ConfigurationStartup</Property>
- </ChangeHistory>
- </Service>
+ <DeployedService Name="AuthorizationService" ComponentType="AuthorizationService">
+ </DeployedService>
- <Service Name="AuthorizationService" ComponentType="AuthorizationService">
- <ChangeHistory>
- <Property Name="LastChangedBy">ConfigurationStartup</Property>
- <Property Name="CreatedBy">ConfigurationStartup</Property>
- </ChangeHistory>
- </Service>
+ <DeployedService Name="ConfigurationService" ComponentType="ConfigurationService">
+ </DeployedService>
+ <DeployedService Name="QueryService" ComponentType="QueryService">
+ </DeployedService>
- <Service Name="ConfigurationService" ComponentType="ConfigurationService">
- <ChangeHistory>
- <Property Name="LastChangedBy">ConfigurationStartup</Property>
- <Property Name="CreatedBy">ConfigurationStartup</Property>
- </ChangeHistory>
- </Service>
-
- <ChangeHistory>
- <Property Name="LastChangedBy">ConfigurationStartup</Property>
- <Property Name="CreatedBy">ConfigurationStartup</Property>
- </ChangeHistory>
- <Service Name="QueryService" ComponentType="QueryService">
- <ChangeHistory>
- <Property Name="LastChangedBy">ConfigurationStartup</Property>
- <Property Name="CreatedBy">ConfigurationStartup</Property>
- </ChangeHistory>
- </Service>
-
- <Service Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService">
- <ChangeHistory>
- <Property Name="LastChangedBy">ConfigurationStartup</Property>
- <Property Name="CreatedBy">ConfigurationStartup</Property>
- </ChangeHistory>
- </Service>
-
- <ChangeHistory>
- <Property Name="LastChangedBy">ConfigurationStartup</Property>
- <Property Name="CreatedBy">ConfigurationStartup</Property>
- </ChangeHistory>
+ <DeployedService Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService">
+ </DeployedService>
<Properties>
<Property Name="vm.starter.maxHeapSize">1024</Property>
<Property Name="vm.starter.minHeapSize">256</Property>
Modified: branches/remove_psc/server/src/test/resources/config/config_next.xml
===================================================================
--- branches/remove_psc/server/src/test/resources/config/config_next.xml 2009-04-11 02:54:02 UTC (rev 753)
+++ branches/remove_psc/server/src/test/resources/config/config_next.xml 2009-04-11 03:03:46 UTC (rev 754)
@@ -71,14 +71,14 @@
<Property Name="vm.starter.minHeapSize">256</Property>
<Property Name="vm.timetolive">30000</Property>
</Properties>
- <Service Name="SessionService" ComponentType="SessionService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-19T10:18:51.629-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-19T10:18:51.629-06:00" />
- <Service Name="ConfigurationService" ComponentType="ConfigurationService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-19T10:18:51.629-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-19T10:18:51.629-06:00" />
- <Service Name="MembershipService" ComponentType="MembershipService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-19T10:18:51.629-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-19T10:18:51.629-06:00" />
- <Service Name="AuthorizationService" ComponentType="AuthorizationService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-19T10:18:51.629-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-19T10:18:51.629-06:00" />
- <Service Name="IndexingService" ComponentType="IndexingService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-19T10:18:51.628-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-19T10:18:51.628-06:00" />
- <Service Name="DirectoryService" ComponentType="DirectoryService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-19T10:18:51.628-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-19T10:18:51.628-06:00" />
- <Service Name="QueryService" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-19T10:18:51.630-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-19T10:18:51.630-06:00" />
- <Service Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-19T10:18:51.630-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-19T10:18:51.630-06:00" />
+ <DeployedService Name="SessionService" ComponentType="SessionService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-19T10:18:51.629-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-19T10:18:51.629-06:00" />
+ <DeployedService Name="ConfigurationService" ComponentType="ConfigurationService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-19T10:18:51.629-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-19T10:18:51.629-06:00" />
+ <DeployedService Name="MembershipService" ComponentType="MembershipService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-19T10:18:51.629-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-19T10:18:51.629-06:00" />
+ <DeployedService Name="AuthorizationService" ComponentType="AuthorizationService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-19T10:18:51.629-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-19T10:18:51.629-06:00" />
+ <DeployedService Name="IndexingService" ComponentType="IndexingService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-19T10:18:51.628-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-19T10:18:51.628-06:00" />
+ <DeployedService Name="DirectoryService" ComponentType="DirectoryService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-19T10:18:51.628-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-19T10:18:51.628-06:00" />
+ <DeployedService Name="QueryService" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-19T10:18:51.630-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-19T10:18:51.630-06:00" />
+ <DeployedService Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-19T10:18:51.630-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-19T10:18:51.630-06:00" />
</Process>
</Host>
</Configuration>
Modified: branches/remove_psc/server/src/test/resources/config/config_out.xml
===================================================================
--- branches/remove_psc/server/src/test/resources/config/config_out.xml 2009-04-11 02:54:02 UTC (rev 753)
+++ branches/remove_psc/server/src/test/resources/config/config_out.xml 2009-04-11 03:03:46 UTC (rev 754)
@@ -76,14 +76,14 @@
<Property Name="vm.starter.minHeapSize">256</Property>
<Property Name="vm.timetolive">30000</Property>
</Properties>
- <Service Name="ConfigurationService" ComponentType="ConfigurationService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-17T16:56:33.317-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-17T16:56:33.317-06:00" />
- <Service Name="SessionService" ComponentType="SessionService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-17T16:56:33.316-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-17T16:56:33.316-06:00" />
- <Service Name="MembershipService" ComponentType="MembershipService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-17T16:56:33.316-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-17T16:56:33.316-06:00" />
- <Service Name="AuthorizationService" ComponentType="AuthorizationService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-17T16:56:33.317-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-17T16:56:33.317-06:00" />
- <Service Name="IndexingService" ComponentType="IndexingService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-17T16:56:33.316-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-17T16:56:33.316-06:00" />
- <Service Name="DirectoryService" ComponentType="DirectoryService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-17T16:56:33.316-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-17T16:56:33.316-06:00" />
- <Service Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-17T16:56:33.317-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-17T16:56:33.317-06:00" />
- <Service Name="QueryService" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-17T16:56:33.317-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-17T16:56:33.317-06:00" />
+ <DeployedService Name="ConfigurationService" ComponentType="ConfigurationService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-17T16:56:33.317-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-17T16:56:33.317-06:00" />
+ <DeployedService Name="SessionService" ComponentType="SessionService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-17T16:56:33.316-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-17T16:56:33.316-06:00" />
+ <DeployedService Name="MembershipService" ComponentType="MembershipService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-17T16:56:33.316-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-17T16:56:33.316-06:00" />
+ <DeployedService Name="AuthorizationService" ComponentType="AuthorizationService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-17T16:56:33.317-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-17T16:56:33.317-06:00" />
+ <DeployedService Name="IndexingService" ComponentType="IndexingService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-17T16:56:33.316-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-17T16:56:33.316-06:00" />
+ <DeployedService Name="DirectoryService" ComponentType="DirectoryService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-17T16:56:33.316-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-17T16:56:33.316-06:00" />
+ <DeployedService Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-17T16:56:33.317-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-17T16:56:33.317-06:00" />
+ <DeployedService Name="QueryService" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-17T16:56:33.317-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-17T16:56:33.317-06:00" />
</Process>
</Host>
<Host Name="DummyHost" ComponentType="Host" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-03-17T16:56:33.312-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-03-17T16:56:33.313-06:00">
Modified: branches/remove_psc/server/src/test/resources/config/config_wconnector.xml
===================================================================
--- branches/remove_psc/server/src/test/resources/config/config_wconnector.xml 2009-04-11 02:54:02 UTC (rev 753)
+++ branches/remove_psc/server/src/test/resources/config/config_wconnector.xml 2009-04-11 03:03:46 UTC (rev 754)
@@ -75,12 +75,12 @@
<Property Name="vm.enabled">true</Property>
<Property Name="vm.forced.shutdown.time">30</Property>
</Properties>
- <Service Name="MembershipService" ComponentType="MembershipService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="SessionService" ComponentType="SessionService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="AuthorizationService" ComponentType="AuthorizationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="ConfigurationService" ComponentType="ConfigurationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="QueryService" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="MembershipService" ComponentType="MembershipService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="SessionService" ComponentType="SessionService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="AuthorizationService" ComponentType="AuthorizationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="ConfigurationService" ComponentType="ConfigurationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="QueryService" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
</Process>
</Host>
</Configuration>
Modified: branches/remove_psc/server/src/test/resources/config/config_wgateaconnector.xml
===================================================================
--- branches/remove_psc/server/src/test/resources/config/config_wgateaconnector.xml 2009-04-11 02:54:02 UTC (rev 753)
+++ branches/remove_psc/server/src/test/resources/config/config_wgateaconnector.xml 2009-04-11 03:03:46 UTC (rev 754)
@@ -75,12 +75,12 @@
<Property Name="vm.enabled">true</Property>
<Property Name="vm.forced.shutdown.time">30</Property>
</Properties>
- <Service Name="MembershipService" ComponentType="MembershipService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="SessionService" ComponentType="SessionService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="AuthorizationService" ComponentType="AuthorizationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="ConfigurationService" ComponentType="ConfigurationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="QueryService" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="MembershipService" ComponentType="MembershipService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="SessionService" ComponentType="SessionService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="AuthorizationService" ComponentType="AuthorizationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="ConfigurationService" ComponentType="ConfigurationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="QueryService" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
</Process>
</Host>
</Configuration>
Modified: branches/remove_psc/server/src/test/resources/config/config_woresources.xml
===================================================================
--- branches/remove_psc/server/src/test/resources/config/config_woresources.xml 2009-04-11 02:54:02 UTC (rev 753)
+++ branches/remove_psc/server/src/test/resources/config/config_woresources.xml 2009-04-11 03:03:46 UTC (rev 754)
@@ -75,12 +75,12 @@
<Property Name="vm.enabled">true</Property>
<Property Name="vm.forced.shutdown.time">30</Property>
</Properties>
- <Service Name="MembershipService" ComponentType="MembershipService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="SessionService" ComponentType="SessionService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="AuthorizationService" ComponentType="AuthorizationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="ConfigurationService" ComponentType="ConfigurationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="QueryService" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="MembershipService" ComponentType="MembershipService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="SessionService" ComponentType="SessionService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="AuthorizationService" ComponentType="AuthorizationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="ConfigurationService" ComponentType="ConfigurationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="QueryService" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
</Process>
</Host>
</Configuration>
15 years, 8 months
teiid SVN: r753 - branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/api.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2009-04-10 22:54:02 -0400 (Fri, 10 Apr 2009)
New Revision: 753
Modified:
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/api/SharedResource.java
Log:
Teiid 323 - refactured the xml configuration classes to simplify importing/exporting and to clean up the removal of psc, resourcepool and product type related info
Modified: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/api/SharedResource.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/api/SharedResource.java 2009-04-11 02:42:44 UTC (rev 752)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/api/SharedResource.java 2009-04-11 02:54:02 UTC (rev 753)
@@ -34,34 +34,13 @@
*/
public interface SharedResource extends ComponentObject {
-
-
- /**
- * The JDBC_RESOURCE_TYPE resource is the generic resource used for
- * majority of the internal resources
- */
-// public static final String JDBC_COMPONENT_TYPE_NAME = "JDBC Resource Type"; //$NON-NLS-1$
-
-// public static final ComponentTypeID JDBC_COMPONENT_TYPE_ID = new ComponentTypeID(JDBC_COMPONENT_TYPE_NAME);
-
- /** The JMS_RESOURCE_TYPE resource is used to define jms resources. */
- // public static final String JMS_COMPONENT_TYPE_NAME = "JMS Resource Type"; //$NON-NLS-1$
-
-
-// public static final ComponentTypeID JMS_COMPONENT_TYPE_ID = new ComponentTypeID(JMS_COMPONENT_TYPE_NAME);
-
/** The MISC_RESOURCE_TYPE resource is used to define resources that need any specific type association. */
public static final String MISC_COMPONENT_TYPE_NAME = "Miscellaneous Resource Type"; //$NON-NLS-1$
-// public static final ComponentTypeID MISC_COMPONENT_TYPE_ID = new ComponentTypeID(MISC_COMPONENT_TYPE_NAME);
+ public static final ComponentTypeID MISC_COMPONENT_TYPE_ID = new ComponentTypeID(MISC_COMPONENT_TYPE_NAME);
- /** The SEARCHBASE_RESOURCE_TYPE resource is used to define external searchbase resources. */
- // public static final String SEARCHBASE_COMPONENT_TYPE_NAME = "Searchbase Resource Type"; //$NON-NLS-1$
-
-
-// public static final ComponentTypeID SEARCHBASE_COMPONENT_TYPE_ID = new ComponentTypeID(SEARCHBASE_COMPONENT_TYPE_NAME);
15 years, 8 months
teiid SVN: r752 - in branches/remove_psc/common-internal: src/main/java/com/metamatrix/common/config/api and 5 other directories.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2009-04-10 22:42:44 -0400 (Fri, 10 Apr 2009)
New Revision: 752
Added:
branches/remove_psc/common-internal/XMLElementNames.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/ConfigurationImportExport.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_ElementNames.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLHelperImpl.java
Removed:
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_42_ElementNames.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_42_HelperImpl.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_42_ImportExportUtility.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_42_Visitor.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_Base_ImportExportUtility.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLElementNames.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLHelper.java
Modified:
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/api/SharedResource.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/BasicConfiguration.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/BasicUtil.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/util/ConfigurationImportExportUtility.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/util/ConfigurationPropertyNames.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfigurationImportExportUtility.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLHelperUtil.java
branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/vdb/api/DEFReaderWriter.java
branches/remove_psc/common-internal/src/test/resources/config-original.xml
branches/remove_psc/common-internal/src/test/resources/config.xml
branches/remove_psc/common-internal/src/test/resources/example.def
Log:
Teiid 323 - refactured the xml configuration classes to simplify importing/exporting and to clean up the removal of psc, resourcepool and product type related info
Added: branches/remove_psc/common-internal/XMLElementNames.java
===================================================================
--- branches/remove_psc/common-internal/XMLElementNames.java (rev 0)
+++ branches/remove_psc/common-internal/XMLElementNames.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -0,0 +1,746 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package com.metamatrix.common.config.xml;
+
+import com.metamatrix.common.config.util.ConfigurationPropertyNames;
+
+/**
+* This class structure mimics the structure of a Configuration XML
+* document and defines all of the element and attribute names for that
+* document type.
+*/
+public interface XMLElementNames {
+
+ /**
+ * This is used as the delimiter of all XML element names.
+ */
+ public static final String DELIMITER = "."; //$NON-NLS-1$
+
+ /**
+ * This should be the root Element name for all Configuration XML Documents.
+ */
+ // public static final String ELEMENT = "ConfigurationDocument"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the Configurations Element which contains
+ * all of the XML elements that represent Configuration objects.
+ */
+
+ /**
+ * This is the class that represents the Configuration Element which contains
+ * all of the XML elements that represent a Configuration object.
+ */
+ public static class Configuration {
+
+ /**
+ * This is the name of the Configurations Element.
+ */
+ public static final String ELEMENT = "Configuration"; //$NON-NLS-1$
+ /**
+ * This is the class that represents the ServiceComponentDefns Element which contains
+ * all of the XML elements that represent a ServiceComponentDefns object.
+ */
+ public static class ServiceComponentDefns {
+
+ /**
+ * This is the name of the ServiceComponentDefns Element.
+ */
+ public static final String ELEMENT = Configuration.ELEMENT + DELIMITER + "ServiceComponentDefns"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the ServiceComponentDefn Element which contains
+ * all of the XML elements that represent a ServiceComponentDefn object.
+ */
+ public static class ServiceComponentDefn {
+
+ /**
+ * This is the name of the ServiceComponentDefn Element.
+ */
+ public static final String ELEMENT = "ServiceComponentDefn"; //$NON-NLS-1$
+
+ public static class Attributes extends ComponentObject.Attributes{
+ public static final String ROUTING_UUID = "routingUUID"; //$NON-NLS-1$
+ }
+ }
+ }
+
+
+ /**
+ * This is the class that represents the VMComponentDefns Element which contains
+ * all of the XML elements that represent a VMComponentDefns object.
+ */
+ public static class VMComponentDefns {
+
+ /**
+ * This is the name of the VMComponentDefns Element.
+ */
+ public static final String ELEMENT = Configuration.ELEMENT + DELIMITER +"VMComponentDefns"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the VMComponentDefn Element which contains
+ * all of the XML elements that represent a VMComponentDefn object.
+ */
+ public static class VMComponentDefn {
+
+ /**
+ * This is the name of the VMComponentDefn Element.
+ */
+ public static final String ELEMENT = "VMComponentDefn"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it. Note that this class just inherits its attributes
+ * from its configuration object superclass.
+ */
+ public static class Attributes extends ComponentObject.Attributes{
+ }
+ }
+ }
+
+
+
+ /**
+ * This is the class that represents the DeployedComponents Element which contains
+ * all of the XML elements that represent a DeployedComponents object.
+ */
+ public static class DeployedComponents {
+
+ /**
+ * This is the name of the DeployedComponents Element.
+ */
+ public static final String ELEMENT = Configuration.ELEMENT + DELIMITER + "DeployedComponents"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the DeployedComponent Element which contains
+ * all of the XML elements that represent a DeployedComponent object.
+ */
+ public static class DeployedComponent {
+
+ /**
+ * This is the name of the DeployedComponent Element.
+ */
+ public static final String ELEMENT = "DeployedComponent"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it. Note that this class just inherits its attributes
+ * from its configuration object superclass.
+ */
+ public static class Attributes extends ComponentObject.Attributes{
+ public static final String HOST_ID = "HostID"; //$NON-NLS-1$
+// public static final String PRODUCT_SERVICE_CONFIG_ID = "ProductServiceConfigID"; //$NON-NLS-1$
+ public static final String SERVICE_COMPONENT_DEFN_ID = "ServiceComponentDefnID"; //$NON-NLS-1$
+ public static final String VM_COMPONENT_DEFN_ID = "VMComponentDefnID"; //$NON-NLS-1$
+ }
+ }
+ }
+
+
+ /**
+ * This is the class that represents the ComponentDefnID Element which contains
+ * all of the XML elements that represent a ComponentDefnID object.
+ */
+ public static final class ComponentDefnID{
+
+ /**
+ * This is the name of the ComponentDefnID Element.
+ */
+ public static final String ELEMENT = "ComponentDefnID"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it. Note that this class just inherits its attributes
+ * from its configuration object superclass.
+ */
+ public static class Attributes extends ID.Attributes {
+ }
+ }
+
+ /**
+ * This is the class that represents the DeployedComponentID Element which contains
+ * all of the XML elements that represent a DeployedComponentID object.
+ */
+ public static final class DeployedComponentID{
+
+ /**
+ * This is the name of the DeployedComponentID Element.
+ */
+ public static final String ELEMENT = "DeployedComponentID"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it. Note that this class just inherits its attributes
+ * from its configuration object superclass.
+ */
+ public static class Attributes extends ID.Attributes {
+ }
+ }
+
+ /**
+ * This is the class that represents the ProductServiceConfigID Element which contains
+ * all of the XML elements that represent a ProductServiceConfigID object.
+ */
+// public static final class ProductServiceConfigID{
+//
+// /**
+// * This is the name of the ProductServiceConfigID Element.
+// */
+// public static final String ELEMENT = "ProductServiceConfigID"; //$NON-NLS-1$
+//
+// /**
+// * This class defines the Attributes of the Element class that
+// * contains it. Note that this class just inherits its attributes
+// * from its configuration object superclass.
+// */
+// public static class Attributes extends ID.Attributes {
+// }
+// }
+
+ /**
+ * This is the class that represents the VMComponentDefnID Element which contains
+ * all of the XML elements that represent a VMComponentDefnID object.
+ */
+ public static final class VMComponentDefnID{
+
+ /**
+ * This is the name of the VMComponentDefnID Element.
+ */
+ public static final String ELEMENT = "VMComponentDefnID"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it. Note that this class just inherits its attributes
+ * from its configuration object superclass.
+ */
+ public static class Attributes extends ID.Attributes {
+ }
+ }
+
+ /**
+ * This is the class that represents the VMComponentDefnID Element which contains
+ * all of the XML elements that represent a VMComponentDefnID object.
+ */
+ public static final class ServiceComponentDefnID{
+
+ /**
+ * This is the name of the ServiceComponentDefnID Element.
+ */
+ public static final String ELEMENT = "ServiceComponentDefnID"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it. Note that this class just inherits its attributes
+ * from its configuration object superclass.
+ */
+ public static class Attributes extends ID.Attributes {
+ }
+ }
+
+ /**
+ * This is the class that represents the ConfigurationInfo Element which contains
+ * all of the XML elements that represent a ConfigurationInfo object.
+ */
+ public static class ConfigurationInfo {
+
+ /**
+ * This is the name of the ServiceComponentDefnID Element.
+ */
+ public static final String ELEMENT = "ConfigurationInfo"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it.
+ */
+ public static class Attributes {
+ public static final String LAST_CHANGED_DATE = "LastChangedDate"; //$NON-NLS-1$
+ public static final String CREATION_DATE = "CreationDate"; //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * This is the class that represents the LogConfiguration Element which contains
+ * all of the XML elements that represent a LogConfiguration object.
+ */
+ public static class LogConfiguration {
+
+ /**
+ * This is the name of the LogConfiguration Element.
+ */
+ public static final String ELEMENT = "LogConfiguration"; //$NON-NLS-1$
+
+ }
+
+ }
+ // }
+
+ /**
+ * This is the class that represents the ComponentObject Element which contains
+ * all of the XML elements that represent a ComponentObject object.
+ */
+ public static class ComponentObject {
+ public static class Attributes {
+ public static final String NAME = "Name"; //$NON-NLS-1$
+ public static final String COMPONENT_TYPE = "ComponentType"; //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * This is the class that represents the Properties Element which contains
+ * all of the XML elements that represent a Properties object.
+ */
+ public static class Properties {
+
+ /**
+ * This is the name of the Properties Element.
+ */
+ public static final String ELEMENT = "Properties"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the Property Element which contains
+ * all of the XML elements that represent a Property object.
+ */
+ public static class Property {
+
+ /**
+ * This is the name of the Property Element.
+ */
+ public static final String ELEMENT = "Property"; //$NON-NLS-1$
+
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it.
+ */
+ public static class Attributes {
+ public static final String NAME = "Name"; //$NON-NLS-1$
+ }
+
+ }
+ }
+
+ /**
+ * This is the class that represents the ChangeHistory Properties Element which contains
+ * all of the XML elements that represent the change information for the object.
+ */
+ public static class ChangeHistory {
+
+ /**
+ * This is the name of the ChangeHistory Element.
+ */
+ public static final String ELEMENT = "ChangeHistory"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the Property Element which contains
+ * all of the XML elements that represent a Property object.
+ */
+ public static class Property {
+
+ /**
+ * This is the name of the Property Element.
+ */
+ public static final String ELEMENT = "Property"; //$NON-NLS-1$
+
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it.
+ */
+ public static class Attributes {
+ public static final String NAME = "Name"; //$NON-NLS-1$
+ }
+
+ public static class NAMES {
+ public static final String LAST_CHANGED_DATE = "LastChangedDate"; //$NON-NLS-1$
+ public static final String LAST_CHANGED_BY = "LastChangedBy"; //$NON-NLS-1$
+ public static final String CREATION_DATE = "CreationDate"; //$NON-NLS-1$
+ public static final String CREATED_BY = "CreatedBy"; //$NON-NLS-1$
+
+ }
+ }
+ }
+
+
+ /**
+ * This is the class that represents the ID Element which contains
+ * all of the XML elements that represent a ID object.
+ */
+ public static class ID {
+ // these are the shared attributes of all ID Elements
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it.
+ */
+ public static class Attributes {
+ public static final String NAME = "Name"; //$NON-NLS-1$
+ }
+ }
+
+
+ /**
+ * This is the class that represents the HostID Element which contains
+ * all of the XML elements that represent a HostID object.
+ */
+ public static final class HostID {
+
+ /**
+ * This is the name of the HostID Element.
+ */
+ public static final String ELEMENT = "HostID"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it. Note that this class just inherits its attributes
+ * from its configuration object superclass.
+ */
+ public static class Attributes extends ID.Attributes {
+ }
+ }
+
+
+
+
+
+ /**
+ * This is the class that represents the Hosts Element which contains
+ * all of the XML elements that represent a Hosts object.
+ */
+// public static class Hosts {
+//
+// /**
+// * This is the name of the Hosts Element.
+// */
+// public static final String ELEMENT = "Hosts"; //$NON-NLS-1$
+//
+// /**
+// * This is the class that represents the Host Element which contains
+// * all of the XML elements that represent a Host object.
+// */
+// public static class Host {
+//
+// /**
+// * This is the name of the Host Element.
+// */
+// public static final String ELEMENT = "Host"; //$NON-NLS-1$
+//
+// }
+// }
+
+ /**
+ * This is the class that represents the Resources Element which contains
+ * all of the XML elements that represent a Resource object.
+ */
+ public static class Resources {
+
+ /**
+ * This is the name of the Hosts Element.
+ */
+ public static final String ELEMENT = "Resources"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the Resource Element which contains
+ * all of the XML elements that represent a Resource object.
+ */
+ public static class Resource {
+
+ /**
+ * This is the name of the Resource Element.
+ */
+ public static final String ELEMENT = "Resource"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it. Note that this class just inherits its attributes
+ * from its configuration object superclass.
+ */
+ public static class Attributes extends ComponentObject.Attributes{
+ }
+
+
+ }
+ }
+
+ /**
+ * This is the class that represents the ServiceComponentDefns Element which contains
+ * all of the XML elements that represent a ServiceComponentDefns object.
+ */
+ public static class ConnectorComponents {
+
+ /**
+ * This is the name of the ServiceComponentDefns Element.
+ */
+ public static final String ELEMENT = "ConnectorBindings"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the ConnectorBinding Element which contains
+ * all of the XML elements that represent a ConnectorBinding object.
+ */
+ public static class ConnectorComponent {
+
+ /**
+ * This is the name of the ConnectorBinding Element.
+ */
+ public static final String ELEMENT = "Connector"; //$NON-NLS-1$
+
+ public static class Attributes extends ComponentObject.Attributes{
+ public static final String QUEUED_SERVICE = "QueuedService"; //$NON-NLS-1$
+// public static final String IS_ENABLED = "IsEnabled";
+ public static final String ROUTING_UUID = "routingUUID"; //$NON-NLS-1$
+ }
+ }
+ }
+
+
+
+ /**
+ * This is the class that represents the ComponentTypeID Element which contains
+ * all of the XML elements that represent a ComponentTypeID object.
+ */
+ public static class ComponentTypeID {
+
+ /**
+ * This is the name of the ComponentTypeID Element.
+ */
+ public static final String ELEMENT = "ComponentTypeID"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it. Note that this class just inherits its attributes
+ * from its configuration object superclass.
+ */
+ public static class Attributes extends ID.Attributes {
+ }
+
+ }
+
+ /**
+ * This is the class that represents the ComponentTypes Element which contains
+ * all of the XML elements that represent a ComponentTypes object.
+ */
+ public static class ComponentTypes {
+
+ /**
+ * This is the name of the ComponentTypes Element.
+ */
+ public static final String ELEMENT = "ComponentTypes"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the ComponentType Element which contains
+ * all of the XML elements that represent a ComponentType object.
+ */
+ public static class ComponentType {
+
+ /**
+ * This is the name of the ComponentType Element.
+ */
+ public static final String ELEMENT = "ComponentType"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it.
+ */
+ public static class Attributes {
+ public static final String NAME = "Name"; //$NON-NLS-1$
+ public static final String PARENT_COMPONENT_TYPE = "ParentComponentType"; //$NON-NLS-1$
+ public static final String SUPER_COMPONENT_TYPE = "SuperComponentType"; //$NON-NLS-1$
+ public static final String COMPONENT_TYPE_CODE = "ComponentTypeCode"; //$NON-NLS-1$
+ public static final String DEPLOYABLE = "Deployable"; //$NON-NLS-1$
+ public static final String DEPRECATED = "Deprecated"; //$NON-NLS-1$
+ public static final String MONITORABLE = "Monitorable"; //$NON-NLS-1$
+ }
+
+
+ /**
+ * This is the class that represents the ComponentTypeDefn Element which contains
+ * all of the XML elements that represent a ComponentTypeDefn object.
+ */
+ public static class ComponentTypeDefn {
+
+ /**
+ * This is the name of the ComponentTypeDefn Element.
+ */
+ public static final String ELEMENT = "ComponentTypeDefn"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it.
+ */
+ public static class Attributes {
+ public static final String DEPRECATED = "Deprecated"; //$NON-NLS-1$
+ }
+
+ /**
+ * This is the class that represents the PropertyDefinition Element which contains
+ * all of the XML elements that represent a PropertyDefinition object.
+ */
+ public static class PropertyDefinition {
+
+ /**
+ * This is the name of the PropertyDefinition Element.
+ */
+ public static final String ELEMENT = "PropertyDefinition"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it.
+ */
+ public static class Attributes {
+ public static final String NAME = "Name"; //$NON-NLS-1$
+ public static final String DISPLAY_NAME = "DisplayName"; //$NON-NLS-1$
+ public static final String SHORT_DESCRIPTION ="ShortDescription"; //$NON-NLS-1$
+ public static final String DEFAULT_VALUE = "DefaultValue"; //$NON-NLS-1$
+ public static final String MULTIPLICITY = "Multiplicity"; //$NON-NLS-1$
+ public static final String PROPERTY_TYPE = "PropertyType"; //$NON-NLS-1$
+ public static final String VALUE_DELIMITER = "ValueDelimiter"; //$NON-NLS-1$
+ public static final String IS_CONSTRAINED_TO_ALLOWED_VALUES = "IsConstrainedToAllowedValues"; //$NON-NLS-1$
+ public static final String IS_EXPERT = "IsExpert"; //$NON-NLS-1$
+ public static final String IS_HIDDEN = "IsHidden"; //$NON-NLS-1$
+ public static final String IS_MASKED = "IsMasked"; //$NON-NLS-1$
+ public static final String IS_MODIFIABLE = "IsModifiable"; //$NON-NLS-1$
+ public static final String IS_PREFERRED = "IsPreferred"; //$NON-NLS-1$
+ }
+
+ /**
+ * This is the class that represents the AllowedValue Element which contains
+ * all of the XML elements that represent a AllowedValue object.
+ */
+ public static class AllowedValue {
+
+ /**
+ * This is the name of the AllowedValue Element.
+ */
+ public static final String ELEMENT = "AllowedValue"; //$NON-NLS-1$
+ }
+
+ }
+
+ }
+ }
+ }
+
+ /**
+ * This is the class that represents the ProductTypes Element which contains
+ * all of the XML elements that represent a ProductType object.
+ */
+// public static class ProductTypes {
+// public static final String ELEMENT = "ProductTypes"; //$NON-NLS-1$
+//
+// /**
+// * This is the class that represents the ProductType Element which contains
+// * all of the XML elements that represent a ProductType object.
+// * Note that it extends teh ComponentType element definition.
+// */
+// public static class ProductType extends ComponentTypes.ComponentType{
+// public static final String ELEMENT = "ProductType"; //$NON-NLS-1$
+// }
+// }
+
+
+
+
+ /**
+ * This is the class that represents the Header Element which contains
+ * all of the XML elements that represent a Header object.
+ */
+ public static class Header {
+
+ /**
+ * This is the name of the Header Element.
+ */
+ public static final String ELEMENT = "Header"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the UserName Element which contains
+ * all of the XML elements that represent a UserName object.
+ */
+ public static class UserCreatedBy {
+
+ /**
+ * This is the name of the UserName Element.
+ */
+ public static final String ELEMENT = ConfigurationPropertyNames.USER_CREATED_BY;
+ }
+
+ /**
+ * This is the class that represents the ApplicationCreatedDate Element which contains
+ * all of the XML elements that represent a ApplicationCreatedDate object.
+ */
+ public static class ApplicationCreatedBy {
+
+ /**
+ * This is the name of the ApplicationCreatedDate Element.
+ */
+ public static final String ELEMENT = ConfigurationPropertyNames.APPLICATION_CREATED_BY;
+ }
+
+ /**
+ * This is the class that represents the ApplicationVersionCreatedBy Element which contains
+ * all of the XML elements that represent a ApplicationVersionCreatedBy object.
+ */
+ public static class ApplicationVersionCreatedBy {
+
+ /**
+ * This is the name of the ApplicationVersionCreatedBy Element.
+ */
+ public static final String ELEMENT = ConfigurationPropertyNames.APPLICATION_VERSION_CREATED_BY;
+ }
+
+ /**
+ * This is the class that represents the Time Element which contains
+ * all of the XML elements that represent a Time object.
+ */
+ public static class Time {
+
+ /**
+ * This is the name of the Time Element.
+ */
+ public static final String ELEMENT = ConfigurationPropertyNames.TIME;
+ }
+
+ /**
+ * This is the class that represents the DocumentTypeVersion Element which contains
+ * all of the XML elements that represent a DocumentTypeVersion object.
+ */
+ public static class ConfigurationVersion {
+
+ /**
+ * This is the name of the DocumentTypeVersion Element.
+ */
+ public static final String ELEMENT = ConfigurationPropertyNames.CONFIGURATION_VERSION;
+ }
+
+ /**
+ * This is the class that represents the MetaMatrixServerVersion Element which contains
+ * all of the XML elements that represent a ProductServiceConfigs object.
+ */
+ public static class MetaMatrixSystemVersion {
+
+ /**
+ * This is the name of the MetaMatrixServerVersion Element.
+ */
+ public static final String ELEMENT = ConfigurationPropertyNames.METAMATRIX_SYSTEM_VERSION;
+ }
+ }
+
+
+}
Property changes on: branches/remove_psc/common-internal/XMLElementNames.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/api/SharedResource.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/api/SharedResource.java 2009-04-10 18:43:00 UTC (rev 751)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/api/SharedResource.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -41,27 +41,27 @@
* The JDBC_RESOURCE_TYPE resource is the generic resource used for
* majority of the internal resources
*/
- public static final String JDBC_COMPONENT_TYPE_NAME = "JDBC Resource Type"; //$NON-NLS-1$
+// public static final String JDBC_COMPONENT_TYPE_NAME = "JDBC Resource Type"; //$NON-NLS-1$
- public static final ComponentTypeID JDBC_COMPONENT_TYPE_ID = new ComponentTypeID(JDBC_COMPONENT_TYPE_NAME);
+// public static final ComponentTypeID JDBC_COMPONENT_TYPE_ID = new ComponentTypeID(JDBC_COMPONENT_TYPE_NAME);
/** The JMS_RESOURCE_TYPE resource is used to define jms resources. */
- public static final String JMS_COMPONENT_TYPE_NAME = "JMS Resource Type"; //$NON-NLS-1$
+ // public static final String JMS_COMPONENT_TYPE_NAME = "JMS Resource Type"; //$NON-NLS-1$
- public static final ComponentTypeID JMS_COMPONENT_TYPE_ID = new ComponentTypeID(JMS_COMPONENT_TYPE_NAME);
+// public static final ComponentTypeID JMS_COMPONENT_TYPE_ID = new ComponentTypeID(JMS_COMPONENT_TYPE_NAME);
/** The MISC_RESOURCE_TYPE resource is used to define resources that need any specific type association. */
public static final String MISC_COMPONENT_TYPE_NAME = "Miscellaneous Resource Type"; //$NON-NLS-1$
- public static final ComponentTypeID MISC_COMPONENT_TYPE_ID = new ComponentTypeID(MISC_COMPONENT_TYPE_NAME);
+// public static final ComponentTypeID MISC_COMPONENT_TYPE_ID = new ComponentTypeID(MISC_COMPONENT_TYPE_NAME);
/** The SEARCHBASE_RESOURCE_TYPE resource is used to define external searchbase resources. */
- public static final String SEARCHBASE_COMPONENT_TYPE_NAME = "Searchbase Resource Type"; //$NON-NLS-1$
+ // public static final String SEARCHBASE_COMPONENT_TYPE_NAME = "Searchbase Resource Type"; //$NON-NLS-1$
- public static final ComponentTypeID SEARCHBASE_COMPONENT_TYPE_ID = new ComponentTypeID(SEARCHBASE_COMPONENT_TYPE_NAME);
+// public static final ComponentTypeID SEARCHBASE_COMPONENT_TYPE_ID = new ComponentTypeID(SEARCHBASE_COMPONENT_TYPE_NAME);
Modified: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/BasicConfiguration.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/BasicConfiguration.java 2009-04-10 18:43:00 UTC (rev 751)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/BasicConfiguration.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -757,17 +757,15 @@
Collection comps = new ArrayList(dcs.size());
DeployedComponent dc;
-// ComponentDefn comp;
for (Iterator it = dcs.iterator(); it.hasNext(); ) {
dc = (DeployedComponent) it.next();
- // if component is a ServiceComponent and the VM id matches
- if (dc.isDeployedConnector() || dc.isDeployedService()) {
-// comp = dc.getDeployedComponentDefn(this);
+ // if deployed component is a ServiceComponent and the VM id matches
+ if (dc.getServiceComponentDefnID() != null) {
if (dc.getVMComponentDefnID().equals(vmComponentID) &&
dc.getHostID().equals(hostID)) {
comps.add(dc);
}
- }
+ }
}
return comps;
}
Modified: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/BasicUtil.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/BasicUtil.java 2009-04-10 18:43:00 UTC (rev 751)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/model/BasicUtil.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -84,13 +84,13 @@
public static final BasicComponentDefn createComponentDefn(int defnTypeCode, ConfigurationID configID, ComponentTypeID typeID, String defnName) {
BasicComponentDefn defn = null;
-
- if (defnTypeCode == ComponentDefn.RESOURCE_DESCRIPTOR_COMPONENT_CODE) {
- ResourceDescriptorID descriptorID = new ResourceDescriptorID(configID,defnName);
- defn = new BasicResourceDescriptor(configID, descriptorID, typeID);
-
+//
+// if (defnTypeCode == ComponentDefn.RESOURCE_DESCRIPTOR_COMPONENT_CODE) {
+// ResourceDescriptorID descriptorID = new ResourceDescriptorID(configID,defnName);
+// defn = new BasicResourceDescriptor(configID, descriptorID, typeID);
+//
- } else if (defnTypeCode == ComponentDefn.CONNECTOR_COMPONENT_CODE) {
+ if (defnTypeCode == ComponentDefn.CONNECTOR_COMPONENT_CODE) {
ConnectorBindingID conID = new ConnectorBindingID(configID, defnName);
defn = new BasicConnectorBinding(configID, conID, typeID);
@@ -315,8 +315,8 @@
return ComponentDefn.VM_COMPONENT_CODE;
}else if(defn instanceof ConnectorBinding) {
return ComponentDefn.CONNECTOR_COMPONENT_CODE;
- }else if(defn instanceof ResourceDescriptor) {
- return ComponentDefn.RESOURCE_DESCRIPTOR_COMPONENT_CODE;
+// }else if(defn instanceof ResourceDescriptor) {
+// return ComponentDefn.RESOURCE_DESCRIPTOR_COMPONENT_CODE;
}else if(defn instanceof ServiceComponentDefn) {
return ComponentDefn.SERVICE_COMPONENT_CODE;
}else if(defn instanceof AuthenticationProvider) {
Modified: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/util/ConfigurationImportExportUtility.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/util/ConfigurationImportExportUtility.java 2009-04-10 18:43:00 UTC (rev 751)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/util/ConfigurationImportExportUtility.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -39,9 +39,6 @@
*/
public interface ConfigurationImportExportUtility {
-
- public static final int COMPONENT_TYPE_INDEX = 0;
- public static final int SERVICE_COMPONENT_DEFN_INDEX = 1;
/**
* <p>This method will write to the passed in InputStream instance a
Modified: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/util/ConfigurationPropertyNames.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/util/ConfigurationPropertyNames.java 2009-04-10 18:43:00 UTC (rev 751)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/util/ConfigurationPropertyNames.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -28,18 +28,13 @@
static final String APPLICATION_VERSION_CREATED_BY = "ApplicationVersion"; //$NON-NLS-1$
static final String USER_CREATED_BY = "UserCreatedBy"; //$NON-NLS-1$
static final String CONFIGURATION_VERSION = "ConfigurationVersion"; //$NON-NLS-1$
- static final String METAMATRIX_SYSTEM_VERSION = "MetaMatrixSystemVersion"; //$NON-NLS-1$
- static final String TIME = "Time"; //$NON-NLS-1$
-
- // at 4.2 is where the configuration format changes, so anything prior
- // to this version will use the old (3.0) import/export utility
- static final String MM_CONFIG_4_2_VERSION = "4.2"; //$NON-NLS-1$
- static final String MM_CONFIG_3_0_VERSION = "3.0"; //$NON-NLS-1$
+ static final String SYSTEM_VERSION = "SystemVersion"; //$NON-NLS-1$
+ static final String TIME = "Time"; //$NON-NLS-1$
-
// NOTE: if the latest config version is changed, then the com.metamatrix.vdb.internal.def.VDBDefPropertyNames
// needs to be change, which will impact the importing of .DEF files.
- static final double MM_LATEST_CONFIG_VERSION = 4.2;
+ static final double CONFIG_CURR_VERSION_DBL = 6.0;
+ static final String CONFIG_CURR_VERSION = "6.0";
public static final String MEMBERSHIP_ADMIN_PASSWORD = "security.membership.admin.password"; //$NON-NLS-1$
Copied: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/ConfigurationImportExport.java (from rev 745, branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_Base_ImportExportUtility.java)
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/ConfigurationImportExport.java (rev 0)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/ConfigurationImportExport.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -0,0 +1,1542 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package com.metamatrix.common.config.xml;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+import org.jdom.Document;
+import org.jdom.Element;
+import org.jdom.JDOMException;
+
+import com.metamatrix.common.CommonPlugin;
+import com.metamatrix.common.config.api.AuthenticationProvider;
+import com.metamatrix.common.config.api.ComponentDefn;
+import com.metamatrix.common.config.api.ComponentObject;
+import com.metamatrix.common.config.api.ComponentType;
+import com.metamatrix.common.config.api.Configuration;
+import com.metamatrix.common.config.api.ConfigurationID;
+import com.metamatrix.common.config.api.ConfigurationModelContainer;
+import com.metamatrix.common.config.api.ConfigurationObjectEditor;
+import com.metamatrix.common.config.api.ConnectorBinding;
+import com.metamatrix.common.config.api.DeployedComponent;
+import com.metamatrix.common.config.api.Host;
+import com.metamatrix.common.config.api.HostID;
+import com.metamatrix.common.config.api.ResourceDescriptor;
+import com.metamatrix.common.config.api.ServiceComponentDefn;
+import com.metamatrix.common.config.api.SharedResource;
+import com.metamatrix.common.config.api.VMComponentDefn;
+import com.metamatrix.common.config.api.VMComponentDefnID;
+import com.metamatrix.common.config.model.ConfigurationModelContainerImpl;
+import com.metamatrix.common.config.util.ConfigObjectsNotResolvableException;
+import com.metamatrix.common.config.util.ConfigurationPropertyNames;
+import com.metamatrix.common.config.util.InvalidConfigurationElementException;
+import com.metamatrix.common.log.LogManager;
+import com.metamatrix.common.namedobject.BaseObject;
+import com.metamatrix.common.util.ErrorMessageKeys;
+import com.metamatrix.common.util.LogCommonConstants;
+import com.metamatrix.common.xml.XMLReaderWriter;
+import com.metamatrix.common.xml.XMLReaderWriterImpl;
+import com.metamatrix.core.MetaMatrixCoreException;
+import com.metamatrix.core.util.Assertion;
+import com.metamatrix.core.util.ReflectionHelper;
+
+/**
+* This implementation is used to import/export configuration objects to/from
+* XML files. The structure of the XML file(s) that can be generated/read in
+* is defined in the XMLElementNames class.
+*
+*
+* **************************************************************************************
+* * * * * * * * W A R N I N G * * * * * * *
+* **************************************************************************************
+*
+* The importer process cannot have any calls to I18NLogManager or LogManager because the
+* bootstrapping of CurrentConfiguration
+* uses this class and the CurrentConfiguration has to come up before
+* logging is available.
+*
+*/
+class ConfigurationImportExport implements ConfigurationPropertyNames {
+ private static final String CONFIG_MODEL_CLASS = ConfigurationModelContainerImpl.class.getName();
+ private XMLHelperImpl xmlHelper = null;
+
+
+ private XMLReaderWriter readerWriter;
+// private XMLHelper helper = null;
+
+ /**
+ * These static variables define the constants that will be used to
+ * create the header for every document that is produced using this concrete
+ * utility.
+ */
+ public static final String DEFAULT_USER_CREATED_BY = "Unknown"; //$NON-NLS-1$
+
+ /**
+ * These indices are the indices used to retreive the Lists from the array
+ * of lists from the segregateConfigurationObjects method.
+ */
+ static final int CONFIGURATIONS_INDEX = 0;
+ static final int HOSTS_INDEX = 2;
+ static final int DEPLOYED_COMPONENTS_INDEX = 3;
+ static final int SERVICE_COMPONENT_DEFNS_INDEX = 4;
+ static final int VM_COMPONENT_DEFNS_INDEX = 5;
+ static final int COMPONENT_TYPES_INDEX = 6;
+ static final int CONNECTION_POOL_CONFIGS_INDEX = 16;
+ static final int RESOURCES_INDEX = 18;
+ static final int CONNECTORS_INDEX = 19;
+
+
+ static final int CONFIGURATION_IDS_INDEX = 8;
+ static final int HOST_IDS_INDEX = 10;
+ static final int DEPLOYED_COMPONENT_IDS_INDEX = 11;
+ static final int SERVICE_COMPONENT_DEFN_IDS_INDEX = 12;
+ static final int VM_COMPONENT_DEFN_IDS_INDEX = 13;
+ static final int COMPONENT_TYPE_IDS_INDEX = 14;
+ static final int CONNECTORS_IDS_INDEX = 20;
+
+
+ static final int NUMBER_OF_LISTS = 21;
+
+ public ConfigurationImportExport() {
+ getXMLHelper();
+ }
+
+ public void exportComponentType(OutputStream stream, ComponentType type,
+ Properties props) throws IOException {
+
+
+ Assertion.isNotNull(type);
+ Assertion.isNotNull(stream);
+
+ Element root = xmlHelper.createRootConfigurationDocumentElement();
+
+ // create a new Document with a root element
+ Document doc = new Document(root);
+
+ // add the header element
+ root = XMLHelperUtil.addHeaderElement(root, props);
+
+ Element componentTypesElement = xmlHelper.createComponentTypesElement();
+ root.addContent(componentTypesElement);
+ componentTypesElement.addContent(xmlHelper.createComponentTypeElement(type));
+
+ getXMLReaderWriter().writeDocument(doc, stream);
+ }
+
+ public void exportComponentTypes(OutputStream stream, ComponentType[] types,
+ Properties props) throws IOException {
+
+
+ Assertion.isNotNull(types);
+ Assertion.isNotNull(stream);
+
+
+ Element root = xmlHelper.createRootConfigurationDocumentElement();
+
+ // create a new Document with a root element
+ Document doc = new Document(root);
+
+ // add the header element
+ root = XMLHelperUtil.addHeaderElement(root, props);
+
+ Element componentTypesElement = xmlHelper.createComponentTypesElement();
+ root.addContent(componentTypesElement);
+
+ int s = types.length;
+
+ for (int i = 0; i<s; i++) {
+ ComponentType type = types[i];
+
+ componentTypesElement.addContent(xmlHelper.createComponentTypeElement(type));
+
+ }
+
+ getXMLReaderWriter().writeDocument(doc, stream);
+ }
+
+ /**
+ * <p>This method will write to the passed in DirectoryEntry instance a
+ * complete representation of the Collection of Configuration objects that
+ * are passed into it. The failsafe way to build this
+ * Collection of objects is to call the getConfigurationAndDependents() method
+ * on the AdminAPI of the MetaMatrix Server. This method will retreive the
+ * Configuration and all of its dependent objects in their entirety.</p>
+ *
+ * <p>In order to export an entire Configuration, the Collection passed into this method
+ * should have all of the following object references to be able to resolve
+ * the relationships between all objects referenced by a Configuration
+ * object.</p>
+ *
+ * <pre>
+ * 1. Configuration object
+ * 2. all ComponentTypes that ComponentObjects reference in the
+ * Configuration object including the Configuration object's Component Type.
+ * (this includes ProductTypes)
+ * 3. all ProductTypes that ProductServiceConfig objects reference in the
+ * Configuration object
+ * 4. all Host objects that are referenced by DeployedComponents in the
+ * Configuration object
+ * </pre>
+ *
+ *
+ * <p> All of the above object references must be in the collection passed
+ * into this method.</p>
+ *
+ * <p> The properties object that is passed into this method may contain
+ * the following properties as defined by the ConfigurationPropertyNames class.
+ * These properties will define the values for the header of the output of
+ * this method.</p>
+ *
+ * <pre>
+ * ConfigurationPropertyNames.APPLICATION_CREATED_BY
+ * ConfigurationPropertyNames.APPLICATION_VERSION_CREATED_BY
+ * ConfigurationPropertyNames.USER_CREATED_BY
+ * <pre>
+ *
+ * <p>Any of these properties that are not included in the properties object
+ * will not be included in the header Element.
+ *
+ * @param stream the output stream to write the Configuration Object
+ * representation to
+ * @param configurationObjects a Collection of configuration objects that
+ * represents an entire logical Configuration.
+ * @param props the properties object that contains the values for the Header
+ * @throws IOException if there is an error writing to the DirectoryEntry
+ * @throws ConfigObjectsNotResolvableException if there are references
+ * to configuration objects not included in the Collection of configuration objects
+ * that cannot be resolved to other configuration objects in the passed in
+ * Collection
+ */
+ public void exportConfiguration(OutputStream stream,
+ Collection configurationObjects, Properties props)
+ throws IOException, ConfigObjectsNotResolvableException {
+
+
+ Assertion.isNotNull(configurationObjects);
+ Assertion.isNotNull(stream);
+
+
+ // this will divide the configuration objects by their type
+ // so that we can create an XML doc and put the objects in their proper
+ // categories.
+ List[] lists = segregateConfigurationObjects(configurationObjects);
+
+ // this will throw ConfigObjectsNotResolvableException if the collection
+ // of configuration objects are not self containing.
+ resolveConfigurationObjects(lists);
+
+ ConfigurationModelContainer cmc=null;
+ try {
+ Collection parms = new ArrayList(1);
+ parms.add(configurationObjects);
+ cmc = (ConfigurationModelContainer) ReflectionHelper.create(CONFIG_MODEL_CLASS, parms, this.getClass().getClassLoader());
+ } catch (MetaMatrixCoreException err) {
+ throw new IOException(err.getMessage());
+ }
+
+
+ Element root = xmlHelper.createRootConfigurationDocumentElement();
+
+ // create a new Document with a root element
+ final Document doc = new Document(root);
+
+ // add the header element
+ root = XMLHelperUtil.addHeaderElement(root, props);
+
+ final Configuration config = cmc.getConfiguration();
+ Element configElement = xmlHelper.createConfigurationElement(config);
+
+ root.addContent(configElement);
+
+ try {
+ Iterator hostIt=cmc.getHosts().iterator();
+ while(hostIt.hasNext()) {
+ Host h = (Host) hostIt.next();
+ final Element hostElement = xmlHelper.createHostElement(h);
+ configElement.addContent(hostElement);
+
+ Iterator vmsIt=cmc.getConfiguration().getVMsForHost((HostID) h.getID()).iterator();
+// getDeployedVMsForHost((HostID) h.getID()).iterator();
+ while(vmsIt.hasNext()) {
+ VMComponentDefn vm = (VMComponentDefn) vmsIt.next();
+ final Element vmElement = xmlHelper.createProcessElement(vm);
+ hostElement.addContent(vmElement);
+
+ Map pscSvcMap = new HashMap(10);
+ Collection depsvcs = cmc.getConfiguration().getDeployedServicesForVM(vm);
+ Iterator svcIt = depsvcs.iterator();
+ while(svcIt.hasNext()) {
+ DeployedComponent dc = (DeployedComponent) svcIt.next();
+ final Element svcElement = xmlHelper.createDeployedServiceElement(dc);
+ vmElement.addContent(svcElement);
+ }
+
+
+ } // end of vms
+
+ } // end of host
+ } catch(Exception e) {
+ throw new ConfigObjectsNotResolvableException(e, "Error exporting configuration"); //$NON-NLS-1$
+ }
+
+ Element providersElement = xmlHelper.createAuthenticationProviderElement();
+ root.addContent(providersElement);
+
+ Collection providers = cmc.getConfiguration().getAuthenticationProviders();
+ if (providers != null && providers.size() > 0) {
+ Iterator iterator = providers.iterator();
+ while (iterator.hasNext()) {
+ AuthenticationProvider provider = (AuthenticationProvider)iterator.next();
+// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found ProductType named: " + type + " in list of configuration objects to export.");
+ Element resourceElement = xmlHelper.createAuthenticationProviderElement(provider);
+ providersElement.addContent(resourceElement);
+ }
+ }
+
+
+ Element connectorsElement = xmlHelper.createConnectorBindingsElement();
+ root.addContent(connectorsElement);
+
+
+ Collection bindings = cmc.getConfiguration().getConnectorBindings();
+ if (bindings != null && bindings.size() > 0) {
+ Iterator iterator = bindings.iterator();
+
+ while (iterator.hasNext()) {
+ ConnectorBinding connector = (ConnectorBinding)iterator.next();
+ Element connElement = xmlHelper.createConnectorBindingElement(connector, true);
+ connectorsElement.addContent(connElement);
+ }
+
+ }
+
+ Element servicessElement = xmlHelper.createServiceComponentDefnsElement();
+ root.addContent(servicessElement);
+
+
+ Collection svcdefns = cmc.getConfiguration().getServiceComponentDefns();
+ if (svcdefns != null && svcdefns.size() > 0) {
+ Iterator iterator = svcdefns.iterator();
+
+ while (iterator.hasNext()) {
+ ServiceComponentDefn svc = (ServiceComponentDefn)iterator.next();
+ Element svcElement = xmlHelper.createServiceComponentDefnElement(svc);
+ servicessElement.addContent(svcElement);
+ }
+
+ }
+
+ Element resourcesElement = xmlHelper.createSharedResourcesElement();
+ root.addContent(resourcesElement);
+
+ Collection sharedResources = cmc.getResources();
+ if (sharedResources != null && sharedResources.size() > 0) {
+
+ Iterator iterator = sharedResources.iterator();
+ while (iterator.hasNext()) {
+ SharedResource resource = (SharedResource)iterator.next();
+ Element resourceElement = xmlHelper.createSharedResourceElement(resource);
+ resourcesElement.addContent(resourceElement);
+ }
+ }
+
+
+ Element componentTypesElement = xmlHelper.createComponentTypesElement();
+ root.addContent(componentTypesElement);
+
+ Map compTypes = cmc.getComponentTypes();
+ if (compTypes != null && compTypes.size() > 0) {
+
+ Iterator iterator = compTypes.values().iterator();
+
+ while (iterator.hasNext()) {
+ ComponentType componentType = (ComponentType)iterator.next();
+ Element componentTypeElement = xmlHelper.createComponentTypeElement(componentType);
+ // LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found ComponentType named: " + componentType + " in list of configuration objects to export.");
+
+ componentTypesElement.addContent(componentTypeElement);
+ }
+ }
+
+
+ getXMLReaderWriter().writeDocument(doc, stream);
+ stream.close();
+
+ LogManager.logInfo(LogCommonConstants.CTX_CONFIG, CommonPlugin.Util.getString("MSG.003.001.0003", cmc.getConfigurationID().getFullName())); //$NON-NLS-1$
+ }
+
+
+
+
+ /**
+ * <p>This method will generally be used to create a file representation of a
+ * Connector Binding. It will write to the DirectoryEntry the representation
+ * of the ServiceComponentDefn object that is passed in.</p>
+ *
+ * <p>Multiple ServiceComponentDefns can be written to the same DirectoryEntry
+ * by passing the same DirectoryEntry instance to this method multiple times.</p>
+ *
+ * <p> The properties object that is passed into this method may contain
+ * the following properties as defined by the ConfigurationPropertyNames class.</p>
+ *
+ * <pre>
+ * ConfigurationPropertyNames.APPLICATION_CREATED_BY
+ * ConfigurationPropertyNames.APPLICATION_VERSION_CREATED_BY
+ * ConfigurationPropertyNames.USER_CREATED_BY
+ * <pre>
+ *
+ * <p>Any of these properties that are not included in the properties object
+ * will not be included in the header Element.
+ *
+ * @param stream the output stream to write the Configuration Object
+ * representation to
+ * @param type the ComponentType of the ServiceComponentDefn to be written
+ * to the DirectoryEntry resource.
+ * @param defn the ServiceComponentDefn instance to write to the DirectoryEntry.
+ * @param props the properties object that contains the values for the Header
+ * @throws IOException if there is an error writing to the DirectoryEntry
+ * @throws ConfigObjectsNotResolvableException if the passed in
+ * ComponentType is not the type referenced by the passed in ServiceComponentDefn.
+ */
+// public void exportServiceComponentDefn(OutputStream stream,
+// ServiceComponentDefn defn, ComponentType type, Properties props)
+// throws IOException, ConfigObjectsNotResolvableException {
+// Assertion.isNotNull(defn);
+// Assertion.isNotNull(type);
+// Assertion.isNotNull(stream);
+//
+//
+// List configurationObjects = new ArrayList(2);
+//
+// configurationObjects.add(defn);
+// configurationObjects.add(type);
+//
+// // here we need to make sure that the serviceComponentDefn references
+// // the passed in ComponentType instance. If not, this will throw
+// // the ConfigObjectsNotResolvableException
+// resolveConfigurationObjects(configurationObjects);
+// XMLHelper helper = getXMLHelper();
+//
+// Element root = helper.createRootConfigurationDocumentElement();
+//
+// // create a new Document with a root element
+// Document doc = new Document(root);
+//
+// root = XMLHelperUtil.addHeaderElement(root, props);
+//
+// Element componentTypesElement = helper.createComponentTypesElement();
+// root.addContent(componentTypesElement);
+// componentTypesElement.addContent(helper.createComponentTypeElement(type));
+//
+// Element serviceComponentDefnsElement = helper.createServiceComponentDefnsElement();
+// root.addContent(serviceComponentDefnsElement);
+// serviceComponentDefnsElement.addContent(helper.createServiceComponentDefnElement(defn));
+//
+// getXMLReaderWriter().writeDocument(doc, stream);
+// }
+
+
+ protected Collection createConnectorBindings(ConfigurationID configurationID, Element root, ConfigurationObjectEditor editor, boolean importExistingBinding)
+ throws IOException, ConfigObjectsNotResolvableException,
+ InvalidConfigurationElementException {
+ Element connectorsElement = root.getChild(XMLConfig_ElementNames.Configuration.ConnectorComponents.ELEMENT);
+ if (connectorsElement == null) {
+ return Collections.EMPTY_LIST;
+ }
+
+ List connectorBindings = connectorsElement.getChildren(XMLConfig_ElementNames.Configuration.ConnectorComponents.ConnectorComponent.ELEMENT);
+
+ List connObjects = new ArrayList(connectorBindings.size());
+ if (connectorBindings != null) {
+ Iterator iterator = connectorBindings.iterator();
+ while (iterator.hasNext()) {
+ Element connElement = (Element)iterator.next();
+ ConnectorBinding conn = getXMLHelper().createConnectorBinding(configurationID, connElement, editor, null, importExistingBinding);
+ connObjects.add(conn);
+ }
+ }
+
+ return connObjects;
+ }
+
+ protected ConnectorBinding createConnectorBinding(ConfigurationID configurationID, Element root, ConfigurationObjectEditor editor, String name, boolean isImportConfig)
+ throws IOException, ConfigObjectsNotResolvableException,
+ InvalidConfigurationElementException {
+ Element connectorsElement = root.getChild(XMLConfig_ElementNames.Configuration.ConnectorComponents.ELEMENT);
+ if (connectorsElement == null) {
+ return null;
+ }
+
+ List connectorBindings = connectorsElement.getChildren(XMLConfig_ElementNames.Configuration.ConnectorComponents.ConnectorComponent.ELEMENT);
+
+ // return the first binding to be created because only one
+ // binding is created in this method
+ if (connectorBindings != null) {
+ Iterator iterator = connectorBindings.iterator();
+ while (iterator.hasNext()) {
+ Element connElement = (Element)iterator.next();
+ ConnectorBinding conn = getXMLHelper().createConnectorBinding(configurationID, connElement, editor, name, isImportConfig);
+ return conn;
+ }
+ }
+
+ return null;
+ }
+
+
+ /**
+ * <p>This method will be used to import a ServiceComponentDefn Object given a Directory
+ * entry instance. If the DirectoryEntry resource does not contain enough
+ * data to recombine a complete ServiceComponentDefn, then a ConfigurationObjectsNotResolvableException
+ * will be thrown.</p>
+ *
+ * <p>This method also allows you to rename the imported ServiceComponentDefn object
+ * possibly to avoid name conflicts with other objects already in the server.</p>
+ *
+ * <p>If the name parameter submitted is null, the name of the confiuguration
+ * object as it exists in the DirectoryEntry will be used.</p>
+ *
+ * <p>This method returns an array of objects which represent a
+ * ServiceComponentDefn and its corresponding ComponentType. The index of
+ * each is defined by the following static variables:</p>
+ *
+ * <pre>
+ * ConfigurationImportExport.COMPONENT_TYPE_INDEX
+ * ConfigurationImportExport.SERVICE_COMPONENT_DEFN_INDEX
+ * </pre>
+ *
+ * <p>These array indices are also used to override the ComponentType name
+ * and ServiceComponentDefn name with the passed in name[] String array.
+ * If either or both of these String names are null, the name of the returned
+ * configuration object will be as it exists in the DirectoryEntry resource.</p>
+ *
+ * <p>The user of this method must either commit the ComponentType of this
+ * ServiceComponentDefn or make sure that it already exists in the server
+ * configuration database before attempting to commit the
+ * ServiceComponentDefn object. This is because every ServiceComponentDefn
+ * has a reference to a corresponding ComponentType</p>
+ *
+ * @param editor the ConfigurationObjectEditor to use to create the Configuration
+ * objects in the DirectoryEntry resource.
+ * @param stream the input stream to read the configuration object
+ * representation from
+ * @param name the name for the ServiceComponentDefn and ComponentType
+ * object to be created.
+ * @return the configuration objects that are represented as data in the
+ * DirectoryEntry resource. see javadoc heading for details.
+ * @throws ConfigObjectsNotResolvableException if the
+ * ServiceComponentDefn does not have a reference to a ComponentType object
+ * for which there is data to recombine in the DirectoryEntry resource.
+ * @throws IOException if there is an error reading from the DirectoryEntry
+ * @throws InvalidConfigurationElementException if there is a problem with
+ * the representation of the configuration element as it exists in the
+ * DirectoryEntry resource, usually some type of formatting problem.
+ */
+ public Object[] importServiceComponentDefn(InputStream stream,
+ Configuration config, ConfigurationObjectEditor editor,
+ String[] name)throws IOException,
+ ConfigObjectsNotResolvableException,
+ InvalidConfigurationElementException {
+
+ Assertion.isNotNull(stream);
+ Assertion.isNotNull(editor);
+
+ Document doc = null;
+
+
+ try {
+ doc = getXMLReaderWriter().readDocument(stream);
+ }catch(JDOMException e) {
+ e.printStackTrace();
+ throw new IOException(CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0006));
+ }
+
+
+ Element root = doc.getRootElement();
+
+ ComponentType type = createComponentType(root, editor, name[ConfigurationImportExport.COMPONENT_TYPES_INDEX]);
+
+ Element serviceComponentDefnsElement = root.getChild(XMLConfig_ElementNames.Configuration.Services.ELEMENT);
+
+ if (serviceComponentDefnsElement == null) {
+ throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0008, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0008, XMLConfig_ElementNames.Configuration.Services.ELEMENT));
+ }
+
+
+ Element serviceComponentDefnElement = serviceComponentDefnsElement.getChild(XMLConfig_ElementNames.Configuration.Services.Service.ELEMENT);
+
+ ComponentDefn cd = xmlHelper.createServiceComponentDefn(serviceComponentDefnElement, config, editor, name[ConfigurationImportExport.SERVICE_COMPONENT_DEFNS_INDEX]);
+ Object[] object = {type, cd};
+
+
+ return object;
+ }
+
+
+ protected ComponentType createComponentType(Element root, ConfigurationObjectEditor editor, String name) throws InvalidConfigurationElementException{
+
+ Element componentTypesElement = root.getChild(XMLConfig_ElementNames.ComponentTypes.ELEMENT);
+
+ if (componentTypesElement == null) {
+ throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0008, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0008,XMLConfig_ElementNames.ComponentTypes.ELEMENT));
+ }
+
+ Element componentTypeElement = componentTypesElement.getChild(XMLConfig_ElementNames.ComponentTypes.ComponentType.ELEMENT);
+
+ if (componentTypeElement == null) {
+ throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0008, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0008,XMLConfig_ElementNames.ComponentTypes.ComponentType.ELEMENT));
+ }
+
+ return xmlHelper.createComponentType(componentTypeElement, editor, name, true);
+ }
+
+
+ protected Collection createComponentTypes(Element root, ConfigurationObjectEditor editor) throws InvalidConfigurationElementException{
+
+ Element componentTypesElement = root.getChild(XMLConfig_ElementNames.ComponentTypes.ELEMENT);
+
+ if (componentTypesElement == null) {
+ return Collections.EMPTY_LIST;
+ }
+
+
+ // Make a copy of the lists that we intend to change so that we don't affect JDOM's list (which changes the underlying structure)
+ List componentTypes = new ArrayList(componentTypesElement.getChildren(XMLConfig_ElementNames.ComponentTypes.ComponentType.ELEMENT));
+
+ List connObjects = null;
+
+ if (componentTypes != null) {
+ connObjects = new ArrayList(componentTypes.size());
+
+ getXMLHelper().orderComponentTypeElementList(componentTypes);
+ Iterator iterator = componentTypes.iterator();
+ while (iterator.hasNext()) {
+ Element connElement = (Element)iterator.next();
+ ComponentType type = getXMLHelper().createComponentType(connElement, editor, null, true);
+ connObjects.add(type);
+
+ }
+ } else {
+ return Collections.EMPTY_LIST;
+ }
+
+ return connObjects;
+ }
+
+
+
+ /**
+ * <p>This method will generally be used to create a file representation of a
+ * Connector. It will write to the InputStream
+ * the representation of the ComponentType that is passed in.</p>
+ *
+ * <p>We have made the assumption here that the Super and Parent Component
+ * types of Connector ComponentType objects will already be loaded in
+ * the configuration of the server. Thus we do not require that the Super
+ * and Parent ComponentType be written to the resource. This will always be
+ * the case as of the 2.0 server.</p>
+ *
+ * <p> The properties object that is passed into this method may contain
+ * the following properties as defined by the ConfigurationPropertyNames class.</p>
+ *
+ * <pre>
+ * ConfigurationPropertyNames.APPLICATION_CREATED_BY
+ * ConfigurationPropertyNames.APPLICATION_VERSION_CREATED_BY
+ * ConfigurationPropertyNames.USER_CREATED_BY
+ * <pre>
+ *
+ * <p>Any of these properties that are not included in the properties object
+ * will not be included in the header Element.
+ *
+ * @param stream the output stream to write the Configuration Object
+ * representation to
+ * @param type the ComponentType to be written to the InputStream
+ * @param props the properties object that contains the values for the Header
+ * @throws IOException if there is an error writing to the InputStream
+ */
+ public void exportConnector(OutputStream stream, ComponentType type, Properties props) throws IOException {
+ // no resolving issues with this implementation...
+ exportComponentType(stream, type, props);
+ }
+
+ /**
+ * <p>This method will generally be used to create a file representation of a
+ * Connector Binding. It will write to the InputStream the representation
+ * of the ServiceComponentDefn object that is passed in.</p>
+ *
+ * <p> The properties object that is passed into this method may contain
+ * the following properties as defined by the ConfigurationPropertyNames class.</p>
+ *
+ * <pre>
+ * ConfigurationPropertyNames.APPLICATION_CREATED_BY
+ * ConfigurationPropertyNames.APPLICATION_VERSION_CREATED_BY
+ * ConfigurationPropertyNames.USER_CREATED_BY
+ * <pre>
+ *
+ * <p>Any of these properties that are not included in the properties object
+ * will not be included in the header Element.
+ *
+ * @param stream the output stream to write the Configuration Object
+ * representation to
+ * @param type the ComponentType of the ServiceComponentDefn to be written
+ * to the InputStream resource.
+ * @param defn the ServiceComponentDefn instance to write to the InputStream.
+ * @param props the properties object that contains the values for the Header
+ * @throws IOException if there is an error writing to the InputStream
+ * @throws ConfigObjectsNotResolvableException if the passed in
+ * ComponentType is not the type referenced by the passed in ServiceComponentDefn.
+ */
+ public void exportConnectorBinding(OutputStream stream, ConnectorBinding defn, ComponentType type, Properties props) throws IOException, ConfigObjectsNotResolvableException {
+ Assertion.isNotNull(defn);
+ Assertion.isNotNull(type);
+ Assertion.isNotNull(stream);
+
+ // here we ensure that this is a Connector and that the given component
+ // type resolves to the given ServiceComponentDefn.
+ resolveConnector(type, defn);
+
+ Element root = xmlHelper.createRootConfigurationDocumentElement();
+
+ // create a new Document with a root element
+ Document doc = new Document(root);
+
+ root = XMLHelperUtil.addHeaderElement(root, props);
+
+ Element componentTypesElement = xmlHelper.createComponentTypesElement();
+ root.addContent(componentTypesElement);
+ componentTypesElement.addContent(xmlHelper.createComponentTypeElement(type));
+
+ Element connectorsElement = xmlHelper.createConnectorBindingsElement();
+ root.addContent(connectorsElement);
+ Element connElement = xmlHelper.createConnectorBindingElement(defn, false );
+ connectorsElement.addContent(connElement);
+
+ getXMLReaderWriter().writeDocument(doc, stream);
+ }
+
+
+ public void exportConnectorBindings(OutputStream stream, ConnectorBinding[] bindings, ComponentType[] types, Properties props) throws IOException, ConfigObjectsNotResolvableException {
+ Assertion.isNotNull(bindings);
+ Assertion.isNotNull(types);
+ Assertion.isNotNull(stream);
+
+
+ Element root = xmlHelper.createRootConfigurationDocumentElement();
+
+ // create a new Document with a root element
+ Document doc = new Document(root);
+
+ root = XMLHelperUtil.addHeaderElement(root, props);
+
+ exportConnectorBindings(bindings, types, root);
+
+ getXMLReaderWriter().writeDocument(doc, stream);
+
+ }
+
+ /**
+ * Add connector bindings and component types (connector types) under
+ * a common root element.
+ * @param bindings
+ * @param types
+ * @param helper
+ * @param root
+ * @since 4.2
+ */
+ public void exportConnectorBindings(ConnectorBinding[] bindings,
+ ComponentType[] types,
+ Element root) {
+ int s = bindings.length;
+ List ts = new ArrayList(s);
+
+ Element componentTypesElement = xmlHelper.createComponentTypesElement();
+ root.addContent(componentTypesElement);
+
+
+ Element connectorsElement = xmlHelper.createConnectorBindingsElement();
+ root.addContent(connectorsElement);
+
+ if (bindings == null || bindings.length == 0) {
+ return;
+ }
+
+ int tsize = types.length;
+ Map typeMap = new HashMap(tsize);
+
+ for (int i = 0; i<tsize; i++) {
+ ComponentType type = types[i];
+ if (type != null) {
+ typeMap.put(type.getID(), type);
+ }
+ }
+
+
+
+ for (int i = 0; i<s; i++) {
+
+ ConnectorBinding cb = bindings[i];
+ if (cb == null) {
+ continue;
+ }
+ ComponentType type = (ComponentType) typeMap.get(cb.getComponentTypeID());
+
+ if (type != null && !ts.contains(type.getFullName())) {
+ componentTypesElement.addContent(xmlHelper.createComponentTypeElement(type));
+ ts.add(type.getFullName());
+ }
+
+ Element connElement = xmlHelper.createConnectorBindingElement(cb, false );
+ connectorsElement.addContent(connElement);
+
+ }
+ }
+
+
+ /**
+ * <p>This method will be used to import a Collection of Configuration objects
+ * given an InputStream. If the InputStream resource does not contain enough
+ * data to recombine all of the configuration objects in the Input Stream,
+ * then a ConfigurationObjectsNotResolvableException
+ * will be thrown.</p>
+ *
+ * <p>This method also allows you to rename the imported Configuration object
+ * possibly to avoid name conflicts with other Configurations already in the server.</p>
+ *
+ * <p>If the name parameter submitted is null, the name of the configuration
+ * object as it exists in the InputStream will be used as the name
+ * of the resulting Configuration object in the returned collection of
+ * configuration objects.</p>
+ *
+ *
+ * @param editor the ConfigurationObjectEditor to use to create the Configuration
+ * objects in the InputStream resource.
+ * @param stream the input stream to read the configuration object
+ * representations from
+ * @param name the name for the Configuration object to be created. Can
+ * be null if the name specified in the input stream is to be used.
+ * @return the configuration objects that were represented as data in the
+ * InputStream resource
+ * @throws ConfigObjectsNotResolvableException if the data representing
+ * the Configuration to be imported is incomplete.
+ * @throws IOException if there is an error reading from the InputStream
+ * @throws InvalidConfigurationElementException if there is a problem with
+ * the representation of the configuration element as it exists in the
+ * InputStream resource, usually some type of formatting problem.
+ */
+ public Collection importConfigurationObjects(Element root,
+ ConfigurationObjectEditor editor, String name)
+ throws IOException, ConfigObjectsNotResolvableException,
+ InvalidConfigurationElementException {
+ Assertion.isNotNull(root);
+ Assertion.isNotNull(editor);
+
+ ArrayList configurationObjects = new ArrayList();
+
+ // get the first configuration element from the document
+ Element configurationElement = root.getChild(XMLConfig_ElementNames.Configuration.ELEMENT);
+
+ // if there is no configuration element under the Configurations element
+ // then we do not know how to import one.
+ if (configurationElement == null) {
+ throw new ConfigObjectsNotResolvableException(ErrorMessageKeys.CONFIG_ERR_0004, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0004));
+ }
+
+
+
+ // NOTE the ordering of the following iterations is very important
+ // as the actions to create the configuration objects are being created
+ // within the ConfigurationObjectEditor. If these are created out of
+ // order, a Configuration object that references another configuration
+ // object may be created before the configuration object that it references.
+ // This will work fine until the actions are committed.
+ Configuration config = xmlHelper.createConfiguration(configurationElement, editor, name);
+
+ ConfigurationID configID = (ConfigurationID) config.getID();
+ configurationObjects.add(config);
+
+ xmlHelper.addProperties(configurationElement, config, editor);
+
+
+
+
+ Collection componentTypes = createComponentTypes(root, editor);
+ Map componentTypeMap = new HashMap();
+ if (componentTypes != null) {
+ for (Iterator it=componentTypes.iterator(); it.hasNext();) {
+ ComponentType type = (ComponentType) it.next();
+ componentTypeMap.put(type.getID(), type);
+ configurationObjects.add(type);
+
+ }
+ }
+
+
+
+ Element resourcesElement = root.getChild(XMLConfig_ElementNames.Configuration.Resources.ELEMENT);
+
+ List resources = null;
+ if (resourcesElement != null) {
+ resources = resourcesElement.getChildren(XMLConfig_ElementNames.Configuration.Resources.Resource.ELEMENT);
+ } else {
+ resources = Collections.EMPTY_LIST;
+ }
+
+ Iterator iterator = resources.iterator();
+ while (iterator.hasNext()) {
+ Element resourceElement = (Element)iterator.next();
+ SharedResource resource = xmlHelper.createSharedResource(resourceElement, editor);
+ configurationObjects.add(resource);
+ }
+
+ Element authprovidersElement =
+ root.getChild(XMLConfig_ElementNames.Configuration.AuthenticationProviders.ELEMENT);
+ if (authprovidersElement!=null) {
+ Collection authproviderElements =
+ authprovidersElement.getChildren(XMLConfig_ElementNames.Configuration.AuthenticationProviders.Provider.ELEMENT);
+
+ iterator = authproviderElements.iterator();
+ while (iterator.hasNext()) {
+ Element resourcePoolElement = (Element)iterator.next();
+ AuthenticationProvider provider =
+ xmlHelper.createAuthenticationProvider(resourcePoolElement, configID, editor);
+ configurationObjects.add(provider);
+
+ }
+ }
+
+
+
+ Collection bindings = createConnectorBindings(configID, root, editor, true);
+
+
+ Map serviceComponentDefnMap = new HashMap();
+
+ for (Iterator itb=bindings.iterator(); itb.hasNext();) {
+ ComponentDefn defn = (ComponentDefn) itb.next();
+ serviceComponentDefnMap.put(defn.getID(), defn);
+ }
+
+ // this list of servicecomponent defns will be used in the creation
+ // of deployed components, we need the actual reference to the
+ // servicecomponentdefn to create a deployed version of it...
+ Element serviceComponentDefnsElement =
+ root.getChild(XMLConfig_ElementNames.Configuration.Services.ELEMENT);
+ if (serviceComponentDefnsElement!=null) {
+ Collection serviceComponentDefnElements =
+ serviceComponentDefnsElement.getChildren(XMLConfig_ElementNames.Configuration.Services.Service.ELEMENT);
+
+ iterator = serviceComponentDefnElements.iterator() ;
+ while (iterator.hasNext()) {
+ Element serviceComponentDefnElement = (Element)iterator.next();
+ ComponentDefn defn =
+ xmlHelper.createServiceComponentDefn(serviceComponentDefnElement, config, editor, null);
+ serviceComponentDefnMap.put(defn.getID(), defn);
+ configurationObjects.add(defn);
+
+ }
+ }
+
+ // add the bindings to the map that is used by deployment
+ configurationObjects.addAll(bindings);
+
+ // retreive the host elements from the document.
+ List hostElements = configurationElement.getChildren(XMLConfig_ElementNames.Configuration.Host.ELEMENT);
+ Iterator hostiterator = hostElements.iterator();
+ Host host = null;
+ HostID hostID = null;
+ while (hostiterator.hasNext()) {
+ Element hostElement = (Element)hostiterator.next();
+
+ host = xmlHelper.createHost(hostElement,configID, editor, null);
+ hostID = (HostID) host.getID();
+ configurationObjects.add(host);
+
+
+ List vmElements = hostElement.getChildren(XMLConfig_ElementNames.Configuration.Process.ELEMENT);
+ Iterator vmIt = vmElements.iterator();
+ while (vmIt.hasNext()) {
+ Element vmElement = (Element)vmIt.next();
+
+ VMComponentDefn vm = xmlHelper.createProcess(vmElement, configID, hostID, editor, null);
+
+// DeployedComponent vmdc = xmlHelper.createDeployedVMComponentDefn(vmElement, configID, hostID, vm.getComponentTypeID(), editor);
+ VMComponentDefnID vmID = (VMComponentDefnID) vm.getID();
+
+ configurationObjects.add(vm);
+
+ List svcElements = vmElement.getChildren(XMLConfig_ElementNames.Configuration.DeployedService.ELEMENT);
+
+ Iterator svcIt = svcElements.iterator();
+ while (svcIt.hasNext()) {
+ Element svcElement = (Element)svcIt.next();
+ // create this only for use to create the deployed service
+ DeployedComponent dc = xmlHelper.createDeployedServiceComponent(svcElement, configID, hostID, vmID, componentTypeMap, editor);
+ configurationObjects.add(dc);
+
+ } // end services
+ } // end vm
+
+ } // end host
+
+
+
+// Map vmComponentDefnMap = new HashMap();
+// Element vmComponentDefnsElement = configurationElement.getChild(XMLConfig_ElementNames.Configurations.Configuration.VMComponentDefns.ELEMENT);
+// if (vmComponentDefnsElement!=null) {
+// Collection vmComponentDefnElements =
+// vmComponentDefnsElement.getChildren(XMLConfig_ElementNames.Configurations.Configuration.VMComponentDefns.VMComponentDefn.ELEMENT);
+//
+// iterator = vmComponentDefnElements.iterator();
+// while (iterator.hasNext()) {
+// Element vmComponentDefnElement = (Element)iterator.next();
+// VMComponentDefn vmComponentDefn =
+// xmlHelper.createVMComponentDefn(vmComponentDefnElement, (ConfigurationID) config.getID() , editor, null);
+//// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found VMComponentDefn named: " + vmComponentDefn + " in XML file VMComponentDefns element.");
+// vmComponentDefnMap.put(vmComponentDefn.getID(), vmComponentDefn);
+// configurationObjects.add(vmComponentDefn);
+//
+// }
+// }
+// Element deployedComponentsElement =
+// configurationElement.getChild(XMLConfig_ElementNames.Configurations.Configuration.DeployedComponents.ELEMENT);
+// if (deployedComponentsElement!=null) {
+// Collection deployedComponentElements =
+// deployedComponentsElement.getChildren(XMLConfig_ElementNames.Configurations.Configuration.DeployedComponents.DeployedComponent.ELEMENT);
+//
+// iterator = deployedComponentElements.iterator();
+// while (iterator.hasNext()) {
+// Element deployedComponentElement = (Element)iterator.next();
+// DeployedComponent deployedComponent =
+// xmlHelper.createDeployedComponent(deployedComponentElement, config, editor, serviceComponentDefnMap, vmComponentDefnMap, componentTypeMap, null);
+//// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found DeployedComponent named: " + deployedComponent + " in XML file DeployedComponents element.");
+// configurationObjects.add(deployedComponent);
+// }
+// }
+ // this will ensure that the actions that exist in the editor are
+ // self contained....that there are no references to configuration objects
+ // in the configuration objects that are not also contained in the Collection
+ resolveConfigurationObjects(configurationObjects);
+
+// *** I18nLogManager.logInfo(LogCommonConstants.CTX_CONFIG, LogMessageKeys.CONFIG_MSG_0006);
+
+ return configurationObjects;
+ }
+
+
+ public ConnectorBinding importConnectorBinding(InputStream stream, ConfigurationObjectEditor editor, String newName)throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException {
+ Assertion.isNotNull(stream);
+ Assertion.isNotNull(editor);
+
+ Document doc = null;
+
+ try {
+ doc = getXMLReaderWriter().readDocument(stream);
+ } catch(JDOMException e) {
+ throw new IOException(CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0010));
+ }
+
+ Element root = doc.getRootElement();
+
+
+ ConnectorBinding binding = createConnectorBinding(Configuration.NEXT_STARTUP_ID, root, editor, newName, false) ;
+
+ if (binding == null) {
+ throw new ConfigObjectsNotResolvableException(ErrorMessageKeys.CONFIG_ERR_0011, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0011));
+ }
+
+ return binding;
+
+}
+
+ public Collection importConnectorBindings(Element root, ConfigurationObjectEditor editor, boolean importExistingBinding)throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException {
+ Assertion.isNotNull(root);
+ Assertion.isNotNull(editor);
+
+
+ Collection connectorBindings = createConnectorBindings(Configuration.NEXT_STARTUP_ID, root, editor, importExistingBinding) ;
+
+ return connectorBindings;
+ }
+
+ /**
+ * <p>This method will be used to import a ComponentType Object</p>
+ *
+ * <p>This method also allows you to rename the imported ComponentType object
+ * possibly to avoid name conflicts with other objects already in the server.</p>
+ *
+ * <p>If the name parameter submitted is null, the name of the configuration
+ * object as it exists in the DirectoryEntry will be used.</p>
+ *
+ * @param editor the ConfigurationObjectEditor to use to create the Configuration
+ * objects in the DirectoryEntry resource.
+ * @param stream the input stream to read the configuration object
+ * representation from
+ * @return the configuration object that was represented as data in the
+ * DirectoryEntry resource
+ * @param name the name for the ComponentType object to be created.
+ * @throws IOException if there is an error reading from the DirectoryEntry
+ * @throws InvalidConfigurationElementException if there is a problem with
+ * the representation of the configuration element as it exists in the
+ * DirectoryEntry resource, usually some type of formatting problem.
+ */
+ public ComponentType importComponentType(Element root,
+ //InputStream stream,
+ ConfigurationObjectEditor editor, String name)
+ throws IOException, InvalidConfigurationElementException {
+
+ Assertion.isNotNull(editor);
+
+
+ ComponentType t = createComponentType(root, editor, name);
+
+ return t;
+ }
+
+ /**
+ * <p>This method will be used to import 1 or more a ComponentType Objects.</p>
+ *
+ * @param editor the ConfigurationObjectEditor to use to create the Configuration
+ * objects.
+ * @param stream the input stream to read the configuration object
+ * representation from
+ * @return Collection of objects of type <code>ComponentType</code>
+ * @throws IOException if there is an error reading from the DirectoryEntry
+ * @throws InvalidConfigurationElementException if there is a problem with
+ * the representation of the configuration element as it exists in the
+ * DirectoryEntry resource, usually some type of formatting problem.
+ */
+
+ public Collection importComponentTypes(Element root,
+ //InputStream stream,
+ ConfigurationObjectEditor editor)
+ throws IOException, InvalidConfigurationElementException {
+// Assertion.isNotNull(stream);
+ Assertion.isNotNull(editor);
+
+
+ Collection connectorTypes = createComponentTypes(root, editor) ;
+
+ return connectorTypes;
+
+ }
+
+
+ public Collection importConnectorBindings(InputStream stream, ConfigurationObjectEditor editor, boolean importExistingBinding)throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException {
+ Assertion.isNotNull(stream);
+ Assertion.isNotNull(editor);
+
+ Document doc = null;
+
+ try {
+ doc = getXMLReaderWriter().readDocument(stream);
+ } catch(JDOMException e) {
+ throw new IOException(CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0010));
+
+ }
+
+ Element root = doc.getRootElement();
+
+ return importConnectorBindings(root, editor, importExistingBinding);
+ }
+
+ public Object[] importConnectorBindingAndType(InputStream stream, ConfigurationObjectEditor editor, String[] newName)throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException {
+
+ Assertion.isNotNull(stream);
+ Assertion.isNotNull(editor);
+
+ Document doc = null;
+
+ try {
+ doc = getXMLReaderWriter().readDocument(stream);
+ } catch(JDOMException e) {
+ throw new IOException(CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0012));
+ }
+
+ String typeName = null;
+ String bindingName = null;
+ if (newName != null) {
+ typeName = newName[ConfigurationImportExport.COMPONENT_TYPES_INDEX];
+ bindingName = newName[ConfigurationImportExport.SERVICE_COMPONENT_DEFNS_INDEX];
+ }
+ Element root = doc.getRootElement();
+
+ ComponentType type = createComponentType(root, editor, typeName);
+
+ if (type == null) {
+ throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0013, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0013));
+ }
+
+
+ ConnectorBinding binding = createConnectorBinding(Configuration.NEXT_STARTUP_ID, root, editor, bindingName, false) ;
+
+
+ if (binding == null) {
+ throw new ConfigObjectsNotResolvableException(ErrorMessageKeys.CONFIG_ERR_0014, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0014));
+ }
+
+ // here we ensure that this is a Connector and that the given component
+ // type resolves to the given ServiceComponentDefn.
+ resolveConnector(type, binding);
+
+ Object[] object = {type, binding
+ };
+
+ return object;
+
+ }
+
+
+ /**
+ * This method is used specifically to resolve Connector Binding
+ * ServiceComponentDefns to their respective Connector ComponentTypes.
+ */
+ private void resolveConnector(ComponentType type, ComponentDefn defn) throws ConfigObjectsNotResolvableException {
+
+ // check to be sure that the passed in ComponentType is the correct one for
+ // this ServiceComponentDefn.
+ if (type == null) {
+ String msg = CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0015, new Object[] {defn.getID(), defn.getComponentTypeID()} );
+
+ System.err.print(msg);
+
+ throw new ConfigObjectsNotResolvableException(ErrorMessageKeys.CONFIG_ERR_0015, msg);
+
+ } else if (!(defn.getComponentTypeID().equals(type.getID()))) {
+ String msg = CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0015, new Object[] {defn.getID(), type.getID()} );
+
+ System.err.print(msg);
+
+ throw new ConfigObjectsNotResolvableException(ErrorMessageKeys.CONFIG_ERR_0015, msg);
+ }
+
+ if (!type.isOfTypeConnector()) {
+ throw new ConfigObjectsNotResolvableException(ErrorMessageKeys.CONFIG_ERR_0017, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0017, type.getSuperComponentTypeID().getName()));
+ }
+ }
+
+ /**
+ * <p>This method will resolve that none of the configuration objects in the
+ * collection of configuration objects refers to a configuration object that
+ * is not in the collection. Any set of configuration obejcts can be passed
+ * to this method. </p>
+ *
+ * <p>Any number of actual Configuration object instances may be passed in
+ * in the Collection.</p>
+ *
+ * @param collection the collection of configuration objects to be resolved
+ * @throws ConfigObjectsNotResolvableException if the collection of objects
+ * passed in are not self containing.
+ */
+ public void resolveConfigurationObjects(Collection collection) throws ConfigObjectsNotResolvableException{
+
+ List[] lists = segregateConfigurationObjects(collection);
+
+ resolveConfigurationObjects(lists);
+ }
+
+
+
+ protected void resolveConfigurationObjects(List[] lists) throws ConfigObjectsNotResolvableException{
+
+ List configurations = lists[CONFIGURATIONS_INDEX];
+
+ List hosts = lists[HOSTS_INDEX];
+ List deployedComponents = lists[DEPLOYED_COMPONENTS_INDEX];
+ List serviceComponentDefns = lists[SERVICE_COMPONENT_DEFNS_INDEX];
+ List vmComponentDefns = lists[VM_COMPONENT_DEFNS_INDEX];
+ List componentTypes = lists[COMPONENT_TYPES_INDEX];
+
+ List connectionPools = lists[CONNECTION_POOL_CONFIGS_INDEX];
+
+ List resources = lists[RESOURCES_INDEX];
+
+ List connectorBindings = lists[CONNECTORS_INDEX];
+
+ List configurationIDs = lists[CONFIGURATION_IDS_INDEX];
+ List hostIDs = lists[HOST_IDS_INDEX];
+ List serviceComponentDefnIDs = lists[SERVICE_COMPONENT_DEFN_IDS_INDEX];
+ List vmComponentDefnIDs = lists[VM_COMPONENT_DEFN_IDS_INDEX];
+ List componentTypeIDs = lists[COMPONENT_TYPE_IDS_INDEX];
+
+ List connectorBindingsIDs = lists[CONNECTORS_IDS_INDEX];
+
+
+ // we do this because a DeployedComponent can have a null ServiceComponentDefnID
+ // and a null ProductServiceComponentID and still be viable. This will
+ // allow the contains methods called on these Lists later in this method
+ // to return true if the ID is null instead of throwing a bogus exception
+ serviceComponentDefnIDs.add(null);
+ connectorBindingsIDs.add(null);
+ componentTypeIDs.add(null);
+
+ // now we must iterate through each object type, pull out any references
+ // to other configuration objects and ensure that those objects were
+ // in the collection of objects passed into the method.
+ Iterator iterator = deployedComponents.iterator();
+ while (iterator.hasNext()) {
+ DeployedComponent deployedComponent = (DeployedComponent) iterator.next();
+ if(!vmComponentDefnIDs.contains(deployedComponent.getVMComponentDefnID())){
+
+ throwObjectsNotResolvable(deployedComponent, deployedComponent.getVMComponentDefnID(), "vm component"); //$NON-NLS-1$
+ }
+
+ if (!serviceComponentDefnIDs.contains(deployedComponent.getServiceComponentDefnID()) &&
+ !connectorBindingsIDs.contains(deployedComponent.getServiceComponentDefnID()) ) {
+
+ throwObjectsNotResolvable(deployedComponent, deployedComponent.getServiceComponentDefnID(), "service component"); //$NON-NLS-1$
+ }
+
+ if (!hostIDs.contains(deployedComponent.getHostID())) {
+ throwObjectsNotResolvable(deployedComponent, deployedComponent.getHostID(), "host"); //$NON-NLS-1$
+ }
+
+ checkComponentTypeID(deployedComponent, componentTypeIDs);
+ }
+
+ iterator = resources.iterator();
+ while (iterator.hasNext()) {
+ SharedResource defn = (SharedResource)iterator.next();
+ checkComponentTypeID(defn, componentTypeIDs);
+ }
+
+
+ iterator = connectionPools.iterator();
+ while (iterator.hasNext()) {
+ ResourceDescriptor defn = (ResourceDescriptor)iterator.next();
+ checkComponentTypeID(defn, componentTypeIDs);
+ checkConfigurationID(defn, configurationIDs);
+ }
+
+ iterator = connectorBindings.iterator();
+ while (iterator.hasNext()) {
+ ConnectorBinding defn = (ConnectorBinding)iterator.next();
+ checkComponentTypeID(defn, componentTypeIDs);
+ }
+
+
+
+ iterator = serviceComponentDefns.iterator();
+ while (iterator.hasNext()) {
+ ServiceComponentDefn defn = (ServiceComponentDefn)iterator.next();
+ checkComponentTypeID(defn, componentTypeIDs);
+ checkConfigurationID(defn, configurationIDs);
+ }
+
+ iterator = vmComponentDefns.iterator();
+ while (iterator.hasNext()) {
+ VMComponentDefn defn = (VMComponentDefn)iterator.next();
+ checkComponentTypeID(defn, componentTypeIDs);
+ checkConfigurationID(defn, configurationIDs);
+
+
+ }
+
+
+ iterator = configurations.iterator();
+ while (iterator.hasNext()) {
+ Configuration config = (Configuration)iterator.next();
+ checkComponentTypeID(config, componentTypeIDs);
+ }
+
+ iterator = hosts.iterator();
+ while (iterator.hasNext()) {
+ Host host = (Host)iterator.next();
+ checkComponentTypeID(host, componentTypeIDs);
+ }
+
+ }
+
+ private void throwObjectsNotResolvable(Object referencingObject, Object referencedObject, String type) throws ConfigObjectsNotResolvableException{
+
+ String msg = CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0018, new Object[]
+ {referencingObject, type, referencedObject} );
+ ConfigObjectsNotResolvableException e = new ConfigObjectsNotResolvableException(ErrorMessageKeys.CONFIG_ERR_0018, msg, referencingObject);
+
+ throw e;
+ }
+
+ private void throwObjectsNotResolvable(Object referencingObject, String type) throws ConfigObjectsNotResolvableException{
+ String msg = CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0019, new Object[]
+ {referencingObject, type} );
+
+
+ ConfigObjectsNotResolvableException e = new ConfigObjectsNotResolvableException(ErrorMessageKeys.CONFIG_ERR_0019, msg, referencingObject);
+
+ throw e;
+ }
+
+ private void checkConfigurationID(ComponentDefn defn, List configurationIDs) throws ConfigObjectsNotResolvableException {
+ if (!configurationIDs.contains(defn.getConfigurationID())) {
+ throwObjectsNotResolvable(defn, defn.getConfigurationID(), "configuration object"); //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * Used when product types ids are not part of validation - i.e., ResourceDescriptors
+ */
+ private void checkComponentTypeID(ComponentObject object, List componentTypeIDs) throws ConfigObjectsNotResolvableException{
+ if (!(componentTypeIDs.contains(object.getComponentTypeID()) )) {
+ throwObjectsNotResolvable(object, object.getComponentTypeID(), "component type"); //$NON-NLS-1$
+ }
+ }
+
+
+
+// private void checkForComponentTypeID(ComponentTypeID id, List componentTypeIDs) throws ConfigObjectsNotResolvableException{
+//
+// if (id!=null) {
+// if (!(componentTypeIDs.contains(id))) {
+// throwObjectsNotResolvable(id, "component"); //$NON-NLS-1$
+//
+//// throwConfigObjectsNotResolvableException(id, id);
+// }
+//
+// }
+//
+// }
+
+
+ protected List[] segregateConfigurationObjects(Collection collection) {
+
+
+ List[] lists = new ArrayList[NUMBER_OF_LISTS];
+
+ Assertion.isNotNull(collection);
+ ArrayList componentTypes = new ArrayList();
+ ArrayList hosts = new ArrayList();
+ ArrayList deployedComponents = new ArrayList();
+ ArrayList serviceComponentDefns = new ArrayList();
+ ArrayList vmComponentDefns = new ArrayList();
+ ArrayList configurations = new ArrayList();
+ ArrayList connPools = new ArrayList();
+ ArrayList resources = new ArrayList();
+ ArrayList bindings = new ArrayList();
+
+
+ ArrayList componentTypeIDs = new ArrayList();
+ ArrayList hostIDs = new ArrayList();
+ ArrayList deployedComponentIDs = new ArrayList();
+ ArrayList serviceComponentDefnIDs = new ArrayList();
+ ArrayList vmComponentDefnIDs = new ArrayList();
+ ArrayList configurationIDs = new ArrayList();
+
+ ArrayList bindingIDs = new ArrayList();
+
+
+ // here we segregate the configuration objects by type so that we can
+ // determine what references they may have to other configuration objects
+ // we also set up lists of ID's as a convenience so that we can use
+ // contains() to check to see if an id is resolvable within the collection
+ Iterator iterator = collection.iterator();
+ while (iterator.hasNext()) {
+ Object obj = iterator.next();
+
+ // product types need to go before component type
+
+ if (obj instanceof ComponentType) {
+
+ componentTypes.add(obj);
+ componentTypeIDs.add(((BaseObject)obj).getID());
+ }else if(obj instanceof ComponentObject) {
+ if (obj instanceof Host) {
+ hosts.add(obj);
+ hostIDs.add(((BaseObject)obj).getID());
+ }else if(obj instanceof DeployedComponent) {
+ deployedComponents.add(obj);
+ deployedComponentIDs.add(((BaseObject)obj).getID());
+ }else if(obj instanceof Configuration) {
+ configurations.add(obj);
+ configurationIDs.add(((BaseObject)obj).getID());
+
+ }else if(obj instanceof SharedResource) {
+ resources.add(obj);
+ }else if(obj instanceof ConnectorBinding) {
+ bindings.add(obj);
+ bindingIDs.add(((BaseObject)obj).getID());
+
+ }else if(obj instanceof ComponentDefn) {
+ if(obj instanceof ServiceComponentDefn) {
+ serviceComponentDefns.add(obj);
+ serviceComponentDefnIDs.add(((BaseObject)obj).getID());
+ }else if(obj instanceof VMComponentDefn) {
+ vmComponentDefns.add(obj);
+ vmComponentDefnIDs.add(((BaseObject)obj).getID());
+ }else if(obj instanceof ResourceDescriptor) {
+ connPools.add(obj);
+
+ }
+ }
+ }
+ }
+
+
+ lists[CONFIGURATIONS_INDEX] = configurations;
+ lists[HOSTS_INDEX] = hosts;
+ lists[DEPLOYED_COMPONENTS_INDEX] = deployedComponents;
+ lists[SERVICE_COMPONENT_DEFNS_INDEX] = serviceComponentDefns;
+ lists[VM_COMPONENT_DEFNS_INDEX] = vmComponentDefns;
+ lists[COMPONENT_TYPES_INDEX] = componentTypes;
+
+ lists[CONFIGURATION_IDS_INDEX] = configurationIDs;
+ lists[HOST_IDS_INDEX] = hostIDs;
+ lists[DEPLOYED_COMPONENT_IDS_INDEX] = deployedComponentIDs;
+ lists[SERVICE_COMPONENT_DEFN_IDS_INDEX] = serviceComponentDefnIDs;
+ lists[VM_COMPONENT_DEFN_IDS_INDEX] = vmComponentDefnIDs;
+ lists[COMPONENT_TYPE_IDS_INDEX] = componentTypeIDs;
+
+ lists[CONNECTION_POOL_CONFIGS_INDEX] = connPools;
+
+ lists[RESOURCES_INDEX] = resources;
+ lists[CONNECTORS_INDEX] = bindings;
+ lists[CONNECTORS_IDS_INDEX] = bindingIDs;
+
+
+ return lists;
+ }
+
+ protected XMLReaderWriter getXMLReaderWriter() {
+ if (readerWriter == null) {
+ readerWriter = new XMLReaderWriterImpl();
+ }
+ return readerWriter;
+ }
+
+ protected XMLHelperImpl getXMLHelper() {
+ if (xmlHelper == null) {
+ xmlHelper = new XMLHelperImpl();
+
+ }
+ return xmlHelper;
+
+ }
+}
Deleted: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_42_ElementNames.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_42_ElementNames.java 2009-04-10 18:43:00 UTC (rev 751)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_42_ElementNames.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -1,817 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.common.config.xml;
-
-//import com.metamatrix.common.config.api.ComponentObject;
-import com.metamatrix.common.config.util.ConfigurationPropertyNames;
-//import com.metamatrix.common.config.xml.XMLElementNames.Configurations.Configuration;
-
-/**
-* This class structure mimics the structure of a Configuration XML
-* document and defines all of the element and attribute names for that
-* document type.
-*/
-public interface XMLConfig_42_ElementNames {
-
- /**
- * This is used as the delimiter of all XML element names.
- */
- public static final String DELIMITER = "."; //$NON-NLS-1$
-
- /**
- * This should be the root Element name for all Configuration XML Documents.
- */
- public static final String ELEMENT = "ConfigurationDocument"; //$NON-NLS-1$
-
-
-
- /**
- * This is the class that represents the Configuration Element which contains
- * all of the XML elements that represent a Configuration object.
- */
- public static class Configuration {
-
- /**
- * This is the name of the Configurations Element.
- */
- public static final String ELEMENT = "Configuration"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ComponentObject.Attributes{
- }
-
-
-
- /**
- * This is the class that represents the ProductServiceConfig Element which contains
- * all of the XML elements that represent a ProductServiceConfig object.
- */
-// public static class ProductServiceConfig {
-//
-// /**
-// * This is the name of the ProductServiceConfig Element.
-// */
-// public static final String ELEMENT = "PSC"; //$NON-NLS-1$
-//
-// /**
-// * This class defines the Attributes of the Element class that
-// * contains it. Note that this class just inherits its attributes
-// * from its configuration object superclass.
-// */
-// public static class Attributes extends ComponentObject.Attributes{
-// }
-// }
-
-
- /**
- * This is the class that represents the Host Element which contains
- * all of the XML elements that represent a Host object.
- */
- public static class Host {
-
- /**
- * This is the name of the Host Element.
- */
- public static final String ELEMENT = "Host"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends Configuration.Attributes {
- }
- }
-
-
-
-
- /**
- * This is the class that represents the VMComponentDefns Element which contains
- * all of the XML elements that represent a VMComponentDefns object.
- */
- public static class Process {
-
- /**
- * This is the name of the VMComponentDefns Element.
- */
- public static final String ELEMENT = "Process"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ComponentObject.Attributes{
- }
-
- }
-
-
-
-
- /**
- * This is the class that represents the DeployedComponent Element which contains
- * all of the XML elements that represent a DeployedComponent object.
- */
- public static class xDeployedComponent {
-
- /**
- * This is the name of the DeployedComponent Element.
- */
- public static final String ELEMENT = "DeployedService"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ComponentObject.Attributes{
- public static final String HOST_ID = "HostID"; //$NON-NLS-1$
- // public static final String PRODUCT_SERVICE_CONFIG_ID = "ProductServiceConfigID"; //$NON-NLS-1$
- public static final String SERVICE_COMPONENT_DEFN_ID = "ServiceComponentDefnID"; //$NON-NLS-1$
- public static final String VM_COMPONENT_DEFN_ID = "VMComponentDefnID"; //$NON-NLS-1$
- }
- }
-
-
- public static class DeployedService {
-
- /**
- * This is the name of the ServiceComponentDefn Element.
- */
- public static final String ELEMENT = "Service"; //$NON-NLS-1$
-
- public static class Attributes extends ComponentObject.Attributes{
- public static final String ROUTING_UUID = "routingUUID"; //$NON-NLS-1$
- }
-
-
-
- }
-
-
- /**
- * This is the class that represents the ComponentDefnID Element which contains
- * all of the XML elements that represent a ComponentDefnID object.
- */
-// public static final class ComponentDefnID{
-//
-// /**
-// * This is the name of the ComponentDefnID Element.
-// */
-// public static final String ELEMENT = "ComponentDefnID"; //$NON-NLS-1$
-//
-// /**
-// * This class defines the Attributes of the Element class that
-// * contains it. Note that this class just inherits its attributes
-// * from its configuration object superclass.
-// */
-// public static class Attributes extends ID.Attributes {
-// }
-// }
-
- /**
- * This is the class that represents the DeployedComponentID Element which contains
- * all of the XML elements that represent a DeployedComponentID object.
- */
-// public static final class DeployedComponentID{
-//
-// /**
-// * This is the name of the DeployedComponentID Element.
-// */
-// public static final String ELEMENT = "DeployedComponentID"; //$NON-NLS-1$
-//
-// /**
-// * This class defines the Attributes of the Element class that
-// * contains it. Note that this class just inherits its attributes
-// * from its configuration object superclass.
-// */
-// public static class Attributes extends ID.Attributes {
-// }
-// }
-
- /**
- * This is the class that represents the ProductServiceConfigID Element which contains
- * all of the XML elements that represent a ProductServiceConfigID object.
- */
-// public static final class ProductServiceConfigID{
-//
-// /**
-// * This is the name of the ProductServiceConfigID Element.
-// */
-// public static final String ELEMENT = "ProductServiceConfigID"; //$NON-NLS-1$
-//
-// /**
-// * This class defines the Attributes of the Element class that
-// * contains it. Note that this class just inherits its attributes
-// * from its configuration object superclass.
-// */
-// public static class Attributes extends ID.Attributes {
-// }
-// }
-
- /**
- * This is the class that represents the VMComponentDefnID Element which contains
- * all of the XML elements that represent a VMComponentDefnID object.
- */
-// public static final class VMComponentDefnID{
-//
-// /**
-// * This is the name of the VMComponentDefnID Element.
-// */
-// public static final String ELEMENT = "VMComponentDefnID"; //$NON-NLS-1$
-//
-// /**
-// * This class defines the Attributes of the Element class that
-// * contains it. Note that this class just inherits its attributes
-// * from its configuration object superclass.
-// */
-// public static class Attributes extends ID.Attributes {
-// }
-// }
-
- /**
- * This is the class that represents the VMComponentDefnID Element which contains
- * all of the XML elements that represent a VMComponentDefnID object.
- */
-// public static final class ServiceComponentDefnID{
-//
-// /**
-// * This is the name of the ServiceComponentDefnID Element.
-// */
-// public static final String ELEMENT = "ServiceComponentDefnID"; //$NON-NLS-1$
-//
-// /**
-// * This class defines the Attributes of the Element class that
-// * contains it. Note that this class just inherits its attributes
-// * from its configuration object superclass.
-// */
-// public static class Attributes extends ID.Attributes {
-// }
-// }
-
-
-
- }
-
- /**
- * This is the class that represents the ComponentObject Element which contains
- * all of the XML elements that represent a ComponentObject object.
- */
- public static class ComponentObject {
- public static class Attributes {
- public static final String NAME = "Name"; //$NON-NLS-1$
- public static final String COMPONENT_TYPE = "ComponentType"; //$NON-NLS-1$
- }
- }
-
- /**
- * This is the class that represents the Properties Element which contains
- * all of the XML elements that represent a Properties object.
- */
- public static class Properties {
-
- /**
- * This is the name of the Properties Element.
- */
- public static final String ELEMENT = "Properties"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the Property Element which contains
- * all of the XML elements that represent a Property object.
- */
- public static class Property {
-
- /**
- * This is the name of the Property Element.
- */
- public static final String ELEMENT = "Property"; //$NON-NLS-1$
-
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String NAME = "Name"; //$NON-NLS-1$
- }
-
- }
- }
-
- /**
- * This is the class that represents the ChangeHistory Properties Element which contains
- * all of the XML elements that represent the change information for the object.
- */
- public static class ChangeHistory {
-
- /**
- * This is the name of the ChangeHistory Element.
- */
- public static final String ELEMENT = "ChangeHistory"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the Property Element which contains
- * all of the XML elements that represent a Property object.
- */
- public static class Property {
-
- /**
- * This is the name of the Property Element.
- */
- public static final String ELEMENT = "Property"; //$NON-NLS-1$
-
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String NAME = "Name"; //$NON-NLS-1$
- }
-
- public static class NAMES {
- public static final String LAST_CHANGED_DATE = "LastChangedDate"; //$NON-NLS-1$
- public static final String LAST_CHANGED_BY = "LastChangedBy"; //$NON-NLS-1$
- public static final String CREATION_DATE = "CreationDate"; //$NON-NLS-1$
- public static final String CREATED_BY = "CreatedBy"; //$NON-NLS-1$
-
- }
- }
- }
-
-
- /**
- * This is the class that represents the ID Element which contains
- * all of the XML elements that represent a ID object.
- */
- public static class ID {
- // these are the shared attributes of all ID Elements
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String NAME = "Name"; //$NON-NLS-1$
- }
- }
-
-
- /**
- * This is the class that represents the ProductServiceConfigs Element which contains
- * all of the XML elements that represent a ProductServiceConfigs object.
- */
-// public static class ProductServiceConfigs {
-//
-// /**
-// * This is the name of the ProductServiceConfigs Element.
-// */
-// public static final String ELEMENT = "ProductServiceConfigs"; //$NON-NLS-1$
-//
-//
-// /**
-// * This is the class that represents the ProductServiceConfig Element which contains
-// * all of the XML elements that represent a ProductServiceConfig object.
-// */
-// public static class ProductServiceConfig {
-//
-//
-// /**
-// * This is the name of the ProductServiceConfig Element.
-// */
-// public static final String ELEMENT = "PSC"; //$NON-NLS-1$
-//
-// public static class Attributes extends ComponentObject.Attributes{
-// }
-// /**
-// * This class defines the Attributes of the Element class that
-// * contains it. Note that this class just inherits its attributes
-// * from its configuration object superclass.
-// */
-//
-// public static class Service {
-//
-// /**
-// * This is the name of the ServiceComponentDefn Element.
-// */
-// public static final String ELEMENT = "Service"; //$NON-NLS-1$
-//
-// public static class Attributes extends ComponentObject.Attributes{
-// public static final String IS_ENABLED = "IsEnabled"; //$NON-NLS-1$
-// }
-// }
-//
-// }
-// }
-//
-
- /**
- * This is the class that represents the ProductServiceConfigs Element which contains
- * all of the XML elements that represent a ProductServiceConfigs object.
- */
- public static class ResourcePools {
-
- /**
- * This is the name of the ProductServiceConfigs Element.
- */
- public static final String ELEMENT = "ConnectionPools"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the ProductServiceConfig Element which contains
- * all of the XML elements that represent a ProductServiceConfig object.
- */
- public static class ResourcePool {
-
- /**
- * This is the name of the ProductServiceConfig Element.
- */
- public static final String ELEMENT = "ConnectionPool"; //$NON-NLS-1$
-
- public static class Attributes extends ComponentObject.Attributes{
-
- }
-
- }
- }
-
- /**
- * This is the class that represents the ProductServiceConfigs Element which contains
- * all of the XML elements that represent a ProductServiceConfigs object.
- */
- public static class AuthenticationProviders {
-
- /**
- * This is the name of the ProductServiceConfigs Element.
- */
- public static final String ELEMENT = "AuthenticationProviders"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the ProductServiceConfig Element which contains
- * all of the XML elements that represent a ProductServiceConfig object.
- */
- public static class Provider {
-
- /**
- * This is the name of the ProductServiceConfig Element.
- */
- public static final String ELEMENT = "Provider"; //$NON-NLS-1$
-
- public static class Attributes extends ComponentObject.Attributes{
-
- }
-
- }
- }
-
-
- /**
- * This is the class that represents the Resources Element which contains
- * all of the XML elements that represent a Resource object.
- */
- public static class Resources {
-
- /**
- * This is the name of the Hosts Element.
- */
- public static final String ELEMENT = "SharedResources"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the Resource Element which contains
- * all of the XML elements that represent a Resource object.
- */
- public static class Resource {
-
- /**
- * This is the name of the Resource Element.
- */
- public static final String ELEMENT = "Resource"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ComponentObject.Attributes{
- }
-
-
- }
- }
-
- /**
- * This is the class that represents the ServiceComponentDefns Element which contains
- * all of the XML elements that represent a ServiceComponentDefns object.
- */
- public static class ConnectorComponents {
-
- /**
- * This is the name of the ServiceComponentDefns Element.
- */
- public static final String ELEMENT = "ConnectorBindings"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the ConnectorBinding Element which contains
- * all of the XML elements that represent a ConnectorBinding object.
- */
- public static class ConnectorComponent {
-
- /**
- * This is the name of the ConnectorBinding Element.
- */
- public static final String ELEMENT = "Connector"; //$NON-NLS-1$
-
- public static class Attributes extends ComponentObject.Attributes{
- public static final String QUEUED_SERVICE = "QueuedService"; //$NON-NLS-1$
-// public static final String IS_ENABLED = "IsEnabled";
- public static final String ROUTING_UUID = "routingUUID"; //$NON-NLS-1$
- }
- }
- }
-
-
-
- /**
- * This is the class that represents the ComponentTypeID Element which contains
- * all of the XML elements that represent a ComponentTypeID object.
- */
- public static class ComponentTypeID {
-
- /**
- * This is the name of the ComponentTypeID Element.
- */
- public static final String ELEMENT = "ComponentTypeID"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ID.Attributes {
- }
-
- }
-
- /**
- * This is the class that represents the ComponentTypes Element which contains
- * all of the XML elements that represent a ComponentTypes object.
- */
- public static class ComponentTypes {
-
- /**
- * This is the name of the ComponentTypes Element.
- */
- public static final String ELEMENT = "ComponentTypes"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the ComponentType Element which contains
- * all of the XML elements that represent a ComponentType object.
- */
- public static class ComponentType {
-
- /**
- * This is the name of the ComponentType Element.
- */
- public static final String ELEMENT = "ComponentType"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String NAME = "Name"; //$NON-NLS-1$
- public static final String PARENT_COMPONENT_TYPE = "ParentComponentType"; //$NON-NLS-1$
- public static final String SUPER_COMPONENT_TYPE = "SuperComponentType"; //$NON-NLS-1$
- public static final String COMPONENT_TYPE_CODE = "ComponentTypeCode"; //$NON-NLS-1$
- public static final String DEPLOYABLE = "Deployable"; //$NON-NLS-1$
- public static final String DEPRECATED = "Deprecated"; //$NON-NLS-1$
- public static final String MONITORABLE = "Monitorable"; //$NON-NLS-1$
- public static final String DESCRIPTION = "Description"; //$NON-NLS-1$
- }
-
-
- /**
- * This is the class that represents the ComponentTypeDefn Element which contains
- * all of the XML elements that represent a ComponentTypeDefn object.
- */
- public static class ComponentTypeDefn {
-
- /**
- * This is the name of the ComponentTypeDefn Element.
- */
- public static final String ELEMENT = "ComponentTypeDefn"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String DEPRECATED = "Deprecated"; //$NON-NLS-1$
- }
-
- /**
- * This is the class that represents the PropertyDefinition Element which contains
- * all of the XML elements that represent a PropertyDefinition object.
- */
- public static class PropertyDefinition {
-
- /**
- * This is the name of the PropertyDefinition Element.
- */
- public static final String ELEMENT = "PropertyDefinition"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String NAME = "Name"; //$NON-NLS-1$
- public static final String DISPLAY_NAME = "DisplayName"; //$NON-NLS-1$
- public static final String SHORT_DESCRIPTION ="ShortDescription"; //$NON-NLS-1$
- public static final String DEFAULT_VALUE = "DefaultValue"; //$NON-NLS-1$
- public static final String MULTIPLICITY = "Multiplicity"; //$NON-NLS-1$
- public static final String PROPERTY_TYPE = "PropertyType"; //$NON-NLS-1$
- public static final String VALUE_DELIMITER = "ValueDelimiter"; //$NON-NLS-1$
- public static final String IS_CONSTRAINED_TO_ALLOWED_VALUES = "IsConstrainedToAllowedValues"; //$NON-NLS-1$
- public static final String IS_EXPERT = "IsExpert"; //$NON-NLS-1$
- public static final String IS_HIDDEN = "IsHidden"; //$NON-NLS-1$
- public static final String IS_MASKED = "IsMasked"; //$NON-NLS-1$
- public static final String IS_MODIFIABLE = "IsModifiable"; //$NON-NLS-1$
- public static final String IS_PREFERRED = "IsPreferred"; //$NON-NLS-1$
- public static final String REQUIRES_RESTART = "RequiresRestart"; //$NON-NLS-1$
- }
-
- /**
- * This is the class that represents the AllowedValue Element which contains
- * all of the XML elements that represent a AllowedValue object.
- */
- public static class AllowedValue {
-
- /**
- * This is the name of the AllowedValue Element.
- */
- public static final String ELEMENT = "AllowedValue"; //$NON-NLS-1$
- }
-
- }
-
- }
- }
- }
-
- /**
- * This is the class that represents the ProductTypes Element which contains
- * all of the XML elements that represent a ProductType object.
- */
-// public static class ProductTypes {
-// public static final String ELEMENT = "ProductTypes"; //$NON-NLS-1$
-//
-// /**
-// * This is the class that represents the ProductType Element which contains
-// * all of the XML elements that represent a ProductType object.
-// * Note that it extends teh ComponentType element definition.
-// */
-// public static class ProductType extends ComponentTypes.ComponentType{
-// public static final String ELEMENT = "ProductType"; //$NON-NLS-1$
-// }
-// }
-
-
- /**
- * This is the class that represents the ServiceComponentDefns Element which contains
- * all of the XML elements that represent a ServiceComponentDefns object.
- */
- public static class ServiceComponentDefns {
-
- /**
- * This is the name of the ServiceComponentDefns Element.
- */
- public static final String ELEMENT = "Services"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the ServiceComponentDefn Element which contains
- * all of the XML elements that represent a ServiceComponentDefn object.
- */
- public static class ServiceComponentDefn {
-
- /**
- * This is the name of the ServiceComponentDefn Element.
- */
- public static final String ELEMENT = "Service"; //$NON-NLS-1$
-
- public static class Attributes extends ComponentObject.Attributes{
- public static final String QUEUED_SERVICE = "QueuedService"; //$NON-NLS-1$
- public static final String ROUTING_UUID = "routingUUID"; //$NON-NLS-1$
- }
- }
- }
-
-
-
- public static class Header {
-
- /**
- * This is the name of the Header Element.
- */
- public static final String ELEMENT = "Header"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the UserName Element which contains
- * all of the XML elements that represent a UserName object.
- */
- public static class UserCreatedBy {
-
- /**
- * This is the name of the UserName Element.
- */
- public static final String ELEMENT = ConfigurationPropertyNames.USER_CREATED_BY;
- }
-
- /**
- * This is the class that represents the ApplicationCreatedDate Element which contains
- * all of the XML elements that represent a ApplicationCreatedDate object.
- */
- public static class ApplicationCreatedBy {
-
- /**
- * This is the name of the ApplicationCreatedDate Element.
- */
- public static final String ELEMENT = ConfigurationPropertyNames.APPLICATION_CREATED_BY;
- }
-
- /**
- * This is the class that represents the ApplicationVersionCreatedBy Element which contains
- * all of the XML elements that represent a ApplicationVersionCreatedBy object.
- */
- public static class ApplicationVersionCreatedBy {
-
- /**
- * This is the name of the ApplicationVersionCreatedBy Element.
- */
- public static final String ELEMENT = ConfigurationPropertyNames.APPLICATION_VERSION_CREATED_BY;
- }
-
- /**
- * This is the class that represents the Time Element which contains
- * all of the XML elements that represent a Time object.
- */
- public static class Time {
-
- /**
- * This is the name of the Time Element.
- */
- public static final String ELEMENT = ConfigurationPropertyNames.TIME;
- }
-
- /**
- * This is the class that represents the DocumentTypeVersion Element which contains
- * all of the XML elements that represent a DocumentTypeVersion object.
- */
- public static class ConfigurationVersion {
-
- /**
- * This is the name of the DocumentTypeVersion Element.
- */
- public static final String ELEMENT = ConfigurationPropertyNames.CONFIGURATION_VERSION;
- }
-
- /**
- * This is the class that represents the MetaMatrixServerVersion Element which contains
- * all of the XML elements that represent a ProductServiceConfigs object.
- */
- public static class MetaMatrixSystemVersion {
-
- /**
- * This is the name of the MetaMatrixServerVersion Element.
- */
- public static final String ELEMENT = ConfigurationPropertyNames.METAMATRIX_SYSTEM_VERSION;
- }
- }
-
-
-}
Deleted: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_42_HelperImpl.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_42_HelperImpl.java 2009-04-10 18:43:00 UTC (rev 751)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_42_HelperImpl.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -1,2525 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.common.config.xml;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.jdom.Element;
-
-import com.metamatrix.admin.api.objects.PropertyDefinition.RestartType;
-import com.metamatrix.common.CommonPlugin;
-import com.metamatrix.common.config.api.AuthenticationProvider;
-import com.metamatrix.common.config.api.ComponentDefn;
-import com.metamatrix.common.config.api.ComponentObject;
-import com.metamatrix.common.config.api.ComponentType;
-import com.metamatrix.common.config.api.ComponentTypeDefn;
-import com.metamatrix.common.config.api.ComponentTypeID;
-import com.metamatrix.common.config.api.Configuration;
-import com.metamatrix.common.config.api.ConfigurationID;
-import com.metamatrix.common.config.api.ConfigurationInfo;
-import com.metamatrix.common.config.api.ConfigurationObjectEditor;
-import com.metamatrix.common.config.api.ConnectorBinding;
-import com.metamatrix.common.config.api.ConnectorBindingID;
-import com.metamatrix.common.config.api.DeployedComponent;
-import com.metamatrix.common.config.api.Host;
-import com.metamatrix.common.config.api.HostID;
-import com.metamatrix.common.config.api.ResourceDescriptor;
-import com.metamatrix.common.config.api.ServiceComponentDefn;
-import com.metamatrix.common.config.api.ServiceComponentDefnID;
-import com.metamatrix.common.config.api.SharedResource;
-import com.metamatrix.common.config.api.VMComponentDefn;
-import com.metamatrix.common.config.api.VMComponentDefnID;
-import com.metamatrix.common.config.api.exceptions.InvalidConfigurationException;
-import com.metamatrix.common.config.model.BasicComponentObject;
-import com.metamatrix.common.config.model.BasicComponentType;
-import com.metamatrix.common.config.model.BasicConfigurationObjectEditor;
-import com.metamatrix.common.config.model.BasicUtil;
-import com.metamatrix.common.config.model.BasicVMComponentDefn;
-import com.metamatrix.common.config.util.ConfigurationPropertyNames;
-import com.metamatrix.common.config.util.InvalidConfigurationElementException;
-import com.metamatrix.common.log.LogConfiguration;
-import com.metamatrix.common.namedobject.BaseID;
-import com.metamatrix.common.object.Multiplicity;
-import com.metamatrix.common.object.MultiplicityExpressionException;
-import com.metamatrix.common.object.PropertyDefinition;
-import com.metamatrix.common.object.PropertyDefinitionImpl;
-import com.metamatrix.common.object.PropertyType;
-import com.metamatrix.common.util.ErrorMessageKeys;
-import com.metamatrix.common.util.PropertiesUtils;
-import com.metamatrix.core.util.Assertion;
-import com.metamatrix.core.util.DateUtil;
-import com.metamatrix.core.util.EquivalenceUtil;
-import com.metamatrix.core.util.MetaMatrixProductVersion;
-//import com.metamatrix.common.util.LogCommonConstants;
-/**
-* This helper class is used to create JDOM XML Elements from configuration objects
-* and to create Configuration objects from JDOM XML Elements.
-*
-*
-* NOTE - The helper cannot have any calls to LogManager because the bootstrapping of
-* the CurrentConfiguration
-* uses this class and the CurrentConfiguration has to come up before
-* logging is available.
-*
-*/
-public class XMLConfig_42_HelperImpl implements XMLHelper, ConfigurationPropertyNames {
-
-
-
- /**
- * @see com.metamatrix.common.config.xml.XMLHelper#createDeployedComponent(org.jdom.Element, com.metamatrix.common.config.api.ConfigurationID, com.metamatrix.common.config.api.HostID, com.metamatrix.common.config.api.VMComponentDefnID, com.metamatrix.common.config.api.ProductServiceConfigID, java.util.Map, com.metamatrix.common.config.api.ConfigurationObjectEditor)
- * @since 4.1
- */
-// public DeployedComponent createDeployedComponent(Element element,
-// ConfigurationID configID,
-// HostID hostID,
-// VMComponentDefnID vmID,
-// Map componentTypeMap,
-// ConfigurationObjectEditor editor) throws InvalidConfigurationElementException {
-// return null;
-// }
- /**
- * This method is used to create a Configuration JDOM Element from a
- * Configuration object.
- *
- * @param configuration the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createConfigurationElement(Configuration configuration) {
- // first we set up the organizational structure of a configuration
- Assertion.isNotNull(configuration);
-// Element productServiceConfigsElement = new Element(XMLConfig_42__ElementNames.Configuration.ProductServiceConfigs.ELEMENT);
-// Element serviceDefnsElement = createServiceComponentDefnsElement();
-// Element deployedComponentsElement = new Element(XMLConfig_42__ElementNames.Configuration.DeployedComponents.ELEMENT);
-// Element vmComponentDefnsElement = new Element(XMLConfig_42__ElementNames.Configuration.VMComponentDefns.ELEMENT);
-// Element resourcePoolsElement = new Element(XMLConfig_42__ElementNames.Configuration.ResourcePools.ELEMENT);
-
-
- Element configElement = createComponentObjectElement(XMLConfig_42_ElementNames.Configuration.ELEMENT, configuration);
-
-// Element logConfigurationElement = createLogConfigurationElement(configuration.getLogConfiguration());
-
-// configElement.addContent(productServiceConfigsElement);
-// configElement.addContent(serviceDefnsElement);
-// configElement.addContent(deployedComponentsElement);
-// configElement.addContent(vmComponentDefnsElement);
-// configElement.addContent(logConfigurationElement);
-// configElement.addContent(resourcePoolsElement);
-
- return configElement;
- }
-
- /**
- * This method is used to create a LogConfiguration JDOM Element from a
- * LogConfiguration object.
- *
- * @param info the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createLogConfigurationElement(LogConfiguration logConfiguration) {
- throw new UnsupportedOperationException("Method createLogConfigurationElement is unsupported in 4.2"); //$NON-NLS-1$
-
-// Assertion.isNotNull(logConfiguration);
-//
-// Element logConfigurationElement = new Element(XMLConfig_42__ElementNames.Configuration.LogConfiguration.ELEMENT);
-// Element propertiesElement = null;
-// try {
-// propertiesElement = createPropertiesElement(BasicLogConfiguration.getLogConfigurationProperties(logConfiguration));
-// logConfigurationElement.addContent(propertiesElement);
-//
-// }catch(LogConfigurationException e) {
-// String msg = CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0031);
-// System.out.println(msg);
-// }
-//
-//
-// return logConfigurationElement;
- }
-
-
- /**
- * This method is used to create a ConfigurationInfo JDOM Element from a
- * ConfigurationInfo object.
- *
- * @param info the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createConfigurationInfoElement(ConfigurationInfo info) {
- throw new UnsupportedOperationException("Method createConfigurationInfoElement is unsupported in 4.2"); //$NON-NLS-1$
-
-// Assertion.isNotNull(info);
-//
-// Element configurationInfoElement = new Element(XMLConfig_42__ElementNames.Configuration.ConfigurationInfo.ELEMENT);
-//
-// Date date = info.getLastChangedDate();
-// if (date != null) {
-// configurationInfoElement.setAttribute(XMLConfig_42__ElementNames.Configuration.ConfigurationInfo.Attributes.LAST_CHANGED_DATE, date.toString());
-// }
-//
-// date = info.getCreationDate();
-// if (date !=null) {
-// configurationInfoElement.setAttribute(XMLConfig_42__ElementNames.Configuration.ConfigurationInfo.Attributes.CREATION_DATE, date.toString());
-// }
-// return configurationInfoElement;
- }
-
- /**
- * This method is used to create a DeployedComponent JDOM Element from a
- * DeployedComponent object.
- *
- * @param deployedComponent the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createDeployedComponentElement(DeployedComponent deployedComponent) {
- Assertion.isNotNull(deployedComponent);
-
-// String vmComponentName = null;
-// String productConfigName = null;
-
- Element deployedComponentElement = createComponentObjectElement(XMLConfig_42_ElementNames.Configuration.DeployedService.ELEMENT, deployedComponent);
-
-
-// VMComponentDefnID vmComponentID = deployedComponent.getVMComponentDefnID();
-// ProductServiceConfigID productConfigID = deployedComponent.getProductServiceConfigID();
-
-
-// // we treat these IDs specially because they are optional for Deployed
-// // Components that are VM's
-// if (vmComponentID!=null) {
-// vmComponentName = vmComponentID.getName();
-// deployedComponentElement.setAttribute(XMLConfig_42_ElementNames.Configuration.DeployedComponent.Attributes.VM_COMPONENT_DEFN_ID, vmComponentName);
-// }
-//
-// if (productConfigID!=null) {
-// productConfigName = productConfigID.getName();
-// deployedComponentElement.setAttribute(XMLConfig_42_ElementNames.Configuration.DeployedComponent.Attributes.PRODUCT_SERVICE_CONFIG_ID, productConfigName);
-// }
-
-// BaseID id = deployedComponent.getServiceComponentDefnID();
-// if (id!=null) {
-// deployedComponentElement.setAttribute(XMLConfig_42_ElementNames.Configuration.DeployedService.Attributes.SERVICE_COMPONENT_DEFN_ID, id.getName());
-// }
-
-
-
-// id = deployedComponent.getHostID();
-// if (id!=null) {
-// deployedComponentElement.setAttribute(XMLConfig_42_ElementNames.Configuration.DeployedComponent.Attributes.HOST_ID, id.getName());
-// }
-
- return deployedComponentElement;
- }
-
- /**
- * This method is used to create a VMComponentDefn JDOM Element from a
- * VMComponentDefn object.
- *
- * @param defn the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createVMComponentDefnElement(VMComponentDefn defn) {
- Assertion.isNotNull(defn);
-
- Element vmComponentDefnElement = createComponentObjectElement(XMLConfig_42_ElementNames.Configuration.Process.ELEMENT, defn);
- return vmComponentDefnElement;
- }
-
- public Element createDeployedServiceComponentDefnElement(ServiceComponentDefn defn) {
- Assertion.isNotNull(defn);
-
- Element serviceComponentDefnElement = createComponentObjectElement(XMLConfig_42_ElementNames.Configuration.DeployedService.ELEMENT, defn);
- serviceComponentDefnElement.setAttribute(XMLConfig_42_ElementNames.Configuration.DeployedService.Attributes.ROUTING_UUID, defn.getRoutingUUID());
- return serviceComponentDefnElement;
- }
-
- /**
- * This method is used to create a ServiceComponentDefn JDOM Element from a
- * ServiceComponentDefn object.
- *
- * @param defn the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createServiceComponentDefnElement(ServiceComponentDefn defn) {
- Assertion.isNotNull(defn);
-
- Element serviceComponentDefnElement = createComponentObjectElement(XMLConfig_42_ElementNames.ServiceComponentDefns.ServiceComponentDefn.ELEMENT, defn);
- serviceComponentDefnElement.setAttribute(XMLConfig_42_ElementNames.ServiceComponentDefns.ServiceComponentDefn.Attributes.ROUTING_UUID, defn.getRoutingUUID());
- return serviceComponentDefnElement;
- }
-
-
- /**
- * This method is used to create a ServiceComponentDefn JDOM Element from a
- * ServiceComponentDefn object.
- *
- * @param defn the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createAuthenticationProviderElement(AuthenticationProvider defn) {
- Assertion.isNotNull(defn);
-
- Element serviceComponentDefnElement = createComponentObjectElement(XMLConfig_42_ElementNames.AuthenticationProviders.Provider.ELEMENT, defn);
- return serviceComponentDefnElement;
- }
- /**
- * This method is used to create a ServiceComponentDefn JDOM Element from a
- * ServiceComponentDefn object.
- *
- * @param defn the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
-// public Element createServiceComponentDefnElement(ResourceDescriptor defn) {
-// Assertion.isNotNull(defn);
-//
-// Element serviceComponentDefnElement = createComponentObjectElement(XMLConfig_42_ElementNames.ServiceComponentDefns.ServiceComponentDefn.ELEMENT, defn);
-// return serviceComponentDefnElement;
-// }
-
-// public Element createDeployedProductServiceConfigElement(ProductServiceConfig config) {
-// Assertion.isNotNull(config);
-//
-// Element productServiceConfigElement = createComponentObjectElement(XMLConfig_42_ElementNames.Configuration.ProductServiceConfig.ELEMENT, config);
-//
-// return productServiceConfigElement;
-// }
-//
-// public Element createProductServiceConfigsElement() {
-// return new Element(XMLConfig_42_ElementNames.ProductServiceConfigs.ELEMENT);
-//
-// }
-
-
-
-
- /**
- * This method is used to create a ProductServiceConfig JDOM Element from a
- * ProductServiceConfig object.
- *
- * @param config the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
-// public Element createProductServiceConfigElement(ProductServiceConfig config) {
-// Assertion.isNotNull(config);
-//
-// Element productServiceConfigElement = createComponentObjectElement(XMLConfig_42_ElementNames.ProductServiceConfigs.ProductServiceConfig.ELEMENT, config);
-//
-// Iterator iterator = config.getServiceComponentDefnIDs().iterator();
-// while (iterator.hasNext()) {
-// ServiceComponentDefnID id = (ServiceComponentDefnID)iterator.next();
-// boolean isEnabled = config.isServiceEnabled(id);
-//
-// Element idElement = createIDElement(XMLConfig_42_ElementNames.ProductServiceConfigs.ProductServiceConfig.Service.ELEMENT, id.getName());
-//
-// idElement.setAttribute(XMLConfig_42_ElementNames.ProductServiceConfigs.ProductServiceConfig.Service.Attributes.IS_ENABLED, (Boolean.valueOf(isEnabled)).toString());
-//
-// productServiceConfigElement.addContent(idElement);
-// }
-// return productServiceConfigElement;
-// }
-
- /**
- * This method is used to create a ComponentType JDOM Element from a
- * ComponentType object.
- *
- * @param type the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createComponentTypeElement(ComponentType type) {
- Assertion.isNotNull(type);
-
- Element componentTypeElement = new Element(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ELEMENT);
- Iterator iterator = type.getComponentTypeDefinitions().iterator();
- while (iterator.hasNext()) {
- ComponentTypeDefn defn = (ComponentTypeDefn)iterator.next();
-// Element componentTypeDefnElement = createComponentTypeDefnElement(defn);
- Element propertyDefinitionElement = createPropertyDefinitionElement(defn.getPropertyDefinition());
-// componentTypeDefnElement.addContent(propertyDefinitionElement);
- componentTypeElement.addContent(propertyDefinitionElement);
- }
- componentTypeElement.setAttribute(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.NAME, type.getName());
-
- if (type.getDescription() != null) {
- componentTypeElement.setAttribute(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.DESCRIPTION, type.getDescription());
- }
-
- componentTypeElement.setAttribute(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.COMPONENT_TYPE_CODE, new Integer(type.getComponentTypeCode()).toString());
- componentTypeElement.setAttribute(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.DEPLOYABLE, (Boolean.valueOf(type.isDeployable())).toString());
- componentTypeElement.setAttribute(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.DEPRECATED, (Boolean.valueOf(type.isDeprecated())).toString());
- componentTypeElement.setAttribute(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.MONITORABLE, (Boolean.valueOf(type.isMonitored())).toString());
- // we only add these if they are not null
- BaseID superID = type.getSuperComponentTypeID();
- String superIDString;
- if (superID != null) {
- superIDString = superID.getName();
- componentTypeElement.setAttribute(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.SUPER_COMPONENT_TYPE, superIDString);
-
- }
-
- BaseID parentID = type.getParentComponentTypeID();
- String parentIDString;
- if (parentID!=null) {
- parentIDString = parentID.getName();
- componentTypeElement.setAttribute(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.PARENT_COMPONENT_TYPE, parentIDString);
-
- }
-
- addChangeHistoryElement(type, componentTypeElement);
-// componentTypeElement.addContent(chgHistoryElement);
-
-
- return componentTypeElement;
- }
-
- /**
- * This method is used to create a PropertyDefinition JDOM Element from a
- * PropertyDefinition object.
- *
- * @param defn the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createPropertyDefinitionElement(PropertyDefinition defn) {
- Assertion.isNotNull(defn);
-
-
- Element element = new Element(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.ELEMENT);
-
- String name = defn.getName();
- element.setAttribute(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.NAME, name);
-
- String displayName = defn.getDisplayName();
- element.setAttribute(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.DISPLAY_NAME,displayName);
-
-
- setAttributeString(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.SHORT_DESCRIPTION,
- defn.getShortDescription(), PropertyDefinitionImpl.DEFAULT_SHORT_DESCRIPTION);
-
- Object value = defn.getDefaultValue();
- if (value!=null) {
- setAttributeString(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.DEFAULT_VALUE,
- value.toString(), PropertyDefinitionImpl.DEFAULT_DEFAULT_VALUE);
- }
-
- Multiplicity mult = defn.getMultiplicity();
- if (mult!=null) {
- setAttributeString(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.MULTIPLICITY,
- mult.toString(), PropertyDefinitionImpl.DEFAULT_MULTIPLICITY);
- }
-
- PropertyType type = defn.getPropertyType();
- if (type != null) {
- setAttributeString(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.PROPERTY_TYPE,
- type.getDisplayName(), PropertyDefinitionImpl.DEFAULT_TYPE.getDisplayName());
- }
-
-
- setAttributeString(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.VALUE_DELIMITER,
- defn.getValueDelimiter(), PropertyDefinitionImpl.DEFAULT_DELIMITER);
-
- setAttributeBoolean(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_CONSTRAINED_TO_ALLOWED_VALUES,
- defn.isConstrainedToAllowedValues(), PropertyDefinitionImpl.DEFAULT_IS_CONSTRAINED);
-
- setAttributeBoolean(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_EXPERT,
- defn.isExpert(), PropertyDefinitionImpl.DEFAULT_IS_EXPERT);
-
- setAttributeBoolean(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_HIDDEN,
- defn.isHidden(), PropertyDefinitionImpl.DEFAULT_IS_HIDDEN);
-
- setAttributeBoolean(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_MASKED,
- defn.isMasked(), PropertyDefinitionImpl.DEFAULT_IS_MASKED);
-
- setAttributeBoolean(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_MODIFIABLE,
- defn.isModifiable(), PropertyDefinitionImpl.DEFAULT_IS_MODIFIABLE);
-
- setAttributeBoolean(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_PREFERRED,
- defn.isPreferred(), PropertyDefinitionImpl.DEFAULT_IS_PREFERRED);
-
- setAttributeString(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.REQUIRES_RESTART,
- defn.getRequiresRestart().toString(), PropertyDefinitionImpl.DEFAULT_REQUIRES_RESTART.toString());
-
-
- List allowedValues = defn.getAllowedValues();
- Iterator iterator = allowedValues.iterator();
- while (iterator.hasNext()) {
- Element allowedValueElement = new Element(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.AllowedValue.ELEMENT);
- allowedValueElement.addContent((iterator.next()).toString());
- element.addContent(allowedValueElement);
- }
-
- return element;
-
- }
-
-
-
- /**
- * Set the specified attribute on the on the specified element, only if it's not the default value.
- * @param element Element to modify
- * @param attributeName name of Attribute to set
- * @param value Value to set
- * @param defaultValue If value==default value, don't set anything.
- * @since 4.3
- */
- private static void setAttributeString(Element element, String attributeName, String value, String defaultValue) {
- if (value != null && ! EquivalenceUtil.areEqual(value, defaultValue)) {
- element.setAttribute(attributeName, value);
- }
- }
- /**
- * Set the specified attribute on the on the specified element, only if it's not the default value.
- * @param element Element to modify
- * @param attributeName name of Attribute to set
- * @param value Value to set
- * @param defaultValue If value==default value, don't set anything.
- * @since 4.3
- */
- private static void setAttributeBoolean(Element element, String attributeName, boolean value, boolean defaultValue) {
- if (! value == defaultValue) {
- String valueString = String.valueOf(value);
- element.setAttribute(attributeName, valueString);
- }
- }
-
-
- /**
- * This method is used to create a ComponentTypeDefn JDOM Element from a
- * ComponentTypeDefn object.
- *
- * @param defn the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createComponentTypeDefnElement(ComponentTypeDefn defn) {
- Assertion.isNotNull(defn);
-
- Element componentTypeDefnElement = new Element(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.ELEMENT);
- componentTypeDefnElement.setAttribute(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.Attributes.DEPRECATED, (Boolean.valueOf(defn.isDeprecated())).toString());
- return componentTypeDefnElement;
- }
-
- /**
- * This method is used to create a ProductType JDOM Element from a
- * ProductType object.
- *
- * @param type the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
-// public Element createProductTypeElement(ProductType type) {
-// Assertion.isNotNull(type);
-//
-// Element productTypeElement = new Element(XMLConfig_42_ElementNames.ProductTypes.ProductType.ELEMENT);
-//
-// Iterator iterator = type.getComponentTypeIDs().iterator();
-// while (iterator.hasNext()) {
-// ComponentTypeID id = (ComponentTypeID)iterator.next();
-// Element componentTypeIDElement = createIDElement(XMLConfig_42_ElementNames.ComponentTypeID.ELEMENT, id.getName());
-// productTypeElement.addContent(componentTypeIDElement);
-// }
-//
-//
-// productTypeElement.setAttribute(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.NAME, type.getName());
-// productTypeElement.setAttribute(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.COMPONENT_TYPE_CODE, new Integer(type.getComponentTypeCode()).toString());
-// productTypeElement.setAttribute(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.DEPLOYABLE, (Boolean.valueOf(type.isDeployable())).toString());
-// productTypeElement.setAttribute(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.DEPRECATED, (Boolean.valueOf(type.isDeprecated())).toString());
-// productTypeElement.setAttribute(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.MONITORABLE, (Boolean.valueOf(type.isMonitored())).toString());
-//
-// // we only add these if they are not null
-// BaseID superID = type.getSuperComponentTypeID();
-// String superIDString;
-// if (superID != null) {
-// superIDString = superID.getName();
-// productTypeElement.setAttribute(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.SUPER_COMPONENT_TYPE, superIDString);
-//
-// }
-//
-// addChangeHistoryElement(type, productTypeElement);
-//
-//
-// return productTypeElement;
-//
-// }
-
- /**
- * This method is used to create a Host JDOM Element from a
- * Host object.
- *
- * @param host the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createDeployedHostElement(Host host) {
- Assertion.isNotNull(host);
-
- Element hostElement = createComponentObjectElement(XMLConfig_42_ElementNames.Configuration.Host.ELEMENT, host);
- return hostElement;
- }
-
- public Element createDeployedVMElementx(DeployedComponent vm) {
- Assertion.isNotNull(vm);
-
- Element hostElement = createComponentObjectElement(XMLConfig_42_ElementNames.Configuration.Host.ELEMENT, vm);
- return hostElement;
- }
-
- public final boolean is42ConfigurationCompatible(Element root) throws InvalidConfigurationElementException{
- Element headerElement = root.getChild(XMLConfig_42_ElementNames.Header.ELEMENT);
- if (headerElement == null) {
- throw new InvalidConfigurationElementException("The header element is not found in the configuration under element.", root.getName()); //$NON-NLS-1$
- }
-
- Properties props = getHeaderProperties(headerElement);
-
-
- String sVersion = props.getProperty(XMLConfig_42_ElementNames.Header.ConfigurationVersion.ELEMENT);
-
- if (sVersion == null) {
- return false;
- }
- try {
- double sv = Double.parseDouble(sVersion);
- if (sv == ConfigurationPropertyNames.MM_LATEST_CONFIG_VERSION) {
- return true;
- }
- } catch (Throwable t) {
- return false;
- }
- return true;
- }
-
- public Properties getHeaderProperties(Element element) throws InvalidConfigurationElementException{
- Properties props=new Properties();
-
- if (!element.getName().equals(XMLConfig_42_ElementNames.Header.ELEMENT)) {
- throw new InvalidConfigurationElementException("This is not the header element: " + element.getName() + ".", element); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- List elements = element.getChildren();
- Iterator it = elements.iterator();
- while(it.hasNext()) {
- final Element e = (Element) it.next();
- props.setProperty(e.getName(), e.getText());
- }
-
-
- return props;
- }
-
-
- /**
- * <p>This method is used to create a Header JDOM Element from a
- * Properties object. The properties object can contain any of the
- * following properties that will be included in the header:<p>
- * <pre>
- * XMLConfig_42_ElementNames.Header.ApplicationCreatedDate.ELEMENT
- * XMLConfig_42_ElementNames.Header.ApplicationVersionCreatedBy.ELEMENT
- * XMLConfig_42_ElementNames.Header.UserName.ELEMENT
- * XMLConfig_42_ElementNames.Header.DocumentTypeVersion.ELEMENT
- * XMLConfig_42_ElementNames.Header.MetaMatrixServerVersion.ELEMENT
- * XMLConfig_42_ElementNames.Header.Time.ELEMENT
- * <pre>
- * <p>Any of these properties that are not included in the properties object
- * will not be included in the header Element that is returned.
- *
- * @param props the properties object that contains the values for the Header
- * @return a JDOM XML Element
- */
- public Element createHeaderElement(Properties props) {
- Assertion.isNotNull(props);
-
- Element headerElement = new Element(XMLConfig_42_ElementNames.Header.ELEMENT);
- String applicationCreatedByContent = props.getProperty(XMLConfig_42_ElementNames.Header.ApplicationCreatedBy.ELEMENT);
- String applicationVersionCreatedByContent = props.getProperty(XMLConfig_42_ElementNames.Header.ApplicationVersionCreatedBy.ELEMENT);
- String userNameContent = props.getProperty(XMLConfig_42_ElementNames.Header.UserCreatedBy.ELEMENT);
- String configVersionContent = props.getProperty(XMLConfig_42_ElementNames.Header.ConfigurationVersion.ELEMENT);
- String serverVersionContent = props.getProperty(XMLConfig_42_ElementNames.Header.MetaMatrixSystemVersion.ELEMENT);
- String timeContent = props.getProperty(XMLConfig_42_ElementNames.Header.Time.ELEMENT);
-
-
- if (configVersionContent !=null) {
- Element configurationVersion = new Element(XMLConfig_42_ElementNames.Header.ConfigurationVersion.ELEMENT);
- configurationVersion.addContent(configVersionContent);
- headerElement.addContent(configurationVersion);
- }
-
- if (applicationCreatedByContent !=null) {
- Element applicationCreatedBy = new Element(XMLConfig_42_ElementNames.Header.ApplicationCreatedBy.ELEMENT);
- applicationCreatedBy.addContent(applicationCreatedByContent);
- headerElement.addContent(applicationCreatedBy);
- }
-
- if (applicationVersionCreatedByContent != null) {
- Element applicationVersionCreatedBy = new Element(XMLConfig_42_ElementNames.Header.ApplicationVersionCreatedBy.ELEMENT);
- applicationVersionCreatedBy.addContent(applicationVersionCreatedByContent);
- headerElement.addContent(applicationVersionCreatedBy);
- }
-
- if (userNameContent != null) {
- Element userName = new Element(XMLConfig_42_ElementNames.Header.UserCreatedBy.ELEMENT);
- userName.addContent(userNameContent);
- headerElement.addContent(userName);
- }
-
- if (serverVersionContent != null) {
- Element serverVersion = new Element(XMLConfig_42_ElementNames.Header.MetaMatrixSystemVersion.ELEMENT);
- serverVersion.addContent(serverVersionContent);
- headerElement.addContent(serverVersion);
- }
-
- if (timeContent != null) {
- Element time = new Element(XMLConfig_42_ElementNames.Header.Time.ELEMENT);
- time.addContent(timeContent);
- headerElement.addContent(time);
- }
- return headerElement;
-
- }
-
- private ComponentObject setDateHistory(ComponentObject defn, Element element, ConfigurationObjectEditor editor) {
-
- String lastChangedBy=null;
- String lastChangedDate=null;
- String createdDate=null;
- String createdBy=null;
-
- Properties props = getChangeHistoryFromElement(element);
-
- if (props != null && props.size() > 0) {
- lastChangedBy = props.getProperty(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_BY);
- lastChangedDate = props.getProperty(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_DATE);
- createdBy = props.getProperty(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.CREATED_BY);
- createdDate = props.getProperty(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.CREATION_DATE);
- } else {
-
- lastChangedBy = element.getAttributeValue(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_BY);
- lastChangedDate = element.getAttributeValue(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_DATE);
- createdBy = element.getAttributeValue(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.CREATED_BY);
- createdDate = element.getAttributeValue(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.CREATION_DATE);
- }
-
- lastChangedBy = (lastChangedBy!=null?lastChangedBy:""); //$NON-NLS-1$
- lastChangedDate = (lastChangedDate!=null?lastChangedDate:DateUtil.getCurrentDateAsString());
- createdBy = (createdBy!=null?createdBy:""); //$NON-NLS-1$
- createdDate = (createdDate!=null?createdDate:DateUtil.getCurrentDateAsString());
-
-
- defn = editor.setCreationChangedHistory(defn, createdBy, createdDate);
- defn = editor.setLastChangedHistory(defn, lastChangedBy, lastChangedDate);
-
- return defn;
-
- }
-
- private ComponentType setDateHistory(ComponentType type, Element element, ConfigurationObjectEditor editor) {
- String lastChangedBy=null;
- String lastChangedDate=null;
- String createdDate=null;
- String createdBy=null;
-
- Properties props = getChangeHistoryFromElement(element);
-
- if (props != null && props.size() > 0) {
- lastChangedBy = props.getProperty(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_BY);
- lastChangedDate = props.getProperty(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_DATE);
- createdBy = props.getProperty(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.CREATED_BY);
- createdDate = props.getProperty(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.CREATION_DATE);
- } else {
-
- lastChangedBy = element.getAttributeValue(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_BY);
- lastChangedDate = element.getAttributeValue(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_DATE);
- createdBy = element.getAttributeValue(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.CREATED_BY);
- createdDate = element.getAttributeValue(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.CREATION_DATE);
- }
-
- lastChangedBy = (lastChangedBy!=null?lastChangedBy:""); //$NON-NLS-1$
- lastChangedDate = (lastChangedDate!=null?lastChangedDate:DateUtil.getCurrentDateAsString());
- createdBy = (createdBy!=null?createdBy:""); //$NON-NLS-1$
- createdDate = (createdDate!=null?createdDate:DateUtil.getCurrentDateAsString());
-
- type = editor.setCreationChangedHistory(type, createdBy, createdDate);
- type = editor.setLastChangedHistory(type, lastChangedBy, lastChangedDate);
-
- return type;
-
- }
-
-
- private Properties getChangeHistoryFromElement(Element parentElement) {
-
- Element propertiesElement = parentElement.getChild(XMLConfig_42_ElementNames.ChangeHistory.ELEMENT);
-
- if (propertiesElement == null ) {
- return new Properties();
- }
-
- Properties props = new Properties();
-
- List properties = propertiesElement.getChildren(XMLConfig_42_ElementNames.ChangeHistory.Property.ELEMENT);
- if (properties == null) {
- return new Properties();
- }
- Iterator iterator = properties.iterator();
- while (iterator.hasNext()) {
- Element propertyElement = (Element)iterator.next();
- String propertyName = propertyElement.getAttributeValue(XMLConfig_42_ElementNames.ChangeHistory.Property.Attributes.NAME);
- String propertyValue = propertyElement.getText();
-
- props.setProperty(propertyName, (propertyValue!=null?propertyValue:"")); //$NON-NLS-1$
-
- }
- return props;
-
- }
-
-
-// private Element addChangeHistoryElementx(ComponentType obj) {
-//
-//// call to create the structure for the properties
-// Element changeHistoryElement = new Element(XMLConfig_42_ElementNames.ChangeHistory.ELEMENT);
-//
-// String lastChangedBy=null;
-// String lastChangedDate=null;
-// String createdDate=null;
-// String createdBy=null;
-//
-// lastChangedBy = obj.getLastChangedBy();
-// lastChangedDate = ((BasicComponentType) obj).getLastChangedDateString();
-//
-// createdBy = obj.getCreatedBy();
-// createdDate = ((BasicComponentType) obj).getCreatedDateString();
-//
-//
-// if (lastChangedBy == null || lastChangedBy.trim().length() == 0) {
-//
-// } else {
-//
-// changeHistoryElement = addPropertyElement(changeHistoryElement, XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_BY, lastChangedBy);
-// }
-//
-// if (lastChangedDate == null) {
-// } else {
-//
-// changeHistoryElement = addPropertyElement(changeHistoryElement, XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_DATE, lastChangedDate);
-// }
-//
-// if (createdBy == null || createdBy.trim().length() == 0) {
-// } else {
-//
-// changeHistoryElement = addPropertyElement(changeHistoryElement, XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.CREATED_BY, createdBy);
-// }
-//
-// if (createdDate == null) {
-// } else {
-// changeHistoryElement = addPropertyElement(changeHistoryElement, XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.CREATION_DATE,createdDate);
-// }
-//
-// return changeHistoryElement;
-//
-//
-// }
-
- private void addChangeHistoryElement(ComponentObject obj, Element element ) {
-
- String lastChangedBy=null;
- String lastChangedDate=null;
- String createdDate=null;
- String createdBy=null;
-
- lastChangedBy = obj.getLastChangedBy();
- lastChangedDate = ((BasicComponentObject) obj).getLastChangedDateString();
-
- createdBy = obj.getCreatedBy();
- createdDate = ((BasicComponentObject) obj).getCreatedDateString();
-
-
- if (lastChangedBy == null || lastChangedBy.trim().length() == 0) {
-
- } else {
- element.setAttribute(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_BY, lastChangedBy);
- }
-
- if (lastChangedDate == null) {
-
- } else {
- element.setAttribute(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_DATE, lastChangedDate);
-
- }
-
- if (createdBy == null || createdBy.trim().length() == 0) {
- } else {
- element.setAttribute(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.CREATED_BY, createdBy);
- }
-
- if (createdDate == null) {
- } else {
- element.setAttribute(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.CREATION_DATE, createdDate);
- }
-
- }
-
- private void addChangeHistoryElement(ComponentType obj, Element element ) {
-
-// call to create the structure for the properties
-
- String lastChangedBy=null;
- String lastChangedDate=null;
- String createdDate=null;
- String createdBy=null;
-
- lastChangedBy = obj.getLastChangedBy();
- lastChangedDate = ((BasicComponentType) obj).getLastChangedDateString();
-
- createdBy = obj.getCreatedBy();
- createdDate = ((BasicComponentType) obj).getCreatedDateString();
-
-
- if (lastChangedBy == null || lastChangedBy.trim().length() == 0) {
-
- } else {
- element.setAttribute(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_BY, lastChangedBy);
- }
-
- if (lastChangedDate == null) {
- lastChangedDate = DateUtil.getCurrentDateAsString();
- }
- element.setAttribute(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_DATE, lastChangedDate);
-
-
-
- if (createdBy == null || createdBy.trim().length() == 0) {
- } else {
- element.setAttribute(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.CREATED_BY, createdBy);
- }
-
- if (createdDate == null) {
- createdDate = DateUtil.getCurrentDateAsString();
- }
- element.setAttribute(XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.CREATION_DATE, createdDate);
-
- }
-
-
-
-// private Element addChangeHistoryElementx(ComponentObject obj) {
-//
-// Element changeHistoryElement = new Element(XMLConfig_42_ElementNames.ChangeHistory.ELEMENT);
-//
-// String lastChangedBy=null;
-// String lastChangedDate=null;
-// String createdDate=null;
-// String createdBy=null;
-//
-// lastChangedBy = obj.getLastChangedBy();
-// lastChangedDate = ((BasicComponentObject) obj).getLastChangedDateString();
-//
-// createdBy = obj.getCreatedBy();
-// createdDate = ((BasicComponentObject) obj).getCreatedDateString();
-//
-//
-// if (lastChangedBy == null || lastChangedBy.trim().length() == 0) {
-//
-// } else {
-//
-// changeHistoryElement = addPropertyElement(changeHistoryElement, XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_BY, lastChangedBy);
-// }
-//
-// if (lastChangedDate == null) {
-//
-// } else {
-//
-// changeHistoryElement = addPropertyElement(changeHistoryElement, XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_DATE, lastChangedDate);
-//
-// }
-//
-// if (createdBy == null || createdBy.trim().length() == 0) {
-// } else {
-//
-// changeHistoryElement = addPropertyElement(changeHistoryElement, XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.CREATED_BY, createdBy);
-// }
-//
-// if (createdDate == null) {
-// } else {
-// changeHistoryElement = addPropertyElement(changeHistoryElement, XMLConfig_42_ElementNames.ChangeHistory.Property.NAMES.CREATION_DATE, createdDate);
-// }
-//
-// return changeHistoryElement;
-// }
-
-
- /**
- * This method is used to create a Properties JDOM Element from a
- * Properties object.
- *
- * @param props the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createPropertiesElement(Properties props) {
- Assertion.isNotNull(props);
-
- Properties sortprops = PropertiesUtils.sort(props);
- Element propertiesElement = new Element(XMLConfig_42_ElementNames.Properties.ELEMENT);
- Enumeration enumeration = sortprops.propertyNames();
- while (enumeration.hasMoreElements()) {
- String propName = (String)enumeration.nextElement();
- propertiesElement = addPropertyElement(propertiesElement, propName, props.getProperty(propName));
- }
-
- return propertiesElement;
- }
-
-
- private Element addPropertyElement(Element propertiesElement, String propName, String propValue) {
- Element property = new Element(XMLConfig_42_ElementNames.Properties.Property.ELEMENT);
- property.setAttribute(XMLConfig_42_ElementNames.Properties.Property.Attributes.NAME, propName);
- property.addContent(propValue);
- propertiesElement.addContent(property);
- return propertiesElement;
-
- }
-
-
-
- /**
- * This method is used to create a Configuration ID JDOM Element from a
- * Configuration ID object.
- *
- * @param type the ID type to be created. @see XMLConfig_42_ElementNames.Configuration.XXXID.ELEMENT for valid values
- * @param name the calue of the name attribute of the ID element to create.
- * @return a JDOM XML Element
- */
- public Element createIDElement(String type, String name) {
-
- Element idElement = new Element(type);
- idElement.setAttribute(XMLConfig_42_ElementNames.ID.Attributes.NAME, name);
- return idElement;
- }
-
- /**
- * This method is used to create a Configurations JDOM Element from a
- * Configuration ID object. This element is for structural organization
- * only and does not represent any real configuration object.
- *
- * @return a JDOM XML Element
- */
- public Element createConfigurationsElement() {
- throw new UnsupportedOperationException("Method createConfigurationsElement is unsupported in 4.2"); //$NON-NLS-1$
- }
-
- /**
- * This method is used to create a Hosts JDOM Element from a
- * Configuration ID object. This element is for structural organization
- * only and does not represent any real configuration object.
- *
- * @return a JDOM XML Element
- */
- public Element createHostsElement() {
- throw new UnsupportedOperationException("Method createHostsElement is unsupported in 4.2"); //$NON-NLS-1$
- }
-
- /**
- * This method is used to create a Host JDOM Element from a
- * Host object.
- *
- * @param host the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createHostElement(Host host) {
- Assertion.isNotNull(host);
-
- Element hostElement = createComponentObjectElement(XMLElementNames.Hosts.Host.ELEMENT, host);
- return hostElement;
- }
-
- /**
- * This method is used to create a ServiceComponentDefns JDOM Element.
- * This element is for structural organization
- * only and does not represent any real configuration object.
- *
- * @return a JDOM XML Element
- */
- public Element createServiceComponentDefnsElement() {
- return new Element(XMLConfig_42_ElementNames.ServiceComponentDefns.ELEMENT);
-
-// throw new UnsupportedOperationException("Method createServiceComponentDefnsElement is unsupported in 4.2"); //$NON-NLS-1$
- }
-
- /**
- * This method is used to create a ComponentTypes JDOM Element from a
- * Configuration ID object. This element is for structural organization
- * only and does not represent any real configuration object.
- *
- * @return a JDOM XML Element
- */
- public Element createComponentTypesElement() {
- return new Element(XMLConfig_42_ElementNames.ComponentTypes.ELEMENT);
- }
-
-// public Element createProductTypesElement() {
-// return new Element(XMLConfig_42_ElementNames.ProductTypes.ELEMENT);
-// }
-
- public Element createConnectorBindingsElement() {
- return new Element(XMLConfig_42_ElementNames.ConnectorComponents.ELEMENT);
- }
-
-
- /**
- * This method is used to create a root JDOM Element.
- * This element is for structural organization
- * only and does not represent any real configuration object.
- *
- * @return a JDOM XML Element
- */
- public Element createRootConfigurationDocumentElement() {
- return new Element(XMLConfig_42_ElementNames.ELEMENT);
- }
-
-
- /**
- * This method is used to create a ComponentObject JDOM Element from a
- * ComponentObject object.
- *
- * @param type The subclass type of the configuration object to be created.
- * @see XMLConfig_42_ElementNames.Configuration.XXXX.ELEMENT
- * @param componentObject the object to create the Element for.
- * @return a JDOM XML Element
- */
- private Element createComponentObjectElement(String type, ComponentObject componentObject) {
- Element componentObjectElement = new Element(type);
- componentObjectElement.setAttribute(XMLConfig_42_ElementNames.ComponentObject.Attributes.NAME, componentObject.getName());
- BaseID id = componentObject.getComponentTypeID();
- if (id !=null) {
- componentObjectElement.setAttribute(XMLConfig_42_ElementNames.ComponentObject.Attributes.COMPONENT_TYPE, id.getName());
- }
-
- // this will add the changed history information
- if (componentObject instanceof DeployedComponent) {
- // don't write the properties for the deployed component
- } else {
- Element properties = createPropertiesElement( componentObject.getProperties());
- componentObjectElement.addContent(properties);
- }
-
- addChangeHistoryElement(componentObject, componentObjectElement);
-// componentObjectElement.addContent(chgHistoryElement);
-
-
- return componentObjectElement;
- }
-
-
-
-// ##############################################################################
-//
-// Configuration Object Creation Methods
-//
-// ##############################################################################
-
-
- /**
- * This method will create a Host configuration object from an XML element
- * that represents a Host.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the Host configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLConfig_42_ElementNames class.
- */
- public Host createHost(Element element, ConfigurationID configID, ConfigurationObjectEditor editor, String name) throws InvalidConfigurationElementException{
- Assertion.isNotNull(element);
- Assertion.isNotNull(editor);
-
- if (!element.getName().equals(XMLConfig_42_ElementNames.Configuration.Host.ELEMENT)) {
- throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0032, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0032, element.getName()), element);
- }
- if (name == null) {
- name = element.getAttributeValue(XMLConfig_42_ElementNames.Configuration.Host.Attributes.NAME);
- }
-
- Host host = editor.createHost(configID, name);
-
-// Element propertiesElement = element.getChild(XMLConfig_42_ElementNames.Properties.ELEMENT);
-
- host = (Host) setDateHistory(host, element, editor);
-
-// if (propertiesElement != null) {
- // now we add the system properties to the configuration object
- host = (Host)addProperties(element, host, editor);
-
-// return host;
-// }
-
- return host;
- }
-
- //
- /**
- * This method is used to create a ResourceDescriptor JDOM Element from a
- * ServiceComponentDefn object.
- *
- * @param defn the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createResourcePoolElement(ResourceDescriptor resource) {
- Assertion.isNotNull(resource);
-
- Element resourceElement = createComponentObjectElement(XMLConfig_42_ElementNames.ResourcePools.ResourcePool.ELEMENT, resource);
- return resourceElement;
- }
-
-
- public Element createResourcePoolsElement() {
- return new Element(XMLConfig_42_ElementNames.ResourcePools.ELEMENT);
- }
-
- public Element createAuthenticationProviderElement() {
- return new Element(XMLConfig_42_ElementNames.AuthenticationProviders.ELEMENT);
- }
-
-
-
- /**
- * This method will create a Resource configuration object from an XML element
- * that represents a Resource.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the SharedResource configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLConfig_42_ElementNames class.
- */
- public ResourceDescriptor createResourcePool(Element element, ConfigurationID configID, ConfigurationObjectEditor editor) throws InvalidConfigurationElementException{
- Assertion.isNotNull(element);
- Assertion.isNotNull(editor);
-
- if (!element.getName().equals(XMLConfig_42_ElementNames.ResourcePools.ResourcePool.ELEMENT)) {
- throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0033, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0033, element.getName()), element);
- }
-
- String name = element.getAttributeValue(XMLConfig_42_ElementNames.ResourcePools.ResourcePool.Attributes.NAME);
-
- checkElementValue(name, null, ErrorMessageKeys.CONFIG_ERR_0053);
-
- String type = element.getAttributeValue(XMLConfig_42_ElementNames.ResourcePools.ResourcePool.Attributes.COMPONENT_TYPE);
-
- checkElementValue(type, name, ErrorMessageKeys.CONFIG_ERR_0054);
-
- ComponentTypeID id = new ComponentTypeID(type);
-
- // create the descriptor used to get the resource
- ResourceDescriptor descriptor = editor.createResourceDescriptor(configID, id, name);
-
- Element propertiesElement = element.getChild(XMLConfig_42_ElementNames.Properties.ELEMENT);
-
- descriptor = (ResourceDescriptor) setDateHistory(descriptor, element, editor);
-
- if (propertiesElement != null) {
- // now we add the system properties to the configuration object
- descriptor = (ResourceDescriptor)addProperties(propertiesElement, descriptor, editor);
-
- }
-
-
- return descriptor;
- }
-
- /**
- * This method will create a Resource configuration object from an XML element
- * that represents a Resource.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the SharedResource configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLConfig_42_ElementNames class.
- */
- public AuthenticationProvider createAuthenticationProvider(Element element, ConfigurationID configID, ConfigurationObjectEditor editor) throws InvalidConfigurationElementException{
- Assertion.isNotNull(element);
- Assertion.isNotNull(editor);
-
- if (!element.getName().equals(XMLConfig_42_ElementNames.AuthenticationProviders.Provider.ELEMENT)) {
- throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0033, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0033, element.getName()), element);
- }
-
- String name = element.getAttributeValue(XMLConfig_42_ElementNames.AuthenticationProviders.Provider.Attributes.NAME);
-
- checkElementValue(name, null, ErrorMessageKeys.CONFIG_ERR_0053);
-
- String type = element.getAttributeValue(XMLConfig_42_ElementNames.AuthenticationProviders.Provider.Attributes.COMPONENT_TYPE);
-
- checkElementValue(type, name, ErrorMessageKeys.CONFIG_ERR_0054);
-
- ComponentTypeID id = new ComponentTypeID(type);
-
- // create the descriptor used to get the resource
- AuthenticationProvider authProvider = editor.createAuthenticationProviderComponent(configID, id, name);
-
- Element propertiesElement = element.getChild(XMLConfig_42_ElementNames.Properties.ELEMENT);
-
- authProvider = (AuthenticationProvider) setDateHistory(authProvider, element, editor);
-
- if (propertiesElement != null) {
- // now we add the system properties to the configuration object
- authProvider = (AuthenticationProvider)addProperties(propertiesElement, authProvider, editor);
-
- }
-
-
- return authProvider;
- }
-
-
- //
- /**
- * This method is used to create a ServiceComponentDefn JDOM Element from a
- * ServiceComponentDefn object.
- *
- * @param defn the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createSharedResourceElement(SharedResource resource) {
- Assertion.isNotNull(resource);
-
- Element resourceElement = createComponentObjectElement(XMLConfig_42_ElementNames.Resources.Resource.ELEMENT, resource);
- return resourceElement;
- }
-
-
- /**
- * This method will create a Resource configuration object from an XML element
- * that represents a Resource.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the SharedResource configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLConfig_42_ElementNames class.
- */
- public SharedResource createSharedResource(Element element, ConfigurationObjectEditor editor) throws InvalidConfigurationElementException{
- Assertion.isNotNull(element);
- Assertion.isNotNull(editor);
-
- if (!element.getName().equals(XMLConfig_42_ElementNames.Resources.Resource.ELEMENT)) {
- throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0034, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0034, element.getName()), element);
- }
-
- String name = element.getAttributeValue(XMLConfig_42_ElementNames.Resources.Resource.Attributes.NAME);
-
- checkElementValue(name, null, ErrorMessageKeys.CONFIG_ERR_0055);
-
- String type = element.getAttributeValue(XMLConfig_42_ElementNames.Resources.Resource.Attributes.COMPONENT_TYPE);
-
- checkElementValue(type, name, ErrorMessageKeys.CONFIG_ERR_0056);
-
- ComponentTypeID id = new ComponentTypeID(type);
-
- // create the descriptor used to get the resource
- SharedResource descriptor = editor.createSharedResource(
- id,
- name);
-
-
- Element propertiesElement = element.getChild(XMLConfig_42_ElementNames.Properties.ELEMENT);
-
- descriptor = (SharedResource) setDateHistory(descriptor, element, editor);
-
- if (propertiesElement != null) {
- // now we add the system properties to the configuration object
- descriptor = (SharedResource)addProperties(propertiesElement, descriptor, editor);
- }
-
- return descriptor;
- }
-
- public Element createSharedResourcesElement() {
- return new Element(XMLConfig_42_ElementNames.Resources.ELEMENT);
- }
-
- /**
- * This method will create a ComponentType configuration object from an XML element
- * that represents a ComponentType.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the ComponentType configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLConfig_42_ElementNames class.
- */
- public ComponentType createComponentType(Element element, ConfigurationObjectEditor editor, String name, boolean maintainParentID) throws InvalidConfigurationElementException{
- Assertion.isNotNull(element);
- Assertion.isNotNull(editor);
-
- if (!element.getName().equals(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ELEMENT)) {
- throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0035, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0035, element.getName()), element);
- }
-
- // retreive the attributes of this ComponentType from the JDOM element
- String parentType = element.getAttributeValue(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.PARENT_COMPONENT_TYPE);
- String superType = element.getAttributeValue(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.SUPER_COMPONENT_TYPE);
- String componentTypeCode = element.getAttributeValue(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.COMPONENT_TYPE_CODE);
- String deployable = element.getAttributeValue(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.DEPLOYABLE);
- String monitorable = element.getAttributeValue(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.MONITORABLE);
- String description = element.getAttributeValue(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.DESCRIPTION);
-
-
-
- // convert them into their proper data types
- int typeCode = Integer.parseInt(componentTypeCode);
-
- if (! BasicUtil.isValdComponentTypeCode(typeCode)) {
- throw new RuntimeException("File error2, invalid component type code " + componentTypeCode + " for " + name + " super " + superType);
- }
-
- // we will use the passed in name unless it is null...
- if (name == null) {
- name = element.getAttributeValue(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.NAME);
- }
-
- ComponentTypeID parentTypeID = null;
- ComponentTypeID superTypeID = null;
-
- if (parentType != null && parentType.length() > 0) {
- parentTypeID = new ComponentTypeID(parentType);
- }
-
- if (superType !=null && superType.length() > 0) {
- superTypeID = new ComponentTypeID(superType);
- }
-
-
- boolean isDeployable = (Boolean.valueOf(deployable)).booleanValue();
- boolean isMonitorable = (Boolean.valueOf(monitorable)).booleanValue();
-
- // create the ComponentTypeObject
- BasicComponentType type = (BasicComponentType) editor.createComponentType(typeCode, name, parentTypeID, superTypeID, isDeployable, isMonitorable);
-
-
- if (description != null && description.length() > 0) {
- type.setDescription(description);
- }
- ComponentType t = setDateHistory(type, element, editor);
-
-
- // get the ComponentTypeDefn sub-Elements of this ComponentType
- // and create them also.
- List componentTypeDefnElements = element.getChildren(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.ELEMENT);
-
- if (componentTypeDefnElements == null || componentTypeDefnElements.size() == 0) {
- componentTypeDefnElements = element.getChildren(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.ELEMENT);
- return addPropertyDefns(componentTypeDefnElements, t, editor);
- }
-
- return addComponentTypeDefns(componentTypeDefnElements, t, editor);
-
- }
-
- public ComponentType loadComponentType(Element rootElement) throws InvalidConfigurationElementException {
- return createComponentType(rootElement, new BasicConfigurationObjectEditor(), null, true);
- }
-
- /**
- * This method will create a ProductType configuration object from an XML element
- * that represents a ProductType.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @param componentTypeMap this is a map of ComponentTypeID--->ComponentType
- * it must contain all of the Component types that the ProductType
- * that is represented by the passed in XML element references.
- * @return the ProductType configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLConfig_42_ElementNames class.
- */
-// public ProductType createProductType(Element element, ConfigurationObjectEditor editor, Map componentTypeMap, String name)throws InvalidConfigurationElementException{
-// Assertion.isNotNull(element);
-// Assertion.isNotNull(editor);
-//
-// if (!element.getName().equals(XMLConfig_42_ElementNames.ProductTypes.ProductType.ELEMENT)) {
-// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0036, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0036, element.getName()), element);
-// }
-//
-// // retreive the attributes of this ComponentType from the JDOM element
-// String deployable = element.getAttributeValue(XMLConfig_42_ElementNames.ProductTypes.ProductType.Attributes.DEPLOYABLE);
-//// String monitorable = element.getAttributeValue(XMLConfig_42_ElementNames.ProductTypes.ProductType.Attributes.MONITORABLE);
-//
-// // we will use the passed in name unless it is null...
-// if (name == null) {
-// name = element.getAttributeValue(XMLConfig_42_ElementNames.ProductTypes.ProductType.Attributes.NAME);
-// }
-//
-// boolean isDeployable = (Boolean.valueOf(deployable)).booleanValue();
-// // boolean isMonitorable = (Boolean.valueOf(monitorable)).booleanValue();
-//
-// List componentTypeIDs = element.getChildren(XMLConfig_42_ElementNames.ComponentTypeID.ELEMENT);
-// List componentTypes = new ArrayList();
-// Iterator iter = componentTypeIDs.iterator();
-// while (iter.hasNext()) {
-// Element componentTypeIDElement = (Element)iter.next();
-// String componentTypeIDName = componentTypeIDElement.getAttributeValue(XMLConfig_42_ElementNames.ComponentTypeID.Attributes.NAME);
-// ComponentTypeID componentTypeID = new ComponentTypeID(componentTypeIDName);
-// ComponentType componentType = (ComponentType)componentTypeMap.get(componentTypeID);
-// if (componentType == null) {
-// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0037, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0037, new Object[] {componentTypeID, name}), element);
-// }
-// componentTypes.add(componentType);
-// }
-//
-// // create the ComponentTypeObject
-// ProductType type = editor.createProductType(name, componentTypes, isDeployable, false);
-//
-// return type;
-//// // get the ComponentTypeDefn sub-Elements of this ComponentType
-//// // and create them also.
-//// Collection componentTypeDefnElements = element.getChildren(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.ELEMENT);
-////
-//// type = (ProductType) setDateHistory(type, element, editor);
-////
-//// return (ProductType)addComponentTypeDefns(componentTypeDefnElements, type, editor);
-// }
-
- /**
- * This method will create a Configuration configuration object from an XML element
- * that represents a Configuration.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the Configuration configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLConfig_42_ElementNames class.
- */
- public Configuration createConfiguration(Element element, ConfigurationObjectEditor editor, String name) throws InvalidConfigurationElementException{
-
- Assertion.isNotNull(element);
- Assertion.isNotNull(editor);
-
- if (!element.getName().equals(XMLConfig_42_ElementNames.Configuration.ELEMENT)) {
- throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0038, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0038, element.getName()), element);
- }
-
- if (name==null) {
- name = element.getAttributeValue(XMLConfig_42_ElementNames.Configuration.Attributes.NAME);
- }
-
- Configuration config = editor.createConfiguration(name);
-
- config = (Configuration) setDateHistory(config, element, editor);
-
- config = (Configuration)addProperties(element, config, editor);
-
- return config;
- }
-
- /**
- * This method will create a LogConfiguration configuration object from an XML element
- * that represents a LogConfiguration.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the LogConfiguration configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLConfig_42_ElementNames class.
- */
-// public LogConfiguration createLogConfiguration(Element element) throws InvalidConfigurationElementException{
-// Assertion.isNotNull(element);
-//
-// if (!element.getName().equals(XMLConfig_42_ElementNames.Configuration.LogConfiguration.ELEMENT)) {
-// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0039, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0039, element.getName()), element);
-// }
-//
-// Element propertiesElement = element.getChild(XMLConfig_42_ElementNames.Properties.ELEMENT);
-// Properties properties = new Properties();
-//
-//
-// List props = propertiesElement.getChildren(XMLConfig_42_ElementNames.Properties.Property.ELEMENT);
-// Iterator iterator = props.iterator();
-// while (iterator.hasNext()) {
-// Element propertyElement = (Element)iterator.next();
-// String propertyName = propertyElement.getAttributeValue(XMLConfig_42_ElementNames.Properties.Property.Attributes.NAME);
-// String propertyValue = propertyElement.getText();
-// properties.setProperty(propertyName, propertyValue);
-// }
-//
-// LogConfiguration config = null;
-//
-// try {
-// config = BasicLogConfiguration.createLogConfiguration(properties);
-// }catch(LogConfigurationException e) {
-// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0040, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0040,e.getMessage()), element);
-//
-// }
-//
-// return config;
-//
-// }
-
- public Element createConnectorBindingElement(ConnectorBinding connector, boolean isExportConfig) {
-
- Assertion.isNotNull(connector);
-
- Element connectorElement = createComponentObjectElement(XMLConfig_42_ElementNames.ConnectorComponents.ConnectorComponent.ELEMENT, connector);
-
- connectorElement.setAttribute(XMLConfig_42_ElementNames.ConnectorComponents.ConnectorComponent.Attributes.ROUTING_UUID, connector.getRoutingUUID());
-
-
- return connectorElement;
-
- }
-
-
- public ConnectorBinding createConnectorBinding(ConfigurationID configurationID, Element element, ConfigurationObjectEditor editor, String name, boolean isImportConfig)throws InvalidConfigurationElementException {
-
- Assertion.isNotNull(element);
- Assertion.isNotNull(editor);
-
- if (!element.getName().equals(XMLConfig_42_ElementNames.ConnectorComponents.ConnectorComponent.ELEMENT)) {
- throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0041, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0041,element.getName()), element);
- }
-
- if (name==null) {
- name = element.getAttributeValue(XMLConfig_42_ElementNames.ConnectorComponents.ConnectorComponent.Attributes.NAME);
- }
-
- String componentType = element.getAttributeValue(XMLConfig_42_ElementNames.ConnectorComponents.ConnectorComponent.Attributes.COMPONENT_TYPE);
-
- checkElementValue(componentType, name, ErrorMessageKeys.CONFIG_ERR_0057);
-
- ComponentTypeID id = new ComponentTypeID(componentType);
-
-// element.getAttributeValue(XMLConfig_42_ElementNames.ConnectorComponents.ConnectorComponent.Attributes.QUEUED_SERVICE);
-
- String routingUUID = null;
- // vah - 09-24-2003
- // when importing a configuration use the routing uuid,
- // otherwise do not use it (which will cause the routingUUID to be regenerated)
- // This is done to help ensure there are no duplicate UUIDs
- if (isImportConfig) {
- routingUUID = element.getAttributeValue(XMLConfig_42_ElementNames.ConnectorComponents.ConnectorComponent.Attributes.ROUTING_UUID);
- }
-
- ConnectorBinding defn = null;
- defn = editor.createConnectorComponent(configurationID, id, name, routingUUID);
-
- defn = (ConnectorBinding) setDateHistory(defn, element, editor);
-
- // add the properties to this ComponentObject...
- Element propertiesElement = element.getChild(XMLConfig_42_ElementNames.Properties.ELEMENT);
- if (propertiesElement != null) {
- // now we add the system properties to the configuration object
- return (ConnectorBinding)addProperties(propertiesElement, defn, editor);
- }
-
- return defn;
- }
-
- public ConnectorBinding loadConnectorBinding(Element rootElement) throws InvalidConfigurationElementException {
- return createConnectorBinding(Configuration.NEXT_STARTUP_ID, rootElement, new BasicConfigurationObjectEditor(), null, false);
- }
-
- /**
- * This method will create a ServiceComponentDefn configuration object from an XML element
- * that represents a ServiceComponentDefn.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the ServiceComponentDefn configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLConfig_42_ElementNames class.
- */
- public ComponentDefn createServiceComponentDefn(Element element, Configuration config, ConfigurationObjectEditor editor, String name) throws InvalidConfigurationElementException{
- ConfigurationID configID = null;
- if (config != null) {
- configID = (ConfigurationID) config.getID();
- }
- return createServiceComponentDefn(element, configID, editor, name);
-
- }
-
- public ComponentDefn createServiceComponentDefn(Element element, ConfigurationID configID, ConfigurationObjectEditor editor, String name)throws InvalidConfigurationElementException {
-
- Assertion.isNotNull(element);
- Assertion.isNotNull(editor);
- Assertion.isNotNull(configID);
-
- if (!element.getName().equals(XMLConfig_42_ElementNames.ServiceComponentDefns.ServiceComponentDefn.ELEMENT)) {
- throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0042, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0042,element.getName()), element);
- }
-
- if (name==null) {
- name = element.getAttributeValue(XMLConfig_42_ElementNames.ServiceComponentDefns.ServiceComponentDefn.Attributes.NAME);
- }
-
- String componentType = element.getAttributeValue(XMLConfig_42_ElementNames.ServiceComponentDefns.ServiceComponentDefn.Attributes.COMPONENT_TYPE);
-
- checkElementValue(componentType, name, ErrorMessageKeys.CONFIG_ERR_0058);
-
- ComponentTypeID id = new ComponentTypeID(componentType);
-
-// element.getAttributeValue(XMLConfig_42_ElementNames.Configuration.ServiceComponentDefns.ServiceComponentDefn.Attributes.QUEUED_SERVICE);
-
- String routingUUID = element.getAttributeValue(XMLConfig_42_ElementNames.ServiceComponentDefns.ServiceComponentDefn.Attributes.ROUTING_UUID);
-
- ComponentDefn defn = null;
- boolean isResourcePool = isResourcePool(componentType);
-
- if (configID == null) {
-/*
- if (!isResourcePool) {
- if (routingUUID == null){
- //allow the object editor to generate a UUID
- defn = (ComponentDefn) editor.createServiceComponentDefn(id, name);
- } else {
- //use the UUID specified in the XML file
- defn = (ComponentDefn) editor.createServiceComponentDefn(id, name, routingUUID);
- }
-
- editor.setEnabled((ServiceComponentDefn) defn, isEnabled);
- } else {
- defn = editor.createResourceDescriptor(id, name);
-
-
- }
-*/
- }else {
- if (!isResourcePool) {
-
- if (routingUUID == null){
- //allow the object editor to generate a UUID
- defn = editor.createServiceComponentDefn(configID, id, name);
- } else {
- //use the UUID specified in the XML file
- defn = editor.createServiceComponentDefn(configID, id, name, routingUUID);
- }
-
- } else {
-
- defn = editor.createResourceDescriptor(configID, id, name);
-
- }
-
- }
-
- defn = (ComponentDefn) setDateHistory(defn, element, editor);
-
- // add the properties to this ComponentObject...
- Element propertiesElement = element.getChild(XMLConfig_42_ElementNames.Properties.ELEMENT);
- if (propertiesElement != null) {
- // now we add the system properties to the configuration object
- return (ComponentDefn)addProperties(propertiesElement, defn, editor);
- }
-
- return defn;
-
- }
-
- private boolean isResourcePool(String componentTypeName) {
- boolean result = false;
-
- if (componentTypeName.equals(SharedResource.JDBC_COMPONENT_TYPE_NAME) ||
- componentTypeName.equals(SharedResource.JMS_COMPONENT_TYPE_NAME) ||
- componentTypeName.equals(SharedResource.MISC_COMPONENT_TYPE_NAME) ||
- componentTypeName.equals(SharedResource.SEARCHBASE_COMPONENT_TYPE_NAME) ) {
- return true;
- }
-
-
- return result;
-
- }
-
- /**
- * This method will create a ProductServiceConfig configuration object from an XML element
- * that represents a ProductServiceConfig.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the ProductServiceConfig configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLConfig_42_ElementNames class.
- */
-// public ProductServiceConfig createProductServiceConfig(Element element, ConfigurationID configID, ConfigurationObjectEditor editor, String name)throws InvalidConfigurationElementException {
-// Assertion.isNotNull(element);
-// Assertion.isNotNull(editor);
-// Assertion.isNotNull(configID);
-//
-// if (!element.getName().equals(XMLConfig_42_ElementNames.ProductServiceConfigs.ProductServiceConfig.ELEMENT)) {
-// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0043, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0043,element.getName()), element);
-// }
-//
-// if (name==null) {
-// name = element.getAttributeValue(XMLConfig_42_ElementNames.ProductServiceConfigs.ProductServiceConfig.Attributes.NAME);
-// }
-//
-// String componentType = element.getAttributeValue(XMLConfig_42_ElementNames.ProductServiceConfigs.ProductServiceConfig.Attributes.COMPONENT_TYPE);
-// checkElementValue(componentType, name, ErrorMessageKeys.CONFIG_ERR_0059);
-//
-//
-// // ConfigurationID configID = (ConfigurationID)config.getID();
-// ProductTypeID id = new ProductTypeID(componentType);
-//
-//
-// // ConfigurationID configID = (ConfigurationID)config.getID();
-//
-// // this new editor is used only as a way to create a product service config
-// // the passed in editor is then used to add the PSC to the configuration
-// // as passed in.
-// // we dont want to add the actions again to the passed in editor.
-// ProductServiceConfig productServiceConfig = editor.createProductServiceConfig(configID, id, name);
-//
-// Collection serviceComponentDefnIDs = element.getChildren(XMLConfig_42_ElementNames.ProductServiceConfigs.ProductServiceConfig.Service.ELEMENT);
-//
-// if (id.getFullName().equals(MetaMatrixProductVersion.CONNECTOR_PRODUCT_TYPE_NAME)) {
-// Iterator iterator = serviceComponentDefnIDs.iterator();
-// while (iterator.hasNext()) {
-// Element serviceComponentDefnIDElement = (Element)iterator.next();
-// String serviceComponentDefnName = serviceComponentDefnIDElement.getAttributeValue(XMLConfig_42_ElementNames.ID.Attributes.NAME);
-//
-// String enabled = serviceComponentDefnIDElement.getAttributeValue(XMLConfig_42_ElementNames.ProductServiceConfigs.ProductServiceConfig.Service.Attributes.IS_ENABLED);
-//
-// if (enabled == null) {
-// enabled = Boolean.TRUE.toString();
-// }
-//
-// ConnectorBindingID serviceComponentDefnID = new ConnectorBindingID(configID, serviceComponentDefnName);
-// productServiceConfig = editor.addServiceComponentDefn(productServiceConfig, serviceComponentDefnID);
-// editor.setEnabled(serviceComponentDefnID, productServiceConfig, Boolean.valueOf(enabled).booleanValue());
-//
-// }
-//
-//
-// } else {
-//
-// Iterator iterator = serviceComponentDefnIDs.iterator();
-// while (iterator.hasNext()) {
-// Element serviceComponentDefnIDElement = (Element)iterator.next();
-// String serviceComponentDefnName = serviceComponentDefnIDElement.getAttributeValue(XMLConfig_42_ElementNames.ID.Attributes.NAME);
-//
-// String enabled = serviceComponentDefnIDElement.getAttributeValue(XMLConfig_42_ElementNames.ProductServiceConfigs.ProductServiceConfig.Service.Attributes.IS_ENABLED);
-//
-// if (enabled == null) {
-// enabled = Boolean.TRUE.toString();
-// }
-//
-// ServiceComponentDefnID serviceComponentDefnID = new ServiceComponentDefnID(configID, serviceComponentDefnName);
-// productServiceConfig = editor.addServiceComponentDefn(productServiceConfig, serviceComponentDefnID);
-//
-// editor.setEnabled(serviceComponentDefnID, productServiceConfig, Boolean.valueOf(enabled).booleanValue());
-//
-// }
-//
-// }
-//
-// productServiceConfig = (ProductServiceConfig) setDateHistory(productServiceConfig, element, editor);
-//
-// // add the properties to this ComponentObject...
-// Element propertiesElement = element.getChild(XMLConfig_42_ElementNames.Properties.ELEMENT);
-// if (propertiesElement != null) {
-// // now we add the system properties to the configuration object
-// productServiceConfig = (ProductServiceConfig)addProperties(propertiesElement, productServiceConfig, editor);
-// return productServiceConfig;
-// }
-//
-// return productServiceConfig;
-// }
-
-
-
- public DeployedComponent createDeployedServiceComponent(Element element,
- ConfigurationID configID,
- HostID hostID,
- VMComponentDefnID vmID,
- Map componentTypeMap,
- ConfigurationObjectEditor editor)
- throws InvalidConfigurationElementException{
- Assertion.isNotNull(element);
- Assertion.isNotNull(editor);
- Assertion.isNotNull(configID);
- Assertion.isNotNull(hostID);
- Assertion.isNotNull(vmID);
-
- DeployedComponent component;
-
- if (!element.getName().equals(XMLConfig_42_ElementNames.Configuration.DeployedService.ELEMENT)) {
- throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0044, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0044,element.getName()), element);
- }
-
- String name = element.getAttributeValue(XMLConfig_42_ElementNames.Configuration.DeployedService.Attributes.NAME);
- checkElementValue(name, "NAME", ErrorMessageKeys.CONFIG_ERR_0048); //$NON-NLS-1$
-
- String componentTypeIDString = element.getAttributeValue(XMLConfig_42_ElementNames.Configuration.DeployedService.Attributes.COMPONENT_TYPE);
-// String serviceComponentDefnIDString = element.getAttributeValue(XMLConfig_42_ElementNames.Configuration.DeployedComponent.Attributes.SERVICE_COMPONENT_DEFN_ID);
-
- checkElementValue(componentTypeIDString, name, ErrorMessageKeys.CONFIG_ERR_0049);
-// checkElementValue(serviceComponentDefnIDString, name, ErrorMessageKeys.CONFIG_ERR_0049);
-
-
- ComponentType type = null;
- Iterator it = componentTypeMap.keySet().iterator();
- while (it.hasNext() ) {
- ComponentTypeID id = (ComponentTypeID) it.next();
- if (id.getFullName().equals(componentTypeIDString)) {
- type = (ComponentType) componentTypeMap.get(id);
- break;
- }
- }
-
- if (type == null) {
- throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0050, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0050, new Object[] {componentTypeIDString, name} ), element);
- }
-
- ServiceComponentDefnID svcid = null;
- if (type.getComponentTypeCode() == ComponentType.CONNECTOR_COMPONENT_TYPE_CODE) {
-
- svcid = new ConnectorBindingID(configID, name);
-
- } else {
-
-
- svcid = new ServiceComponentDefnID(configID, name);
-
- }
-
- component = editor.createDeployedServiceComponent(name, configID, hostID,vmID, svcid, (ComponentTypeID) type.getID());
-
-
- component = (DeployedComponent) setDateHistory(component, element, editor);
-
-
- return component;
- }
-
-
-// public DeployedComponent createDeployedVMComponentDefnx(Element element,
-// ConfigurationID configID,
-// HostID hostID,
-// // VMComponentDefnID vmID,
-// // ProductServiceConfigID pscID,
-// ComponentTypeID typeID,
-// ConfigurationObjectEditor editor)
-// throws InvalidConfigurationElementException{
-// Assertion.isNotNull(element);
-// Assertion.isNotNull(editor);
-// Assertion.isNotNull(configID);
-// Assertion.isNotNull(hostID);
-// // Assertion.isNotNull(vmID);
-//
-// DeployedComponent component=null;
-//
-// if (!element.getName().equals(XMLConfig_42_ElementNames.Configuration.Process.ELEMENT)) {
-// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0044, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0044,element.getName()), element);
-// }
-//
-// String name = element.getAttributeValue(XMLConfig_42_ElementNames.Configuration.Process.Attributes.NAME);
-//// checkElementValue(name, "NAME", ErrorMessageKeys.CONFIG_ERR_0048);
-//
-// String componentTypeIDString = element.getAttributeValue(XMLConfig_42_ElementNames.Configuration.Process.Attributes.COMPONENT_TYPE);
-//
-// checkElementValue(componentTypeIDString, name, ErrorMessageKeys.CONFIG_ERR_0049);
-//
-//
-//// ComponentType type = null;
-//// Iterator it = componentTypeMap.keySet().iterator();
-//// while (it.hasNext() ) {
-//// ComponentTypeID id = (ComponentTypeID) it.next();
-//// if (id.getFullName().equals(componentTypeIDString)) {
-//// type = (ComponentType) componentTypeMap.get(id);
-//// break;
-//// }
-//// }
-//
-//// if (type == null) {
-//// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0050, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0050, new Object[] {componentTypeIDString, name} ), element);
-//// }
-//
-// // VMComponentDefnID vmID = new VMComponentDefnID(configID, hostID, name);
-/////// component = editor.createDeployedVMComponent(name, configID, hostID, vmID, typeID);
-// // createDeployedServiceComponent(name, configID, hostID,vmID, svcid, pscID, (ComponentTypeID) type.getID());
-//
-//
-// return component;
-// }
-
-
-
- /**
- * This method will create a DeployedComponent configuration object from an XML element
- * that represents a DeployedComponent.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @param serviceComponentDefnMap a map of ServiceComponentDefnID-->ServiceComponentDefn
- * this map must contain at the very least the ServiceComponentDefn that
- * is the service definition of the deployed component that the XML element
- * references. This is used if the deployedComponent is a Service. Otherwise
- * it is ignored.
- * @param vmComponentDefnMap a map of vmComponentDefnID-->vmComponentDefn
- * this map must contain at the very least the vmComponentDefn that
- * is the VM definition of the deployed component that the XML element
- * references. This is used if the deployedComponent is a VM. Otherwise
- * it is ignored.
- * @return the DeployedComponent configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLConfig_42_ElementNames class.
- */
-// public DeployedComponent createDeployedComponent(Element element,
-// Configuration config, ConfigurationObjectEditor editor,
-// Map serviceComponentDefnMap, Map vmComponentDefnMap, Map componentTypeMap, String name)
-// throws InvalidConfigurationElementException{
-// throw new UnsupportedOperationException("Method createDeployedComponent is unsupported in 4.2"); //$NON-NLS-1$
-//
-////
-//// Assertion.isNotNull(element);
-//// Assertion.isNotNull(editor);
-//// Assertion.isNotNull(config);
-////
-//// DeployedComponent component;
-////
-//// if (!element.getName().equals(XMLConfig_42_ElementNames.Configuration.DeployedComponent.ELEMENT)) {
-//// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0044, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0044,element.getName()), element);
-//// }
-////
-//// if (name == null) {
-//// name = element.getAttributeValue(XMLConfig_42_ElementNames.Configuration.DeployedComponent.Attributes.NAME);
-//// }
-////
-//// String productServiceConfigIDString = element.getAttributeValue(XMLConfig_42_ElementNames.Configuration.DeployedComponent.Attributes.PRODUCT_SERVICE_CONFIG_ID);
-//// String vmComponentDefnIDString = element.getAttributeValue(XMLConfig_42_ElementNames.Configuration.DeployedComponent.Attributes.VM_COMPONENT_DEFN_ID);
-//// String serviceComponentDefnIDString = element.getAttributeValue(XMLConfig_42_ElementNames.Configuration.DeployedComponent.Attributes.SERVICE_COMPONENT_DEFN_ID);
-//// String HostIDString = element.getAttributeValue(XMLConfig_42_ElementNames.Configuration.DeployedComponent.Attributes.HOST_ID);
-////
-//// checkElementValue(vmComponentDefnIDString, name, ErrorMessageKeys.CONFIG_ERR_0045);
-//// checkElementValue(HostIDString, name, ErrorMessageKeys.CONFIG_ERR_0046);
-////
-//// ConfigurationID configID = (ConfigurationID)config.getID();
-////
-//// HostID hostID = new HostID(HostIDString);
-//// VMComponentDefnID vmComponentDefnID = new VMComponentDefnID(configID, vmComponentDefnIDString);
-////
-//// // this will check to see if this is actually a DeployedVMServiceComponent
-//// // these special deployed components dont have values for these ID's
-//// String componentTypeIDString = element.getAttributeValue(XMLConfig_42_ElementNames.Configuration.DeployedComponent.Attributes.COMPONENT_TYPE);
-////
-//// if (serviceComponentDefnIDString == null && productServiceConfigIDString == null) {
-//// VMComponentDefn defn = (VMComponentDefn)vmComponentDefnMap.get(vmComponentDefnID);
-//// if (defn==null) {
-//// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0047, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0047, new Object[] {name, vmComponentDefnID} ), element);
-////
-//// }
-//// component = editor.createDeployedVMComponent(name, config, hostID, defn);
-////
-//// // else this element represents a normal ServiceComponentDefn object
-//// }else {
-//// checkElementValue(productServiceConfigIDString, name, ErrorMessageKeys.CONFIG_ERR_0048);
-//// checkElementValue(serviceComponentDefnIDString, name, ErrorMessageKeys.CONFIG_ERR_0049);
-////
-//// ComponentType type = null;
-//// Iterator it = componentTypeMap.keySet().iterator();
-//// while (it.hasNext() ) {
-//// ComponentTypeID id = (ComponentTypeID) it.next();
-//// if (id.getFullName().equals(componentTypeIDString)) {
-//// type = (ComponentType) componentTypeMap.get(id);
-//// break;
-//// }
-//// }
-////
-//// if (type == null) {
-//// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0050, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0050, new Object[] {componentTypeIDString, serviceComponentDefnIDString} ), element);
-//// }
-//// ProductServiceConfigID productServiceConfigID = null;
-//// if (type instanceof ConnectorBindingType) {
-////
-//// productServiceConfigID = new ProductServiceConfigID(configID, productServiceConfigIDString);
-////
-//// ConnectorBindingID bindingID = new ConnectorBindingID(configID, serviceComponentDefnIDString);
-//// ConnectorBinding bdefn = (ConnectorBinding)serviceComponentDefnMap.get(bindingID);
-////
-//// if (bdefn==null) {
-//// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0051, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0051, new Object[] {name, serviceComponentDefnIDString} ), element);
-//// }
-//// component = editor.createDeployedServiceComponent(name, config, hostID, vmComponentDefnID, bdefn, productServiceConfigID);
-////
-//// } else {
-////
-//// productServiceConfigID = new ProductServiceConfigID(configID, productServiceConfigIDString);
-////
-//// ServiceComponentDefnID serviceComponentDefnID = new ServiceComponentDefnID(configID, serviceComponentDefnIDString);
-//// ServiceComponentDefn defn = (ServiceComponentDefn)serviceComponentDefnMap.get(serviceComponentDefnID);
-////
-//// if (defn==null) {
-//// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0052, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0052, new Object[] {name, serviceComponentDefnIDString} ), element);
-//// }
-//// component = editor.createDeployedServiceComponent(name, config, hostID, vmComponentDefnID, defn, productServiceConfigID);
-////
-//// }
-////
-//// }
-////
-//// component = (DeployedComponent) setDateHistory(component, element, editor);
-////
-//// Element propertiesElement = element.getChild(XMLConfig_42_ElementNames.Properties.ELEMENT);
-//// if (propertiesElement != null) {
-//// // now we add the system properties to the configuration object
-//// return (DeployedComponent)addProperties(propertiesElement, component, editor);
-//// }
-////
-//// return component;
-// }
-
- /**
- * This method will create a VMComponentDefn configuration object from an XML element
- * that represents a VMComponentDefn.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the VMComponentDefn configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLConfig_42_ElementNames class.
- */
- public BasicVMComponentDefn createVMComponentDefn(Element element, ConfigurationID configID, HostID hostID, ConfigurationObjectEditor editor, String name) throws InvalidConfigurationElementException{
- Assertion.isNotNull(element);
- Assertion.isNotNull(editor);
- Assertion.isNotNull(configID);
-
- if (!element.getName().equals(XMLConfig_42_ElementNames.Configuration.Process.ELEMENT)) {
- throw new InvalidConfigurationElementException("A Configuration object cannot be created from a JDOM Element type: " + element.getName() + ".", element); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- if (name==null) {
- name = element.getAttributeValue(XMLConfig_42_ElementNames.Configuration.Process.Attributes.NAME);
- }
-
- String componentType = element.getAttributeValue(XMLConfig_42_ElementNames.Configuration.Process.Attributes.COMPONENT_TYPE);
-
- checkElementValue(componentType, name, ErrorMessageKeys.CONFIG_ERR_0060);
-
- ComponentTypeID id = new ComponentTypeID(componentType);
-
- VMComponentDefn defn = editor.createVMComponentDefn(configID, hostID, id, name);
-
- defn = (VMComponentDefn) setDateHistory(defn, element, editor);
-
- // add the properties to this ComponentObject...
- // Element propertiesElement = element.getChild(XMLConfig_42_ElementNames.Properties.ELEMENT);
- // if (propertiesElement != null) {
- // now we add the system properties to the configuration object
- defn = (VMComponentDefn)addProperties(element, defn, editor);
- // }
-
- return (BasicVMComponentDefn) defn;
- }
-
- /**
- * This method is a helper method to create a PropertyDefinition object from
- * an XML element that represents same.
- *
- * @param element the XML element that represents a PropertyDefinition object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLConfig_42_ElementNames class.
- */
- public PropertyDefinition createPropertyDefinition(Element element) throws InvalidConfigurationElementException{
-
- if (!element.getName().equals(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.ELEMENT)) {
- throw new InvalidConfigurationElementException("A Configuration object cannot be created from a JDOM Element type: " + element.getName() + ".", element); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
-
- String nameString = element.getAttributeValue(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.NAME);
-
- String displayNameString = element.getAttributeValue(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.DISPLAY_NAME);
-
-
- String shortDescriptionString = getAttributeString(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.SHORT_DESCRIPTION,
- PropertyDefinitionImpl.DEFAULT_SHORT_DESCRIPTION);
-
- String defaultValueString = getAttributeString(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.DEFAULT_VALUE,
- PropertyDefinitionImpl.DEFAULT_DEFAULT_VALUE);
-
- String valueDelimiterString = getAttributeString(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.VALUE_DELIMITER,
- PropertyDefinitionImpl.DEFAULT_DELIMITER);
-
-
- String multiplicityString = getAttributeString(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.MULTIPLICITY,
- PropertyDefinitionImpl.DEFAULT_MULTIPLICITY);
- Multiplicity mult = null;
- try {
- mult = Multiplicity.getInstance(multiplicityString);
- }catch(MultiplicityExpressionException e) {
- throw new InvalidConfigurationElementException(e, "The PropertyDefinition object: " + nameString + " could not be created because the multiplicity definition: '" + multiplicityString + " is not a valid multiplicity definition.", element); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
-
- String propertyTypeString = getAttributeString(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.PROPERTY_TYPE,
- PropertyDefinitionImpl.DEFAULT_TYPE.getDisplayName());
- PropertyType type = PropertyType.getInstance(propertyTypeString);
-
-
-
- boolean isConstrainedToAllowedValues = getAttributeBoolean(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_CONSTRAINED_TO_ALLOWED_VALUES,
- PropertyDefinitionImpl.DEFAULT_IS_CONSTRAINED);
-
- boolean isExpert = getAttributeBoolean(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_EXPERT,
- PropertyDefinitionImpl.DEFAULT_IS_EXPERT);
-
- boolean isHidden = getAttributeBoolean(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_HIDDEN,
- PropertyDefinitionImpl.DEFAULT_IS_HIDDEN);
-
- boolean isMasked = getAttributeBoolean(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_MASKED,
- PropertyDefinitionImpl.DEFAULT_IS_MASKED);
-
- boolean isModifiable = getAttributeBoolean(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_MODIFIABLE,
- PropertyDefinitionImpl.DEFAULT_IS_MODIFIABLE);
-
- boolean isPreferred = getAttributeBoolean(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_PREFERRED,
- PropertyDefinitionImpl.DEFAULT_IS_PREFERRED);
-
- String requiresRestart = getAttributeString(element,
- XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.REQUIRES_RESTART,
- PropertyDefinitionImpl.DEFAULT_REQUIRES_RESTART.toString());
-
- RestartType restartType = null;
-
- if ("true".equalsIgnoreCase(requiresRestart)) { //$NON-NLS-1$
- restartType = RestartType.PROCESS;
- } else {
- restartType = RestartType.valueOf(requiresRestart.toUpperCase());
- }
-
-
- // we must retrieve all of the allowed values from the PropertyDefinition
- // element
- Collection allowedValuesElements = element.getChildren(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.AllowedValue.ELEMENT);
- ArrayList allowedValues = new ArrayList(allowedValuesElements.size());
-
- Iterator iterator = allowedValuesElements.iterator();
- while (iterator.hasNext()) {
- Element allowedValueElement = (Element)iterator.next();
- allowedValues.add(allowedValueElement.getText());
- }
-
- PropertyDefinitionImpl defn = new PropertyDefinitionImpl(nameString, displayNameString, type,
- mult, shortDescriptionString, defaultValueString,
- allowedValues, valueDelimiterString,
- isHidden, isPreferred, isExpert, isModifiable);
-
- defn.setMasked(isMasked);
- defn.setConstrainedToAllowedValues(isConstrainedToAllowedValues);
- defn.setRequiresRestart(restartType);
- return defn;
-
- }
-
-
-
- /**
- * Get the value of the specified attribute from the on the specified element.
- * If null, get the the default value.
- * @param element
- * @param attributeName name of Attribute to get
- * @param defaultValue
- * @return the attribute value, or defaultValue if it is null.
- * @since 4.3
- */
- private static String getAttributeString(Element element, String attributeName, String defaultValue) {
- String stringValue = element.getAttributeValue(attributeName);
- if (stringValue == null) {
- return defaultValue;
- }
-
- return stringValue;
- }
- /**
- * Get the value of the specified attribute from the on the specified element.
- * If null, get the the default value.
- * @param element
- * @param attributeName name of Attribute to get
- * @param defaultValue
- * @return the attribute value, or defaultValue if it is null.
- * @since 4.3
- */
- private static boolean getAttributeBoolean(Element element, String attributeName, boolean defaultValue) {
- String stringValue = element.getAttributeValue(attributeName);
- if (stringValue == null) {
- return defaultValue;
- }
-
- return Boolean.valueOf(stringValue).booleanValue();
- }
-
-
-
- /**
- * This method will create a ComponentObject configuration object from an XML element
- * that represents a ComponentObject.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the ComponentObject configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLConfig_42_ElementNames class.
- */
- public ComponentObject addProperties(Element propertiesElement, ComponentObject object, ConfigurationObjectEditor editor) throws InvalidConfigurationElementException{
-
- if (!propertiesElement.getName().equals(XMLConfig_42_ElementNames.Properties.ELEMENT)) {
- propertiesElement = propertiesElement.getChild(XMLConfig_42_ElementNames.Properties.ELEMENT);
- }
-
- Properties props = null;
- if (propertiesElement == null) {
- props = new Properties();
- }
- else {
- props = getProperties(propertiesElement);
- }
-
- object = editor.modifyProperties(object, props, ConfigurationObjectEditor.ADD);
- return object;
- }
-
-
- private Properties getProperties(Element propertiesElement) {
- Properties props = new Properties();
-
- List properties = propertiesElement.getChildren(XMLConfig_42_ElementNames.Properties.Property.ELEMENT);
- Iterator iterator = properties.iterator();
- while (iterator.hasNext()) {
- Element propertyElement = (Element)iterator.next();
- String propertyName = propertyElement.getAttributeValue(XMLConfig_42_ElementNames.Properties.Property.Attributes.NAME);
- String propertyValue = propertyElement.getText();
-
- props.setProperty(propertyName, propertyValue);
-
- }
- return props;
- }
-
- /**
- * This is a helper method for ProductTypes and ComponentTypes. this method
- * will add a list of Component Type Definitions to a ComponentType using
- * the passed in editor. The Collection of XML elements passed in are
- * translated into ComponentTypeDefn objects and then set on the passed in
- * ComponentType.
- *
- * @param componentTypeDefnElements a collection of JDOM elements that
- * each represent a ComponentTypeDefn object.
- * @param type the ComponentType object to add the ComponentTypeDefns to
- * @param editor the editor to use to both create the ComponentTypeDefns
- * and to set them on the passed in ComponentType.
- * @return the ComponentType reference that now has the CompoenentTypeDefns
- * set on it.
- * @throws InvalidConfigurationElementException if the ComponentTypeDefn
- * JDOM elements do not adhere to the proper XML structure as defined by the
- * XMLConfig_42_ElementNames class.
- */
- private ComponentType addComponentTypeDefns(Collection componentTypeDefnElements, ComponentType type, ConfigurationObjectEditor editor) throws InvalidConfigurationElementException{
- ArrayList componentTypeDefns = new ArrayList(componentTypeDefnElements.size());
-
- Iterator iterator = componentTypeDefnElements.iterator();
- while (iterator.hasNext()) {
- Element componentTypeDefnElement = (Element)iterator.next();
- Element propertyDefinitionElement = componentTypeDefnElement.getChild(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.ELEMENT);
- PropertyDefinition propDefn = createPropertyDefinition(propertyDefinitionElement);
- componentTypeDefns.add(editor.createComponentTypeDefn(type, propDefn, false));
- }
- return editor.setComponentTypeDefinitions(type, componentTypeDefns);
- }
-
- private ComponentType addPropertyDefns(Collection propertyDefnElements, ComponentType type, ConfigurationObjectEditor editor) throws InvalidConfigurationElementException{
- ArrayList componentTypeDefns = new ArrayList(propertyDefnElements.size());
-
- Iterator iterator = propertyDefnElements.iterator();
- while (iterator.hasNext()) {
- Element propertyDefinitionElement = (Element)iterator.next();
- PropertyDefinition propDefn = createPropertyDefinition(propertyDefinitionElement);
- componentTypeDefns.add(editor.createComponentTypeDefn(type, propDefn, false));
- }
- return editor.setComponentTypeDefinitions(type, componentTypeDefns);
- }
-
- public void orderComponentTypeElementList(List componentTypeElements) {
- ComponentTypeElementComparator comparator = new ComponentTypeElementComparator();
- Collections.sort(componentTypeElements, comparator);
- }
-
-
- class ComponentTypeElementComparator implements Comparator{
-
- /**
- * This compare to will determine whether the ComponentType element
- * represented by 'this' has a superComponentType that is the
- * passed in ComponentType element representation to be compared to. if so, the 'this' element
- * is considered to be greater than the passed in element. If it is
- * determined that 'this' is the superCompoentType of the passed in
- * object then 'greater than' will be returned. If it is determined
- * that the two ComponentTypeObjects are unrelated, then equals is
- * returned...Note that this is inconsistent with the equals() method.
- */
- public int compare(Object thisObject, Object thatObject) {
- if (thisObject instanceof Element) {
- Element thisElement = (Element)thisObject;
- if (thatObject instanceof Element) {
- Element thatElement = (Element)thatObject;
- String thatSuperID = getElementSuperID(thatElement);
- String thisSuperID = getElementSuperID(thisElement);
- String thatID = getElementID(thatElement);
- String thisID = getElementID(thisElement);
-
- if(thisSuperID!=null && thisSuperID.equals(thatID)) {
- return 1;
- }else if(thatSuperID!=null && thatSuperID.equals(thisID)) {
- return -1;
- }else {
- return 0;
- }
- }
- }
- return 0;
- }
-
-
- private String getElementSuperID(Element componentTypeElement) {
- return componentTypeElement.getAttributeValue(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.SUPER_COMPONENT_TYPE);
- }
-
- private String getElementID(Element componentTypeElement) {
- return componentTypeElement.getAttributeValue(XMLConfig_42_ElementNames.ComponentTypes.ComponentType.Attributes.NAME);
- }
- }
-
- // helper class to check that an element is not null and length is greater than zero
- // this should be used instead of Assertion when checking that
- // component ID's exist
- private void checkElementValue(String value, String name, String errorKey) throws InvalidConfigurationElementException {
- if (value == null || value.trim().length() > 0) {
- if (name != null) {
- if(value == null){
- Assertion.isNotNull(value, CommonPlugin.Util.getString(errorKey, name));
- }
- } else {
- if(value == null){
- Assertion.isNotNull(value, CommonPlugin.Util.getString(errorKey));
- }
- }
-
- }
-
- }
-
-
-
-// private static final String NOT_ASSIGNED = "NotAssigned";
-
-}
Deleted: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_42_ImportExportUtility.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_42_ImportExportUtility.java 2009-04-10 18:43:00 UTC (rev 751)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_42_ImportExportUtility.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -1,867 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.common.config.xml;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.jdom.Document;
-import org.jdom.Element;
-
-import com.metamatrix.common.CommonPlugin;
-import com.metamatrix.common.config.api.AuthenticationProvider;
-import com.metamatrix.common.config.api.ComponentDefn;
-import com.metamatrix.common.config.api.ComponentType;
-import com.metamatrix.common.config.api.Configuration;
-import com.metamatrix.common.config.api.ConfigurationID;
-import com.metamatrix.common.config.api.ConfigurationModelContainer;
-import com.metamatrix.common.config.api.ConfigurationObjectEditor;
-import com.metamatrix.common.config.api.ConnectorBinding;
-import com.metamatrix.common.config.api.DeployedComponent;
-import com.metamatrix.common.config.api.Host;
-import com.metamatrix.common.config.api.HostID;
-import com.metamatrix.common.config.api.ResourceDescriptor;
-import com.metamatrix.common.config.api.ServiceComponentDefn;
-import com.metamatrix.common.config.api.SharedResource;
-import com.metamatrix.common.config.api.VMComponentDefn;
-import com.metamatrix.common.config.api.VMComponentDefnID;
-import com.metamatrix.common.config.model.ConfigurationModelContainerImpl;
-import com.metamatrix.common.config.util.ConfigObjectsNotResolvableException;
-import com.metamatrix.common.config.util.InvalidConfigurationElementException;
-import com.metamatrix.common.log.LogManager;
-import com.metamatrix.common.util.ErrorMessageKeys;
-import com.metamatrix.common.util.LogCommonConstants;
-import com.metamatrix.core.MetaMatrixCoreException;
-import com.metamatrix.core.util.Assertion;
-import com.metamatrix.core.util.ReflectionHelper;
-
-/**
-* This version of the configuration import/exporter supports the configuration in 4.2.
-*/
-public class XMLConfig_42_ImportExportUtility extends XMLConfig_Base_ImportExportUtility {
-
- private static final String CONFIG_MODEL_CLASS = ConfigurationModelContainerImpl.class.getName();
- private XMLConfig_42_HelperImpl xmlHelper = null;
-
-
-
- /**
- * <p>This method will write to the passed in DirectoryEntry instance a
- * complete representation of the Collection of Configuration objects that
- * are passed into it. The failsafe way to build this
- * Collection of objects is to call the getConfigurationAndDependents() method
- * on the AdminAPI of the MetaMatrix Server. This method will retreive the
- * Configuration and all of its dependent objects in their entirety.</p>
- *
- * <p>In order to export an entire Configuration, the Collection passed into this method
- * should have all of the following object references to be able to resolve
- * the relationships between all objects referenced by a Configuration
- * object.</p>
- *
- * <pre>
- * 1. Configuration object
- * 2. all ComponentTypes that ComponentObjects reference in the
- * Configuration object including the Configuration object's Component Type.
- * (this includes ProductTypes)
- * 3. all ProductTypes that ProductServiceConfig objects reference in the
- * Configuration object
- * 4. all Host objects that are referenced by DeployedComponents in the
- * Configuration object
- * </pre>
- *
- *
- * <p> All of the above object references must be in the collection passed
- * into this method.</p>
- *
- * <p> The properties object that is passed into this method may contain
- * the following properties as defined by the ConfigurationPropertyNames class.
- * These properties will define the values for the header of the output of
- * this method.</p>
- *
- * <pre>
- * ConfigurationPropertyNames.APPLICATION_CREATED_BY
- * ConfigurationPropertyNames.APPLICATION_VERSION_CREATED_BY
- * ConfigurationPropertyNames.USER_CREATED_BY
- * <pre>
- *
- * <p>Any of these properties that are not included in the properties object
- * will not be included in the header Element.
- *
- * @param stream the output stream to write the Configuration Object
- * representation to
- * @param configurationObjects a Collection of configuration objects that
- * represents an entire logical Configuration.
- * @param props the properties object that contains the values for the Header
- * @throws IOException if there is an error writing to the DirectoryEntry
- * @throws ConfigObjectsNotResolvableException if there are references
- * to configuration objects not included in the Collection of configuration objects
- * that cannot be resolved to other configuration objects in the passed in
- * Collection
- */
- public void exportConfiguration(OutputStream stream,
- Collection configurationObjects, Properties props)
- throws IOException, ConfigObjectsNotResolvableException {
-
-
- Assertion.isNotNull(configurationObjects);
- Assertion.isNotNull(stream);
-
-
- // this will divide the configuration objects by their type
- // so that we can create an XML doc and put the objects in their proper
- // categories.
- List[] lists = segregateConfigurationObjects(configurationObjects);
-
- // this will throw ConfigObjectsNotResolvableException if the collection
- // of configuration objects are not self containing.
- resolveConfigurationObjects(lists);
-
- ConfigurationModelContainer cmc=null;
- try {
- Collection parms = new ArrayList(1);
- parms.add(configurationObjects);
- cmc = (ConfigurationModelContainer) ReflectionHelper.create(CONFIG_MODEL_CLASS, parms, this.getClass().getClassLoader());
- } catch (MetaMatrixCoreException err) {
- throw new IOException(err.getMessage());
- }
-
-
- // this xmlHelper class contains all of the code to convert configuration
- // objects into JDOM Elements
- getXMLHelper();
-
- // this visitor will visit all of the configuration objects in a
- // configuration collecting their state as JDOM XML Elements
- XMLConfig_42_Visitor visitor = new XMLConfig_42_Visitor(xmlHelper);
-
-
-
- Element root = xmlHelper.createRootConfigurationDocumentElement();
-
- // create a new Document with a root element
- final Document doc = new Document(root);
-
- // add the header element
- root = XMLHelperUtil.addHeaderElement(root, props);
- // root.addContent(xmlHelper.createHeaderElement(createHeaderProperties(props)));
-
- final Configuration config = cmc.getConfiguration();
- Element configElement = visitor.visitComponent(config);
-
- root.addContent(configElement);
-
- try {
- Iterator hostIt=cmc.getHosts().iterator();
- while(hostIt.hasNext()) {
- Host h = (Host) hostIt.next();
- final Element hostElement = visitor.visitComponent(h);
- configElement.addContent(hostElement);
-
- Iterator vmsIt=cmc.getConfiguration().getVMsForHost((HostID) h.getID()).iterator();
-// getDeployedVMsForHost((HostID) h.getID()).iterator();
- while(vmsIt.hasNext()) {
- VMComponentDefn vm = (VMComponentDefn) vmsIt.next();
-// VMComponentDefn vm = cmc.getConfiguration().getVMComponentDefn(vmDC.getVMComponentDefnID());
- final Element vmElement = visitor.visitComponent(vm);
- hostElement.addContent(vmElement);
-
- Map pscSvcMap = new HashMap(10);
- Collection depsvcs = cmc.getConfiguration().getDeployedServicesForVM(vm);
- Iterator svcIt = depsvcs.iterator();
- while(svcIt.hasNext()) {
- DeployedComponent dc = (DeployedComponent) svcIt.next();
-// ComponentDefn defn = null;
-// if (dc.isDeployedService()) {
-// defn = cmc.getConfiguration().getServiceComponentDefn(dc.getServiceComponentDefnID());
-// } else {
-// defn = cmc.getConfiguration().getConnectorBinding(dc.getServiceComponentDefnID());
-//
-// }
-// if (defn == null) {
-// throw new ConfigObjectsNotResolvableException( "DeployedComponent " + dc.getID() + " could not find service " + dc.getServiceComponentDefnID(), dc); //$NON-NLS-1$ //$NON-NLS-2$
-// }
- final Element svcElement = visitor.visitComponent(dc);
- vmElement.addContent(svcElement);
- }
- // group the deployed services by pc for adding to the vm element
-// while(depIt.hasNext()) {
-//
-// DeployedComponent dc = (DeployedComponent) depIt.next();
-// if (!pscSvcMap.containsKey(dc.getProductServiceConfigID())) {
-// svcs = new ArrayList();
-// pscSvcMap.put(dc.getProductServiceConfigID(),svcs);
-// } else {
-// svcs = (Collection) pscSvcMap.get(dc.getProductServiceConfigID());
-// }
-//
-// svcs.add(dc);
-// }
-
-
-// Iterator pscIt = pscSvcMap.keySet().iterator();
-// while(pscIt.hasNext()) {
-// ProductServiceConfigID pscID = (ProductServiceConfigID) pscIt.next();
-// ProductServiceConfig psc = cmc.getConfiguration().getPSC(pscID);
-//
-// final Element pscElement = getXMLHelper().createDeployedProductServiceConfigElement(psc);
-// vmElement.addContent(pscElement);
-//
-// Collection depsvcs = (Collection) pscSvcMap.get(pscID);
-//
-// Iterator svcIt = depsvcs.iterator();
-// while(svcIt.hasNext()) {
-// DeployedComponent dc = (DeployedComponent) svcIt.next();
-//// ComponentDefn defn = null;
-//// if (dc.isDeployedService()) {
-//// defn = cmc.getConfiguration().getServiceComponentDefn(dc.getServiceComponentDefnID());
-//// } else {
-//// defn = cmc.getConfiguration().getConnectorBinding(dc.getServiceComponentDefnID());
-////
-//// }
-//// if (defn == null) {
-//// throw new ConfigObjectsNotResolvableException( "DeployedComponent " + dc.getID() + " could not find service " + dc.getServiceComponentDefnID(), dc); //$NON-NLS-1$ //$NON-NLS-2$
-//// }
-// final Element svcElement = visitor.visitComponent(dc);
-// pscElement.addContent(svcElement);
-//
-//
-// } // end of svcs
-//
-// } // end of pscs
-
- // Iterator svcIt=cmc.getConfiguration().getDeployedServicesForVM(vmDC.getVMComponentDefnID()).iterator();
- // while(svcIt.hasNext()) {
- // DeployedComponent svcDc=(DeployedComponent) svcIt.next();
- // ComponentDefn cd = null;
- // if (svcDc.isDeployedConnector()) {
- // cd = cmc.getConfiguration().getConnectorBinding(svcDc.getServiceComponentDefnID());
- // } else {
- // cd = cmc.getConfiguration().getServiceComponentDefn(svcDc.getServiceComponentDefnID());
- // }
- // final Element svcElement = visitor.visitComponent(cd);
- // vmElement.addContent(svcElement);
- // }
-
-
- } // end of vms
-
- } // end of host
- } catch(Exception e) {
- throw new ConfigObjectsNotResolvableException(e, "Error exporting configuration"); //$NON-NLS-1$
- }
-
- // iterate through the psc objects, if there are any,
- // and create elements for them.
-
-// Element pscsElement = xmlHelper.createProductServiceConfigsElement();
-// root.addContent(pscsElement);
-//
-// Collection pscs = cmc.getConfiguration().getPSCs();
-// if (pscs != null && pscs.size() > 0) {
-// Iterator iterator = pscs.iterator();
-// while (iterator.hasNext()) {
-// ProductServiceConfig type = (ProductServiceConfig)iterator.next();
-//// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found ProductType named: " + type + " in list of configuration objects to export.");
-// Element productTypeElement = visitor.visitComponent(type);
-// pscsElement.addContent(productTypeElement);
-// }
-// }
-
- // iterate through the product type objects, if there are any,
- // and create elements for them.
-
-// Element productTypesElement = xmlHelper.createProductTypesElement();
-// root.addContent(productTypesElement);
-//
-// Collection productTypes = cmc.getProductTypes();
-// if (productTypes != null && productTypes.size() > 0) {
-// Iterator iterator = productTypes.iterator();
-// while (iterator.hasNext()) {
-// ProductType type = (ProductType)iterator.next();
-//// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found ProductType named: " + type + " in list of configuration objects to export.");
-// Element productTypeElement = visitor.visitComponent(type);
-// productTypesElement.addContent(productTypeElement);
-// }
-// }
-
- Element resourcePoolsElement = xmlHelper.createResourcePoolsElement();
- root.addContent(resourcePoolsElement);
-
- Collection pools = cmc.getConnectionPools();
- if (pools != null && pools.size() > 0) {
- Iterator iterator = pools.iterator();
- while (iterator.hasNext()) {
- ResourceDescriptor type = (ResourceDescriptor)iterator.next();
-// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found ProductType named: " + type + " in list of configuration objects to export.");
- Element resourceElement = visitor.visitComponent(type);
- resourcePoolsElement.addContent(resourceElement);
- }
- }
-
- Element providersElement = xmlHelper.createAuthenticationProviderElement();
- root.addContent(providersElement);
-
- Collection providers = cmc.getConfiguration().getAuthenticationProviders();
- if (providers != null && providers.size() > 0) {
- Iterator iterator = providers.iterator();
- while (iterator.hasNext()) {
- AuthenticationProvider provider = (AuthenticationProvider)iterator.next();
-// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found ProductType named: " + type + " in list of configuration objects to export.");
- Element resourceElement = visitor.visitComponent(provider);
- providersElement.addContent(resourceElement);
- }
- }
-
-
- Element connectorsElement = xmlHelper.createConnectorBindingsElement();
- root.addContent(connectorsElement);
-
-
- Collection bindings = cmc.getConfiguration().getConnectorBindings();
- if (bindings != null && bindings.size() > 0) {
- Iterator iterator = bindings.iterator();
-
- while (iterator.hasNext()) {
- ConnectorBinding connector = (ConnectorBinding)iterator.next();
- Element connElement = visitor.visitConnectorBindingComponent(connector);
- connectorsElement.addContent(connElement);
- }
-
- }
-
- Element servicessElement = xmlHelper.createServiceComponentDefnsElement();
- root.addContent(servicessElement);
-
-
- Collection svcdefns = cmc.getConfiguration().getServiceComponentDefns();
- if (svcdefns != null && svcdefns.size() > 0) {
- Iterator iterator = svcdefns.iterator();
-
- while (iterator.hasNext()) {
- ServiceComponentDefn svc = (ServiceComponentDefn)iterator.next();
- Element svcElement = visitor.visitComponent(svc);
- servicessElement.addContent(svcElement);
- }
-
- }
-
- Element resourcesElement = xmlHelper.createSharedResourcesElement();
- root.addContent(resourcesElement);
-
- Collection sharedResources = cmc.getResources();
- if (sharedResources != null && sharedResources.size() > 0) {
-
- Iterator iterator = sharedResources.iterator();
- while (iterator.hasNext()) {
- SharedResource resource = (SharedResource)iterator.next();
- // LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found SharedResource named: " + resource + " in list of configuration objects to export.");
- Element resourceElement = visitor.visitComponent(resource);
- resourcesElement.addContent(resourceElement);
- }
- }
-
-
- Element componentTypesElement = xmlHelper.createComponentTypesElement();
- root.addContent(componentTypesElement);
-
- Map compTypes = cmc.getComponentTypes();
- if (compTypes != null && compTypes.size() > 0) {
-
- Iterator iterator = compTypes.values().iterator();
-
- while (iterator.hasNext()) {
- ComponentType componentType = (ComponentType)iterator.next();
- Element componentTypeElement = visitor.visitComponent(componentType);
- // LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found ComponentType named: " + componentType + " in list of configuration objects to export.");
-
- componentTypesElement.addContent(componentTypeElement);
- }
- }
-
-
- getXMLReaderWriter().writeDocument(doc, stream);
- stream.close();
-
- LogManager.logInfo(LogCommonConstants.CTX_CONFIG, CommonPlugin.Util.getString("MSG.003.001.0003", cmc.getConfigurationID().getFullName())); //$NON-NLS-1$
- }
-
- /**
- * <p>This method will be used to import a Collection of Configuration objects
- * given an InputStream. If the InputStream resource does not contain enough
- * data to recombine all of the configuration objects in the Input Stream,
- * then a ConfigurationObjectsNotResolvableException
- * will be thrown.</p>
- *
- * <p>This method also allows you to rename the imported Configuration object
- * possibly to avoid name conflicts with other Configurations already in the server.</p>
- *
- * <p>If the name parameter submitted is null, the name of the configuration
- * object as it exists in the InputStream will be used as the name
- * of the resulting Configuration object in the returned collection of
- * configuration objects.</p>
- *
- *
- * @param editor the ConfigurationObjectEditor to use to create the Configuration
- * objects in the InputStream resource.
- * @param stream the input stream to read the configuration object
- * representations from
- * @param name the name for the Configuration object to be created. Can
- * be null if the name specified in the input stream is to be used.
- * @return the configuration objects that were represented as data in the
- * InputStream resource
- * @throws ConfigObjectsNotResolvableException if the data representing
- * the Configuration to be imported is incomplete.
- * @throws IOException if there is an error reading from the InputStream
- * @throws InvalidConfigurationElementException if there is a problem with
- * the representation of the configuration element as it exists in the
- * InputStream resource, usually some type of formatting problem.
- */
- public Collection importConfigurationObjects(Element root,
- ConfigurationObjectEditor editor, String name)
- throws IOException, ConfigObjectsNotResolvableException,
- InvalidConfigurationElementException {
- Assertion.isNotNull(root);
- Assertion.isNotNull(editor);
-
-// *** LogManager.logDetail(LogCommonConstants.CTX_CONFIG, "Importing a Configuration...");
-
-
- ArrayList configurationObjects = new ArrayList();
-
- getXMLHelper();
-
- // get the first configuration element from the document
- Element configurationElement = root.getChild(XMLConfig_42_ElementNames.Configuration.ELEMENT);
-
- // if there is no configuration element under the Configurations element
- // then we do not know how to import one.
- if (configurationElement == null) {
- throw new ConfigObjectsNotResolvableException(ErrorMessageKeys.CONFIG_ERR_0004, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0004));
- }
-
-
-
- // NOTE the ordering of the following iterations is very important
- // as the actions to create the configuration objects are being created
- // within the ConfigurationObjectEditor. If these are created out of
- // order, a Configuration object that references another configuration
- // object may be created before the configuration object that it references.
- // This will work fine until the actions are committed.
- Configuration config = xmlHelper.createConfiguration(configurationElement, editor, name);
-
- ConfigurationID configID = (ConfigurationID) config.getID();
- configurationObjects.add(config);
-
- xmlHelper.addProperties(configurationElement, config, editor);
-
-
-
-
- Collection componentTypes = createComponentTypes(root, editor);
- Map componentTypeMap = new HashMap();
- if (componentTypes != null) {
- for (Iterator it=componentTypes.iterator(); it.hasNext();) {
- ComponentType type = (ComponentType) it.next();
- componentTypeMap.put(type.getID(), type);
- configurationObjects.add(type);
-
- }
- }
-
-
-
- Element resourcesElement = root.getChild(XMLConfig_42_ElementNames.Resources.ELEMENT);
-
- List resources = null;
- if (resourcesElement != null) {
- resources = resourcesElement.getChildren(XMLConfig_42_ElementNames.Resources.Resource.ELEMENT);
- } else {
- resources = Collections.EMPTY_LIST;
- }
-
- Iterator iterator = resources.iterator();
- while (iterator.hasNext()) {
- Element resourceElement = (Element)iterator.next();
- SharedResource resource = xmlHelper.createSharedResource(resourceElement, editor);
-// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found Host named: " + host + " in XML file Hosts element.");
- configurationObjects.add(resource);
- }
-
-// Map pscMap = new HashMap(1);
-// Element productServiceConfigsElement =
-// root.getChild(XMLConfig_42_ElementNames.ProductServiceConfigs.ELEMENT);
-// if (productServiceConfigsElement!=null) {
-// Collection productServiceConfigElements =
-// productServiceConfigsElement.getChildren(XMLConfig_42_ElementNames.ProductServiceConfigs.ProductServiceConfig.ELEMENT);
-// pscMap = new HashMap(productServiceConfigElements.size());
-// iterator = productServiceConfigElements.iterator();
-// while (iterator.hasNext()) {
-// Element productServiceConfigElement = (Element)iterator.next();
-// ProductServiceConfig productServiceConfig =
-// xmlHelper.createProductServiceConfig(productServiceConfigElement, configID, editor, null);
-// configurationObjects.add(productServiceConfig);
-// pscMap.put(productServiceConfig.getName(), productServiceConfig);
-//
-// }
-// }
-
-// else {
-//
-// Assertion.assertTrue(false, "No ProductServiceConfigs defined in the ConfigurationDocument"); //$NON-NLS-1$
-//
-// }
-
- Element resourcePoolsElement =
- root.getChild(XMLConfig_42_ElementNames.ResourcePools.ELEMENT);
- if (resourcePoolsElement!=null) {
- Collection resourcePoolsElements =
- resourcePoolsElement.getChildren(XMLConfig_42_ElementNames.ResourcePools.ResourcePool.ELEMENT);
-
- iterator = resourcePoolsElements.iterator();
- while (iterator.hasNext()) {
- Element resourcePoolElement = (Element)iterator.next();
- ResourceDescriptor pool =
- xmlHelper.createResourcePool(resourcePoolElement, configID, editor);
- configurationObjects.add(pool);
-
- }
- }
-
- Element authprovidersElement =
- root.getChild(XMLConfig_42_ElementNames.AuthenticationProviders.ELEMENT);
- if (authprovidersElement!=null) {
- Collection authproviderElements =
- authprovidersElement.getChildren(XMLConfig_42_ElementNames.AuthenticationProviders.Provider.ELEMENT);
-
- iterator = authproviderElements.iterator();
- while (iterator.hasNext()) {
- Element resourcePoolElement = (Element)iterator.next();
- AuthenticationProvider provider =
- xmlHelper.createAuthenticationProvider(resourcePoolElement, configID, editor);
- configurationObjects.add(provider);
-
- }
- }
-
-
-
- Collection bindings = createConnectorBindings(configID, root, editor, true);
-
-
- Map serviceComponentDefnMap = new HashMap();
-
- for (Iterator itb=bindings.iterator(); itb.hasNext();) {
- ComponentDefn defn = (ComponentDefn) itb.next();
- serviceComponentDefnMap.put(defn.getID(), defn);
- }
-
- // this list of servicecomponent defns will be used in the creation
- // of deployed components, we need the actual reference to the
- // servicecomponentdefn to create a deployed version of it...
- Element serviceComponentDefnsElement =
- root.getChild(XMLConfig_42_ElementNames.ServiceComponentDefns.ELEMENT);
- if (serviceComponentDefnsElement!=null) {
- Collection serviceComponentDefnElements =
- serviceComponentDefnsElement.getChildren(XMLConfig_42_ElementNames.ServiceComponentDefns.ServiceComponentDefn.ELEMENT);
-
- iterator = serviceComponentDefnElements.iterator() ;
- while (iterator.hasNext()) {
- Element serviceComponentDefnElement = (Element)iterator.next();
- ComponentDefn defn =
- xmlHelper.createServiceComponentDefn(serviceComponentDefnElement, config, editor, null);
- serviceComponentDefnMap.put(defn.getID(), defn);
- configurationObjects.add(defn);
-
- }
- }
-
- // add the bindings to the map that is used by deployment
- configurationObjects.addAll(bindings);
-
- // retreive the host elements from the document.
- List hostElements = configurationElement.getChildren(XMLConfig_42_ElementNames.Configuration.Host.ELEMENT);
- Iterator hostiterator = hostElements.iterator();
- Host host = null;
- HostID hostID = null;
- while (hostiterator.hasNext()) {
- Element hostElement = (Element)hostiterator.next();
-
- host = xmlHelper.createHost(hostElement,configID, editor, null);
- hostID = (HostID) host.getID();
- configurationObjects.add(host);
-
-
- List vmElements = hostElement.getChildren(XMLConfig_42_ElementNames.Configuration.Process.ELEMENT);
- Iterator vmIt = vmElements.iterator();
- while (vmIt.hasNext()) {
- Element vmElement = (Element)vmIt.next();
-
- VMComponentDefn vm = xmlHelper.createVMComponentDefn(vmElement, configID, hostID, editor, null);
-
-// DeployedComponent vmdc = xmlHelper.createDeployedVMComponentDefn(vmElement, configID, hostID, vm.getComponentTypeID(), editor);
- VMComponentDefnID vmID = (VMComponentDefnID) vm.getID();
-
- configurationObjects.add(vm);
-
- List svcElements = vmElement.getChildren(XMLConfig_42_ElementNames.Configuration.DeployedService.ELEMENT);
-
- Iterator svcIt = svcElements.iterator();
- while (svcIt.hasNext()) {
- Element svcElement = (Element)svcIt.next();
- // create this only for use to create the deployed service
- DeployedComponent dc = xmlHelper.createDeployedServiceComponent(svcElement, configID, hostID, vmID, componentTypeMap, editor);
- configurationObjects.add(dc);
-
- } // end services
- } // end vm
-
- } // end host
-
-
-
-// Map vmComponentDefnMap = new HashMap();
-// Element vmComponentDefnsElement = configurationElement.getChild(XMLConfig_42_ElementNames.Configurations.Configuration.VMComponentDefns.ELEMENT);
-// if (vmComponentDefnsElement!=null) {
-// Collection vmComponentDefnElements =
-// vmComponentDefnsElement.getChildren(XMLConfig_42_ElementNames.Configurations.Configuration.VMComponentDefns.VMComponentDefn.ELEMENT);
-//
-// iterator = vmComponentDefnElements.iterator();
-// while (iterator.hasNext()) {
-// Element vmComponentDefnElement = (Element)iterator.next();
-// VMComponentDefn vmComponentDefn =
-// xmlHelper.createVMComponentDefn(vmComponentDefnElement, (ConfigurationID) config.getID() , editor, null);
-//// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found VMComponentDefn named: " + vmComponentDefn + " in XML file VMComponentDefns element.");
-// vmComponentDefnMap.put(vmComponentDefn.getID(), vmComponentDefn);
-// configurationObjects.add(vmComponentDefn);
-//
-// }
-// }
-// Element deployedComponentsElement =
-// configurationElement.getChild(XMLConfig_42_ElementNames.Configurations.Configuration.DeployedComponents.ELEMENT);
-// if (deployedComponentsElement!=null) {
-// Collection deployedComponentElements =
-// deployedComponentsElement.getChildren(XMLConfig_42_ElementNames.Configurations.Configuration.DeployedComponents.DeployedComponent.ELEMENT);
-//
-// iterator = deployedComponentElements.iterator();
-// while (iterator.hasNext()) {
-// Element deployedComponentElement = (Element)iterator.next();
-// DeployedComponent deployedComponent =
-// xmlHelper.createDeployedComponent(deployedComponentElement, config, editor, serviceComponentDefnMap, vmComponentDefnMap, componentTypeMap, null);
-//// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found DeployedComponent named: " + deployedComponent + " in XML file DeployedComponents element.");
-// configurationObjects.add(deployedComponent);
-// }
-// }
- // this will ensure that the actions that exist in the editor are
- // self contained....that there are no references to configuration objects
- // in the configuration objects that are not also contained in the Collection
- resolveConfigurationObjects(configurationObjects);
-
-// *** I18nLogManager.logInfo(LogCommonConstants.CTX_CONFIG, LogMessageKeys.CONFIG_MSG_0006);
-
- return configurationObjects;
- }
-
-
-
- protected XMLHelper getXMLHelper() {
- if (xmlHelper == null) {
- xmlHelper = new XMLConfig_42_HelperImpl();
-
- }
- return xmlHelper;
-
- }
-
-// protected Properties createHeaderProperties(Properties props) {
-// Properties defaultProperties = new Properties();
-// defaultProperties.setProperty(ConfigurationPropertyNames.USER_CREATED_BY, DEFAULT_USER_CREATED_BY);
-//
-// // the properties passed in by the user override those put in by this
-// // method.
-// if (props!=null) {
-// defaultProperties.putAll(props);
-// }
-// defaultProperties.setProperty(ConfigurationPropertyNames.CONFIGURATION_VERSION, ConfigurationPropertyNames.MM_CONFIG_4_2_VERSION);
-// defaultProperties.setProperty(ConfigurationPropertyNames.METAMATRIX_SYSTEM_VERSION, MetaMatrixProductNames.VERSION_NUMBER);
-// defaultProperties.setProperty(ConfigurationPropertyNames.TIME, DateUtil.getCurrentDateAsString());
-//
-//
-// return defaultProperties;
-// }
-
- /**
- * <p>This method will be used to import a ComponentType Object</p>
- *
- * <p>This method also allows you to rename the imported ComponentType object
- * possibly to avoid name conflicts with other objects already in the server.</p>
- *
- * <p>If the name parameter submitted is null, the name of the configuration
- * object as it exists in the DirectoryEntry will be used.</p>
- *
- * @param editor the ConfigurationObjectEditor to use to create the Configuration
- * objects in the DirectoryEntry resource.
- * @param stream the input stream to read the configuration object
- * representation from
- * @return the configuration object that was represented as data in the
- * DirectoryEntry resource
- * @param name the name for the ComponentType object to be created.
- * @throws IOException if there is an error reading from the DirectoryEntry
- * @throws InvalidConfigurationElementException if there is a problem with
- * the representation of the configuration element as it exists in the
- * DirectoryEntry resource, usually some type of formatting problem.
- */
- public ComponentType importComponentType(Element root,
- //InputStream stream,
- ConfigurationObjectEditor editor, String name)
- throws IOException, InvalidConfigurationElementException {
-
-// Assertion.isNotNull(stream);
- Assertion.isNotNull(editor);
-
-// *** LogManager.logDetail(LogCommonConstants.CTX_CONFIG, "Importing a ComponentType object...");
-
-// Document doc = null;
-//
-// try {
-// doc = getXMLReaderWriter().readDocument(stream);
-// }catch(JDOMException e) {
-// e.printStackTrace();
-// throw new IOException(CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0005));
-// }
-// Element root = doc.getRootElement();
-
-
- ComponentType t = createComponentType(root, editor, name);
-
-// *** I18nLogManager.logInfo(LogCommonConstants.CTX_CONFIG, LogMessageKeys.CONFIG_MSG_0007, t.getName());
-
- return t;
- }
-
- /**
- * <p>This method will be used to import 1 or more a ComponentType Objects.</p>
- *
- * @param editor the ConfigurationObjectEditor to use to create the Configuration
- * objects.
- * @param stream the input stream to read the configuration object
- * representation from
- * @return Collection of objects of type <code>ComponentType</code>
- * @throws IOException if there is an error reading from the DirectoryEntry
- * @throws InvalidConfigurationElementException if there is a problem with
- * the representation of the configuration element as it exists in the
- * DirectoryEntry resource, usually some type of formatting problem.
- */
-
- public Collection importComponentTypes(Element root,
- //InputStream stream,
- ConfigurationObjectEditor editor)
- throws IOException, InvalidConfigurationElementException {
-// Assertion.isNotNull(stream);
- Assertion.isNotNull(editor);
-
-
- Collection connectorTypes = createComponentTypes(root, editor) ;
-
- return connectorTypes;
-
- }
-
-
- protected ComponentType createComponentType(Element root, ConfigurationObjectEditor editor, String name) throws InvalidConfigurationElementException{
- XMLHelper helper = getXMLHelper();
-
-// Element root = doc.getRootElement();
-
- Element componentTypesElement = root.getChild(XMLElementNames.ComponentTypes.ELEMENT);
-
- if (componentTypesElement == null) {
- throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0008, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0008,XMLElementNames.ComponentTypes.ELEMENT));
- }
-
- Element componentTypeElement = componentTypesElement.getChild(XMLElementNames.ComponentTypes.ComponentType.ELEMENT);
-
- if (componentTypeElement == null) {
- throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0008, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0008,XMLElementNames.ComponentTypes.ComponentType.ELEMENT));
- }
-
- return helper.createComponentType(componentTypeElement, editor, name, true);
- }
-
- protected Collection createComponentTypes(Element root, ConfigurationObjectEditor editor) throws InvalidConfigurationElementException{
-
- Element componentTypesElement = root.getChild(XMLElementNames.ComponentTypes.ELEMENT);
-
- if (componentTypesElement == null) {
- return Collections.EMPTY_LIST;
- }
-
-
- // Make a copy of the lists that we intend to change so that we don't affect JDOM's list (which changes the underlying structure)
- List componentTypes = new ArrayList(componentTypesElement.getChildren(XMLElementNames.ComponentTypes.ComponentType.ELEMENT));
-
- List connObjects = null;
-
- if (componentTypes != null) {
- connObjects = new ArrayList(componentTypes.size());
-
- getXMLHelper().orderComponentTypeElementList(componentTypes);
- Iterator iterator = componentTypes.iterator();
- while (iterator.hasNext()) {
- Element connElement = (Element)iterator.next();
- ComponentType type = getXMLHelper().createComponentType(connElement, editor, null, true);
- connObjects.add(type);
-
- }
- } else {
- return Collections.EMPTY_LIST;
- }
-
-
-// List connObjects = null;
-// if (connectorTypes != null) {
-// connObjects = new ArrayList(connectorTypes.size());
-// Iterator iterator = connectorTypes.iterator();
-// while (iterator.hasNext()) {
-// Element connElement = (Element)iterator.next();
-// ComponentType type = helper.createComponentType(connElement, editor, null, true);
-// connObjects.add(type);
-// }
-// } else {
-// return Collections.EMPTY_LIST;
-// }
-
- return connObjects;
- }
-
-
-
-
-}
Deleted: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_42_Visitor.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_42_Visitor.java 2009-04-10 18:43:00 UTC (rev 751)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_42_Visitor.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -1,146 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.common.config.xml;
-
-//note that this class is in the model directory so that the Configuration
-//object implementations can invoke the package level methods on it
-import org.jdom.Element;
-
-import com.metamatrix.common.config.api.AuthenticationProvider;
-import com.metamatrix.common.config.api.ComponentDefn;
-import com.metamatrix.common.config.api.ComponentObject;
-import com.metamatrix.common.config.api.ComponentType;
-import com.metamatrix.common.config.api.Configuration;
-import com.metamatrix.common.config.api.ConfigurationObjectEditor;
-import com.metamatrix.common.config.api.ConnectorBinding;
-import com.metamatrix.common.config.api.DeployedComponent;
-import com.metamatrix.common.config.api.Host;
-import com.metamatrix.common.config.api.ResourceDescriptor;
-import com.metamatrix.common.config.api.ServiceComponentDefn;
-import com.metamatrix.common.config.api.SharedResource;
-import com.metamatrix.common.config.api.VMComponentDefn;
-import com.metamatrix.common.config.model.BasicUtil;
-import com.metamatrix.core.util.Assertion;
-
-/**
-* This class is used to create a Configuration XML element that will contain
-* all of the information related to a Configuration object. The pattern for
-* use of this class should be to ONLY pass this visitor to a Configuration object
-* throught its accept() method. DO NOT pass this visitor directly to any
-* configuration object other than a Configuration object. The algorithm will
-* fail.
-*
-*/
-public class XMLConfig_42_Visitor {
-
- private XMLConfig_42_HelperImpl helper;
- private ConfigurationObjectEditor editor;
-
- // these local variables are used to hold the current Element that all
- // subsequent Elments of that type are to be added to. When a new
- // configuration is visited, new category elements are created and put
- // into these references so that subsequent configuration objects will
- // be put in the category elements for that new configuration.
-// private Element systemPropertiesElement;
-// private Element productServiceConfigsElement;
-// private Element serviceDefnsElement;
-// private Element resourcePoolsElement;
-// private Element connectorsElement;
-// private Element deployedComponentsElement;
-// private Element vmComponentDefnsElement;
-// private Element hostsElement;
-// private Element compTypesElement;
-
- /**
- * This constructor does nothing.
- */
- public XMLConfig_42_Visitor(XMLConfig_42_HelperImpl impl) {
- helper = impl;
-
- }
-
- public XMLConfig_42_Visitor(XMLConfig_42_HelperImpl impl, ConfigurationObjectEditor configEditor) {
- helper = impl;
- editor = configEditor;
- }
-
- public ConfigurationObjectEditor getEditor() {
- return editor;
- }
-
- Element visitComponent(ComponentType component) {
-// if (component instanceof ProductType) {
-// return helper.createProductTypeElement((ProductType) component);
-// }
- return helper.createComponentTypeElement(component);
-
- }
-
-
- Element visitComponent(ComponentObject component) {
- Assertion.isNotNull(component);
-
- switch(BasicUtil.getComponentDefnType(component)){
- case ComponentDefn.VM_COMPONENT_CODE:
- return helper.createVMComponentDefnElement((VMComponentDefn) component);
-// case ComponentDefn.PSC_COMPONENT_CODE:
-// return helper.createProductServiceConfigElement((ProductServiceConfig) component);
- case ComponentDefn.CONNECTOR_COMPONENT_CODE:
- return helper.createServiceComponentDefnElement((ServiceComponentDefn) component);
-
-
-// return helper.createConnectorBindingElement((ConnectorBinding) component, true);
- case ComponentDefn.SERVICE_COMPONENT_CODE:
- return helper.createServiceComponentDefnElement((ServiceComponentDefn) component);
- case ComponentDefn.AUTHPROVIDER_COMPONENT_CODE:
- return helper.createAuthenticationProviderElement((AuthenticationProvider) component);
-
- case ComponentDefn.RESOURCE_DESCRIPTOR_COMPONENT_CODE:
- return helper.createResourcePoolElement((ResourceDescriptor) component);
- case ComponentDefn.HOST_COMPONENT_CODE:
- return helper.createDeployedHostElement((Host) component);
- case ComponentDefn.CONFIGURATION_COMPONENT_CODE:
- return helper.createConfigurationElement((Configuration) component);
- case ComponentDefn.DEPLOYED_COMPONENT_CODE:
- return helper.createDeployedComponentElement((DeployedComponent) component);
- case ComponentDefn.SHARED_RESOURCE_COMPONENT_CODE:
- return helper.createSharedResourceElement((SharedResource) component);
-// case ComponentDefn.PRODUCT_COMPONENT_CODE:
-// return helper.createProductTypeElement((ProductType) component);
-
- }
- return null;
- }
-
- Element visitConnectorBindingComponent(ComponentObject component) {
- Assertion.isNotNull(component);
- return helper.createConnectorBindingElement((ConnectorBinding) component, true);
-
- }
-
-
-
-
-
-}
-
Deleted: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_Base_ImportExportUtility.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_Base_ImportExportUtility.java 2009-04-10 18:43:00 UTC (rev 751)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_Base_ImportExportUtility.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -1,1519 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.common.config.xml;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.jdom.Document;
-import org.jdom.Element;
-import org.jdom.JDOMException;
-
-import com.metamatrix.common.CommonPlugin;
-import com.metamatrix.common.config.api.ComponentDefn;
-import com.metamatrix.common.config.api.ComponentObject;
-import com.metamatrix.common.config.api.ComponentType;
-import com.metamatrix.common.config.api.ComponentTypeID;
-import com.metamatrix.common.config.api.Configuration;
-import com.metamatrix.common.config.api.ConfigurationID;
-import com.metamatrix.common.config.api.ConfigurationObjectEditor;
-import com.metamatrix.common.config.api.ConnectorBinding;
-import com.metamatrix.common.config.api.DeployedComponent;
-import com.metamatrix.common.config.api.Host;
-import com.metamatrix.common.config.api.ResourceDescriptor;
-import com.metamatrix.common.config.api.ServiceComponentDefn;
-import com.metamatrix.common.config.api.SharedResource;
-import com.metamatrix.common.config.api.VMComponentDefn;
-import com.metamatrix.common.config.util.ConfigObjectsNotResolvableException;
-import com.metamatrix.common.config.util.ConfigurationImportExportUtility;
-import com.metamatrix.common.config.util.ConfigurationPropertyNames;
-import com.metamatrix.common.config.util.InvalidConfigurationElementException;
-import com.metamatrix.common.namedobject.BaseObject;
-import com.metamatrix.common.util.ErrorMessageKeys;
-import com.metamatrix.common.xml.XMLReaderWriter;
-import com.metamatrix.common.xml.XMLReaderWriterImpl;
-import com.metamatrix.core.util.Assertion;
-
-/**
-* This implementation is used to import/export configuration objects to/from
-* XML files. The structure of the XML file(s) that can be generated/read in
-* is defined in the XMLElementNames class.
-*
-*
-* **************************************************************************************
-* * * * * * * * W A R N I N G * * * * * * *
-* **************************************************************************************
-*
-* The importer process cannot have any calls to I18NLogManager or LogManager because the
-* bootstrapping of CurrentConfiguration
-* uses this class and the CurrentConfiguration has to come up before
-* logging is available.
-*
-*/
-public abstract class XMLConfig_Base_ImportExportUtility implements ConfigurationPropertyNames {
-
- private XMLReaderWriter readerWriter;
-// private XMLHelper helper = null;
-
- /**
- * These static variables define the constants that will be used to
- * create the header for every document that is produced using this concrete
- * utility.
- */
- public static final String DEFAULT_USER_CREATED_BY = "Unknown"; //$NON-NLS-1$
-
- /**
- * These indices are the indices used to retreive the Lists from the array
- * of lists from the segregateConfigurationObjects method.
- */
- static final int CONFIGURATIONS_INDEX = 0;
-// static final int PRODUCT_TYPES_INDEX = 1;
- static final int HOSTS_INDEX = 2;
- static final int DEPLOYED_COMPONENTS_INDEX = 3;
- static final int SERVICE_COMPONENT_DEFNS_INDEX = 4;
- static final int VM_COMPONENT_DEFNS_INDEX = 5;
- static final int COMPONENT_TYPES_INDEX = 6;
- // static final int PRODUCT_SERVICE_CONFIGS_INDEX = 7;
- static final int CONNECTION_POOL_CONFIGS_INDEX = 16;
- static final int RESOURCES_INDEX = 18;
- static final int CONNECTORS_INDEX = 19;
-
-
- static final int CONFIGURATION_IDS_INDEX = 8;
-// static final int PRODUCT_TYPE_IDS_INDEX = 9;
- static final int HOST_IDS_INDEX = 10;
- static final int DEPLOYED_COMPONENT_IDS_INDEX = 11;
- static final int SERVICE_COMPONENT_DEFN_IDS_INDEX = 12;
- static final int VM_COMPONENT_DEFN_IDS_INDEX = 13;
- static final int COMPONENT_TYPE_IDS_INDEX = 14;
-// static final int PRODUCT_SERVICE_CONFIG_IDS_INDEX = 15;
-// private static final int CONNECTION_POOL_CONFIG_IDS_INDEX = 17;
- static final int CONNECTORS_IDS_INDEX = 20;
-
-
- static final int NUMBER_OF_LISTS = 21;
-
- /**
- * <p>This method will write to the passed in DirectoryEntry instance a
- * complete representation of the Collection of Configuration objects that
- * are passed into it. The failsafe way to build this
- * Collection of objects is to call the getConfigurationAndDependents() method
- * on the AdminAPI of the MetaMatrix Server. This method will retreive the
- * Configuration and all of its dependent objects in their entirety.</p>
- *
- * <p>In order to export an entire Configuration, the Collection passed into this method
- * should have all of the following object references to be able to resolve
- * the relationships between all objects referenced by a Configuration
- * object.</p>
- *
- * <pre>
- * 1. Configuration object
- * 2. all ComponentTypes that ComponentObjects reference in the
- * Configuration object including the Configuration object's Component Type.
- * (this includes ProductTypes)
- * 3. all ProductTypes that ProductServiceConfig objects reference in the
- * Configuration object
- * 4. all Host objects that are referenced by DeployedComponents in the
- * Configuration object
- * </pre>
- *
- *
- * <p> All of the above object references must be in the collection passed
- * into this method.</p>
- *
- * <p> The properties object that is passed into this method may contain
- * the following properties as defined by the ConfigurationPropertyNames class.
- * These properties will define the values for the header of the output of
- * this method.</p>
- *
- * <pre>
- * ConfigurationPropertyNames.APPLICATION_CREATED_BY
- * ConfigurationPropertyNames.APPLICATION_VERSION_CREATED_BY
- * ConfigurationPropertyNames.USER_CREATED_BY
- * <pre>
- *
- * <p>Any of these properties that are not included in the properties object
- * will not be included in the header Element.
- *
- * @param stream the output stream to write the Configuration Object
- * representation to
- * @param configurationObjects a Collection of configuration objects that
- * represents an entire logical Configuration.
- * @param props the properties object that contains the values for the Header
- * @throws IOException if there is an error writing to the DirectoryEntry
- * @throws ConfigObjectsNotResolvableException if there are references
- * to configuration objects not included in the Collection of configuration objects
- * that cannot be resolved to other configuration objects in the passed in
- * Collection
- */
-// public void exportConfiguration(OutputStream stream,
-// Collection configurationObjects, Properties props)
-// throws IOException, ConfigObjectsNotResolvableException {
-//
-//
-// Assertion.isNotNull(configurationObjects);
-// Assertion.isNotNull(stream);
-//
-// // this will throw ConfigObjectsNotResolvableException if the collection
-// // of configuration objects are not self containing.
-// resolveConfigurationObjects(configurationObjects);
-//
-// // this will divide the configuration objects by their type
-// // so that we can create an XML doc and put the objects in their proper
-// // categories.
-// List[] lists = segregateConfigurationObjects(configurationObjects);
-//
-// List configurations = lists[CONFIGURATIONS_INDEX];
-// List productTypes = lists[PRODUCT_TYPES_INDEX];
-// List hosts = lists[HOSTS_INDEX];
-// List componentTypes = lists[COMPONENT_TYPES_INDEX];
-// List resources = lists[RESOURCES_INDEX];
-// List connectors = lists[CONNECTORS_INDEX];
-//
-//
-//
-// // this helper class contains all of the code to convert configuration
-// // objects into JDOM Elements
-// XMLHelper helper = getXMLHelper();
-//
-// // this visitor will visit all of the configuration objects in a
-// // configuration collecting their state as JDOM XML Elements
-// XMLConfigurationVisitor visitor = new XMLConfigurationVisitor(helper);
-//
-//
-// Element root = helper.createRootConfigurationDocumentElement();
-//
-// // create a new Document with a root element
-// Document doc = new Document(root);
-//
-// // add the header element
-// root.addContent(helper.createHeaderElement(createHeaderProperties(props)));
-//
-//// String configName = "";
-// // iterate through the configuration objects, if there are any,
-// // and create elements for them.
-// Iterator iterator = configurations.iterator();
-// if (iterator.hasNext()) {
-// Element configurationsElement = helper.createConfigurationsElement();
-// root.addContent(configurationsElement);
-// while (iterator.hasNext()) {
-// Configuration config = (Configuration)iterator.next();
-//
-// // generally only one configuration is done at a time
-//// configName = config.getID().getFullName();
-//// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found Configuration named: " + config + " in list of configuration objects to export.");
-// // this will cause the visitor to visit and build XML for the
-// // Configuration object and all objects that the Configuration
-// // references directly.
-// config.accept(visitor);
-// configurationsElement.addContent(visitor.getConfigurationElement());
-// }
-// }
-//
-// iterator = connectors.iterator();
-// if (iterator.hasNext()) {
-// Element connectorsElement = helper.createConnectorBindingsElement();
-// root.addContent(connectorsElement);
-// while (iterator.hasNext()) {
-// ConnectorBinding connector = (ConnectorBinding)iterator.next();
-// Element connElement = helper.createConnectorBindingElement(connector, true);
-// connectorsElement.addContent(connElement);
-// }
-// }
-//
-//
-// // iterate through the product type objects, if there are any,
-// // and create elements for them.
-// iterator = productTypes.iterator();
-// if (iterator.hasNext()) {
-// Element productTypesElement = helper.createProductTypesElement();
-// root.addContent(productTypesElement);
-// while (iterator.hasNext()) {
-// ProductType type = (ProductType)iterator.next();
-//// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found ProductType named: " + type + " in list of configuration objects to export.");
-// Element productTypeElement = helper.createProductTypeElement(type);
-// productTypesElement.addContent(productTypeElement);
-// }
-// }
-//
-// iterator = hosts.iterator();
-// if (iterator.hasNext()) {
-// Element hostsElement = helper.createHostsElement();
-// root.addContent(hostsElement);
-// while (iterator.hasNext()) {
-// Host host = (Host)iterator.next();
-//// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found Host named: " + host + " in list of configuration objects to export.");
-// Element hostElement = helper.createHostElement(host);
-// hostsElement.addContent(hostElement);
-// }
-// }
-//
-// iterator = resources.iterator();
-// if (iterator.hasNext()) {
-// Element resourcesElement = helper.createSharedResourcesElement();
-// root.addContent(resourcesElement);
-// while (iterator.hasNext()) {
-// SharedResource resource = (SharedResource)iterator.next();
-//// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found SharedResource named: " + resource + " in list of configuration objects to export.");
-// Element resourceElement = helper.createSharedResourceElement(resource);
-// resourcesElement.addContent(resourceElement);
-// }
-// }
-//
-//
-// iterator = componentTypes.iterator();
-// if (iterator.hasNext()) {
-// Element componentTypesElement = helper.createComponentTypesElement();
-// root.addContent(componentTypesElement);
-// while (iterator.hasNext()) {
-// ComponentType componentType = (ComponentType)iterator.next();
-// Element componentTypeElement = helper.createComponentTypeElement(componentType);
-//// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found ComponentType named: " + componentType + " in list of configuration objects to export.");
-//
-// componentTypesElement.addContent(componentTypeElement);
-// }
-// }
-//
-//
-//
-// getXMLReaderWriter().writeDocument(doc, stream);
-// stream.close();
-//// I18nLogManager.logInfo(LogCommonConstants.CTX_CONFIG, LogMessageKeys.CONFIG_MSG_0003, configName);
-// }
-//
-
- public void exportComponentType(OutputStream stream, ComponentType type,
- Properties props) throws IOException {
-
-
- Assertion.isNotNull(type);
- Assertion.isNotNull(stream);
-
-// LogManager.logDetail(LogCommonConstants.CTX_CONFIG, "Exporting a ComponentType: "+ type.getName() + ".");
-
- XMLHelper helper = getXMLHelper();
-
- Element root = helper.createRootConfigurationDocumentElement();
-
- // create a new Document with a root element
- Document doc = new Document(root);
-
- // add the header element
- root = XMLHelperUtil.addHeaderElement(root, props);
-// root.addContent(helper.createHeaderElement(createHeaderProperties(props)));
-
- Element componentTypesElement = helper.createComponentTypesElement();
- root.addContent(componentTypesElement);
- componentTypesElement.addContent(helper.createComponentTypeElement(type));
-
- getXMLReaderWriter().writeDocument(doc, stream);
-// I18nLogManager.logInfo(LogCommonConstants.CTX_CONFIG, LogMessageKeys.CONFIG_MSG_0004, type.getName());
- }
-
- public void exportComponentTypes(OutputStream stream, ComponentType[] types,
- Properties props) throws IOException {
-
-
- Assertion.isNotNull(types);
- Assertion.isNotNull(stream);
-
-// LogManager.logDetail(LogCommonConstants.CTX_CONFIG, "Exporting a ComponentType: "+ type.getName() + ".");
-
- XMLHelper helper = getXMLHelper();
-
- Element root = helper.createRootConfigurationDocumentElement();
-
- // create a new Document with a root element
- Document doc = new Document(root);
-
- // add the header element
- root = XMLHelperUtil.addHeaderElement(root, props);
-// root.addContent(helper.createHeaderElement(createHeaderProperties(props)));
-
- Element componentTypesElement = helper.createComponentTypesElement();
- root.addContent(componentTypesElement);
-
- int s = types.length;
-
- for (int i = 0; i<s; i++) {
- ComponentType type = types[i];
-
- componentTypesElement.addContent(helper.createComponentTypeElement(type));
-
- }
-
- getXMLReaderWriter().writeDocument(doc, stream);
-// I18nLogManager.logInfo(LogCommonConstants.CTX_CONFIG, LogMessageKeys.CONFIG_MSG_0004, type.getName());
- }
-
-
-
- /**
- * <p>This method will generally be used to create a file representation of a
- * Connector Binding. It will write to the DirectoryEntry the representation
- * of the ServiceComponentDefn object that is passed in.</p>
- *
- * <p>Multiple ServiceComponentDefns can be written to the same DirectoryEntry
- * by passing the same DirectoryEntry instance to this method multiple times.</p>
- *
- * <p> The properties object that is passed into this method may contain
- * the following properties as defined by the ConfigurationPropertyNames class.</p>
- *
- * <pre>
- * ConfigurationPropertyNames.APPLICATION_CREATED_BY
- * ConfigurationPropertyNames.APPLICATION_VERSION_CREATED_BY
- * ConfigurationPropertyNames.USER_CREATED_BY
- * <pre>
- *
- * <p>Any of these properties that are not included in the properties object
- * will not be included in the header Element.
- *
- * @param stream the output stream to write the Configuration Object
- * representation to
- * @param type the ComponentType of the ServiceComponentDefn to be written
- * to the DirectoryEntry resource.
- * @param defn the ServiceComponentDefn instance to write to the DirectoryEntry.
- * @param props the properties object that contains the values for the Header
- * @throws IOException if there is an error writing to the DirectoryEntry
- * @throws ConfigObjectsNotResolvableException if the passed in
- * ComponentType is not the type referenced by the passed in ServiceComponentDefn.
- */
- public void exportServiceComponentDefn(OutputStream stream,
- ServiceComponentDefn defn, ComponentType type, Properties props)
- throws IOException, ConfigObjectsNotResolvableException {
- Assertion.isNotNull(defn);
- Assertion.isNotNull(type);
- Assertion.isNotNull(stream);
-
-// LogManager.logDetail(LogCommonConstants.CTX_CONFIG, "Exporting a ServiceDefinition: " + defn.getName() + ".");
-
- List configurationObjects = new ArrayList(2);
-
- configurationObjects.add(defn);
- configurationObjects.add(type);
-
- // here we need to make sure that the serviceComponentDefn references
- // the passed in ComponentType instance. If not, this will throw
- // the ConfigObjectsNotResolvableException
- resolveConfigurationObjects(configurationObjects);
-// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Configuration objects to export resolved properly.");
-
- XMLHelper helper = getXMLHelper();
-
- Element root = helper.createRootConfigurationDocumentElement();
-
- // create a new Document with a root element
- Document doc = new Document(root);
-
- root = XMLHelperUtil.addHeaderElement(root, props);
-
- // add the header element
-// root.addContent(helper.createHeaderElement(createHeaderProperties(props)));
-
- Element componentTypesElement = helper.createComponentTypesElement();
- root.addContent(componentTypesElement);
- componentTypesElement.addContent(helper.createComponentTypeElement(type));
-
- Element serviceComponentDefnsElement = helper.createServiceComponentDefnsElement();
- root.addContent(serviceComponentDefnsElement);
- serviceComponentDefnsElement.addContent(helper.createServiceComponentDefnElement(defn));
-
- getXMLReaderWriter().writeDocument(doc, stream);
-// I18nLogManager.logInfo(LogCommonConstants.CTX_CONFIG, LogMessageKeys.CONFIG_MSG_0005, defn.getName());
- }
-
-
- protected Collection createConnectorBindings(ConfigurationID configurationID, Element root, ConfigurationObjectEditor editor, boolean importExistingBinding)
- throws IOException, ConfigObjectsNotResolvableException,
- InvalidConfigurationElementException {
-// Element root = doc.getRootElement();
- Element connectorsElement = root.getChild(XMLElementNames.ConnectorComponents.ELEMENT);
- if (connectorsElement == null) {
- return Collections.EMPTY_LIST;
- }
-
- List connectorBindings = connectorsElement.getChildren(XMLElementNames.ConnectorComponents.ConnectorComponent.ELEMENT);
-
- List connObjects = new ArrayList(connectorBindings.size());
- if (connectorBindings != null) {
- Iterator iterator = connectorBindings.iterator();
- while (iterator.hasNext()) {
- Element connElement = (Element)iterator.next();
- ConnectorBinding conn = getXMLHelper().createConnectorBinding(configurationID, connElement, editor, null, importExistingBinding);
-// System.out.println("Created Connector Binding " + conn.getID());
- // LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Found Host named: " + host + " in XML file Hosts element.");
- connObjects.add(conn);
- }
- }
-
- return connObjects;
- }
-
- protected ConnectorBinding createConnectorBinding(ConfigurationID configurationID, Element root, ConfigurationObjectEditor editor, String name, boolean isImportConfig)
- throws IOException, ConfigObjectsNotResolvableException,
- InvalidConfigurationElementException {
-// Element root = doc.getRootElement();
- Element connectorsElement = root.getChild(XMLElementNames.ConnectorComponents.ELEMENT);
- if (connectorsElement == null) {
- return null;
- }
-
- List connectorBindings = connectorsElement.getChildren(XMLElementNames.ConnectorComponents.ConnectorComponent.ELEMENT);
-
- // return the first binding to be created because only one
- // binding is created in this method
- if (connectorBindings != null) {
- Iterator iterator = connectorBindings.iterator();
- while (iterator.hasNext()) {
- Element connElement = (Element)iterator.next();
- ConnectorBinding conn = getXMLHelper().createConnectorBinding(configurationID, connElement, editor, name, isImportConfig);
- return conn;
- }
- }
-
- return null;
- }
-
- /**
- * <p>This method will be used to import a ComponentType Object</p>
- *
- * <p>This method also allows you to rename the imported ComponentType object
- * possibly to avoid name conflicts with other objects already in the server.</p>
- *
- * <p>If the name parameter submitted is null, the name of the configuration
- * object as it exists in the DirectoryEntry will be used.</p>
- *
- * @param editor the ConfigurationObjectEditor to use to create the Configuration
- * objects in the DirectoryEntry resource.
- * @param stream the input stream to read the configuration object
- * representation from
- * @return the configuration object that was represented as data in the
- * DirectoryEntry resource
- * @param name the name for the ComponentType object to be created.
- * @throws IOException if there is an error reading from the DirectoryEntry
- * @throws InvalidConfigurationElementException if there is a problem with
- * the representation of the configuration element as it exists in the
- * DirectoryEntry resource, usually some type of formatting problem.
- */
-// public ComponentType importComponentType(Element root,
-// //InputStream stream,
-// ConfigurationObjectEditor editor, String name)
-// throws IOException, InvalidConfigurationElementException {
-//
-// // Assertion.isNotNull(stream);
-// Assertion.isNotNull(editor);
-//
-////*** LogManager.logDetail(LogCommonConstants.CTX_CONFIG, "Importing a ComponentType object...");
-//
-//// Document doc = null;
-////
-//// try {
-//// doc = getXMLReaderWriter().readDocument(stream);
-//// }catch(JDOMException e) {
-//// e.printStackTrace();
-//// throw new IOException(CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0005));
-//// }
-//// Element root = doc.getRootElement();
-//
-//
-// ComponentType t = createComponentType(root, editor, name);
-//
-////*** I18nLogManager.logInfo(LogCommonConstants.CTX_CONFIG, LogMessageKeys.CONFIG_MSG_0007, t.getName());
-//
-// return t;
-// }
-// /**
-// * <p>This method will be used to import 1 or more a ComponentType Objects.</p>
-// *
-// * @param editor the ConfigurationObjectEditor to use to create the Configuration
-// * objects.
-// * @param stream the input stream to read the configuration object
-// * representation from
-// * @return Collection of objects of type <code>ComponentType</code>
-// * @throws IOException if there is an error reading from the DirectoryEntry
-// * @throws InvalidConfigurationElementException if there is a problem with
-// * the representation of the configuration element as it exists in the
-// * DirectoryEntry resource, usually some type of formatting problem.
-// */
-//
-// public Collection importComponentTypes(InputStream stream,
-// ConfigurationObjectEditor editor)
-// throws IOException, InvalidConfigurationElementException {
-// Assertion.isNotNull(stream);
-// Assertion.isNotNull(editor);
-//
-// Document doc = null;
-//
-// try {
-// doc = getXMLReaderWriter().readDocument(stream);
-// }catch(JDOMException e) {
-// e.printStackTrace();
-// throw new IOException(CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0005));
-// }
-//
-// Element root = doc.getRootElement();
-//
-//
-// Collection connectorTypes = createComponentTypes(root, editor) ;
-//
-// return connectorTypes;
-//
-// }
-
-
-
-
- /**
- * <p>This method will be used to import a ServiceComponentDefn Object given a Directory
- * entry instance. If the DirectoryEntry resource does not contain enough
- * data to recombine a complete ServiceComponentDefn, then a ConfigurationObjectsNotResolvableException
- * will be thrown.</p>
- *
- * <p>This method also allows you to rename the imported ServiceComponentDefn object
- * possibly to avoid name conflicts with other objects already in the server.</p>
- *
- * <p>If the name parameter submitted is null, the name of the confiuguration
- * object as it exists in the DirectoryEntry will be used.</p>
- *
- * <p>This method returns an array of objects which represent a
- * ServiceComponentDefn and its corresponding ComponentType. The index of
- * each is defined by the following static variables:</p>
- *
- * <pre>
- * ConfigurationImportExportUtility.COMPONENT_TYPE_INDEX
- * ConfigurationImportExportUtility.SERVICE_COMPONENT_DEFN_INDEX
- * </pre>
- *
- * <p>These array indices are also used to override the ComponentType name
- * and ServiceComponentDefn name with the passed in name[] String array.
- * If either or both of these String names are null, the name of the returned
- * configuration object will be as it exists in the DirectoryEntry resource.</p>
- *
- * <p>The user of this method must either commit the ComponentType of this
- * ServiceComponentDefn or make sure that it already exists in the server
- * configuration database before attempting to commit the
- * ServiceComponentDefn object. This is because every ServiceComponentDefn
- * has a reference to a corresponding ComponentType</p>
- *
- * @param editor the ConfigurationObjectEditor to use to create the Configuration
- * objects in the DirectoryEntry resource.
- * @param stream the input stream to read the configuration object
- * representation from
- * @param name the name for the ServiceComponentDefn and ComponentType
- * object to be created.
- * @return the configuration objects that are represented as data in the
- * DirectoryEntry resource. see javadoc heading for details.
- * @throws ConfigObjectsNotResolvableException if the
- * ServiceComponentDefn does not have a reference to a ComponentType object
- * for which there is data to recombine in the DirectoryEntry resource.
- * @throws IOException if there is an error reading from the DirectoryEntry
- * @throws InvalidConfigurationElementException if there is a problem with
- * the representation of the configuration element as it exists in the
- * DirectoryEntry resource, usually some type of formatting problem.
- */
- public Object[] importServiceComponentDefn(InputStream stream,
- Configuration config, ConfigurationObjectEditor editor,
- String[] name)throws IOException,
- ConfigObjectsNotResolvableException,
- InvalidConfigurationElementException {
-
- Assertion.isNotNull(stream);
- Assertion.isNotNull(editor);
-
-//*** LogManager.logDetail(LogCommonConstants.CTX_CONFIG, "Importing a ServiceComponentDefn object.");
-
- Document doc = null;
-
-
- try {
- doc = getXMLReaderWriter().readDocument(stream);
- }catch(JDOMException e) {
- e.printStackTrace();
- throw new IOException(CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0006));
- }
-
- XMLHelper helper = getXMLHelper();
-
- Element root = doc.getRootElement();
-
- ComponentType type = createComponentType(root, editor, name[ConfigurationImportExportUtility.COMPONENT_TYPE_INDEX]);
-
- Element serviceComponentDefnsElement = root.getChild(XMLElementNames.Configurations.Configuration.ServiceComponentDefns.ELEMENT);
-
- if (serviceComponentDefnsElement == null) {
- throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0008, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0008, XMLElementNames.Configurations.Configuration.ServiceComponentDefns.ELEMENT));
- }
-
-
- Element serviceComponentDefnElement = serviceComponentDefnsElement.getChild(XMLElementNames.Configurations.Configuration.ServiceComponentDefns.ServiceComponentDefn.ELEMENT);
-
- ComponentDefn cd = helper.createServiceComponentDefn(serviceComponentDefnElement, config, editor, name[ConfigurationImportExportUtility.SERVICE_COMPONENT_DEFN_INDEX]);
- Object[] object = {type, cd};
-
-
-//*** I18nLogManager.logInfo(LogCommonConstants.CTX_CONFIG, LogMessageKeys.CONFIG_MSG_0008, cd.getName());
-
- return object;
- }
-
-// protected Collection createComponentTypes(Element root, ConfigurationObjectEditor editor) throws InvalidConfigurationElementException{
-//
-// Element componentTypesElement = root.getChild(XMLElementNames.ComponentTypes.ELEMENT);
-//
-// if (componentTypesElement == null) {
-// return Collections.EMPTY_LIST;
-// }
-//
-//
-// List componentTypes = componentTypesElement.getChildren(XMLElementNames.ComponentTypes.ComponentType.ELEMENT);
-//
-// List connObjects = null;
-//
-// if (componentTypes != null) {
-// connObjects = new ArrayList(componentTypes.size());
-//
-// getXMLHelper().orderComponentTypeElementList(componentTypes);
-// Iterator iterator = componentTypes.iterator();
-// while (iterator.hasNext()) {
-// Element connElement = (Element)iterator.next();
-// ComponentType type = getXMLHelper().createComponentType(connElement, editor, null, true);
-// connObjects.add(type);
-//
-// }
-// } else {
-// return Collections.EMPTY_LIST;
-// }
-//
-//
-//// List connObjects = null;
-//// if (connectorTypes != null) {
-//// connObjects = new ArrayList(connectorTypes.size());
-//// Iterator iterator = connectorTypes.iterator();
-//// while (iterator.hasNext()) {
-//// Element connElement = (Element)iterator.next();
-//// ComponentType type = helper.createComponentType(connElement, editor, null, true);
-//// connObjects.add(type);
-//// }
-//// } else {
-//// return Collections.EMPTY_LIST;
-//// }
-//
-// return connObjects;
-// }
-
-
- protected ComponentType createComponentType(Element root, ConfigurationObjectEditor editor, String name) throws InvalidConfigurationElementException{
- XMLHelper helper = getXMLHelper();
-
-// Element root = doc.getRootElement();
-
- Element componentTypesElement = root.getChild(XMLElementNames.ComponentTypes.ELEMENT);
-
- if (componentTypesElement == null) {
- throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0008, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0008,XMLElementNames.ComponentTypes.ELEMENT));
- }
-
- Element componentTypeElement = componentTypesElement.getChild(XMLElementNames.ComponentTypes.ComponentType.ELEMENT);
-
- if (componentTypeElement == null) {
- throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0008, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0008,XMLElementNames.ComponentTypes.ComponentType.ELEMENT));
- }
-
- return helper.createComponentType(componentTypeElement, editor, name, true);
- }
-
- /**
- * <p>This method will generally be used to create a file representation of a
- * Connector. It will write to the InputStream
- * the representation of the ComponentType that is passed in.</p>
- *
- * <p>We have made the assumption here that the Super and Parent Component
- * types of Connector ComponentType objects will already be loaded in
- * the configuration of the server. Thus we do not require that the Super
- * and Parent ComponentType be written to the resource. This will always be
- * the case as of the 2.0 server.</p>
- *
- * <p> The properties object that is passed into this method may contain
- * the following properties as defined by the ConfigurationPropertyNames class.</p>
- *
- * <pre>
- * ConfigurationPropertyNames.APPLICATION_CREATED_BY
- * ConfigurationPropertyNames.APPLICATION_VERSION_CREATED_BY
- * ConfigurationPropertyNames.USER_CREATED_BY
- * <pre>
- *
- * <p>Any of these properties that are not included in the properties object
- * will not be included in the header Element.
- *
- * @param stream the output stream to write the Configuration Object
- * representation to
- * @param type the ComponentType to be written to the InputStream
- * @param props the properties object that contains the values for the Header
- * @throws IOException if there is an error writing to the InputStream
- */
- public void exportConnector(OutputStream stream, ComponentType type, Properties props) throws IOException {
- // no resolving issues with this implementation...
- exportComponentType(stream, type, props);
- }
-
- /**
- * <p>This method will generally be used to create a file representation of a
- * Connector Binding. It will write to the InputStream the representation
- * of the ServiceComponentDefn object that is passed in.</p>
- *
- * <p> The properties object that is passed into this method may contain
- * the following properties as defined by the ConfigurationPropertyNames class.</p>
- *
- * <pre>
- * ConfigurationPropertyNames.APPLICATION_CREATED_BY
- * ConfigurationPropertyNames.APPLICATION_VERSION_CREATED_BY
- * ConfigurationPropertyNames.USER_CREATED_BY
- * <pre>
- *
- * <p>Any of these properties that are not included in the properties object
- * will not be included in the header Element.
- *
- * @param stream the output stream to write the Configuration Object
- * representation to
- * @param type the ComponentType of the ServiceComponentDefn to be written
- * to the InputStream resource.
- * @param defn the ServiceComponentDefn instance to write to the InputStream.
- * @param props the properties object that contains the values for the Header
- * @throws IOException if there is an error writing to the InputStream
- * @throws ConfigObjectsNotResolvableException if the passed in
- * ComponentType is not the type referenced by the passed in ServiceComponentDefn.
- */
- public void exportConnectorBinding(OutputStream stream, ConnectorBinding defn, ComponentType type, Properties props) throws IOException, ConfigObjectsNotResolvableException {
- Assertion.isNotNull(defn);
- Assertion.isNotNull(type);
- Assertion.isNotNull(stream);
-
-//*** LogManager.logDetail(LogCommonConstants.CTX_CONFIG, "Exporting Connector Binding: " + defn.getName() + ".");
-
- // here we ensure that this is a Connector and that the given component
- // type resolves to the given ServiceComponentDefn.
- resolveConnector(type, defn);
-
-// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Connector binding object to export resolved properly.");
-
- XMLHelper helper = getXMLHelper();
-
- Element root = helper.createRootConfigurationDocumentElement();
-
- // create a new Document with a root element
- Document doc = new Document(root);
-
- root = XMLHelperUtil.addHeaderElement(root, props);
- // add the header element
-// root.addContent(helper.createHeaderElement(createHeaderProperties(props)));
-
- Element componentTypesElement = helper.createComponentTypesElement();
- root.addContent(componentTypesElement);
- componentTypesElement.addContent(helper.createComponentTypeElement(type));
-
- Element connectorsElement = helper.createConnectorBindingsElement();
- root.addContent(connectorsElement);
- Element connElement = helper.createConnectorBindingElement(defn, false );
- connectorsElement.addContent(connElement);
-
- getXMLReaderWriter().writeDocument(doc, stream);
-//*** I18nLogManager.logInfo(LogCommonConstants.CTX_CONFIG, LogMessageKeys.CONFIG_MSG_0009, defn.getName());
- }
-
-
- public void exportConnectorBindings(OutputStream stream, ConnectorBinding[] bindings, ComponentType[] types, Properties props) throws IOException, ConfigObjectsNotResolvableException {
- Assertion.isNotNull(bindings);
- Assertion.isNotNull(types);
- Assertion.isNotNull(stream);
-
-
-// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Connector binding object to export resolved properly.");
-
- XMLHelper helper = getXMLHelper();
-
- Element root = helper.createRootConfigurationDocumentElement();
-
- // create a new Document with a root element
- Document doc = new Document(root);
-
- root = XMLHelperUtil.addHeaderElement(root, props);
- // add the header element
-// root.addContent(helper.createHeaderElement(createHeaderProperties(props)));
-
- exportConnectorBindings(bindings, types, root);
-
- getXMLReaderWriter().writeDocument(doc, stream);
-
- }
-
-
-// public ComponentType importConnector(InputStream stream, ConfigurationObjectEditor editor, String newName)throws IOException, InvalidConfigurationElementException {
-// // no special implementation changes needed to import Connectors
-// return importComponentType(stream, editor, newName);
-// }
-
-
- /**
- * Add connector bindings and component types (connector types) under
- * a common root element.
- * @param bindings
- * @param types
- * @param helper
- * @param root
- * @since 4.2
- */
- public void exportConnectorBindings(ConnectorBinding[] bindings,
- ComponentType[] types,
- Element root) {
- XMLHelper helper = getXMLHelper();
- int s = bindings.length;
- List ts = new ArrayList(s);
-
- Element componentTypesElement = helper.createComponentTypesElement();
- root.addContent(componentTypesElement);
-
-
- Element connectorsElement = helper.createConnectorBindingsElement();
- root.addContent(connectorsElement);
-
- if (bindings == null || bindings.length == 0) {
- return;
- }
-
- int tsize = types.length;
- Map typeMap = new HashMap(tsize);
-
- for (int i = 0; i<tsize; i++) {
- ComponentType type = types[i];
- if (type != null) {
- typeMap.put(type.getID(), type);
- }
- }
-
-
-
- for (int i = 0; i<s; i++) {
-
- ConnectorBinding cb = bindings[i];
- if (cb == null) {
- continue;
- }
- ComponentType type = (ComponentType) typeMap.get(cb.getComponentTypeID());
-
- // here we ensure that this is a Connector and that the given component
- // type resolves to the given ServiceComponentDefn.
-// try {
-// resolveConnector(type, cb);
-// } catch(ConfigObjectsNotResolvableException conr) {
-//
-// conr.printStackTrace(System.out);
-//
-// System.out.print(conr.getMessage());
-// continue;
-// }
-
- if (type != null && !ts.contains(type.getFullName())) {
- componentTypesElement.addContent(helper.createComponentTypeElement(type));
- ts.add(type.getFullName());
- }
-
- Element connElement = helper.createConnectorBindingElement(cb, false );
- connectorsElement.addContent(connElement);
-
- }
- }
-
- public ConnectorBinding importConnectorBinding(InputStream stream, ConfigurationObjectEditor editor, String newName)throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException {
- Assertion.isNotNull(stream);
- Assertion.isNotNull(editor);
-
-//*** LogManager.logDetail(LogCommonConstants.CTX_CONFIG, "Importing a ConnectorBinding object.");
-
- Document doc = null;
-
- try {
- doc = getXMLReaderWriter().readDocument(stream);
- } catch(JDOMException e) {
- throw new IOException(CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0010));
- }
-
- Element root = doc.getRootElement();
-
-
- ConnectorBinding binding = createConnectorBinding(Configuration.NEXT_STARTUP_ID, root, editor, newName, false) ;
-
- if (binding == null) {
- throw new ConfigObjectsNotResolvableException(ErrorMessageKeys.CONFIG_ERR_0011, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0011));
- }
-
-//*** I18nLogManager.logInfo(LogCommonConstants.CTX_CONFIG, LogMessageKeys.CONFIG_MSG_0010, binding.getName());
-
-
- return binding;
-
-}
-
- public Collection importConnectorBindings(Element root, ConfigurationObjectEditor editor, boolean importExistingBinding)throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException {
- Assertion.isNotNull(root);
- Assertion.isNotNull(editor);
-
-//*** LogManager.logDetail(LogCommonConstants.CTX_CONFIG, "Importing 1 or more ConnectorBinding objects.");
-
-
- Collection connectorBindings = createConnectorBindings(Configuration.NEXT_STARTUP_ID, root, editor, importExistingBinding) ;
-
-//*** I18nLogManager.logInfo(LogCommonConstants.CTX_CONFIG, LogMessageKeys.CONFIG_MSG_0011);
-
- return connectorBindings;
- }
-
-
-
- public Collection importConnectorBindings(InputStream stream, ConfigurationObjectEditor editor, boolean importExistingBinding)throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException {
- Assertion.isNotNull(stream);
- Assertion.isNotNull(editor);
-
-//*** LogManager.logDetail(LogCommonConstants.CTX_CONFIG, "Importing 1 or more ConnectorBinding objects.");
-
- Document doc = null;
-
- try {
- doc = getXMLReaderWriter().readDocument(stream);
- } catch(JDOMException e) {
- throw new IOException(CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0010));
-
- }
-
- Element root = doc.getRootElement();
-
- return importConnectorBindings(root, editor, importExistingBinding);
- }
-
- public Object[] importConnectorBindingAndType(InputStream stream, ConfigurationObjectEditor editor, String[] newName)throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException {
-
- Assertion.isNotNull(stream);
- Assertion.isNotNull(editor);
-
-//*** LogManager.logDetail(LogCommonConstants.CTX_CONFIG, "Importing a Connector Binding object and Connector Type.");
-
- Document doc = null;
-
- try {
- doc = getXMLReaderWriter().readDocument(stream);
- } catch(JDOMException e) {
- throw new IOException(CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0012));
- }
-
- String typeName = null;
- String bindingName = null;
- if (newName != null) {
- typeName = newName[ConfigurationImportExportUtility.COMPONENT_TYPE_INDEX];
- bindingName = newName[ConfigurationImportExportUtility.SERVICE_COMPONENT_DEFN_INDEX];
- }
- Element root = doc.getRootElement();
-
- ComponentType type = createComponentType(root, editor, typeName);
-
- if (type == null) {
- throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0013, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0013));
- }
-
-
- ConnectorBinding binding = createConnectorBinding(Configuration.NEXT_STARTUP_ID, root, editor, bindingName, false) ;
-
-
- if (binding == null) {
- throw new ConfigObjectsNotResolvableException(ErrorMessageKeys.CONFIG_ERR_0014, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0014));
- }
-
- // here we ensure that this is a Connector and that the given component
- // type resolves to the given ServiceComponentDefn.
- resolveConnector(type, binding);
-
- Object[] object = {type, binding
- };
-
-//*** I18nLogManager.logInfo(LogCommonConstants.CTX_CONFIG, LogMessageKeys.CONFIG_MSG_0012, new Object[] {type.getName(), binding.getName()});
-
- return object;
-
- }
-
-
- /**
- * This method is used specifically to resolve Connector Binding
- * ServiceComponentDefns to their respective Connector ComponentTypes.
- */
- private void resolveConnector(ComponentType type, ComponentDefn defn) throws ConfigObjectsNotResolvableException {
-
- // check to be sure that the passed in ComponentType is the correct one for
- // this ServiceComponentDefn.
- if (type == null) {
- String msg = CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0015, new Object[] {defn.getID(), defn.getComponentTypeID()} );
-
- System.err.print(msg);
-
- throw new ConfigObjectsNotResolvableException(ErrorMessageKeys.CONFIG_ERR_0015, msg);
-
- } else if (!(defn.getComponentTypeID().equals(type.getID()))) {
- String msg = CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0015, new Object[] {defn.getID(), type.getID()} );
-
- System.err.print(msg);
-
- throw new ConfigObjectsNotResolvableException(ErrorMessageKeys.CONFIG_ERR_0015, msg);
- }
- // the super and parent ComponentTypeID's of all Connectors are
- // always the same as defined by the static finals in the config objects.
-// if (!(type.getParentComponentTypeID().getName().equals(ProductType.CONNECTOR_PRODUCT_TYPE_NAME))) {
-// throw new ConfigObjectsNotResolvableException(ErrorMessageKeys.CONFIG_ERR_0016, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0016, type.getParentComponentTypeID().getName()));
-// }
-
- if (!type.isOfTypeConnector()) {
- throw new ConfigObjectsNotResolvableException(ErrorMessageKeys.CONFIG_ERR_0017, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0017, type.getSuperComponentTypeID().getName()));
- }
- }
-
- /**
- * <p>This method will resolve that none of the configuration objects in the
- * collection of configuration objects refers to a configuration object that
- * is not in the collection. Any set of configuration obejcts can be passed
- * to this method. </p>
- *
- * <p>Any number of actual Configuration object instances may be passed in
- * in the Collection.</p>
- *
- * @param collection the collection of configuration objects to be resolved
- * @throws ConfigObjectsNotResolvableException if the collection of objects
- * passed in are not self containing.
- */
- public void resolveConfigurationObjects(Collection collection) throws ConfigObjectsNotResolvableException{
-
- List[] lists = segregateConfigurationObjects(collection);
-
- resolveConfigurationObjects(lists);
- }
-
-
-
- protected void resolveConfigurationObjects(List[] lists) throws ConfigObjectsNotResolvableException{
-
- List configurations = lists[CONFIGURATIONS_INDEX];
-// List productTypes = lists[PRODUCT_TYPES_INDEX];
-
- List hosts = lists[HOSTS_INDEX];
- List deployedComponents = lists[DEPLOYED_COMPONENTS_INDEX];
- List serviceComponentDefns = lists[SERVICE_COMPONENT_DEFNS_INDEX];
- List vmComponentDefns = lists[VM_COMPONENT_DEFNS_INDEX];
- List componentTypes = lists[COMPONENT_TYPES_INDEX];
- // List productServiceConfigs = lists[PRODUCT_SERVICE_CONFIGS_INDEX];
-
- List connectionPools = lists[CONNECTION_POOL_CONFIGS_INDEX];
-
- List resources = lists[RESOURCES_INDEX];
-
- List connectorBindings = lists[CONNECTORS_INDEX];
-
- List configurationIDs = lists[CONFIGURATION_IDS_INDEX];
- // List productTypeIDs = lists[PRODUCT_TYPE_IDS_INDEX];
- List hostIDs = lists[HOST_IDS_INDEX];
- List serviceComponentDefnIDs = lists[SERVICE_COMPONENT_DEFN_IDS_INDEX];
- List vmComponentDefnIDs = lists[VM_COMPONENT_DEFN_IDS_INDEX];
- List componentTypeIDs = lists[COMPONENT_TYPE_IDS_INDEX];
- // List productServiceConfigIDs = lists[PRODUCT_SERVICE_CONFIG_IDS_INDEX];
-
- List connectorBindingsIDs = lists[CONNECTORS_IDS_INDEX];
-
-
- // we do this because a DeployedComponent can have a null ServiceComponentDefnID
- // and a null ProductServiceComponentID and still be viable. This will
- // allow the contains methods called on these Lists later in this method
- // to return true if the ID is null instead of throwing a bogus exception
- serviceComponentDefnIDs.add(null);
- connectorBindingsIDs.add(null);
- // productServiceConfigIDs.add(null);
- // productTypeIDs.add(null);
- componentTypeIDs.add(null);
-
- // now we must iterate through each object type, pull out any references
- // to other configuration objects and ensure that those objects were
- // in the collection of objects passed into the method.
- Iterator iterator = deployedComponents.iterator();
- while (iterator.hasNext()) {
- DeployedComponent deployedComponent = (DeployedComponent) iterator.next();
- if(!vmComponentDefnIDs.contains(deployedComponent.getVMComponentDefnID())){
-// LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "The VMComponentDefnID " + deployedComponent.getVMComponentDefnID() + " was not found in the list of VMCompoentDefnIDs: " + vmComponentDefnIDs);
-
- throwObjectsNotResolvable(deployedComponent, deployedComponent.getVMComponentDefnID(), "vm component"); //$NON-NLS-1$
- }
-
- if (!serviceComponentDefnIDs.contains(deployedComponent.getServiceComponentDefnID()) &&
- !connectorBindingsIDs.contains(deployedComponent.getServiceComponentDefnID()) ) {
-
- throwObjectsNotResolvable(deployedComponent, deployedComponent.getServiceComponentDefnID(), "service component"); //$NON-NLS-1$
- }
-
- if (!hostIDs.contains(deployedComponent.getHostID())) {
- throwObjectsNotResolvable(deployedComponent, deployedComponent.getHostID(), "host"); //$NON-NLS-1$
- }
-
-// if (!productServiceConfigIDs.contains(deployedComponent.getProductServiceConfigID())) {
-// throwObjectsNotResolvable(deployedComponent, deployedComponent.getProductServiceConfigID(), "psc"); //$NON-NLS-1$
-// }
-
- checkComponentTypeID(deployedComponent, componentTypeIDs);
- }
-
- iterator = resources.iterator();
- while (iterator.hasNext()) {
- SharedResource defn = (SharedResource)iterator.next();
- checkComponentTypeID(defn, componentTypeIDs);
- }
-
-
- iterator = connectionPools.iterator();
- while (iterator.hasNext()) {
- ResourceDescriptor defn = (ResourceDescriptor)iterator.next();
- checkComponentTypeID(defn, componentTypeIDs);
- checkConfigurationID(defn, configurationIDs);
- }
-
- iterator = connectorBindings.iterator();
- while (iterator.hasNext()) {
- ConnectorBinding defn = (ConnectorBinding)iterator.next();
- checkComponentTypeID(defn, componentTypeIDs);
- }
-
-
-
- iterator = serviceComponentDefns.iterator();
- while (iterator.hasNext()) {
- ServiceComponentDefn defn = (ServiceComponentDefn)iterator.next();
- checkComponentTypeID(defn, componentTypeIDs);
- checkConfigurationID(defn, configurationIDs);
- }
-
- iterator = vmComponentDefns.iterator();
- while (iterator.hasNext()) {
- VMComponentDefn defn = (VMComponentDefn)iterator.next();
- checkComponentTypeID(defn, componentTypeIDs);
- checkConfigurationID(defn, configurationIDs);
-
-
- }
-
-
-// iterator = productServiceConfigs.iterator();
-// while (iterator.hasNext()) {
-// ProductServiceConfig config = (ProductServiceConfig)iterator.next();
-//
-// // psc's component types are based on products, not actual component types
-//// checkPSCProductTypeID(config);
-//
-//// checkComponentTypeID(config, componentTypeIDs, productTypeIDs);
-// checkConfigurationID(config, configurationIDs);
-// Iterator iter = config.getServiceComponentDefnIDs().iterator();
-// while (iter.hasNext()) {
-// Object obj = iter.next();
-// // ComponentDefnID id = (ComponentDefnID) obj;
-//// System.out.println("PSC ID: " + id.getFullName() + " class " + id.getClass().getName());
-//
-// if (serviceComponentDefnIDs.contains(obj) ||
-// connectorBindingsIDs.contains(obj) ) {
-// } else {
-// throwObjectsNotResolvable(obj, config, "service component"); //$NON-NLS-1$
-// }
-// }
-// }
-//
-// iterator = componentTypes.iterator();
-// while (iterator.hasNext()) {
-// ComponentType type = (ComponentType)iterator.next();
-// // checkForComponentTypeID(type.getSuperComponentTypeID(), componentTypeIDs);
-// // checkForProductTypeID(type, type.getParentComponentTypeID(), productTypeIDs, componentTypeIDs);
-// }
-
-// iterator = productTypes.iterator();
-// while (iterator.hasNext()) {
-// ProductType type = (ProductType)iterator.next();
-//
-// checkForComponentTypeID(type.getSuperComponentTypeID(), componentTypeIDs, productTypeIDs);
-// checkForComponentTypeID(type.getParentComponentTypeID(), componentTypeIDs, productTypeIDs);
-// Iterator iter = type.getComponentTypeIDs().iterator();
-// while (iter.hasNext()) {
-// ComponentTypeID id = (ComponentTypeID)iter.next();
-// checkForComponentTypeID(id, componentTypeIDs, productTypeIDs);
-// }
-// }
-
- iterator = configurations.iterator();
- while (iterator.hasNext()) {
- Configuration config = (Configuration)iterator.next();
- checkComponentTypeID(config, componentTypeIDs);
- }
-
- iterator = hosts.iterator();
- while (iterator.hasNext()) {
- Host host = (Host)iterator.next();
- checkComponentTypeID(host, componentTypeIDs);
- }
-
-//*** LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "Configuration objects resolved properly.");
-
- }
-
- private void throwObjectsNotResolvable(Object referencingObject, Object referencedObject, String type) throws ConfigObjectsNotResolvableException{
-
- String msg = CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0018, new Object[]
- {referencingObject, type, referencedObject} );
- ConfigObjectsNotResolvableException e = new ConfigObjectsNotResolvableException(ErrorMessageKeys.CONFIG_ERR_0018, msg, referencingObject);
-
- throw e;
- }
-
- private void throwObjectsNotResolvable(Object referencingObject, String type) throws ConfigObjectsNotResolvableException{
- String msg = CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0019, new Object[]
- {referencingObject, type} );
-
-
- ConfigObjectsNotResolvableException e = new ConfigObjectsNotResolvableException(ErrorMessageKeys.CONFIG_ERR_0019, msg, referencingObject);
-
- throw e;
- }
-
-
-// private void throwConfigObjectsNotResolvableExceptionx(Object referencingObject, Object referencedObject) throws ConfigObjectsNotResolvableException{
-// String msg = CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0020, new Object[]
-// {referencingObject, referencedObject} );
-//
-//
-// ConfigObjectsNotResolvableException e = new ConfigObjectsNotResolvableException(msg);
-//
-// throw e;
-// }
-
-// private void checkComponentTypeID(ComponentObject object, List componentTypeIDs) throws ConfigObjectsNotResolvableException{
-// if (!(componentTypeIDs.contains(object.getComponentTypeID()))) {
-// // ||productTypeIDs.contains(object.getComponentTypeID()))) {
-// // LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "The ComponentTypeID: " + object.getComponentTypeID() + " was not found in the list of ComponentTypeIDs: " + componentTypeIDs + " or the list of Product TypeIDs: " + productTypeIDs);
-// throwObjectsNotResolvable(object, object.getComponentTypeID(), "component type"); //$NON-NLS-1$
-//// throwConfigObjectsNotResolvableException(object, object.getComponentTypeID());
-// }
-// }
-
- private void checkConfigurationID(ComponentDefn defn, List configurationIDs) throws ConfigObjectsNotResolvableException {
- if (!configurationIDs.contains(defn.getConfigurationID())) {
- throwObjectsNotResolvable(defn, defn.getConfigurationID(), "configuration object"); //$NON-NLS-1$
-
-// throwConfigObjectsNotResolvableException(defn, defn.getConfigurationID());
- }
- }
-
- /**
- * Used when product types ids are not part of validation - i.e., ResourceDescriptors
- */
- private void checkComponentTypeID(ComponentObject object, List componentTypeIDs) throws ConfigObjectsNotResolvableException{
- if (!(componentTypeIDs.contains(object.getComponentTypeID()) )) {
- //*** LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "The ComponentTypeID: " + object.getComponentTypeID() + " was not found in the list of ComponentTypeIDs: " + componentTypeIDs );
- throwObjectsNotResolvable(object, object.getComponentTypeID(), "component type"); //$NON-NLS-1$
-
-// throwConfigObjectsNotResolvableException(object, object.getComponentTypeID());
- }
- }
-
- /**
- * used to validate PSC's
- * @param object
- * @param productTypeIDs
- * @throws ConfigObjectsNotResolvableException
- * @since 4.2
- */
-// private void checkPSCProductTypeID(ProductServiceConfig object, List productTypeIDs) throws ConfigObjectsNotResolvableException{
-// if (!(productTypeIDs.contains(object.getComponentTypeID()))) {
-// // LogManager.logTrace(LogCommonConstants.CTX_CONFIG, "The ComponentTypeID: " + object.getComponentTypeID() + " was not found in the list of ComponentTypeIDs: " + componentTypeIDs + " or the list of Product TypeIDs: " + productTypeIDs);
-// throwObjectsNotResolvable(object, object.getComponentTypeID(), "component type"); //$NON-NLS-1$
-//// throwConfigObjectsNotResolvableException(object, object.getComponentTypeID());
-// }
-// }
-
-
- private void checkForComponentTypeID(ComponentTypeID id, List componentTypeIDs) throws ConfigObjectsNotResolvableException{
-
- if (id!=null) {
- if (!(componentTypeIDs.contains(id))) {
- throwObjectsNotResolvable(id, "component"); //$NON-NLS-1$
-
-// throwConfigObjectsNotResolvableException(id, id);
- }
-
- }
-
- }
-
- private void checkForProductTypeID(ComponentType type, ComponentTypeID parentid, List productTypeIDs, List componentTypeIDs) throws ConfigObjectsNotResolvableException{
-
- if (parentid!=null) {
- if (type.isOfTypeConnector()) {
- // if connector, must have a valid product type parent
- if (!(productTypeIDs.contains(parentid) )) {
- throwObjectsNotResolvable(parentid, "product type"); //$NON-NLS-1$
-
- // throwConfigObjectsNotResolvableException(id, id);
- }
- }
- }
-
- }
-
- protected List[] segregateConfigurationObjects(Collection collection) {
-
-
- List[] lists = new ArrayList[NUMBER_OF_LISTS];
-
- Assertion.isNotNull(collection);
- ArrayList componentTypes = new ArrayList();
- ArrayList hosts = new ArrayList();
- ArrayList deployedComponents = new ArrayList();
- ArrayList serviceComponentDefns = new ArrayList();
- ArrayList vmComponentDefns = new ArrayList();
- // ArrayList productServiceConfigs = new ArrayList();
- ArrayList configurations = new ArrayList();
-// ArrayList productTypes = new ArrayList();
- ArrayList connPools = new ArrayList();
- ArrayList resources = new ArrayList();
- ArrayList bindings = new ArrayList();
-
-
- ArrayList componentTypeIDs = new ArrayList();
- ArrayList hostIDs = new ArrayList();
- ArrayList deployedComponentIDs = new ArrayList();
- ArrayList serviceComponentDefnIDs = new ArrayList();
- ArrayList vmComponentDefnIDs = new ArrayList();
- // ArrayList productServiceConfigIDs = new ArrayList();
- ArrayList configurationIDs = new ArrayList();
- // ArrayList productTypeIDs = new ArrayList();
-
- ArrayList bindingIDs = new ArrayList();
-
-
- // here we segregate the configuration objects by type so that we can
- // determine what references they may have to other configuration objects
- // we also set up lists of ID's as a convenience so that we can use
- // contains() to check to see if an id is resolvable within the collection
- Iterator iterator = collection.iterator();
- while (iterator.hasNext()) {
- Object obj = iterator.next();
-
- // product types need to go before component type
-
- if (obj instanceof ComponentType) {
-
- componentTypes.add(obj);
- componentTypeIDs.add(((BaseObject)obj).getID());
- }else if(obj instanceof ComponentObject) {
- if (obj instanceof Host) {
- hosts.add(obj);
- hostIDs.add(((BaseObject)obj).getID());
- }else if(obj instanceof DeployedComponent) {
- deployedComponents.add(obj);
- deployedComponentIDs.add(((BaseObject)obj).getID());
- }else if(obj instanceof Configuration) {
- configurations.add(obj);
- configurationIDs.add(((BaseObject)obj).getID());
-
- }else if(obj instanceof SharedResource) {
- resources.add(obj);
- }else if(obj instanceof ConnectorBinding) {
- bindings.add(obj);
- bindingIDs.add(((BaseObject)obj).getID());
-
- }else if(obj instanceof ComponentDefn) {
-// if (obj instanceof ProductServiceConfig) {
-// productServiceConfigs.add(obj);
-// productServiceConfigIDs.add(((BaseObject)obj).getID());
-// }else
- if(obj instanceof ServiceComponentDefn) {
- serviceComponentDefns.add(obj);
- serviceComponentDefnIDs.add(((BaseObject)obj).getID());
- }else if(obj instanceof VMComponentDefn) {
- vmComponentDefns.add(obj);
- vmComponentDefnIDs.add(((BaseObject)obj).getID());
- }else if(obj instanceof ResourceDescriptor) {
- connPools.add(obj);
-// connPoolIDs.add(((BaseObject)obj).getID());
-
- } else {
-// ComponentDefn cd = (ComponentDefn) obj;
-//*** LogManager.logDetail(LogCommonConstants.CTX_CONFIG, "The ComponentDefn: " + cd.getFullName() + " could not be categorized as a Standard Configuration Object and will be ignored. Its class type is: " + cd.getClass());
- }
- }
- }
- }
-
-
- lists[CONFIGURATIONS_INDEX] = configurations;
-// lists[PRODUCT_TYPES_INDEX] = productTypes;
- lists[HOSTS_INDEX] = hosts;
- lists[DEPLOYED_COMPONENTS_INDEX] = deployedComponents;
- lists[SERVICE_COMPONENT_DEFNS_INDEX] = serviceComponentDefns;
- lists[VM_COMPONENT_DEFNS_INDEX] = vmComponentDefns;
- lists[COMPONENT_TYPES_INDEX] = componentTypes;
-// lists[PRODUCT_SERVICE_CONFIGS_INDEX] = productServiceConfigs;
-
- lists[CONFIGURATION_IDS_INDEX] = configurationIDs;
-// lists[PRODUCT_TYPE_IDS_INDEX] = productTypeIDs;
- lists[HOST_IDS_INDEX] = hostIDs;
- lists[DEPLOYED_COMPONENT_IDS_INDEX] = deployedComponentIDs;
- lists[SERVICE_COMPONENT_DEFN_IDS_INDEX] = serviceComponentDefnIDs;
- lists[VM_COMPONENT_DEFN_IDS_INDEX] = vmComponentDefnIDs;
- lists[COMPONENT_TYPE_IDS_INDEX] = componentTypeIDs;
-// lists[PRODUCT_SERVICE_CONFIG_IDS_INDEX] = productServiceConfigIDs;
-
- lists[CONNECTION_POOL_CONFIGS_INDEX] = connPools;
-
- lists[RESOURCES_INDEX] = resources;
- lists[CONNECTORS_INDEX] = bindings;
- lists[CONNECTORS_IDS_INDEX] = bindingIDs;
-
-
- return lists;
- }
-
- protected XMLReaderWriter getXMLReaderWriter() {
- if (readerWriter == null) {
- readerWriter = new XMLReaderWriterImpl();
- }
- return readerWriter;
- }
-
- protected abstract XMLHelper getXMLHelper();
-
-}
Copied: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_ElementNames.java (from rev 747, branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_42_ElementNames.java)
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_ElementNames.java (rev 0)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_ElementNames.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -0,0 +1,894 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package com.metamatrix.common.config.xml;
+
+import com.metamatrix.common.config.util.ConfigurationPropertyNames;
+
+/**
+* This class structure mimics the structure of a Configuration XML
+* document and defines all of the element and attribute names for that
+* document type.
+*/
+public interface XMLConfig_ElementNames {
+
+ /**
+ * This is used as the delimiter of all XML element names.
+ */
+ public static final String DELIMITER = "."; //$NON-NLS-1$
+
+ /**
+ * This should be the root Element name for all Configuration XML Documents.
+ */
+ public static final String ELEMENT = "ConfigurationDocument"; //$NON-NLS-1$
+
+
+
+ /**
+ * This is the class that represents the Configuration Element which contains
+ * all of the XML elements that represent a Configuration object.
+ */
+ public static class Configuration {
+ /**
+ * This is the name of the Configurations Element.
+ */
+ public static final String ELEMENT = "Configuration"; //$NON-NLS-1$
+ public static class Attributes extends ComponentObject.Attributes{
+ }
+
+
+
+
+ /**
+ * This is the class that represents the Host Element which contains
+ * all of the XML elements that represent a Host object.
+ */
+ public static class Host {
+
+ /**
+ * This is the name of the Host Element.
+ */
+ public static final String ELEMENT = "Host"; //$NON-NLS-1$
+ public static class Attributes extends ComponentObject.Attributes{
+
+
+ }
+
+
+ /**
+ * This is the class that represents the ComponentDefnID Element which contains
+ * all of the XML elements that represent a ComponentDefnID object.
+ */
+// public static final class ComponentDefnID{
+//
+// /**
+// * This is the name of the ComponentDefnID Element.
+// */
+// public static final String ELEMENT = "ComponentDefnID"; //$NON-NLS-1$
+//
+// /**
+// * This class defines the Attributes of the Element class that
+// * contains it. Note that this class just inherits its attributes
+// * from its configuration object superclass.
+// */
+// public static class Attributes extends ID.Attributes {
+// }
+// }
+
+ /**
+ * This is the class that represents the DeployedComponentID Element which contains
+ * all of the XML elements that represent a DeployedComponentID object.
+ */
+// public static final class DeployedComponentID{
+//
+// /**
+// * This is the name of the DeployedComponentID Element.
+// */
+// public static final String ELEMENT = "DeployedComponentID"; //$NON-NLS-1$
+//
+// /**
+// * This class defines the Attributes of the Element class that
+// * contains it. Note that this class just inherits its attributes
+// * from its configuration object superclass.
+// */
+// public static class Attributes extends ID.Attributes {
+// }
+// }
+
+ /**
+ * This is the class that represents the ProductServiceConfigID Element which contains
+ * all of the XML elements that represent a ProductServiceConfigID object.
+ */
+// public static final class ProductServiceConfigID{
+//
+// /**
+// * This is the name of the ProductServiceConfigID Element.
+// */
+// public static final String ELEMENT = "ProductServiceConfigID"; //$NON-NLS-1$
+//
+// /**
+// * This class defines the Attributes of the Element class that
+// * contains it. Note that this class just inherits its attributes
+// * from its configuration object superclass.
+// */
+// public static class Attributes extends ID.Attributes {
+// }
+// }
+
+ /**
+ * This is the class that represents the VMComponentDefnID Element which contains
+ * all of the XML elements that represent a VMComponentDefnID object.
+ */
+// public static final class VMComponentDefnID{
+//
+// /**
+// * This is the name of the VMComponentDefnID Element.
+// */
+// public static final String ELEMENT = "VMComponentDefnID"; //$NON-NLS-1$
+//
+// /**
+// * This class defines the Attributes of the Element class that
+// * contains it. Note that this class just inherits its attributes
+// * from its configuration object superclass.
+// */
+// public static class Attributes extends ID.Attributes {
+// }
+// }
+
+ /**
+ * This is the class that represents the VMComponentDefnID Element which contains
+ * all of the XML elements that represent a VMComponentDefnID object.
+ */
+// public static final class ServiceComponentDefnID{
+//
+// /**
+// * This is the name of the ServiceComponentDefnID Element.
+// */
+// public static final String ELEMENT = "ServiceComponentDefnID"; //$NON-NLS-1$
+//
+// /**
+// * This class defines the Attributes of the Element class that
+// * contains it. Note that this class just inherits its attributes
+// * from its configuration object superclass.
+// */
+// public static class Attributes extends ID.Attributes {
+// }
+// }
+
+
+
+ }
+
+ /**
+ * This is the class that represents the ProductServiceConfigs Element which contains
+ * all of the XML elements that represent a ProductServiceConfigs object.
+ */
+ public static class AuthenticationProviders {
+
+ /**
+ * This is the name of the ProductServiceConfigs Element.
+ */
+ public static final String ELEMENT = "AuthenticationProviders"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the ProductServiceConfig Element which contains
+ * all of the XML elements that represent a ProductServiceConfig object.
+ */
+ public static class Provider {
+
+ /**
+ * This is the name of the ProductServiceConfig Element.
+ */
+ public static final String ELEMENT = "Provider"; //$NON-NLS-1$
+
+ public static class Attributes extends ComponentObject.Attributes{
+
+ }
+
+ }
+ }
+
+
+ /**
+ * This is the class that represents the Resources Element which contains
+ * all of the XML elements that represent a Resource object.
+ */
+ public static class Resources {
+
+ /**
+ * This is the name of the Hosts Element.
+ */
+ public static final String ELEMENT = "SharedResources"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the Resource Element which contains
+ * all of the XML elements that represent a Resource object.
+ */
+ public static class Resource {
+
+ /**
+ * This is the name of the Resource Element.
+ */
+ public static final String ELEMENT = "Resource"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it. Note that this class just inherits its attributes
+ * from its configuration object superclass.
+ */
+ public static class Attributes extends ComponentObject.Attributes{
+ }
+
+
+ }
+ }
+
+ /**
+ * This is the class that represents the ServiceComponentDefns Element which contains
+ * all of the XML elements that represent a ServiceComponentDefns object.
+ */
+ public static class ConnectorComponents {
+
+ /**
+ * This is the name of the ServiceComponentDefns Element.
+ */
+ public static final String ELEMENT = "ConnectorBindings"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the ConnectorBinding Element which contains
+ * all of the XML elements that represent a ConnectorBinding object.
+ */
+ public static class ConnectorComponent {
+
+ /**
+ * This is the name of the ConnectorBinding Element.
+ */
+ public static final String ELEMENT = "Connector"; //$NON-NLS-1$
+
+ public static class Attributes extends ComponentObject.Attributes{
+ public static final String ROUTING_UUID = "routingUUID"; //$NON-NLS-1$
+ }
+ }
+ }
+
+
+
+ /**
+ * This is the class that represents the ServiceComponentDefns Element which contains
+ * all of the XML elements that represent a ServiceComponentDefns object.
+ */
+ public static class Services {
+
+ /**
+ * This is the name of the ServiceComponentDefns Element.
+ */
+ public static final String ELEMENT = "Services"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the ServiceComponentDefn Element which contains
+ * all of the XML elements that represent a ServiceComponentDefn object.
+ */
+ public static class Service {
+
+ /**
+ * This is the name of the ServiceComponentDefn Element.
+ */
+ public static final String ELEMENT = "Service"; //$NON-NLS-1$
+
+ public static class Attributes extends ComponentObject.Attributes{
+ public static final String QUEUED_SERVICE = "QueuedService"; //$NON-NLS-1$
+ public static final String ROUTING_UUID = "routingUUID"; //$NON-NLS-1$
+ }
+ }
+ }
+
+
+
+ /**
+ * This is the class that represents the ConfigurationInfo Element which contains
+ * all of the XML elements that represent a ConfigurationInfo object.
+ */
+ public static class ConfigurationInfo {
+
+ /**
+ * This is the name of the ServiceComponentDefnID Element.
+ */
+ public static final String ELEMENT = "ConfigurationInfo"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it.
+ */
+ public static class Attributes {
+ public static final String LAST_CHANGED_DATE = "LastChangedDate"; //$NON-NLS-1$
+ public static final String CREATION_DATE = "CreationDate"; //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * This is the class that represents the LogConfiguration Element which contains
+ * all of the XML elements that represent a LogConfiguration object.
+ */
+ public static class LogConfiguration {
+
+ /**
+ * This is the name of the LogConfiguration Element.
+ */
+ public static final String ELEMENT = "LogConfiguration"; //$NON-NLS-1$
+
+ }
+
+ /**
+ * This is the class that represents the VMComponentDefns Element which contains
+ * all of the XML elements that represent a VMComponentDefns object.
+ */
+ public static class VMComponentDefns {
+
+ /**
+ * This is the name of the VMComponentDefns Element.
+ */
+ public static final String ELEMENT = Configuration.ELEMENT + DELIMITER +"VMComponentDefns"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the VMComponentDefn Element which contains
+ * all of the XML elements that represent a VMComponentDefn object.
+ */
+ public static class VMComponentDefn {
+
+ /**
+ * This is the name of the VMComponentDefn Element.
+ */
+ public static final String ELEMENT = "VMComponentDefn"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it. Note that this class just inherits its attributes
+ * from its configuration object superclass.
+ */
+ public static class Attributes extends ComponentObject.Attributes{
+ }
+ }
+ }
+
+ /**
+ * This is the class that represents the ProductServiceConfigID Element which contains
+ * all of the XML elements that represent a ProductServiceConfigID object.
+ */
+ // public static final class ProductServiceConfigID{
+ //
+ // /**
+ // * This is the name of the ProductServiceConfigID Element.
+ // */
+ // public static final String ELEMENT = "ProductServiceConfigID"; //$NON-NLS-1$
+ //
+ // /**
+ // * This class defines the Attributes of the Element class that
+ // * contains it. Note that this class just inherits its attributes
+ // * from its configuration object superclass.
+ // */
+ // public static class Attributes extends ID.Attributes {
+ // }
+ // }
+
+ /**
+ * This is the class that represents the VMComponentDefnID Element which contains
+ * all of the XML elements that represent a VMComponentDefnID object.
+ */
+ public static final class VMComponentDefnID{
+
+ /**
+ * This is the name of the VMComponentDefnID Element.
+ */
+ public static final String ELEMENT = "VMComponentDefnID"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it. Note that this class just inherits its attributes
+ * from its configuration object superclass.
+ */
+ public static class Attributes extends ID.Attributes {
+ }
+ }
+
+ /**
+ * This is the class that represents the VMComponentDefnID Element which contains
+ * all of the XML elements that represent a VMComponentDefnID object.
+ */
+// public static final class ServiceComponentDefnID{
+//
+// /**
+// * This is the name of the ServiceComponentDefnID Element.
+// */
+// public static final String ELEMENT = "ServiceComponentDefnID"; //$NON-NLS-1$
+//
+// /**
+// * This class defines the Attributes of the Element class that
+// * contains it. Note that this class just inherits its attributes
+// * from its configuration object superclass.
+// */
+// public static class Attributes extends ID.Attributes {
+// }
+// }
+
+ /**
+ * This is the class that represents the DeployedComponents Element which contains
+ * all of the XML elements that represent a DeployedComponents object.
+ */
+// public static class DeployedComponents {
+//
+// /**
+// * This is the name of the DeployedComponents Element.
+// */
+// public static final String ELEMENT = Configuration.ELEMENT + DELIMITER + "DeployedComponents"; //$NON-NLS-1$
+//
+// /**
+// * This is the class that represents the DeployedComponent Element which contains
+// * all of the XML elements that represent a DeployedComponent object.
+// */
+// public static class DeployedComponent {
+//
+// /**
+// * This is the name of the DeployedComponent Element.
+// */
+// public static final String ELEMENT = "DeployedComponent"; //$NON-NLS-1$
+//
+// /**
+// * This class defines the Attributes of the Element class that
+// * contains it. Note that this class just inherits its attributes
+// * from its configuration object superclass.
+// */
+// public static class Attributes extends ComponentObject.Attributes{
+// public static final String HOST_ID = "HostID"; //$NON-NLS-1$
+// // public static final String PRODUCT_SERVICE_CONFIG_ID = "ProductServiceConfigID"; //$NON-NLS-1$
+// public static final String SERVICE_COMPONENT_DEFN_ID = "ServiceComponentDefnID"; //$NON-NLS-1$
+// public static final String VM_COMPONENT_DEFN_ID = "VMComponentDefnID"; //$NON-NLS-1$
+// }
+// }
+// }
+
+ /**
+ * This is the class that represents the DeployedComponentID Element which contains
+ * all of the XML elements that represent a DeployedComponentID object.
+ */
+// public static final class DeployedComponentID{
+//
+// /**
+// * This is the name of the DeployedComponentID Element.
+// */
+// public static final String ELEMENT = "DeployedComponentID"; //$NON-NLS-1$
+//
+// /**
+// * This class defines the Attributes of the Element class that
+// * contains it. Note that this class just inherits its attributes
+// * from its configuration object superclass.
+// */
+// public static class Attributes extends ID.Attributes {
+// }
+// }
+
+ /**
+ * This is the class that represents the HostID Element which contains
+ * all of the XML elements that represent a HostID object.
+ */
+ public static final class HostID {
+
+ /**
+ * This is the name of the HostID Element.
+ */
+ public static final String ELEMENT = "HostID"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it. Note that this class just inherits its attributes
+ * from its configuration object superclass.
+ */
+ public static class Attributes extends ID.Attributes {
+ }
+ }
+
+ public static class DeployedService {
+
+ /**
+ * This is the name of the ServiceComponentDefn Element.
+ */
+ public static final String ELEMENT = "DeployedService"; //$NON-NLS-1$
+
+ public static class Attributes extends ComponentObject.Attributes{
+ public static final String ROUTING_UUID = "routingUUID"; //$NON-NLS-1$
+ }
+
+
+
+ }
+
+ /**
+ * This is the class that represents the VMComponentDefns Element which contains
+ * all of the XML elements that represent a VMComponentDefns object.
+ */
+ public static class Process {
+
+ /**
+ * This is the name of the VMComponentDefns Element.
+ */
+ public static final String ELEMENT = "Process"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it. Note that this class just inherits its attributes
+ * from its configuration object superclass.
+ */
+ public static class Attributes extends ComponentObject.Attributes{
+ }
+
+ }
+
+ /**
+ * This is the class that represents the DeployedComponent Element which contains
+ * all of the XML elements that represent a DeployedComponent object.
+ */
+ public static class xDeployedComponent {
+
+ /**
+ * This is the name of the DeployedComponent Element.
+ */
+ public static final String ELEMENT = "DeployedService"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it. Note that this class just inherits its attributes
+ * from its configuration object superclass.
+ */
+ public static class Attributes extends ComponentObject.Attributes{
+ public static final String HOST_ID = "HostID"; //$NON-NLS-1$
+ // public static final String PRODUCT_SERVICE_CONFIG_ID = "ProductServiceConfigID"; //$NON-NLS-1$
+ public static final String SERVICE_COMPONENT_DEFN_ID = "ServiceComponentDefnID"; //$NON-NLS-1$
+ public static final String VM_COMPONENT_DEFN_ID = "VMComponentDefnID"; //$NON-NLS-1$
+ }
+ }
+
+
+}
+
+
+
+ /**
+ * This is the class that represents the ComponentTypeID Element which contains
+ * all of the XML elements that represent a ComponentTypeID object.
+ */
+ public static class ComponentTypeID {
+
+ /**
+ * This is the name of the ComponentTypeID Element.
+ */
+ public static final String ELEMENT = "ComponentTypeID"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it. Note that this class just inherits its attributes
+ * from its configuration object superclass.
+ */
+ public static class Attributes extends ID.Attributes {
+ }
+
+ }
+
+
+
+ /**
+ * This is the class that represents the ComponentTypes Element which contains
+ * all of the XML elements that represent a ComponentTypes object.
+ */
+ public static class ComponentTypes {
+
+ /**
+ * This is the name of the ComponentTypes Element.
+ */
+ public static final String ELEMENT = "ComponentTypes"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the ComponentType Element which contains
+ * all of the XML elements that represent a ComponentType object.
+ */
+ public static class ComponentType {
+
+ /**
+ * This is the name of the ComponentType Element.
+ */
+ public static final String ELEMENT = "ComponentType"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it.
+ */
+ public static class Attributes {
+ public static final String NAME = "Name"; //$NON-NLS-1$
+ public static final String PARENT_COMPONENT_TYPE = "ParentComponentType"; //$NON-NLS-1$
+ public static final String SUPER_COMPONENT_TYPE = "SuperComponentType"; //$NON-NLS-1$
+ public static final String COMPONENT_TYPE_CODE = "ComponentTypeCode"; //$NON-NLS-1$
+ public static final String DEPLOYABLE = "Deployable"; //$NON-NLS-1$
+ public static final String DEPRECATED = "Deprecated"; //$NON-NLS-1$
+ public static final String MONITORABLE = "Monitorable"; //$NON-NLS-1$
+ public static final String DESCRIPTION = "Description"; //$NON-NLS-1$
+ }
+
+
+ /**
+ * This is the class that represents the ComponentTypeDefn Element which contains
+ * all of the XML elements that represent a ComponentTypeDefn object.
+ */
+ public static class ComponentTypeDefn {
+
+ /**
+ * This is the name of the ComponentTypeDefn Element.
+ */
+ public static final String ELEMENT = "ComponentTypeDefn"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it.
+ */
+ public static class Attributes {
+ public static final String DEPRECATED = "Deprecated"; //$NON-NLS-1$
+ }
+
+ /**
+ * This is the class that represents the PropertyDefinition Element which contains
+ * all of the XML elements that represent a PropertyDefinition object.
+ */
+ public static class PropertyDefinition {
+
+ /**
+ * This is the name of the PropertyDefinition Element.
+ */
+ public static final String ELEMENT = "PropertyDefinition"; //$NON-NLS-1$
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it.
+ */
+ public static class Attributes {
+ public static final String NAME = "Name"; //$NON-NLS-1$
+ public static final String DISPLAY_NAME = "DisplayName"; //$NON-NLS-1$
+ public static final String SHORT_DESCRIPTION ="ShortDescription"; //$NON-NLS-1$
+ public static final String DEFAULT_VALUE = "DefaultValue"; //$NON-NLS-1$
+ public static final String MULTIPLICITY = "Multiplicity"; //$NON-NLS-1$
+ public static final String PROPERTY_TYPE = "PropertyType"; //$NON-NLS-1$
+ public static final String VALUE_DELIMITER = "ValueDelimiter"; //$NON-NLS-1$
+ public static final String IS_CONSTRAINED_TO_ALLOWED_VALUES = "IsConstrainedToAllowedValues"; //$NON-NLS-1$
+ public static final String IS_EXPERT = "IsExpert"; //$NON-NLS-1$
+ public static final String IS_HIDDEN = "IsHidden"; //$NON-NLS-1$
+ public static final String IS_MASKED = "IsMasked"; //$NON-NLS-1$
+ public static final String IS_MODIFIABLE = "IsModifiable"; //$NON-NLS-1$
+ public static final String IS_PREFERRED = "IsPreferred"; //$NON-NLS-1$
+ public static final String REQUIRES_RESTART = "RequiresRestart"; //$NON-NLS-1$
+ }
+
+ /**
+ * This is the class that represents the AllowedValue Element which contains
+ * all of the XML elements that represent a AllowedValue object.
+ */
+ public static class AllowedValue {
+
+ /**
+ * This is the name of the AllowedValue Element.
+ */
+ public static final String ELEMENT = "AllowedValue"; //$NON-NLS-1$
+ }
+
+ }
+
+ }
+ }
+ }
+
+
+
+ /**
+ * This is the class that represents the ComponentObject Element which contains
+ * all of the XML elements that represent a ComponentObject object.
+ */
+ public static class ComponentObject {
+ public static class Attributes {
+ public static final String NAME = "Name"; //$NON-NLS-1$
+ public static final String COMPONENT_TYPE = "ComponentType"; //$NON-NLS-1$
+ }
+ }
+
+
+
+ /**
+ * This is the class that represents the ChangeHistory Properties Element which contains
+ * all of the XML elements that represent the change information for the object.
+ */
+ public static class ChangeHistory {
+
+ /**
+ * This is the name of the ChangeHistory Element.
+ */
+ public static final String ELEMENT = "ChangeHistory"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the Property Element which contains
+ * all of the XML elements that represent a Property object.
+ */
+ public static class Property {
+
+ /**
+ * This is the name of the Property Element.
+ */
+ public static final String ELEMENT = "Property"; //$NON-NLS-1$
+
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it.
+ */
+ public static class Attributes {
+ public static final String NAME = "Name"; //$NON-NLS-1$
+ }
+
+ public static class NAMES {
+ public static final String LAST_CHANGED_DATE = "LastChangedDate"; //$NON-NLS-1$
+ public static final String LAST_CHANGED_BY = "LastChangedBy"; //$NON-NLS-1$
+ public static final String CREATION_DATE = "CreationDate"; //$NON-NLS-1$
+ public static final String CREATED_BY = "CreatedBy"; //$NON-NLS-1$
+
+ }
+ }
+ }
+
+
+
+ public static class Header {
+
+ /**
+ * This is the name of the Header Element.
+ */
+ public static final String ELEMENT = "Header"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the UserName Element which contains
+ * all of the XML elements that represent a UserName object.
+ */
+ public static class UserCreatedBy {
+
+ /**
+ * This is the name of the UserName Element.
+ */
+ public static final String ELEMENT = ConfigurationPropertyNames.USER_CREATED_BY;
+ }
+
+ /**
+ * This is the class that represents the ApplicationCreatedDate Element which contains
+ * all of the XML elements that represent a ApplicationCreatedDate object.
+ */
+ public static class ApplicationCreatedBy {
+
+ /**
+ * This is the name of the ApplicationCreatedDate Element.
+ */
+ public static final String ELEMENT = ConfigurationPropertyNames.APPLICATION_CREATED_BY;
+ }
+
+ /**
+ * This is the class that represents the ApplicationVersionCreatedBy Element which contains
+ * all of the XML elements that represent a ApplicationVersionCreatedBy object.
+ */
+ public static class ApplicationVersionCreatedBy {
+
+ /**
+ * This is the name of the ApplicationVersionCreatedBy Element.
+ */
+ public static final String ELEMENT = ConfigurationPropertyNames.APPLICATION_VERSION_CREATED_BY;
+ }
+
+ /**
+ * This is the class that represents the Time Element which contains
+ * all of the XML elements that represent a Time object.
+ */
+ public static class Time {
+
+ /**
+ * This is the name of the Time Element.
+ */
+ public static final String ELEMENT = ConfigurationPropertyNames.TIME;
+ }
+
+ /**
+ * This is the class that represents the DocumentTypeVersion Element which contains
+ * all of the XML elements that represent a DocumentTypeVersion object.
+ */
+ public static class ConfigurationVersion {
+
+ /**
+ * This is the name of the DocumentTypeVersion Element.
+ */
+ public static final String ELEMENT = ConfigurationPropertyNames.CONFIGURATION_VERSION;
+ }
+
+ /**
+ * This is the class that represents the MetaMatrixServerVersion Element which contains
+ * all of the XML elements that represent a ProductServiceConfigs object.
+ */
+ public static class MetaMatrixSystemVersion {
+
+ /**
+ * This is the name of the MetaMatrixServerVersion Element.
+ */
+ public static final String ELEMENT = ConfigurationPropertyNames.SYSTEM_VERSION;
+ }
+ }
+
+
+
+ /**
+ * This is the class that represents the Properties Element which contains
+ * all of the XML elements that represent a Properties object.
+ */
+ public static class Properties {
+
+ /**
+ * This is the name of the Properties Element.
+ */
+ public static final String ELEMENT = "Properties"; //$NON-NLS-1$
+
+ /**
+ * This is the class that represents the Property Element which contains
+ * all of the XML elements that represent a Property object.
+ */
+ public static class Property {
+
+ /**
+ * This is the name of the Property Element.
+ */
+ public static final String ELEMENT = "Property"; //$NON-NLS-1$
+
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it.
+ */
+ public static class Attributes {
+ public static final String NAME = "Name"; //$NON-NLS-1$
+ }
+
+ }
+ }
+
+
+
+ /**
+ * This is the class that represents the ID Element which contains
+ * all of the XML elements that represent a ID object.
+ */
+ public static class ID {
+ // these are the shared attributes of all ID Elements
+
+ /**
+ * This class defines the Attributes of the Element class that
+ * contains it.
+ */
+ public static class Attributes {
+ public static final String NAME = "Name"; //$NON-NLS-1$
+ }
+ }
+}
Modified: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfigurationImportExportUtility.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfigurationImportExportUtility.java 2009-04-10 18:43:00 UTC (rev 751)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfigurationImportExportUtility.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -121,7 +121,7 @@
public void exportConfiguration(OutputStream stream,
Collection configurationObjects, Properties props)
throws IOException, ConfigObjectsNotResolvableException {
- XMLConfig_42_ImportExportUtility util = new XMLConfig_42_ImportExportUtility();
+ ConfigurationImportExport util = new ConfigurationImportExport();
util.exportConfiguration(stream, configurationObjects, props);
}
@@ -159,7 +159,7 @@
Properties props) throws IOException {
- XMLConfig_42_ImportExportUtility util = new XMLConfig_42_ImportExportUtility();
+ ConfigurationImportExport util = new ConfigurationImportExport();
util.exportComponentType(stream, type, props);
}
@@ -197,7 +197,7 @@
Properties props) throws IOException {
- XMLConfig_42_ImportExportUtility util = new XMLConfig_42_ImportExportUtility();
+ ConfigurationImportExport util = new ConfigurationImportExport();
util.exportComponentTypes(stream, types, props);
}
@@ -326,7 +326,7 @@
Element root = doc.getRootElement();
- XMLConfig_42_ImportExportUtility util = new XMLConfig_42_ImportExportUtility();
+ ConfigurationImportExport util = new ConfigurationImportExport();
return util.importConfigurationObjects(root, editor, name);
}
@@ -382,12 +382,12 @@
//vah 7/22/04 the format of the configuration changed
// in version 4.2, any version prior to this will use
// the 3.0 version utility
- XMLConfig_42_ImportExportUtility util = new XMLConfig_42_ImportExportUtility();
+ ConfigurationImportExport util = new ConfigurationImportExport();
return util.importComponentType(root, editor, name);
-// XMLConfig_42_ImportExportUtility util = new XMLConfig_42_ImportExportUtility();
+// ConfigurationImportExport util = new ConfigurationImportExport();
// return util.importComponentType(stream, editor, name);
}
/**
@@ -442,44 +442,12 @@
ConfigurationObjectEditor editor)
throws IOException, InvalidConfigurationElementException {
-
- boolean is42Compatible = XMLHelperUtil.is42ConfigurationCompatible(root);
+ ConfigurationImportExport util = new ConfigurationImportExport();
+ return util.importComponentTypes(root, editor);
- return importComponentTypes(root, editor, is42Compatible);
-
-
}
-
- /**
- * <p>This method will be used to import 1 or more a ComponentType Objects.</p>
- * The ComponentTypes element must be a child of the root element passed in.
- *
- * @param editor the ConfigurationObjectEditor to use to create the Configuration
- * objects.
- * @param root Element contains the ComponentTypes to import
- * @param is42Compatible indicates backwards compatible.
- * @return Collection of objects of type <code>ComponentType</code>
- * @throws IOException if there is an error reading from the DirectoryEntry
- * @throws InvalidConfigurationElementException if there is a problem with
- * the representation of the configuration element as it exists in the
- * DirectoryEntry resource, usually some type of formatting problem.
- */
-
- public Collection importComponentTypes(Element root,
- ConfigurationObjectEditor editor, boolean is42Compatible)
- throws IOException, InvalidConfigurationElementException {
-
- //vah 7/22/04 the format of the configuration changed
- // in version 4.2, any version prior to this will use
- // the 3.0 version utility
- XMLConfig_42_ImportExportUtility util = new XMLConfig_42_ImportExportUtility();
- return util.importComponentTypes(root, editor);
-
-
- }
-
-
+
/**
* <p>This method will be used to import a ServiceComponentDefn Object given a Directory
* entry instance. If the DirectoryEntry resource does not contain enough
@@ -497,8 +465,8 @@
* each is defined by the following static variables:</p>
*
* <pre>
- * ConfigurationImportExportUtility.COMPONENT_TYPE_INDEX
- * ConfigurationImportExportUtility.SERVICE_COMPONENT_DEFN_INDEX
+ * ConfigurationImportExport.COMPONENT_TYPE_INDEX
+ * ConfigurationImportExport.SERVICE_COMPONENT_DEFN_INDEX
* </pre>
*
* <p>These array indices are also used to override the ComponentType name
@@ -635,7 +603,7 @@
* ComponentType is not the type referenced by the passed in ServiceComponentDefn.
*/
public void exportConnectorBinding(OutputStream stream, ConnectorBinding defn, ComponentType type, Properties props) throws IOException, ConfigObjectsNotResolvableException {
- XMLConfig_42_ImportExportUtility util = new XMLConfig_42_ImportExportUtility();
+ ConfigurationImportExport util = new ConfigurationImportExport();
util.exportConnectorBinding(stream, defn, type, props);
}
@@ -644,7 +612,7 @@
public void exportConnectorBindings(ConnectorBinding[] bindings,
ComponentType[] types,
Element root) {
- XMLConfig_42_ImportExportUtility util = new XMLConfig_42_ImportExportUtility();
+ ConfigurationImportExport util = new ConfigurationImportExport();
util.exportConnectorBindings(bindings, types, root);
@@ -682,7 +650,7 @@
*/
public void exportConnectorBindings(OutputStream stream, ConnectorBinding[] bindings, ComponentType[] types, Properties props) throws IOException, ConfigObjectsNotResolvableException {
- XMLConfig_42_ImportExportUtility util = new XMLConfig_42_ImportExportUtility();
+ ConfigurationImportExport util = new ConfigurationImportExport();
util.exportConnectorBindings(stream, bindings, types, props);
}
@@ -696,7 +664,7 @@
// public static ConnectorBinding importConnectorBinding(String fileName, ConfigurationObjectEditor editor, String newName) throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException {
// // vah 7/22/04 bindings didnt change when the import/exporter utility was changed
// // therefore, it doesn't matter which importer is used
-// ConfigurationImportExportUtility util = new XMLConfig_42_ImportExportUtility();
+// ConfigurationImportExport util = new ConfigurationImportExport();
//
// File f = new File(fileName);
//
@@ -720,41 +688,41 @@
// }
public ConnectorBinding importConnectorBinding(InputStream stream, ConfigurationObjectEditor editor, String newName)throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException {
- XMLConfig_42_ImportExportUtility util = new XMLConfig_42_ImportExportUtility();
+ ConfigurationImportExport util = new ConfigurationImportExport();
return util.importConnectorBinding(stream, editor, newName);
}
public Collection importExistingConnectorBindings(Element root, ConfigurationObjectEditor editor, boolean importExistingBinding)throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException {
- XMLConfig_42_ImportExportUtility util = new XMLConfig_42_ImportExportUtility();
+ ConfigurationImportExport util = new ConfigurationImportExport();
return util.importConnectorBindings(root, editor, importExistingBinding);
}
public Collection importConnectorBindings(Element root, ConfigurationObjectEditor editor)throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException {
- XMLConfig_42_ImportExportUtility util = new XMLConfig_42_ImportExportUtility();
+ ConfigurationImportExport util = new ConfigurationImportExport();
return util.importConnectorBindings(root, editor, false);
}
public Collection importConnectorBindings(InputStream stream, ConfigurationObjectEditor editor)throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException {
- XMLConfig_42_ImportExportUtility util = new XMLConfig_42_ImportExportUtility();
+ ConfigurationImportExport util = new ConfigurationImportExport();
return util.importConnectorBindings(stream, editor, false);
}
public Collection importExistingConnectorBindings(InputStream stream, ConfigurationObjectEditor editor, boolean useExistingBinding)throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException {
- XMLConfig_42_ImportExportUtility util = new XMLConfig_42_ImportExportUtility();
+ ConfigurationImportExport util = new ConfigurationImportExport();
return util.importConnectorBindings(stream, editor, useExistingBinding);
}
public Object[] importConnectorBindingAndType(InputStream stream, ConfigurationObjectEditor editor, String[] newName)throws IOException, ConfigObjectsNotResolvableException, InvalidConfigurationElementException {
- XMLConfig_42_ImportExportUtility util = new XMLConfig_42_ImportExportUtility();
+ ConfigurationImportExport util = new ConfigurationImportExport();
return util.importConnectorBindingAndType(stream, editor, newName);
}
@@ -774,7 +742,7 @@
*/
public void resolveConfigurationObjects(Collection collection) throws ConfigObjectsNotResolvableException{
- XMLConfig_42_ImportExportUtility util = new XMLConfig_42_ImportExportUtility();
+ ConfigurationImportExport util = new ConfigurationImportExport();
util.resolveConfigurationObjects(collection);
@@ -790,7 +758,7 @@
* extension1.jar
* extension2.jar
*
- * @see com.metamatrix.common.config.util.ConfigurationImportExportUtility#importConnectorArchive(java.io.InputStream, com.metamatrix.common.config.api.ConfigurationObjectEditor)
+ * @see com.metamatrix.common.config.util.ConfigurationImportExport#importConnectorArchive(java.io.InputStream, com.metamatrix.common.config.api.ConfigurationObjectEditor)
* @since 4.3.2
*/
public ConnectorArchive importConnectorArchive(InputStream stream, ConfigurationObjectEditor editor)
Deleted: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLElementNames.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLElementNames.java 2009-04-10 18:43:00 UTC (rev 751)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLElementNames.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -1,832 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.common.config.xml;
-
-import com.metamatrix.common.config.util.ConfigurationPropertyNames;
-
-/**
-* This class structure mimics the structure of a Configuration XML
-* document and defines all of the element and attribute names for that
-* document type.
-*/
-public interface XMLElementNames {
-
- /**
- * This is used as the delimiter of all XML element names.
- */
- public static final String DELIMITER = "."; //$NON-NLS-1$
-
- /**
- * This should be the root Element name for all Configuration XML Documents.
- */
- public static final String ELEMENT = "ConfigurationDocument"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the Configurations Element which contains
- * all of the XML elements that represent Configuration objects.
- */
- public static class Configurations {
-
- /**
- * This is the name of the Configurations Element.
- */
- public static final String ELEMENT = "Configurations"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the Configuration Element which contains
- * all of the XML elements that represent a Configuration object.
- */
- public static class Configuration {
-
- /**
- * This is the name of the Configurations Element.
- */
- public static final String ELEMENT = "Configuration"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ComponentObject.Attributes{
- }
-
- /**
- * This is the class that represents the ProductServiceConfigs Element which contains
- * all of the XML elements that represent a ProductServiceConfigs object.
- */
- public static class ResourcePools {
-
- /**
- * This is the name of the ProductServiceConfigs Element.
- */
- public static final String ELEMENT = Configuration.ELEMENT + DELIMITER + "ResourcePools"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the ProductServiceConfig Element which contains
- * all of the XML elements that represent a ProductServiceConfig object.
- */
- public static class ResourcePool {
-
- /**
- * This is the name of the ProductServiceConfig Element.
- */
- public static final String ELEMENT = "ResourcePool"; //$NON-NLS-1$
-
- public static class Attributes extends ComponentObject.Attributes{
-
- }
-
- }
- }
-
-
- /**
- * This is the class that represents the ProductServiceConfigs Element which contains
- * all of the XML elements that represent a ProductServiceConfigs object.
- */
-// public static class ProductServiceConfigs {
-//
-// /**
-// * This is the name of the ProductServiceConfigs Element.
-// */
-// public static final String ELEMENT = Configuration.ELEMENT + DELIMITER + "ProductServiceConfigs"; //$NON-NLS-1$
-//
-// /**
-// * This is the class that represents the ProductServiceConfig Element which contains
-// * all of the XML elements that represent a ProductServiceConfig object.
-// */
-// public static class ProductServiceConfig {
-//
-// /**
-// * This is the name of the ProductServiceConfig Element.
-// */
-// public static final String ELEMENT = "ProductServiceConfig"; //$NON-NLS-1$
-//
-// /**
-// * This class defines the Attributes of the Element class that
-// * contains it. Note that this class just inherits its attributes
-// * from its configuration object superclass.
-// */
-// public static class Attributes extends ComponentObject.Attributes{
-// public static final String IS_ENABLED = "IsEnabled"; //$NON-NLS-1$
-//
-// }
-// }
-// }
-
- /**
- * This is the class that represents the ServiceComponentDefns Element which contains
- * all of the XML elements that represent a ServiceComponentDefns object.
- */
- public static class ServiceComponentDefns {
-
- /**
- * This is the name of the ServiceComponentDefns Element.
- */
- public static final String ELEMENT = Configuration.ELEMENT + DELIMITER + "ServiceComponentDefns"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the ServiceComponentDefn Element which contains
- * all of the XML elements that represent a ServiceComponentDefn object.
- */
- public static class ServiceComponentDefn {
-
- /**
- * This is the name of the ServiceComponentDefn Element.
- */
- public static final String ELEMENT = "ServiceComponentDefn"; //$NON-NLS-1$
-
- public static class Attributes extends ComponentObject.Attributes{
- public static final String ROUTING_UUID = "routingUUID"; //$NON-NLS-1$
- }
- }
- }
-
-
- /**
- * This is the class that represents the VMComponentDefns Element which contains
- * all of the XML elements that represent a VMComponentDefns object.
- */
- public static class VMComponentDefns {
-
- /**
- * This is the name of the VMComponentDefns Element.
- */
- public static final String ELEMENT = Configuration.ELEMENT + DELIMITER +"VMComponentDefns"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the VMComponentDefn Element which contains
- * all of the XML elements that represent a VMComponentDefn object.
- */
- public static class VMComponentDefn {
-
- /**
- * This is the name of the VMComponentDefn Element.
- */
- public static final String ELEMENT = "VMComponentDefn"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ComponentObject.Attributes{
- }
- }
- }
-
-
-
- /**
- * This is the class that represents the DeployedComponents Element which contains
- * all of the XML elements that represent a DeployedComponents object.
- */
- public static class DeployedComponents {
-
- /**
- * This is the name of the DeployedComponents Element.
- */
- public static final String ELEMENT = Configuration.ELEMENT + DELIMITER + "DeployedComponents"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the DeployedComponent Element which contains
- * all of the XML elements that represent a DeployedComponent object.
- */
- public static class DeployedComponent {
-
- /**
- * This is the name of the DeployedComponent Element.
- */
- public static final String ELEMENT = "DeployedComponent"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ComponentObject.Attributes{
- public static final String HOST_ID = "HostID"; //$NON-NLS-1$
-// public static final String PRODUCT_SERVICE_CONFIG_ID = "ProductServiceConfigID"; //$NON-NLS-1$
- public static final String SERVICE_COMPONENT_DEFN_ID = "ServiceComponentDefnID"; //$NON-NLS-1$
- public static final String VM_COMPONENT_DEFN_ID = "VMComponentDefnID"; //$NON-NLS-1$
- }
- }
- }
-
-
- /**
- * This is the class that represents the ComponentDefnID Element which contains
- * all of the XML elements that represent a ComponentDefnID object.
- */
- public static final class ComponentDefnID{
-
- /**
- * This is the name of the ComponentDefnID Element.
- */
- public static final String ELEMENT = "ComponentDefnID"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ID.Attributes {
- }
- }
-
- /**
- * This is the class that represents the DeployedComponentID Element which contains
- * all of the XML elements that represent a DeployedComponentID object.
- */
- public static final class DeployedComponentID{
-
- /**
- * This is the name of the DeployedComponentID Element.
- */
- public static final String ELEMENT = "DeployedComponentID"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ID.Attributes {
- }
- }
-
- /**
- * This is the class that represents the ProductServiceConfigID Element which contains
- * all of the XML elements that represent a ProductServiceConfigID object.
- */
-// public static final class ProductServiceConfigID{
-//
-// /**
-// * This is the name of the ProductServiceConfigID Element.
-// */
-// public static final String ELEMENT = "ProductServiceConfigID"; //$NON-NLS-1$
-//
-// /**
-// * This class defines the Attributes of the Element class that
-// * contains it. Note that this class just inherits its attributes
-// * from its configuration object superclass.
-// */
-// public static class Attributes extends ID.Attributes {
-// }
-// }
-
- /**
- * This is the class that represents the VMComponentDefnID Element which contains
- * all of the XML elements that represent a VMComponentDefnID object.
- */
- public static final class VMComponentDefnID{
-
- /**
- * This is the name of the VMComponentDefnID Element.
- */
- public static final String ELEMENT = "VMComponentDefnID"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ID.Attributes {
- }
- }
-
- /**
- * This is the class that represents the VMComponentDefnID Element which contains
- * all of the XML elements that represent a VMComponentDefnID object.
- */
- public static final class ServiceComponentDefnID{
-
- /**
- * This is the name of the ServiceComponentDefnID Element.
- */
- public static final String ELEMENT = "ServiceComponentDefnID"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ID.Attributes {
- }
- }
-
- /**
- * This is the class that represents the ConfigurationInfo Element which contains
- * all of the XML elements that represent a ConfigurationInfo object.
- */
- public static class ConfigurationInfo {
-
- /**
- * This is the name of the ServiceComponentDefnID Element.
- */
- public static final String ELEMENT = "ConfigurationInfo"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String LAST_CHANGED_DATE = "LastChangedDate"; //$NON-NLS-1$
- public static final String CREATION_DATE = "CreationDate"; //$NON-NLS-1$
- }
- }
-
- /**
- * This is the class that represents the LogConfiguration Element which contains
- * all of the XML elements that represent a LogConfiguration object.
- */
- public static class LogConfiguration {
-
- /**
- * This is the name of the LogConfiguration Element.
- */
- public static final String ELEMENT = "LogConfiguration"; //$NON-NLS-1$
-
- }
-
- }
- }
-
- /**
- * This is the class that represents the ComponentObject Element which contains
- * all of the XML elements that represent a ComponentObject object.
- */
- public static class ComponentObject {
- public static class Attributes {
- public static final String NAME = "Name"; //$NON-NLS-1$
- public static final String COMPONENT_TYPE = "ComponentType"; //$NON-NLS-1$
- }
- }
-
- /**
- * This is the class that represents the Properties Element which contains
- * all of the XML elements that represent a Properties object.
- */
- public static class Properties {
-
- /**
- * This is the name of the Properties Element.
- */
- public static final String ELEMENT = "Properties"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the Property Element which contains
- * all of the XML elements that represent a Property object.
- */
- public static class Property {
-
- /**
- * This is the name of the Property Element.
- */
- public static final String ELEMENT = "Property"; //$NON-NLS-1$
-
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String NAME = "Name"; //$NON-NLS-1$
- }
-
- }
- }
-
- /**
- * This is the class that represents the ChangeHistory Properties Element which contains
- * all of the XML elements that represent the change information for the object.
- */
- public static class ChangeHistory {
-
- /**
- * This is the name of the ChangeHistory Element.
- */
- public static final String ELEMENT = "ChangeHistory"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the Property Element which contains
- * all of the XML elements that represent a Property object.
- */
- public static class Property {
-
- /**
- * This is the name of the Property Element.
- */
- public static final String ELEMENT = "Property"; //$NON-NLS-1$
-
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String NAME = "Name"; //$NON-NLS-1$
- }
-
- public static class NAMES {
- public static final String LAST_CHANGED_DATE = "LastChangedDate"; //$NON-NLS-1$
- public static final String LAST_CHANGED_BY = "LastChangedBy"; //$NON-NLS-1$
- public static final String CREATION_DATE = "CreationDate"; //$NON-NLS-1$
- public static final String CREATED_BY = "CreatedBy"; //$NON-NLS-1$
-
- }
- }
- }
-
-
- /**
- * This is the class that represents the ID Element which contains
- * all of the XML elements that represent a ID object.
- */
- public static class ID {
- // these are the shared attributes of all ID Elements
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String NAME = "Name"; //$NON-NLS-1$
- }
- }
-
-
- /**
- * This is the class that represents the HostID Element which contains
- * all of the XML elements that represent a HostID object.
- */
- public static final class HostID {
-
- /**
- * This is the name of the HostID Element.
- */
- public static final String ELEMENT = "HostID"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ID.Attributes {
- }
- }
-
-
-
-
-
- /**
- * This is the class that represents the Hosts Element which contains
- * all of the XML elements that represent a Hosts object.
- */
- public static class Hosts {
-
- /**
- * This is the name of the Hosts Element.
- */
- public static final String ELEMENT = "Hosts"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the Host Element which contains
- * all of the XML elements that represent a Host object.
- */
- public static class Host {
-
- /**
- * This is the name of the Host Element.
- */
- public static final String ELEMENT = "Host"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends Configurations.Configuration.Attributes {
- }
- }
- }
-
- /**
- * This is the class that represents the Resources Element which contains
- * all of the XML elements that represent a Resource object.
- */
- public static class Resources {
-
- /**
- * This is the name of the Hosts Element.
- */
- public static final String ELEMENT = "Resources"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the Resource Element which contains
- * all of the XML elements that represent a Resource object.
- */
- public static class Resource {
-
- /**
- * This is the name of the Resource Element.
- */
- public static final String ELEMENT = "Resource"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ComponentObject.Attributes{
- }
-
-
- }
- }
-
- /**
- * This is the class that represents the ServiceComponentDefns Element which contains
- * all of the XML elements that represent a ServiceComponentDefns object.
- */
- public static class ConnectorComponents {
-
- /**
- * This is the name of the ServiceComponentDefns Element.
- */
- public static final String ELEMENT = "ConnectorBindings"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the ConnectorBinding Element which contains
- * all of the XML elements that represent a ConnectorBinding object.
- */
- public static class ConnectorComponent {
-
- /**
- * This is the name of the ConnectorBinding Element.
- */
- public static final String ELEMENT = "Connector"; //$NON-NLS-1$
-
- public static class Attributes extends ComponentObject.Attributes{
- public static final String QUEUED_SERVICE = "QueuedService"; //$NON-NLS-1$
-// public static final String IS_ENABLED = "IsEnabled";
- public static final String ROUTING_UUID = "routingUUID"; //$NON-NLS-1$
- }
- }
- }
-
-
-
- /**
- * This is the class that represents the ComponentTypeID Element which contains
- * all of the XML elements that represent a ComponentTypeID object.
- */
- public static class ComponentTypeID {
-
- /**
- * This is the name of the ComponentTypeID Element.
- */
- public static final String ELEMENT = "ComponentTypeID"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it. Note that this class just inherits its attributes
- * from its configuration object superclass.
- */
- public static class Attributes extends ID.Attributes {
- }
-
- }
-
- /**
- * This is the class that represents the ComponentTypes Element which contains
- * all of the XML elements that represent a ComponentTypes object.
- */
- public static class ComponentTypes {
-
- /**
- * This is the name of the ComponentTypes Element.
- */
- public static final String ELEMENT = "ComponentTypes"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the ComponentType Element which contains
- * all of the XML elements that represent a ComponentType object.
- */
- public static class ComponentType {
-
- /**
- * This is the name of the ComponentType Element.
- */
- public static final String ELEMENT = "ComponentType"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String NAME = "Name"; //$NON-NLS-1$
- public static final String PARENT_COMPONENT_TYPE = "ParentComponentType"; //$NON-NLS-1$
- public static final String SUPER_COMPONENT_TYPE = "SuperComponentType"; //$NON-NLS-1$
- public static final String COMPONENT_TYPE_CODE = "ComponentTypeCode"; //$NON-NLS-1$
- public static final String DEPLOYABLE = "Deployable"; //$NON-NLS-1$
- public static final String DEPRECATED = "Deprecated"; //$NON-NLS-1$
- public static final String MONITORABLE = "Monitorable"; //$NON-NLS-1$
- }
-
-
- /**
- * This is the class that represents the ComponentTypeDefn Element which contains
- * all of the XML elements that represent a ComponentTypeDefn object.
- */
- public static class ComponentTypeDefn {
-
- /**
- * This is the name of the ComponentTypeDefn Element.
- */
- public static final String ELEMENT = "ComponentTypeDefn"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String DEPRECATED = "Deprecated"; //$NON-NLS-1$
- }
-
- /**
- * This is the class that represents the PropertyDefinition Element which contains
- * all of the XML elements that represent a PropertyDefinition object.
- */
- public static class PropertyDefinition {
-
- /**
- * This is the name of the PropertyDefinition Element.
- */
- public static final String ELEMENT = "PropertyDefinition"; //$NON-NLS-1$
-
- /**
- * This class defines the Attributes of the Element class that
- * contains it.
- */
- public static class Attributes {
- public static final String NAME = "Name"; //$NON-NLS-1$
- public static final String DISPLAY_NAME = "DisplayName"; //$NON-NLS-1$
- public static final String SHORT_DESCRIPTION ="ShortDescription"; //$NON-NLS-1$
- public static final String DEFAULT_VALUE = "DefaultValue"; //$NON-NLS-1$
- public static final String MULTIPLICITY = "Multiplicity"; //$NON-NLS-1$
- public static final String PROPERTY_TYPE = "PropertyType"; //$NON-NLS-1$
- public static final String VALUE_DELIMITER = "ValueDelimiter"; //$NON-NLS-1$
- public static final String IS_CONSTRAINED_TO_ALLOWED_VALUES = "IsConstrainedToAllowedValues"; //$NON-NLS-1$
- public static final String IS_EXPERT = "IsExpert"; //$NON-NLS-1$
- public static final String IS_HIDDEN = "IsHidden"; //$NON-NLS-1$
- public static final String IS_MASKED = "IsMasked"; //$NON-NLS-1$
- public static final String IS_MODIFIABLE = "IsModifiable"; //$NON-NLS-1$
- public static final String IS_PREFERRED = "IsPreferred"; //$NON-NLS-1$
- }
-
- /**
- * This is the class that represents the AllowedValue Element which contains
- * all of the XML elements that represent a AllowedValue object.
- */
- public static class AllowedValue {
-
- /**
- * This is the name of the AllowedValue Element.
- */
- public static final String ELEMENT = "AllowedValue"; //$NON-NLS-1$
- }
-
- }
-
- }
- }
- }
-
- /**
- * This is the class that represents the ProductTypes Element which contains
- * all of the XML elements that represent a ProductType object.
- */
-// public static class ProductTypes {
-// public static final String ELEMENT = "ProductTypes"; //$NON-NLS-1$
-//
-// /**
-// * This is the class that represents the ProductType Element which contains
-// * all of the XML elements that represent a ProductType object.
-// * Note that it extends teh ComponentType element definition.
-// */
-// public static class ProductType extends ComponentTypes.ComponentType{
-// public static final String ELEMENT = "ProductType"; //$NON-NLS-1$
-// }
-// }
-
-
-
-
- /**
- * This is the class that represents the Header Element which contains
- * all of the XML elements that represent a Header object.
- */
- public static class Header {
-
- /**
- * This is the name of the Header Element.
- */
- public static final String ELEMENT = "Header"; //$NON-NLS-1$
-
- /**
- * This is the class that represents the UserName Element which contains
- * all of the XML elements that represent a UserName object.
- */
- public static class UserCreatedBy {
-
- /**
- * This is the name of the UserName Element.
- */
- public static final String ELEMENT = ConfigurationPropertyNames.USER_CREATED_BY;
- }
-
- /**
- * This is the class that represents the ApplicationCreatedDate Element which contains
- * all of the XML elements that represent a ApplicationCreatedDate object.
- */
- public static class ApplicationCreatedBy {
-
- /**
- * This is the name of the ApplicationCreatedDate Element.
- */
- public static final String ELEMENT = ConfigurationPropertyNames.APPLICATION_CREATED_BY;
- }
-
- /**
- * This is the class that represents the ApplicationVersionCreatedBy Element which contains
- * all of the XML elements that represent a ApplicationVersionCreatedBy object.
- */
- public static class ApplicationVersionCreatedBy {
-
- /**
- * This is the name of the ApplicationVersionCreatedBy Element.
- */
- public static final String ELEMENT = ConfigurationPropertyNames.APPLICATION_VERSION_CREATED_BY;
- }
-
- /**
- * This is the class that represents the Time Element which contains
- * all of the XML elements that represent a Time object.
- */
- public static class Time {
-
- /**
- * This is the name of the Time Element.
- */
- public static final String ELEMENT = ConfigurationPropertyNames.TIME;
- }
-
- /**
- * This is the class that represents the DocumentTypeVersion Element which contains
- * all of the XML elements that represent a DocumentTypeVersion object.
- */
- public static class ConfigurationVersion {
-
- /**
- * This is the name of the DocumentTypeVersion Element.
- */
- public static final String ELEMENT = ConfigurationPropertyNames.CONFIGURATION_VERSION;
- }
-
- /**
- * This is the class that represents the MetaMatrixServerVersion Element which contains
- * all of the XML elements that represent a ProductServiceConfigs object.
- */
- public static class MetaMatrixSystemVersion {
-
- /**
- * This is the name of the MetaMatrixServerVersion Element.
- */
- public static final String ELEMENT = ConfigurationPropertyNames.METAMATRIX_SYSTEM_VERSION;
- }
- }
-
-
-}
Deleted: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLHelper.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLHelper.java 2009-04-10 18:43:00 UTC (rev 751)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLHelper.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -1,674 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.common.config.xml;
-
-
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.jdom.Element;
-
-import com.metamatrix.common.config.api.ComponentDefn;
-import com.metamatrix.common.config.api.ComponentObject;
-import com.metamatrix.common.config.api.ComponentType;
-import com.metamatrix.common.config.api.ComponentTypeDefn;
-import com.metamatrix.common.config.api.Configuration;
-import com.metamatrix.common.config.api.ConfigurationID;
-import com.metamatrix.common.config.api.ConfigurationInfo;
-import com.metamatrix.common.config.api.ConfigurationObjectEditor;
-import com.metamatrix.common.config.api.ConnectorBinding;
-import com.metamatrix.common.config.api.DeployedComponent;
-import com.metamatrix.common.config.api.Host;
-import com.metamatrix.common.config.api.HostID;
-import com.metamatrix.common.config.api.ResourceDescriptor;
-import com.metamatrix.common.config.api.ServiceComponentDefn;
-import com.metamatrix.common.config.api.SharedResource;
-import com.metamatrix.common.config.api.VMComponentDefn;
-import com.metamatrix.common.config.api.VMComponentDefnID;
-import com.metamatrix.common.config.util.InvalidConfigurationElementException;
-import com.metamatrix.common.object.PropertyDefinition;
-
-/**
-* This helper class is used to create JDOM XML Elements from configuration objects.
-*/
-public interface XMLHelper {
-
- /**
- * This method is used to create a Configuration JDOM Element from a
- * Configuration object.
- *
- * @param configuration the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createConfigurationElement(Configuration configuration);
-
-
- /**
- * This method is used to create a ConfigurationInfo JDOM Element from a
- * ConfigurationInfo object.
- *
- * @param info the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createConfigurationInfoElement(ConfigurationInfo info);
-
- /**
- * This method is used to create a LogConfiguration JDOM Element from a
- * LogConfiguration object.
- *
- * @param info the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
-// public Element createLogConfigurationElement(LogConfiguration logConfiguration) ;
-
-
- /**
- * This method is used to create a DeployedComponent JDOM Element from a
- * DeployedComponent object.
- *
- * @param deployedComponent the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
-// public Element createDeployedComponentElement(DeployedComponent deployedComponent) ;
-
-// public DeployedComponent createDeployedVMComponentDefn(Element element,
-// ConfigurationID configID,
-// HostID hostID,
-// ComponentTypeID typeID,
-// ConfigurationObjectEditor editor)
-// throws InvalidConfigurationElementException;
-
-
- /**
- * This method is used to create a VMComponentDefn JDOM Element from a
- * VMComponentDefn object.
- *
- * @param defn the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createVMComponentDefnElement(VMComponentDefn defn) ;
-
- /**
- * This method is used to create a ServiceComponentDefn JDOM Element from a
- * ServiceComponentDefn object.
- *
- * @param defn the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createServiceComponentDefnElement(ServiceComponentDefn defn);
-
- /**
- * This method is used to create a ResourceDescriptor JDOM Element from a
- * ResourceDescriptor object.
- *
- * @param defn the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
-
-// public Element createServiceComponentDefnElement(ResourceDescriptor defn);
-
-
- /**
- * This method is used to create a ProductServiceConfig JDOM Element from a
- * ProductServiceConfig object.
- *
- * @param config the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- // public Element createProductServiceConfigElement(ProductServiceConfig config);
-
- /**
- * This method is used to create a ComponentType JDOM Element from a
- * ComponentType object.
- *
- * @param type the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createComponentTypeElement(ComponentType type) ;
-
- /**
- * This method is used to create a PropertyDefinition JDOM Element from a
- * PropertyDefinition object.
- *
- * @param defn the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createPropertyDefinitionElement(PropertyDefinition defn) ;
-
- /**
- * This method is used to create a ComponentTypeDefn JDOM Element from a
- * ComponentTypeDefn object.
- *
- * @param defn the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createComponentTypeDefnElement(ComponentTypeDefn defn) ;
-
- /**
- * This method is used to create a ProductType JDOM Element from a
- * ProductType object.
- *
- * @param type the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- // public Element createProductTypesElement() ;
-
- /**
- * This method is used to create a ProductServiceConfig JDOM Element from a
- * ProductServiceConfig object.
- *
- * @param type the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- // public Element createProductServiceConfigsElement() ;
-
-
- /**
- * This method is used to create a ProductType JDOM Element from a
- * ProductType object.
- *
- * @param type the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- // public Element createProductTypeElement(ProductType type);
-
- /**
- * This method is used to create a Host JDOM Element from a
- * Host object.
- *
- * @param host the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createHostElement(Host host) ;
-
- /**
- * <p>This method is used to create a Header JDOM Element from a
- * Properties object. The properties object can contain any of the
- * following properties that will be included in the header:<p>
- * <pre>
- * XMLElementNames.Header.ApplicationCreatedDate.ELEMENT
- * XMLElementNames.Header.ApplicationVersionCreatedBy.ELEMENT
- * XMLElementNames.Header.UserName.ELEMENT
- * XMLElementNames.Header.DocumentTypeVersion.ELEMENT
- * XMLElementNames.Header.MetaMatrixServerVersion.ELEMENT
- * XMLElementNames.Header.Time.ELEMENT
- * <pre>
- * <p>Any of these properties that are not included in the properties object
- * will not be included in the header Element that is returned.
- *
- * @param props the properties object that contains the values for the Header
- * @return a JDOM XML Element
- */
- public Element createHeaderElement(Properties props) ;
-
-
- /**
- * Return the properties stored in the header section.
- * @param element
- * @return Properties containing the header information
- * @throws InvalidConfigurationElementException if the element passed in
- * is not the header element or its XML structure do not conform to the
- * XML structure specfied in the XMLElementNames class.
- *
- * @since 4.2
- */
- public Properties getHeaderProperties(Element element)throws InvalidConfigurationElementException;
-
-
- /**
- * Returns true if the information in the element indicates
- * that it is compatible with the 4.2 configuration format.
- * Otherwise, it considered to be pre 4.2 compatible.
- * @param element
- * @return
- * @throws InvalidConfigurationElementException
- * @since 4.2
- */
- public boolean is42ConfigurationCompatible(Element element) throws InvalidConfigurationElementException;
-
-
- /**
- * This method is used to create a Properties JDOM Element from a
- * Properties object.
- *
- * @param props the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createPropertiesElement(Properties props);
-
- /**
- * This method is used to create a Configuration ID JDOM Element from a
- * Configuration ID object.
- *
- * @param type the ID type to be created. @see XMLElementNames.Configurations.Configuration.XXXID.ELEMENT for valid values
- * @param name the calue of the name attribute of the ID element to create.
- * @return a JDOM XML Element
- */
- public Element createIDElement(String type, String name);
-
- /**
- * This method is used to create a Configurations JDOM Element.
- * This element is for structural organization
- * only and does not represent any real configuration object.
- *
- * @return a JDOM XML Element
- */
- public Element createConfigurationsElement();
-
- /**
- * This method is used to create a Hosts JDOM Element.
- * This element is for structural organization
- * only and does not represent any real configuration object.
- *
- * @return a JDOM XML Element
- */
- public Element createHostsElement();
-
- /**
- * This method is used to create a ComponentTypes JDOM Element.
- * This element is for structural organization
- * only and does not represent any real configuration object.
- *
- * @return a JDOM XML Element
- */
- public Element createComponentTypesElement();
-
- /**
- * This method is used to create a ServiceComponentDefns JDOM Element.
- * This element is for structural organization
- * only and does not represent any real configuration object.
- *
- * @return a JDOM XML Element
- */
- public Element createServiceComponentDefnsElement();
-
- /**
- * This method is used to create a root JDOM Element.
- * This element is for structural organization
- * only and does not represent any real configuration object.
- *
- * @return a JDOM XML Element
- */
- public Element createRootConfigurationDocumentElement();
-
- /**
- * This method will create a Host configuration object from an XML element
- * that represents a Host.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the Host configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLElementNames class.
- */
- public Host createHost(Element element, ConfigurationID configID, ConfigurationObjectEditor editor, String name)throws InvalidConfigurationElementException;
-
-
- /**
- * This method will create a SharedResource configuration object from an XML element
- * that represents a SharedResource.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @return the ResourceDescriptor configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLElementNames class.
- */
- public SharedResource createSharedResource(Element element, ConfigurationObjectEditor editor) throws InvalidConfigurationElementException;
-
- /**
- * This method is used to create a Resources JDOM Element.
- * This element is for structural organization
- * only and does not represent any real configuration object.
- *
- * @return a JDOM XML Element
- */
- public Element createSharedResourcesElement();
-
-
- /**
- * This method is used to create a Shared Resource JDOM Element from a
- * SharedResource object.
- *
- * @param host the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createSharedResourceElement(SharedResource resource) ;
-
-
- /**
- * This method will create a ComponentType configuration object from an XML element
- * that represents a ComponentType.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @param maintainIDs should be true if the created ComponentType
- * should use the Parent ID name that is defined within the element
- * otherwise their parentID will be null. This should only be true if
- * it is known that the configuration environment that this ComponentType
- * is to be commited to contains a valid ComponentType with the ParentID
- * matching that in the XML element (typically in the case of Connector
- * ComponentTypes).
- * @return the ComponentType configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLElementNames class.
- */
- public ComponentType createComponentType(Element element, ConfigurationObjectEditor editor, String name, boolean maintainParentID)throws InvalidConfigurationElementException;
-
- /**
- * This method will create a ProductType configuration object from an XML element
- * that represents a ProductType.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @param componentTypeMap this is a map of ComponentTypeID--->ComponentType
- * it must contain all of the Component types that the ProductType
- * that is represented by the passed in XML element references.
- * @return the ProductType configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLElementNames class.
- */
- // public ProductType createProductType(Element element, ConfigurationObjectEditor editor,Map ComponentTypeMap, String name)throws InvalidConfigurationElementException;
-
-
- /**
- * This method will create a Configuration configuration object from an XML element
- * that represents a Configuration.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the Configuration configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLElementNames class.
- */
- public Configuration createConfiguration(Element element, ConfigurationObjectEditor editor, String name)throws InvalidConfigurationElementException;
-
- /**
- * This method will create a LogConfiguration configuration object from an XML element
- * that represents a LogConfiguration.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the LogConfiguration configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLElementNames class.
- */
-// public LogConfiguration createLogConfiguration(Element element)throws InvalidConfigurationElementException;
-
-
- /**
- * This method will create a resource pool configuration object from an XML element
- * that represents a ResourceDescriptor.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @return the ResourceDescriptor configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLElementNames class.
- */
- public ResourceDescriptor createResourcePool(Element element, ConfigurationID configID, ConfigurationObjectEditor editor) throws InvalidConfigurationElementException;
-
-
-
- /**
- * This method is used to create a ResourceDescriptor JDOM Element from a
- * ResourceDescriptor object.
- *
- * @param connector the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createResourcePoolElement(ResourceDescriptor resource);
-
- /**
- * This method is used to create a ResourceDescriptors JDOM Element.
- * This element is for structural organization
- * only and does not represent any real configuration object.
- *
- * @return a JDOM XML Element
- */
-
- public Element createResourcePoolsElement();
-
- /**
- * This method will create a ServiceComponentDefn configuration object from an XML element
- * that represents a ServiceComponentDefn.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the ServiceComponentDefn configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLElementNames class.
- */
- public ComponentDefn createServiceComponentDefn(Element element, Configuration config, ConfigurationObjectEditor editor, String name)throws InvalidConfigurationElementException;
-
- /**
- * This method will create a ServiceComponentDefn configuration object from an XML element
- * that represents a ServiceComponentDefn.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the ServiceComponentDefn configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLElementNames class.
- */
-
- public ComponentDefn createServiceComponentDefn(Element element, ConfigurationID configID, ConfigurationObjectEditor editor, String name)throws InvalidConfigurationElementException;
-
-
-
- /**
- * This method is used to create a ConnectorBindings JDOM Element.
- * This element is for structural organization
- * only and does not represent any real configuration object.
- *
- * @return a JDOM XML Element
- */
- public Element createConnectorBindingsElement();
-
- /**
- * This method is used to create a Connector Binding JDOM Element from a
- * ConnectorBinding object.
- *
- * @param connector the Object to be converted to a JDOM XML Element
- * @return a JDOM XML Element
- */
- public Element createConnectorBindingElement(ConnectorBinding connector, boolean isExportConfig) ;
-
-
- /**
- * This method will create a ConnectorBinding object from an XML element
- * that represents a ServiceComponentDefn.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the ConnectorBinding configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLElementNames class.
- */
-
- public ConnectorBinding createConnectorBinding(ConfigurationID configurationID, Element element, ConfigurationObjectEditor editor, String name, boolean isImportConfig)throws InvalidConfigurationElementException;
-
- /**
- * This method will create a DeployedComponent configuration object from an XML element
- * that represents a DeployedComponent.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @param serviceComponentDefnMap a map of ServiceComponentDefnID-->ServiceComponentDefn
- * this map must contain at the very least the ServiceComponentDefn that
- * is the service definition of the deployed component that the XML element
- * references. This is used if the deployedComponent is a Service. Otherwise
- * it is ignored.
- * @param vmComponentDefnMap a map of vmComponentDefnID-->vmComponentDefn
- * this map must contain at the very least the vmComponentDefn that
- * is the VM definition of the deployed component that the XML element
- * references. This is used if the deployedComponent is a VM. Otherwise
- * it is ignored.
- * @return the DeployedComponent configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLElementNames class.
- */
-// public DeployedComponent createDeployedComponent(Element element, Configuration config, ConfigurationObjectEditor editor, Map serviceComponentDefnMap, Map vmComponentDefnMap, Map componentTypeMap, String name)throws InvalidConfigurationElementException;
-
-
-// public DeployedComponent createDeployedComponent(Element element,
-// ConfigurationID configID,
-// HostID hostID,
-// VMComponentDefnID vmID,
-// Map componentTypeMap,
-// ConfigurationObjectEditor editor)
-// throws InvalidConfigurationElementException;
-
-
- // public Element createDeployedProductServiceConfigElement(ProductServiceConfig config);
-
- /**
- * This method will create a VMComponentDefn configuration object from an XML element
- * that represents a VMComponentDefn.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param configID is the configuration the vm will become a part of
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the VMComponentDefn configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLElementNames class.
- */
- public VMComponentDefn createVMComponentDefn(Element element, ConfigurationID configID, HostID hostID, ConfigurationObjectEditor editor, String name)throws InvalidConfigurationElementException;
-
- /**
- *
- * @param element
- * @param configID
- * @param hostID
- * @param editor
- * @param name
- * @return
- * @throws InvalidConfigurationElementException
- * @since 4.1
- * @deprecated
- */
-
- // public VMComponentDefn createVMComponentDefn(Element element, ConfigurationID configID, ConfigurationObjectEditor editor, String name)throws InvalidConfigurationElementException;
-
- /**
- * This method will create a ProductServiceConfig configuration object from an XML element
- * that represents a ProductServiceConfig.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param configID is the configuration this PSC will become a part of
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the ProductServiceConfig configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLElementNames class.
- */
-// public ProductServiceConfig createProductServiceConfig(Element element, ConfigurationID configID, ConfigurationObjectEditor editor, String name)throws InvalidConfigurationElementException;
-
- /**
- * This method will create a ComponentObject configuration object from an XML element
- * that represents a ComponentObject.
- *
- * @param element the JDOM element to convert to a configuration object
- * @param editor the editor to use to create the configuration object
- * @param name the name of the returned configuration object. Note this
- * name will override the name in the JDOM element. If the name parameter
- * is null, the name of the object in the JDOM element will be used as
- * the name of the object.
- * @return the ComponentObject configuration object
- * @throws InvalidConfigurationElementException if the element passed in
- * or its XML structure do not conform to the XML structure specfied in
- * the XMLElementNames class.
- */
- public ComponentObject addProperties(Element propertiesElement, ComponentObject object, ConfigurationObjectEditor editor) throws InvalidConfigurationElementException;
-
- /**
- * This helper method will order a List of XML JDOM elements that represent
- * ComponentTypes or ProductTypes so that types that are referenced by other
- * types in the list are in the returned list before the object that is
- * referencing it. This is necessary so that the object editor that is
- * used to create the ComponentTypes will contain viable actions.
- * a ComponentType object that references a super cannot be created prior to the super
- * ComponentType object.
- *
- * @param List of ComponentType objects
- */
- public void orderComponentTypeElementList(List componentTypeElements);
-
-}
Copied: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLHelperImpl.java (from rev 747, branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLConfig_42_HelperImpl.java)
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLHelperImpl.java (rev 0)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLHelperImpl.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -0,0 +1,2441 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package com.metamatrix.common.config.xml;
+
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+import org.jdom.Element;
+
+import com.metamatrix.admin.api.objects.PropertyDefinition.RestartType;
+import com.metamatrix.common.CommonPlugin;
+import com.metamatrix.common.config.api.AuthenticationProvider;
+import com.metamatrix.common.config.api.ComponentDefn;
+import com.metamatrix.common.config.api.ComponentObject;
+import com.metamatrix.common.config.api.ComponentType;
+import com.metamatrix.common.config.api.ComponentTypeDefn;
+import com.metamatrix.common.config.api.ComponentTypeID;
+import com.metamatrix.common.config.api.Configuration;
+import com.metamatrix.common.config.api.ConfigurationID;
+import com.metamatrix.common.config.api.ConfigurationObjectEditor;
+import com.metamatrix.common.config.api.ConnectorBinding;
+import com.metamatrix.common.config.api.ConnectorBindingID;
+import com.metamatrix.common.config.api.DeployedComponent;
+import com.metamatrix.common.config.api.Host;
+import com.metamatrix.common.config.api.HostID;
+import com.metamatrix.common.config.api.ServiceComponentDefn;
+import com.metamatrix.common.config.api.ServiceComponentDefnID;
+import com.metamatrix.common.config.api.SharedResource;
+import com.metamatrix.common.config.api.VMComponentDefn;
+import com.metamatrix.common.config.api.VMComponentDefnID;
+import com.metamatrix.common.config.model.BasicComponentObject;
+import com.metamatrix.common.config.model.BasicComponentType;
+import com.metamatrix.common.config.model.BasicConfigurationObjectEditor;
+import com.metamatrix.common.config.model.BasicUtil;
+import com.metamatrix.common.config.model.BasicVMComponentDefn;
+import com.metamatrix.common.config.util.ConfigurationPropertyNames;
+import com.metamatrix.common.config.util.InvalidConfigurationElementException;
+import com.metamatrix.common.log.LogConfiguration;
+import com.metamatrix.common.namedobject.BaseID;
+import com.metamatrix.common.object.Multiplicity;
+import com.metamatrix.common.object.MultiplicityExpressionException;
+import com.metamatrix.common.object.PropertyDefinition;
+import com.metamatrix.common.object.PropertyDefinitionImpl;
+import com.metamatrix.common.object.PropertyType;
+import com.metamatrix.common.util.ErrorMessageKeys;
+import com.metamatrix.common.util.PropertiesUtils;
+import com.metamatrix.core.util.Assertion;
+import com.metamatrix.core.util.DateUtil;
+import com.metamatrix.core.util.EquivalenceUtil;
+/**
+* This helper class is used to create JDOM XML Elements from configuration objects
+* and to create Configuration objects from JDOM XML Elements.
+*
+*
+* NOTE - The helper cannot have any calls to LogManager because the bootstrapping of
+* the CurrentConfiguration
+* uses this class and the CurrentConfiguration has to come up before
+* logging is available.
+*
+*/
+public class XMLHelperImpl implements ConfigurationPropertyNames {
+
+
+ /**
+ * @see com.metamatrix.common.config.xml.XMLHelper#createDeployedComponent(org.jdom.Element, com.metamatrix.common.config.api.ConfigurationID, com.metamatrix.common.config.api.HostID, com.metamatrix.common.config.api.VMComponentDefnID, com.metamatrix.common.config.api.ProductServiceConfigID, java.util.Map, com.metamatrix.common.config.api.ConfigurationObjectEditor)
+ * @since 4.1
+ */
+// public DeployedComponent createDeployedComponent(Element element,
+// ConfigurationID configID,
+// HostID hostID,
+// VMComponentDefnID vmID,
+// Map componentTypeMap,
+// ConfigurationObjectEditor editor) throws InvalidConfigurationElementException {
+// return null;
+// }
+ /**
+ * This method is used to create a Configuration JDOM Element from a
+ * Configuration object.
+ *
+ * @param configuration the Object to be converted to a JDOM XML Element
+ * @return a JDOM XML Element
+ */
+ public Element createConfigurationElement(Configuration configuration) {
+ // first we set up the organizational structure of a configuration
+ Assertion.isNotNull(configuration);
+
+ Element configElement = createComponentObjectElement(XMLConfig_ElementNames.Configuration.ELEMENT, configuration, true);
+ return configElement;
+ }
+
+
+
+ /**
+ * This method is used to create a ConfigurationInfo JDOM Element from a
+ * ConfigurationInfo object.
+ *
+ * @param info the Object to be converted to a JDOM XML Element
+ * @return a JDOM XML Element
+ */
+// public Element createConfigurationInfoElement(ConfigurationInfo info) {
+// throw new UnsupportedOperationException("Method createConfigurationInfoElement is unsupported in 4.2"); //$NON-NLS-1$
+
+// Assertion.isNotNull(info);
+//
+// Element configurationInfoElement = new Element(XMLConfig_42__ElementNames.Configuration.ConfigurationInfo.ELEMENT);
+//
+// Date date = info.getLastChangedDate();
+// if (date != null) {
+// configurationInfoElement.setAttribute(XMLConfig_42__ElementNames.Configuration.ConfigurationInfo.Attributes.LAST_CHANGED_DATE, date.toString());
+// }
+//
+// date = info.getCreationDate();
+// if (date !=null) {
+// configurationInfoElement.setAttribute(XMLConfig_42__ElementNames.Configuration.ConfigurationInfo.Attributes.CREATION_DATE, date.toString());
+// }
+// return configurationInfoElement;
+ // }
+
+ /**
+ * This method is used to create a DeployedComponent JDOM Element from a
+ * DeployedComponent object.
+ *
+ * @param deployedComponent the Object to be converted to a JDOM XML Element
+ * @return a JDOM XML Element
+ */
+ public Element createDeployedServiceElement(DeployedComponent deployedComponent) {
+ Assertion.isNotNull(deployedComponent);
+
+ Element deployedComponentElement = createComponentObjectElement(XMLConfig_ElementNames.Configuration.DeployedService.ELEMENT, deployedComponent, true);
+
+ return deployedComponentElement;
+ }
+
+ /**
+ * This method is used to create a VMComponentDefn JDOM Element from a
+ * VMComponentDefn object.
+ *
+ * @param defn the Object to be converted to a JDOM XML Element
+ * @return a JDOM XML Element
+ */
+ public Element createProcessElement(VMComponentDefn defn) {
+ Assertion.isNotNull(defn);
+
+ Element vmComponentDefnElement = createComponentObjectElement(XMLConfig_ElementNames.Configuration.Process.ELEMENT, defn, true);
+ return vmComponentDefnElement;
+ }
+//
+// public Element createDeployedServiceComponentDefnElement(ServiceComponentDefn defn) {
+// Assertion.isNotNull(defn);
+//
+// Element serviceComponentDefnElement = createComponentObjectElement(XMLConfig_ElementNames.Configuration.DeployedService.ELEMENT, defn);
+// serviceComponentDefnElement.setAttribute(XMLConfig_ElementNames.Configuration.DeployedService.Attributes.ROUTING_UUID, defn.getRoutingUUID());
+// return serviceComponentDefnElement;
+// }
+
+ /**
+ * This method is used to create a ServiceComponentDefn JDOM Element from a
+ * ServiceComponentDefn object.
+ *
+ * @param defn the Object to be converted to a JDOM XML Element
+ * @return a JDOM XML Element
+ */
+ public Element createServiceComponentDefnElement(ServiceComponentDefn defn) {
+ Assertion.isNotNull(defn);
+
+ Element serviceComponentDefnElement = createComponentObjectElement(XMLConfig_ElementNames.Configuration.Services.Service.ELEMENT, defn, true);
+ serviceComponentDefnElement.setAttribute(XMLConfig_ElementNames.Configuration.Services.Service.Attributes.ROUTING_UUID, defn.getRoutingUUID());
+ return serviceComponentDefnElement;
+ }
+
+
+ /**
+ * This method is used to create a ServiceComponentDefn JDOM Element from a
+ * ServiceComponentDefn object.
+ *
+ * @param defn the Object to be converted to a JDOM XML Element
+ * @return a JDOM XML Element
+ */
+ public Element createAuthenticationProviderElement(AuthenticationProvider defn) {
+ Assertion.isNotNull(defn);
+
+ Element serviceComponentDefnElement = createComponentObjectElement(XMLConfig_ElementNames.Configuration.AuthenticationProviders.Provider.ELEMENT, defn, true);
+ return serviceComponentDefnElement;
+ }
+ /**
+ * This method is used to create a ServiceComponentDefn JDOM Element from a
+ * ServiceComponentDefn object.
+ *
+ * @param defn the Object to be converted to a JDOM XML Element
+ * @return a JDOM XML Element
+ */
+// public Element createServiceComponentDefnElement(ResourceDescriptor defn) {
+// Assertion.isNotNull(defn);
+//
+// Element serviceComponentDefnElement = createComponentObjectElement(XMLConfig_ElementNames.ServiceComponentDefns.ServiceComponentDefn.ELEMENT, defn);
+// return serviceComponentDefnElement;
+// }
+
+// public Element createDeployedProductServiceConfigElement(ProductServiceConfig config) {
+// Assertion.isNotNull(config);
+//
+// Element productServiceConfigElement = createComponentObjectElement(XMLConfig_ElementNames.Configuration.ProductServiceConfig.ELEMENT, config);
+//
+// return productServiceConfigElement;
+// }
+//
+// public Element createProductServiceConfigsElement() {
+// return new Element(XMLConfig_ElementNames.ProductServiceConfigs.ELEMENT);
+//
+// }
+
+
+
+
+ /**
+ * This method is used to create a ProductServiceConfig JDOM Element from a
+ * ProductServiceConfig object.
+ *
+ * @param config the Object to be converted to a JDOM XML Element
+ * @return a JDOM XML Element
+ */
+// public Element createProductServiceConfigElement(ProductServiceConfig config) {
+// Assertion.isNotNull(config);
+//
+// Element productServiceConfigElement = createComponentObjectElement(XMLConfig_ElementNames.ProductServiceConfigs.ProductServiceConfig.ELEMENT, config);
+//
+// Iterator iterator = config.getServiceComponentDefnIDs().iterator();
+// while (iterator.hasNext()) {
+// ServiceComponentDefnID id = (ServiceComponentDefnID)iterator.next();
+// boolean isEnabled = config.isServiceEnabled(id);
+//
+// Element idElement = createIDElement(XMLConfig_ElementNames.ProductServiceConfigs.ProductServiceConfig.Service.ELEMENT, id.getName());
+//
+// idElement.setAttribute(XMLConfig_ElementNames.ProductServiceConfigs.ProductServiceConfig.Service.Attributes.IS_ENABLED, (Boolean.valueOf(isEnabled)).toString());
+//
+// productServiceConfigElement.addContent(idElement);
+// }
+// return productServiceConfigElement;
+// }
+
+ /**
+ * This method is used to create a ComponentType JDOM Element from a
+ * ComponentType object.
+ *
+ * @param type the Object to be converted to a JDOM XML Element
+ * @return a JDOM XML Element
+ */
+ public Element createComponentTypeElement(ComponentType type) {
+ Assertion.isNotNull(type);
+
+ Element componentTypeElement = new Element(XMLConfig_ElementNames.ComponentTypes.ComponentType.ELEMENT);
+ Iterator iterator = type.getComponentTypeDefinitions().iterator();
+ while (iterator.hasNext()) {
+ ComponentTypeDefn defn = (ComponentTypeDefn)iterator.next();
+// Element componentTypeDefnElement = createComponentTypeDefnElement(defn);
+ Element propertyDefinitionElement = createPropertyDefinitionElement(defn.getPropertyDefinition());
+// componentTypeDefnElement.addContent(propertyDefinitionElement);
+ componentTypeElement.addContent(propertyDefinitionElement);
+ }
+ componentTypeElement.setAttribute(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.NAME, type.getName());
+
+ if (type.getDescription() != null) {
+ componentTypeElement.setAttribute(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.DESCRIPTION, type.getDescription());
+ }
+
+ componentTypeElement.setAttribute(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.COMPONENT_TYPE_CODE, new Integer(type.getComponentTypeCode()).toString());
+ componentTypeElement.setAttribute(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.DEPLOYABLE, (Boolean.valueOf(type.isDeployable())).toString());
+ componentTypeElement.setAttribute(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.DEPRECATED, (Boolean.valueOf(type.isDeprecated())).toString());
+ componentTypeElement.setAttribute(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.MONITORABLE, (Boolean.valueOf(type.isMonitored())).toString());
+ // we only add these if they are not null
+ BaseID superID = type.getSuperComponentTypeID();
+ String superIDString;
+ if (superID != null) {
+ superIDString = superID.getName();
+ componentTypeElement.setAttribute(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.SUPER_COMPONENT_TYPE, superIDString);
+
+ }
+
+ BaseID parentID = type.getParentComponentTypeID();
+ String parentIDString;
+ if (parentID!=null) {
+ parentIDString = parentID.getName();
+ componentTypeElement.setAttribute(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.PARENT_COMPONENT_TYPE, parentIDString);
+
+ }
+
+ addChangeHistoryElement(type, componentTypeElement);
+// componentTypeElement.addContent(chgHistoryElement);
+
+
+ return componentTypeElement;
+ }
+
+ /**
+ * This method is used to create a PropertyDefinition JDOM Element from a
+ * PropertyDefinition object.
+ *
+ * @param defn the Object to be converted to a JDOM XML Element
+ * @return a JDOM XML Element
+ */
+ public Element createPropertyDefinitionElement(PropertyDefinition defn) {
+ Assertion.isNotNull(defn);
+
+
+ Element element = new Element(XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.ELEMENT);
+
+ String name = defn.getName();
+ element.setAttribute(XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.NAME, name);
+
+ String displayName = defn.getDisplayName();
+ element.setAttribute(XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.DISPLAY_NAME,displayName);
+
+
+ setAttributeString(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.SHORT_DESCRIPTION,
+ defn.getShortDescription(), PropertyDefinitionImpl.DEFAULT_SHORT_DESCRIPTION);
+
+ Object value = defn.getDefaultValue();
+ if (value!=null) {
+ setAttributeString(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.DEFAULT_VALUE,
+ value.toString(), PropertyDefinitionImpl.DEFAULT_DEFAULT_VALUE);
+ }
+
+ Multiplicity mult = defn.getMultiplicity();
+ if (mult!=null) {
+ setAttributeString(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.MULTIPLICITY,
+ mult.toString(), PropertyDefinitionImpl.DEFAULT_MULTIPLICITY);
+ }
+
+ PropertyType type = defn.getPropertyType();
+ if (type != null) {
+ setAttributeString(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.PROPERTY_TYPE,
+ type.getDisplayName(), PropertyDefinitionImpl.DEFAULT_TYPE.getDisplayName());
+ }
+
+
+ setAttributeString(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.VALUE_DELIMITER,
+ defn.getValueDelimiter(), PropertyDefinitionImpl.DEFAULT_DELIMITER);
+
+ setAttributeBoolean(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_CONSTRAINED_TO_ALLOWED_VALUES,
+ defn.isConstrainedToAllowedValues(), PropertyDefinitionImpl.DEFAULT_IS_CONSTRAINED);
+
+ setAttributeBoolean(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_EXPERT,
+ defn.isExpert(), PropertyDefinitionImpl.DEFAULT_IS_EXPERT);
+
+ setAttributeBoolean(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_HIDDEN,
+ defn.isHidden(), PropertyDefinitionImpl.DEFAULT_IS_HIDDEN);
+
+ setAttributeBoolean(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_MASKED,
+ defn.isMasked(), PropertyDefinitionImpl.DEFAULT_IS_MASKED);
+
+ setAttributeBoolean(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_MODIFIABLE,
+ defn.isModifiable(), PropertyDefinitionImpl.DEFAULT_IS_MODIFIABLE);
+
+ setAttributeBoolean(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_PREFERRED,
+ defn.isPreferred(), PropertyDefinitionImpl.DEFAULT_IS_PREFERRED);
+
+ setAttributeString(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.REQUIRES_RESTART,
+ defn.getRequiresRestart().toString(), PropertyDefinitionImpl.DEFAULT_REQUIRES_RESTART.toString());
+
+
+ List allowedValues = defn.getAllowedValues();
+ Iterator iterator = allowedValues.iterator();
+ while (iterator.hasNext()) {
+ Element allowedValueElement = new Element(XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.AllowedValue.ELEMENT);
+ allowedValueElement.addContent((iterator.next()).toString());
+ element.addContent(allowedValueElement);
+ }
+
+ return element;
+
+ }
+
+
+
+ /**
+ * Set the specified attribute on the on the specified element, only if it's not the default value.
+ * @param element Element to modify
+ * @param attributeName name of Attribute to set
+ * @param value Value to set
+ * @param defaultValue If value==default value, don't set anything.
+ * @since 4.3
+ */
+ private static void setAttributeString(Element element, String attributeName, String value, String defaultValue) {
+ if (value != null && ! EquivalenceUtil.areEqual(value, defaultValue)) {
+ element.setAttribute(attributeName, value);
+ }
+ }
+ /**
+ * Set the specified attribute on the on the specified element, only if it's not the default value.
+ * @param element Element to modify
+ * @param attributeName name of Attribute to set
+ * @param value Value to set
+ * @param defaultValue If value==default value, don't set anything.
+ * @since 4.3
+ */
+ private static void setAttributeBoolean(Element element, String attributeName, boolean value, boolean defaultValue) {
+ if (! value == defaultValue) {
+ String valueString = String.valueOf(value);
+ element.setAttribute(attributeName, valueString);
+ }
+ }
+
+
+ /**
+ * This method is used to create a ComponentTypeDefn JDOM Element from a
+ * ComponentTypeDefn object.
+ *
+ * @param defn the Object to be converted to a JDOM XML Element
+ * @return a JDOM XML Element
+ */
+ public Element createComponentTypeDefnElement(ComponentTypeDefn defn) {
+ Assertion.isNotNull(defn);
+
+ Element componentTypeDefnElement = new Element(XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.ELEMENT);
+ componentTypeDefnElement.setAttribute(XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.Attributes.DEPRECATED, (Boolean.valueOf(defn.isDeprecated())).toString());
+ return componentTypeDefnElement;
+ }
+
+ /**
+ * This method is used to create a ProductType JDOM Element from a
+ * ProductType object.
+ *
+ * @param type the Object to be converted to a JDOM XML Element
+ * @return a JDOM XML Element
+ */
+// public Element createProductTypeElement(ProductType type) {
+// Assertion.isNotNull(type);
+//
+// Element productTypeElement = new Element(XMLConfig_ElementNames.ProductTypes.ProductType.ELEMENT);
+//
+// Iterator iterator = type.getComponentTypeIDs().iterator();
+// while (iterator.hasNext()) {
+// ComponentTypeID id = (ComponentTypeID)iterator.next();
+// Element componentTypeIDElement = createIDElement(XMLConfig_ElementNames.ComponentTypeID.ELEMENT, id.getName());
+// productTypeElement.addContent(componentTypeIDElement);
+// }
+//
+//
+// productTypeElement.setAttribute(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.NAME, type.getName());
+// productTypeElement.setAttribute(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.COMPONENT_TYPE_CODE, new Integer(type.getComponentTypeCode()).toString());
+// productTypeElement.setAttribute(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.DEPLOYABLE, (Boolean.valueOf(type.isDeployable())).toString());
+// productTypeElement.setAttribute(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.DEPRECATED, (Boolean.valueOf(type.isDeprecated())).toString());
+// productTypeElement.setAttribute(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.MONITORABLE, (Boolean.valueOf(type.isMonitored())).toString());
+//
+// // we only add these if they are not null
+// BaseID superID = type.getSuperComponentTypeID();
+// String superIDString;
+// if (superID != null) {
+// superIDString = superID.getName();
+// productTypeElement.setAttribute(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.SUPER_COMPONENT_TYPE, superIDString);
+//
+// }
+//
+// addChangeHistoryElement(type, productTypeElement);
+//
+//
+// return productTypeElement;
+//
+// }
+
+ /**
+ * This method is used to create a Host JDOM Element from a
+ * Host object.
+ *
+ * @param host the Object to be converted to a JDOM XML Element
+ * @return a JDOM XML Element
+ */
+ public Element createHostElement(Host host) {
+ Assertion.isNotNull(host);
+
+ Element hostElement = createComponentObjectElement(XMLConfig_ElementNames.Configuration.Host.ELEMENT, host, true);
+ return hostElement;
+ }
+
+ public Element createDeployedVMElementx(DeployedComponent vm) {
+ Assertion.isNotNull(vm);
+
+ Element hostElement = createComponentObjectElement(XMLConfig_ElementNames.Configuration.Host.ELEMENT, vm, true);
+ return hostElement;
+ }
+
+// public final boolean is42ConfigurationCompatible(Element root) throws InvalidConfigurationElementException{
+// Element headerElement = root.getChild(XMLConfig_ElementNames.Header.ELEMENT);
+// if (headerElement == null) {
+// throw new InvalidConfigurationElementException("The header element is not found in the configuration under element.", root.getName()); //$NON-NLS-1$
+// }
+//
+// Properties props = getHeaderProperties(headerElement);
+//
+//
+// String sVersion = props.getProperty(XMLConfig_ElementNames.Header.ConfigurationVersion.ELEMENT);
+//
+// if (sVersion == null) {
+// return false;
+// }
+// try {
+// double sv = Double.parseDouble(sVersion);
+// if (sv == ConfigurationPropertyNames.CONFIG_CURR_VERSION_DBL) {
+// return true;
+// }
+// } catch (Throwable t) {
+// return false;
+// }
+// return true;
+// }
+
+ public Properties getHeaderProperties(Element element) throws InvalidConfigurationElementException{
+ Properties props=new Properties();
+
+ if (!element.getName().equals(XMLConfig_ElementNames.Header.ELEMENT)) {
+ throw new InvalidConfigurationElementException("This is not the header element: " + element.getName() + ".", element); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ List elements = element.getChildren();
+ Iterator it = elements.iterator();
+ while(it.hasNext()) {
+ final Element e = (Element) it.next();
+ props.setProperty(e.getName(), e.getText());
+ }
+
+
+ return props;
+ }
+
+
+ /**
+ * <p>This method is used to create a Header JDOM Element from a
+ * Properties object. The properties object can contain any of the
+ * following properties that will be included in the header:<p>
+ * <pre>
+ * XMLConfig_ElementNames.Header.ApplicationCreatedDate.ELEMENT
+ * XMLConfig_ElementNames.Header.ApplicationVersionCreatedBy.ELEMENT
+ * XMLConfig_ElementNames.Header.UserName.ELEMENT
+ * XMLConfig_ElementNames.Header.DocumentTypeVersion.ELEMENT
+ * XMLConfig_ElementNames.Header.MetaMatrixServerVersion.ELEMENT
+ * XMLConfig_ElementNames.Header.Time.ELEMENT
+ * <pre>
+ * <p>Any of these properties that are not included in the properties object
+ * will not be included in the header Element that is returned.
+ *
+ * @param props the properties object that contains the values for the Header
+ * @return a JDOM XML Element
+ */
+ public Element createHeaderElement(Properties props) {
+ Assertion.isNotNull(props);
+
+ Element headerElement = new Element(XMLConfig_ElementNames.Header.ELEMENT);
+ String applicationCreatedByContent = props.getProperty(XMLConfig_ElementNames.Header.ApplicationCreatedBy.ELEMENT);
+ String applicationVersionCreatedByContent = props.getProperty(XMLConfig_ElementNames.Header.ApplicationVersionCreatedBy.ELEMENT);
+ String userNameContent = props.getProperty(XMLConfig_ElementNames.Header.UserCreatedBy.ELEMENT);
+ String configVersionContent = props.getProperty(XMLConfig_ElementNames.Header.ConfigurationVersion.ELEMENT);
+ String serverVersionContent = props.getProperty(XMLConfig_ElementNames.Header.MetaMatrixSystemVersion.ELEMENT);
+ String timeContent = props.getProperty(XMLConfig_ElementNames.Header.Time.ELEMENT);
+
+
+ if (configVersionContent !=null) {
+ Element configurationVersion = new Element(XMLConfig_ElementNames.Header.ConfigurationVersion.ELEMENT);
+ configurationVersion.addContent(configVersionContent);
+ headerElement.addContent(configurationVersion);
+ }
+
+ if (applicationCreatedByContent !=null) {
+ Element applicationCreatedBy = new Element(XMLConfig_ElementNames.Header.ApplicationCreatedBy.ELEMENT);
+ applicationCreatedBy.addContent(applicationCreatedByContent);
+ headerElement.addContent(applicationCreatedBy);
+ }
+
+ if (applicationVersionCreatedByContent != null) {
+ Element applicationVersionCreatedBy = new Element(XMLConfig_ElementNames.Header.ApplicationVersionCreatedBy.ELEMENT);
+ applicationVersionCreatedBy.addContent(applicationVersionCreatedByContent);
+ headerElement.addContent(applicationVersionCreatedBy);
+ }
+
+ if (userNameContent != null) {
+ Element userName = new Element(XMLConfig_ElementNames.Header.UserCreatedBy.ELEMENT);
+ userName.addContent(userNameContent);
+ headerElement.addContent(userName);
+ }
+
+ if (serverVersionContent != null) {
+ Element serverVersion = new Element(XMLConfig_ElementNames.Header.MetaMatrixSystemVersion.ELEMENT);
+ serverVersion.addContent(serverVersionContent);
+ headerElement.addContent(serverVersion);
+ }
+
+ if (timeContent != null) {
+ Element time = new Element(XMLConfig_ElementNames.Header.Time.ELEMENT);
+ time.addContent(timeContent);
+ headerElement.addContent(time);
+ }
+ return headerElement;
+
+ }
+
+ private ComponentObject setDateHistory(ComponentObject defn, Element element, ConfigurationObjectEditor editor) {
+
+ String lastChangedBy=null;
+ String lastChangedDate=null;
+ String createdDate=null;
+ String createdBy=null;
+
+ Properties props = getChangeHistoryFromElement(element);
+
+ if (props != null && props.size() > 0) {
+ lastChangedBy = props.getProperty(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_BY);
+ lastChangedDate = props.getProperty(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_DATE);
+ createdBy = props.getProperty(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.CREATED_BY);
+ createdDate = props.getProperty(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.CREATION_DATE);
+ } else {
+
+ lastChangedBy = element.getAttributeValue(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_BY);
+ lastChangedDate = element.getAttributeValue(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_DATE);
+ createdBy = element.getAttributeValue(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.CREATED_BY);
+ createdDate = element.getAttributeValue(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.CREATION_DATE);
+ }
+
+ lastChangedBy = (lastChangedBy!=null?lastChangedBy:""); //$NON-NLS-1$
+ lastChangedDate = (lastChangedDate!=null?lastChangedDate:DateUtil.getCurrentDateAsString());
+ createdBy = (createdBy!=null?createdBy:""); //$NON-NLS-1$
+ createdDate = (createdDate!=null?createdDate:DateUtil.getCurrentDateAsString());
+
+
+ defn = editor.setCreationChangedHistory(defn, createdBy, createdDate);
+ defn = editor.setLastChangedHistory(defn, lastChangedBy, lastChangedDate);
+
+ return defn;
+
+ }
+
+ private ComponentType setDateHistory(ComponentType type, Element element, ConfigurationObjectEditor editor) {
+ String lastChangedBy=null;
+ String lastChangedDate=null;
+ String createdDate=null;
+ String createdBy=null;
+
+ Properties props = getChangeHistoryFromElement(element);
+
+ if (props != null && props.size() > 0) {
+ lastChangedBy = props.getProperty(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_BY);
+ lastChangedDate = props.getProperty(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_DATE);
+ createdBy = props.getProperty(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.CREATED_BY);
+ createdDate = props.getProperty(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.CREATION_DATE);
+ } else {
+
+ lastChangedBy = element.getAttributeValue(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_BY);
+ lastChangedDate = element.getAttributeValue(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_DATE);
+ createdBy = element.getAttributeValue(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.CREATED_BY);
+ createdDate = element.getAttributeValue(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.CREATION_DATE);
+ }
+
+ lastChangedBy = (lastChangedBy!=null?lastChangedBy:""); //$NON-NLS-1$
+ lastChangedDate = (lastChangedDate!=null?lastChangedDate:DateUtil.getCurrentDateAsString());
+ createdBy = (createdBy!=null?createdBy:""); //$NON-NLS-1$
+ createdDate = (createdDate!=null?createdDate:DateUtil.getCurrentDateAsString());
+
+ type = editor.setCreationChangedHistory(type, createdBy, createdDate);
+ type = editor.setLastChangedHistory(type, lastChangedBy, lastChangedDate);
+
+ return type;
+
+ }
+
+
+ private Properties getChangeHistoryFromElement(Element parentElement) {
+
+ Element propertiesElement = parentElement.getChild(XMLConfig_ElementNames.ChangeHistory.ELEMENT);
+
+ if (propertiesElement == null ) {
+ return new Properties();
+ }
+
+ Properties props = new Properties();
+
+ List properties = propertiesElement.getChildren(XMLConfig_ElementNames.ChangeHistory.Property.ELEMENT);
+ if (properties == null) {
+ return new Properties();
+ }
+ Iterator iterator = properties.iterator();
+ while (iterator.hasNext()) {
+ Element propertyElement = (Element)iterator.next();
+ String propertyName = propertyElement.getAttributeValue(XMLConfig_ElementNames.ChangeHistory.Property.Attributes.NAME);
+ String propertyValue = propertyElement.getText();
+
+ props.setProperty(propertyName, (propertyValue!=null?propertyValue:"")); //$NON-NLS-1$
+
+ }
+ return props;
+
+ }
+
+
+// private Element addChangeHistoryElementx(ComponentType obj) {
+//
+//// call to create the structure for the properties
+// Element changeHistoryElement = new Element(XMLConfig_ElementNames.ChangeHistory.ELEMENT);
+//
+// String lastChangedBy=null;
+// String lastChangedDate=null;
+// String createdDate=null;
+// String createdBy=null;
+//
+// lastChangedBy = obj.getLastChangedBy();
+// lastChangedDate = ((BasicComponentType) obj).getLastChangedDateString();
+//
+// createdBy = obj.getCreatedBy();
+// createdDate = ((BasicComponentType) obj).getCreatedDateString();
+//
+//
+// if (lastChangedBy == null || lastChangedBy.trim().length() == 0) {
+//
+// } else {
+//
+// changeHistoryElement = addPropertyElement(changeHistoryElement, XMLConfig_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_BY, lastChangedBy);
+// }
+//
+// if (lastChangedDate == null) {
+// } else {
+//
+// changeHistoryElement = addPropertyElement(changeHistoryElement, XMLConfig_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_DATE, lastChangedDate);
+// }
+//
+// if (createdBy == null || createdBy.trim().length() == 0) {
+// } else {
+//
+// changeHistoryElement = addPropertyElement(changeHistoryElement, XMLConfig_ElementNames.ChangeHistory.Property.NAMES.CREATED_BY, createdBy);
+// }
+//
+// if (createdDate == null) {
+// } else {
+// changeHistoryElement = addPropertyElement(changeHistoryElement, XMLConfig_ElementNames.ChangeHistory.Property.NAMES.CREATION_DATE,createdDate);
+// }
+//
+// return changeHistoryElement;
+//
+//
+// }
+
+ private void addChangeHistoryElement(ComponentObject obj, Element element ) {
+
+ String lastChangedBy=null;
+ String lastChangedDate=null;
+ String createdDate=null;
+ String createdBy=null;
+
+ lastChangedBy = obj.getLastChangedBy();
+ lastChangedDate = ((BasicComponentObject) obj).getLastChangedDateString();
+
+ createdBy = obj.getCreatedBy();
+ createdDate = ((BasicComponentObject) obj).getCreatedDateString();
+
+
+ if (lastChangedBy == null || lastChangedBy.trim().length() == 0) {
+
+ } else {
+ element.setAttribute(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_BY, lastChangedBy);
+ }
+
+ if (lastChangedDate == null) {
+
+ } else {
+ element.setAttribute(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_DATE, lastChangedDate);
+
+ }
+
+ if (createdBy == null || createdBy.trim().length() == 0) {
+ } else {
+ element.setAttribute(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.CREATED_BY, createdBy);
+ }
+
+ if (createdDate == null) {
+ } else {
+ element.setAttribute(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.CREATION_DATE, createdDate);
+ }
+
+ }
+
+ private void addChangeHistoryElement(ComponentType obj, Element element ) {
+
+// call to create the structure for the properties
+
+ String lastChangedBy=null;
+ String lastChangedDate=null;
+ String createdDate=null;
+ String createdBy=null;
+
+ lastChangedBy = obj.getLastChangedBy();
+ lastChangedDate = ((BasicComponentType) obj).getLastChangedDateString();
+
+ createdBy = obj.getCreatedBy();
+ createdDate = ((BasicComponentType) obj).getCreatedDateString();
+
+
+ if (lastChangedBy == null || lastChangedBy.trim().length() == 0) {
+
+ } else {
+ element.setAttribute(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_BY, lastChangedBy);
+ }
+
+ if (lastChangedDate == null) {
+ lastChangedDate = DateUtil.getCurrentDateAsString();
+ }
+ element.setAttribute(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_DATE, lastChangedDate);
+
+
+
+ if (createdBy == null || createdBy.trim().length() == 0) {
+ } else {
+ element.setAttribute(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.CREATED_BY, createdBy);
+ }
+
+ if (createdDate == null) {
+ createdDate = DateUtil.getCurrentDateAsString();
+ }
+ element.setAttribute(XMLConfig_ElementNames.ChangeHistory.Property.NAMES.CREATION_DATE, createdDate);
+
+ }
+
+
+
+// private Element addChangeHistoryElementx(ComponentObject obj) {
+//
+// Element changeHistoryElement = new Element(XMLConfig_ElementNames.ChangeHistory.ELEMENT);
+//
+// String lastChangedBy=null;
+// String lastChangedDate=null;
+// String createdDate=null;
+// String createdBy=null;
+//
+// lastChangedBy = obj.getLastChangedBy();
+// lastChangedDate = ((BasicComponentObject) obj).getLastChangedDateString();
+//
+// createdBy = obj.getCreatedBy();
+// createdDate = ((BasicComponentObject) obj).getCreatedDateString();
+//
+//
+// if (lastChangedBy == null || lastChangedBy.trim().length() == 0) {
+//
+// } else {
+//
+// changeHistoryElement = addPropertyElement(changeHistoryElement, XMLConfig_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_BY, lastChangedBy);
+// }
+//
+// if (lastChangedDate == null) {
+//
+// } else {
+//
+// changeHistoryElement = addPropertyElement(changeHistoryElement, XMLConfig_ElementNames.ChangeHistory.Property.NAMES.LAST_CHANGED_DATE, lastChangedDate);
+//
+// }
+//
+// if (createdBy == null || createdBy.trim().length() == 0) {
+// } else {
+//
+// changeHistoryElement = addPropertyElement(changeHistoryElement, XMLConfig_ElementNames.ChangeHistory.Property.NAMES.CREATED_BY, createdBy);
+// }
+//
+// if (createdDate == null) {
+// } else {
+// changeHistoryElement = addPropertyElement(changeHistoryElement, XMLConfig_ElementNames.ChangeHistory.Property.NAMES.CREATION_DATE, createdDate);
+// }
+//
+// return changeHistoryElement;
+// }
+
+
+ /**
+ * This method is used to create a Properties JDOM Element from a
+ * Properties object.
+ *
+ * @param props the Object to be converted to a JDOM XML Element
+ * @return a JDOM XML Element
+ */
+ public Element createPropertiesElement(Properties props) {
+ Assertion.isNotNull(props);
+
+ Properties sortprops = PropertiesUtils.sort(props);
+ Element propertiesElement = new Element(XMLConfig_ElementNames.Properties.ELEMENT);
+ Enumeration enumeration = sortprops.propertyNames();
+ while (enumeration.hasMoreElements()) {
+ String propName = (String)enumeration.nextElement();
+ propertiesElement = addPropertyElement(propertiesElement, propName, props.getProperty(propName));
+ }
+
+ return propertiesElement;
+ }
+
+
+ private Element addPropertyElement(Element propertiesElement, String propName, String propValue) {
+ Element property = new Element(XMLConfig_ElementNames.Properties.Property.ELEMENT);
+ property.setAttribute(XMLConfig_ElementNames.Properties.Property.Attributes.NAME, propName);
+ property.addContent(propValue);
+ propertiesElement.addContent(property);
+ return propertiesElement;
+
+ }
+
+
+
+ /**
+ * This method is used to create a Configuration ID JDOM Element from a
+ * Configuration ID object.
+ *
+ * @param type the ID type to be created. @see XMLConfig_ElementNames.Configuration.XXXID.ELEMENT for valid values
+ * @param name the calue of the name attribute of the ID element to create.
+ * @return a JDOM XML Element
+ */
+ public Element createIDElement(String type, String name) {
+
+ Element idElement = new Element(type);
+ idElement.setAttribute(XMLConfig_ElementNames.ID.Attributes.NAME, name);
+ return idElement;
+ }
+
+ /**
+ * This method is used to create a Configurations JDOM Element from a
+ * Configuration ID object. This element is for structural organization
+ * only and does not represent any real configuration object.
+ *
+ * @return a JDOM XML Element
+ */
+ public Element createConfigurationsElement() {
+ throw new UnsupportedOperationException("Method createConfigurationsElement is unsupported in 4.2"); //$NON-NLS-1$
+ }
+
+ /**
+ * This method is used to create a Hosts JDOM Element from a
+ * Configuration ID object. This element is for structural organization
+ * only and does not represent any real configuration object.
+ *
+ * @return a JDOM XML Element
+ */
+// public Element createHostsElement() {
+// throw new UnsupportedOperationException("Method createHostsElement is unsupported in 4.2"); //$NON-NLS-1$
+// }
+
+ /**
+ * This method is used to create a Host JDOM Element from a
+ * Host object.
+ *
+ * @param host the Object to be converted to a JDOM XML Element
+ * @return a JDOM XML Element
+ */
+// public Element createHostElement(Host host) {
+// Assertion.isNotNull(host);
+//
+// Element hostElement = createComponentObjectElement(XMLConfig_ElementNames.Configuration.Host.ELEMENT, host);
+// return hostElement;
+// }
+
+ /**
+ * This method is used to create a ServiceComponentDefns JDOM Element.
+ * This element is for structural organization
+ * only and does not represent any real configuration object.
+ *
+ * @return a JDOM XML Element
+ */
+ public Element createServiceComponentDefnsElement() {
+ return new Element(XMLConfig_ElementNames.Configuration.Services.ELEMENT);
+ }
+
+ /**
+ * This method is used to create a ComponentTypes JDOM Element from a
+ * Configuration ID object. This element is for structural organization
+ * only and does not represent any real configuration object.
+ *
+ * @return a JDOM XML Element
+ */
+ public Element createComponentTypesElement() {
+ return new Element(XMLConfig_ElementNames.ComponentTypes.ELEMENT);
+ }
+
+// public Element createProductTypesElement() {
+// return new Element(XMLConfig_ElementNames.ProductTypes.ELEMENT);
+// }
+
+ public Element createConnectorBindingsElement() {
+ return new Element(XMLConfig_ElementNames.Configuration.ConnectorComponents.ELEMENT);
+ }
+
+
+ /**
+ * This method is used to create a root JDOM Element.
+ * This element is for structural organization
+ * only and does not represent any real configuration object.
+ *
+ * @return a JDOM XML Element
+ */
+ public Element createRootConfigurationDocumentElement() {
+ return new Element(XMLConfig_ElementNames.ELEMENT);
+ }
+
+
+ /**
+ * This method is used to create a ComponentObject JDOM Element from a
+ * ComponentObject object.
+ *
+ * @param type The subclass type of the configuration object to be created.
+ * @see XMLConfig_ElementNames.Configuration.XXXX.ELEMENT
+ * @param componentObject the object to create the Element for.
+ * @return a JDOM XML Element
+ */
+ private Element createComponentObjectElement(String type, ComponentObject componentObject, boolean addType) {
+ Element componentObjectElement = new Element(type);
+ componentObjectElement.setAttribute(XMLConfig_ElementNames.ComponentObject.Attributes.NAME, componentObject.getName());
+ BaseID id = componentObject.getComponentTypeID();
+ if (id !=null && addType) {
+ componentObjectElement.setAttribute(XMLConfig_ElementNames.ComponentObject.Attributes.COMPONENT_TYPE, id.getName());
+ }
+
+ // this will add the changed history information
+ if (componentObject instanceof DeployedComponent) {
+ // don't write the properties for the deployed component
+ } else {
+ Element properties = createPropertiesElement( componentObject.getProperties());
+ componentObjectElement.addContent(properties);
+ }
+
+ addChangeHistoryElement(componentObject, componentObjectElement);
+// componentObjectElement.addContent(chgHistoryElement);
+
+
+ return componentObjectElement;
+ }
+
+
+
+// ##############################################################################
+//
+// Configuration Object Creation Methods
+//
+// ##############################################################################
+
+
+ /**
+ * This method will create a Host configuration object from an XML element
+ * that represents a Host.
+ *
+ * @param element the JDOM element to convert to a configuration object
+ * @param editor the editor to use to create the configuration object
+ * @param name the name of the returned configuration object. Note this
+ * name will override the name in the JDOM element. If the name parameter
+ * is null, the name of the object in the JDOM element will be used as
+ * the name of the object.
+ * @return the Host configuration object
+ * @throws InvalidConfigurationElementException if the element passed in
+ * or its XML structure do not conform to the XML structure specfied in
+ * the XMLConfig_ElementNames class.
+ */
+ public Host createHost(Element element, ConfigurationID configID, ConfigurationObjectEditor editor, String name) throws InvalidConfigurationElementException{
+ Assertion.isNotNull(element);
+ Assertion.isNotNull(editor);
+
+ if (!element.getName().equals(XMLConfig_ElementNames.Configuration.Host.ELEMENT)) {
+ throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0032, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0032, element.getName()), element);
+ }
+ if (name == null) {
+ name = element.getAttributeValue(XMLConfig_ElementNames.Configuration.Host.Attributes.NAME);
+ }
+
+ Host host = editor.createHost(configID, name);
+
+// Element propertiesElement = element.getChild(XMLConfig_ElementNames.Properties.ELEMENT);
+
+ host = (Host) setDateHistory(host, element, editor);
+
+// if (propertiesElement != null) {
+ // now we add the system properties to the configuration object
+ host = (Host)addProperties(element, host, editor);
+
+// return host;
+// }
+
+ return host;
+ }
+
+ //
+ /**
+ * This method is used to create a ResourceDescriptor JDOM Element from a
+ * ServiceComponentDefn object.
+ *
+ * @param defn the Object to be converted to a JDOM XML Element
+ * @return a JDOM XML Element
+ */
+// public Element createResourcePoolElement(ResourceDescriptor resource) {
+// Assertion.isNotNull(resource);
+//
+// Element resourceElement = createComponentObjectElement(XMLConfig_ElementNames.ResourcePools.ResourcePool.ELEMENT, resource);
+// return resourceElement;
+// }
+
+
+// public Element createResourcePoolsElement() {
+// return new Element(XMLConfig_ElementNames.ResourcePools.ELEMENT);
+// }
+
+ public Element createAuthenticationProviderElement() {
+ return new Element(XMLConfig_ElementNames.Configuration.AuthenticationProviders.ELEMENT);
+ }
+
+
+
+ /**
+ * This method will create a Resource configuration object from an XML element
+ * that represents a Resource.
+ *
+ * @param element the JDOM element to convert to a configuration object
+ * @param editor the editor to use to create the configuration object
+ * @param name the name of the returned configuration object. Note this
+ * name will override the name in the JDOM element. If the name parameter
+ * is null, the name of the object in the JDOM element will be used as
+ * the name of the object.
+ * @return the SharedResource configuration object
+ * @throws InvalidConfigurationElementException if the element passed in
+ * or its XML structure do not conform to the XML structure specfied in
+ * the XMLConfig_ElementNames class.
+ */
+// public ResourceDescriptor createResourcePool(Element element, ConfigurationID configID, ConfigurationObjectEditor editor) throws InvalidConfigurationElementException{
+// Assertion.isNotNull(element);
+// Assertion.isNotNull(editor);
+//
+// if (!element.getName().equals(XMLConfig_ElementNames.ResourcePools.ResourcePool.ELEMENT)) {
+// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0033, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0033, element.getName()), element);
+// }
+//
+// String name = element.getAttributeValue(XMLConfig_ElementNames.ResourcePools.ResourcePool.Attributes.NAME);
+//
+// checkElementValue(name, null, ErrorMessageKeys.CONFIG_ERR_0053);
+//
+// String type = element.getAttributeValue(XMLConfig_ElementNames.ResourcePools.ResourcePool.Attributes.COMPONENT_TYPE);
+//
+// checkElementValue(type, name, ErrorMessageKeys.CONFIG_ERR_0054);
+//
+// ComponentTypeID id = new ComponentTypeID(type);
+//
+// // create the descriptor used to get the resource
+// ResourceDescriptor descriptor = editor.createResourceDescriptor(configID, id, name);
+//
+// Element propertiesElement = element.getChild(XMLConfig_ElementNames.Properties.ELEMENT);
+//
+// descriptor = (ResourceDescriptor) setDateHistory(descriptor, element, editor);
+//
+// if (propertiesElement != null) {
+// // now we add the system properties to the configuration object
+// descriptor = (ResourceDescriptor)addProperties(propertiesElement, descriptor, editor);
+//
+// }
+//
+//
+// return descriptor;
+// }
+
+ /**
+ * This method will create a Resource configuration object from an XML element
+ * that represents a Resource.
+ *
+ * @param element the JDOM element to convert to a configuration object
+ * @param editor the editor to use to create the configuration object
+ * @param name the name of the returned configuration object. Note this
+ * name will override the name in the JDOM element. If the name parameter
+ * is null, the name of the object in the JDOM element will be used as
+ * the name of the object.
+ * @return the SharedResource configuration object
+ * @throws InvalidConfigurationElementException if the element passed in
+ * or its XML structure do not conform to the XML structure specfied in
+ * the XMLConfig_ElementNames class.
+ */
+ public AuthenticationProvider createAuthenticationProvider(Element element, ConfigurationID configID, ConfigurationObjectEditor editor) throws InvalidConfigurationElementException{
+ Assertion.isNotNull(element);
+ Assertion.isNotNull(editor);
+
+ if (!element.getName().equals(XMLConfig_ElementNames.Configuration.AuthenticationProviders.Provider.ELEMENT)) {
+ throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0033, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0033, element.getName()), element);
+ }
+
+ String name = element.getAttributeValue(XMLConfig_ElementNames.Configuration.AuthenticationProviders.Provider.Attributes.NAME);
+
+ checkElementValue(name, null, ErrorMessageKeys.CONFIG_ERR_0053);
+
+ String type = element.getAttributeValue(XMLConfig_ElementNames.Configuration.AuthenticationProviders.Provider.Attributes.COMPONENT_TYPE);
+
+ checkElementValue(type, name, ErrorMessageKeys.CONFIG_ERR_0054);
+
+ ComponentTypeID id = new ComponentTypeID(type);
+
+ // create the descriptor used to get the resource
+ AuthenticationProvider authProvider = editor.createAuthenticationProviderComponent(configID, id, name);
+
+ Element propertiesElement = element.getChild(XMLConfig_ElementNames.Properties.ELEMENT);
+
+ authProvider = (AuthenticationProvider) setDateHistory(authProvider, element, editor);
+
+ if (propertiesElement != null) {
+ // now we add the system properties to the configuration object
+ authProvider = (AuthenticationProvider)addProperties(propertiesElement, authProvider, editor);
+
+ }
+
+
+ return authProvider;
+ }
+
+
+ //
+ /**
+ * This method is used to create a ServiceComponentDefn JDOM Element from a
+ * ServiceComponentDefn object.
+ *
+ * @param defn the Object to be converted to a JDOM XML Element
+ * @return a JDOM XML Element
+ */
+ public Element createSharedResourceElement(SharedResource resource) {
+ Assertion.isNotNull(resource);
+
+ Element resourceElement = createComponentObjectElement(XMLConfig_ElementNames.Configuration.Resources.Resource.ELEMENT, resource, true);
+ return resourceElement;
+ }
+
+
+ /**
+ * This method will create a Resource configuration object from an XML element
+ * that represents a Resource.
+ *
+ * @param element the JDOM element to convert to a configuration object
+ * @param editor the editor to use to create the configuration object
+ * @param name the name of the returned configuration object. Note this
+ * name will override the name in the JDOM element. If the name parameter
+ * is null, the name of the object in the JDOM element will be used as
+ * the name of the object.
+ * @return the SharedResource configuration object
+ * @throws InvalidConfigurationElementException if the element passed in
+ * or its XML structure do not conform to the XML structure specfied in
+ * the XMLConfig_ElementNames class.
+ */
+ public SharedResource createSharedResource(Element element, ConfigurationObjectEditor editor) throws InvalidConfigurationElementException{
+ Assertion.isNotNull(element);
+ Assertion.isNotNull(editor);
+
+ if (!element.getName().equals(XMLConfig_ElementNames.Configuration.Resources.Resource.ELEMENT)) {
+ throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0034, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0034, element.getName()), element);
+ }
+
+ String name = element.getAttributeValue(XMLConfig_ElementNames.Configuration.Resources.Resource.Attributes.NAME);
+
+ checkElementValue(name, null, ErrorMessageKeys.CONFIG_ERR_0055);
+
+ String type = element.getAttributeValue(XMLConfig_ElementNames.Configuration.Resources.Resource.Attributes.COMPONENT_TYPE);
+
+ checkElementValue(type, name, ErrorMessageKeys.CONFIG_ERR_0056);
+
+ ComponentTypeID id = new ComponentTypeID(type);
+
+ // create the descriptor used to get the resource
+ SharedResource descriptor = editor.createSharedResource(
+ id,
+ name);
+
+
+ Element propertiesElement = element.getChild(XMLConfig_ElementNames.Properties.ELEMENT);
+
+ descriptor = (SharedResource) setDateHistory(descriptor, element, editor);
+
+ if (propertiesElement != null) {
+ // now we add the system properties to the configuration object
+ descriptor = (SharedResource)addProperties(propertiesElement, descriptor, editor);
+ }
+
+ return descriptor;
+ }
+
+ public Element createSharedResourcesElement() {
+ return new Element(XMLConfig_ElementNames.Configuration.Resources.ELEMENT);
+ }
+
+ /**
+ * This method will create a ComponentType configuration object from an XML element
+ * that represents a ComponentType.
+ *
+ * @param element the JDOM element to convert to a configuration object
+ * @param editor the editor to use to create the configuration object
+ * @param name the name of the returned configuration object. Note this
+ * name will override the name in the JDOM element. If the name parameter
+ * is null, the name of the object in the JDOM element will be used as
+ * the name of the object.
+ * @return the ComponentType configuration object
+ * @throws InvalidConfigurationElementException if the element passed in
+ * or its XML structure do not conform to the XML structure specfied in
+ * the XMLConfig_ElementNames class.
+ */
+ public ComponentType createComponentType(Element element, ConfigurationObjectEditor editor, String name, boolean maintainParentID) throws InvalidConfigurationElementException{
+ Assertion.isNotNull(element);
+ Assertion.isNotNull(editor);
+
+ if (!element.getName().equals(XMLConfig_ElementNames.ComponentTypes.ComponentType.ELEMENT)) {
+ throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0035, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0035, element.getName()), element);
+ }
+
+ // retreive the attributes of this ComponentType from the JDOM element
+ String parentType = element.getAttributeValue(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.PARENT_COMPONENT_TYPE);
+ String superType = element.getAttributeValue(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.SUPER_COMPONENT_TYPE);
+ String componentTypeCode = element.getAttributeValue(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.COMPONENT_TYPE_CODE);
+ String deployable = element.getAttributeValue(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.DEPLOYABLE);
+ String monitorable = element.getAttributeValue(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.MONITORABLE);
+ String description = element.getAttributeValue(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.DESCRIPTION);
+
+
+
+ // convert them into their proper data types
+ int typeCode = Integer.parseInt(componentTypeCode);
+
+ if (! BasicUtil.isValdComponentTypeCode(typeCode)) {
+ throw new RuntimeException("File error2, invalid component type code " + componentTypeCode + " for " + name + " super " + superType);
+ }
+
+ // we will use the passed in name unless it is null...
+ if (name == null) {
+ name = element.getAttributeValue(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.NAME);
+ }
+
+ ComponentTypeID parentTypeID = null;
+ ComponentTypeID superTypeID = null;
+
+ if (parentType != null && parentType.length() > 0) {
+ parentTypeID = new ComponentTypeID(parentType);
+ }
+
+ if (superType !=null && superType.length() > 0) {
+ superTypeID = new ComponentTypeID(superType);
+ }
+
+
+ boolean isDeployable = (Boolean.valueOf(deployable)).booleanValue();
+ boolean isMonitorable = (Boolean.valueOf(monitorable)).booleanValue();
+
+ // create the ComponentTypeObject
+ BasicComponentType type = (BasicComponentType) editor.createComponentType(typeCode, name, parentTypeID, superTypeID, isDeployable, isMonitorable);
+
+
+ if (description != null && description.length() > 0) {
+ type.setDescription(description);
+ }
+ ComponentType t = setDateHistory(type, element, editor);
+
+
+ // get the ComponentTypeDefn sub-Elements of this ComponentType
+ // and create them also.
+ List componentTypeDefnElements = element.getChildren(XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.ELEMENT);
+
+ if (componentTypeDefnElements == null || componentTypeDefnElements.size() == 0) {
+ componentTypeDefnElements = element.getChildren(XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.ELEMENT);
+ return addPropertyDefns(componentTypeDefnElements, t, editor);
+ }
+
+ return addComponentTypeDefns(componentTypeDefnElements, t, editor);
+
+ }
+
+ public ComponentType loadComponentType(Element rootElement) throws InvalidConfigurationElementException {
+ return createComponentType(rootElement, new BasicConfigurationObjectEditor(), null, true);
+ }
+
+ /**
+ * This method will create a ProductType configuration object from an XML element
+ * that represents a ProductType.
+ *
+ * @param element the JDOM element to convert to a configuration object
+ * @param editor the editor to use to create the configuration object
+ * @param name the name of the returned configuration object. Note this
+ * name will override the name in the JDOM element. If the name parameter
+ * is null, the name of the object in the JDOM element will be used as
+ * the name of the object.
+ * @param componentTypeMap this is a map of ComponentTypeID--->ComponentType
+ * it must contain all of the Component types that the ProductType
+ * that is represented by the passed in XML element references.
+ * @return the ProductType configuration object
+ * @throws InvalidConfigurationElementException if the element passed in
+ * or its XML structure do not conform to the XML structure specfied in
+ * the XMLConfig_ElementNames class.
+ */
+// public ProductType createProductType(Element element, ConfigurationObjectEditor editor, Map componentTypeMap, String name)throws InvalidConfigurationElementException{
+// Assertion.isNotNull(element);
+// Assertion.isNotNull(editor);
+//
+// if (!element.getName().equals(XMLConfig_ElementNames.ProductTypes.ProductType.ELEMENT)) {
+// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0036, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0036, element.getName()), element);
+// }
+//
+// // retreive the attributes of this ComponentType from the JDOM element
+// String deployable = element.getAttributeValue(XMLConfig_ElementNames.ProductTypes.ProductType.Attributes.DEPLOYABLE);
+//// String monitorable = element.getAttributeValue(XMLConfig_ElementNames.ProductTypes.ProductType.Attributes.MONITORABLE);
+//
+// // we will use the passed in name unless it is null...
+// if (name == null) {
+// name = element.getAttributeValue(XMLConfig_ElementNames.ProductTypes.ProductType.Attributes.NAME);
+// }
+//
+// boolean isDeployable = (Boolean.valueOf(deployable)).booleanValue();
+// // boolean isMonitorable = (Boolean.valueOf(monitorable)).booleanValue();
+//
+// List componentTypeIDs = element.getChildren(XMLConfig_ElementNames.ComponentTypeID.ELEMENT);
+// List componentTypes = new ArrayList();
+// Iterator iter = componentTypeIDs.iterator();
+// while (iter.hasNext()) {
+// Element componentTypeIDElement = (Element)iter.next();
+// String componentTypeIDName = componentTypeIDElement.getAttributeValue(XMLConfig_ElementNames.ComponentTypeID.Attributes.NAME);
+// ComponentTypeID componentTypeID = new ComponentTypeID(componentTypeIDName);
+// ComponentType componentType = (ComponentType)componentTypeMap.get(componentTypeID);
+// if (componentType == null) {
+// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0037, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0037, new Object[] {componentTypeID, name}), element);
+// }
+// componentTypes.add(componentType);
+// }
+//
+// // create the ComponentTypeObject
+// ProductType type = editor.createProductType(name, componentTypes, isDeployable, false);
+//
+// return type;
+//// // get the ComponentTypeDefn sub-Elements of this ComponentType
+//// // and create them also.
+//// Collection componentTypeDefnElements = element.getChildren(XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.ELEMENT);
+////
+//// type = (ProductType) setDateHistory(type, element, editor);
+////
+//// return (ProductType)addComponentTypeDefns(componentTypeDefnElements, type, editor);
+// }
+
+ /**
+ * This method will create a Configuration configuration object from an XML element
+ * that represents a Configuration.
+ *
+ * @param element the JDOM element to convert to a configuration object
+ * @param editor the editor to use to create the configuration object
+ * @param name the name of the returned configuration object. Note this
+ * name will override the name in the JDOM element. If the name parameter
+ * is null, the name of the object in the JDOM element will be used as
+ * the name of the object.
+ * @return the Configuration configuration object
+ * @throws InvalidConfigurationElementException if the element passed in
+ * or its XML structure do not conform to the XML structure specfied in
+ * the XMLConfig_ElementNames class.
+ */
+ public Configuration createConfiguration(Element element, ConfigurationObjectEditor editor, String name) throws InvalidConfigurationElementException{
+
+ Assertion.isNotNull(element);
+ Assertion.isNotNull(editor);
+
+ if (!element.getName().equals(XMLConfig_ElementNames.Configuration.ELEMENT)) {
+ throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0038, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0038, element.getName()), element);
+ }
+
+ if (name==null) {
+ name = element.getAttributeValue(XMLConfig_ElementNames.Configuration.Attributes.NAME);
+ }
+
+ Configuration config = editor.createConfiguration(name);
+
+ config = (Configuration) setDateHistory(config, element, editor);
+
+ config = (Configuration)addProperties(element, config, editor);
+
+ return config;
+ }
+
+ /**
+ * This method will create a LogConfiguration configuration object from an XML element
+ * that represents a LogConfiguration.
+ *
+ * @param element the JDOM element to convert to a configuration object
+ * @param editor the editor to use to create the configuration object
+ * @param name the name of the returned configuration object. Note this
+ * name will override the name in the JDOM element. If the name parameter
+ * is null, the name of the object in the JDOM element will be used as
+ * the name of the object.
+ * @return the LogConfiguration configuration object
+ * @throws InvalidConfigurationElementException if the element passed in
+ * or its XML structure do not conform to the XML structure specfied in
+ * the XMLConfig_ElementNames class.
+ */
+// public LogConfiguration createLogConfiguration(Element element) throws InvalidConfigurationElementException{
+// Assertion.isNotNull(element);
+//
+// if (!element.getName().equals(XMLConfig_ElementNames.Configuration.LogConfiguration.ELEMENT)) {
+// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0039, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0039, element.getName()), element);
+// }
+//
+// Element propertiesElement = element.getChild(XMLConfig_ElementNames.Properties.ELEMENT);
+// Properties properties = new Properties();
+//
+//
+// List props = propertiesElement.getChildren(XMLConfig_ElementNames.Properties.Property.ELEMENT);
+// Iterator iterator = props.iterator();
+// while (iterator.hasNext()) {
+// Element propertyElement = (Element)iterator.next();
+// String propertyName = propertyElement.getAttributeValue(XMLConfig_ElementNames.Properties.Property.Attributes.NAME);
+// String propertyValue = propertyElement.getText();
+// properties.setProperty(propertyName, propertyValue);
+// }
+//
+// LogConfiguration config = null;
+//
+// try {
+// config = BasicLogConfiguration.createLogConfiguration(properties);
+// }catch(LogConfigurationException e) {
+// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0040, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0040,e.getMessage()), element);
+//
+// }
+//
+// return config;
+//
+// }
+
+ public Element createConnectorBindingElement(ConnectorBinding connector, boolean isExportConfig) {
+
+ Assertion.isNotNull(connector);
+
+ Element connectorElement = createComponentObjectElement(XMLConfig_ElementNames.Configuration.ConnectorComponents.ConnectorComponent.ELEMENT, connector, true);
+
+ connectorElement.setAttribute(XMLConfig_ElementNames.Configuration.ConnectorComponents.ConnectorComponent.Attributes.ROUTING_UUID, connector.getRoutingUUID());
+
+
+ return connectorElement;
+
+ }
+
+
+ public ConnectorBinding createConnectorBinding(ConfigurationID configurationID, Element element, ConfigurationObjectEditor editor, String name, boolean isImportConfig)throws InvalidConfigurationElementException {
+
+ Assertion.isNotNull(element);
+ Assertion.isNotNull(editor);
+
+ if (!element.getName().equals(XMLConfig_ElementNames.Configuration.ConnectorComponents.ConnectorComponent.ELEMENT)) {
+ throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0041, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0041,element.getName()), element);
+ }
+
+ if (name==null) {
+ name = element.getAttributeValue(XMLConfig_ElementNames.Configuration.ConnectorComponents.ConnectorComponent.Attributes.NAME);
+ }
+
+ String componentType = element.getAttributeValue(XMLConfig_ElementNames.Configuration.ConnectorComponents.ConnectorComponent.Attributes.COMPONENT_TYPE);
+
+ checkElementValue(componentType, name, ErrorMessageKeys.CONFIG_ERR_0057);
+
+ ComponentTypeID id = new ComponentTypeID(componentType);
+
+// element.getAttributeValue(XMLConfig_ElementNames.ConnectorComponents.ConnectorComponent.Attributes.QUEUED_SERVICE);
+
+ String routingUUID = null;
+ // vah - 09-24-2003
+ // when importing a configuration use the routing uuid,
+ // otherwise do not use it (which will cause the routingUUID to be regenerated)
+ // This is done to help ensure there are no duplicate UUIDs
+ if (isImportConfig) {
+ routingUUID = element.getAttributeValue(XMLConfig_ElementNames.Configuration.ConnectorComponents.ConnectorComponent.Attributes.ROUTING_UUID);
+ }
+
+ ConnectorBinding defn = null;
+ defn = editor.createConnectorComponent(configurationID, id, name, routingUUID);
+
+ defn = (ConnectorBinding) setDateHistory(defn, element, editor);
+
+ // add the properties to this ComponentObject...
+ Element propertiesElement = element.getChild(XMLConfig_ElementNames.Properties.ELEMENT);
+ if (propertiesElement != null) {
+ // now we add the system properties to the configuration object
+ return (ConnectorBinding)addProperties(propertiesElement, defn, editor);
+ }
+
+ return defn;
+ }
+
+ public ConnectorBinding loadConnectorBinding(Element rootElement) throws InvalidConfigurationElementException {
+ return createConnectorBinding(Configuration.NEXT_STARTUP_ID, rootElement, new BasicConfigurationObjectEditor(), null, false);
+ }
+
+ /**
+ * This method will create a ServiceComponentDefn configuration object from an XML element
+ * that represents a ServiceComponentDefn.
+ *
+ * @param element the JDOM element to convert to a configuration object
+ * @param editor the editor to use to create the configuration object
+ * @param name the name of the returned configuration object. Note this
+ * name will override the name in the JDOM element. If the name parameter
+ * is null, the name of the object in the JDOM element will be used as
+ * the name of the object.
+ * @return the ServiceComponentDefn configuration object
+ * @throws InvalidConfigurationElementException if the element passed in
+ * or its XML structure do not conform to the XML structure specfied in
+ * the XMLConfig_ElementNames class.
+ */
+ public ComponentDefn createServiceComponentDefn(Element element, Configuration config, ConfigurationObjectEditor editor, String name) throws InvalidConfigurationElementException{
+ ConfigurationID configID = null;
+ if (config != null) {
+ configID = (ConfigurationID) config.getID();
+ }
+ return createServiceComponentDefn(element, configID, editor, name);
+
+ }
+
+ public ComponentDefn createServiceComponentDefn(Element element, ConfigurationID configID, ConfigurationObjectEditor editor, String name)throws InvalidConfigurationElementException {
+
+ Assertion.isNotNull(element);
+ Assertion.isNotNull(editor);
+ Assertion.isNotNull(configID);
+
+ if (!element.getName().equals(XMLConfig_ElementNames.Configuration.Services.Service.ELEMENT)) {
+ throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0042, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0042,element.getName()), element);
+ }
+
+ if (name==null) {
+ name = element.getAttributeValue(XMLConfig_ElementNames.Configuration.Services.Service.Attributes.NAME);
+ }
+
+ String componentType = element.getAttributeValue(XMLConfig_ElementNames.Configuration.Services.Service.Attributes.COMPONENT_TYPE);
+
+ checkElementValue(componentType, name, ErrorMessageKeys.CONFIG_ERR_0058);
+
+ ComponentTypeID id = new ComponentTypeID(componentType);
+
+// element.getAttributeValue(XMLConfig_ElementNames.Configuration.ServiceComponentDefns.ServiceComponentDefn.Attributes.QUEUED_SERVICE);
+
+ String routingUUID = element.getAttributeValue(XMLConfig_ElementNames.Configuration.Services.Service.Attributes.ROUTING_UUID);
+
+ ComponentDefn defn = null;
+ boolean isResourcePool = isResourcePool(componentType);
+
+ if (configID == null) {
+/*
+ if (!isResourcePool) {
+ if (routingUUID == null){
+ //allow the object editor to generate a UUID
+ defn = (ComponentDefn) editor.createServiceComponentDefn(id, name);
+ } else {
+ //use the UUID specified in the XML file
+ defn = (ComponentDefn) editor.createServiceComponentDefn(id, name, routingUUID);
+ }
+
+ editor.setEnabled((ServiceComponentDefn) defn, isEnabled);
+ } else {
+ defn = editor.createResourceDescriptor(id, name);
+
+
+ }
+*/
+ }else {
+ if (!isResourcePool) {
+
+ if (routingUUID == null){
+ //allow the object editor to generate a UUID
+ defn = editor.createServiceComponentDefn(configID, id, name);
+ } else {
+ //use the UUID specified in the XML file
+ defn = editor.createServiceComponentDefn(configID, id, name, routingUUID);
+ }
+
+ }
+// else {
+//
+// defn = editor.createResourceDescriptor(configID, id, name);
+//
+// }
+
+ }
+
+ defn = (ComponentDefn) setDateHistory(defn, element, editor);
+
+ // add the properties to this ComponentObject...
+ Element propertiesElement = element.getChild(XMLConfig_ElementNames.Properties.ELEMENT);
+ if (propertiesElement != null) {
+ // now we add the system properties to the configuration object
+ return (ComponentDefn)addProperties(propertiesElement, defn, editor);
+ }
+
+ return defn;
+
+ }
+
+ private boolean isResourcePool(String componentTypeName) {
+ boolean result = false;
+
+ if (componentTypeName.equals(SharedResource.MISC_COMPONENT_TYPE_NAME) ) {
+ return true;
+ }
+
+
+ return result;
+
+ }
+
+ /**
+ * This method will create a ProductServiceConfig configuration object from an XML element
+ * that represents a ProductServiceConfig.
+ *
+ * @param element the JDOM element to convert to a configuration object
+ * @param editor the editor to use to create the configuration object
+ * @param name the name of the returned configuration object. Note this
+ * name will override the name in the JDOM element. If the name parameter
+ * is null, the name of the object in the JDOM element will be used as
+ * the name of the object.
+ * @return the ProductServiceConfig configuration object
+ * @throws InvalidConfigurationElementException if the element passed in
+ * or its XML structure do not conform to the XML structure specfied in
+ * the XMLConfig_ElementNames class.
+ */
+// public ProductServiceConfig createProductServiceConfig(Element element, ConfigurationID configID, ConfigurationObjectEditor editor, String name)throws InvalidConfigurationElementException {
+// Assertion.isNotNull(element);
+// Assertion.isNotNull(editor);
+// Assertion.isNotNull(configID);
+//
+// if (!element.getName().equals(XMLConfig_ElementNames.ProductServiceConfigs.ProductServiceConfig.ELEMENT)) {
+// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0043, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0043,element.getName()), element);
+// }
+//
+// if (name==null) {
+// name = element.getAttributeValue(XMLConfig_ElementNames.ProductServiceConfigs.ProductServiceConfig.Attributes.NAME);
+// }
+//
+// String componentType = element.getAttributeValue(XMLConfig_ElementNames.ProductServiceConfigs.ProductServiceConfig.Attributes.COMPONENT_TYPE);
+// checkElementValue(componentType, name, ErrorMessageKeys.CONFIG_ERR_0059);
+//
+//
+// // ConfigurationID configID = (ConfigurationID)config.getID();
+// ProductTypeID id = new ProductTypeID(componentType);
+//
+//
+// // ConfigurationID configID = (ConfigurationID)config.getID();
+//
+// // this new editor is used only as a way to create a product service config
+// // the passed in editor is then used to add the PSC to the configuration
+// // as passed in.
+// // we dont want to add the actions again to the passed in editor.
+// ProductServiceConfig productServiceConfig = editor.createProductServiceConfig(configID, id, name);
+//
+// Collection serviceComponentDefnIDs = element.getChildren(XMLConfig_ElementNames.ProductServiceConfigs.ProductServiceConfig.Service.ELEMENT);
+//
+// if (id.getFullName().equals(MetaMatrixProductVersion.CONNECTOR_PRODUCT_TYPE_NAME)) {
+// Iterator iterator = serviceComponentDefnIDs.iterator();
+// while (iterator.hasNext()) {
+// Element serviceComponentDefnIDElement = (Element)iterator.next();
+// String serviceComponentDefnName = serviceComponentDefnIDElement.getAttributeValue(XMLConfig_ElementNames.ID.Attributes.NAME);
+//
+// String enabled = serviceComponentDefnIDElement.getAttributeValue(XMLConfig_ElementNames.ProductServiceConfigs.ProductServiceConfig.Service.Attributes.IS_ENABLED);
+//
+// if (enabled == null) {
+// enabled = Boolean.TRUE.toString();
+// }
+//
+// ConnectorBindingID serviceComponentDefnID = new ConnectorBindingID(configID, serviceComponentDefnName);
+// productServiceConfig = editor.addServiceComponentDefn(productServiceConfig, serviceComponentDefnID);
+// editor.setEnabled(serviceComponentDefnID, productServiceConfig, Boolean.valueOf(enabled).booleanValue());
+//
+// }
+//
+//
+// } else {
+//
+// Iterator iterator = serviceComponentDefnIDs.iterator();
+// while (iterator.hasNext()) {
+// Element serviceComponentDefnIDElement = (Element)iterator.next();
+// String serviceComponentDefnName = serviceComponentDefnIDElement.getAttributeValue(XMLConfig_ElementNames.ID.Attributes.NAME);
+//
+// String enabled = serviceComponentDefnIDElement.getAttributeValue(XMLConfig_ElementNames.ProductServiceConfigs.ProductServiceConfig.Service.Attributes.IS_ENABLED);
+//
+// if (enabled == null) {
+// enabled = Boolean.TRUE.toString();
+// }
+//
+// ServiceComponentDefnID serviceComponentDefnID = new ServiceComponentDefnID(configID, serviceComponentDefnName);
+// productServiceConfig = editor.addServiceComponentDefn(productServiceConfig, serviceComponentDefnID);
+//
+// editor.setEnabled(serviceComponentDefnID, productServiceConfig, Boolean.valueOf(enabled).booleanValue());
+//
+// }
+//
+// }
+//
+// productServiceConfig = (ProductServiceConfig) setDateHistory(productServiceConfig, element, editor);
+//
+// // add the properties to this ComponentObject...
+// Element propertiesElement = element.getChild(XMLConfig_ElementNames.Properties.ELEMENT);
+// if (propertiesElement != null) {
+// // now we add the system properties to the configuration object
+// productServiceConfig = (ProductServiceConfig)addProperties(propertiesElement, productServiceConfig, editor);
+// return productServiceConfig;
+// }
+//
+// return productServiceConfig;
+// }
+
+
+
+ public DeployedComponent createDeployedServiceComponent(Element element,
+ ConfigurationID configID,
+ HostID hostID,
+ VMComponentDefnID vmID,
+ Map componentTypeMap,
+ ConfigurationObjectEditor editor)
+ throws InvalidConfigurationElementException{
+ Assertion.isNotNull(element);
+ Assertion.isNotNull(editor);
+ Assertion.isNotNull(configID);
+ Assertion.isNotNull(hostID);
+ Assertion.isNotNull(vmID);
+
+ DeployedComponent component;
+
+ if (!element.getName().equals(XMLConfig_ElementNames.Configuration.DeployedService.ELEMENT)) {
+ throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0044, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0044,element.getName()), element);
+ }
+
+ String name = element.getAttributeValue(XMLConfig_ElementNames.Configuration.DeployedService.Attributes.NAME);
+ checkElementValue(name, "NAME", ErrorMessageKeys.CONFIG_ERR_0048); //$NON-NLS-1$
+
+ String componentTypeIDString = element.getAttributeValue(XMLConfig_ElementNames.Configuration.DeployedService.Attributes.COMPONENT_TYPE);
+// String serviceComponentDefnIDString = element.getAttributeValue(XMLConfig_ElementNames.Configuration.DeployedComponent.Attributes.SERVICE_COMPONENT_DEFN_ID);
+
+ checkElementValue(componentTypeIDString, name, ErrorMessageKeys.CONFIG_ERR_0049);
+// checkElementValue(serviceComponentDefnIDString, name, ErrorMessageKeys.CONFIG_ERR_0049);
+
+
+ ComponentType type = null;
+ Iterator it = componentTypeMap.keySet().iterator();
+ while (it.hasNext() ) {
+ ComponentTypeID id = (ComponentTypeID) it.next();
+ if (id.getFullName().equals(componentTypeIDString)) {
+ type = (ComponentType) componentTypeMap.get(id);
+ break;
+ }
+ }
+
+ if (type == null) {
+ throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0050, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0050, new Object[] {componentTypeIDString, name} ), element);
+ }
+
+ ServiceComponentDefnID svcid = null;
+ if (type.getComponentTypeCode() == ComponentType.CONNECTOR_COMPONENT_TYPE_CODE) {
+
+ svcid = new ConnectorBindingID(configID, name);
+
+ } else {
+
+
+ svcid = new ServiceComponentDefnID(configID, name);
+
+ }
+
+ component = editor.createDeployedServiceComponent(name, configID, hostID,vmID, svcid, (ComponentTypeID) type.getID());
+
+
+ component = (DeployedComponent) setDateHistory(component, element, editor);
+
+
+ return component;
+ }
+
+
+// public DeployedComponent createDeployedVMComponentDefnx(Element element,
+// ConfigurationID configID,
+// HostID hostID,
+// // VMComponentDefnID vmID,
+// // ProductServiceConfigID pscID,
+// ComponentTypeID typeID,
+// ConfigurationObjectEditor editor)
+// throws InvalidConfigurationElementException{
+// Assertion.isNotNull(element);
+// Assertion.isNotNull(editor);
+// Assertion.isNotNull(configID);
+// Assertion.isNotNull(hostID);
+// // Assertion.isNotNull(vmID);
+//
+// DeployedComponent component=null;
+//
+// if (!element.getName().equals(XMLConfig_ElementNames.Configuration.Process.ELEMENT)) {
+// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0044, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0044,element.getName()), element);
+// }
+//
+// String name = element.getAttributeValue(XMLConfig_ElementNames.Configuration.Process.Attributes.NAME);
+//// checkElementValue(name, "NAME", ErrorMessageKeys.CONFIG_ERR_0048);
+//
+// String componentTypeIDString = element.getAttributeValue(XMLConfig_ElementNames.Configuration.Process.Attributes.COMPONENT_TYPE);
+//
+// checkElementValue(componentTypeIDString, name, ErrorMessageKeys.CONFIG_ERR_0049);
+//
+//
+//// ComponentType type = null;
+//// Iterator it = componentTypeMap.keySet().iterator();
+//// while (it.hasNext() ) {
+//// ComponentTypeID id = (ComponentTypeID) it.next();
+//// if (id.getFullName().equals(componentTypeIDString)) {
+//// type = (ComponentType) componentTypeMap.get(id);
+//// break;
+//// }
+//// }
+//
+//// if (type == null) {
+//// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0050, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0050, new Object[] {componentTypeIDString, name} ), element);
+//// }
+//
+// // VMComponentDefnID vmID = new VMComponentDefnID(configID, hostID, name);
+/////// component = editor.createDeployedVMComponent(name, configID, hostID, vmID, typeID);
+// // createDeployedServiceComponent(name, configID, hostID,vmID, svcid, pscID, (ComponentTypeID) type.getID());
+//
+//
+// return component;
+// }
+
+
+
+ /**
+ * This method will create a DeployedComponent configuration object from an XML element
+ * that represents a DeployedComponent.
+ *
+ * @param element the JDOM element to convert to a configuration object
+ * @param editor the editor to use to create the configuration object
+ * @param name the name of the returned configuration object. Note this
+ * name will override the name in the JDOM element. If the name parameter
+ * is null, the name of the object in the JDOM element will be used as
+ * the name of the object.
+ * @param serviceComponentDefnMap a map of ServiceComponentDefnID-->ServiceComponentDefn
+ * this map must contain at the very least the ServiceComponentDefn that
+ * is the service definition of the deployed component that the XML element
+ * references. This is used if the deployedComponent is a Service. Otherwise
+ * it is ignored.
+ * @param vmComponentDefnMap a map of vmComponentDefnID-->vmComponentDefn
+ * this map must contain at the very least the vmComponentDefn that
+ * is the VM definition of the deployed component that the XML element
+ * references. This is used if the deployedComponent is a VM. Otherwise
+ * it is ignored.
+ * @return the DeployedComponent configuration object
+ * @throws InvalidConfigurationElementException if the element passed in
+ * or its XML structure do not conform to the XML structure specfied in
+ * the XMLConfig_ElementNames class.
+ */
+// public DeployedComponent createDeployedComponent(Element element,
+// Configuration config, ConfigurationObjectEditor editor,
+// Map serviceComponentDefnMap, Map vmComponentDefnMap, Map componentTypeMap, String name)
+// throws InvalidConfigurationElementException{
+// throw new UnsupportedOperationException("Method createDeployedComponent is unsupported in 4.2"); //$NON-NLS-1$
+//
+////
+//// Assertion.isNotNull(element);
+//// Assertion.isNotNull(editor);
+//// Assertion.isNotNull(config);
+////
+//// DeployedComponent component;
+////
+//// if (!element.getName().equals(XMLConfig_ElementNames.Configuration.DeployedComponent.ELEMENT)) {
+//// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0044, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0044,element.getName()), element);
+//// }
+////
+//// if (name == null) {
+//// name = element.getAttributeValue(XMLConfig_ElementNames.Configuration.DeployedComponent.Attributes.NAME);
+//// }
+////
+//// String productServiceConfigIDString = element.getAttributeValue(XMLConfig_ElementNames.Configuration.DeployedComponent.Attributes.PRODUCT_SERVICE_CONFIG_ID);
+//// String vmComponentDefnIDString = element.getAttributeValue(XMLConfig_ElementNames.Configuration.DeployedComponent.Attributes.VM_COMPONENT_DEFN_ID);
+//// String serviceComponentDefnIDString = element.getAttributeValue(XMLConfig_ElementNames.Configuration.DeployedComponent.Attributes.SERVICE_COMPONENT_DEFN_ID);
+//// String HostIDString = element.getAttributeValue(XMLConfig_ElementNames.Configuration.DeployedComponent.Attributes.HOST_ID);
+////
+//// checkElementValue(vmComponentDefnIDString, name, ErrorMessageKeys.CONFIG_ERR_0045);
+//// checkElementValue(HostIDString, name, ErrorMessageKeys.CONFIG_ERR_0046);
+////
+//// ConfigurationID configID = (ConfigurationID)config.getID();
+////
+//// HostID hostID = new HostID(HostIDString);
+//// VMComponentDefnID vmComponentDefnID = new VMComponentDefnID(configID, vmComponentDefnIDString);
+////
+//// // this will check to see if this is actually a DeployedVMServiceComponent
+//// // these special deployed components dont have values for these ID's
+//// String componentTypeIDString = element.getAttributeValue(XMLConfig_ElementNames.Configuration.DeployedComponent.Attributes.COMPONENT_TYPE);
+////
+//// if (serviceComponentDefnIDString == null && productServiceConfigIDString == null) {
+//// VMComponentDefn defn = (VMComponentDefn)vmComponentDefnMap.get(vmComponentDefnID);
+//// if (defn==null) {
+//// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0047, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0047, new Object[] {name, vmComponentDefnID} ), element);
+////
+//// }
+//// component = editor.createDeployedVMComponent(name, config, hostID, defn);
+////
+//// // else this element represents a normal ServiceComponentDefn object
+//// }else {
+//// checkElementValue(productServiceConfigIDString, name, ErrorMessageKeys.CONFIG_ERR_0048);
+//// checkElementValue(serviceComponentDefnIDString, name, ErrorMessageKeys.CONFIG_ERR_0049);
+////
+//// ComponentType type = null;
+//// Iterator it = componentTypeMap.keySet().iterator();
+//// while (it.hasNext() ) {
+//// ComponentTypeID id = (ComponentTypeID) it.next();
+//// if (id.getFullName().equals(componentTypeIDString)) {
+//// type = (ComponentType) componentTypeMap.get(id);
+//// break;
+//// }
+//// }
+////
+//// if (type == null) {
+//// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0050, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0050, new Object[] {componentTypeIDString, serviceComponentDefnIDString} ), element);
+//// }
+//// ProductServiceConfigID productServiceConfigID = null;
+//// if (type instanceof ConnectorBindingType) {
+////
+//// productServiceConfigID = new ProductServiceConfigID(configID, productServiceConfigIDString);
+////
+//// ConnectorBindingID bindingID = new ConnectorBindingID(configID, serviceComponentDefnIDString);
+//// ConnectorBinding bdefn = (ConnectorBinding)serviceComponentDefnMap.get(bindingID);
+////
+//// if (bdefn==null) {
+//// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0051, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0051, new Object[] {name, serviceComponentDefnIDString} ), element);
+//// }
+//// component = editor.createDeployedServiceComponent(name, config, hostID, vmComponentDefnID, bdefn, productServiceConfigID);
+////
+//// } else {
+////
+//// productServiceConfigID = new ProductServiceConfigID(configID, productServiceConfigIDString);
+////
+//// ServiceComponentDefnID serviceComponentDefnID = new ServiceComponentDefnID(configID, serviceComponentDefnIDString);
+//// ServiceComponentDefn defn = (ServiceComponentDefn)serviceComponentDefnMap.get(serviceComponentDefnID);
+////
+//// if (defn==null) {
+//// throw new InvalidConfigurationElementException(ErrorMessageKeys.CONFIG_ERR_0052, CommonPlugin.Util.getString(ErrorMessageKeys.CONFIG_ERR_0052, new Object[] {name, serviceComponentDefnIDString} ), element);
+//// }
+//// component = editor.createDeployedServiceComponent(name, config, hostID, vmComponentDefnID, defn, productServiceConfigID);
+////
+//// }
+////
+//// }
+////
+//// component = (DeployedComponent) setDateHistory(component, element, editor);
+////
+//// Element propertiesElement = element.getChild(XMLConfig_ElementNames.Properties.ELEMENT);
+//// if (propertiesElement != null) {
+//// // now we add the system properties to the configuration object
+//// return (DeployedComponent)addProperties(propertiesElement, component, editor);
+//// }
+////
+//// return component;
+// }
+
+ /**
+ * This method will create a VMComponentDefn configuration object from an XML element
+ * that represents a VMComponentDefn.
+ *
+ * @param element the JDOM element to convert to a configuration object
+ * @param editor the editor to use to create the configuration object
+ * @param name the name of the returned configuration object. Note this
+ * name will override the name in the JDOM element. If the name parameter
+ * is null, the name of the object in the JDOM element will be used as
+ * the name of the object.
+ * @return the VMComponentDefn configuration object
+ * @throws InvalidConfigurationElementException if the element passed in
+ * or its XML structure do not conform to the XML structure specfied in
+ * the XMLConfig_ElementNames class.
+ */
+ public BasicVMComponentDefn createProcess(Element element, ConfigurationID configID, HostID hostID, ConfigurationObjectEditor editor, String name) throws InvalidConfigurationElementException{
+ Assertion.isNotNull(element);
+ Assertion.isNotNull(editor);
+ Assertion.isNotNull(configID);
+
+ if (!element.getName().equals(XMLConfig_ElementNames.Configuration.Process.ELEMENT)) {
+ throw new InvalidConfigurationElementException("A Configuration object cannot be created from a JDOM Element type: " + element.getName() + ".", element); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ if (name==null) {
+ name = element.getAttributeValue(XMLConfig_ElementNames.Configuration.Process.Attributes.NAME);
+ }
+
+ String componentType = element.getAttributeValue(XMLConfig_ElementNames.Configuration.Process.Attributes.COMPONENT_TYPE);
+
+ checkElementValue(componentType, name, ErrorMessageKeys.CONFIG_ERR_0060);
+
+ ComponentTypeID id = new ComponentTypeID(componentType);
+
+ VMComponentDefn defn = editor.createVMComponentDefn(configID, hostID, id, name);
+
+ defn = (VMComponentDefn) setDateHistory(defn, element, editor);
+
+ // add the properties to this ComponentObject...
+ // Element propertiesElement = element.getChild(XMLConfig_ElementNames.Properties.ELEMENT);
+ // if (propertiesElement != null) {
+ // now we add the system properties to the configuration object
+ defn = (VMComponentDefn)addProperties(element, defn, editor);
+ // }
+
+ return (BasicVMComponentDefn) defn;
+ }
+
+ /**
+ * This method is a helper method to create a PropertyDefinition object from
+ * an XML element that represents same.
+ *
+ * @param element the XML element that represents a PropertyDefinition object
+ * @throws InvalidConfigurationElementException if the element passed in
+ * or its XML structure do not conform to the XML structure specfied in
+ * the XMLConfig_ElementNames class.
+ */
+ public PropertyDefinition createPropertyDefinition(Element element) throws InvalidConfigurationElementException{
+
+ if (!element.getName().equals(XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.ELEMENT)) {
+ throw new InvalidConfigurationElementException("A Configuration object cannot be created from a JDOM Element type: " + element.getName() + ".", element); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+
+ String nameString = element.getAttributeValue(XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.NAME);
+
+ String displayNameString = element.getAttributeValue(XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.DISPLAY_NAME);
+
+
+ String shortDescriptionString = getAttributeString(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.SHORT_DESCRIPTION,
+ PropertyDefinitionImpl.DEFAULT_SHORT_DESCRIPTION);
+
+ String defaultValueString = getAttributeString(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.DEFAULT_VALUE,
+ PropertyDefinitionImpl.DEFAULT_DEFAULT_VALUE);
+
+ String valueDelimiterString = getAttributeString(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.VALUE_DELIMITER,
+ PropertyDefinitionImpl.DEFAULT_DELIMITER);
+
+
+ String multiplicityString = getAttributeString(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.MULTIPLICITY,
+ PropertyDefinitionImpl.DEFAULT_MULTIPLICITY);
+ Multiplicity mult = null;
+ try {
+ mult = Multiplicity.getInstance(multiplicityString);
+ }catch(MultiplicityExpressionException e) {
+ throw new InvalidConfigurationElementException(e, "The PropertyDefinition object: " + nameString + " could not be created because the multiplicity definition: '" + multiplicityString + " is not a valid multiplicity definition.", element); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+
+
+ String propertyTypeString = getAttributeString(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.PROPERTY_TYPE,
+ PropertyDefinitionImpl.DEFAULT_TYPE.getDisplayName());
+ PropertyType type = PropertyType.getInstance(propertyTypeString);
+
+
+
+ boolean isConstrainedToAllowedValues = getAttributeBoolean(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_CONSTRAINED_TO_ALLOWED_VALUES,
+ PropertyDefinitionImpl.DEFAULT_IS_CONSTRAINED);
+
+ boolean isExpert = getAttributeBoolean(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_EXPERT,
+ PropertyDefinitionImpl.DEFAULT_IS_EXPERT);
+
+ boolean isHidden = getAttributeBoolean(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_HIDDEN,
+ PropertyDefinitionImpl.DEFAULT_IS_HIDDEN);
+
+ boolean isMasked = getAttributeBoolean(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_MASKED,
+ PropertyDefinitionImpl.DEFAULT_IS_MASKED);
+
+ boolean isModifiable = getAttributeBoolean(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_MODIFIABLE,
+ PropertyDefinitionImpl.DEFAULT_IS_MODIFIABLE);
+
+ boolean isPreferred = getAttributeBoolean(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.IS_PREFERRED,
+ PropertyDefinitionImpl.DEFAULT_IS_PREFERRED);
+
+ String requiresRestart = getAttributeString(element,
+ XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.Attributes.REQUIRES_RESTART,
+ PropertyDefinitionImpl.DEFAULT_REQUIRES_RESTART.toString());
+
+ RestartType restartType = null;
+
+ if ("true".equalsIgnoreCase(requiresRestart)) { //$NON-NLS-1$
+ restartType = RestartType.PROCESS;
+ } else {
+ restartType = RestartType.valueOf(requiresRestart.toUpperCase());
+ }
+
+
+ // we must retrieve all of the allowed values from the PropertyDefinition
+ // element
+ Collection allowedValuesElements = element.getChildren(XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.AllowedValue.ELEMENT);
+ ArrayList allowedValues = new ArrayList(allowedValuesElements.size());
+
+ Iterator iterator = allowedValuesElements.iterator();
+ while (iterator.hasNext()) {
+ Element allowedValueElement = (Element)iterator.next();
+ allowedValues.add(allowedValueElement.getText());
+ }
+
+ PropertyDefinitionImpl defn = new PropertyDefinitionImpl(nameString, displayNameString, type,
+ mult, shortDescriptionString, defaultValueString,
+ allowedValues, valueDelimiterString,
+ isHidden, isPreferred, isExpert, isModifiable);
+
+ defn.setMasked(isMasked);
+ defn.setConstrainedToAllowedValues(isConstrainedToAllowedValues);
+ defn.setRequiresRestart(restartType);
+ return defn;
+
+ }
+
+
+
+ /**
+ * Get the value of the specified attribute from the on the specified element.
+ * If null, get the the default value.
+ * @param element
+ * @param attributeName name of Attribute to get
+ * @param defaultValue
+ * @return the attribute value, or defaultValue if it is null.
+ * @since 4.3
+ */
+ private static String getAttributeString(Element element, String attributeName, String defaultValue) {
+ String stringValue = element.getAttributeValue(attributeName);
+ if (stringValue == null) {
+ return defaultValue;
+ }
+
+ return stringValue;
+ }
+ /**
+ * Get the value of the specified attribute from the on the specified element.
+ * If null, get the the default value.
+ * @param element
+ * @param attributeName name of Attribute to get
+ * @param defaultValue
+ * @return the attribute value, or defaultValue if it is null.
+ * @since 4.3
+ */
+ private static boolean getAttributeBoolean(Element element, String attributeName, boolean defaultValue) {
+ String stringValue = element.getAttributeValue(attributeName);
+ if (stringValue == null) {
+ return defaultValue;
+ }
+
+ return Boolean.valueOf(stringValue).booleanValue();
+ }
+
+
+
+ /**
+ * This method will create a ComponentObject configuration object from an XML element
+ * that represents a ComponentObject.
+ *
+ * @param element the JDOM element to convert to a configuration object
+ * @param editor the editor to use to create the configuration object
+ * @param name the name of the returned configuration object. Note this
+ * name will override the name in the JDOM element. If the name parameter
+ * is null, the name of the object in the JDOM element will be used as
+ * the name of the object.
+ * @return the ComponentObject configuration object
+ * @throws InvalidConfigurationElementException if the element passed in
+ * or its XML structure do not conform to the XML structure specfied in
+ * the XMLConfig_ElementNames class.
+ */
+ public ComponentObject addProperties(Element propertiesElement, ComponentObject object, ConfigurationObjectEditor editor) throws InvalidConfigurationElementException{
+
+ if (!propertiesElement.getName().equals(XMLConfig_ElementNames.Properties.ELEMENT)) {
+ propertiesElement = propertiesElement.getChild(XMLConfig_ElementNames.Properties.ELEMENT);
+ }
+
+ Properties props = null;
+ if (propertiesElement == null) {
+ props = new Properties();
+ }
+ else {
+ props = getProperties(propertiesElement);
+ }
+
+ object = editor.modifyProperties(object, props, ConfigurationObjectEditor.ADD);
+ return object;
+ }
+
+
+ private Properties getProperties(Element propertiesElement) {
+ Properties props = new Properties();
+
+ List properties = propertiesElement.getChildren(XMLConfig_ElementNames.Properties.Property.ELEMENT);
+ Iterator iterator = properties.iterator();
+ while (iterator.hasNext()) {
+ Element propertyElement = (Element)iterator.next();
+ String propertyName = propertyElement.getAttributeValue(XMLConfig_ElementNames.Properties.Property.Attributes.NAME);
+ String propertyValue = propertyElement.getText();
+
+ props.setProperty(propertyName, propertyValue);
+
+ }
+ return props;
+ }
+
+ /**
+ * This is a helper method for ProductTypes and ComponentTypes. this method
+ * will add a list of Component Type Definitions to a ComponentType using
+ * the passed in editor. The Collection of XML elements passed in are
+ * translated into ComponentTypeDefn objects and then set on the passed in
+ * ComponentType.
+ *
+ * @param componentTypeDefnElements a collection of JDOM elements that
+ * each represent a ComponentTypeDefn object.
+ * @param type the ComponentType object to add the ComponentTypeDefns to
+ * @param editor the editor to use to both create the ComponentTypeDefns
+ * and to set them on the passed in ComponentType.
+ * @return the ComponentType reference that now has the CompoenentTypeDefns
+ * set on it.
+ * @throws InvalidConfigurationElementException if the ComponentTypeDefn
+ * JDOM elements do not adhere to the proper XML structure as defined by the
+ * XMLConfig_ElementNames class.
+ */
+ private ComponentType addComponentTypeDefns(Collection componentTypeDefnElements, ComponentType type, ConfigurationObjectEditor editor) throws InvalidConfigurationElementException{
+ ArrayList componentTypeDefns = new ArrayList(componentTypeDefnElements.size());
+
+ Iterator iterator = componentTypeDefnElements.iterator();
+ while (iterator.hasNext()) {
+ Element componentTypeDefnElement = (Element)iterator.next();
+ Element propertyDefinitionElement = componentTypeDefnElement.getChild(XMLConfig_ElementNames.ComponentTypes.ComponentType.ComponentTypeDefn.PropertyDefinition.ELEMENT);
+ PropertyDefinition propDefn = createPropertyDefinition(propertyDefinitionElement);
+ componentTypeDefns.add(editor.createComponentTypeDefn(type, propDefn, false));
+ }
+ return editor.setComponentTypeDefinitions(type, componentTypeDefns);
+ }
+
+ private ComponentType addPropertyDefns(Collection propertyDefnElements, ComponentType type, ConfigurationObjectEditor editor) throws InvalidConfigurationElementException{
+ ArrayList componentTypeDefns = new ArrayList(propertyDefnElements.size());
+
+ Iterator iterator = propertyDefnElements.iterator();
+ while (iterator.hasNext()) {
+ Element propertyDefinitionElement = (Element)iterator.next();
+ PropertyDefinition propDefn = createPropertyDefinition(propertyDefinitionElement);
+ componentTypeDefns.add(editor.createComponentTypeDefn(type, propDefn, false));
+ }
+ return editor.setComponentTypeDefinitions(type, componentTypeDefns);
+ }
+
+ public void orderComponentTypeElementList(List componentTypeElements) {
+ ComponentTypeElementComparator comparator = new ComponentTypeElementComparator();
+ Collections.sort(componentTypeElements, comparator);
+ }
+
+
+ class ComponentTypeElementComparator implements Comparator{
+
+ /**
+ * This compare to will determine whether the ComponentType element
+ * represented by 'this' has a superComponentType that is the
+ * passed in ComponentType element representation to be compared to. if so, the 'this' element
+ * is considered to be greater than the passed in element. If it is
+ * determined that 'this' is the superCompoentType of the passed in
+ * object then 'greater than' will be returned. If it is determined
+ * that the two ComponentTypeObjects are unrelated, then equals is
+ * returned...Note that this is inconsistent with the equals() method.
+ */
+ public int compare(Object thisObject, Object thatObject) {
+ if (thisObject instanceof Element) {
+ Element thisElement = (Element)thisObject;
+ if (thatObject instanceof Element) {
+ Element thatElement = (Element)thatObject;
+ String thatSuperID = getElementSuperID(thatElement);
+ String thisSuperID = getElementSuperID(thisElement);
+ String thatID = getElementID(thatElement);
+ String thisID = getElementID(thisElement);
+
+ if(thisSuperID!=null && thisSuperID.equals(thatID)) {
+ return 1;
+ }else if(thatSuperID!=null && thatSuperID.equals(thisID)) {
+ return -1;
+ }else {
+ return 0;
+ }
+ }
+ }
+ return 0;
+ }
+
+
+ private String getElementSuperID(Element componentTypeElement) {
+ return componentTypeElement.getAttributeValue(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.SUPER_COMPONENT_TYPE);
+ }
+
+ private String getElementID(Element componentTypeElement) {
+ return componentTypeElement.getAttributeValue(XMLConfig_ElementNames.ComponentTypes.ComponentType.Attributes.NAME);
+ }
+ }
+
+ // helper class to check that an element is not null and length is greater than zero
+ // this should be used instead of Assertion when checking that
+ // component ID's exist
+ private void checkElementValue(String value, String name, String errorKey) throws InvalidConfigurationElementException {
+ if (value == null || value.trim().length() > 0) {
+ if (name != null) {
+ if(value == null){
+ Assertion.isNotNull(value, CommonPlugin.Util.getString(errorKey, name));
+ }
+ } else {
+ if(value == null){
+ Assertion.isNotNull(value, CommonPlugin.Util.getString(errorKey));
+ }
+ }
+
+ }
+
+ }
+
+
+
+// private static final String NOT_ASSIGNED = "NotAssigned";
+
+}
Modified: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLHelperUtil.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLHelperUtil.java 2009-04-10 18:43:00 UTC (rev 751)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/config/xml/XMLHelperUtil.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -45,60 +45,10 @@
*/
static final String DEFAULT_USER_CREATED_BY = "Unknown"; //$NON-NLS-1$
-
- static final String APPLICATION_CREATED_BY = "ApplicationCreatedBy"; //$NON-NLS-1$
- static final String APPLICATION_VERSION_CREATED_BY = "ApplicationVersion"; //$NON-NLS-1$
- static final String USER_CREATED_BY = "UserCreatedBy"; //$NON-NLS-1$
- static final String CONFIGURATION_VERSION = "ConfigurationVersion"; //$NON-NLS-1$
- static final String METAMATRIX_SYSTEM_VERSION = "MetaMatrixSystemVersion"; //$NON-NLS-1$
- static final String TIME = "Time"; //$NON-NLS-1$
-
- // at 4.2 is where the configuration format changes, so anything prior
- // to this version will use the old (3.0) import/export utility
- static final String MM_CONFIG_4_2_VERSION = "4.2"; //$NON-NLS-1$
- static final String MM_CONFIG_3_0_VERSION = "3.0"; //$NON-NLS-1$
-
- static final double MM_LATEST_CONFIG_VERSION = 4.2;
-
-
- public static final boolean is42ConfigurationCompatible(Element root) throws InvalidConfigurationElementException{
- Element headerElement = root.getChild(XMLElementNames.Header.ELEMENT);
- if (headerElement == null) {
- // If no header element found, assume it's pre vers 4.2
- return false;
- }
-
- Properties props = getHeaderProperties(headerElement);
-
- return is42ConfigurationCompatible(props);
-
- }
-
- public static final boolean is42ConfigurationCompatible(Properties props) throws InvalidConfigurationElementException{
-
- String sVersion = props.getProperty(XMLElementNames.Header.ConfigurationVersion.ELEMENT);
-
- if (sVersion == null) {
- return false;
- }
- try {
- double sv = Double.parseDouble(sVersion);
- if (sv >= MM_LATEST_CONFIG_VERSION) {
- return true;
- }
- return false;
-
- } catch (Throwable t) {
- return false;
- }
-
-
- }
-
public static final Properties getHeaderProperties(Element element) throws InvalidConfigurationElementException{
Properties props=new Properties();
- if (!element.getName().equals(XMLElementNames.Header.ELEMENT)) {
+ if (!element.getName().equals(XMLConfig_ElementNames.Header.ELEMENT)) {
throw new InvalidConfigurationElementException("This is not the header element: " + element.getName() + ".", element); //$NON-NLS-1$ //$NON-NLS-2$
}
@@ -113,7 +63,7 @@
public static final Element addHeaderElement(Element root, Properties properties) {
- XMLHelper xmlHelper = new XMLConfig_42_HelperImpl();
+ XMLHelperImpl xmlHelper = new XMLHelperImpl();
root.addContent(xmlHelper.createHeaderElement(createHeaderProperties(properties)));
@@ -130,8 +80,8 @@
if (props!=null) {
defaultProperties.putAll(props);
}
- defaultProperties.setProperty(ConfigurationPropertyNames.CONFIGURATION_VERSION, ConfigurationPropertyNames.MM_CONFIG_4_2_VERSION);
- defaultProperties.setProperty(ConfigurationPropertyNames.METAMATRIX_SYSTEM_VERSION, ApplicationInfo.getInstance().getMajorReleaseNumber());
+ defaultProperties.setProperty(ConfigurationPropertyNames.CONFIGURATION_VERSION, ConfigurationPropertyNames.CONFIG_CURR_VERSION);
+ defaultProperties.setProperty(ConfigurationPropertyNames.SYSTEM_VERSION, ApplicationInfo.getInstance().getMajorReleaseNumber());
defaultProperties.setProperty(ConfigurationPropertyNames.TIME, DateUtil.getCurrentDateAsString());
Modified: branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/vdb/api/DEFReaderWriter.java
===================================================================
--- branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/vdb/api/DEFReaderWriter.java 2009-04-10 18:43:00 UTC (rev 751)
+++ branches/remove_psc/common-internal/src/main/java/com/metamatrix/common/vdb/api/DEFReaderWriter.java 2009-04-11 02:42:44 UTC (rev 752)
@@ -41,8 +41,8 @@
import com.metamatrix.common.config.api.ComponentType;
import com.metamatrix.common.config.api.ConnectorBinding;
import com.metamatrix.common.config.util.InvalidConfigurationElementException;
-import com.metamatrix.common.config.xml.XMLConfig_42_HelperImpl;
-import com.metamatrix.common.config.xml.XMLElementNames;
+import com.metamatrix.common.config.xml.XMLConfig_ElementNames;
+import com.metamatrix.common.config.xml.XMLHelperImpl;
import com.metamatrix.common.xml.XMLReaderWriter;
import com.metamatrix.common.xml.XMLReaderWriterImpl;
import com.metamatrix.core.vdb.VDBStatus;
@@ -190,16 +190,16 @@
private void loadConnectorTypes (BasicVDBDefn vdbDefn, Element root) throws IOException{
- Element components = root.getChild(XMLElementNames.ComponentTypes.ELEMENT);
+ Element components = root.getChild(XMLConfig_ElementNames.ComponentTypes.ELEMENT);
if (components == null) {
return;
}
// TODO: eventually we need to get rid of this below class.
- XMLConfig_42_HelperImpl helper = new XMLConfig_42_HelperImpl();
+ XMLHelperImpl helper = new XMLHelperImpl();
try {
- List<Element> connectorTypes= components.getChildren(XMLElementNames.ComponentTypes.ComponentType.ELEMENT);
+ List<Element> connectorTypes= components.getChildren(XMLConfig_ElementNames.ComponentTypes.ComponentType.ELEMENT);
for(Element connectorTypeElement:connectorTypes) {
vdbDefn.addConnectorType(helper.loadComponentType(connectorTypeElement));
}
@@ -211,16 +211,16 @@
}
private void loadConnectorBindings (BasicVDBDefn vdbDefn, Element root) throws IOException{
- Element components = root.getChild(XMLElementNames.ConnectorComponents.ELEMENT);
+ Element components = root.getChild(XMLConfig_ElementNames.Configuration.ConnectorComponents.ELEMENT);
if (components == null) {
return;
}
// TODO: eventually we need to get rid of this below class.
- XMLConfig_42_HelperImpl helper = new XMLConfig_42_HelperImpl();
+ XMLHelperImpl helper = new XMLHelperImpl();
try {
- List<Element> connectorBindings= components.getChildren(XMLElementNames.ConnectorComponents.ConnectorComponent.ELEMENT);
+ List<Element> connectorBindings= components.getChildren(XMLConfig_ElementNames.Configuration.ConnectorComponents.ConnectorComponent.ELEMENT);
for(Element bindingElement:connectorBindings) {
vdbDefn.addConnectorBinding(helper.loadConnectorBinding(bindingElement));
}
@@ -257,7 +257,7 @@
}
// write the connector types elements
- Element componentTypesElement = new Element(XMLElementNames.ComponentTypes.ELEMENT);
+ Element componentTypesElement = new Element(XMLConfig_ElementNames.ComponentTypes.ELEMENT);
Collection<ComponentType> connectorTypes= def.getConnectorTypes().values();
for(ComponentType connectorType:connectorTypes) {
componentTypesElement.addContent(createConnectorType(connectorType));
@@ -265,7 +265,7 @@
rootElement.addContent(componentTypesElement);
// write the connector bindings elements
- Element connectorBindingsElement = new Element(XMLElementNames.ConnectorComponents.ELEMENT);
+ Element connectorBindingsElement = new Element(XMLConfig_ElementNames.Configuration.ConnectorComponents.ELEMENT);
Collection<ConnectorBinding> connectorBindings= def.getConnectorBindings().values();
for(ConnectorBinding connectorBinding:connectorBindings) {
connectorBindingsElement.addContent(createConnectorBinding(connectorBinding));
@@ -329,13 +329,13 @@
private Element createConnectorType(com.metamatrix.common.config.api.ComponentType connectorType) {
// TODO: eventually we need to get rid of this below class.
- XMLConfig_42_HelperImpl helper = new XMLConfig_42_HelperImpl();
+ XMLHelperImpl helper = new XMLHelperImpl();
return helper.createComponentTypeElement(connectorType);
}
private Element createConnectorBinding(ConnectorBinding binding) {
// TODO: eventually we need to get rid of this below class.
- XMLConfig_42_HelperImpl helper = new XMLConfig_42_HelperImpl();
+ XMLHelperImpl helper = new XMLHelperImpl();
return helper.createConnectorBindingElement(binding, false);
}
@@ -376,7 +376,7 @@
public static final String APPLICATION_CREATED_BY = "ApplicationCreatedBy"; //$NON-NLS-1$
public static final String APPLICATION_VERSION = "ApplicationVersion"; //$NON-NLS-1$
public static final String USER_CREATED_BY = "UserCreatedBy"; //$NON-NLS-1$
- public static final String SYSTEM_VERSION = "MetaMatrixSystemVersion"; //$NON-NLS-1$
+ public static final String SYSTEM_VERSION = "SystemVersion"; //$NON-NLS-1$
public static final String MODIFICATION_TIME = "Time"; //$NON-NLS-1$
}
Modified: branches/remove_psc/common-internal/src/test/resources/config-original.xml
===================================================================
--- branches/remove_psc/common-internal/src/test/resources/config-original.xml 2009-04-10 18:43:00 UTC (rev 751)
+++ branches/remove_psc/common-internal/src/test/resources/config-original.xml 2009-04-11 02:42:44 UTC (rev 752)
@@ -2,10 +2,10 @@
<ConfigurationDocument>
<Header>
<ApplicationCreatedBy>ConfigurationAdministration</ApplicationCreatedBy>
- <ApplicationVersionCreatedBy>4.2</ApplicationVersionCreatedBy>
+ <ApplicationVersionCreatedBy>6.0</ApplicationVersionCreatedBy>
<UserCreatedBy>Configuration</UserCreatedBy>
<ConfigurationVersion>4.2</ConfigurationVersion>
- <MetaMatrixSystemVersion>4.2</MetaMatrixSystemVersion>
+ <SystemVersion>6.0</SystemVersion>
<Time>2004-06-30T12:23:53.919-06:00</Time>
</Header>
<Configuration Name="Next Startup" ComponentType="Configuration" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
@@ -75,12 +75,12 @@
<Property Name="vm.enabled">true</Property>
<Property Name="vm.forced.shutdown.time">30</Property>
</Properties>
- <Service Name="MembershipService" ComponentType="MembershipService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="SessionService" ComponentType="SessionService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="AuthorizationService" ComponentType="AuthorizationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="ConfigurationService" ComponentType="ConfigurationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="QueryService" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
- <Service Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="MembershipService" ComponentType="MembershipService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="SessionService" ComponentType="SessionService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="AuthorizationService" ComponentType="AuthorizationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="ConfigurationService" ComponentType="ConfigurationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="QueryService" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
</Process>
</Host>
</Configuration>
Modified: branches/remove_psc/common-internal/src/test/resources/config.xml
===================================================================
--- branches/remove_psc/common-internal/src/test/resources/config.xml 2009-04-10 18:43:00 UTC (rev 751)
+++ branches/remove_psc/common-internal/src/test/resources/config.xml 2009-04-11 02:42:44 UTC (rev 752)
@@ -26,10 +26,10 @@
<ConfigurationDocument>
<Header>
<ApplicationCreatedBy>ConfigurationAdministration</ApplicationCreatedBy>
- <ApplicationVersionCreatedBy>4.2</ApplicationVersionCreatedBy>
+ <ApplicationVersionCreatedBy>6.0</ApplicationVersionCreatedBy>
<UserCreatedBy>Configuration</UserCreatedBy>
- <ConfigurationVersion>4.2</ConfigurationVersion>
- <MetaMatrixSystemVersion>4.2</MetaMatrixSystemVersion>
+ <ConfigurationVersion>6.0</ConfigurationVersion>
+ <SystemVersion>6.0</SystemVersion>
<Time>2004-06-30T12:23:53.919-06:00</Time>
</Header>
@@ -54,31 +54,7 @@
<Property Name="MaxPlanCacheSize">100</Property>
</Properties>
</Service>
- </Services>
-
- <ProductTypes>
- <ProductType Name="Connectors" ComponentTypeCode="3" Deployable="false" Deprecated="false" Monitorable="false" SuperComponentType="Product" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
- <ComponentTypeID Name="Oracle ANSI JDBC Connector"/>
- <ComponentTypeID Name="Oracle 8 JDBC Connector"/>
- <ComponentTypeID Name="DB2 JDBC Connector"/>
- <ComponentTypeID Name="Sybase ANSI JDBC Connector"/>
- <ComponentTypeID Name="Sybase 11 JDBC Connector"/>
- <ComponentTypeID Name="SQL Server JDBC Connector"/>
- <ComponentTypeID Name="JDBC Connector"/>
- <ComponentTypeID Name="MS Access Connector"/>
- <ComponentTypeID Name="JDBC ODBC Connector"/>
- <ComponentTypeID Name="Text File Connector"/>
- <ComponentTypeID Name="MySQL JDBC Connector"/>
- <ComponentTypeID Name="PostgreSQL JDBC Connector"/>
- <ComponentTypeID Name="Apache Derby Embedded Connector"/>
- <ComponentTypeID Name="Apache Derby Network Connector"/>
- <ComponentTypeID Name="Secure Data Source Connector"/>
- <ComponentTypeID Name="SOAP Connector"/>
- <ComponentTypeID Name="XML File Connector"/>
- <ComponentTypeID Name="XML HTTP Connector"/>
- </ProductType>
- </ProductTypes>
-
+ </Services>
<ComponentTypes>
<ComponentType Name="Service" ComponentTypeCode="1" Deployable="false" Deprecated="false" Monitorable="false" ParentComponentType="VM" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
<ComponentTypeDefn Deprecated="false">
Modified: branches/remove_psc/common-internal/src/test/resources/example.def
===================================================================
--- branches/remove_psc/common-internal/src/test/resources/example.def 2009-04-10 18:43:00 UTC (rev 751)
+++ branches/remove_psc/common-internal/src/test/resources/example.def 2009-04-11 02:42:44 UTC (rev 752)
@@ -5,7 +5,7 @@
<ApplicationCreatedBy>MetaMatrix Console</ApplicationCreatedBy>
<ApplicationVersion>5.5:2849</ApplicationVersion>
<UserCreatedBy>metamatrixadmin</UserCreatedBy>
- <MetaMatrixSystemVersion>5.5</MetaMatrixSystemVersion>
+ <SystemVersion>5.5</SystemVersion>
<Time>2007-10-18T11:01:41.622-06:00</Time>
</Header>
<VDBInfo>
15 years, 8 months
teiid SVN: r750 - branches/remove_psc/embedded/src/main/java/com/metamatrix/dqp/embedded/services.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2009-04-10 14:41:54 -0400 (Fri, 10 Apr 2009)
New Revision: 750
Modified:
branches/remove_psc/embedded/src/main/java/com/metamatrix/dqp/embedded/services/DefaultIndexConnectorBinding.java
Log:
Teiid 323 - the xa supported flag was moved from the connector type to a property on the connector. Now the binding will indicate if it suports XA versus the type
Modified: branches/remove_psc/embedded/src/main/java/com/metamatrix/dqp/embedded/services/DefaultIndexConnectorBinding.java
===================================================================
--- branches/remove_psc/embedded/src/main/java/com/metamatrix/dqp/embedded/services/DefaultIndexConnectorBinding.java 2009-04-10 18:41:33 UTC (rev 749)
+++ branches/remove_psc/embedded/src/main/java/com/metamatrix/dqp/embedded/services/DefaultIndexConnectorBinding.java 2009-04-10 18:41:54 UTC (rev 750)
@@ -83,8 +83,17 @@
public String getRoutingUUID() {
return INDEX_CONNECTOR_NAME;
}
+
+
+ /**
+ * @since 6.1
+ */
+ public boolean isXASupported() {
+ // TODO Auto-generated method stub
+ return false;
+ }
- /**
+ /**
* @see com.metamatrix.common.config.api.ComponentDefn#getConfigurationID()
* @since 4.3
*/
15 years, 8 months