teiid SVN: r1082 - trunk/server/src/main/java/com/metamatrix/admin/server.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2009-06-24 16:35:25 -0400 (Wed, 24 Jun 2009)
New Revision: 1082
Modified:
trunk/server/src/main/java/com/metamatrix/admin/server/ServerMonitoringAdminImpl.java
Log:
Teiid 653 - removed the deployed attribute from the admin objects
Modified: trunk/server/src/main/java/com/metamatrix/admin/server/ServerMonitoringAdminImpl.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/admin/server/ServerMonitoringAdminImpl.java 2009-06-24 20:34:31 UTC (rev 1081)
+++ trunk/server/src/main/java/com/metamatrix/admin/server/ServerMonitoringAdminImpl.java 2009-06-24 20:35:25 UTC (rev 1082)
@@ -169,7 +169,6 @@
binding.setConnectorTypeName(configBinding.getComponentTypeID().getFullName());
binding.setRoutingUUID(configBinding.getRoutingUUID());
binding.setEnabled(component.isEnabled()); // use the deployed component setting for being enabled.
- binding.setDeployed(true);
binding.setRegistered(false);
binding.setState(MMConnectorBinding.STATE_NOT_REGISTERED);
binding.setProperties(configBinding.getProperties());
@@ -218,7 +217,6 @@
//not in config - create new MMConnectorBinding
binding = new MMConnectorBinding(identifierParts);
- binding.setDeployed(false);
binding.setState(MMConnectorBinding.STATE_NOT_DEPLOYED);
@@ -367,7 +365,6 @@
MMDQP dqp = new MMDQP(identifierParts);
- dqp.setDeployed(true);
dqp.setRegistered(false);
dqp.setState(MMDQP.STATE_NOT_REGISTERED);
@@ -407,7 +404,6 @@
} else {
//not in config - create new MMDQP
dqp = new MMDQP(identifierParts);
- dqp.setDeployed(false);
dqp.setState(MMDQP.STATE_NOT_DEPLOYED);
}
@@ -522,7 +518,6 @@
host.setRunning(hostData.isRegistered());
host.setRegistered(hostData.isRegistered());
- host.setDeployed(false);
host.setProperties(hostData.getProperties());
runtimeMap.put(hostName.toUpperCase(), host);
@@ -566,7 +561,6 @@
else {
host.setProperties(properties);
}
- host.setDeployed(true);
results.add(host);
}
@@ -648,7 +642,6 @@
}
}
- process.setDeployed(false);
String key = MMAdminObject.buildIdentifier(identifierParts).toUpperCase();
runtimeMap.put(key, process);
results.add(process);
@@ -687,7 +680,6 @@
process.setLastUpdatedBy(defn.getLastChangedBy());
process.setProperties(defn.getProperties());
process.setEnabled(defn.isEnabled());
- process.setDeployed(true);
String portString = defn.getPort();
if( portString != null ) {
@@ -754,7 +746,6 @@
MMService mmservice = new MMService(identifierParts);
mmservice.setComponentTypeName(service.getComponentTypeID().getFullName());
mmservice.setEnabled(component.isEnabled());
- mmservice.setDeployed(true);
mmservice.setRegistered(false);
mmservice.setState(Service.STATE_NOT_REGISTERED);
mmservice.setProperties(service.getProperties());
@@ -803,7 +794,6 @@
//not in config - create new MMConnectorBinding
mmservice = new MMService(identifierParts);
- mmservice.setDeployed(false);
mmservice.setState(MMConnectorBinding.STATE_NOT_DEPLOYED);
15 years, 6 months
teiid SVN: r1081 - trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2009-06-24 16:34:31 -0400 (Wed, 24 Jun 2009)
New Revision: 1081
Modified:
trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/BaseAdmin.java
Log:
Teiid 653 - removed the deployed attribute from the admin objects
Modified: trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/BaseAdmin.java
===================================================================
--- trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/BaseAdmin.java 2009-06-24 20:34:17 UTC (rev 1080)
+++ trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/BaseAdmin.java 2009-06-24 20:34:31 UTC (rev 1081)
@@ -301,7 +301,6 @@
binding.setConnectorTypeName(src.getComponentTypeID().getFullName());
binding.setCreated(src.getCreatedDate());
binding.setCreatedBy(src.getCreatedBy());
- binding.setDeployed(src.isEnabled());
binding.setDescription(src.getDescription());
binding.setEnabled(src.isEnabled());
binding.setLastUpdated(src.getLastChangedDate());
@@ -340,7 +339,6 @@
MMConnectorType type = new MMConnectorType(new String[] {src.getName()});
type.setCreated(src.getCreatedDate());
type.setCreatedBy(src.getCreatedBy());
- type.setDeployed(src.isDeployable());
type.setEnabled(true);
type.setLastUpdated(src.getLastChangedDate());
type.setRegistered(true);
@@ -358,7 +356,6 @@
MMVDB vdb = new MMVDB(new String[] {src.getName(), src.getVersion()});
vdb.setCreated(src.getDateCreated());
vdb.setCreatedBy(src.getCreatedBy());
- vdb.setDeployed(src.isActiveStatus());
vdb.setEnabled(src.isActiveStatus());
vdb.setLastUpdated(src.getDateCreated());
vdb.setLastUpdatedBy(src.getCreatedBy());
@@ -380,7 +377,6 @@
MMModel model = new MMModel(new String[] {src.getName()});
model.setCreated(vdb.getDateCreated());
model.setCreatedBy(vdb.getCreatedBy());
- model.setDeployed(vdb.isActiveStatus());
model.setEnabled(vdb.isActiveStatus());
model.setLastUpdated(vdb.getDateCreated());
model.setLastUpdatedBy(vdb.getCreatedBy());
15 years, 6 months
teiid SVN: r1080 - trunk/client/src/main/java/com/metamatrix/admin/objects.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2009-06-24 16:34:17 -0400 (Wed, 24 Jun 2009)
New Revision: 1080
Modified:
trunk/client/src/main/java/com/metamatrix/admin/objects/MMAdminObject.java
trunk/client/src/main/java/com/metamatrix/admin/objects/MMConnectorBinding.java
trunk/client/src/main/java/com/metamatrix/admin/objects/MMDQP.java
trunk/client/src/main/java/com/metamatrix/admin/objects/MMHost.java
trunk/client/src/main/java/com/metamatrix/admin/objects/MMProcess.java
trunk/client/src/main/java/com/metamatrix/admin/objects/MMService.java
trunk/client/src/main/java/com/metamatrix/admin/objects/MMVDB.java
Log:
Teiid 653 - removed the deployed attribute from the admin objects
Modified: trunk/client/src/main/java/com/metamatrix/admin/objects/MMAdminObject.java
===================================================================
--- trunk/client/src/main/java/com/metamatrix/admin/objects/MMAdminObject.java 2009-06-24 19:36:12 UTC (rev 1079)
+++ trunk/client/src/main/java/com/metamatrix/admin/objects/MMAdminObject.java 2009-06-24 20:34:17 UTC (rev 1080)
@@ -390,14 +390,8 @@
public java.util.Date getCreated() {
return this.created;
}
+
/**
- * @return Returns the deployed.
- * @since 4.3
- */
- public boolean isDeployed() {
- return this.deployed;
- }
- /**
* @return Returns the lastUpdated.
* @since 4.3
*/
@@ -427,14 +421,6 @@
}
/**
- * @param deployed The deployed to set.
- * @since 4.3
- */
- public void setDeployed(boolean deployed) {
- this.deployed = deployed;
- }
-
- /**
* @param registered The registered to set.
* @since 4.3
*/
Modified: trunk/client/src/main/java/com/metamatrix/admin/objects/MMConnectorBinding.java
===================================================================
--- trunk/client/src/main/java/com/metamatrix/admin/objects/MMConnectorBinding.java 2009-06-24 19:36:12 UTC (rev 1079)
+++ trunk/client/src/main/java/com/metamatrix/admin/objects/MMConnectorBinding.java 2009-06-24 20:34:17 UTC (rev 1080)
@@ -71,7 +71,6 @@
result.append(AdminPlugin.Util.getString("MMConnectorBinding.State")).append(getState()); //$NON-NLS-1$
result.append(AdminPlugin.Util.getString("MMConnectorBinding.State_Changed")).append(getStateChangedTime()); //$NON-NLS-1$
result.append(AdminPlugin.Util.getString("MMConnectorBinding.IsRegistered")).append(isRegistered()); //$NON-NLS-1$
- result.append(AdminPlugin.Util.getString("MMConnectorBinding.IsDeployed")).append(isDeployed()); //$NON-NLS-1$
result.append(AdminPlugin.Util.getString("MMConnectorBinding.Properties")).append(getPropertiesAsString()); //$NON-NLS-1$
return result.toString();
}
Modified: trunk/client/src/main/java/com/metamatrix/admin/objects/MMDQP.java
===================================================================
--- trunk/client/src/main/java/com/metamatrix/admin/objects/MMDQP.java 2009-06-24 19:36:12 UTC (rev 1079)
+++ trunk/client/src/main/java/com/metamatrix/admin/objects/MMDQP.java 2009-06-24 20:34:17 UTC (rev 1080)
@@ -70,7 +70,6 @@
result.append(AdminPlugin.Util.getString("MMDQP.Updated_By")).append(getLastChangedBy()); //$NON-NLS-1$
result.append(AdminPlugin.Util.getString("MMDQP.State")).append(getStateAsString()); //$NON-NLS-1$
result.append(AdminPlugin.Util.getString("MMDQP.IsRegistered")).append(isRegistered()); //$NON-NLS-1$
- result.append(AdminPlugin.Util.getString("MMDQP.IsDeployed")).append(isDeployed()); //$NON-NLS-1$
result.append(AdminPlugin.Util.getString("MMDQP.State_Changed")).append(getStateChangedTime()); //$NON-NLS-1$
result.append(AdminPlugin.Util.getString("MMDQP.Properties")).append(getPropertiesAsString()); //$NON-NLS-1$
return result.toString();
Modified: trunk/client/src/main/java/com/metamatrix/admin/objects/MMHost.java
===================================================================
--- trunk/client/src/main/java/com/metamatrix/admin/objects/MMHost.java 2009-06-24 19:36:12 UTC (rev 1079)
+++ trunk/client/src/main/java/com/metamatrix/admin/objects/MMHost.java 2009-06-24 20:34:17 UTC (rev 1080)
@@ -61,7 +61,6 @@
result.append(AdminPlugin.Util.getString("MMHost.Updated")).append(getLastChangedDate()); //$NON-NLS-1$
result.append(AdminPlugin.Util.getString("MMHost.Updated_By")).append(getLastChangedBy()); //$NON-NLS-1$
result.append(AdminPlugin.Util.getString("MMHost.IsRunning")).append(isRegistered()); //$NON-NLS-1$
- result.append(AdminPlugin.Util.getString("MMHost.IsDeployed")).append(isDeployed()); //$NON-NLS-1$
return result.toString();
}
Modified: trunk/client/src/main/java/com/metamatrix/admin/objects/MMProcess.java
===================================================================
--- trunk/client/src/main/java/com/metamatrix/admin/objects/MMProcess.java 2009-06-24 19:36:12 UTC (rev 1079)
+++ trunk/client/src/main/java/com/metamatrix/admin/objects/MMProcess.java 2009-06-24 20:34:17 UTC (rev 1080)
@@ -205,7 +205,6 @@
result.append(AdminPlugin.Util.getString("MMProcess.Updated")).append(getLastChangedDate()); //$NON-NLS-1$
result.append(AdminPlugin.Util.getString("MMProcess.UpdatedBy")).append(getLastChangedBy()); //$NON-NLS-1$
result.append(AdminPlugin.Util.getString("MMProcess.IsRunning")).append(isRunning()); //$NON-NLS-1$
- result.append(AdminPlugin.Util.getString("MMProcess.IsDeployed")).append(isDeployed()); //$NON-NLS-1$
result.append(AdminPlugin.Util.getString("MMProcess.TotalMemory")).append(totalMemory); //$NON-NLS-1$
result.append(AdminPlugin.Util.getString("MMProcess.FreeMemory")).append(freeMemory); //$NON-NLS-1$
result.append(AdminPlugin.Util.getString("MMProcess.ThreadCount")).append(threadCount); //$NON-NLS-1$
Modified: trunk/client/src/main/java/com/metamatrix/admin/objects/MMService.java
===================================================================
--- trunk/client/src/main/java/com/metamatrix/admin/objects/MMService.java 2009-06-24 19:36:12 UTC (rev 1079)
+++ trunk/client/src/main/java/com/metamatrix/admin/objects/MMService.java 2009-06-24 20:34:17 UTC (rev 1080)
@@ -69,7 +69,6 @@
result.append(AdminPlugin.Util.getString("MMService.State")).append(getState()); //$NON-NLS-1$
result.append(AdminPlugin.Util.getString("MMService.State_Changed")).append(getStateChangedTime()); //$NON-NLS-1$
result.append(AdminPlugin.Util.getString("MMService.IsRegistered")).append(isRegistered()); //$NON-NLS-1$
- result.append(AdminPlugin.Util.getString("MMService.IsDeployed")).append(isDeployed()); //$NON-NLS-1$
result.append(AdminPlugin.Util.getString("MMService.Properties")).append(getPropertiesAsString()); //$NON-NLS-1$
return result.toString();
}
Modified: trunk/client/src/main/java/com/metamatrix/admin/objects/MMVDB.java
===================================================================
--- trunk/client/src/main/java/com/metamatrix/admin/objects/MMVDB.java 2009-06-24 19:36:12 UTC (rev 1079)
+++ trunk/client/src/main/java/com/metamatrix/admin/objects/MMVDB.java 2009-06-24 20:34:17 UTC (rev 1080)
@@ -185,7 +185,6 @@
this.status = status;
//TODO: are these correct?
- setDeployed(status == STATUS_ACTIVE || status == STATUS_INACTIVE);
setEnabled(status == STATUS_ACTIVE);
setRegistered(status == STATUS_ACTIVE || status == STATUS_INACTIVE || status == STATUS_INCOMPLETE);
}
15 years, 6 months
teiid SVN: r1079 - trunk/server/src/test/java/com/metamatrix/admin/server.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2009-06-24 15:36:12 -0400 (Wed, 24 Jun 2009)
New Revision: 1079
Modified:
trunk/server/src/test/java/com/metamatrix/admin/server/TestServerConfigAdminImpl.java
Log:
Teiid-570 - reverse these changes, removing the configuration related methods that were added
Modified: trunk/server/src/test/java/com/metamatrix/admin/server/TestServerConfigAdminImpl.java
===================================================================
--- trunk/server/src/test/java/com/metamatrix/admin/server/TestServerConfigAdminImpl.java 2009-06-24 18:50:28 UTC (rev 1078)
+++ trunk/server/src/test/java/com/metamatrix/admin/server/TestServerConfigAdminImpl.java 2009-06-24 19:36:12 UTC (rev 1079)
@@ -25,6 +25,7 @@
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.List;
import java.util.Properties;
import junit.framework.TestCase;
@@ -368,34 +369,8 @@
}
}
- public void testGetConnectorBindings() throws Exception {
- Collection<ConnectorBinding> bindings = admin.getConnectorBindingsToConfigure("*");
- assertEquals(3, bindings.size());
-
- bindings = admin.getConnectorBindingsToConfigure("connectorBinding2");
- assertEquals(1, bindings.size());
-
- bindings = admin.getConnectorBindingsToConfigure("*2");
- assertEquals(1, bindings.size());
-
-
-
- }
+
- public void testGetServices() throws Exception {
- Collection<Service> bindings = admin.getServicesToConfigure("*");
- assertEquals(10, bindings.size());
-
- Service svc = bindings.iterator().next();
-
- bindings = admin.getServicesToConfigure("QueryService");
- assertEquals(1, bindings.size());
-
- bindings = admin.getServicesToConfigure("Query*");
- assertEquals(1, bindings.size());
-
- }
-
public void testgetNodeCount() throws Exception {
assertEquals(1, admin.getNodeCount(BOGUS_HOST_FULLY_QUALIFIED));
@@ -404,58 +379,58 @@
}
- public void testUpdateProperties() throws Exception {
-
- //Test update properties for deployed connector
- Properties properties = new Properties();
- properties.put(DQPConfigSource.PROCESS_POOL_MAX_THREADS, "11");
- admin.updateProperties(HOST_2_2_2_2_PROCESS2_CONNECTOR_BINDING2,com.metamatrix.admin.api.objects.ConnectorBinding.class.getName(), properties);
- //Verify results
- DeployedComponent dc = admin.getDeployedComponent(HOST_2_2_2_2_PROCESS2_CONNECTOR_BINDING2);
- String actualPropValue = dc.getProperty(DQPConfigSource.PROCESS_POOL_MAX_THREADS);
- assertEquals("11", actualPropValue);
-
- //Test update properties for a connector binding from configuration
- properties = new Properties();
- properties.put(DQPConfigSource.PROCESS_POOL_MAX_THREADS, "22");
- admin.updateProperties("connectorbinding2",com.metamatrix.admin.api.objects.ConnectorBinding.class.getName(), properties);
- //Verify results
- Collection<MMConnectorBinding> objs1 = admin.getConnectorBindingsToConfigure("connectorBinding2");
- MMConnectorBinding binding = objs1.iterator().next();
- actualPropValue = binding.getPropertyValue(DQPConfigSource.PROCESS_POOL_MAX_THREADS);
- assertEquals("22", actualPropValue);
-
- //Test update properties for deployed service
- properties = new Properties();
- properties.put("ProcessPoolThreadTTL", "9");
- admin.updateProperties(HOST_2_2_2_2_PROCESS2_DQP2,com.metamatrix.admin.api.objects.Service.class.getName(), properties);
- //Verify results
- dc = admin.getDeployedComponent(HOST_2_2_2_2_PROCESS2_DQP2);
- actualPropValue = dc.getProperty("ProcessPoolThreadTTL");
- assertEquals("9", actualPropValue);
-
- //Test update properties for a service from configuration
- properties = new Properties();
- properties.put(MembershipServiceInterface.SECURITY_ENABLED, "false");
- admin.updateProperties(MembershipServiceInterface.NAME,com.metamatrix.admin.api.objects.Service.class.getName(), properties);
- //Verify results
- ServiceComponentDefn service = admin.getServiceByName(MembershipServiceInterface.NAME);
- actualPropValue = service.getProperty(MembershipServiceInterface.SECURITY_ENABLED);
- assertEquals("false", actualPropValue);
-
- //Test update properties for process
- properties = new Properties();
- properties.put(ProcessObject.TIMETOLIVE, "99");
- admin.updateProperties(HOST_2_2_2_2_PROCESS2,com.metamatrix.admin.api.objects.ProcessObject.class.getName(), properties);
- //Verify results
- Collection<MMProcess> processObjs = admin.getAdminObjects(HOST_2_2_2_2_PROCESS2,com.metamatrix.admin.api.objects.ProcessObject.class.getName());
- MMProcess process = processObjs.iterator().next();
- actualPropValue = process.getPropertyValue(ProcessObject.TIMETOLIVE);
- assertEquals("99", actualPropValue);
-
- }
+// public void testUpdateProperties() throws Exception {
+//
+// //Test update properties for deployed connector
+// Properties properties = new Properties();
+// properties.put(DQPConfigSource.PROCESS_POOL_MAX_THREADS, "11");
+// admin.updateProperties(HOST_2_2_2_2_PROCESS2_CONNECTOR_BINDING2,com.metamatrix.admin.api.objects.ConnectorBinding.class.getName(), properties);
+// //Verify results
+// DeployedComponent dc = admin.getDeployedComponent(HOST_2_2_2_2_PROCESS2_CONNECTOR_BINDING2);
+// String actualPropValue = dc.getProperty(DQPConfigSource.PROCESS_POOL_MAX_THREADS);
+// assertEquals("11", actualPropValue);
+//
+// //Test update properties for a connector binding from configuration
+// properties = new Properties();
+// properties.put(DQPConfigSource.PROCESS_POOL_MAX_THREADS, "22");
+// admin.updateProperties("connectorbinding2",com.metamatrix.admin.api.objects.ConnectorBinding.class.getName(), properties);
+// //Verify results
+// List<com.metamatrix.common.config.api.ConnectorBinding> objs1 = admin.getConnectorBindingsByName(new String[] {"connectorBinding2"});
+// MMConnectorBinding binding = objs1.iterator().next();
+// actualPropValue = binding.getPropertyValue(DQPConfigSource.PROCESS_POOL_MAX_THREADS);
+// assertEquals("22", actualPropValue);
+//
+// //Test update properties for deployed service
+// properties = new Properties();
+// properties.put("ProcessPoolThreadTTL", "9");
+// admin.updateProperties(HOST_2_2_2_2_PROCESS2_DQP2,com.metamatrix.admin.api.objects.Service.class.getName(), properties);
+// //Verify results
+// dc = admin.getDeployedComponent(HOST_2_2_2_2_PROCESS2_DQP2);
+// actualPropValue = dc.getProperty("ProcessPoolThreadTTL");
+// assertEquals("9", actualPropValue);
+//
+// //Test update properties for a service from configuration
+// properties = new Properties();
+// properties.put(MembershipServiceInterface.SECURITY_ENABLED, "false");
+// admin.updateProperties(MembershipServiceInterface.NAME,com.metamatrix.admin.api.objects.Service.class.getName(), properties);
+// //Verify results
+// ServiceComponentDefn service = admin.getServiceByName(MembershipServiceInterface.NAME);
+// actualPropValue = service.getProperty(MembershipServiceInterface.SECURITY_ENABLED);
+// assertEquals("false", actualPropValue);
+//
+// //Test update properties for process
+// properties = new Properties();
+// properties.put(ProcessObject.TIMETOLIVE, "99");
+// admin.updateProperties(HOST_2_2_2_2_PROCESS2,com.metamatrix.admin.api.objects.ProcessObject.class.getName(), properties);
+// //Verify results
+// Collection<MMProcess> processObjs = admin.getAdminObjects(HOST_2_2_2_2_PROCESS2,com.metamatrix.admin.api.objects.ProcessObject.class.getName());
+// MMProcess process = processObjs.iterator().next();
+// actualPropValue = process.getPropertyValue(ProcessObject.TIMETOLIVE);
+// assertEquals("99", actualPropValue);
+//
+// }
+//
-
}
15 years, 6 months
teiid SVN: r1078 - trunk/client/src/main/java/com/metamatrix/admin/api/server.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2009-06-24 14:50:28 -0400 (Wed, 24 Jun 2009)
New Revision: 1078
Modified:
trunk/client/src/main/java/com/metamatrix/admin/api/server/ServerConfigAdmin.java
Log:
Teiid-570 - reverse these changes, removing the configuration related methods that were added
Modified: trunk/client/src/main/java/com/metamatrix/admin/api/server/ServerConfigAdmin.java
===================================================================
--- trunk/client/src/main/java/com/metamatrix/admin/api/server/ServerConfigAdmin.java 2009-06-24 18:50:01 UTC (rev 1077)
+++ trunk/client/src/main/java/com/metamatrix/admin/api/server/ServerConfigAdmin.java 2009-06-24 18:50:28 UTC (rev 1078)
@@ -22,7 +22,6 @@
package com.metamatrix.admin.api.server;
-import java.util.Collection;
import java.util.Properties;
import com.metamatrix.admin.RolesAllowed;
@@ -272,45 +271,5 @@
* @since 6.0.0
*/
byte[] getClusterKey() throws AdminException;
-
-
- /**
- * Get the Services that correspond to the specified identifier pattern.
- * These services represent the unique instance to be configured and instantiated
- * when the server starts up. To monitor the current state of a running service,
- * call {@link ServerMonitoringAdmin#getServices(String)}
- *
- * @param resourceIdentifier the unique identifier for for a {@link com.metamatrix.admin.api.objects.Service Service}
- * in the system or "{@link com.metamatrix.admin.api.objects.AdminObject#WILDCARD WILDCARD}"
- * if all Services are desired.
- *
- * NOTE: The {@link Service Service} is used for both monitoring and configuration. For a Service returned as part of configuration,
- * the State will not be applicable. To find the state of a current running instance, call {@link ServerMonitoringAdmin#getServices(String)}
- *
- * @return Collection of {@link com.metamatrix.admin.api.objects.Service Service}
- * @throws AdminException if there's a system error.
- * @since 6.1
- */
- Collection getServicesToConfigure(String resourceIdentfier) throws AdminException;
-
- /**
- * Get the ConnectorBindings that correspond to the specified identifir pattern.
- * These connectorbindings represent the unique instance to be configured and instantiated
- * when the server starts up. To monitor the current state of a running connectorbinding,
- * call {@link ServerMonitoringAdmin#getConnectorBindings(String)}
- *
- * @param resourceIdentifier the unique identifier for for a {@link com.metamatrix.admin.api.objects.ConnectorBinding ConnectorBinding}
- * in the system or "{@link com.metamatrix.admin.api.objects.AdminObject#WILDCARD WILDCARD}"
- * if all Services are desired.
- *
- * NOTE: The {@link ConnectorBinding ConnectorBinding} is used for both monitoring and configuration. For a Service returned as part of configuration,
- * the State will not be applicable. To find the state of a current running instance, call {@link ServerMonitoringAdmin#getConnectorBinding(String)}
- *
- * @return Collection of {@link com.metamatrix.admin.api.objects.ConnectorBinding ConnectorBinding}
- * @throws AdminException if there's a system error.
- * @since 6.1
- */
- Collection getConnectorBindingsToConfigure(String resourceIdentfier) throws AdminException;
-
-
+
}
15 years, 6 months
teiid SVN: r1077 - trunk/server/src/main/java/com/metamatrix/admin/server.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2009-06-24 14:50:01 -0400 (Wed, 24 Jun 2009)
New Revision: 1077
Modified:
trunk/server/src/main/java/com/metamatrix/admin/server/ServerAdminImpl.java
trunk/server/src/main/java/com/metamatrix/admin/server/ServerConfigAdminImpl.java
Log:
Teiid-570 - reverse these changes, removing the configuration related methods that were added
Modified: trunk/server/src/main/java/com/metamatrix/admin/server/ServerAdminImpl.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/admin/server/ServerAdminImpl.java 2009-06-24 18:00:40 UTC (rev 1076)
+++ trunk/server/src/main/java/com/metamatrix/admin/server/ServerAdminImpl.java 2009-06-24 18:50:01 UTC (rev 1077)
@@ -991,20 +991,6 @@
}
@Override
- public Collection getConnectorBindingsToConfigure(String resourceIdentfier)
- throws AdminException {
- // TODO Auto-generated method stub
- return getConfigurationAdmin().getConnectorBindingsToConfigure(resourceIdentfier);
- }
-
- @Override
- public Collection getServicesToConfigure(String resourceIdentfier)
- throws AdminException {
- // TODO Auto-generated method stub
- return getConfigurationAdmin().getServicesToConfigure(resourceIdentfier);
- }
-
- @Override
public Collection getServices(String identifier) throws AdminException {
// TODO Auto-generated method stub
return getMonitoringAdmin().getServices(identifier);
Modified: trunk/server/src/main/java/com/metamatrix/admin/server/ServerConfigAdminImpl.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/admin/server/ServerConfigAdminImpl.java 2009-06-24 18:00:40 UTC (rev 1076)
+++ trunk/server/src/main/java/com/metamatrix/admin/server/ServerConfigAdminImpl.java 2009-06-24 18:50:01 UTC (rev 1077)
@@ -2103,105 +2103,7 @@
throw new AdminComponentException(e);
}
}
-
-
- @Override
- public Collection getConnectorBindingsToConfigure(String resourceIdentfier)
- throws AdminException {
- if (resourceIdentfier == null) {
- throwProcessingException("AdminImpl.requiredparameter", new Object[] {}); //$NON-NLS-1$
- }
-
- HashSet results = new HashSet();
- try {
- ConfigurationModelContainer config = getConfigurationServiceProxy().getConfigurationModel(Configuration.NEXT_STARTUP);
- Collection<ConnectorBinding> components = config.getConfiguration().getConnectorBindings();
-
- for (Iterator<ConnectorBinding> iter = components.iterator(); iter.hasNext();) {
- ConnectorBinding cb = iter.next();
-
- String bindingName = cb.getName();
-
- String[] identifierParts = new String[] {
- bindingName
- };
-
- if (identifierMatches(resourceIdentfier, identifierParts)) {
- MMConnectorBinding binding = new MMConnectorBinding(identifierParts);
- binding.setConnectorTypeName(cb.getComponentTypeID().getFullName());
- binding.setRoutingUUID(cb.getRoutingUUID());
- binding.setEnabled(cb.isEnabled());
- binding.setDeployed(false);
- binding.setRegistered(false);
- binding.setState(MMConnectorBinding.STATE_NOT_REGISTERED);
- binding.setProperties(cb.getProperties());
-
- binding.setCreated(cb.getCreatedDate());
- binding.setCreatedBy(cb.getCreatedBy());
- binding.setLastUpdated(cb.getLastChangedDate());
- binding.setLastUpdatedBy(cb.getLastChangedBy());
- results.add(binding);
- }
- }
- } catch(ConfigurationException e) {
- throw new AdminComponentException(e);
- } catch (ServiceException e) {
- throw new AdminComponentException(e);
- }
-
- return results;
- }
-
- @Override
- public Collection getServicesToConfigure(String resourceIdentfier)
- throws AdminException {
- if (resourceIdentfier == null) {
- throwProcessingException("AdminImpl.requiredparameter", new Object[] {}); //$NON-NLS-1$
- }
-
- HashSet results = new HashSet();
- try {
- ConfigurationModelContainer config = getConfigurationServiceProxy().getConfigurationModel(Configuration.NEXT_STARTUP);
-
- Collection<ServiceComponentDefn> components = config.getConfiguration().getServiceComponentDefns();
-
- for (Iterator<ServiceComponentDefn> iter = components.iterator(); iter.hasNext();) {
- ServiceComponentDefn svc = iter.next();
-
- String svcName = svc.getName();
-
- String[] identifierParts = new String[] {
- svcName
- };
-
- if (identifierMatches(resourceIdentfier, identifierParts)) {
- MMService service = new MMService(identifierParts);
- service.setComponentTypeName(svc.getComponentTypeID().getFullName());
- service.setEnabled(svc.isEnabled());
- service.setDeployed(false);
- service.setRegistered(false);
- service.setState(MMConnectorBinding.STATE_NOT_REGISTERED);
- service.setProperties(svc.getProperties());
-
- service.setCreated(svc.getCreatedDate());
- service.setCreatedBy(svc.getCreatedBy());
- service.setLastUpdated(svc.getLastChangedDate());
- service.setLastUpdatedBy(svc.getLastChangedBy());
- results.add(service);
- }
- }
- } catch(ConfigurationException e) {
- throw new AdminComponentException(e);
- } catch (ServiceException e) {
- throw new AdminComponentException(e);
- }
-
- return results;
-
- }
-
-
protected ServiceComponentDefn getServiceByName(String serviceName) throws ConfigurationException,
InvalidSessionException,
AuthorizationException,
15 years, 6 months
teiid SVN: r1076 - trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content.
by teiid-commits@lists.jboss.org
Author: jdoyle
Date: 2009-06-24 14:00:40 -0400 (Wed, 24 Jun 2009)
New Revision: 1076
Modified:
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/connector.xml
Log:
Removed section and reformatted.
Modified: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/connector.xml
===================================================================
--- trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/connector.xml 2009-06-24 16:07:46 UTC (rev 1075)
+++ trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/connector.xml 2009-06-24 18:00:40 UTC (rev 1076)
@@ -6,41 +6,6 @@
and UPDATE operations.
</para>
<sect1>
- <title>Binding the Salesforce Connector</title>
- <para>Once you have created the model of the Salesforce instance
- and added that model to a VDB, you must bind the VDB to an instance
- of a Salesforce Connector. On the Execute tab of the VDB click the
- Edit button in the Connector Bindings panel. The Connector Binding
- Wizard is displayed.
- </para>
- <!-- screenshot -->
- <para>The Salesforce Importer generates a connector binding with
- the correct credentials and URL when generating a new model. You
- select that binding by clicking the Loaded Bindings tab and selecting
- the binding with the name that corresponds to the model you are
- binding.
- </para>
- <para>A binding can also be created manually. Select Salesforce
- Connector from the Connector Types dropdown and enter a username and
- password into the appropriate binding properties.
- </para>
- <para>
- If you are connecting to a Sandbox instance of a Salesforce
- application rather than a live instance, you can check the Show
- Advance Properties checkbox, and change the Salesforce URL binding
- property that is revealed to contain the URL to your sandbox
- instance. For more information see the
- <ulink
- url="http://www.salesforce.com/platform/application-development/development-an...">Salesforce Sandbox
- </ulink>
- information.
- </para>
- <para>You can now execute the VDB
- and begin to query your Salesforce
- instance.
- </para>
- </sect1>
- <sect1>
<title>SQL Processing</title>
<para>Salesforce does not provide the same set of
functionality as a relational database. For example, Salesforce does
@@ -62,8 +27,7 @@
<para>In cases where certain SQL capabilities cannot be pushed down
to Salesforce, Teiid will push down the capabilities that are
supported, and fetch a set of data from Salesforce. Then, Teiid
- will
- evaluate the additional capabilities, creating a subset of the
+ will evaluate the additional capabilities, creating a subset of the
original data set. Finally, Teiid will pass the result to the
client.
</para>
@@ -82,8 +46,7 @@
]]>
</programlisting>
<para>The sum() scalar function will be applied by the Teiid
- Query
- Engine to the result set returned by the connector.
+ Query Engine to the result set returned by the connector.
</para>
<para>In some cases multiple calls to the Salesforce application
will be made to support the SQL passed to the connector.
@@ -126,12 +89,9 @@
</ulink>
</para>
<para>Teiid SQL does not support the includes or
- excludes
- operators, but the Salesforce connector provides user
- defined function
- definitions for these operators that provided
- equivalent functionality
- for fields of type multi-select. The
+ excludes operators, but the Salesforce connector provides user
+ defined function definitions for these operators that provided
+ equivalent functionality for fields of type multi-select. The
definition for the functions is:
</para>
<programlisting><![CDATA[
@@ -181,39 +141,29 @@
<para>
The Salesforce connector supports the calling the queryAll operation
from the Salesforce API. The queryAll operation is equivalent
- to the
- query operation with the exception that it returns data about
+ to the query operation with the exception that it returns data about
<emphasis role="strong">all current and deleted</emphasis>
objects in the system.
</para>
<para>The connector determines if it will call the
- query or queryAll
- operation via reference to the isDeleted property
- present on each
- Salesforce object, and modeled as a column on
- each table generated by
+ query or queryAll operation via reference to the
+ isDeleted property present on each Salesforce object,
+ and modeled as a column on each table generated by
the importer. By default this value is set to
- False when the model is
- generated and thus the connector calls
- query. Users are free to change
- the value in the model to True,
- changing the default behavior of the
- connector to be queryAll.
+ False when the model is generated and thus the connector calls
+ query. Users are free to change the value in the model to True,
+ changing the default behavior of the connector to be queryAll.
</para>
<para>The behavior is different if isDeleted is used as a parameter
in the query. If the isDeleted column is used as a parameter
- in the
- query, and the value
- is 'true' the connector will call queryAll.
+ in the query, and the value is 'true' the connector will call queryAll.
</para>
<programlisting><![CDATA[
select * from Contact where isDeleted = true;
]]>
</programlisting>
- <para>If the
- isDeleted column is used as a parameter in the query,
- and the value
- is 'false' the connector perform the default behavior
+ <para>If the isDeleted column is used as a parameter in the query,
+ and the value is 'false' the connector perform the default behavior
will call query.
</para>
<programlisting><![CDATA[
@@ -226,8 +176,7 @@
<title>Selecting Updated Objects</title>
<para>If the option is selected when importing metadata from
Salesforce, a GetUpdated procedure is generated in the model with
- the
- following sturcture:
+ the following sturcture:
</para>
<programlisting><![CDATA[
GetUpdated (ObjectName IN string,
@@ -250,8 +199,7 @@
<title>Selecting Deleted Objects</title>
<para>If the option is selected when importing metadata from
Salesforce, a GetDeleted procedure is generated in the model with
- the
- following sturcture:
+ the following sturcture:
</para>
<programlisting><![CDATA[
GetDeleted (ObjectName IN string,
15 years, 6 months
teiid SVN: r1075 - in trunk/documentation/salesforce-connector-guide: src and 5 other directories.
by teiid-commits@lists.jboss.org
Author: jdoyle
Date: 2009-06-24 12:07:46 -0400 (Wed, 24 Jun 2009)
New Revision: 1075
Added:
trunk/documentation/salesforce-connector-guide/pom.xml
trunk/documentation/salesforce-connector-guide/src/
trunk/documentation/salesforce-connector-guide/src/main/
trunk/documentation/salesforce-connector-guide/src/main/docbook/
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/appendix.xml
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/connector.xml
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/importing.xml
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/preface.xml
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/credentials.png
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/import.png
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/logo.png
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/objects.png
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/options.png
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/legal_notice.xml
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/salesforce_connector_guide.xml
Log:
Initial import
Added: trunk/documentation/salesforce-connector-guide/pom.xml
===================================================================
--- trunk/documentation/salesforce-connector-guide/pom.xml (rev 0)
+++ trunk/documentation/salesforce-connector-guide/pom.xml 2009-06-24 16:07:46 UTC (rev 1075)
@@ -0,0 +1,70 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <groupId>org.jboss.teiid.documentation</groupId>
+ <artifactId>documentation</artifactId>
+ <version>6.2.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>salesforce-connector-guide</artifactId>
+ <packaging>jdocbook</packaging>
+ <name>Salesforce Connector Guide</name>
+ <description>The Salesforce Connector Guide</description>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.1.2</version>
+ <extensions>true</extensions>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossorg-docbook-xslt</artifactId>
+ <version>1.1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossorg-jdocbook-style</artifactId>
+ <version>1.1.0</version>
+ <type>jdocbook-style</type>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <sourceDocumentName>salesforce_connector_guide.xml</sourceDocumentName>
+ <imageResource>
+ <directory>${basedir}/src/main/docbook/en-US</directory>
+ <excludes>
+ <exclude>*.xml</exclude>
+ <exclude>**/*.xml</exclude>
+ <exclude>*.zargo</exclude>
+ <exclude>**/*.zargo</exclude>
+ </excludes>
+ </imageResource>
+ <formats>
+ <format>
+ <formatName>pdf</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
+ <finalName>salesforce_connector_guide.pdf</finalName>
+ </format>
+ <!-- <format>
+ <formatName>html_single</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/xhtml-single.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format> -->
+ <format>
+ <formatName>html</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ </formats>
+ <options>
+ <xincludeSupported>true</xincludeSupported>
+ <localeSeparator>-</localeSeparator>
+ <useRelativeImageUris>false</useRelativeImageUris>
+ </options>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/appendix.xml
===================================================================
--- trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/appendix.xml (rev 0)
+++ trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/appendix.xml 2009-06-24 16:07:46 UTC (rev 1075)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="appendix">
+ <title>Appendix</title>
+ <sect1>
+ <title>Supported Capabilities</title>
+ <para>The following are the the connector capabilities supported by
+ the Salesforce Connector. These SQL constructs will be pushed down to
+ Salesforce.</para>
+ <itemizedlist mark='opencircle'>
+ <listitem><para>
+ SELECT command
+ </para></listitem>
+ <listitem><para>
+ INSERT Command
+ </para></listitem>
+ <listitem><para>
+ UPDATE Command
+ </para></listitem>
+ <listitem><para>
+ DELETE Command
+ </para></listitem>
+ <listitem><para>
+ CompareCriteriaEquals
+ </para></listitem>
+ <listitem><para>
+ InCriteria
+ </para></listitem>
+ <listitem><para>
+ LikeCriteria - Supported for String fields only.
+ </para></listitem>
+ <listitem><para>
+ RowLimit
+ </para></listitem>
+ <listitem><para>
+ AggregatesCountStar
+ </para></listitem>
+ <listitem><para>
+ NotCriteria
+ </para></listitem>
+ <listitem><para>
+ OrCriteria
+ </para></listitem>
+ <listitem><para>
+ CompareCriteriaOrdered
+ </para></listitem>
+ </itemizedlist>
+ </sect1>
+
+</chapter>
\ No newline at end of file
Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/connector.xml
===================================================================
--- trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/connector.xml (rev 0)
+++ trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/connector.xml 2009-06-24 16:07:46 UTC (rev 1075)
@@ -0,0 +1,277 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="connector">
+ <title>Using the Connector</title>
+ <para>The Salesforce Connector supports the SELECT, DELETE, INSERT
+ and UPDATE operations.
+ </para>
+ <sect1>
+ <title>Binding the Salesforce Connector</title>
+ <para>Once you have created the model of the Salesforce instance
+ and added that model to a VDB, you must bind the VDB to an instance
+ of a Salesforce Connector. On the Execute tab of the VDB click the
+ Edit button in the Connector Bindings panel. The Connector Binding
+ Wizard is displayed.
+ </para>
+ <!-- screenshot -->
+ <para>The Salesforce Importer generates a connector binding with
+ the correct credentials and URL when generating a new model. You
+ select that binding by clicking the Loaded Bindings tab and selecting
+ the binding with the name that corresponds to the model you are
+ binding.
+ </para>
+ <para>A binding can also be created manually. Select Salesforce
+ Connector from the Connector Types dropdown and enter a username and
+ password into the appropriate binding properties.
+ </para>
+ <para>
+ If you are connecting to a Sandbox instance of a Salesforce
+ application rather than a live instance, you can check the Show
+ Advance Properties checkbox, and change the Salesforce URL binding
+ property that is revealed to contain the URL to your sandbox
+ instance. For more information see the
+ <ulink
+ url="http://www.salesforce.com/platform/application-development/development-an...">Salesforce Sandbox
+ </ulink>
+ information.
+ </para>
+ <para>You can now execute the VDB
+ and begin to query your Salesforce
+ instance.
+ </para>
+ </sect1>
+ <sect1>
+ <title>SQL Processing</title>
+ <para>Salesforce does not provide the same set of
+ functionality as a relational database. For example, Salesforce does
+ not support arbitrary joins between tables. However, working in
+ combination with the Teiid Query Planner, the Salesforce
+ connector
+ supports nearly all of the SQL syntax supported by the
+ Teiid.
+ </para>
+ <para>The Salesforce Connector executes SQL commands by “pushing
+ down” the command to Salesforce whenever possible, based on the
+ supported capabilities. Teiid will automatically provide
+ additional database functionality when the Salesforce Connector does
+ not explicitly provide support for a given SQL construct. In these
+ cases, the SQL construct cannot be “pushed down” to the data source,
+ so it will be evaluated in Teiid, in order to ensure that the
+ operation is performed.
+ </para>
+ <para>In cases where certain SQL capabilities cannot be pushed down
+ to Salesforce, Teiid will push down the capabilities that are
+ supported, and fetch a set of data from Salesforce. Then, Teiid
+ will
+ evaluate the additional capabilities, creating a subset of the
+ original data set. Finally, Teiid will pass the result to the
+ client.
+ </para>
+
+ <programlisting><![CDATA[
+ SELECT sum(Reports) FROM Supervisor where Division = 'customer support';
+ ]]>
+ </programlisting>
+ <para>Neither Salesforce nor the Salesforce Connector support
+ the sum() scalar function, but they do support CompareCriteriaEquals,
+ so the query that is passed to Salesforce by the connector will be
+ transformed to this query.
+ </para>
+ <programlisting><![CDATA[
+ SELECT Reports FROM Supervisor where Division = 'customer support';
+ ]]>
+ </programlisting>
+ <para>The sum() scalar function will be applied by the Teiid
+ Query
+ Engine to the result set returned by the connector.
+ </para>
+ <para>In some cases multiple calls to the Salesforce application
+ will be made to support the SQL passed to the connector.
+ </para>
+ <programlisting><![CDATA[
+ DELETE From Case WHERE Status = 'Closed';
+ ]]>
+ </programlisting>
+ <para>The API in Salesforce to delete objects only supports
+ deleting by ID. In order to accomplish this the Salesforce connector
+ will first execute a query to get the IDs of the correct objects, and
+ then delete those objects. So the above DELETE command will result in
+ the following two commands.
+ </para>
+ <programlisting><![CDATA[
+ SELECT ID From Case WHERE Status = 'Closed';
+ DELETE From Case where ID IN (<result of query>);*
+ ]]>
+ </programlisting>
+ <para>*The Salesforce API DELETE call is not expressed in SQL, but
+ the above is an SQL equivalent expression.
+ </para>
+ <para>It's useful to be aware of unsupported capabilities, in
+ order
+ to avoid fetching large data sets from Salesforce and making you
+ queries as performant as possible. See the Supported Capabilities
+ section in the appendix.
+ </para>
+ </sect1>
+ <sect1>
+ <title>Selecting from Multi-Select Picklists</title>
+ <para>
+ A multi-select picklist is a field type in Salesforce that can
+ contain multiple values in a single field. Query criteria operators
+ for fields of this type in SOQL are limited to EQ, NE, includes and
+ excludes. The full Salesforce documentation for selecting from
+ mullti-select picklists can be found at the following link.
+ <ulink
+ url="http://www.salesforce.com/us/developer/docs/api/index_Left.htm#StartTopic...">Querying Mulit-select Picklists
+ </ulink>
+ </para>
+ <para>Teiid SQL does not support the includes or
+ excludes
+ operators, but the Salesforce connector provides user
+ defined function
+ definitions for these operators that provided
+ equivalent functionality
+ for fields of type multi-select. The
+ definition for the functions is:
+ </para>
+ <programlisting><![CDATA[
+ boolean includes(Column column, String param)
+ boolean excludes(Column column, String param)
+ ]]>
+ </programlisting>
+ <para>For example, take a single multi-select picklist column
+ called Status that contains all of these values.
+ </para>
+ <itemizedlist mark='opencircle'>
+ <listitem>
+ <para>
+ current
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ working
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ critical
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>For that column, all of the below are valid queries:</para>
+ <programlisting><![CDATA[
+ SELECT * FROM Issue WHERE true = includes (Status, 'current, working' );
+ SELECT * FROM Issue WHERE true = excludes (Status, 'current, working' );
+ SELECT * FROM Issue WHERE true = includes (Status, 'current;working, critical' );
+ ]]>
+ </programlisting>
+ <para>EQ and NE criteria will pass to Salesforce as supplied. For
+ example, these queries will not be modified by the connector.
+ </para>
+ <programlisting><![CDATA[
+ SELECT * FROM Issue WHERE Status = 'current';
+ SELECT * FROM Issue WHERE Status = 'current;critical';
+ SELECT * FROM Issue WHERE Status != 'current;working';
+ ]]>
+ </programlisting>
+ </sect1>
+ <sect1>
+ <title>Selecting All Objects</title>
+ <para>
+ The Salesforce connector supports the calling the queryAll operation
+ from the Salesforce API. The queryAll operation is equivalent
+ to the
+ query operation with the exception that it returns data about
+ <emphasis role="strong">all current and deleted</emphasis>
+ objects in the system.
+ </para>
+ <para>The connector determines if it will call the
+ query or queryAll
+ operation via reference to the isDeleted property
+ present on each
+ Salesforce object, and modeled as a column on
+ each table generated by
+ the importer. By default this value is set to
+ False when the model is
+ generated and thus the connector calls
+ query. Users are free to change
+ the value in the model to True,
+ changing the default behavior of the
+ connector to be queryAll.
+ </para>
+ <para>The behavior is different if isDeleted is used as a parameter
+ in the query. If the isDeleted column is used as a parameter
+ in the
+ query, and the value
+ is 'true' the connector will call queryAll.
+ </para>
+ <programlisting><![CDATA[
+ select * from Contact where isDeleted = true;
+ ]]>
+ </programlisting>
+ <para>If the
+ isDeleted column is used as a parameter in the query,
+ and the value
+ is 'false' the connector perform the default behavior
+ will call query.
+ </para>
+ <programlisting><![CDATA[
+ select * from Contact where isDeleted = false;
+ ]]>
+ </programlisting>
+ </sect1>
+
+ <sect1>
+ <title>Selecting Updated Objects</title>
+ <para>If the option is selected when importing metadata from
+ Salesforce, a GetUpdated procedure is generated in the model with
+ the
+ following sturcture:
+ </para>
+ <programlisting><![CDATA[
+ GetUpdated (ObjectName IN string,
+ StartDate IN datetime,
+ EndDate IN datetime,
+ LatestDateCovered OUT datetime)
+ returns
+ ID string
+ ]]>
+ </programlisting>
+ <para>
+ See the description of the
+ <ulink
+ url="http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_...">GetUpdated
+ </ulink>
+ operation in the Salesforce documentation for usage details.
+ </para>
+ </sect1>
+ <sect1>
+ <title>Selecting Deleted Objects</title>
+ <para>If the option is selected when importing metadata from
+ Salesforce, a GetDeleted procedure is generated in the model with
+ the
+ following sturcture:
+ </para>
+ <programlisting><![CDATA[
+ GetDeleted (ObjectName IN string,
+ StartDate IN datetime,
+ EndDate IN datetime,
+ EarliestDateAvailable OUT datetime,
+ LatestDateCovered OUT datetime)
+ returns
+ ID string,
+ DeletedDate datetime
+ ]]>
+ </programlisting>
+ <para>
+ See the description of the
+ <ulink
+ url="http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_...">GetDeleted
+ </ulink>
+ operation in the Salesforce documentation for usage details.
+ </para>
+
+ </sect1>
+</chapter>
+
Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/importing.xml
===================================================================
--- trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/importing.xml (rev 0)
+++ trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/importing.xml 2009-06-24 16:07:46 UTC (rev 1075)
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="importing">
+ <title>Importing Metadata</title>
+ <sect1>
+ <title>Overview</title>
+ <para>
+ Salesforce metadata is structured relationally. Salesforce
+ Objects and the fields on those objects are analogous to relational
+ tables and columns. Because of this similarity, the modeling of
+ Salesforce metadata and interaction with the data through standard SQL
+ is easily accomplished within Teiid. However, the
+ properties of the objects in a Salesforce application are not an exact
+ match to the properties that are available on the standard Teiid
+ Relational Table and Column. In order to bridge the gap between
+ these metadata properties, integration with Salesforce requires
+ extensions to the standard Teiid Relational Base Table and Column.
+ The extensions required are created within the Model Project by the
+ Salesforce Importer and appropriate values are set into these
+ properties by the importer.
+ </para>
+ <para>
+ The Salesforce Importer will model the unique metadata that is
+ exposed to it by the Salesforce API as determined by the credentials
+ used in the importer. Users with different profiles within the same
+ Salesforce instance may be authorized to see different subsets of the
+ applications metadata and data. Keep this in mind when binding a
+ connector to the model. You must ensure that the credentials used in
+ the binding have access to all of the data that is exposed in the
+ model, or exceptions will occur. The importer also understands
+ customizations that have been made to applications and will model
+ them as well.
+ </para>
+ </sect1>
+ <sect1>
+ <title>Running the Importer</title>
+ <para>Select File->Import to display the Wizard Selection
+ Dialog.
+ </para>
+ <mediaobject>
+ <imageobject role="fo">
+ <imagedata fileref="../images/import.png" align="center" />
+ </imageobject>
+ <imageobject role="html">
+ <imagedata fileref="../images/import.png" contentwidth="8.5cm"
+ depth="3cm" />
+ </imageobject>
+ </mediaobject>
+
+ <para>Select Salesforce as Relational Source Model from in the
+ list displayed and click Next. The Salesforce Importer is displayed.
+ </para>
+ <mediaobject>
+ <imageobject role="fo">
+ <imagedata fileref="../images/credentials.png" align="center" />
+ </imageobject>
+ <imageobject role="html">
+ <imagedata fileref="../images/credentials.png"
+ contentwidth="8.5cm" depth="3cm" />
+ </imageobject>
+ </mediaobject>
+ <para>Enter a valid Username and Password into the text fields
+ and click Validate Credentials. If you are connecting to a sandbox
+ instance of a Salesforce application, enable the Override Connection
+ URL textbox and enter the URL to the sandbox instance. The default
+ value will probably be correct in most instances. After the Username
+ and Password are supplied, the Validate Credentials button will be
+ come active and you click this button to validate the connection
+ parameters and enable the Next Button. After clicking Next the
+ Salesforce Objects page is displayed.</para>
+ <mediaobject>
+ <imageobject role="fo">
+ <imagedata fileref="../images/objects.png" align="center" />
+ </imageobject>
+ <imageobject role="html">
+ <imagedata fileref="../images/objects.png" contentwidth="8.5cm"
+ depth="3cm" />
+ </imageobject>
+ </mediaobject>
+ <para>In the left column the Salesforce objects in the system are
+ listed and can be selected for modeling. Each object selected will be
+ modeled as a Table. In the Column Details table metadata from the
+ fields on the currently selected object are displayed, and these will
+ be modeled as columns on the tables.</para>
+ <para>When you have selected all of the Salesforce objects that
+ you wish to model, click Next. The Target Model Selection page will
+ be displayed. </para>
+ <mediaobject>
+ <imageobject role="fo">
+ <imagedata fileref="../images/options.png" align="center" />
+ </imageobject>
+ <imageobject role="html">
+ <imagedata fileref="../images/options.png" contentwidth="8.5cm"
+ depth="3cm" />
+ </imageobject>
+ </mediaobject>
+ <para>Select the model name, location, and options.</para>
+ <itemizedlist mark='opencircle'>
+ <listitem>
+ <para>
+ <emphasis role="strong">Model Name: </emphasis>
+ type the name of the new model to be created, or browse to select
+ an preexisting model to update.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">Location: </emphasis>
+ type or browse to the location of the
+ model project to create the model in.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">Model audit fields: </emphasis>
+ each Salesforce object has fields that track changes to
+ the object, such as LastModifiedDate and CreateById. These fields are
+ know as audit fields. Because each object in the application has
+ these fields, and some of these fields have relations to other
+ Salesforce objects, modeling these fields can cause a model to be
+ congested with relations. If you do not plan to use a model to query
+ audit data, you probably want to suppress modeling of these fields.
+ Checking this box will override the default behavior and will model
+ the audit fields.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">Do not gather Cardinalities: </emphasis>
+ by default the importer will calculate the table cardinalites.
+ Cardinality metadata can greatly improve query performance, but it
+ may take the importer some time calculate this information.
+ Checking this box will suppress the calculation of cardinalities.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">
+ Gather Column Distinct Value Count: </emphasis>by default the importer does
+ not calculate column distinct value counts. Checking this box will
+ cause the importer to calculate these values. This can be an
+ <emphasis role="strong">extremely long</emphasis>
+ running operation.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">Set name to Salesforce Label: </emphasis>
+ each Salesforce object has a label (user visible name) that can be
+ modified, and names (the fixed internal name). By default the
+ importer will use the name when modeling objects. Checking this box
+ will cause the importer to use the label as the table name.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">Create a procedure for the GetUpdated operation: </emphasis>checking this box will cause the importer to create a procedure for the getUpdated operation in the generated model.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">Create a procedure for the GetDeleted operation: </emphasis>checking this box will cause the importer to create a procedure for the getDeleted operation in the generated model.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>Click Finish.</para>
+ <para>After the Salesforce Importer has finished, you will find
+ two new models created in your model project. One will have the name
+ you supplied in the last page of the importer, and the other will be
+ named SalesforceExtensions.xmi.</para>
+ <para>The SalesforceExtensions.xmi model contains the extensions
+ to the standard relational model. These extensions enable the model to
+ provided enhanced data to the Salesforce Connector at query time.
+ For example, some objects in Salesforce do not support the query
+ operation. In order to enforce this limitation the extension model
+ defined a Supports Query property, and the Salesforce Importer enters
+ the correct value into this property for each Table. The Salesforce
+ Connector validates that each table included in a query operation
+ has the value true for this property before executing a query and will
+ throw and exception in the event that the table is not querable.
+ </para>
+ <para>The other model created by the importer contains the model
+ of the data in the Salesforce instance that you selected in the
+ importer. This is the model you will execute your SQL statements
+ against.</para>
+ </sect1>
+</chapter>
\ No newline at end of file
Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/preface.xml
===================================================================
--- trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/preface.xml (rev 0)
+++ trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/preface.xml 2009-06-24 16:07:46 UTC (rev 1075)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<preface>
+ <title>Preface</title>
+ <para> This document shows how to model the metadata of an hosted
+ Salesforce application with Teiid Designer, and details the SQL semantics
+ supported by the connector in Teiid Embedded. This document contains
+ an overview of the process, including:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Using the Salesforce Importer to create relational models
+ representing your Salesforce application.</para>
+ </listitem>
+ <listitem>
+ <para>Querying the Salesforce application.</para>
+ </listitem>
+ </itemizedlist>
+ <para> Commercial development support, production support, and training
+ for Teiid is available through JBoss.
+ Teiid is a Professional Open
+ Source project and a critical component of the
+ JBoss Enterprise Data
+ Services
+ Platform.</para>
+ <note>
+ <para>
+ Please read
+ <ulink url="http://www.jboss.org/teiid/basics.html">Federation Basics</ulink>
+ and understand different terminologies used, resources needed and
+ artifacts that need to be generated before
+ developing a successful
+ application. This example takes advantage of only a
+ minimal set of
+ features from
+ Teiid Embedded for the sake of simplicity and time.
+ </para>
+ </note>
+</preface>
\ No newline at end of file
Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/credentials.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/credentials.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/import.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/import.png
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/logo.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/logo.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/objects.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/objects.png
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/options.png
===================================================================
(Binary files differ)
Property changes on: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/options.png
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/legal_notice.xml
===================================================================
--- trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/legal_notice.xml (rev 0)
+++ trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/legal_notice.xml 2009-06-24 16:07:46 UTC (rev 1075)
@@ -0,0 +1,58 @@
+<?xml version='1.0' encoding="UTF-8"?>
+<!--
+
+ JBoss, Home of Professional Open Source.
+ Copyright (C) 2008 Red Hat, Inc.
+ Licensed to Red Hat, Inc. under one or more contributor
+ license agreements. See the copyright.txt file in the
+ distribution for a full listing of individual contributors.
+
+ 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.
+
+-->
+<!DOCTYPE legalnotice PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+
+<legalnotice id="Legal_Notice">
+ <title>Legal Notice</title>
+ <para>
+ <address>
+ <street>1801 Varsity Drive</street>
+ <city>Raleigh</city>, <state>NC</state><postcode>27606-2072</postcode><country>USA</country>
+ <phone>Phone: +1 919 754 3700</phone>
+ <phone>Phone: 888 733 4281</phone>
+ <fax>Fax: +1 919 754 3701</fax>
+ <pob>PO Box 13588</pob><city>Research Triangle Park</city>, <state>NC</state><postcode>27709</postcode><country>USA</country>
+ </address>
+ </para>
+ <para>
+ Copyright <trademark class="copyright"/> 2009 by Red Hat, Inc. This copyrighted material is made available to
+ anyone wishing to use, modify, copy, or redistribute it subject to the terms and conditions of the
+ GNU <ulink url="http://www.gnu.org/licenses/lgpl-2.1.html">Lesser General Public License</ulink>, as published
+ by the Free Software Foundation.
+ </para>
+ <para>
+ Red Hat and the Red Hat "Shadow Man" logo are registered trademarks of Red Hat, Inc. in the United States and other countries.
+ </para>
+ <para>
+ All other trademarks referenced herein are the property of their respective owners.
+ </para>
+ <para>
+ The GPG fingerprint of the security(a)redhat.com key is:
+ </para>
+ <para>
+ CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E
+ </para>
+</legalnotice>
Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/salesforce_connector_guide.xml
===================================================================
--- trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/salesforce_connector_guide.xml (rev 0)
+++ trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/salesforce_connector_guide.xml 2009-06-24 16:07:46 UTC (rev 1075)
@@ -0,0 +1,60 @@
+<?xml version='1.0' encoding="UTF-8"?>
+<!--
+
+ JBoss, Home of Professional Open Source.
+ Copyright (C) 2008 Red Hat, Inc.
+ Licensed to Red Hat, Inc. under one or more contributor
+ license agreements. See the copyright.txt file in the
+ distribution for a full listing of individual contributors.
+
+ 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.
+
+-->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+ <!ENTITY versionNumber "6.1.0">
+ <!ENTITY copyrightYear "2009">
+ <!ENTITY copyrightHolder "Red Hat, Inc.">
+]>
+<book>
+ <bookinfo>
+ <title>Teiid - Salesforce Connector Guide</title>
+ <releaseinfo>&versionNumber;
+ </releaseinfo>
+ <productnumber>&versionNumber;
+ </productnumber>
+ <issuenum>1</issuenum>
+ <mediaobject>
+ <imageobject role="fo">
+ <imagedata fileref="images/logo.png" align="center" />
+ </imageobject>
+ <imageobject role="html">
+ <imagedata fileref="images/logo.png" depth="3cm" />
+ </imageobject>
+ </mediaobject>
+ <copyright>
+ <year>©rightYear;
+ </year>
+ <holder>©rightHolder;
+ </holder>
+ </copyright>
+ <xi:include href="legal_notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ </bookinfo>
+ <toc />
+ <xi:include href="content/preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="content/importing.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="content/connector.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="content/appendix.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+</book>
\ No newline at end of file
15 years, 6 months
teiid SVN: r1074 - trunk/documentation.
by teiid-commits@lists.jboss.org
Author: jdoyle
Date: 2009-06-24 12:06:04 -0400 (Wed, 24 Jun 2009)
New Revision: 1074
Added:
trunk/documentation/salesforce-connector-guide/
Log:
Initial import.
15 years, 6 months