teiid SVN: r1054 - trunk/engine/src/main/java/com/metamatrix/dqp/service.
by teiid-commits@lists.jboss.org
Author: rareddy
Date: 2009-06-16 11:31:54 -0400 (Tue, 16 Jun 2009)
New Revision: 1054
Modified:
trunk/engine/src/main/java/com/metamatrix/dqp/service/DQPServiceNames.java
Log:
TEIID-667, TEIID-668: removing the custom loggers for audit and command logging.
Modified: trunk/engine/src/main/java/com/metamatrix/dqp/service/DQPServiceNames.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/dqp/service/DQPServiceNames.java 2009-…
[View More]06-15 20:21:26 UTC (rev 1053)
+++ trunk/engine/src/main/java/com/metamatrix/dqp/service/DQPServiceNames.java 2009-06-16 15:31:54 UTC (rev 1054)
@@ -80,7 +80,6 @@
null,
null,
null,
- null,
LogCommonConstants.CTX_TXN_LOG,
null,
null,
[View Less]
15 years, 9 months
teiid SVN: r1053 - in trunk: common-internal/src/main/java/com/metamatrix/common/log and 18 other directories.
by teiid-commits@lists.jboss.org
Author: rareddy
Date: 2009-06-15 16:21:26 -0400 (Mon, 15 Jun 2009)
New Revision: 1053
Added:
trunk/engine/src/main/java/com/metamatrix/dqp/service/AuditMessage.java
trunk/engine/src/main/java/com/metamatrix/dqp/service/CommandLogMessage.java
Removed:
trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedTrackingService.java
trunk/engine/src/main/java/com/metamatrix/dqp/service/CustomizableTrackingMessage.java
trunk/engine/src/main/java/com/metamatrix/dqp/…
[View More]service/CustomizableTrackingService.java
trunk/engine/src/main/java/com/metamatrix/dqp/service/TrackingService.java
trunk/engine/src/main/java/com/metamatrix/dqp/spi/CommandLoggerSPI.java
trunk/engine/src/main/java/com/metamatrix/dqp/spi/TrackerLogConstants.java
trunk/engine/src/main/java/com/metamatrix/dqp/spi/basic/
trunk/engine/src/test/java/com/metamatrix/dqp/service/TestCustomizableTrackingService.java
trunk/engine/src/test/java/com/metamatrix/dqp/spi/basic/
trunk/server/src/main/java/com/metamatrix/platform/security/audit/AuditMessage.java
trunk/server/src/main/java/com/metamatrix/server/dqp/service/tracker/
Modified:
trunk/common-core/src/main/java/com/metamatrix/core/log/LogMessage.java
trunk/common-internal/src/main/java/com/metamatrix/common/log/LogManager.java
trunk/common-internal/src/main/java/com/metamatrix/common/util/LogContextsUtil.java
trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/EmbeddedConfigSource.java
trunk/engine/src/main/java/com/metamatrix/common/application/DQPConfigSource.java
trunk/engine/src/main/java/com/metamatrix/dqp/service/DQPServiceNames.java
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorWorkItem.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java
trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCoreRequestHandling.java
trunk/server/src/main/java/com/metamatrix/common/comm/platform/socket/server/AdminAuthorizationInterceptor.java
trunk/server/src/main/java/com/metamatrix/platform/security/audit/AuditManager.java
trunk/server/src/main/java/com/metamatrix/platform/security/audit/destination/AuditDestination.java
trunk/server/src/main/java/com/metamatrix/platform/security/audit/destination/ConsoleAuditDestination.java
trunk/server/src/main/java/com/metamatrix/platform/security/audit/destination/DatabaseAuditDestination.java
trunk/server/src/main/java/com/metamatrix/platform/security/audit/destination/SingleFileAuditDestination.java
trunk/server/src/main/java/com/metamatrix/platform/security/audit/format/AuditMessageFormat.java
trunk/server/src/main/java/com/metamatrix/platform/security/audit/format/DelimitedAuditMessageFormat.java
trunk/server/src/main/java/com/metamatrix/platform/security/audit/format/ReadableAuditMessageFormat.java
trunk/server/src/main/java/com/metamatrix/platform/security/authorization/service/AuthorizationServiceImpl.java
trunk/server/src/main/java/com/metamatrix/server/dqp/config/PlatformConfigSource.java
Log:
TEIID-667, TEIID-668: removing the custom loggers for audit and command logging.
Modified: trunk/common-core/src/main/java/com/metamatrix/core/log/LogMessage.java
===================================================================
--- trunk/common-core/src/main/java/com/metamatrix/core/log/LogMessage.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/common-core/src/main/java/com/metamatrix/core/log/LogMessage.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -41,7 +41,7 @@
public LogMessage(String context, int level, Object[] msgParts ) {
this.context = context;
this.level = level;
- this.msgParts = convertMsgParts(msgParts);
+ this.msgParts = msgParts;
this.timestamp = System.currentTimeMillis();
this.threadName = Thread.currentThread().getName();
}
@@ -84,20 +84,8 @@
return this.exception;
}
-
-
- //do a toString() to the object array before adding to the worker
- //to make sure the current state is recorded
- private Object[] convertMsgParts(Object[] oriMsgParts){
- if(oriMsgParts == null){
- return oriMsgParts;
- }
- for(int i=0; i<oriMsgParts.length; i++){
- if(oriMsgParts[i] != null){
- oriMsgParts[i] = oriMsgParts[i].toString();
- }
- }
- return oriMsgParts;
+ public Object[] getMessageParts() {
+ return this.msgParts;
}
public String getText() {
Modified: trunk/common-internal/src/main/java/com/metamatrix/common/log/LogManager.java
===================================================================
--- trunk/common-internal/src/main/java/com/metamatrix/common/log/LogManager.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/common-internal/src/main/java/com/metamatrix/common/log/LogManager.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -295,7 +295,7 @@
* @param message the individual parts of the log message; the message is
* not logged if this parameter is null
*/
- public static void log(int msgLevel, String context, String message) {
+ public static void log(int msgLevel, String context, Object message) {
logMessage(msgLevel, context, message);
}
Modified: trunk/common-internal/src/main/java/com/metamatrix/common/util/LogContextsUtil.java
===================================================================
--- trunk/common-internal/src/main/java/com/metamatrix/common/util/LogContextsUtil.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/common-internal/src/main/java/com/metamatrix/common/util/LogContextsUtil.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -67,16 +67,8 @@
public static final String CTX_EXTENSION_SOURCE = "EXTENSION_MODULE"; //$NON-NLS-1$
public static final String CTX_EXTENSION_SOURCE_JDBC = "JDBC_EXT_MODULE_TRANSACTION"; //$NON-NLS-1$
public static final String CTX_COMMUNICATION = "COMMUNICATION"; //$NON-NLS-1$
-
-
-
- // Types
- public static final String TYPE_INFO = "INFO"; //$NON-NLS-1$
- public static final String TYPE_TRACE = "TRACE"; //$NON-NLS-1$
- public static final String TYPE_ERROR = "ERROR"; //$NON-NLS-1$
- public static final String TYPE_DEBUG = "DEBUG"; //$NON-NLS-1$
- public static final String TYPE_EXCEPTION = "EXCEPTION"; //$NON-NLS-1$
- public static final String TYPE_WARNING = "WARNING"; //$NON-NLS-1$
+ public static final String CTX_COMMANDLOGGING = "COMMAND_LOG"; //$NON-NLS-1$
+ public static final String CTX_AUDITLOGGING = "AUDIT_LOG"; //$NON-NLS-1$
}
public static class SecurityConstants {
@@ -141,12 +133,6 @@
public static final String CTX_QUERY_SERVICE = "QUERY_SERVICE"; //$NON-NLS-1$
}
- public static class ODBCConstants {
-
- public static final String ODBC_CONNECTION = "ODBC_CONNECTION"; //$NON-NLS-1$
- public static final String ODBC_STATEMENT = "ODBC_STATEMENT"; //$NON-NLS-1$
- }
-
/**
* The Set of all String logging contexts of all parts of the server.
*/
@@ -215,9 +201,6 @@
allContexts.add(ServerConstants.CTX_ROUTER);
allContexts.add(ServerConstants.CTX_QUERY_SERVICE);
- allContexts.add(ODBCConstants.ODBC_CONNECTION);
- allContexts.add(ODBCConstants.ODBC_STATEMENT);
-
ALL_CONTEXTS = Collections.unmodifiableSet(allContexts);
}
}
Modified: trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/EmbeddedConfigSource.java
===================================================================
--- trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/EmbeddedConfigSource.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/EmbeddedConfigSource.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -42,7 +42,6 @@
import com.metamatrix.dqp.embedded.services.EmbeddedConfigurationService;
import com.metamatrix.dqp.embedded.services.EmbeddedDataService;
import com.metamatrix.dqp.embedded.services.EmbeddedMetadataService;
-import com.metamatrix.dqp.embedded.services.EmbeddedTrackingService;
import com.metamatrix.dqp.embedded.services.EmbeddedTransactionService;
import com.metamatrix.dqp.embedded.services.EmbeddedVDBService;
import com.metamatrix.dqp.service.DQPServiceNames;
@@ -93,7 +92,6 @@
public Map<String, Class<? extends ApplicationService>> getDefaultServiceClasses() {
Map<String, Class<? extends ApplicationService>> result = new HashMap<String, Class<? extends ApplicationService>>();
result.put(DQPServiceNames.CONFIGURATION_SERVICE, EmbeddedConfigurationService.class);
- result.put(DQPServiceNames.TRACKING_SERVICE, EmbeddedTrackingService.class);
result.put(DQPServiceNames.BUFFER_SERVICE, EmbeddedBufferService.class);
result.put(DQPServiceNames.VDB_SERVICE, EmbeddedVDBService.class);
result.put(DQPServiceNames.METADATA_SERVICE, EmbeddedMetadataService.class);
Deleted: trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedTrackingService.java
===================================================================
--- trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedTrackingService.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedTrackingService.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -1,118 +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.dqp.embedded.services;
-
-import java.util.Properties;
-
-import org.teiid.connector.api.ExecutionContext;
-
-import com.metamatrix.common.application.ApplicationEnvironment;
-import com.metamatrix.common.application.exception.ApplicationInitializationException;
-import com.metamatrix.common.application.exception.ApplicationLifecycleException;
-import com.metamatrix.dqp.service.TrackingService;
-
-public class EmbeddedTrackingService extends EmbeddedBaseDQPService implements TrackingService {
- //public static HashMap traceData = new HashMap();
-
- /*
- * @see com.metamatrix.dqp.service.TrackingService#log(java.lang.String, long, java.lang.String, short, java.lang.String, java.lang.String, short, java.lang.String, java.lang.String, java.lang.String, int)
- */
- public void log(
- String requestId,
- long nodeID,
- String subTxnUid,
- short status,
- String modelName,
- String cbName,
- short cmdPoint,
- String sessionUid,
- String principal,
- String sql,
- int rowCount,
- ExecutionContext context) {
-
- }
-
- /*
- * @see com.metamatrix.dqp.service.TrackingService#log(java.lang.String, short, short, java.lang.String, java.lang.String, java.lang.String, java.lang.String)
- */
- public void log(
- String txnUid,
- short txnPoint,
- short status,
- String sessionUid,
- String principal,
- String vdbName,
- String vdbVersion) {
-
- }
-
- /*
- * @see com.metamatrix.dqp.service.TrackingService#log(java.lang.String, java.lang.String, short, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)
- */
- public void log(
- String requestId,
- String txnUid,
- short cmdPoint,
- short status,
- String sessionUid,
- String applicationName,
- String principal,
- String vdbName,
- String vdbVersion,
- String sql,
- int rowCount) {
-
- }
-
- public boolean willRecordMMCmd() {
- return false;
- }
- public boolean willRecordSrcCmd() {
- return false;
- }
- public boolean willRecordTxn() {
- return false;
- }
-
- /**
- * @see com.metamatrix.dqp.embedded.services.EmbeddedBaseDQPService#initializeService(java.util.Properties)
- * @since 4.3
- */
- public void initializeService(Properties properties) throws ApplicationInitializationException {
- }
-
- /**
- * @see com.metamatrix.dqp.embedded.services.EmbeddedBaseDQPService#startService(com.metamatrix.common.application.ApplicationEnvironment)
- * @since 4.3
- */
- public void startService(ApplicationEnvironment environment) throws ApplicationLifecycleException {
- }
-
- /**
- * @see com.metamatrix.dqp.embedded.services.EmbeddedBaseDQPService#stopService()
- * @since 4.3
- */
- public void stopService() throws ApplicationLifecycleException {
- }
-}
Modified: trunk/engine/src/main/java/com/metamatrix/common/application/DQPConfigSource.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/common/application/DQPConfigSource.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/engine/src/main/java/com/metamatrix/common/application/DQPConfigSource.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -45,7 +45,6 @@
public static final String PROCESS_POOL_MAX_THREADS = "ProcessPoolMaxThreads"; //$NON-NLS-1$
public static final String PROCESSOR_DEBUG_ALLOWED = "ProcessorDebugAllowed"; //$NON-NLS-1$
- public static final String COMMAND_LOGGER_CLASSNAME = "metamatrix.server.commandLoggerClassname"; //$NON-NLS-1$
/**
* Get the DQP properties, as described in {@link DQPProperties}.
Copied: trunk/engine/src/main/java/com/metamatrix/dqp/service/AuditMessage.java (from rev 1051, trunk/server/src/main/java/com/metamatrix/platform/security/audit/AuditMessage.java)
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/dqp/service/AuditMessage.java (rev 0)
+++ trunk/engine/src/main/java/com/metamatrix/dqp/service/AuditMessage.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -0,0 +1,133 @@
+/*
+ * 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.dqp.service;
+
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.Date;
+
+import com.metamatrix.common.config.CurrentConfiguration;
+
+public class AuditMessage {
+ public static final String PROCESS_NAME = CurrentConfiguration.getInstance().getProcessName();
+ public static final String HOST_NAME = CurrentConfiguration.getInstance().getConfigurationName();
+
+ private static final String RESOURCE_DELIMITER = ", "; //$NON-NLS-1$
+
+ private String context;
+ private String activity;
+ private String principal;
+ private Object[] resources;
+
+ public AuditMessage(String context, String activity, String principal, Object[] resources ) {
+ this.context = context;
+ this.activity = activity;
+ this.principal = principal;
+ this.resources = resources;
+ }
+
+ public String getContext() {
+ return this.context;
+ }
+
+ public String getActivity() {
+ return this.activity;
+ }
+
+ public String getPrincipal() {
+ return this.principal;
+ }
+
+ public Object[] getResources() {
+ return this.resources;
+ }
+
+ public String getText() {
+ StringBuffer text = new StringBuffer();
+ if(resources != null && resources.length > 0 ) {
+ Object resource = resources[0];
+ if ( resource != null ) {
+ text.append(resource.toString());
+ }
+ for(int i=1; i<resources.length; ++i) {
+ text.append(RESOURCE_DELIMITER);
+ resource = resources[i];
+ if ( resource != null ) {
+ text.append(resource.toString());
+ }
+ }
+ }
+ return text.toString();
+ }
+
+ public String getText( String delimiter ) {
+ StringBuffer text = new StringBuffer();
+ if ( delimiter != null ) {
+ if(resources != null && resources.length > 0 ) {
+ Object resource = resources[0];
+ if ( resource != null ) {
+ text.append(resource.toString());
+ }
+ for(int i=1; i<resources.length; ++i) {
+ text.append(delimiter);
+ resource = resources[i];
+ if ( resource != null ) {
+ text.append(resource.toString());
+ }
+ }
+ }
+ } else {
+ if(resources != null && resources.length > 0 ) {
+ Object resource = resources[0];
+ if ( resource != null ) {
+ text.append(resource.toString());
+ }
+ for(int i=1; i<resources.length; ++i) {
+ text.append(RESOURCE_DELIMITER);
+ resource = resources[i];
+ if ( resource != null ) {
+ text.append(resource.toString());
+ }
+ }
+ }
+ }
+ return text.toString();
+ }
+
+ public String toString() {
+ StringBuffer msg = new StringBuffer();
+ msg.append(" ["); //$NON-NLS-1$
+ msg.append( getPrincipal() );
+ msg.append("] <"); //$NON-NLS-1$
+ msg.append( getContext() );
+ msg.append('.');
+ msg.append( getActivity() );
+ msg.append("> "); //$NON-NLS-1$
+ msg.append( getText() );
+
+ return msg.toString();
+ }
+
+}
Copied: trunk/engine/src/main/java/com/metamatrix/dqp/service/CommandLogMessage.java (from rev 1051, trunk/engine/src/main/java/com/metamatrix/dqp/service/CustomizableTrackingMessage.java)
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/dqp/service/CommandLogMessage.java (rev 0)
+++ trunk/engine/src/main/java/com/metamatrix/dqp/service/CommandLogMessage.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -0,0 +1,190 @@
+/*
+ * 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.dqp.service;
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import org.teiid.connector.api.ExecutionContext;
+
+
+
+public class CommandLogMessage {
+
+ static final int USER_COMMAND_START = 0;
+ static final int USER_COMMAND_END = 1;
+ static final int DATASOURCE_COMMAND_START = 2;
+ static final int DATASOURCE_COMMAND_END = 3;
+
+ public static final short CMD_POINT_BEGIN = 1;
+ public static final short CMD_POINT_END = 2;
+
+ public static final short CMD_STATUS_NEW = 1;
+ public static final short CMD_STATUS_END = 2;
+ public static final short CMD_STATUS_CANCEL = 3;
+ public static final short CMD_STATUS_ERROR = 4;
+
+ private static final String TIMESTAMP_FORMAT = "yyyy.MM.dd HH:mm:ss.SSS"; //$NON-NLS-1$
+ private static DateFormat TIMESTAMP_FORMATTER = new SimpleDateFormat(TIMESTAMP_FORMAT);
+
+ int type;
+ long timestamp;
+
+ // Transaction info
+ String transactionID;
+ String subTransactionID;
+ boolean isCommit;
+
+ // Session info
+ String sessionID;
+ String applicationName;
+ String principal;
+ String vdbName;
+ String vdbVersion;
+
+ // RequestInfo
+ String requestID;
+ long sourceCommandID;
+ String sql;
+ int rowCount;
+ String modelName;
+ String connectorBindingName;
+ boolean isCancelled;
+ boolean errorOccurred;
+ ExecutionContext executionContext;
+
+
+ public CommandLogMessage(long timestamp,
+ String requestID,
+ String transactionID,
+ String sessionID,
+ String applicationName,
+ String principal,
+ String vdbName,
+ String vdbVersion,
+ String sql) {
+ // userCommandStart
+ this.type = USER_COMMAND_START;
+ this.timestamp = timestamp;
+ this.requestID = requestID;
+ this.transactionID = transactionID;
+ this.sessionID = sessionID;
+ this.applicationName = applicationName;
+ this.principal = principal;
+ this.vdbName = vdbName;
+ this.vdbVersion = vdbVersion;
+ this.sql = sql;
+ }
+ public CommandLogMessage(long timestamp,
+ String requestID,
+ String transactionID,
+ String sessionID,
+ String principal,
+ String vdbName,
+ String vdbVersion,
+ int finalRowCount,
+ boolean isCancelled,
+ boolean errorOccurred) {
+ // userCommandEnd
+ this.type = USER_COMMAND_END;
+ this.timestamp = timestamp;
+ this.requestID = requestID;
+ this.transactionID = transactionID;
+ this.sessionID = sessionID;
+ this.principal = principal;
+ this.vdbName = vdbName;
+ this.vdbVersion = vdbVersion;
+ this.rowCount = finalRowCount;
+ this.isCancelled = isCancelled;
+ this.errorOccurred = errorOccurred;
+ }
+ public CommandLogMessage(long timestamp,
+ String requestID,
+ long sourceCommandID,
+ String subTransactionID,
+ String modelName,
+ String connectorBindingName,
+ String sessionID,
+ String principal,
+ String sql,
+ ExecutionContext context) {
+ // dataSourceCommandStart
+ this.type = DATASOURCE_COMMAND_START;
+ this.timestamp = timestamp;
+ this.requestID = requestID;
+ this.sourceCommandID = sourceCommandID;
+ this.subTransactionID = subTransactionID;
+ this.modelName = modelName;
+ this.connectorBindingName = connectorBindingName;
+ this.sessionID = sessionID;
+ this.principal = principal;
+ this.sql = sql;
+ this.executionContext = context;
+ }
+ public CommandLogMessage(long timestamp,
+ String requestID,
+ long sourceCommandID,
+ String subTransactionID,
+ String modelName,
+ String connectorBindingName,
+ String sessionID,
+ String principal,
+ int finalRowCount,
+ boolean isCancelled,
+ boolean errorOccurred,
+ ExecutionContext context) {
+ // dataSourceCommandEnd
+ this.type = DATASOURCE_COMMAND_END;
+ this.timestamp = timestamp;
+ this.requestID = requestID;
+ this.sourceCommandID = sourceCommandID;
+ this.subTransactionID = subTransactionID;
+ this.modelName = modelName;
+ this.connectorBindingName = connectorBindingName;
+ this.sessionID = sessionID;
+ this.principal = principal;
+ this.rowCount = finalRowCount;
+ this.isCancelled = isCancelled;
+ this.errorOccurred = errorOccurred;
+ this.executionContext = context;
+ }
+
+ public String toString() {
+ switch (this.type) {
+ case USER_COMMAND_START:
+ return getTimestampString(new Date()) + "\tSTART USER COMMAND:\tstartTime=" + getTimestampString(new Date(timestamp)) + "\trequestID=" + requestID + "\ttxID=" + transactionID + "\tsessionID=" + sessionID + "\tapplicationName=" + applicationName + "\tprincipal=" + principal + "\tvdbName=" + vdbName + "\tvdbVersion=" + vdbVersion + "\tsql=" + sql; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$//$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
+ case USER_COMMAND_END:
+ return getTimestampString(new Date()) + "\tEND USER COMMAND:\tendTime=" + getTimestampString(new Date(timestamp)) + "\trequestID=" + requestID + "\ttxID=" + transactionID + "\tsessionID=" + sessionID + "\tprincipal=" + principal + "\tvdbName=" + vdbName + "\tvdbVersion=" + vdbVersion + "\tfinalRowCount=" + rowCount + "\tisCancelled=" + isCancelled + "\terrorOccurred=" + errorOccurred; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$//$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$
+ case DATASOURCE_COMMAND_START:
+ return getTimestampString(new Date()) + "\tSTART DATA SRC COMMAND:\tstartTime=" + getTimestampString(new Date(timestamp)) + "\trequestID=" + requestID + "\tsourceCommandID="+ sourceCommandID + "\tsubTxID=" + subTransactionID + "\tmodelName="+ modelName + "\tconnectorBindingName=" + connectorBindingName + "\tsessionID=" + sessionID + "\tprincipal=" + principal + "\tsql=" + sql; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$//$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
+ case DATASOURCE_COMMAND_END:
+ return getTimestampString(new Date()) + "\tEND DATA SRC COMMAND:\tendTime=" + getTimestampString(new Date(timestamp)) + "\trequestID=" + requestID + "\tsourceCommandID="+ sourceCommandID + "\tsubTxID=" + subTransactionID + "\tmodelName="+ modelName + "\tconnectorBindingName=" + connectorBindingName + "\tsessionID=" + sessionID + "\tprincipal=" + principal + "\tfinalRowCount=" + rowCount + "\tisCancelled=" + isCancelled + "\terrorOccurred=" + errorOccurred; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$//$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$
+ }
+ return null;
+ }
+
+ private String getTimestampString(Date date) {
+ return TIMESTAMP_FORMATTER.format(date);
+ }
+}
Deleted: trunk/engine/src/main/java/com/metamatrix/dqp/service/CustomizableTrackingMessage.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/dqp/service/CustomizableTrackingMessage.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/engine/src/main/java/com/metamatrix/dqp/service/CustomizableTrackingMessage.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -1,250 +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.dqp.service;
-
-import org.teiid.connector.api.ExecutionContext;
-
-import com.metamatrix.dqp.spi.CommandLoggerSPI;
-
-
-
-class CustomizableTrackingMessage implements Runnable {
-
- static final int USER_COMMAND_START = 0;
- static final int USER_COMMAND_END = 1;
- static final int DATASOURCE_COMMAND_START = 2;
- static final int DATASOURCE_COMMAND_END = 3;
- static final int TRANSACTION_START = 4;
- static final int TRANSACTION_END = 5;
-
- int type;
- long timestamp;
-
- // Transaction info
- String transactionID;
- String subTransactionID;
- boolean isCommit;
-
- // Session info
- String sessionID;
- String applicationName;
- String principal;
- String vdbName;
- String vdbVersion;
-
- // RequestInfo
- String requestID;
- long sourceCommandID;
- String sql;
- int rowCount;
- String modelName;
- String connectorBindingName;
- boolean isCancelled;
- boolean errorOccurred;
- ExecutionContext executionContext;
-
- CommandLoggerSPI commandLogger;
-
- CustomizableTrackingMessage(long timestamp,
- String requestID,
- String transactionID,
- String sessionID,
- String applicationName,
- String principal,
- String vdbName,
- String vdbVersion,
- String sql) {
- // userCommandStart
- this.type = USER_COMMAND_START;
- this.timestamp = timestamp;
- this.requestID = requestID;
- this.transactionID = transactionID;
- this.sessionID = sessionID;
- this.applicationName = applicationName;
- this.principal = principal;
- this.vdbName = vdbName;
- this.vdbVersion = vdbVersion;
- this.sql = sql;
- }
- CustomizableTrackingMessage(long timestamp,
- String requestID,
- String transactionID,
- String sessionID,
- String principal,
- String vdbName,
- String vdbVersion,
- int finalRowCount,
- boolean isCancelled,
- boolean errorOccurred) {
- // userCommandEnd
- this.type = USER_COMMAND_END;
- this.timestamp = timestamp;
- this.requestID = requestID;
- this.transactionID = transactionID;
- this.sessionID = sessionID;
- this.principal = principal;
- this.vdbName = vdbName;
- this.vdbVersion = vdbVersion;
- this.rowCount = finalRowCount;
- this.isCancelled = isCancelled;
- this.errorOccurred = errorOccurred;
- }
- CustomizableTrackingMessage(long timestamp,
- String requestID,
- long sourceCommandID,
- String subTransactionID,
- String modelName,
- String connectorBindingName,
- String sessionID,
- String principal,
- String sql,
- ExecutionContext context) {
- // dataSourceCommandStart
- this.type = DATASOURCE_COMMAND_START;
- this.timestamp = timestamp;
- this.requestID = requestID;
- this.sourceCommandID = sourceCommandID;
- this.subTransactionID = subTransactionID;
- this.modelName = modelName;
- this.connectorBindingName = connectorBindingName;
- this.sessionID = sessionID;
- this.principal = principal;
- this.sql = sql;
- this.executionContext = context;
- }
- CustomizableTrackingMessage(long timestamp,
- String requestID,
- long sourceCommandID,
- String subTransactionID,
- String modelName,
- String connectorBindingName,
- String sessionID,
- String principal,
- int finalRowCount,
- boolean isCancelled,
- boolean errorOccurred,
- ExecutionContext context) {
- // dataSourceCommandEnd
- this.type = DATASOURCE_COMMAND_END;
- this.timestamp = timestamp;
- this.requestID = requestID;
- this.sourceCommandID = sourceCommandID;
- this.subTransactionID = subTransactionID;
- this.modelName = modelName;
- this.connectorBindingName = connectorBindingName;
- this.sessionID = sessionID;
- this.principal = principal;
- this.rowCount = finalRowCount;
- this.isCancelled = isCancelled;
- this.errorOccurred = errorOccurred;
- this.executionContext = context;
- }
- CustomizableTrackingMessage(long timestamp,
- String transactionID,
- String sessionID,
- String principal,
- String vdbName,
- String vdbVersion) {
- // transactionStart
- this.type = TRANSACTION_START;
- this.timestamp = timestamp;
- this.transactionID = transactionID;
- this.sessionID = sessionID;
- this.principal = principal;
- this.vdbName = vdbName;
- this.vdbVersion = vdbVersion;
- }
- CustomizableTrackingMessage(long timestamp,
- String transactionID,
- String sessionID,
- String principal,
- String vdbName,
- String vdbVersion,
- boolean isCommit) {
- // transactionEnd
- this.type = TRANSACTION_END;
- this.timestamp = timestamp;
- this.transactionID = transactionID;
- this.sessionID = sessionID;
- this.principal = principal;
- this.vdbName = vdbName;
- this.vdbVersion = vdbVersion;
- this.isCommit = isCommit;
- }
-
- public void run() {
- switch(type) {
- case CustomizableTrackingMessage.USER_COMMAND_START:
- commandLogger.userCommandStart(timestamp,
- requestID,
- transactionID,
- sessionID,
- applicationName,
- principal,
- vdbName,
- vdbVersion,
- sql);
- break;
- case CustomizableTrackingMessage.USER_COMMAND_END:
- commandLogger.userCommandEnd(timestamp,
- requestID,
- transactionID,
- sessionID,
- principal,
- vdbName,
- vdbVersion,
- rowCount,
- isCancelled,
- errorOccurred);
- break;
- case CustomizableTrackingMessage.DATASOURCE_COMMAND_START:
- commandLogger.dataSourceCommandStart(timestamp,
- requestID,
- sourceCommandID,
- subTransactionID,
- modelName,
- connectorBindingName,
- sessionID,
- principal,
- sql,
- executionContext);
-
- break;
- case CustomizableTrackingMessage.DATASOURCE_COMMAND_END:
- commandLogger.dataSourceCommandEnd(timestamp,
- requestID,
- sourceCommandID,
- subTransactionID,
- modelName,
- connectorBindingName,
- sessionID,
- principal,
- rowCount,
- isCancelled,
- errorOccurred,
- executionContext);
- break;
- }
- }
-
-}
Deleted: trunk/engine/src/main/java/com/metamatrix/dqp/service/CustomizableTrackingService.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/dqp/service/CustomizableTrackingService.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/engine/src/main/java/com/metamatrix/dqp/service/CustomizableTrackingService.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -1,258 +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.dqp.service;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-import java.util.concurrent.RejectedExecutionException;
-import java.util.concurrent.TimeUnit;
-
-import org.teiid.connector.api.ExecutionContext;
-
-import com.metamatrix.common.application.ApplicationEnvironment;
-import com.metamatrix.common.application.DQPConfigSource;
-import com.metamatrix.common.application.exception.ApplicationInitializationException;
-import com.metamatrix.common.application.exception.ApplicationLifecycleException;
-import com.metamatrix.common.log.LogManager;
-import com.metamatrix.common.queue.WorkerPool;
-import com.metamatrix.common.queue.WorkerPoolFactory;
-import com.metamatrix.common.util.LogCommonConstants;
-import com.metamatrix.core.util.StringUtil;
-import com.metamatrix.dqp.DQPPlugin;
-import com.metamatrix.dqp.spi.CommandLoggerSPI;
-import com.metamatrix.dqp.spi.TrackerLogConstants;
-
-
-/**
- * Tracking service implementation that defers to a {@link CommandLoggerSPI}
- * service provider.
- *
- * A value for the {@link DQPServiceProperties.TrackingService#COMMAND_LOGGER_CLASSNAME}
- * must be supplied in the DQP properties in order to use this Tracking Service
- * implementation.
- */
-public class CustomizableTrackingService implements TrackingService {
-
- /**
- * Whether to log transaction. Defaults to false.
- */
- public static final String SYSTEM_TXN_STORE_TXN = "metamatrix.transaction.log.storeTXN"; //$NON-NLS-1$
-
- /**
- * Whether to log MetaMatrix command. Defaults to false.
- */
- public static final String SYSTEM_TXN_STORE_MMCMD = "metamatrix.transaction.log.storeMMCMD"; //$NON-NLS-1$
-
- /**
- * Whether to log source command. Defaults to false.
- */
- public static final String SYSTEM_TXN_STORE_SRCCMD = "metamatrix.transaction.log.storeSRCCMD"; //$NON-NLS-1$
-
- private CommandLoggerSPI commandLogger;
- private boolean recordUserCommands;
- private boolean recordSourceCommands;
-
- private WorkerPool logQueue;
-
- /**
- * @see com.metamatrix.dqp.service.TrackingService#log(java.lang.String, java.lang.String, short, short, java.lang.String, java.lang.String, java.lang.String, java.lang.String, com.metamatrix.query.sql.lang.Command)
- */
- public void log(String requestId,
- String txnUid,
- short cmdPoint,
- short status,
- String sessionUid,
- String applicationName,
- String principal,
- String vdbName,
- String vdbVersion,
- String sql,
- int rowCount) {
-
- if (this.willRecordMMCmd()) {
- CustomizableTrackingMessage message = null;
- if (cmdPoint == TrackerLogConstants.CMD_POINT.BEGIN) {
- message = new CustomizableTrackingMessage(System.currentTimeMillis(), requestId, txnUid, sessionUid, applicationName, principal, vdbName, vdbVersion, sql);
- } else {
- boolean isCancelled = false;
- boolean errorOccurred = false;
-
- if (status == TrackerLogConstants.CMD_STATUS.CANCEL) {
- isCancelled = true;
- } else if (status == TrackerLogConstants.CMD_STATUS.ERROR) {
- errorOccurred = true;
- }
- message = new CustomizableTrackingMessage(System.currentTimeMillis(), requestId, txnUid, sessionUid, principal, vdbName, vdbVersion, rowCount, isCancelled, errorOccurred);
- }
- addWork(message);
- }
- }
-
- /**
- * @see com.metamatrix.dqp.service.TrackingService#log(java.lang.String, long, java.lang.String, short, java.lang.String, java.lang.String, short, java.lang.String, java.lang.String, com.metamatrix.query.sql.lang.Command, int)
- */
- public void log(String requestId,
- long nodeID,
- String subTxnUid,
- short status,
- String modelName,
- String cbName,
- short cmdPoint,
- String sessionUid,
- String principal,
- String sql,
- int rowCount,
- ExecutionContext context) {
-
- if (this.willRecordSrcCmd()) {
- CustomizableTrackingMessage message = null;
- if (cmdPoint == TrackerLogConstants.CMD_POINT.BEGIN) {
- message = new CustomizableTrackingMessage(System.currentTimeMillis(), requestId, nodeID, subTxnUid, modelName, cbName, sessionUid, principal, sql, context);
-
- } else {
- boolean isCancelled = false;
- boolean errorOccurred = false;
-
- if (status == TrackerLogConstants.CMD_STATUS.CANCEL) {
- isCancelled = true;
- } else if (status == TrackerLogConstants.CMD_STATUS.ERROR) {
- errorOccurred = true;
- }
- message = new CustomizableTrackingMessage(System.currentTimeMillis(), requestId, nodeID, subTxnUid, modelName, cbName, sessionUid, principal, rowCount, isCancelled, errorOccurred, context);
- }
- addWork(message);
- }
- }
-
- /**
- * @see com.metamatrix.dqp.service.TrackingService#willRecordMMCmd()
- */
- public boolean willRecordMMCmd() {
- return this.recordUserCommands;
- }
-
- /**
- * @see com.metamatrix.dqp.service.TrackingService#willRecordSrcCmd()
- */
- public boolean willRecordSrcCmd() {
- return this.recordSourceCommands;
- }
-
- /**
- * @see com.metamatrix.common.application.ApplicationService#initialize(java.util.Properties)
- */
- public void initialize(Properties props) throws ApplicationInitializationException {
- String commandLoggerClassnameProperty = props.getProperty(DQPConfigSource.COMMAND_LOGGER_CLASSNAME);
-
- // Search for additional, implementation-specific properties stuff into
- // this string.
- // They should be delimited by semi-colon - TODO clean this up - sbale 5
- // /3/05
- //
- // Possible examples of expected value of commandLoggerClassnameProperty
- // String variable:
- //
- // com.metamatrix.dqp.spi.basic.FileCommandLogger;dqp.commandLogger.
- // fileName=commandLogFile.txt
- // com.myCode.MyCommandLoggerClass;myFirstCustomProperty=someValue;
- // mySecondCustomProperty=otherValue
-
- List tokens = StringUtil.getTokens(commandLoggerClassnameProperty, ";"); //$NON-NLS-1$
-
- // 1st token is the classname property
- String commandLoggerClassname = (String) tokens.remove(0);
-
- // Additional tokens are name/value pairs, properties specific to
- // service provider impl
- props = new Properties(props);
- Iterator i = tokens.iterator();
- while (i.hasNext()) {
- String nameValueString = (String) i.next();
- List nameValuePair = StringUtil.getTokens(nameValueString, "="); //$NON-NLS-1$
- String name = (String) nameValuePair.get(0);
- String value = (String) nameValuePair.get(1);
- props.setProperty(name, value);
- }
-
- ClassLoader loader = Thread.currentThread().getContextClassLoader();
- try {
- CommandLoggerSPI logger = (CommandLoggerSPI)loader.loadClass(commandLoggerClassname).newInstance();
- logger.initialize(props);
- this.commandLogger = logger;
- } catch (Exception e) {
- throw new ApplicationInitializationException(e);
- }
-
- String propvalue = props.getProperty(SYSTEM_TXN_STORE_MMCMD);
- if(propvalue != null){
- recordUserCommands = Boolean.valueOf(propvalue).booleanValue();
- }
- propvalue = props.getProperty(SYSTEM_TXN_STORE_SRCCMD);
- if(propvalue != null){
- recordSourceCommands = Boolean.valueOf(propvalue).booleanValue();
- }
- }
-
- /**
- * @see com.metamatrix.common.application.ApplicationService#start(com.metamatrix.common.application.ApplicationEnvironment)
- */
- public void start(ApplicationEnvironment environment) throws ApplicationLifecycleException {
- logQueue = WorkerPoolFactory.newWorkerPool("CustomTracker", //$NON-NLS-1$
- 1);
- }
-
- /**
- * @see com.metamatrix.common.application.ApplicationService#stop()
- */
- public void stop() throws ApplicationLifecycleException {
- if (logQueue != null) {
- logQueue.shutdown();
- try {
- logQueue.awaitTermination(1, TimeUnit.SECONDS);
- } catch (InterruptedException e) {
- }
- logQueue = null;
- }
- if (commandLogger != null) {
- this.commandLogger.close();
- }
- }
-
- private void addWork(CustomizableTrackingMessage work) {
- try {
- if (logQueue != null) {
- work.commandLogger = this.commandLogger;
- logQueue.execute(work);
- } else {
- LogManager.logWarning(LogCommonConstants.CTX_TXN_LOG, DQPPlugin.Util.getString("CustomizableTrackingService.not_started")); //$NON-NLS-1$
- }
- } catch (RejectedExecutionException e) {
- LogManager.logWarning(LogCommonConstants.CTX_TXN_LOG, e.getMessage());
- }
- }
-
- public CommandLoggerSPI getCommandLogger() {
- return commandLogger;
- }
-}
Modified: trunk/engine/src/main/java/com/metamatrix/dqp/service/DQPServiceNames.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/dqp/service/DQPServiceNames.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/engine/src/main/java/com/metamatrix/dqp/service/DQPServiceNames.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -45,9 +45,6 @@
/** VDB service - provides access to vdb information */
public static final String VDB_SERVICE = "dqp.vdb"; //$NON-NLS-1$
- /** Tracking service - provides access to vdb information */
- public static final String TRACKING_SERVICE = "dqp.tracking"; //$NON-NLS-1$
-
/** Transaction service - provides access to MMTtransactionManager */
public static final String TRANSACTION_SERVICE = "dqp.transaction"; //$NON-NLS-1$
@@ -61,7 +58,6 @@
*/
public static final String[] ALL_SERVICES = new String[] {
CONFIGURATION_SERVICE,
- TRACKING_SERVICE,
BUFFER_SERVICE,
AUTHORIZATION_SERVICE,
TRANSACTION_SERVICE,
@@ -72,7 +68,6 @@
public static final Class[] ALL_SERVICE_CLASSES = new Class[] {
ConfigurationService.class,
- TrackingService.class,
BufferService.class,
AuthorizationService.class,
TransactionService.class,
Deleted: trunk/engine/src/main/java/com/metamatrix/dqp/service/TrackingService.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/dqp/service/TrackingService.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/engine/src/main/java/com/metamatrix/dqp/service/TrackingService.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -1,97 +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.dqp.service;
-
-import org.teiid.connector.api.ExecutionContext;
-
-import com.metamatrix.common.application.ApplicationService;
-
-/**
- * This service is used to log transactions and commands,
- * as well as store profiling data.
- */
-public interface TrackingService extends ApplicationService {
- /**
- * Log the command if the value of the property
- * "metamatrix.transaction.log.storeMMCMD" is "true".
- *
- * @param requestId Unique command ID.
- * @param txnUid Unique transaction ID.
- * @param cmdPoint Point in command being logged -
- * TransactionLogConstants.POINT.BEGIN,
- * or TransactionLogConstants.POINT.END.
- * @param sessionUid Session ID.
- * @param applicationName name of the user application
- * @param principal User name.
- * @param vdbName VDB name.
- * @param vdbVersion VDB version.
- * @param sql SQL for the command.
- * @param rowCount Final row count.
- */
- public void log(String requestId, String txnUid, short cmdPoint, short status,
- String sessionUid, String applicationName, String principal, String vdbName, String vdbVersion, String sql, int rowCount);
-
- /**
- * Log the command if the value of the property
- * "metamatrix.transaction.log.storeSRCCMD" is "true".
- *
- * @param requestId Unique command ID.
- * @param nodeID Subcommand ID
- * @param subTxnUid Unique subtransaction ID.
- * @param status Type of request - TransactionLogConstants.SRCCMD_STATUS.NEW,
- * or TransactionLogConstants.SRCCMD_STATUS.CANCEL, or TransactionLogConstants.SRCCMD_STATUS.END,
- * or TransactionLogConstants.SRCCMD_STATUS.ERROR.
- * @param modelName Name of model.
- * @param cbName Connector binding name.
- * @param cmdPoint Point in command being logged - TransactionLogConstants.POINT.BEGIN,
- * or TransactionLogConstants.POINT.END.
- * @param sessionUid Session ID.
- * @param principal User name.
- * @param sql SQL for the command.
- * @param rowCount Final row count.
- */
- public void log(String requestId, long nodeID, String subTxnUid,
- short status, String modelName, String cbName, short cmdPoint,
- String sessionUid, String principal, String sql, int rowCount,
- ExecutionContext context);
-
- /**
- * Returns whether the tracker will record MM commands.
- * @param txnPoint
- * @return
- * @since 4.2
- */
- public boolean willRecordMMCmd();
-
- /**
- * Returns whether the tracker will record source commands.
- * @param txnPoint
- * @return
- * @since 4.2
- */
- public boolean willRecordSrcCmd();
-
-
-}
Deleted: trunk/engine/src/main/java/com/metamatrix/dqp/spi/CommandLoggerSPI.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/dqp/spi/CommandLoggerSPI.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/engine/src/main/java/com/metamatrix/dqp/spi/CommandLoggerSPI.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -1,124 +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.dqp.spi;
-
-import java.util.Properties;
-
-import org.teiid.connector.api.ExecutionContext;
-
-import com.metamatrix.dqp.service.TrackingService;
-
-/**
- * Defines a service-provider interface for accepting command and transaction
- * information, suitable for logging, from MetaMatrix DQP.
- * (See DQP {@link TrackingService} interface.)
- */
-public interface CommandLoggerSPI {
-
- /**
- * Initialize this service provider with the specified properties. Properties
- * must be specified in the DQP properties (along with the property defining
- * the concrete classname of the implementation of this interface).
- * @param props Initialialization properties
- */
- public void initialize(Properties props);
-
- /**
- * Close this service provider, release any external resources
- */
- public void close();
-
- /**
- * A user command has started. This method will be called when the command
- * starts.
- * @param timestamp time in milliseconds marking the start of the command
- * @param requestID Unique command ID.
- * @param transactionID Unique transaction ID (optional, may be null)
- * @param sessionID Session ID.
- * @param applicationName name of the user application
- * @param principal User name.
- * @param vdbName VDB name.
- * @param vdbVersion VDB version.
- * @param sql SQL for the command.
- */
- public void userCommandStart(long timestamp, String requestID, String transactionID,
- String sessionID, String applicationName, String principal, String vdbName,
- String vdbVersion, String sql);
-
- /**
- * A user command has ended. This method will be called as the command
- * ends, either successfully, with an error, or by being cancelled.
- * @param timestamp time in milliseconds marking the end of the command.
- * @param requestID Unique command ID.
- * @param transactionID Unique transaction ID (optional, may be null)
- * @param sessionID Session ID.
- * @param principal User name.
- * @param vdbName VDB name.
- * @param vdbVersion VDB version.
- * @param finalRowCount total rows returned to the user.
- * @param isCancelled true if command was requested to be cancelled, false otherwise.
- * @param errorOccurred true if error occurred, false if status is okay.
- */
- public void userCommandEnd(long timestamp, String requestID, String transactionID,
- String sessionID, String principal, String vdbName, String vdbVersion,
- int finalRowCount, boolean isCancelled, boolean errorOccurred);
-
-
- /**
- * A data source-specific command has started. This method will be called as the
- * command starts.
- * @param timestamp time in milliseconds marking the start of the source command.
- * @param requestID Unique command ID.
- * @param sourceCommandID unique ID of source command, which is also the
- * ID of the plan node representing that source command.
- * @param subTransactionID Unique subtransaction ID (optional, may be null).
- * @param modelName Name of model.
- * @param connectorBindingName Connector binding name.
- * @param sessionID Session ID.
- * @param principal User name.
- * @param sql SQL for the command.
- */
- public void dataSourceCommandStart(long timestamp, String requestID, long sourceCommandID, String subTransactionID, String modelName,
- String connectorBindingName, String sessionID, String principal, String sql, ExecutionContext context);
-
- /**
- * Data source-specific command has ended. This method will be called as the
- * command ends, either normally, by being cancelled, or with an error.
- * @param timestamp time in milliseconds marking the end of the source command.
- * @param requestID Unique command ID.
- * @param sourceCommandID unique ID of source command, which is also the
- * ID of the plan node representing that source command.
- * @param subTransactionID Unique subtransaction ID (optional, may be null).
- * @param modelName Name of model.
- * @param connectorBindingName Connector binding name.
- * @param sessionID Session ID.
- * @param principal User name.
- * @param finalRowCount Final row count.
- * @param isCancelled true if command was requested to be cancelled, false otherwise.
- * @param errorOccurred true if error occurred, false if status is okay.
- */
- public void dataSourceCommandEnd(long timestamp, String requestID, long sourceCommandID, String subTransactionID, String modelName,
- String connectorBindingName, String sessionID, String principal, int finalRowCount,
- boolean isCancelled, boolean errorOccurred, ExecutionContext context);
-
-}
Deleted: trunk/engine/src/main/java/com/metamatrix/dqp/spi/TrackerLogConstants.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/dqp/spi/TrackerLogConstants.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/engine/src/main/java/com/metamatrix/dqp/spi/TrackerLogConstants.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -1,65 +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.dqp.spi;
-
-/**
- *
- */
-public class TrackerLogConstants {
- public static class CMD_POINT{
- public static final short BEGIN = 1;
- public static final short END = 2;
- }
-
- public static class TXN_POINT{
- public static final short BEGIN = 1;
- public static final short END = 2;
- public static final short ERROR = 3;
- public static final short INTERMEDIATE = 4;
-
- }
-
- public static class TXN_STATUS{
- public static final short BEGIN = 1;
- public static final short COMMIT = 2;
- public static final short ROLLBACK = 3;
- public static final short SET_ROLLBACK_ONLY = 4;
-
- public static class PARTICIPATE {
- public static final short START = 5;
- public static final short END = 6;
- public static final short PREPARE = 7;
- public static final short COMMIT = 8;
- public static final short FORGET = 9;
- public static final short RECOVER = 10;
- public static final short ROLLBACK = 11;
- }
- }
-
- public static class CMD_STATUS{
- public static final short NEW = 1;
- public static final short END = 2;
- public static final short CANCEL = 3;
- public static final short ERROR = 4;
- }
-}
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-06-12 18:05:14 UTC (rev 1052)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -68,8 +68,10 @@
import com.metamatrix.common.queue.WorkerPoolFactory;
import com.metamatrix.common.queue.WorkerPoolStats;
import com.metamatrix.common.stats.ConnectionPoolStats;
+import com.metamatrix.common.util.LogContextsUtil;
import com.metamatrix.common.util.PropertiesUtils;
import com.metamatrix.core.MetaMatrixCoreException;
+import com.metamatrix.core.log.MessageLevel;
import com.metamatrix.core.util.Assertion;
import com.metamatrix.core.util.ReflectionHelper;
import com.metamatrix.core.util.StringUtil;
@@ -81,11 +83,10 @@
import com.metamatrix.dqp.message.AtomicResultsMessage;
import com.metamatrix.dqp.message.RequestID;
import com.metamatrix.dqp.service.BufferService;
+import com.metamatrix.dqp.service.CommandLogMessage;
import com.metamatrix.dqp.service.DQPServiceNames;
import com.metamatrix.dqp.service.MetadataService;
-import com.metamatrix.dqp.service.TrackingService;
import com.metamatrix.dqp.service.TransactionService;
-import com.metamatrix.dqp.spi.TrackerLogConstants;
import com.metamatrix.dqp.util.LogConstants;
import com.metamatrix.query.optimizer.capabilities.BasicSourceCapabilities;
import com.metamatrix.query.optimizer.capabilities.SourceCapabilities;
@@ -117,7 +118,6 @@
//services acquired in start
private MetadataService metadataService;
- private TrackingService tracker;
private TransactionService transactionService;
private BufferService bufferService;
@@ -326,8 +326,6 @@
throw new ApplicationLifecycleException(DQPPlugin.Util.getString("Failed_to_find_service", new Object[]{DQPServiceNames.METADATA_SERVICE, connectorName})); //$NON-NLS-1$
}
- this.tracker = (TrackingService) env.findService(DQPServiceNames.TRACKING_SERVICE);
-
this.maxResultRows = PropertiesUtils.getIntProperty(props, ConnectorPropertyNames.MAX_RESULT_ROWS, 0);
this.exceptionOnMaxRows = PropertiesUtils.getBooleanProperty(props, ConnectorPropertyNames.EXCEPTION_ON_MAX_ROWS, false);
this.synchWorkers = PropertiesUtils.getBooleanProperty(props, ConnectorPropertyNames.SYNCH_WORKERS, true);
@@ -425,7 +423,7 @@
}
}
if (this.synchWorkers) {
- SynchronousWorkers synchWorkerAnnotation = (SynchronousWorkers) c.getClass().getAnnotation(SynchronousWorkers.class);
+ SynchronousWorkers synchWorkerAnnotation = c.getClass().getAnnotation(SynchronousWorkers.class);
if (synchWorkerAnnotation != null) {
this.synchWorkers = synchWorkerAnnotation.enabled();
}
@@ -480,7 +478,7 @@
private Connector wrapPooledConnector(Connector c, ConnectorEnvironment connectorEnv) {
//the pooling annotation overrides the connector binding
- ConnectionPooling connectionPooling = (ConnectionPooling) c.getClass().getAnnotation(ConnectionPooling.class);
+ ConnectionPooling connectionPooling = c.getClass().getAnnotation(ConnectionPooling.class);
boolean connectionPoolPropertyEnabled = PropertiesUtils.getBooleanProperty(connectorEnv.getProperties(), ConnectorPropertyNames.CONNECTION_POOL_ENABLED, true);
boolean propertySet = connectorEnv.getProperties().contains(ConnectorPropertyNames.CONNECTION_POOL_ENABLED);
boolean poolingEnabled = false;
@@ -595,11 +593,8 @@
* @param qr Request that contains the MetaMatrix command information in the transaction.
*/
void logSRCCommand(AtomicRequestMessage qr, ExecutionContext context, short cmdStatus, int finalRowCnt) {
- if(tracker == null || !tracker.willRecordSrcCmd()){
- return;
- }
String sqlStr = null;
- if(cmdStatus == TrackerLogConstants.CMD_STATUS.NEW){
+ if(cmdStatus == CommandLogMessage.CMD_STATUS_NEW){
Command cmd = qr.getCommand();
sqlStr = cmd != null ? cmd.toString() : null;
}
@@ -611,11 +606,26 @@
String modelName = qr.getModelName();
AtomicRequestID id = qr.getAtomicRequestID();
-
- tracker.log(qr.getRequestID().toString(), id.getNodeID(), transactionID,
- cmdStatus, modelName == null ? "null" : modelName, connectorName, //$NON-NLS-1$
- cmdStatus == TrackerLogConstants.CMD_STATUS.NEW ? TrackerLogConstants.CMD_POINT.BEGIN : TrackerLogConstants.CMD_POINT.END,
- qr.getWorkContext().getConnectionID(), userName == null ? "unknown" : userName, sqlStr, finalRowCnt, context); //$NON-NLS-1$
+
+ short cmdPoint = cmdStatus == CommandLogMessage.CMD_STATUS_NEW ? CommandLogMessage.CMD_POINT_BEGIN : CommandLogMessage.CMD_POINT_END;
+ String principal = userName == null ? "unknown" : userName; //$NON-NLS-1$
+
+ CommandLogMessage message = null;
+ if (cmdPoint == CommandLogMessage.CMD_POINT_BEGIN) {
+ message = new CommandLogMessage(System.currentTimeMillis(), qr.getRequestID().toString(), id.getNodeID(), transactionID, modelName, connectorName, qr.getWorkContext().getConnectionID(), principal, sqlStr, context);
+ }
+ else {
+ boolean isCancelled = false;
+ boolean errorOccurred = false;
+
+ if (cmdStatus == CommandLogMessage.CMD_STATUS_CANCEL) {
+ isCancelled = true;
+ } else if (cmdStatus == CommandLogMessage.CMD_STATUS_ERROR) {
+ errorOccurred = true;
+ }
+ message = new CommandLogMessage(System.currentTimeMillis(), qr.getRequestID().toString(), id.getNodeID(), transactionID, modelName, connectorName, qr.getWorkContext().getConnectionID(), principal, finalRowCnt, isCancelled, errorOccurred, context);
+ }
+ LogManager.log(MessageLevel.INFO, LogContextsUtil.CommonConstants.CTX_COMMANDLOGGING, message);
}
/**
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorWorkItem.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorWorkItem.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorWorkItem.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -56,7 +56,7 @@
import com.metamatrix.dqp.message.AtomicRequestID;
import com.metamatrix.dqp.message.AtomicRequestMessage;
import com.metamatrix.dqp.message.AtomicResultsMessage;
-import com.metamatrix.dqp.spi.TrackerLogConstants;
+import com.metamatrix.dqp.service.CommandLogMessage;
import com.metamatrix.dqp.util.LogConstants;
import com.metamatrix.query.metadata.QueryMetadataInterface;
import com.metamatrix.query.metadata.TempMetadataAdapter;
@@ -193,7 +193,7 @@
try {
LogManager.logDetail(LogConstants.CTX_CONNECTOR, new Object[] {this.id, "Processing CANCEL request"}); //$NON-NLS-1$
asynchCancel();
- this.manager.logSRCCommand(this.requestMsg, this.securityContext, TrackerLogConstants.CMD_STATUS.CANCEL, -1);
+ this.manager.logSRCCommand(this.requestMsg, this.securityContext, CommandLogMessage.CMD_STATUS_CANCEL, -1);
} catch (ConnectorException e) {
LogManager.logWarning(LogConstants.CTX_CONNECTOR, e, DQPPlugin.Util.getString("Cancel_request_failed", this.id)); //$NON-NLS-1$
} finally {
@@ -219,7 +219,7 @@
}
private void handleError(Throwable t) {
- manager.logSRCCommand(this.requestMsg, this.securityContext, TrackerLogConstants.CMD_STATUS.ERROR, -1);
+ manager.logSRCCommand(this.requestMsg, this.securityContext, CommandLogMessage.CMD_STATUS_ERROR, -1);
String msg = DQPPlugin.Util.getString("ConnectorWorker.process_failed", this.id); //$NON-NLS-1$
if (isCancelled) {
@@ -242,7 +242,7 @@
this.isClosed = true;
LogManager.logDetail(LogConstants.CTX_CONNECTOR, new Object[] {this.id, "Processing Close :", this.requestMsg.getCommand()}); //$NON-NLS-1$
if (success) {
- manager.logSRCCommand(this.requestMsg, this.securityContext, TrackerLogConstants.CMD_STATUS.END, this.rowCount);
+ manager.logSRCCommand(this.requestMsg, this.securityContext, CommandLogMessage.CMD_STATUS_END, this.rowCount);
}
try {
if (execution != null) {
@@ -353,7 +353,7 @@
LogManager.logDetail(LogConstants.CTX_CONNECTOR, new Object[] {this.requestMsg.getAtomicRequestID(), "Obtained execution"}); //$NON-NLS-1$
//Log the Source Command (Must be after obtaining the execution context)
- manager.logSRCCommand(this.requestMsg, this.securityContext, TrackerLogConstants.CMD_STATUS.NEW, -1);
+ manager.logSRCCommand(this.requestMsg, this.securityContext, CommandLogMessage.CMD_STATUS_NEW, -1);
}
protected void handleBatch()
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-06-12 18:05:14 UTC (rev 1052)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -57,6 +57,7 @@
import com.metamatrix.common.log.LogManager;
import com.metamatrix.common.queue.WorkerPool;
import com.metamatrix.common.queue.WorkerPoolFactory;
+import com.metamatrix.common.util.LogContextsUtil;
import com.metamatrix.common.util.PropertiesUtils;
import com.metamatrix.common.xa.MMXid;
import com.metamatrix.common.xa.XATransactionException;
@@ -75,14 +76,13 @@
import com.metamatrix.dqp.message.RequestMessage;
import com.metamatrix.dqp.message.ResultsMessage;
import com.metamatrix.dqp.service.BufferService;
+import com.metamatrix.dqp.service.CommandLogMessage;
import com.metamatrix.dqp.service.ConfigurationService;
import com.metamatrix.dqp.service.DQPServiceNames;
import com.metamatrix.dqp.service.DataService;
import com.metamatrix.dqp.service.MetadataService;
-import com.metamatrix.dqp.service.TrackingService;
import com.metamatrix.dqp.service.TransactionService;
import com.metamatrix.dqp.service.VDBService;
-import com.metamatrix.dqp.spi.TrackerLogConstants;
import com.metamatrix.dqp.util.LogConstants;
import com.metamatrix.query.metadata.QueryMetadataInterface;
import com.metamatrix.query.optimizer.capabilities.SourceCapabilities;
@@ -135,7 +135,6 @@
private BufferManager bufferManager;
private ProcessorDataManager dataTierMgr;
private PreparedPlanCache prepPlanCache;
- private TrackingService tracker;
private TransactionService transactionService;
private MetadataService metadataService;
private ResultSetCache rsCache;
@@ -511,9 +510,6 @@
}
void logMMCommand(RequestWorkItem workItem, boolean isBegin, boolean isCancel, int rowCount) {
- if(this.tracker == null || !tracker.willRecordMMCmd()){
- return;
- }
RequestMessage msg = workItem.requestMsg;
DQPWorkContext workContext = DQPWorkContext.getWorkContext();
RequestID rID = new RequestID(workContext.getConnectionID(), msg.getExecutionId());
@@ -528,26 +524,30 @@
}
String appName = workContext.getAppName();
// Log to request log
- short point = isBegin? TrackerLogConstants.CMD_POINT.BEGIN:TrackerLogConstants.CMD_POINT.END;
- short status = TrackerLogConstants.CMD_STATUS.NEW;
+ short point = isBegin? CommandLogMessage.CMD_POINT_BEGIN:CommandLogMessage.CMD_POINT_END;
+ short status = CommandLogMessage.CMD_STATUS_NEW;
if(!isBegin){
if(isCancel){
- status = TrackerLogConstants.CMD_STATUS.CANCEL;
+ status = CommandLogMessage.CMD_STATUS_CANCEL;
}else{
- status = TrackerLogConstants.CMD_STATUS.END;
+ status = CommandLogMessage.CMD_STATUS_END;
}
}
- tracker.log(rID.toString(),
- txnID,
- point,
- status,
- workContext.getConnectionID(),
- appName,
- workContext.getUserName(),
- workContext.getVdbName(),
- workContext.getVdbVersion(),
- command,
- rowCount);
+ CommandLogMessage message = null;
+ if (point == CommandLogMessage.CMD_POINT_BEGIN) {
+ message = new CommandLogMessage(System.currentTimeMillis(), rID.toString(), txnID, workContext.getConnectionID(), appName, workContext.getUserName(), workContext.getVdbName(), workContext.getVdbVersion(), command);
+ } else {
+ boolean isCancelled = false;
+ boolean errorOccurred = false;
+
+ if (status == CommandLogMessage.CMD_STATUS_CANCEL) {
+ isCancelled = true;
+ } else if (status == CommandLogMessage.CMD_STATUS_ERROR) {
+ errorOccurred = true;
+ }
+ message = new CommandLogMessage(System.currentTimeMillis(), rID.toString(), txnID, workContext.getConnectionID(), workContext.getUserName(), workContext.getVdbName(), workContext.getVdbVersion(), rowCount, isCancelled, errorOccurred);
+ }
+ LogManager.log(MessageLevel.INFO, LogContextsUtil.CommonConstants.CTX_COMMANDLOGGING, message);
}
ProcessorDataManager getDataTierManager() {
@@ -562,14 +562,6 @@
return bufferManager;
}
- TrackingService getTracker() {
- return tracker;
- }
-
- void setTracker(TrackingService tracker) {
- this.tracker = tracker;
- }
-
public TransactionService getTransactionService() {
if (transactionService == null) {
throw new MetaMatrixRuntimeException("Transactions are not enabled"); //$NON-NLS-1$
@@ -633,8 +625,6 @@
bufferManager = bufferService.getBufferManager();
contextCache = bufferService.getContextCache();
- //Get tracking service
- tracker = (TrackingService) env.findService(DQPServiceNames.TRACKING_SERVICE);
transactionService = (TransactionService )env.findService(DQPServiceNames.TRANSACTION_SERVICE);
metadataService = (MetadataService) env.findService(DQPServiceNames.METADATA_SERVICE);
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -56,6 +56,7 @@
import com.metamatrix.common.lob.LobChunk;
import com.metamatrix.common.log.LogManager;
import com.metamatrix.common.types.DataTypeManager;
+import com.metamatrix.common.util.LogContextsUtil;
import com.metamatrix.common.xa.XATransactionException;
import com.metamatrix.core.MetaMatrixCoreException;
import com.metamatrix.core.log.MessageLevel;
@@ -67,8 +68,8 @@
import com.metamatrix.dqp.message.RequestID;
import com.metamatrix.dqp.message.RequestMessage;
import com.metamatrix.dqp.message.ResultsMessage;
+import com.metamatrix.dqp.service.CommandLogMessage;
import com.metamatrix.dqp.service.TransactionService;
-import com.metamatrix.dqp.spi.TrackerLogConstants;
import com.metamatrix.dqp.util.LogConstants;
import com.metamatrix.query.analysis.AnalysisRecord;
import com.metamatrix.query.analysis.QueryAnnotation;
@@ -661,24 +662,12 @@
* Log the command to the MM cmd log.
*/
private void logCommandError() {
- if ( dqpCore.getTracker() == null || !dqpCore.getTracker().willRecordMMCmd()) {
- return;
- }
String transactionID = null;
if (this.transactionContext != null && this.transactionContext.isInTransaction()) {
transactionID = this.transactionContext.getTxnID();
}
- dqpCore.getTracker().log(requestID.toString(),
- transactionID == null ? null : transactionID,
- TrackerLogConstants.CMD_POINT.END,
- TrackerLogConstants.CMD_STATUS.ERROR,
- requestID.getConnectionID(),
- dqpWorkContext.getAppName(),
- dqpWorkContext.getUserName(),
- dqpWorkContext.getVdbName(),
- dqpWorkContext.getVdbVersion(),
- requestMsg.getCommandString(),
- -1);
+ CommandLogMessage message = new CommandLogMessage(System.currentTimeMillis(), requestID.toString(), transactionID == null ? null : transactionID, requestID.getConnectionID(), dqpWorkContext.getUserName(), dqpWorkContext.getVdbName(), dqpWorkContext.getVdbVersion(), -1, false, true);
+ LogManager.log(MessageLevel.INFO, LogContextsUtil.CommonConstants.CTX_COMMANDLOGGING, message);
}
boolean isCanceled() {
Deleted: trunk/engine/src/test/java/com/metamatrix/dqp/service/TestCustomizableTrackingService.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/dqp/service/TestCustomizableTrackingService.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/engine/src/test/java/com/metamatrix/dqp/service/TestCustomizableTrackingService.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -1,532 +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.dqp.service;
-
-import java.io.Serializable;
-import java.sql.ResultSet;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Future;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
-import junit.framework.TestCase;
-
-import org.teiid.connector.api.ExecutionContext;
-import org.teiid.dqp.internal.datamgr.impl.FakeTransactionService;
-import org.teiid.dqp.internal.process.DQPCore;
-import org.teiid.dqp.internal.process.DQPWorkContext;
-
-import com.metamatrix.api.exception.MetaMatrixProcessingException;
-import com.metamatrix.common.application.ApplicationEnvironment;
-import com.metamatrix.common.application.DQPConfigSource;
-import com.metamatrix.common.application.exception.ApplicationInitializationException;
-import com.metamatrix.common.application.exception.ApplicationLifecycleException;
-import com.metamatrix.common.vdb.api.ModelInfo;
-import com.metamatrix.dqp.message.RequestMessage;
-import com.metamatrix.dqp.message.ResultsMessage;
-import com.metamatrix.dqp.spi.CommandLoggerSPI;
-import com.metamatrix.dqp.spi.TrackerLogConstants;
-import com.metamatrix.platform.security.api.MetaMatrixSessionID;
-import com.metamatrix.platform.security.api.SessionToken;
-import com.metamatrix.query.sql.lang.Command;
-import com.metamatrix.query.sql.lang.TestQuery;
-import com.metamatrix.query.unittest.FakeMetadataFactory;
-
-/**
- * Tests the DQP Tracking service implementation which uses a CommandLogger service
- * provider
- */
-public class TestCustomizableTrackingService extends TestCase {
-
- /**
- * Constructor for TestConnectorCapabilitiesFinder.
- * @param name
- */
- public TestCustomizableTrackingService(String name) {
- super(name);
- }
-
- // ========================================================================================================
- // tests
- // ========================================================================================================
-
- public void testLogAll() throws Exception {
- CustomizableTrackingService trackingService = getTrackingService(true, true, true);
- List expectedResults = new ArrayList();
- expectedResults.add(logExampleSourceCommandStart(trackingService));
- expectedResults.add(logExampleUserCommandStart(trackingService));
- expectedResults.add(logExampleUserCommandEnd(trackingService));
- expectedResults.add(logExampleSourceCommandCancelled(trackingService));
- trackingService.stop();
- assertEquals(expectedResults, ((FakeCommandLogger)trackingService.getCommandLogger()).logEntries);
- }
-
- public void testLogJustTransactions() throws Exception {
- CustomizableTrackingService trackingService = getTrackingService(true, false, false);
- List expectedResults = new ArrayList();
- logExampleSourceCommandStart(trackingService);
- logExampleSourceCommandCancelled(trackingService);
- logExampleUserCommandStart(trackingService);
- logExampleUserCommandEnd(trackingService);
- trackingService.stop();
- assertEquals(expectedResults, ((FakeCommandLogger)trackingService.getCommandLogger()).logEntries);
- }
-
- public void testLogJustCommands() throws Exception {
- CustomizableTrackingService trackingService = getTrackingService(false, true, true);
- List expectedResults = new ArrayList();
- expectedResults.add(logExampleSourceCommandStart(trackingService));
- expectedResults.add(logExampleUserCommandStart(trackingService));
- expectedResults.add(logExampleUserCommandEnd(trackingService));
- expectedResults.add(logExampleSourceCommandCancelled(trackingService));
- trackingService.stop();
- assertEquals(expectedResults, ((FakeCommandLogger)trackingService.getCommandLogger()).logEntries);
- }
-
- public void testLogJustUserCommands() throws Exception {
- CustomizableTrackingService trackingService = getTrackingService(false, true, false);
- List expectedResults = new ArrayList();
- logExampleSourceCommandStart(trackingService);
- expectedResults.add(logExampleUserCommandStart(trackingService));
- expectedResults.add(logExampleUserCommandEnd(trackingService));
- logExampleSourceCommandCancelled(trackingService);
- trackingService.stop();
- assertEquals(expectedResults, ((FakeCommandLogger)trackingService.getCommandLogger()).logEntries);
- }
-
- /**
- * Test the tracking service as it is invoked by DQP during query processing
- * using a <code>String</code> as the query object.
- * <p>
- * This test creates a sample query statement of type <code>String</code> along
- * with an instance of <code>TrackingService</code> returned by a call to
- * <code>getTrackingService()</code> asking for a <code>TrackingService</code> that
- * will log the user-command. The query and <code>TrackingService</code> instance
- * are passed to the helper method <code>logUserCommandViaDQP()</code> and the
- * expected results returned from the helper method are compared to the actual
- * results logged by <code>FakeCommandLogger</code>.
- * <p>
- * This test can only succeed if the log entry sent to <code>FakeCommandLogger</code>
- * from <code>DQPCore</code> matches the expected results returned by the
- * helper method.
- *
- * @see #getTrackingService(boolean, boolean, boolean)
- * @see #helpLogUserCommandViaDQP(TrackingService, Serializable)
- * @since 6
- * @throws Exception
- */
- public void testUserCommandFromDQP_String() throws Exception {
- String sql = "SELECT SQRT(100)"; //$NON-NLS-1$
- CustomizableTrackingService trackingService = getTrackingService(false, true, false);
- helpLogUserCommandViaDQP(trackingService, sql);
- }
-
- // ========================================================================================================
- // test utilities
- // ========================================================================================================
-
- private CustomizableTrackingService getTrackingService(boolean willRecordTransactions,
- boolean willRecordUserCommands, boolean willRecordSourceCommands) throws ApplicationInitializationException, ApplicationLifecycleException {
-
- CustomizableTrackingService service = new CustomizableTrackingService();
- Properties p = new Properties();
- p.setProperty(CustomizableTrackingService.SYSTEM_TXN_STORE_SRCCMD, String.valueOf(willRecordSourceCommands));
- p.setProperty(CustomizableTrackingService.SYSTEM_TXN_STORE_MMCMD, String.valueOf(willRecordUserCommands));
- p.setProperty(CustomizableTrackingService.SYSTEM_TXN_STORE_TXN, String.valueOf(willRecordTransactions));
- p.setProperty(DQPConfigSource.COMMAND_LOGGER_CLASSNAME, FakeCommandLogger.class.getName());
- service.initialize(p);
- service.start(null);
- return service;
- }
-
- /**
- * Helper method that creates an instance of <code>DQPCore</code> and sends
- * it a <code>RequestMessage</code> along with the value passed in <code>ts</code>
- * so that <code>DQPCore</code> can use it as the tracking service to log the
- * user-command <code>command</code> if <code>ts</code> is set to capture
- * user-commands.
- * <p>
- * If <code>ts</code> is set to record the user-command, this method will
- * return two log entries. The first log entry represents the START state
- * of the user-command and the second represents the END state of the
- * user command.
- * <p>
- * <code>command</code> must be valid and DQP must be able to parse the query.
- * Because this helper method does not actually build or establish any metadata
- * for DQP or define any sources, <code>command</code> should only contain scalar
- * functions or constant values for its symbols. Because DQP can receive either
- * a <code>String</code> or a <code>Command</code> object representing the
- * user-command, <code>command</code> can be of either type. <code>command</code>
- * will be passed to the <code>RequestMessage</code> that is sent to <code>DQPCore</code>
- *
- * @param ts A configured and running instance of a <code>TrackingService</code>.
- * @param command The query representing the user-command.
- * @return If <code>ts</code> has been set to record the user-command, two log entries
- * should be returned. Each entry is made up of one or more <code>Object</code>
- * types and is contained within a <code>List</code> object. The final two log
- * entries are also contained in a <code>List</code> object.
- * @throws InterruptedException
- * @throws ExecutionException
- * @throws TimeoutException
- * @throws MetaMatrixProcessingException
- * @throws ApplicationLifecycleException
- */
- private void helpLogUserCommandViaDQP(CustomizableTrackingService ts, String command) throws InterruptedException, ExecutionException, TimeoutException, MetaMatrixProcessingException, ApplicationLifecycleException {
- String principal = "stuart"; //$NON-NLS-1$
- String vdbName = "bqt"; //$NON-NLS-1$
- String vdbVersion = "1"; //$NON-NLS-1$
- MetaMatrixSessionID sessionID = new MetaMatrixSessionID(1);
- int requestID = 100;
- int finalRowCount = 1;
- List<Object> expectedStartLogEntry = new ArrayList<Object>();
- List<Object> expectedEndLogEntry = new ArrayList<Object>();
- List<List<Object>> expectedLogEntries = new ArrayList<List<Object>>();
-
- if ( ts.willRecordMMCmd() ) {
- expectedStartLogEntry.add(sessionID + "." + requestID); // Request ID //$NON-NLS-1$
- expectedStartLogEntry.add(null); // Transaction ID
- expectedStartLogEntry.add(sessionID.toString()); // Session ID
- expectedStartLogEntry.add(null); // Application Name
- expectedStartLogEntry.add(principal); // Principal Name
- expectedStartLogEntry.add(vdbName); // VDB Name
- expectedStartLogEntry.add(vdbVersion); // VDB Version
- expectedStartLogEntry.add(command.toString()); // SQL
- expectedLogEntries.add(expectedStartLogEntry);
-
- expectedEndLogEntry.add(sessionID + "." + requestID); // Request ID //$NON-NLS-1$
- expectedEndLogEntry.add(null); // Transaction ID
- expectedEndLogEntry.add(sessionID.toString()); // Session ID
- expectedEndLogEntry.add(principal); // Principal Name
- expectedEndLogEntry.add(vdbName); // VDB Name
- expectedEndLogEntry.add(vdbVersion); // VDB Version
- expectedEndLogEntry.add(new Integer(finalRowCount)); // Expected Number of Rows
- expectedEndLogEntry.add(Boolean.FALSE); // isCanceled?
- expectedEndLogEntry.add(Boolean.FALSE); // wasError?
- expectedLogEntries.add(expectedEndLogEntry);
- }
-
- ApplicationEnvironment env = new ApplicationEnvironment();
- env.bindService(DQPServiceNames.BUFFER_SERVICE, new FakeBufferService());
- FakeMetadataService mdSvc = new FakeMetadataService();
- mdSvc.addVdb(vdbName, vdbVersion, FakeMetadataFactory.exampleBQTCached());
- env.bindService(DQPServiceNames.METADATA_SERVICE, mdSvc);
- env.bindService(DQPServiceNames.DATA_SERVICE, new AutoGenDataService());
- env.bindService(DQPServiceNames.TRANSACTION_SERVICE, new FakeTransactionService());
- env.bindService(DQPServiceNames.TRACKING_SERVICE, ts);
- FakeVDBService vdbService = new FakeVDBService();
- vdbService.addBinding(vdbName, vdbVersion, "BQT1", "mmuuid:blah", "BQT"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- vdbService.addBinding(vdbName, vdbVersion, "BQT2", "mmuuid:blah", "BQT"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- vdbService.addBinding(vdbName, vdbVersion, "BQT3", "mmuuid:blah", "BQT"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- vdbService.addModel(vdbName, vdbVersion, "BQT3", ModelInfo.PRIVATE, false); //$NON-NLS-1$
- env.bindService(DQPServiceNames.VDB_SERVICE, vdbService);
-
- DQPCore core = new DQPCore(env);
- core.start(new Properties());
-
- DQPWorkContext workContext = new DQPWorkContext();
- workContext.setVdbName(vdbName);
- workContext.setVdbVersion(vdbVersion);
- workContext.setSessionToken(new SessionToken(sessionID, principal));
- DQPWorkContext.setWorkContext(workContext);
-
- RequestMessage reqMsg = new RequestMessage(command);
- reqMsg.setCallableStatement(false);
- reqMsg.setCursorType(ResultSet.TYPE_SCROLL_INSENSITIVE);
- reqMsg.setFetchSize(10);
- reqMsg.setPartialResults(false);
- reqMsg.setExecutionId(requestID);
-
- ResultsMessage results = null;
- Future<ResultsMessage> message = null;
-
- // Execute reqMsg
- message = core.executeRequest(reqMsg.getExecutionId(), reqMsg);
- results = message.get(50000, TimeUnit.MILLISECONDS);
- assertNull("executeRequest resulted in " + results.getException(), results.getException()); //$NON-NLS-1$
- core.closeRequest(requestID);
- FakeCommandLogger fcl = (FakeCommandLogger)ts.getCommandLogger();
- //close is fully asynch, calling stop immediately may take effect before the work item is requeued
- synchronized (fcl) {
- for (int i = 0; i < 10 && fcl.logEntries.size() != expectedLogEntries.size(); i++) {
- fcl.wait(50);
- }
- }
- core.stop();
- ts.stop();
- assertEquals(expectedLogEntries, fcl.logEntries);
- }
-
- private List logExampleUserCommandStart(TrackingService trackingService) {
-
- String requestID = "req1"; //$NON-NLS-1$
- String transactionID = "35"; //$NON-NLS-1$
- short cmdPoint = TrackerLogConstants.CMD_POINT.BEGIN;
- short status = TrackerLogConstants.CMD_STATUS.NEW;
- String sessionID = "ses1"; //$NON-NLS-1$
- String applicationName = "myApp"; //$NON-NLS-1$
- String principal = "stuart"; //$NON-NLS-1$
- String vdbName = "myVDB"; //$NON-NLS-1$
- String vdbVersion = "2"; //$NON-NLS-1$
- Command sql = TestQuery.sample1();
- int rows = 10000;
-
- String sqlStr = sql != null ? sql.toString() : null;
- trackingService.log(requestID, transactionID, cmdPoint, status, sessionID, applicationName, principal, vdbName, vdbVersion, sqlStr, rows);
-
- List expectedLogEntry = new ArrayList();
- expectedLogEntry.add(requestID);
- expectedLogEntry.add(transactionID);
- expectedLogEntry.add(sessionID);
- expectedLogEntry.add(applicationName);
- expectedLogEntry.add(principal);
- expectedLogEntry.add(vdbName);
- expectedLogEntry.add(vdbVersion);
- expectedLogEntry.add(sql.toString());
-
- return expectedLogEntry;
- }
-
- private List logExampleUserCommandEnd(TrackingService trackingService) {
-
- String requestID = "req1"; //$NON-NLS-1$
- String transactionID = "35"; //$NON-NLS-1$
- short cmdPoint = TrackerLogConstants.CMD_POINT.END;
- short status = TrackerLogConstants.CMD_STATUS.END;
- String sessionID = "ses1"; //$NON-NLS-1$
- String applicationName = "myApp"; //$NON-NLS-1$
- String principal = "stuart"; //$NON-NLS-1$
- String vdbName = "myVDB"; //$NON-NLS-1$
- String vdbVersion = "2"; //$NON-NLS-1$
- Command sql = null;
- int rows = 10000;
- boolean isCancelled = false;
- boolean errorOccurred = false;
-
- String sqlStr = sql != null ? sql.toString() : null;
- trackingService.log(requestID, transactionID, cmdPoint, status, sessionID, applicationName, principal, vdbName, vdbVersion, sqlStr, rows);
-
- List expectedLogEntry = new ArrayList();
- expectedLogEntry.add(requestID);
- expectedLogEntry.add(transactionID);
- expectedLogEntry.add(sessionID);
- expectedLogEntry.add(principal);
- expectedLogEntry.add(vdbName);
- expectedLogEntry.add(vdbVersion);
- expectedLogEntry.add(new Integer(rows));
- expectedLogEntry.add(Boolean.valueOf(isCancelled));
- expectedLogEntry.add(Boolean.valueOf(errorOccurred));
-
- return expectedLogEntry;
- }
-
- private List logExampleSourceCommandStart(TrackingService trackingService) {
- String requestID = "req1"; //$NON-NLS-1$
- long sourceCommandID = 2112l;
- String subTransactionID = "42"; //$NON-NLS-1$
- String modelName = "myModel"; //$NON-NLS-1$
- String connectorBindingName = "myBinding"; //$NON-NLS-1$
- String sessionID = "ses1"; //$NON-NLS-1$
- String principal = "stuart"; //$NON-NLS-1$
- Command sql = TestQuery.sample1();
- short cmdPoint = TrackerLogConstants.CMD_POINT.BEGIN;
- short status = TrackerLogConstants.CMD_STATUS.NEW;
- int finalRowCount = 3;
-
- String sqlStr = sql != null ? sql.toString() : null;
- trackingService.log(requestID, sourceCommandID, subTransactionID, status, modelName, connectorBindingName,
- cmdPoint, sessionID, principal, sqlStr, finalRowCount, null);
-
- List expectedLogEntry = new ArrayList();
- expectedLogEntry.add(requestID);
- expectedLogEntry.add(new Long(sourceCommandID));
- expectedLogEntry.add(subTransactionID);
- expectedLogEntry.add(modelName);
- expectedLogEntry.add(connectorBindingName);
- expectedLogEntry.add(sessionID);
- expectedLogEntry.add(principal);
- expectedLogEntry.add(sql.toString());
-
- return expectedLogEntry;
- }
-
- private List logExampleSourceCommandCancelled(TrackingService trackingService) {
- String requestID = "req1"; //$NON-NLS-1$
- long sourceCommandID = 3113l;
- String subTransactionID = "42"; //$NON-NLS-1$
- String modelName = "myModel"; //$NON-NLS-1$
- String connectorBindingName = "myBinding2"; //$NON-NLS-1$
- String sessionID = "ses1"; //$NON-NLS-1$
- String principal = "stuart"; //$NON-NLS-1$
- Command sql = null;
- short cmdPoint = TrackerLogConstants.CMD_POINT.END;
- short status = TrackerLogConstants.CMD_STATUS.CANCEL;
- int finalRowCount = 3;
- boolean isCancelled = true;
- boolean errorOccurred = false;
-
- String sqlStr = sql != null ? sql.toString() : null;
- trackingService.log(requestID, sourceCommandID, subTransactionID, status, modelName, connectorBindingName,
- cmdPoint, sessionID, principal, sqlStr, finalRowCount, null);
-
- List expectedLogEntry = new ArrayList();
- expectedLogEntry.add(requestID);
- expectedLogEntry.add(new Long(sourceCommandID));
- expectedLogEntry.add(subTransactionID);
- expectedLogEntry.add(modelName);
- expectedLogEntry.add(connectorBindingName);
- expectedLogEntry.add(sessionID);
- expectedLogEntry.add(principal);
- expectedLogEntry.add(new Integer(finalRowCount));
- expectedLogEntry.add(Boolean.valueOf(isCancelled));
- expectedLogEntry.add(Boolean.valueOf(errorOccurred));
-
- return expectedLogEntry;
- }
-
-
-
- /**
- * Fake implementation of CommandLoggerSPI to use for testing.
- * Logged entries are cached in memory in Lists for later comparison
- * with expected results.
- */
- public static class FakeCommandLogger implements CommandLoggerSPI {
-
-
- private List logEntries = new ArrayList();
-
- /**
- * @see com.metamatrix.dqp.spi.CommandLoggerSPI#initialize(java.util.Properties)
- */
- public void initialize(Properties props) {
- }
- /**
- * @see com.metamatrix.dqp.spi.CommandLoggerSPI#close()
- */
- public void close() {
- }
-
- public synchronized void dataSourceCommandStart(long timestamp,
- String requestID,
- long sourceCommandID,
- String subTransactionID,
- String modelName,
- String connectorBindingName,
- String sessionID,
- String principal,
- String sql,
- ExecutionContext context) {
-
- List logEntry = new ArrayList(12);
- logEntry.add(requestID);
- logEntry.add(new Long(sourceCommandID));
- logEntry.add(subTransactionID);
- logEntry.add(modelName);
- logEntry.add(connectorBindingName);
- logEntry.add(sessionID);
- logEntry.add(principal);
- logEntry.add(sql);
- logEntries.add(logEntry);
- notifyAll();
- }
-
- public synchronized void dataSourceCommandEnd(long timestamp,
- String requestID,
- long sourceCommandID,
- String subTransactionID,
- String modelName,
- String connectorBindingName,
- String sessionID,
- String principal,
- int finalRowCount,
- boolean isCancelled,
- boolean errorOccurred,
- ExecutionContext context) {
-
- List logEntry = new ArrayList(12);
- logEntry.add(requestID);
- logEntry.add(new Long(sourceCommandID));
- logEntry.add(subTransactionID);
- logEntry.add(modelName);
- logEntry.add(connectorBindingName);
- logEntry.add(sessionID);
- logEntry.add(principal);
- logEntry.add(new Integer(finalRowCount));
- logEntry.add(Boolean.valueOf(isCancelled));
- logEntry.add(Boolean.valueOf(errorOccurred));
- logEntries.add(logEntry);
- notifyAll();
- }
-
- public synchronized void userCommandStart(long timestamp,
- String requestID,
- String transactionID,
- String sessionID,
- String applicationName,
- String principal,
- String vdbName,
- String vdbVersion,
- String sql) {
-
- List logEntry = new ArrayList(10);
- logEntry.add(requestID);
- logEntry.add(transactionID);
- logEntry.add(sessionID);
- logEntry.add(applicationName);
- logEntry.add(principal);
- logEntry.add(vdbName);
- logEntry.add(vdbVersion);
- logEntry.add(sql);
- logEntries.add(logEntry);
- notifyAll();
- }
-
- public synchronized void userCommandEnd(long timestamp,
- String requestID,
- String transactionID,
- String sessionID,
- String principal,
- String vdbName,
- String vdbVersion,
- int finalRowCount,
- boolean isCancelled,
- boolean errorOccurred) {
-
- List logEntry = new ArrayList(10);
- logEntry.add(requestID);
- logEntry.add(transactionID);
- logEntry.add(sessionID);
- logEntry.add(principal);
- logEntry.add(vdbName);
- logEntry.add(vdbVersion);
- logEntry.add(new Integer(finalRowCount));
- logEntry.add(Boolean.valueOf(isCancelled));
- logEntry.add(Boolean.valueOf(errorOccurred));
- logEntries.add(logEntry);
- notifyAll();
- }
- }
-}
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCoreRequestHandling.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCoreRequestHandling.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCoreRequestHandling.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -41,7 +41,6 @@
import com.metamatrix.dqp.message.AtomicRequestMessage;
import com.metamatrix.dqp.message.RequestID;
import com.metamatrix.dqp.message.RequestMessage;
-import com.metamatrix.dqp.service.TrackingService;
import com.metamatrix.platform.security.api.MetaMatrixSessionID;
import com.metamatrix.platform.security.api.SessionToken;
import com.metamatrix.query.sql.lang.Command;
@@ -182,20 +181,4 @@
DataTierTupleSource arInfo = workItem.getConnectorRequest(atomicReq.getAtomicRequestID());
assertNull(arInfo);
}
-
- public void testLogTxnID() {
- DQPCore rm = new DQPCore();
- TrackingService ts = Mockito.mock(TrackingService.class);
- Mockito.stub(ts.willRecordMMCmd()).toReturn(true);
- rm.setTracker(ts);
- RequestMessage r0 = new RequestMessage("foo"); //$NON-NLS-1$
- RequestID requestID = new RequestID(SESSION_STRING, 1);
- RequestWorkItem workItem = addRequest(rm, r0, requestID, null, null);
- TransactionContext tc = Mockito.mock(TransactionContext.class);
- Mockito.stub(tc.getTxnID()).toReturn("mytxnid"); //$NON-NLS-1$
- workItem.setTransactionContext(tc);
- rm.logMMCommand(workItem, true, true, -1);
- Mockito.verify(ts, Mockito.times(1)).log("C.0", "mytxnid", (short)1, (short)1, null, null, null, null, null, null, -1); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
}
Modified: trunk/server/src/main/java/com/metamatrix/common/comm/platform/socket/server/AdminAuthorizationInterceptor.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/common/comm/platform/socket/server/AdminAuthorizationInterceptor.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/server/src/main/java/com/metamatrix/common/comm/platform/socket/server/AdminAuthorizationInterceptor.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -35,9 +35,13 @@
import com.metamatrix.api.exception.security.AuthorizationException;
import com.metamatrix.client.ExceptionUtil;
import com.metamatrix.common.comm.platform.CommPlatformPlugin;
+import com.metamatrix.common.log.LogManager;
+import com.metamatrix.common.util.LogContextsUtil;
import com.metamatrix.common.util.LogContextsUtil.PlatformAdminConstants;
import com.metamatrix.core.MetaMatrixRuntimeException;
+import com.metamatrix.core.log.MessageLevel;
import com.metamatrix.core.util.ArgCheck;
+import com.metamatrix.dqp.service.AuditMessage;
import com.metamatrix.platform.security.api.SessionToken;
import com.metamatrix.platform.security.api.service.AuthorizationServiceInterface;
import com.metamatrix.platform.security.audit.AuditManager;
@@ -94,7 +98,8 @@
}
boolean authorized = false;
- AuditManager.getInstance().record(PlatformAdminConstants.CTX_ADMIN_API, Arrays.toString(allowed.value())+"-request", adminToken.getUsername(), method.getName()); //$NON-NLS-1$
+ AuditMessage msg = new AuditMessage(PlatformAdminConstants.CTX_ADMIN_API, Arrays.toString(allowed.value())+"-request", adminToken.getUsername(), new Object[]{method.getName()}); //$NON-NLS-1$
+ LogManager.log(MessageLevel.INFO, LogContextsUtil.CommonConstants.CTX_AUDITLOGGING, msg);
for (int i = 0; i < allowed.value().length; i++) {
String requiredRoleName = allowed.value()[i];
@@ -109,7 +114,9 @@
}
}
if (!authorized) {
- AuditManager.getInstance().record(PlatformAdminConstants.CTX_ADMIN_API, Arrays.toString(allowed.value())+"-denied", adminToken.getUsername(), method.getName()); //$NON-NLS-1$
+ msg = new AuditMessage(PlatformAdminConstants.CTX_ADMIN_API, Arrays.toString(allowed.value())+"-denied", adminToken.getUsername(), new Object[]{method.getName()}); //$NON-NLS-1$
+ LogManager.log(MessageLevel.INFO, LogContextsUtil.CommonConstants.CTX_AUDITLOGGING, msg);
+
Object[] msgParts = buildAuditMessage(adminToken, Arrays.toString(allowed.value()), method);
String errMsg = CommPlatformPlugin.Util.getString("AdminAuthorizationInterceptor.Admin_not_authorized", msgParts); //$NON-NLS-1$
throw ExceptionUtil.convertException(method, new AuthorizationException(errMsg));
Modified: trunk/server/src/main/java/com/metamatrix/platform/security/audit/AuditManager.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/platform/security/audit/AuditManager.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/server/src/main/java/com/metamatrix/platform/security/audit/AuditManager.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -34,6 +34,7 @@
import com.metamatrix.common.queue.WorkerPool;
import com.metamatrix.common.queue.WorkerPoolFactory;
import com.metamatrix.common.util.PropertiesUtils;
+import com.metamatrix.dqp.service.AuditMessage;
import com.metamatrix.platform.PlatformPlugin;
import com.metamatrix.platform.security.api.AuthorizationPermission;
import com.metamatrix.platform.security.audit.config.AuditConfigurationException;
Deleted: trunk/server/src/main/java/com/metamatrix/platform/security/audit/AuditMessage.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/platform/security/audit/AuditMessage.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/server/src/main/java/com/metamatrix/platform/security/audit/AuditMessage.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -1,167 +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.platform.security.audit;
-
-import java.io.Externalizable;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-
-import com.metamatrix.common.config.CurrentConfiguration;
-
-public class AuditMessage implements Externalizable {
- public static final String PROCESS_NAME = CurrentConfiguration.getInstance().getProcessName();
- public static final String HOST_NAME = CurrentConfiguration.getInstance().getConfigurationName();
-
- private static final String RESOURCE_DELIMITER = ", "; //$NON-NLS-1$
-
- private String context;
- private String activity;
- private String principal;
- //private int level;
- private Object[] resources;
- private long timestamp;
- //private String threadName;
- private String hostName;
- private String processName;
-
- public AuditMessage() {
- }
-
- public AuditMessage(String context, String activity, String principal, Object[] resources ) {
- this.context = context;
- this.activity = activity;
- this.principal = principal;
- //this.level = level;
- this.resources = resources;
- this.timestamp = System.currentTimeMillis();
- //this.threadName = Thread.currentThread().getName();
- this.hostName = HOST_NAME;
- this.processName = PROCESS_NAME;
- }
-
- public String getContext() {
- return this.context;
- }
-
- public String getActivity() {
- return this.activity;
- }
-
- public String getPrincipal() {
- return this.principal;
- }
-
- public String getProcessName() {
- return this.processName;
- }
-
- public String getHostName() {
- return this.hostName;
- }
-
- public long getTimestamp() {
- return this.timestamp;
- }
-
- public Object[] getResources() {
- return this.resources;
- }
-
- public String getText() {
- StringBuffer text = new StringBuffer();
- if(resources != null && resources.length > 0 ) {
- Object resource = resources[0];
- if ( resource != null ) {
- text.append(resource.toString());
- }
- for(int i=1; i<resources.length; ++i) {
- text.append(RESOURCE_DELIMITER);
- resource = resources[i];
- if ( resource != null ) {
- text.append(resource.toString());
- }
- }
- }
- return text.toString();
- }
-
- public String getText( String delimiter ) {
- StringBuffer text = new StringBuffer();
- if ( delimiter != null ) {
- if(resources != null && resources.length > 0 ) {
- Object resource = resources[0];
- if ( resource != null ) {
- text.append(resource.toString());
- }
- for(int i=1; i<resources.length; ++i) {
- text.append(delimiter);
- resource = resources[i];
- if ( resource != null ) {
- text.append(resource.toString());
- }
- }
- }
- } else {
- if(resources != null && resources.length > 0 ) {
- Object resource = resources[0];
- if ( resource != null ) {
- text.append(resource.toString());
- }
- for(int i=1; i<resources.length; ++i) {
- text.append(RESOURCE_DELIMITER);
- resource = resources[i];
- if ( resource != null ) {
- text.append(resource.toString());
- }
- }
- }
- }
- return text.toString();
- }
-
- // implements Externalizable
- public void writeExternal(ObjectOutput out) throws IOException {
- out.writeObject(context);
- out.writeObject(activity);
- out.writeObject(principal);
- //out.writeInt(level);
- out.writeObject(resources);
- out.writeLong(timestamp);
-// out.writeObject(threadName);
- out.writeObject(processName);
- }
-
- // implements Externalizable
- public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
- this.context = (String) in.readObject();
- this.activity = (String) in.readObject();
- this.principal = (String) in.readObject();
- //this.level = in.readInt();
- this.resources = (Object[]) in.readObject();
- this.timestamp = in.readLong();
-// this.threadName = (String) in.readObject();
- this.processName = (String) in.readObject();
- }
-
-}
Modified: trunk/server/src/main/java/com/metamatrix/platform/security/audit/destination/AuditDestination.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/platform/security/audit/destination/AuditDestination.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/server/src/main/java/com/metamatrix/platform/security/audit/destination/AuditDestination.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -25,7 +25,7 @@
import java.util.List;
import java.util.Properties;
-import com.metamatrix.platform.security.audit.AuditMessage;
+import com.metamatrix.dqp.service.AuditMessage;
/**
* A log destination can be used to print messages - typical examples are
Modified: trunk/server/src/main/java/com/metamatrix/platform/security/audit/destination/ConsoleAuditDestination.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/platform/security/audit/destination/ConsoleAuditDestination.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/server/src/main/java/com/metamatrix/platform/security/audit/destination/ConsoleAuditDestination.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -26,7 +26,7 @@
import java.util.List;
import java.util.Properties;
-import com.metamatrix.platform.security.audit.AuditMessage;
+import com.metamatrix.dqp.service.AuditMessage;
import com.metamatrix.platform.security.audit.format.ReadableAuditMessageFormat;
/**
Modified: trunk/server/src/main/java/com/metamatrix/platform/security/audit/destination/DatabaseAuditDestination.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/platform/security/audit/destination/DatabaseAuditDestination.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/server/src/main/java/com/metamatrix/platform/security/audit/destination/DatabaseAuditDestination.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -34,8 +34,8 @@
import com.metamatrix.common.log.LogManager;
import com.metamatrix.core.util.DateUtil;
import com.metamatrix.core.util.StringUtil;
+import com.metamatrix.dqp.service.AuditMessage;
import com.metamatrix.platform.PlatformPlugin;
-import com.metamatrix.platform.security.audit.AuditMessage;
import com.metamatrix.platform.security.util.LogSecurityConstants;
import com.metamatrix.platform.util.ErrorMessageKeys;
@@ -204,8 +204,7 @@
stmt = connection.prepareStatement(insertStr.toString());
// Timestamp column
- stmt.setString(1, DateUtil.getDateAsString(new Timestamp(message
- .getTimestamp())));
+ stmt.setString(1, DateUtil.getDateAsString(new Timestamp(System.currentTimeMillis())));
// Message context column
stmt.setString(2, StringUtil.truncString(message.getContext(),
@@ -224,11 +223,11 @@
maxGeneralLength));
// Message hostname column
- stmt.setString(6, StringUtil.truncString(message.getHostName(),
+ stmt.setString(6, StringUtil.truncString("n/a", //$NON-NLS-1$
maxGeneralLength));
// Message VM ID column
- stmt.setString(7, StringUtil.truncString(message.getProcessName(),
+ stmt.setString(7, StringUtil.truncString("n/a", //$NON-NLS-1$
maxGeneralLength));
// Insert the row into the table
Modified: trunk/server/src/main/java/com/metamatrix/platform/security/audit/destination/SingleFileAuditDestination.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/platform/security/audit/destination/SingleFileAuditDestination.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/server/src/main/java/com/metamatrix/platform/security/audit/destination/SingleFileAuditDestination.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -31,8 +31,8 @@
import com.metamatrix.common.config.CurrentConfiguration;
import com.metamatrix.common.log.LogManager;
import com.metamatrix.core.util.StringUtil;
+import com.metamatrix.dqp.service.AuditMessage;
import com.metamatrix.platform.PlatformPlugin;
-import com.metamatrix.platform.security.audit.AuditMessage;
import com.metamatrix.platform.security.util.LogSecurityConstants;
import com.metamatrix.platform.util.ErrorMessageKeys;
Modified: trunk/server/src/main/java/com/metamatrix/platform/security/audit/format/AuditMessageFormat.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/platform/security/audit/format/AuditMessageFormat.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/server/src/main/java/com/metamatrix/platform/security/audit/format/AuditMessageFormat.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -22,7 +22,7 @@
package com.metamatrix.platform.security.audit.format;
-import com.metamatrix.platform.security.audit.AuditMessage;
+import com.metamatrix.dqp.service.AuditMessage;
public interface AuditMessageFormat {
Modified: trunk/server/src/main/java/com/metamatrix/platform/security/audit/format/DelimitedAuditMessageFormat.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/platform/security/audit/format/DelimitedAuditMessageFormat.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/server/src/main/java/com/metamatrix/platform/security/audit/format/DelimitedAuditMessageFormat.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -26,7 +26,7 @@
import java.text.SimpleDateFormat;
import java.util.Date;
-import com.metamatrix.platform.security.audit.AuditMessage;
+import com.metamatrix.dqp.service.AuditMessage;
/**
* This class formats AuditMessages using a format with delimiters that is easily parsed.
@@ -50,11 +50,11 @@
return DEFAULT_FORMATTED_MESSAGE;
}
StringBuffer msg = new StringBuffer();
- msg.append( DATE_FORMATTER.format( new Date(message.getTimestamp()) ) );
+ msg.append( DATE_FORMATTER.format( new Date(System.currentTimeMillis()) ) );
msg.append( DELIMITER_CHAR );
- msg.append( message.getHostName() );
+ msg.append( "n/a"); //$NON-NLS-1$
msg.append( DELIMITER_CHAR );
- msg.append( message.getProcessName() );
+ msg.append( "n/a" ); //$NON-NLS-1$
msg.append( DELIMITER_CHAR );
msg.append( message.getPrincipal() );
msg.append( DELIMITER_CHAR );
Modified: trunk/server/src/main/java/com/metamatrix/platform/security/audit/format/ReadableAuditMessageFormat.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/platform/security/audit/format/ReadableAuditMessageFormat.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/server/src/main/java/com/metamatrix/platform/security/audit/format/ReadableAuditMessageFormat.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -26,7 +26,7 @@
import java.text.SimpleDateFormat;
import java.util.Date;
-import com.metamatrix.platform.security.audit.AuditMessage;
+import com.metamatrix.dqp.service.AuditMessage;
public class ReadableAuditMessageFormat implements AuditMessageFormat {
@@ -46,11 +46,11 @@
return DEFAULT_FORMATTED_MESSAGE;
}
StringBuffer msg = new StringBuffer();
- msg.append( DATE_FORMATTER.format( new Date(message.getTimestamp()) ) );
+ msg.append( DATE_FORMATTER.format( new Date(System.currentTimeMillis()) ) );
msg.append(" ["); //$NON-NLS-1$
- msg.append( message.getHostName() );
+ msg.append( "n/a" ); //$NON-NLS-1$
msg.append( '|' );
- msg.append( message.getProcessName() );
+ msg.append( "n/a" ); //$NON-NLS-1$
msg.append( '|' );
msg.append( message.getPrincipal() );
msg.append("] <"); //$NON-NLS-1$
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-06-12 18:05:14 UTC (rev 1052)
+++ trunk/server/src/main/java/com/metamatrix/platform/security/authorization/service/AuthorizationServiceImpl.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -53,7 +53,10 @@
import com.metamatrix.common.connection.TransactionMgr;
import com.metamatrix.common.log.LogManager;
import com.metamatrix.common.properties.UnmodifiableProperties;
+import com.metamatrix.common.util.LogContextsUtil;
+import com.metamatrix.core.log.MessageLevel;
import com.metamatrix.dqp.ResourceFinder;
+import com.metamatrix.dqp.service.AuditMessage;
import com.metamatrix.platform.PlatformPlugin;
import com.metamatrix.platform.admin.api.EntitlementMigrationReport;
import com.metamatrix.platform.admin.api.PermissionDataNode;
@@ -241,14 +244,17 @@
public boolean checkAccess(SessionToken sessionToken, String contextName, AuthorizationPermission request)
throws InvalidSessionException, AuthorizationMgmtException {
LogManager.logDetail(LogSecurityConstants.CTX_AUTHORIZATION, new Object[]{"checkAccess(", sessionToken, ", ", contextName, ", ", request, ")"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+
// Audit - request
- auditManager.record(contextName, "checkAccess-request", sessionToken.getUsername(), request.getResourceName()); //$NON-NLS-1$
-
+ AuditMessage msg = new AuditMessage(contextName, "checkAccess-request", sessionToken.getUsername(), new Object[]{request.getResourceName()}); //$NON-NLS-1$
+ LogManager.log(MessageLevel.INFO, LogContextsUtil.CommonConstants.CTX_AUDITLOGGING, msg);
+
boolean hasAccess = checkAccess(sessionToken, contextName, request, false);
if (!hasAccess) {
// Audit - denied
- auditManager.record(contextName, "checkAccess-denied", sessionToken.getUsername(), request.getResourceName()); //$NON-NLS-1$
+ msg = new AuditMessage(contextName, "checkAccess-denied", sessionToken.getUsername(), new Object[]{request.getResourceName()}); //$NON-NLS-1$
+ LogManager.log(MessageLevel.INFO, LogContextsUtil.CommonConstants.CTX_AUDITLOGGING, msg);
}
return hasAccess;
}
@@ -293,12 +299,23 @@
* @throws AuthorizationMgmtException if this service is unable to locate resources required
* for this operation
*/
- public Collection getInaccessibleResources(SessionToken sessionToken, String contextName, Collection requests)
+ public Collection getInaccessibleResources(SessionToken sessionToken, String context, Collection requests)
throws InvalidSessionException, AuthorizationMgmtException {
- LogManager.logDetail(LogSecurityConstants.CTX_AUTHORIZATION, new Object[]{"getInaccessibleResources(", sessionToken, ", ", contextName, ", ", requests, ")"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ LogManager.logDetail(LogSecurityConstants.CTX_AUTHORIZATION, new Object[]{"getInaccessibleResources(", sessionToken, ", ", context, ", ", requests, ")"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ List resources = new ArrayList();
+ if (requests != null && ! requests.isEmpty()) {
+ Iterator permItr = requests.iterator();
+ while ( permItr.hasNext() ) {
+ resources.add(((AuthorizationPermission)permItr.next()).getResourceName());
+ }
+ }
+
// Audit - request
- auditManager.record(contextName, "getInaccessibleResources-request", sessionToken.getUsername(), requests); //$NON-NLS-1$
+ if (!resources.isEmpty()) {
+ AuditMessage msg = new AuditMessage( context, "getInaccessibleResources-request", sessionToken.getUsername(), resources.toArray()); //$NON-NLS-1$
+ LogManager.log(MessageLevel.INFO, context, msg);
+ }
if (isEntitled(sessionToken.getUsername())) {
return Collections.EMPTY_LIST;
@@ -328,10 +345,17 @@
if (results.isEmpty()) {
// Audit - granted all requests
- auditManager.record(contextName, "getInaccessibleResources-granted all", sessionToken.getUsername(), requests); //$NON-NLS-1$
+ if (!resources.isEmpty()) {
+ AuditMessage msg = new AuditMessage( context, "getInaccessibleResources-granted all", sessionToken.getUsername(), resources.toArray()); //$NON-NLS-1$
+ LogManager.log(MessageLevel.INFO, context, msg);
+ }
+
} else {
// Audit - denied
- auditManager.record(contextName, "getInaccessibleResources-denied", sessionToken.getUsername(), results); //$NON-NLS-1$
+ if (!resources.isEmpty()) {
+ AuditMessage msg = new AuditMessage( context, "getInaccessibleResources-denied", sessionToken.getUsername(), resources.toArray()); //$NON-NLS-1$
+ LogManager.log(MessageLevel.INFO, context, msg);
+ }
}
return results;
}
@@ -1529,8 +1553,9 @@
return result;
}
// Audit - access modify
- auditManager.record(SecurityAuditContexts.CTX_AUTHORIZATION, "executeTransaction-modify", administrator.getUsername(), this.printActions(actions)); //$NON-NLS-1$
-
+ AuditMessage logMsg = new AuditMessage(SecurityAuditContexts.CTX_AUTHORIZATION, "executeTransaction-modify", administrator.getUsername(), new Object[]{this.printActions(actions)}); //$NON-NLS-1$
+ LogManager.log(MessageLevel.INFO, LogContextsUtil.CommonConstants.CTX_AUDITLOGGING, logMsg);
+
List actionsWithSameTarget = new ArrayList(7); // guessing at an initial size, probably high
Object currentTarget = null;
ActionDefinition currentAction = null;
Modified: trunk/server/src/main/java/com/metamatrix/server/dqp/config/PlatformConfigSource.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/server/dqp/config/PlatformConfigSource.java 2009-06-12 18:05:14 UTC (rev 1052)
+++ trunk/server/src/main/java/com/metamatrix/server/dqp/config/PlatformConfigSource.java 2009-06-15 20:21:26 UTC (rev 1053)
@@ -35,7 +35,6 @@
import com.metamatrix.common.config.api.Host;
import com.metamatrix.common.util.PropertiesUtils;
import com.metamatrix.core.MetaMatrixRuntimeException;
-import com.metamatrix.dqp.service.CustomizableTrackingService;
import com.metamatrix.dqp.service.DQPServiceNames;
import com.metamatrix.dqp.service.metadata.IndexMetadataService;
import com.metamatrix.dqp.service.metadata.QueryMetadataCache;
@@ -50,7 +49,6 @@
import com.metamatrix.server.dqp.service.PlatformDataService;
import com.metamatrix.server.dqp.service.PlatformTransactionService;
import com.metamatrix.server.dqp.service.PlatformVDBService;
-import com.metamatrix.server.dqp.service.tracker.DatabaseCommandLogger;
/**
*/
@@ -76,10 +74,6 @@
dqpProps.setProperty(DQPConfigSource.STREAMING_BATCH_SIZE, streamingBatchSize);
}
- if (dqpProps.getProperty(DQPConfigSource.COMMAND_LOGGER_CLASSNAME) == null) {
- dqpProps.setProperty(DQPConfigSource.COMMAND_LOGGER_CLASSNAME, DatabaseCommandLogger.class.getName());
- }
-
this.host = host;
this.processName = processName;
}
@@ -94,7 +88,6 @@
@Override
public Map<String, Class<? extends ApplicationService>> getDefaultServiceClasses() {
Map<String, Class<? extends ApplicationService>> result = new HashMap<String, Class<? extends ApplicationService>>();
- result.put(DQPServiceNames.TRACKING_SERVICE, CustomizableTrackingService.class);
result.put(DQPServiceNames.BUFFER_SERVICE, PlatformBufferService.class);
result.put(DQPServiceNames.VDB_SERVICE, PlatformVDBService.class);
result.put(DQPServiceNames.METADATA_SERVICE, IndexMetadataService.class);
[View Less]
15 years, 9 months
teiid SVN: r1052 - trunk/test-integration.
by teiid-commits@lists.jboss.org
Author: rareddy
Date: 2009-06-12 14:05:14 -0400 (Fri, 12 Jun 2009)
New Revision: 1052
Modified:
trunk/test-integration/pom.xml
Log:
Modified: trunk/test-integration/pom.xml
===================================================================
--- trunk/test-integration/pom.xml 2009-06-12 17:50:15 UTC (rev 1051)
+++ trunk/test-integration/pom.xml 2009-06-12 18:05:14 UTC (rev 1052)
@@ -57,12 +57,6 @@
</dependency>
<dependency>
<groupId>org.jboss.teiid</groupId&…
[View More]gt;
- <artifactId>teiid-console</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
- </dependency>
- <dependency>
- <groupId>org.jboss.teiid</groupId>
<artifactId>teiid-engine</artifactId>
<type>test-jar</type>
</dependency>
[View Less]
15 years, 9 months
teiid SVN: r1051 - trunk.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2009-06-12 13:50:15 -0400 (Fri, 12 Jun 2009)
New Revision: 1051
Removed:
trunk/console/
Log:
removing the console from trunk. if needed use 6.1 for the console codebase
15 years, 9 months
teiid SVN: r1050 - trunk.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2009-06-12 13:50:10 -0400 (Fri, 12 Jun 2009)
New Revision: 1050
Modified:
trunk/pom.xml
Log:
removing the console from trunk. if needed use 6.1 for the console codebase
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2009-06-12 16:11:58 UTC (rev 1049)
+++ trunk/pom.xml 2009-06-12 17:50:10 UTC (rev 1050)
@@ -452,7 +452,6 @@
<module>metadata</module>
<module>txn-jbossts</module…
[View More]>
<module>connector-sdk</module>
- <module>console</module>
<module>server</module>
<module>soap</module>
<module>embedded</module>
[View Less]
15 years, 9 months
teiid SVN: r1049 - in trunk/engine/src: main/java/com/metamatrix/query/optimizer/relational/rules and 9 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2009-06-12 12:11:58 -0400 (Fri, 12 Jun 2009)
New Revision: 1049
Removed:
trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleRemoveSorts.java
Modified:
trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/RelationalPlanner.java
trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/CriteriaCapabilityValidatorVisitor.java
trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/…
[View More]RuleConstants.java
trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleRemoveOptionalJoins.java
trunk/engine/src/main/java/com/metamatrix/query/processor/QueryProcessor.java
trunk/engine/src/main/java/com/metamatrix/query/processor/dynamic/SqlEval.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/SubqueryAwareEvaluator.java
trunk/engine/src/main/java/com/metamatrix/query/rewriter/QueryRewriter.java
trunk/engine/src/main/java/com/metamatrix/query/sql/lang/Criteria.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/CachedRequestWorkItem.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java
trunk/engine/src/test/java/com/metamatrix/query/optimizer/TestSubqueryPushdown.java
trunk/engine/src/test/java/com/metamatrix/query/optimizer/relational/TestAliasGenerator.java
trunk/engine/src/test/java/com/metamatrix/query/processor/TestInsertProcessing.java
trunk/engine/src/test/java/com/metamatrix/query/processor/TestProcessor.java
trunk/engine/src/test/java/com/metamatrix/query/processor/TestQueryProcessor.java
Log:
TEIID-660 moving sort removal to the rewriter and fixing the exception handling of the batch handler
Modified: trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/RelationalPlanner.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/RelationalPlanner.java 2009-06-12 16:09:08 UTC (rev 1048)
+++ trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/RelationalPlanner.java 2009-06-12 16:11:58 UTC (rev 1049)
@@ -348,9 +348,6 @@
rules.push(RuleConstants.REMOVE_OPTIONAL_JOINS);
}
rules.push(RuleConstants.PLACE_ACCESS);
- if(hints.hasSort) {
- rules.push(RuleConstants.REMOVE_SORTS);
- }
return rules;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/CriteriaCapabilityValidatorVisitor.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/CriteriaCapabilityValidatorVisitor.java 2009-06-12 16:09:08 UTC (rev 1048)
+++ trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/CriteriaCapabilityValidatorVisitor.java 2009-06-12 16:11:58 UTC (rev 1049)
@@ -284,7 +284,7 @@
*/
public void visit(SubqueryCompareCriteria crit) {
// Check if quantification operator is allowed
- Capability capability = null;
+ Capability capability = Capability.QUERY_SUBQUERIES_SCALAR;
switch(crit.getPredicateQuantifier()) {
case SubqueryCompareCriteria.ALL:
capability = Capability.CRITERIA_QUANTIFIED_ALL;
Modified: trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleConstants.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleConstants.java 2009-06-12 16:09:08 UTC (rev 1048)
+++ trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleConstants.java 2009-06-12 16:11:58 UTC (rev 1049)
@@ -28,7 +28,6 @@
private RuleConstants() { }
- public static final OptimizerRule REMOVE_SORTS = new RuleRemoveSorts();
public static final OptimizerRule PLACE_ACCESS = new RulePlaceAccess();
public static final OptimizerRule PUSH_SELECT_CRITERIA = new RulePushSelectCriteria();
public static final OptimizerRule ACCESS_PATTERN_VALIDATION = new RuleAccessPatternValidation();
Modified: trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleRemoveOptionalJoins.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleRemoveOptionalJoins.java 2009-06-12 16:09:08 UTC (rev 1048)
+++ trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleRemoveOptionalJoins.java 2009-06-12 16:11:58 UTC (rev 1049)
@@ -272,14 +272,6 @@
return false;
}
- private boolean isOptional(HashSet optionElements,
- LanguageObject languageObject) {
- Collection elementsUsed = ElementCollectorVisitor.getElements(languageObject, true);
- elementsUsed.retainAll(optionElements);
- return !elementsUsed.isEmpty();
- }
-
-
public String toString() {
return "RuleRemoveOptionalJoins"; //$NON-NLS-1$
}
Deleted: trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleRemoveSorts.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleRemoveSorts.java 2009-06-12 16:09:08 UTC (rev 1048)
+++ trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleRemoveSorts.java 2009-06-12 16:11:58 UTC (rev 1049)
@@ -1,66 +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.query.optimizer.relational.rules;
-
-import com.metamatrix.query.analysis.AnalysisRecord;
-import com.metamatrix.query.metadata.QueryMetadataInterface;
-import com.metamatrix.query.optimizer.capabilities.CapabilitiesFinder;
-import com.metamatrix.query.optimizer.relational.OptimizerRule;
-import com.metamatrix.query.optimizer.relational.RuleStack;
-import com.metamatrix.query.optimizer.relational.plantree.NodeConstants;
-import com.metamatrix.query.optimizer.relational.plantree.NodeEditor;
-import com.metamatrix.query.optimizer.relational.plantree.PlanNode;
-import com.metamatrix.query.util.CommandContext;
-
-/**
- * Removes all nested sorts that are not under a limit. These sorts are considered unnecessary
- * since inline views and virtual layers represent unordered tuple sets.
- */
-public final class RuleRemoveSorts implements OptimizerRule {
-
- public RuleRemoveSorts() {
- }
-
- public PlanNode execute(PlanNode plan, QueryMetadataInterface metadata, CapabilitiesFinder capFinder, RuleStack rules, AnalysisRecord analysisRecord, CommandContext context) {
-
- for (PlanNode node : NodeEditor.findAllNodes(plan, NodeConstants.Types.SORT)) {
- PlanNode parent = node.getParent();
-
- if(parent == null) {
- continue;
- }
-
- if(parent.getType() != NodeConstants.Types.TUPLE_LIMIT) {
- // Remove sort node
- NodeEditor.removeChildNode(parent, node);
- }
- }
-
- return plan;
- }
-
- public String toString() {
- return "RemoveSorts"; //$NON-NLS-1$
- }
-
-}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/QueryProcessor.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/QueryProcessor.java 2009-06-12 16:09:08 UTC (rev 1048)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/QueryProcessor.java 2009-06-12 16:11:58 UTC (rev 1049)
@@ -52,7 +52,7 @@
}
public interface BatchHandler {
- void batchProduced(TupleBatch batch) throws MetaMatrixCoreException;
+ void batchProduced(TupleBatch batch) throws MetaMatrixProcessingException, MetaMatrixComponentException;
}
private TupleSourceID resultsID;
@@ -121,7 +121,7 @@
* @throws MetaMatrixCoreException
*/
public void process()
- throws BlockedException, MetaMatrixCoreException {
+ throws BlockedException, MetaMatrixProcessingException, MetaMatrixComponentException {
while(true) {
try {
@@ -144,7 +144,7 @@
* @return
*/
public boolean process(long time)
- throws BlockedException, MetaMatrixCoreException {
+ throws BlockedException, MetaMatrixProcessingException, MetaMatrixComponentException {
boolean done = false;
@@ -173,7 +173,13 @@
} catch (MetaMatrixException e1){
LogManager.logDetail(LogConstants.CTX_DQP, e1, "Error closing processor"); //$NON-NLS-1$
}
- throw e;
+ if (e instanceof MetaMatrixProcessingException) {
+ throw (MetaMatrixProcessingException)e;
+ }
+ if (e instanceof MetaMatrixComponentException) {
+ throw (MetaMatrixComponentException)e;
+ }
+ throw new MetaMatrixComponentException(e);
} finally {
bufferMgr.releasePinnedBatches();
}
@@ -188,7 +194,7 @@
/**
* Flush the batch by giving it to the buffer manager.
*/
- private void flushBatch(TupleBatch batch) throws MetaMatrixCoreException {
+ private void flushBatch(TupleBatch batch) throws MetaMatrixComponentException, MetaMatrixProcessingException {
if(batch.getRowCount() > 0) {
this.bufferMgr.addTupleBatch(this.resultsID, batch);
this.highestRow = batch.getEndRow();
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/dynamic/SqlEval.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/dynamic/SqlEval.java 2009-06-12 16:09:08 UTC (rev 1048)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/dynamic/SqlEval.java 2009-06-12 16:11:58 UTC (rev 1049)
@@ -76,15 +76,7 @@
}
openTupleList.add(processor.getResultsID());
- try {
- processor.process();
- } catch(MetaMatrixComponentException e) {
- throw e;
- } catch(MetaMatrixProcessingException e) {
- throw e;
- } catch (MetaMatrixCoreException e) {
- throw new MetaMatrixComponentException(e, e.getMessage());
- }
+ processor.process();
TupleSourceID tsID = processor.getResultsID();
TupleSource src = this.bufferMgr.getTupleSource(tsID);
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/relational/SubqueryAwareEvaluator.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/relational/SubqueryAwareEvaluator.java 2009-06-12 16:09:08 UTC (rev 1048)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/SubqueryAwareEvaluator.java 2009-06-12 16:11:58 UTC (rev 1049)
@@ -32,7 +32,6 @@
import com.metamatrix.common.buffer.BufferManager;
import com.metamatrix.common.buffer.TupleSourceID;
import com.metamatrix.common.buffer.TupleSourceNotFoundException;
-import com.metamatrix.core.MetaMatrixCoreException;
import com.metamatrix.query.eval.Evaluator;
import com.metamatrix.query.processor.ProcessorDataManager;
import com.metamatrix.query.processor.ProcessorPlan;
@@ -127,15 +126,7 @@
state.processor.getContext().pushVariableContext(currentContext);
}
}
- try {
- state.processor.process(Integer.MAX_VALUE);
- } catch (MetaMatrixComponentException e) {
- throw e;
- } catch (MetaMatrixProcessingException e) {
- throw e;
- } catch (MetaMatrixCoreException e) {
- throw new MetaMatrixComponentException(e);
- }
+ state.processor.process(Integer.MAX_VALUE);
state.done = true;
state.processor.getProcessorPlan().reset();
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/rewriter/QueryRewriter.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/rewriter/QueryRewriter.java 2009-06-12 16:09:08 UTC (rev 1048)
+++ trunk/engine/src/main/java/com/metamatrix/query/rewriter/QueryRewriter.java 2009-06-12 16:11:58 UTC (rev 1049)
@@ -174,7 +174,7 @@
private QueryRewriter() { }
public static Command rewrite(Command command, Command procCommand, QueryMetadataInterface metadata, CommandContext context) throws QueryValidatorException {
- return rewriteCommand(command, procCommand, metadata, context);
+ return rewriteCommand(command, procCommand, metadata, context, false);
}
/**
@@ -184,10 +184,11 @@
* @param procCommand
* @param metadata
* @param context
+ * @param removeOrderBy
* @return
* @throws QueryValidatorException
*/
- private static Command rewriteCommand(Command command, Command procCommand, final QueryMetadataInterface metadata, final CommandContext context) throws QueryValidatorException {
+ private static Command rewriteCommand(Command command, Command procCommand, final QueryMetadataInterface metadata, final CommandContext context, boolean removeOrderBy) throws QueryValidatorException {
//TODO: this should be merged with the normal functioning of the rewriter
CorrelatedVariableSubstitutionVisitor.substituteVariables(command);
@@ -205,6 +206,12 @@
}else {
command = rewriteSetQuery((SetQuery) command, procCommand, rewriteMetadata, context);
}
+ if (removeOrderBy) {
+ QueryCommand queryCommand = (QueryCommand)command;
+ if (queryCommand.getLimit() == null) {
+ queryCommand.setOrderBy(null);
+ }
+ }
break;
case Command.TYPE_STORED_PROCEDURE:
command = rewriteExec((StoredProcedure) command, procCommand, rewriteMetadata, context);
@@ -245,7 +252,7 @@
}
}
- subCommand = rewriteCommand(subCommand, procCommand, metadata, context);
+ subCommand = rewriteCommand(subCommand, procCommand, metadata, context, false);
subCommands.set(i, subCommand);
}
}
@@ -410,7 +417,7 @@
expr = rewriteExpression(expr, procCommand, context, metadata);
assStmt.setExpression(expr);
} else if (assStmt.hasCommand()) {
- rewriteSubqueryContainer(assStmt, procCommand, context, metadata);
+ rewriteSubqueryContainer(assStmt, procCommand, context, metadata, false);
if(assStmt.getCommand().getType() == Command.TYPE_UPDATE) {
Update update = (Update)assStmt.getCommand();
@@ -422,7 +429,7 @@
return assStmt;
case Statement.TYPE_COMMAND:
CommandStatement cmdStmt = (CommandStatement) statement;
- rewriteSubqueryContainer(cmdStmt, procCommand, context, metadata);
+ rewriteSubqueryContainer(cmdStmt, procCommand, context, metadata, false);
if(cmdStmt.getCommand().getType() == Command.TYPE_UPDATE) {
Update update = (Update)cmdStmt.getCommand();
@@ -434,7 +441,7 @@
case Statement.TYPE_LOOP:
LoopStatement loop = (LoopStatement)statement;
- rewriteSubqueryContainer(loop, procCommand, context, metadata);
+ rewriteSubqueryContainer(loop, procCommand, context, metadata, false);
rewriteBlock(loop.getBlock(), procCommand, context, metadata);
@@ -470,13 +477,14 @@
* @param procCommand
* @param context
* @param metadata
+ * @param removeOrderBy
* @param assStmt
* @throws QueryValidatorException
*/
private static void rewriteSubqueryContainer(SubqueryContainer container, Command procCommand,
- CommandContext context, QueryMetadataInterface metadata) throws QueryValidatorException {
+ CommandContext context, QueryMetadataInterface metadata, boolean removeOrderBy) throws QueryValidatorException {
if (container.getCommand() != null && container.getCommand().getProcessorPlan() == null && metadata != null) {
- container.setCommand(rewriteCommand(container.getCommand(), procCommand, metadata, context));
+ container.setCommand(rewriteCommand(container.getCommand(), procCommand, metadata, context, removeOrderBy));
}
}
@@ -679,7 +687,6 @@
from.setClauses(clauses);
} else {
query.setOrderBy(null);
- //query.setGroupBy(null); -- TODO: validation exception
}
// Rewrite criteria
@@ -937,8 +944,8 @@
setQuery.setProjectedTypes(null);
}
- setQuery.setLeftQuery((QueryCommand)rewriteCommand(setQuery.getLeftQuery(), procCommand, metadata, context));
- setQuery.setRightQuery((QueryCommand)rewriteCommand(setQuery.getRightQuery(), procCommand, metadata, context));
+ setQuery.setLeftQuery((QueryCommand)rewriteCommand(setQuery.getLeftQuery(), procCommand, metadata, context, true));
+ setQuery.setRightQuery((QueryCommand)rewriteCommand(setQuery.getRightQuery(), procCommand, metadata, context, true));
if (setQuery.getOrderBy() != null) {
makeSelectUnique(setQuery.getProjectedQuery(), true);
@@ -959,7 +966,7 @@
} else if (clause instanceof UnaryFromClause) {
rewriteUnaryFromClause(parent, (UnaryFromClause)clause, metadata, context);
} else if (clause instanceof SubqueryFromClause) {
- rewriteSubqueryContainer((SubqueryFromClause)clause, procCommand, context, metadata);
+ rewriteSubqueryContainer((SubqueryFromClause)clause, procCommand, context, metadata, true);
}
return clause;
}
@@ -972,7 +979,7 @@
return;
}
- ufc.setExpandedCommand(rewriteCommand(nestedCommand, null, metadata, context));
+ ufc.setExpandedCommand(rewriteCommand(nestedCommand, null, metadata, context, true));
}
private static JoinPredicate rewriteJoinPredicate(Query parent, JoinPredicate predicate, Command procCommand,
@@ -1050,13 +1057,13 @@
} else if(criteria instanceof TranslateCriteria) {
criteria = rewriteCriteria((TranslateCriteria)criteria, procCommand, context, metadata);
} else if (criteria instanceof ExistsCriteria) {
- rewriteSubqueryContainer((SubqueryContainer)criteria, procCommand, context, metadata);
+ rewriteSubqueryContainer((SubqueryContainer)criteria, procCommand, context, metadata, true);
} else if (criteria instanceof SubquerySetCriteria) {
SubquerySetCriteria sub = (SubquerySetCriteria)criteria;
if (isNull(sub.getExpression())) {
return UNKNOWN_CRITERIA;
}
- rewriteSubqueryContainer((SubqueryContainer)criteria, procCommand, context, metadata);
+ rewriteSubqueryContainer((SubqueryContainer)criteria, procCommand, context, metadata, true);
} else if (criteria instanceof DependentSetCriteria) {
criteria = rewriteCriteria((AbstractSetCriteria)criteria, procCommand, context, metadata);
}
@@ -1272,7 +1279,7 @@
criteria.setPredicateQuantifier(SubqueryCompareCriteria.SOME);
}
- rewriteSubqueryContainer(criteria, procCommand, context, metadata);
+ rewriteSubqueryContainer(criteria, procCommand, context, metadata, true);
return criteria;
}
@@ -1943,7 +1950,7 @@
} else if (expression instanceof SearchedCaseExpression) {
return rewriteCaseExpression((SearchedCaseExpression)expression, procCommand, context, metadata);
} else if (expression instanceof ScalarSubquery) {
- rewriteSubqueryContainer((ScalarSubquery)expression, procCommand, context, metadata);
+ rewriteSubqueryContainer((ScalarSubquery)expression, procCommand, context, metadata, true);
return expression;
} else if (expression instanceof ExpressionSymbol && !(expression instanceof AggregateSymbol)) {
return rewriteExpression(((ExpressionSymbol)expression).getExpression(), procCommand, context, metadata);
Modified: trunk/engine/src/main/java/com/metamatrix/query/sql/lang/Criteria.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/sql/lang/Criteria.java 2009-06-12 16:09:08 UTC (rev 1048)
+++ trunk/engine/src/main/java/com/metamatrix/query/sql/lang/Criteria.java 2009-06-12 16:11:58 UTC (rev 1049)
@@ -65,12 +65,12 @@
* @param crit Criteria to break apart
* @return List of Criteria, empty list if crit is null
*/
- public static List separateCriteriaByAnd(Criteria crit) {
+ public static List<Criteria> separateCriteriaByAnd(Criteria crit) {
if(crit == null) {
- return Collections.EMPTY_LIST;
+ return Collections.emptyList();
}
- List parts = new ArrayList();
+ List<Criteria> parts = new ArrayList<Criteria>();
separateCriteria(crit, parts);
return parts;
}
@@ -93,14 +93,12 @@
* @param crit Crit to break apart
* @param parts Collection to add parts to
*/
- private static void separateCriteria(Criteria crit, Collection parts) {
+ private static void separateCriteria(Criteria crit, Collection<Criteria> parts) {
if(crit instanceof CompoundCriteria) {
CompoundCriteria compCrit = (CompoundCriteria) crit;
if(compCrit.getOperator() == CompoundCriteria.AND) {
- List subCrits = compCrit.getCriteria();
- Iterator iter = subCrits.iterator();
- while(iter.hasNext()) {
- separateCriteria((Criteria) iter.next(), parts);
+ for (Criteria conjunct : compCrit.getCriteria()) {
+ separateCriteria(conjunct, parts);
}
} else {
parts.add(crit);
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/CachedRequestWorkItem.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/CachedRequestWorkItem.java 2009-06-12 16:09:08 UTC (rev 1048)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/CachedRequestWorkItem.java 2009-06-12 16:11:58 UTC (rev 1049)
@@ -35,7 +35,6 @@
import com.metamatrix.common.buffer.TupleBatch;
import com.metamatrix.common.buffer.TupleSourceNotFoundException;
import com.metamatrix.common.comm.api.ResultsReceiver;
-import com.metamatrix.common.comm.exception.CommunicationException;
import com.metamatrix.core.MetaMatrixCoreException;
import com.metamatrix.dqp.message.RequestID;
import com.metamatrix.dqp.message.RequestMessage;
@@ -66,7 +65,7 @@
@Override
protected void sendResultsIfNeeded(TupleBatch batch)
throws BlockedOnMemoryException, MetaMatrixComponentException,
- CommunicationException, TupleSourceNotFoundException {
+ TupleSourceNotFoundException {
synchronized (this.resultsCursor) {
if (!this.resultsCursor.resultsRequested) {
return;
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java 2009-06-12 16:09:08 UTC (rev 1048)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java 2009-06-12 16:11:58 UTC (rev 1049)
@@ -33,7 +33,6 @@
import com.metamatrix.common.buffer.TupleSource;
import com.metamatrix.common.comm.api.ResultsReceiver;
import com.metamatrix.common.log.LogManager;
-import com.metamatrix.core.MetaMatrixCoreException;
import com.metamatrix.core.util.Assertion;
import com.metamatrix.dqp.DQPPlugin;
import com.metamatrix.dqp.internal.datamgr.ConnectorID;
@@ -206,8 +205,7 @@
processor.setBatchHandler(new QueryProcessor.BatchHandler() {
@Override
- public void batchProduced(TupleBatch batch)
- throws MetaMatrixCoreException {
+ public void batchProduced(TupleBatch batch) throws MetaMatrixProcessingException {
// Determine whether the results should be added to code table cache
// Depends on size of results and available memory and system parameters
@@ -221,12 +219,6 @@
//process lookup as fully blocking
processor.process();
success = true;
- } catch (MetaMatrixProcessingException e) {
- throw e;
- } catch (MetaMatrixComponentException e) {
- throw e;
- } catch (MetaMatrixCoreException e) {
- throw new MetaMatrixComponentException(e);
} finally {
Collection requests = null;
if (success) {
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java 2009-06-12 16:09:08 UTC (rev 1048)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java 2009-06-12 16:11:58 UTC (rev 1049)
@@ -53,7 +53,6 @@
import com.metamatrix.common.buffer.TupleSourceNotFoundException;
import com.metamatrix.common.buffer.BufferManager.TupleSourceStatus;
import com.metamatrix.common.comm.api.ResultsReceiver;
-import com.metamatrix.common.comm.exception.CommunicationException;
import com.metamatrix.common.lob.LobChunk;
import com.metamatrix.common.log.LogManager;
import com.metamatrix.common.types.DataTypeManager;
@@ -369,8 +368,7 @@
originalCommand = request.userCommand;
processor = request.processor;
processor.setBatchHandler(new BatchHandler() {
- public void batchProduced(TupleBatch batch)
- throws MetaMatrixCoreException {
+ public void batchProduced(TupleBatch batch) throws BlockedOnMemoryException, TupleSourceNotFoundException, MetaMatrixComponentException {
//if there is a cache, and it is a query, save it
if(rsCache != null && requestMsg.useResultSetCache() && originalCommand.areResultsCachable() && transactionState == TransactionState.NONE && !rsCache.hasResults(cid)){
CacheResults cr = new CacheResults(batch.getAllTuples(), processor.getProcessorPlan().getOutputElements(), batch.getBeginRow(), !doneProducingBatches);
@@ -411,7 +409,7 @@
* Send results if they have been requested. This should only be called from the processing thread.
*/
protected void sendResultsIfNeeded(TupleBatch batch) throws BlockedOnMemoryException,
- MetaMatrixComponentException, TupleSourceNotFoundException, CommunicationException {
+ MetaMatrixComponentException, TupleSourceNotFoundException {
synchronized (resultsCursor) {
if (!this.resultsCursor.resultsRequested
Modified: trunk/engine/src/test/java/com/metamatrix/query/optimizer/TestSubqueryPushdown.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/optimizer/TestSubqueryPushdown.java 2009-06-12 16:09:08 UTC (rev 1048)
+++ trunk/engine/src/test/java/com/metamatrix/query/optimizer/TestSubqueryPushdown.java 2009-06-12 16:11:58 UTC (rev 1049)
@@ -546,7 +546,7 @@
capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
capFinder.addCapabilities("pm2", new BasicSourceCapabilities()); //$NON-NLS-1$
- ProcessorPlan plan = helpPlan("Select e1 from pm1.g1 where e1 in (SELECT e1 FROM pm1.g2 ORDER BY e1)", FakeMetadataFactory.example1Cached(), //$NON-NLS-1$
+ ProcessorPlan plan = helpPlan("Select e1 from pm1.g1 where e1 in (SELECT e1 FROM pm1.g2 ORDER BY e1 limit 2)", FakeMetadataFactory.example1Cached(), //$NON-NLS-1$
null, capFinder,
new String[] { "SELECT e1 FROM pm1.g1" }, SHOULD_SUCCEED); //$NON-NLS-1$
checkNodeTypes(plan, new int[] {
Modified: trunk/engine/src/test/java/com/metamatrix/query/optimizer/relational/TestAliasGenerator.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/optimizer/relational/TestAliasGenerator.java 2009-06-12 16:09:08 UTC (rev 1048)
+++ trunk/engine/src/test/java/com/metamatrix/query/optimizer/relational/TestAliasGenerator.java 2009-06-12 16:11:58 UTC (rev 1049)
@@ -88,7 +88,7 @@
public void testNestedInlineViewOrderBy() throws Exception {
String sql = "select * from (select intnum x from (select intnum from bqt1.smallb) b order by x) y order by x"; //$NON-NLS-1$
- String expected = "SELECT v_1.c_0 FROM (SELECT v_0.c_0 FROM (SELECT g_0.intnum AS c_0 FROM bqt1.smallb AS g_0) AS v_0 ORDER BY c_0) AS v_1 ORDER BY c_0"; //$NON-NLS-1$
+ String expected = "SELECT v_1.c_0 FROM (SELECT v_0.c_0 FROM (SELECT g_0.intnum AS c_0 FROM bqt1.smallb AS g_0) AS v_0) AS v_1 ORDER BY c_0"; //$NON-NLS-1$
helpTest(sql, expected, true, FakeMetadataFactory.exampleBQTCached());
}
Modified: trunk/engine/src/test/java/com/metamatrix/query/processor/TestInsertProcessing.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/processor/TestInsertProcessing.java 2009-06-12 16:09:08 UTC (rev 1048)
+++ trunk/engine/src/test/java/com/metamatrix/query/processor/TestInsertProcessing.java 2009-06-12 16:11:58 UTC (rev 1049)
@@ -1,6 +1,7 @@
package com.metamatrix.query.processor;
import static com.metamatrix.query.processor.TestProcessor.*;
+import static org.junit.Assert.*;
import java.util.ArrayList;
import java.util.Arrays;
Modified: trunk/engine/src/test/java/com/metamatrix/query/processor/TestProcessor.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/processor/TestProcessor.java 2009-06-12 16:09:08 UTC (rev 1048)
+++ trunk/engine/src/test/java/com/metamatrix/query/processor/TestProcessor.java 2009-06-12 16:11:58 UTC (rev 1049)
@@ -22,6 +22,8 @@
package com.metamatrix.query.processor;
+import static org.junit.Assert.*;
+
import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.SQLException;
@@ -38,7 +40,7 @@
import java.util.Properties;
import java.util.Set;
-import junit.framework.TestCase;
+import org.junit.Test;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixException;
@@ -74,11 +76,8 @@
import com.metamatrix.query.resolver.QueryResolver;
import com.metamatrix.query.resolver.util.BindVariableVisitor;
import com.metamatrix.query.rewriter.QueryRewriter;
-import com.metamatrix.query.sql.lang.BatchedUpdateCommand;
import com.metamatrix.query.sql.lang.Command;
-import com.metamatrix.query.sql.lang.Insert;
import com.metamatrix.query.sql.lang.SPParameter;
-import com.metamatrix.query.sql.symbol.Constant;
import com.metamatrix.query.sql.symbol.ElementSymbol;
import com.metamatrix.query.sql.symbol.Reference;
import com.metamatrix.query.sql.util.VariableContext;
@@ -92,12 +91,8 @@
import com.metamatrix.query.validator.Validator;
import com.metamatrix.query.validator.ValidatorReport;
-public class TestProcessor extends TestCase {
+public class TestProcessor {
- public TestProcessor(String name) {
- super(name);
- }
-
// ################################## TEST HELPERS ################################
static Command helpParse(String sql) {
@@ -829,7 +824,7 @@
return result;
}
- public void test1() {
+ @Test public void test1() {
// Create query
String sql = "SELECT pm1.g1.e1, e2, pm1.g1.e3 as a, e4 as b FROM pm1.g1"; //$NON-NLS-1$
@@ -854,7 +849,7 @@
helpProcess(plan, dataManager, expected);
}
- public void test2() {
+ @Test public void test2() {
// Create query
String sql = "SELECT COUNT(*) FROM pm1.g1"; //$NON-NLS-1$
@@ -874,7 +869,7 @@
helpProcess(plan, dataManager, expected);
}
- public void test3() {
+ @Test public void test3() {
// Create query
String sql = "SELECT COUNT(*), COUNT(e1), COUNT(distinct e1), COUNT(distinct e2), COUNT(distinct e3), COUNT(distinct e4) FROM pm1.g1"; //$NON-NLS-1$
@@ -895,7 +890,7 @@
}
/** see also integer average defect 11682 */
- public void test4() {
+ @Test public void test4() {
// Create query
String sql = "SELECT MIN(e2), MAX(e2), SUM(e2), AVG(e2), SUM(distinct e2), AVG(distinct e2) FROM pm1.g1"; //$NON-NLS-1$
@@ -915,7 +910,7 @@
helpProcess(plan, dataManager, expected);
}
- public void test5() {
+ @Test public void test5() {
// Create query
String sql = "SELECT MIN(e4), MAX(e4), SUM(e4), AVG(e4), SUM(distinct e4), AVG(distinct e4) FROM pm1.g1"; //$NON-NLS-1$
@@ -935,7 +930,7 @@
helpProcess(plan, dataManager, expected);
}
- public void test7() {
+ @Test public void test7() {
// Create query
String sql = "SELECT * FROM vm1.g1"; //$NON-NLS-1$
@@ -960,7 +955,7 @@
helpProcess(plan, dataManager, expected);
}
- public void test8() {
+ @Test public void test8() {
// Create query
String sql = "SELECT * FROM vm1.g2 order by 1, 2, 3"; //$NON-NLS-1$
@@ -990,7 +985,7 @@
helpProcess(plan, dataManager, expected);
}
- public void test9() {
+ @Test public void test9() {
// Create query
String sql = "SELECT * FROM vm1.g4 order by e1"; //$NON-NLS-1$
@@ -1021,7 +1016,7 @@
helpProcess(plan, dataManager, expected);
}
- public void test10() {
+ @Test public void test10() {
// Create query
String sql = "SELECT e1 FROM vm1.g4 where e1 = 'a'"; //$NON-NLS-1$
@@ -1043,7 +1038,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testBooleanComparisonGT() {
+ @Test public void testBooleanComparisonGT() {
// Create query
String sql = "SELECT pm1.g1.e3 FROM pm1.g1 WHERE e3 > {b'false'}"; //$NON-NLS-1$
@@ -1064,7 +1059,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testBooleanComparisonGE() {
+ @Test public void testBooleanComparisonGE() {
// Create query
String sql = "SELECT pm1.g1.e3 FROM pm1.g1 WHERE e3 >= {b'false'}"; //$NON-NLS-1$
@@ -1089,7 +1084,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testBooleanComparisonLT() {
+ @Test public void testBooleanComparisonLT() {
// Create query
String sql = "SELECT pm1.g1.e3 FROM pm1.g1 WHERE e3 < {b'true'}"; //$NON-NLS-1$
@@ -1112,7 +1107,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testBooleanComparisonLE() {
+ @Test public void testBooleanComparisonLE() {
// Create query
String sql = "SELECT pm1.g1.e3 FROM pm1.g1 WHERE e3 <= {b'true'}"; //$NON-NLS-1$
@@ -1137,7 +1132,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testConcatOperator() {
+ @Test public void testConcatOperator() {
// Create query
String sql = "SELECT pm1.g1.e1 || e2 AS x FROM pm1.g1"; //$NON-NLS-1$
@@ -1163,7 +1158,7 @@
}
/** Duplicates defect #4841: SELECT e1 a, e1 b FROM pm1.g1 order by a */
- public void testDefect4841_1() {
+ @Test public void testDefect4841_1() {
// Create query
String sql = "SELECT e1 a, e1 b FROM pm1.g1 order by a"; //$NON-NLS-1$
@@ -1189,7 +1184,7 @@
}
/** Duplicates defect #4841: SELECT e1 a, e1 b FROM pm1.g1 order by a, b desc */
- public void testDefect4841_2() {
+ @Test public void testDefect4841_2() {
// Create query
String sql = "SELECT e1 a, e1 b FROM pm1.g1 order by a"; //$NON-NLS-1$
@@ -1215,7 +1210,7 @@
}
/** Duplicates defect #5292: SELECT DISTINCT e1, e1 a FROM pm1.g1 */
- public void testDefect5292_1() {
+ @Test public void testDefect5292_1() {
// Create query
String sql = "SELECT DISTINCT e1, e1 a FROM pm1.g1"; //$NON-NLS-1$
@@ -1239,7 +1234,7 @@
}
/** Duplicates defect #5292: SELECT DISTINCT e1, e1 a FROM pm1.g1 ORDER BY a */
- public void testDefect5292_2() {
+ @Test public void testDefect5292_2() {
// Create query
String sql = "SELECT DISTINCT e1, e1 a FROM pm1.g1 ORDER BY a"; //$NON-NLS-1$
@@ -1263,7 +1258,7 @@
}
/** Duplicates defect #5004: SELECT COUNT(*) FROM pm1.g1 WHERE e1='xxxx' */
- public void testDefect5004() {
+ @Test public void testDefect5004() {
// Create query
String sql = "SELECT COUNT(*) FROM pm1.g1 WHERE e1='xxxx'"; //$NON-NLS-1$
@@ -1286,7 +1281,7 @@
/**
* Test to ensure that multiple empty batches are handled by the grouping node as well
*/
- public void testDefect5004a() {
+ @Test public void testDefect5004a() {
// Create query
String sql = "SELECT COUNT(*) FROM pm1.g1 WHERE e1='xxxx'"; //$NON-NLS-1$
@@ -1311,7 +1306,7 @@
}
/** SELECT COUNT(e2), MIN(e2), MAX(e2), SUM(e2), AVG(e2) FROM pm1.g1 WHERE e2=-999999 */
- public void test13() {
+ @Test public void test13() {
// Create query
String sql = "SELECT COUNT(e2), MIN(e2), MAX(e2), SUM(e2), AVG(e2) FROM pm1.g1 WHERE e2=-999999"; //$NON-NLS-1$
@@ -1341,7 +1336,7 @@
* (Alex says this wasn't previously a problem because aliased groups
* did not previously get pushed down to the source.)
*/
- public void testCriteriaAliasedGroup() {
+ @Test public void testCriteriaAliasedGroup() {
String sql = "select e1, e2 FROM pm2.g1 Y WHERE 2.0 = e4"; //$NON-NLS-1$
// Create expected results
@@ -1361,7 +1356,7 @@
}
/** SELECT e1 FROM pm1.g1 WHERE 'abc' = 'xyz' */
- public void testCriteriaComparesUnequalConstants() {
+ @Test public void testCriteriaComparesUnequalConstants() {
// Create query
String sql = "SELECT e1 FROM pm1.g1 WHERE 'abc' = 'xyz'"; //$NON-NLS-1$
@@ -1381,7 +1376,7 @@
}
/** SELECT pm1.g1.e1, pm2.g1.e1 FROM pm1.g1 RIGHT OUTER JOIN pm2.g1 ON pm1.g1.e1=pm2.g1.e1 */
- public void testRightOuterJoin1() {
+ @Test public void testRightOuterJoin1() {
// Create query
String sql = "SELECT pm1.g1.e1, pm2.g1.e1 FROM pm1.g1 RIGHT OUTER JOIN pm2.g1 ON pm1.g1.e1=pm2.g1.e1"; //$NON-NLS-1$
@@ -1404,7 +1399,7 @@
}
/** SELECT pm1.g1.e1, pm2.g1.e1 FROM pm1.g1 LEFT OUTER JOIN pm2.g1 ON pm1.g1.e1=pm2.g1.e1 */
- public void testLeftOuterJoin1() {
+ @Test public void testLeftOuterJoin1() {
// Create query
String sql = "SELECT pm1.g1.e1, pm2.g1.e1 FROM pm1.g1 LEFT OUTER JOIN pm2.g1 ON pm1.g1.e1=pm2.g1.e1"; //$NON-NLS-1$
@@ -1427,7 +1422,7 @@
}
/** SELECT pm1.g1.e1, pm2.g1.e1 FROM pm1.g1 FULL OUTER JOIN pm2.g1 ON pm1.g1.e1=pm2.g1.e1 */
- public void testFullOuterJoin1() throws Exception {
+ @Test public void testFullOuterJoin1() throws Exception {
// Create query
String sql = "SELECT pm1.g1.e1, pm2.g1.e1 FROM pm1.g1 FULL OUTER JOIN pm2.g1 ON pm1.g1.e1=pm2.g1.e1"; //$NON-NLS-1$
@@ -1451,7 +1446,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testFullOuterJoin2() throws Exception {
+ @Test public void testFullOuterJoin2() throws Exception {
// Create query
String sql = "SELECT a.e4 c0, b.e4 c1 FROM pm1.g1 a FULL OUTER JOIN pm1.g1 b ON a.e4=b.e4 order by c0"; //$NON-NLS-1$
@@ -1474,7 +1469,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testFullOuterJoin3() throws Exception {
+ @Test public void testFullOuterJoin3() throws Exception {
// Create query
String sql = "SELECT a.e4 c0, b.e4 c1 FROM pm1.g1 b FULL OUTER JOIN (select e4, 1 x from pm1.g1 union all select e4, 2 from pm1.g1) a ON a.e4=b.e4 and a.x = 2 order by c0"; //$NON-NLS-1$
@@ -1501,7 +1496,7 @@
}
/** SELECT x.e1, pm2.g1.e1 FROM (SELECT e1 FROM pm1.g1) AS x LEFT OUTER JOIN pm2.g1 ON x.e1=pm2.g1.e1 */
- public void testLeftOuterJoinWithInlineView() {
+ @Test public void testLeftOuterJoinWithInlineView() {
// Create query
String sql = "SELECT x.e1, pm2.g1.e1 FROM (SELECT e1 FROM pm1.g1) AS x LEFT OUTER JOIN pm2.g1 ON x.e1=pm2.g1.e1"; //$NON-NLS-1$
@@ -1524,7 +1519,7 @@
}
/** SELECT * FROM vm1.g5 ORDER BY expr */
- public void testDefect5273_1() {
+ @Test public void testDefect5273_1() {
// Create query
String sql = "SELECT expr FROM vm1.g5 ORDER BY expr"; //$NON-NLS-1$
@@ -1550,7 +1545,7 @@
}
/** SELECT expr AS e FROM vm1.g5 ORDER BY e */
- public void testDefect5273_2() {
+ @Test public void testDefect5273_2() {
// Create query
String sql = "SELECT expr AS e FROM vm1.g5 ORDER BY e"; //$NON-NLS-1$
@@ -1576,7 +1571,7 @@
}
/** SELECT e2 AS e FROM vm1.g5 ORDER BY e */
- public void testDefect5273_3() {
+ @Test public void testDefect5273_3() {
// Create query
String sql = "SELECT e2 AS e FROM vm1.g5 ORDER BY e"; //$NON-NLS-1$
@@ -1602,7 +1597,7 @@
}
/** SELECT e AS f FROM vm1.g6 ORDER BY f */
- public void testDefect5273_4() {
+ @Test public void testDefect5273_4() {
// Create query
String sql = "SELECT e AS f FROM vm1.g6 ORDER BY f"; //$NON-NLS-1$
@@ -1628,7 +1623,7 @@
}
/** SELECT e AS f FROM vm1.g7 ORDER BY f */
- public void testDefect5273_5() {
+ @Test public void testDefect5273_5() {
// Create query
String sql = "SELECT e AS f FROM vm1.g7 ORDER BY f"; //$NON-NLS-1$
@@ -1654,7 +1649,7 @@
}
/** SELECT e AS f FROM vm1.g7 ORDER BY f */
- public void testDefect5273_6() {
+ @Test public void testDefect5273_6() {
// Create query
String sql = "SELECT e AS f FROM vm1.g8 ORDER BY f"; //$NON-NLS-1$
@@ -1679,7 +1674,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testFalseCriteria1() {
+ @Test public void testFalseCriteria1() {
// Create query
String sql = "SELECT 5 FROM pm1.g1 WHERE 0=1"; //$NON-NLS-1$
@@ -1698,7 +1693,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testFalseCriteria2() {
+ @Test public void testFalseCriteria2() {
// Create query
String sql = "SELECT count(*) FROM pm1.g1 WHERE 0=1"; //$NON-NLS-1$
@@ -1718,7 +1713,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testTempGroup() {
+ @Test public void testTempGroup() {
// Create query
String sql = "SELECT e1 FROM tm1.g1 WHERE e1 = 'a'"; //$NON-NLS-1$
@@ -1740,7 +1735,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testSubquery1() {
+ @Test public void testSubquery1() {
// Create query
String sql = "SELECT e1 FROM (SELECT e1 FROM pm1.g1) AS x"; //$NON-NLS-1$
@@ -1765,7 +1760,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testSubquerySimple() {
+ @Test public void testSubquerySimple() {
// Create query
String sql = "SELECT e1 FROM (SELECT e1 FROM pm1.g1) AS x"; //$NON-NLS-1$
@@ -1790,7 +1785,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCritInSubquery() {
+ @Test public void testCritInSubquery() {
// Create query
String sql = "SELECT e1 FROM (SELECT e1 FROM pm1.g1 WHERE e1 = 'a') AS x"; //$NON-NLS-1$
@@ -1812,7 +1807,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCritAboveSubquery() {
+ @Test public void testCritAboveSubquery() {
// Create query
String sql = "SELECT e1 FROM (SELECT e1 FROM pm1.g1) AS x WHERE e1 = 'a'"; //$NON-NLS-1$
@@ -1834,7 +1829,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testSubqueryInJoinPredicate() {
+ @Test public void testSubqueryInJoinPredicate() {
// Create query
String sql = "SELECT x.e1 FROM (SELECT e1 FROM pm1.g1) AS x JOIN (SELECT e1 FROM pm1.g1) y ON x.e1=y.e1"; //$NON-NLS-1$
@@ -1864,7 +1859,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testSubqueryWithRenaming() {
+ @Test public void testSubqueryWithRenaming() {
// Create query
String sql = "SELECT x.a FROM (SELECT e1 AS a FROM pm1.g1) AS x"; //$NON-NLS-1$
@@ -1889,7 +1884,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testNestedSubquery() {
+ @Test public void testNestedSubquery() {
// Create query
String sql = "SELECT x.a FROM (SELECT e1 AS a FROM (SELECT e1 FROM pm1.g1) AS y) AS x"; //$NON-NLS-1$
@@ -1917,7 +1912,7 @@
/**
* Tests a single Subquery IN clause criteria
*/
- public void testSubqueryINClause() {
+ @Test public void testSubqueryINClause() {
String sql = "SELECT e1 FROM pm1.g1 WHERE e2 IN (SELECT e2 FROM pm2.g1)"; //$NON-NLS-1$
// Create expected results
@@ -1941,7 +1936,7 @@
* Tests a single Subquery IN clause criteria with nulls
* in sample data
*/
- public void testSubqueryINClauseWithNulls() {
+ @Test public void testSubqueryINClauseWithNulls() {
String sql = "SELECT e1 FROM pm1.g1 WHERE e4 IN (SELECT e4 FROM pm2.g1)"; //$NON-NLS-1$
@@ -1965,7 +1960,7 @@
* Tests a single Subquery IN clause criteria with nulls
* in sample data
*/
- public void testSubqueryINClauseWithNulls2() {
+ @Test public void testSubqueryINClauseWithNulls2() {
String sql = "SELECT e1 FROM pm1.g1 WHERE e2 IN (SELECT e4 FROM pm2.g1)"; //$NON-NLS-1$
// Create expected results
@@ -1987,7 +1982,7 @@
/**
* Tests a compound criteria of two subqueries in IN clauses
*/
- public void testSubqueryINClauses() {
+ @Test public void testSubqueryINClauses() {
String sql = "SELECT e1 FROM pm1.g1 WHERE e2 IN (SELECT e2 FROM pm2.g1) AND e1 IN (SELECT e1 FROM pm2.g1)"; //$NON-NLS-1$
// Create expected results
@@ -2010,7 +2005,7 @@
* Tests a compound criteria of a subquery in IN clause and another type of
* criteria
*/
- public void testSubqueryINClauseMixedCriteria() {
+ @Test public void testSubqueryINClauseMixedCriteria() {
String sql = "SELECT e1 FROM pm1.g1 WHERE e2 IN (SELECT e2 FROM pm2.g1) AND e1 IN ('b')"; //$NON-NLS-1$
// Create expected results
@@ -2033,7 +2028,7 @@
* Tests a compound criteria of a subquery in IN clause and another type of
* criteria
*/
- public void testSubqueryINClauseMixedCriteria2() {
+ @Test public void testSubqueryINClauseMixedCriteria2() {
String sql = "SELECT e1 FROM pm1.g1 WHERE e2 IN (SELECT e2 FROM pm2.g1) AND NOT (e1 = 'a')"; //$NON-NLS-1$
// Create expected results
@@ -2055,7 +2050,7 @@
/**
* Tests nesting of Subquery IN clause criteria
*/
- public void testNestedSubqueryINClauses() {
+ @Test public void testNestedSubqueryINClauses() {
String sql = "SELECT e1 FROM pm1.g1 WHERE e2 IN (SELECT e2 FROM pm2.g1 WHERE e1 IN (SELECT e1 FROM pm1.g1))"; //$NON-NLS-1$
// Create expected results
@@ -2074,7 +2069,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testSubqueryXML() {
+ @Test public void testSubqueryXML() {
// Create query
String sql = "SELECT * FROM (SELECT * FROM xmltest.doc1) AS x"; //$NON-NLS-1$
@@ -2100,7 +2095,7 @@
/**
* Tests a single Subquery EXISTS predicate criteria
*/
- public void testSubqueryExistsPredicate() {
+ @Test public void testSubqueryExistsPredicate() {
String sql = "SELECT e1 FROM pm1.g1 WHERE EXISTS (SELECT e2 FROM pm2.g1)"; //$NON-NLS-1$
// Create expected results
@@ -2125,7 +2120,7 @@
* Tests a single Subquery EXISTS predicate criteria
* where the subquery returns no rows
*/
- public void testSubqueryExistsPredicate2() {
+ @Test public void testSubqueryExistsPredicate2() {
String sql = "SELECT e1 FROM pm1.g1 WHERE EXISTS (SELECT e2 FROM pm2.g1 WHERE e1 = 'ZZTop')"; //$NON-NLS-1$
// Create expected results
@@ -2145,7 +2140,7 @@
/**
* Tests a single Subquery in compare predicate criteria
*/
- public void testSubqueryComparePredicate() {
+ @Test public void testSubqueryComparePredicate() {
String sql = "SELECT e1 FROM pm1.g1 WHERE e2 = ANY (SELECT e2 FROM pm2.g1)"; //$NON-NLS-1$
// Create expected results
@@ -2168,7 +2163,7 @@
/**
* Tests a single Subquery in compare predicate criteria
*/
- public void testSubqueryComparePredicate2() {
+ @Test public void testSubqueryComparePredicate2() {
String sql = "SELECT e1 FROM pm1.g1 WHERE e2 = SOME (SELECT e2 FROM pm2.g1)"; //$NON-NLS-1$
// Create expected results
@@ -2191,7 +2186,7 @@
/**
* Tests a single Subquery in compare predicate criteria
*/
- public void testSubqueryComparePredicate3() {
+ @Test public void testSubqueryComparePredicate3() {
String sql = "SELECT e1 FROM pm1.g1 WHERE e2 = ALL (SELECT e2 FROM pm2.g1)"; //$NON-NLS-1$
// Create expected results
@@ -2211,7 +2206,7 @@
/**
* Tests a single Subquery in compare predicate criteria
*/
- public void testSubqueryComparePredicate4() {
+ @Test public void testSubqueryComparePredicate4() {
String sql = "SELECT e1 FROM pm1.g1 WHERE e2 <= ALL (SELECT e2 FROM pm2.g1)"; //$NON-NLS-1$
// Create expected results
@@ -2233,7 +2228,7 @@
/**
* Tests a single Subquery in compare predicate criteria
*/
- public void testSubqueryComparePredicate5() {
+ @Test public void testSubqueryComparePredicate5() {
String sql = "SELECT e1 FROM pm1.g1 WHERE e2 < SOME (SELECT e2 FROM pm2.g1)"; //$NON-NLS-1$
// Create expected results
@@ -2257,7 +2252,7 @@
/**
* Tests a single Subquery in compare predicate criteria
*/
- public void testSubqueryComparePredicate5a() {
+ @Test public void testSubqueryComparePredicate5a() {
String sql = "SELECT e1 FROM pm2.g1 WHERE e2 < SOME (SELECT e2 FROM pm1.g1)"; //$NON-NLS-1$
// Create expected results
@@ -2281,7 +2276,7 @@
* Tests a single Subquery in compare predicate criteria
* without predicate quantifier
*/
- public void testSubqueryComparePredicate6() {
+ @Test public void testSubqueryComparePredicate6() {
String sql = "SELECT e1 FROM pm1.g1 WHERE e2 < (SELECT e2 FROM pm2.g1 WHERE e1 = 'e')"; //$NON-NLS-1$
// Create expected results
@@ -2303,7 +2298,7 @@
/**
* Tests a single Subquery in compare predicate criteria
*/
- public void testSubqueryComparePredicateNested() {
+ @Test public void testSubqueryComparePredicateNested() {
String sql = "SELECT e1 FROM pm1.g1 WHERE e2 < SOME (SELECT e2 FROM pm2.g1 WHERE EXISTS (SELECT e2 FROM pm2.g1))"; //$NON-NLS-1$
// Plan query
@@ -2335,7 +2330,7 @@
/**
* Tests a scalar subquery in the SELECT clause
*/
- public void testSubqueryScalar() {
+ @Test public void testSubqueryScalar() {
String sql = "SELECT e1, (SELECT e2 FROM pm2.g1 WHERE e1 = 'b') FROM pm1.g1"; //$NON-NLS-1$
// Create expected results
@@ -2359,7 +2354,7 @@
/**
* Tests a scalar subquery which returns no rows in the SELECT clause
*/
- public void testSubqueryScalar2() {
+ @Test public void testSubqueryScalar2() {
String sql = "SELECT e1, (SELECT e2 FROM pm2.g1 WHERE e1 = 'a') FROM pm1.g1"; //$NON-NLS-1$
// Create expected results
@@ -2384,7 +2379,7 @@
* Tests a scalar subquery which returns more than one rows
* causes the expected Exception
*/
- public void testSubqueryScalarException() {
+ @Test public void testSubqueryScalarException() {
String sql = "SELECT e1, (SELECT e2 FROM pm2.g1) FROM pm1.g1"; //$NON-NLS-1$
// Construct data manager with data
@@ -2398,7 +2393,7 @@
helpProcessException(plan, dataManager);
}
- public void testSubqueryScalarInTransformation() {
+ @Test public void testSubqueryScalarInTransformation() {
String sql = "select * from vm1.g25"; //$NON-NLS-1$
// Create expected results
@@ -2422,7 +2417,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testSubqueryScalarInTransformation2() {
+ @Test public void testSubqueryScalarInTransformation2() {
String sql = "select * from vm1.g25 where e5 = 0.0"; //$NON-NLS-1$
// Create expected results
@@ -2553,7 +2548,7 @@
return new FakeMetadataFacade(store);
}
- public void testCorrelatedSubquery_CASE2022() {
+ @Test public void testCorrelatedSubquery_CASE2022() {
String sql = "select * from BQT2_V WHERE BQT2_V.IntKey < 50"; //$NON-NLS-1$
// Create expected results
@@ -2586,7 +2581,7 @@
// Run query
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubquery1() {
+ @Test public void testCorrelatedSubquery1() {
String sql = "Select e1, e2, e4 from pm1.g1 where e2 in (select e2 FROM pm2.g1 WHERE pm1.g1.e4 = pm2.g1.e4)"; //$NON-NLS-1$
// Create expected results
@@ -2612,7 +2607,7 @@
* differently to distinguish between them. The generated atomic query has screwed up
* aliasing.
*/
- public void testCorrelatedSubqueryCase3667() {
+ @Test public void testCorrelatedSubqueryCase3667() {
HardcodedDataManager dataManager = new HardcodedDataManager();
@@ -2650,7 +2645,7 @@
}
/** control query, this test passes */
- public void testCorrelatedSubqueryCase3667a() {
+ @Test public void testCorrelatedSubqueryCase3667a() {
HardcodedDataManager dataManager = new HardcodedDataManager();
@@ -2685,7 +2680,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubquery2() {
+ @Test public void testCorrelatedSubquery2() {
String sql = "Select e1, e2 from pm1.g1 where e2 in (select e2 FROM pm2.g1 WHERE pm1.g1.e4 = pm2.g1.e4)"; //$NON-NLS-1$
// Create expected results
@@ -2705,7 +2700,7 @@
}
- public void testCorrelatedSubquery3() {
+ @Test public void testCorrelatedSubquery3() {
String sql = "Select e1, (select e2 FROM pm2.g1 WHERE pm1.g1.e4 = pm2.g1.e4) from pm1.g1"; //$NON-NLS-1$
// Create expected results
@@ -2726,7 +2721,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubquery3a() {
+ @Test public void testCorrelatedSubquery3a() {
String sql = "Select e1, (select e2 FROM pm2.g1 WHERE X.e4 = e4) from pm1.g1 X"; //$NON-NLS-1$
// Create expected results
@@ -2747,7 +2742,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubquery3b() {
+ @Test public void testCorrelatedSubquery3b() {
String sql = "Select e1, (select e2 FROM pm2.g1 Y WHERE X.e4 = e4) from pm1.g1 X"; //$NON-NLS-1$
// Create expected results
@@ -2768,7 +2763,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubquery3c() {
+ @Test public void testCorrelatedSubquery3c() {
String sql = "Select e1, (select e2 FROM pm2.g1 Y WHERE X.e4 = Y.e4) from pm1.g1 X"; //$NON-NLS-1$
// Create expected results
@@ -2789,7 +2784,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubquery4() {
+ @Test public void testCorrelatedSubquery4() {
String sql = "Select e1, e2 from pm1.g1 X where e2 in (select e2 FROM pm2.g1 WHERE X.e4 = pm2.g1.e4)"; //$NON-NLS-1$
// Create expected results
@@ -2808,7 +2803,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubquery4a() {
+ @Test public void testCorrelatedSubquery4a() {
String sql = "Select e1, e2 from pm1.g1 X where e2 = some (select e2 FROM pm2.g1 WHERE X.e4 = pm2.g1.e4)"; //$NON-NLS-1$
// Create expected results
@@ -2827,7 +2822,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubquery_defect9968() {
+ @Test public void testCorrelatedSubquery_defect9968() {
String sql = "Select e1, e2 from pm1.g1 X where e2 in (select max(X.e2) FROM pm2.g1 WHERE X.e4 = pm2.g1.e4)"; //$NON-NLS-1$
// Create expected results
@@ -2846,7 +2841,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubquery_defect9968a() {
+ @Test public void testCorrelatedSubquery_defect9968a() {
String sql = "Select e1, e2 from pm1.g1 X where e2 in (select ((X.e2)/2) as e FROM pm2.g1 WHERE X.e4 = pm2.g1.e4)"; //$NON-NLS-1$
// Create expected results
@@ -2865,7 +2860,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubquery_defect9968b() {
+ @Test public void testCorrelatedSubquery_defect9968b() {
String sql = "Select e1, e2 from pm1.g1 X where e2 in (select (select e2 as e FROM pm2.g1 WHERE X.e4 = pm2.g1.e4) as e FROM pm2.g1)"; //$NON-NLS-1$
// Create expected results
@@ -2884,7 +2879,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubquery_defect10021() {
+ @Test public void testCorrelatedSubquery_defect10021() {
String sql = "Select e1, e2 from table1 X where e4 in (select max(Y.e4) FROM table1 Y WHERE X.e4 = Y.e4)"; //$NON-NLS-1$
// Create expected results
@@ -2908,7 +2903,7 @@
* Note the subquery has a multi-column result - conceptually this is
* legal for the EXISTS predicate
*/
- public void testCorrelatedSubquery5() {
+ @Test public void testCorrelatedSubquery5() {
String sql = "Select * from pm1.g1 where exists (select * FROM pm2.g1 WHERE pm1.g1.e1 = e1)"; //$NON-NLS-1$
// Create expected results
@@ -2930,7 +2925,7 @@
/**
* Count the # of parent rows for which no child rows exist
*/
- public void testCorrelatedSubquery6() {
+ @Test public void testCorrelatedSubquery6() {
String sql = "Select count(*) from pm1.g1 where not (exists (select * FROM pm2.g1 WHERE pm1.g1.e1 = e1))"; //$NON-NLS-1$
// Create expected results
@@ -2952,7 +2947,7 @@
/**
* Select e2, e4, and the avg of e4 for each group of e1
*/
- public void testCorrelatedSubquery7() {
+ @Test public void testCorrelatedSubquery7() {
String sql = "select e2, e4, (select avg(e4) FROM pm1.g1 Y WHERE X.e1 = e1) from pm1.g1 X"; //$NON-NLS-1$
// Create expected results
@@ -2979,7 +2974,7 @@
/**
* Select e2, e4, and the avg of e4 for each group of e1
*/
- public void testCorrelatedSubquery8() {
+ @Test public void testCorrelatedSubquery8() {
String sql = "select X.e2, X.e4, (select avg(Y.e4) FROM pm1.g1 Y WHERE X.e1 = Y.e1) from pm1.g1 X"; //$NON-NLS-1$
// Create expected results
@@ -3003,7 +2998,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryVirtualLayer1() {
+ @Test public void testCorrelatedSubqueryVirtualLayer1() {
String sql = "Select e1, e2 from vm1.g1 X where e2 in (select e2 FROM vm1.g1 Y WHERE X.e4 = Y.e4)"; //$NON-NLS-1$
// Create expected results
@@ -3027,7 +3022,7 @@
}
- public void testCorrelatedSubqueryVirtualLayer2() {
+ @Test public void testCorrelatedSubqueryVirtualLayer2() {
String sql = "Select e1, e2 from vm1.g2 where e2 in (select e2 FROM vm1.g1 WHERE vm1.g2.e4 = vm1.g1.e4)"; //$NON-NLS-1$
// Create expected results
@@ -3052,7 +3047,7 @@
}
- public void testCorrelatedSubqueryVirtualLayer3() {
+ @Test public void testCorrelatedSubqueryVirtualLayer3() {
String sql = "Select e2 from vm1.g6 where e2 in (select e2 FROM vm1.g1 WHERE vm1.g6.e = e1)"; //$NON-NLS-1$
// Create expected results
@@ -3069,7 +3064,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryVirtualLayer4() {
+ @Test public void testCorrelatedSubqueryVirtualLayer4() {
String sql = "Select e2 from vm1.g7 where e2 in (select e2 FROM vm1.g1 WHERE vm1.g7.e = e1)"; //$NON-NLS-1$
// Create expected results
@@ -3086,7 +3081,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryVirtualLayer5() {
+ @Test public void testCorrelatedSubqueryVirtualLayer5() {
String sql = "Select e1 from vm1.g4 where not (e1 in (select e1 FROM vm1.g1 WHERE vm1.g4.e1 = e1)) order by e1"; //$NON-NLS-1$
// Create expected results
@@ -3110,7 +3105,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryVirtualLayer6() {
+ @Test public void testCorrelatedSubqueryVirtualLayer6() {
String sql = "Select e2 from vm1.g1 X where e2 in (select X.e2 FROM vm1.g1)"; //$NON-NLS-1$
// Create expected results
@@ -3134,7 +3129,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryVirtualLayer6a() {
+ @Test public void testCorrelatedSubqueryVirtualLayer6a() {
String sql = "Select e2 from vm1.g1 where e2 in (select vm1.g1.e2 FROM vm1.g5)"; //$NON-NLS-1$
// Create expected results
@@ -3159,7 +3154,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryVirtualLayer6b() {
+ @Test public void testCorrelatedSubqueryVirtualLayer6b() {
String sql = "Select e2 from vm1.g1 where e2 in (select vm1.g1.e2 FROM vm1.g2)"; //$NON-NLS-1$
// Create expected results
@@ -3183,7 +3178,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryVirtualLayer6c() {
+ @Test public void testCorrelatedSubqueryVirtualLayer6c() {
String sql = "Select e2 from vm1.g7 where e2 in (select vm1.g7.e FROM vm1.g1)"; //$NON-NLS-1$
// Create expected results
@@ -3200,7 +3195,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryVirtualLayer6e() {
+ @Test public void testCorrelatedSubqueryVirtualLayer6e() {
String sql = "Select e2 from vm1.g1 where e2 in (select vm1.g1.e2 FROM vm1.g2a)"; //$NON-NLS-1$
// Create expected results
@@ -3225,7 +3220,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryVirtualLayer7() {
+ @Test public void testCorrelatedSubqueryVirtualLayer7() {
String sql = "Select e2 from vm1.g7 where e2 in (select vm1.g7.e FROM vm1.g1 WHERE vm1.g7.e = e1)"; //$NON-NLS-1$
// Create expected results
@@ -3242,7 +3237,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryInTransformation() {
+ @Test public void testCorrelatedSubqueryInTransformation() {
String sql = "Select * from vm1.g21"; //$NON-NLS-1$
// Create expected results
@@ -3261,7 +3256,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryInTransformation2() {
+ @Test public void testCorrelatedSubqueryInTransformation2() {
String sql = "Select * from vm1.g20"; //$NON-NLS-1$
// Create expected results
@@ -3284,7 +3279,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryInTransformation3() {
+ @Test public void testCorrelatedSubqueryInTransformation3() {
String sql = "Select * from vm1.g19 order by e1"; //$NON-NLS-1$
// Create expected results
@@ -3312,7 +3307,7 @@
* User correlated subquery, and one of the virtual group transformations
* also has a correlated subquery
*/
- public void testCorrelatedSubqueryInTransformation4() {
+ @Test public void testCorrelatedSubqueryInTransformation4() {
String sql = "Select * from vm1.g20 where exists (Select * from vm1.g19 where convert(vm1.g20.e2, string) = vm1.g19.e1)"; //$NON-NLS-1$
// Create expected results
@@ -3339,7 +3334,7 @@
* User correlated subquery, and one of the virtual group transformations
* also has a correlated subquery
*/
- public void testCorrelatedSubqueryInTransformation5() {
+ @Test public void testCorrelatedSubqueryInTransformation5() {
String sql = "Select * from vm1.g19 where exists (Select e2 from vm1.g20 where convert(e2, string) = vm1.g19.e1) order by e1"; //$NON-NLS-1$
// Create expected results
@@ -3363,7 +3358,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryInTransformation6() {
+ @Test public void testCorrelatedSubqueryInTransformation6() {
String sql = "Select * from vm1.g21 where e2 = some (Select e2 from pm1.g1 where e1 = vm1.g21.e1)"; //$NON-NLS-1$
// Create expected results
@@ -3382,7 +3377,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryInTransformation7() {
+ @Test public void testCorrelatedSubqueryInTransformation7() {
String sql = "Select * from vm1.g21 where exists (Select e2 from pm1.g2 where e4 = convert(vm1.g21.e2, double))"; //$NON-NLS-1$
// Create expected results
@@ -3404,7 +3399,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryInTransformation8() {
+ @Test public void testCorrelatedSubqueryInTransformation8() {
String sql = "Select * from vm1.g21 where exists (Select e2 from pm1.g1 where e4 = convert(vm1.g21.e2, double))"; //$NON-NLS-1$
// Create expected results
@@ -3426,7 +3421,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryInTransformation9() {
+ @Test public void testCorrelatedSubqueryInTransformation9() {
String sql = "Select * from vm1.g22"; //$NON-NLS-1$
// Create expected results
@@ -3450,7 +3445,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryInTransformation10() {
+ @Test public void testCorrelatedSubqueryInTransformation10() {
String sql = "Select * from vm1.g23"; //$NON-NLS-1$
// Create expected results
@@ -3473,7 +3468,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryInTransformation11() {
+ @Test public void testCorrelatedSubqueryInTransformation11() {
String sql = "Select * from vm1.g24"; //$NON-NLS-1$
// Create expected results
@@ -3496,7 +3491,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryInTransformation12() {
+ @Test public void testCorrelatedSubqueryInTransformation12() {
String sql = "Select * from vm1.g24 X where exists (Select * from vm1.g24 Y where X.e2 = Y.e2)"; //$NON-NLS-1$
// Create expected results
@@ -3519,7 +3514,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryInTransformation13() {
+ @Test public void testCorrelatedSubqueryInTransformation13() {
String sql = "Select e1, e2, e3, e4, (select e4 from vm1.g25 where pm1.g1.e4 = e5 and e4=0.0) as e5 from pm1.g1"; //$NON-NLS-1$
// Create expected results
@@ -3543,7 +3538,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryInTransformation14() {
+ @Test public void testCorrelatedSubqueryInTransformation14() {
String sql = "Select e1, e2, e3, e4, (select e4 from vm1.g26 where pm1.g1.e4 = e5 and e4=0.0) as e5 from pm1.g1"; //$NON-NLS-1$
// Create expected results
@@ -3567,7 +3562,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryInTransformation15() {
+ @Test public void testCorrelatedSubqueryInTransformation15() {
String sql = "Select e1, e2, e3, e4, (select e4 from vm1.g23 where vm1.g22.e4 = e5) as e5 from vm1.g22 where e1 = 'a'"; //$NON-NLS-1$
// Create expected results
@@ -3589,7 +3584,7 @@
}
/** Test selecting a virtual element (e5) which is defined by a scalar subquery in the virtual transformation */
- public void testCorrelatedSubqueryInTransformation15a() {
+ @Test public void testCorrelatedSubqueryInTransformation15a() {
String sql = "Select e1, e2, e3, e4 from pm1.g1 where exists (select * from vm1.g26 where pm1.g1.e3 = e3)"; //$NON-NLS-1$
// Create expected results
@@ -3613,7 +3608,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueryInTransformation15b() {
+ @Test public void testCorrelatedSubqueryInTransformation15b() {
String sql = "Select e1, e2, e3, e4, (select e4 from vm1.g23 where vm1.g22.e4 = e5) as e5 from vm1.g22 where e1 = 'a' and exists (select * from vm1.g23 where vm1.g22.e3 = e3)"; //$NON-NLS-1$
// Create expected results
@@ -3635,7 +3630,7 @@
}
/** Test selecting a virtual element (e5) which is defined by a scalar subquery in the virtual transformation */
- public void testCorrelatedSubqueryInTransformation15c() {
+ @Test public void testCorrelatedSubqueryInTransformation15c() {
String sql = "Select e1, e2, e3, e4 from pm1.g1 where exists (select e1, e2, e3, e4, e5 as e from vm1.g26 where pm1.g1.e3 = e3)"; //$NON-NLS-1$
// Create expected results
@@ -3660,7 +3655,7 @@
}
/** Test selecting a virtual element (e5) which is defined by a scalar subquery in the virtual transformation */
- public void testCorrelatedSubqueryInTransformation15d() {
+ @Test public void testCorrelatedSubqueryInTransformation15d() {
String sql = "Select e1, e2, e3, e4 from pm1.g1 where exists (select e1, e2, e3, e4, ((e4 + e5)/e4) as e from vm1.g26 where pm1.g1.e3 = e3)"; //$NON-NLS-1$
// Create expected results
@@ -3693,7 +3688,7 @@
// Arrays.asList(new Object[] { "a", new Integer(0), Boolean.FALSE, new Double(2.0), null })
- public void testCorrelatedSubqueryInTransformation16() {
+ @Test public void testCorrelatedSubqueryInTransformation16() {
// String sql = "Select e1, e2, e3, e4, (select e4 from vm1.g23 where vm1.g22.e4 = e5) as e5 from vm1.g22 where e1 = 'a'"/* and exists (select * from vm1.g23 where vm1.g22.e3 = e3)"*/;
String sql = "select * from vm1.g26 where e5 = 0.0"; //$NON-NLS-1$
@@ -3718,7 +3713,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCorrelatedSubqueriesNested() {
+ @Test public void testCorrelatedSubqueriesNested() {
String sql =
"Select e1, e2, e4 from pm1.g1 where e2 < all (" + //$NON-NLS-1$
"select e2 from pm1.g2 where pm1.g1.e1 = e1 and exists("+ //$NON-NLS-1$
@@ -3744,7 +3739,7 @@
}
/** defect 15124 */
- public void testCorrelatedSubqueryAndInlineView() {
+ @Test public void testCorrelatedSubqueryAndInlineView() {
String sql = "Select e1, (select e2 FROM pm2.g1 Y WHERE X.e4 = Y.e4) from (select * from pm1.g1) as X"; //$NON-NLS-1$
// Create expected results
@@ -3766,7 +3761,7 @@
}
/** defect 15124 */
- public void testCorrelatedSubqueryAndInlineView2() {
+ @Test public void testCorrelatedSubqueryAndInlineView2() {
String sql = "Select e1 from (select * from pm1.g1) as X WHERE e2 IN (select e2 FROM pm2.g1 Y WHERE X.e4 = Y.e4)"; //$NON-NLS-1$
// Create expected results
@@ -3786,7 +3781,7 @@
}
/** defect 15124 */
- public void testCorrelatedSubqueryAndInlineView3() {
+ @Test public void testCorrelatedSubqueryAndInlineView3() {
String sql = "Select e1, (select e2 FROM pm2.g1 Y WHERE X.e4 = Y.e4) from (select * from pm1.g1 UNION ALL select * from pm1.g1) as X"; //$NON-NLS-1$
// Create expected results
@@ -3811,7 +3806,7 @@
}
/** defect 15124 */
- public void testCorrelatedSubqueryAndInlineView4() {
+ @Test public void testCorrelatedSubqueryAndInlineView4() {
String sql = "Select e1, (select e2 FROM pm2.g1 Y WHERE X.e4 = Y.e4) from (select pm1.g1.e1, (select pm1.g1.e2 from pm1.g1 Z where pm1.g1.e1 = Z.e1), pm1.g1.e3, pm1.g1.e4 from pm1.g1) as X"; //$NON-NLS-1$
// Create expected results
@@ -3832,7 +3827,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testXMLUnion_defect8373() {
+ @Test public void testXMLUnion_defect8373() {
// Create query
String sql = "SELECT * FROM xmltest.doc5"; //$NON-NLS-1$
@@ -3855,7 +3850,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testStoredQuery1() {
+ @Test public void testStoredQuery1() {
// Create query
String sql = "EXEC pm1.sq1()"; //$NON-NLS-1$
@@ -3880,7 +3875,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testStoredQuery2() {
+ @Test public void testStoredQuery2() {
// Create query
String sql = "EXEC pm1.sq2(\'a\')"; //$NON-NLS-1$
@@ -3902,7 +3897,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testStoredQuery3() {
+ @Test public void testStoredQuery3() {
// Create query
String sql = "select x.e1 from (EXEC pm1.sq1()) as x"; //$NON-NLS-1$
@@ -3927,7 +3922,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testStoredQuery4() {
+ @Test public void testStoredQuery4() {
// Create query
String sql = "EXEC pm1.sq5('a')"; //$NON-NLS-1$
@@ -3949,7 +3944,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testStoredQuery5() {
+ @Test public void testStoredQuery5() {
// Create query
String sql = "EXEC pm1.sp1()"; //$NON-NLS-1$
@@ -3974,7 +3969,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testStoredQuery6() {
+ @Test public void testStoredQuery6() {
// Create query
String sql = "EXEC pm1.sqsp1()"; //$NON-NLS-1$
@@ -3999,7 +3994,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testStoredQuery7() {
+ @Test public void testStoredQuery7() {
// Create query
String sql = "EXEC pm1.sq17()"; //$NON-NLS-1$
@@ -4023,7 +4018,7 @@
}
// implict type conversion of parameter
- public void testStoredQuery8() {
+ @Test public void testStoredQuery8() {
// Create query
String sql = "EXEC pm1.sq5(5)"; //$NON-NLS-1$
@@ -4043,7 +4038,7 @@
}
// function for parameter
- public void testStoredQuery9() {
+ @Test public void testStoredQuery9() {
// Create query
String sql = "EXEC pm1.sq5(concat('a', ''))"; //$NON-NLS-1$
@@ -4066,7 +4061,7 @@
}
/** named parameters */
- public void testStoredQuery10() {
+ @Test public void testStoredQuery10() {
// Create query
String sql = "EXEC pm1.sq3b(\"in\" = 'a', in3 = 'something')"; //$NON-NLS-1$
@@ -4088,7 +4083,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testInsert() {
+ @Test public void testInsert() {
// Create query
String sql = "Insert into pm1.g1 (pm1.g1.e1, pm1.g1.e2) values (\"MyString\", 1)"; //$NON-NLS-1$
@@ -4109,7 +4104,7 @@
}
/** SELECT BQT1.SmallA.IntKey AS SmallA_IntKey, BQT2.MediumB.IntKey AS MediumB_IntKey FROM BQT1.SmallA FULL OUTER JOIN BQT2.MediumB ON BQT1.SmallA.IntKey = BQT2.MediumB.IntKey WHERE (BQT1.SmallA.IntKey >= 0) AND (BQT1.SmallA.IntKey <= 15) AND (BQT2.MediumB.IntKey >= 5) AND (BQT2.MediumB.IntKey <= 20) */
- public void testDefect7770_FullOuter() {
+ @Test public void testDefect7770_FullOuter() {
// Create query
String sql = "SELECT BQT1.SmallA.IntKey AS SmallA_IntKey, BQT2.MediumB.IntKey AS MediumB_IntKey FROM BQT1.SmallA FULL OUTER JOIN BQT2.MediumB ON BQT1.SmallA.IntKey = BQT2.MediumB.IntKey WHERE (BQT1.SmallA.IntKey >= 0) AND (BQT1.SmallA.IntKey <= 15) AND (BQT2.MediumB.IntKey >= 5) AND (BQT2.MediumB.IntKey <= 20)"; //$NON-NLS-1$
@@ -4140,7 +4135,7 @@
}
/** SELECT BQT1.SmallA.IntKey AS SmallA_IntKey, BQT2.MediumB.IntKey AS MediumB_IntKey FROM BQT1.SmallA RIGHT OUTER JOIN BQT2.MediumB ON BQT1.SmallA.IntKey = BQT2.MediumB.IntKey WHERE (BQT1.SmallA.IntKey >= 0) AND (BQT1.SmallA.IntKey <= 15) AND (BQT2.MediumB.IntKey >= 5) AND (BQT2.MediumB.IntKey <= 20) */
- public void testDefect7770_RightOuter() {
+ @Test public void testDefect7770_RightOuter() {
// Create query
String sql = "SELECT BQT1.SmallA.IntKey AS SmallA_IntKey, BQT2.MediumB.IntKey AS MediumB_IntKey FROM BQT1.SmallA RIGHT OUTER JOIN BQT2.MediumB ON BQT1.SmallA.IntKey = BQT2.MediumB.IntKey WHERE (BQT1.SmallA.IntKey >= 0) AND (BQT1.SmallA.IntKey <= 15) AND (BQT2.MediumB.IntKey >= 5) AND (BQT2.MediumB.IntKey <= 20)"; //$NON-NLS-1$
@@ -4171,7 +4166,7 @@
}
/** SELECT BQT1.SmallA.IntKey AS SmallA_IntKey, BQT2.MediumB.IntKey AS MediumB_IntKey FROM BQT1.SmallA LEFT OUTER JOIN BQT2.MediumB ON BQT1.SmallA.IntKey = BQT2.MediumB.IntKey WHERE (BQT1.SmallA.IntKey >= 0) AND (BQT1.SmallA.IntKey <= 15) AND (BQT2.MediumB.IntKey >= 5) AND (BQT2.MediumB.IntKey <= 20) */
- public void testDefect7770_LeftOuter() {
+ @Test public void testDefect7770_LeftOuter() {
// Create query
String sql = "SELECT BQT1.SmallA.IntKey AS SmallA_IntKey, BQT2.MediumB.IntKey AS MediumB_IntKey FROM BQT1.SmallA LEFT OUTER JOIN BQT2.MediumB ON BQT1.SmallA.IntKey = BQT2.MediumB.IntKey WHERE (BQT1.SmallA.IntKey >= 0) AND (BQT1.SmallA.IntKey <= 15) AND (BQT2.MediumB.IntKey >= 5) AND (BQT2.MediumB.IntKey <= 20)"; //$NON-NLS-1$
@@ -4201,7 +4196,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testReorder1() {
+ @Test public void testReorder1() {
// Create query
String sql = "SELECT e1 AS x, {b'false'}, e2+e4, e3 FROM pm1.g1"; //$NON-NLS-1$
@@ -4226,7 +4221,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testTwoFullOuterJoins1() {
+ @Test public void testTwoFullOuterJoins1() {
// Create query
String sql = "SELECT A.IntKey AS A_IntKey, B.IntKey AS B_IntKey, C.IntKey AS C_IntKey " + //$NON-NLS-1$
"FROM (BQT1.SmallA AS A FULL OUTER JOIN BQT2.SmallA AS B ON A.IntKey = B.IntKey) FULL OUTER JOIN BQT3.SmallA AS C ON B.IntKey = C.IntKey " + //$NON-NLS-1$
@@ -4255,7 +4250,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testSelectDistinctOnBQT() {
+ @Test public void testSelectDistinctOnBQT() {
// Create query
String sql = "SELECT DISTINCT IntKey FROM BQT1.SmallA"; //$NON-NLS-1$
@@ -4295,7 +4290,7 @@
}
// SELECT IntKey, SUM(IntNum) FROM BQT1.SmallA GROUP BY IntKey, IntNum HAVING IntNum > 10 ORDER BY IntKey
- public void testAggregateOnBQT() {
+ @Test public void testAggregateOnBQT() {
// Create query
String sql = "SELECT IntKey, SUM(IntNum) FROM BQT1.SmallA GROUP BY IntKey, IntNum HAVING IntNum > 10 ORDER BY IntKey"; //$NON-NLS-1$
@@ -4324,7 +4319,7 @@
}
// SELECT IntNum, IsNotNull FROM (SELECT IntNum, LongNum, COUNT(IntNum) AS IsNotNull FROM BQT2.SmallB GROUP BY IntNum, LongNum HAVING LongNum >= 0 ) AS x ORDER BY IntNum, IsNotNull
- public void testAggregateOnBQT2() {
+ @Test public void testAggregateOnBQT2() {
// Create query
String sql = "SELECT IntNum, IsNotNull FROM (SELECT IntNum, LongNum, COUNT(IntNum) AS IsNotNull FROM BQT1.SmallA GROUP BY IntNum, LongNum HAVING LongNum IS NULL ) AS x ORDER BY IntNum, IsNotNull"; //$NON-NLS-1$
@@ -4362,7 +4357,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testAggregateOnBQT_defect9842(){
+ @Test public void testAggregateOnBQT_defect9842(){
// Create query
String sql = "SELECT IntKey, SUM((BigDecimalValue)*(ShortValue)-(BigDecimalValue)*(ShortValue)*(FloatNum)) " + //$NON-NLS-1$
"AS MySum FROM BQT1.SmallA GROUP BY IntKey ORDER BY IntKey"; //$NON-NLS-1$
@@ -4384,7 +4379,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testSelectWithNoFrom() {
+ @Test public void testSelectWithNoFrom() {
// Create query
String sql = "SELECT 5"; //$NON-NLS-1$
@@ -4404,7 +4399,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testBetween() {
+ @Test public void testBetween() {
// Create query
String sql = "SELECT * FROM pm1.g1 WHERE e2 BETWEEN 1 AND 2"; //$NON-NLS-1$
@@ -4435,7 +4430,7 @@
* <p>
* SELECT CASE WHEN e2 BETWEEN 3 AND 5 THEN e2 ELSE -1 END FROM pm1.g1
*/
- public void testBetweenInCase() {
+ @Test public void testBetweenInCase() {
// Create query
final String sql = "SELECT CASE WHEN e2 BETWEEN 3 AND 5 THEN e2 ELSE -1 END FROM pm1.g1"; //$NON-NLS-1$
@@ -4470,7 +4465,7 @@
* <p>
* SELECT SUM(CASE WHEN e2 BETWEEN 3 AND 5 THEN e2 ELSE -1 END) FROM pm1.g1
*/
- public void testBetweenInCaseInSum() {
+ @Test public void testBetweenInCaseInSum() {
// Create query
final String sql = "SELECT SUM(CASE WHEN e2 BETWEEN 3 AND 5 THEN e2 ELSE -1 END) FROM pm1.g1"; //$NON-NLS-1$
@@ -4501,7 +4496,7 @@
* SELECT e1, SUM(CASE WHEN e2 BETWEEN 3 AND 5 THEN e2 ELSE -1 END)
* FROM pm1.g1 GROUP BY e1 ORDER BY e1
*/
- public void testBetweenInCaseInSumWithGroupBy() {
+ @Test public void testBetweenInCaseInSumWithGroupBy() {
// Create query
final String sql = "SELECT e1, SUM(CASE WHEN e2 BETWEEN 3 AND 5 THEN e2 ELSE -1 END) FROM pm1.g1 GROUP BY e1 ORDER BY e1"; //$NON-NLS-1$
@@ -4534,7 +4529,7 @@
* <p>
* SELECT COUNT(CASE WHEN e2 BETWEEN 3 AND 5 THEN e2 END) FROM pm1.g1
*/
- public void testBetweenInCaseInCount() {
+ @Test public void testBetweenInCaseInCount() {
// Create query
final String sql = "SELECT COUNT(CASE WHEN e2 BETWEEN 3 AND 5 THEN e2 END) FROM pm1.g1"; //$NON-NLS-1$
@@ -4554,7 +4549,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCase() {
+ @Test public void testCase() {
// Create query
String sql = "SELECT e2, CASE e2 WHEN 1 THEN 2 ELSE 3 END FROM pm1.g1 WHERE e2 BETWEEN 1 AND 2"; //$NON-NLS-1$
@@ -4576,7 +4571,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testSelectNoFrom1() {
+ @Test public void testSelectNoFrom1() {
// Create query
String sql = "SELECT 1"; //$NON-NLS-1$
@@ -4596,7 +4591,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testSelectNoFrom2() {
+ @Test public void testSelectNoFrom2() {
// Create query
String sql = "SELECT 1, {b'true'}, 2.0 AS x, {d'2003-11-04'}"; //$NON-NLS-1$
@@ -4616,7 +4611,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCase1566() throws Exception {
+ @Test public void testCase1566() throws Exception {
// Create query
String sql = "SELECT x, COUNT(*) FROM (SELECT convert(TimestampValue, date) AS x FROM bqt1.smalla) as y GROUP BY x"; //$NON-NLS-1$
@@ -4646,7 +4641,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testDefect10976(){
+ @Test public void testDefect10976(){
String sql = "SELECT * FROM vm1.g28"; //$NON-NLS-1$
@@ -4669,7 +4664,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testDefect10976_2(){
+ @Test public void testDefect10976_2(){
String sql = "SELECT * FROM vm1.g29"; //$NON-NLS-1$
@@ -4692,7 +4687,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testDefect10976_3(){
+ @Test public void testDefect10976_3(){
String sql = "SELECT * FROM vm1.g30"; //$NON-NLS-1$
@@ -4715,7 +4710,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testDefect10976_4(){
+ @Test public void testDefect10976_4(){
String sql = "SELECT * FROM vm1.g31 order by x"; //$NON-NLS-1$
@@ -4740,7 +4735,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testDefect10976_5(){
+ @Test public void testDefect10976_5(){
String sql = "SELECT * FROM vm1.g32"; //$NON-NLS-1$
@@ -4763,7 +4758,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testDefect11236_MergeJoinWithFunctions() {
+ @Test public void testDefect11236_MergeJoinWithFunctions() {
// Create query
String sql = "SELECT pm1.g1.e2, pm2.g1.e2 FROM pm1.g1, pm2.g1 WHERE pm1.g1.e2 = (pm2.g1.e2+1)"; //$NON-NLS-1$
boolean pushDown = false;
@@ -4783,7 +4778,7 @@
helpTestMergeJoinWithExpression(sql, pushDown, dependent, expected);
}
- public void testMergeJoinWithFunctionsPushDown() {
+ @Test public void testMergeJoinWithFunctionsPushDown() {
// Create query
String sql = "SELECT pm1.g1.e2, pm2.g1.e2 FROM pm1.g1, pm2.g1 WHERE pm1.g1.e2 = (pm2.g1.e2+1)"; //$NON-NLS-1$
boolean pushDown = true;
@@ -4803,7 +4798,7 @@
helpTestMergeJoinWithExpression(sql, pushDown, dependent, expected);
}
- public void testMergeJoinWithFunctionsPushDownDependent() {
+ @Test public void testMergeJoinWithFunctionsPushDownDependent() {
// Create query
String sql = "SELECT pm1.g1.e2, pm2.g1.e2 FROM pm1.g1, pm2.g1 WHERE pm1.g1.e2 = (pm2.g1.e2+1) option makedep pm1.g1"; //$NON-NLS-1$
boolean pushDown = true;
@@ -4892,7 +4887,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCase2() {
+ @Test public void testCase2() {
// Create query
String sql = "SELECT e2, CASE e2 WHEN 1 THEN 2 END FROM pm1.g1 WHERE e2 BETWEEN 1 AND 2"; //$NON-NLS-1$
@@ -4914,7 +4909,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCase3() {
+ @Test public void testCase3() {
// Create query
String sql = "SELECT e2, CASE e2 WHEN 1 THEN 2 ELSE null END FROM pm1.g1 WHERE e2 BETWEEN 1 AND 2"; //$NON-NLS-1$
@@ -4937,7 +4932,7 @@
}
/** nested scalar subquery */
- public void testCase4() {
+ @Test public void testCase4() {
// Create query
String nestedExpression = "(SELECT e1 FROM pm1.g2 WHERE e2 = 3)"; //$NON-NLS-1$
String sql = "SELECT e2, CASE e2 WHEN 1 THEN " + nestedExpression + " ELSE null END FROM pm1.g1 WHERE e2 BETWEEN 1 AND 2"; //$NON-NLS-1$ //$NON-NLS-2$
@@ -4961,7 +4956,7 @@
}
/** nested correlated scalar subquery */
- public void testCase5() {
+ @Test public void testCase5() {
// Create query
String nestedExpression = "(SELECT e2 FROM pm1.g2 WHERE pm1.g1.e2 = (e4 + 2))"; //$NON-NLS-1$
String sql = "SELECT e2, CASE e2 WHEN " + nestedExpression + " THEN 1 ELSE null END FROM pm1.g1"; //$NON-NLS-1$ //$NON-NLS-2$
@@ -4992,7 +4987,7 @@
* twice and reset in between, which currently is done in the
* helpProcess method
*/
- public void testDefect12135(){
+ @Test public void testDefect12135(){
String sql = "SELECT pm1.g1.e1, pm1.g2.e1 FROM pm1.g1 LEFT OUTER JOIN pm1.g2 ON pm1.g1.e1=pm1.g2.e1"; //$NON-NLS-1$
@@ -5016,7 +5011,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testDefect12081(){
+ @Test public void testDefect12081(){
String sql = "SELECT DISTINCT vm1.g1.e1, upper(vm1.g1.e1) as Nuge, pm1.g1.e1, upper(pm1.g1.e1) as Nuge FROM vm1.g1, pm1.g1"; //$NON-NLS-1$
@@ -5044,7 +5039,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testDefect12081_2(){
+ @Test public void testDefect12081_2(){
String sql = "SELECT DISTINCT vm1.g1b.e1, vm1.g1b.e1Upper, pm1.g1.e1, upper(pm1.g1.e1) as e1Upper FROM vm1.g1b, pm1.g1"; //$NON-NLS-1$
// Create expected results
@@ -5071,7 +5066,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testDefect12081_3(){
+ @Test public void testDefect12081_3(){
String sql = "SELECT DISTINCT vm1.g1b.e1, vm1.g1b.e1Upper, pm1.g1.e1, vm1.g1b.e1Upper FROM vm1.g1b, pm1.g1"; //$NON-NLS-1$
// Create expected results
@@ -5101,7 +5096,7 @@
/**
* Basically the same as above, but with a limit node between the dup removal and the project
*/
- public void testDefect12081_4(){
+ @Test public void testDefect12081_4(){
String sql = "SELECT DISTINCT e1, e1 FROM pm1.g1 where e1 = 'a' LIMIT 1"; //$NON-NLS-1$
// Create expected results
@@ -5120,7 +5115,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testDefect12719(){
+ @Test public void testDefect12719(){
String sql = "SELECT e1_, e2_, e2 FROM vm1.g34, pm1.g2 WHERE vm1.g34.e1_ = pm1.g2.e1 order by e1_, e2_"; //$NON-NLS-1$
// Create expected results
@@ -5146,7 +5141,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testDefect13034() {
+ @Test public void testDefect13034() {
String sql = "SELECT CONCAT('http://', CONCAT(CASE WHEN (HOST IS NULL) OR (HOST = '') THEN 'soap_host' ELSE HOST END, CASE WHEN (PORT IS NULL) OR (PORT = '') THEN '/metamatrix-soap/services/DataService' ELSE CONCAT(':', CONCAT(PORT, '/metamatrix-soap/services/DataService')) END)) AS location " + //$NON-NLS-1$
"FROM (SELECT env('soap_host') AS HOST, env('soap_port') AS PORT) AS props"; //$NON-NLS-1$
@@ -5164,7 +5159,7 @@
}
/** see also integer average defect 11682 */
- public void testIntAvgDefect11682() {
+ @Test public void testIntAvgDefect11682() {
// Create query
String sql = "SELECT AVG(IntKey), AVG(IntNum), AVG(FloatNum), AVG(LongNum), AVG(DoubleNum), AVG(ByteNum), AVG(ShortValue), AVG(BigIntegerValue), AVG(BigDecimalValue) FROM BQT1.SmallA"; //$NON-NLS-1$
@@ -5184,7 +5179,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testNonJoinCriteriaInFrom() {
+ @Test public void testNonJoinCriteriaInFrom() {
String sql = "SELECT a.e1, b.e1, b.e2 FROM pm1.g1 a LEFT OUTER JOIN pm2.g1 b ON a.e1=b.e1 AND b.e2 = 0"; //$NON-NLS-1$
// Create expected results
@@ -5205,7 +5200,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testNonJoinCriteriaInWhere() {
+ @Test public void testNonJoinCriteriaInWhere() {
String sql = "SELECT a.e1, b.e1, b.e2 FROM pm1.g1 a LEFT OUTER JOIN pm2.g1 b ON a.e1=b.e1 WHERE b.e2 = 0"; //$NON-NLS-1$
// Create expected results
@@ -5224,7 +5219,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testNonJoinCriteriaInWhere2() {
+ @Test public void testNonJoinCriteriaInWhere2() {
String sql = "SELECT a.e1, b.e1, b.e2 FROM pm1.g1 a LEFT OUTER JOIN pm1.g2 b ON a.e1=b.e1 WHERE (a.e2 + b.e2 = 1)"; //$NON-NLS-1$
// Create expected results
@@ -5244,7 +5239,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testNonJoinCriteriaInWhere3() {
+ @Test public void testNonJoinCriteriaInWhere3() {
String sql = "SELECT a.e1, b.e1, b.e2 FROM pm1.g1 a LEFT OUTER JOIN pm1.g2 b ON a.e1=b.e1 WHERE (a.e2 = 0) OR (b.e2 = 0)"; //$NON-NLS-1$
// Create expected results
@@ -5264,7 +5259,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testNonJoinCriteriaInFromNestedInVirtual() {
+ @Test public void testNonJoinCriteriaInFromNestedInVirtual() {
String sql = "SELECT a.e1, b.e1, b.e2 FROM pm1.g1 a LEFT OUTER JOIN (SELECT c.e1, d.e2 FROM pm2.g1 c JOIN pm2.g1 d ON c.e1=d.e1 AND d.e2 >= 0) b ON a.e1=b.e1 AND b.e2 = 0"; //$NON-NLS-1$
// Create expected results
@@ -5285,7 +5280,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testNonJoinCriteriaInFromUsingDependentJoin() {
+ @Test public void testNonJoinCriteriaInFromUsingDependentJoin() {
String sql = "SELECT a.e1, b.e1, b.e2 FROM pm1.g1 a LEFT OUTER JOIN pm2.g1 b ON a.e1=b.e1 AND b.e2 = 0"; //$NON-NLS-1$
// Create expected results
@@ -5313,7 +5308,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testDefect13700() {
+ @Test public void testDefect13700() {
// Create expected results
List[] expected = new List[] {
Arrays.asList(new Object[] { new Integer(10) }),
@@ -5327,7 +5322,7 @@
}
- public void testDefect13920() throws Exception {
+ @Test public void testDefect13920() throws Exception {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
@@ -5364,7 +5359,7 @@
}
/** RLM Case 2077 */
- public void testComplexJoinExpressionsUsingDependentJoin() {
+ @Test public void testComplexJoinExpressionsUsingDependentJoin() {
String sql = "SELECT a.e1, b.e1, b.e2 FROM pm1.g1 a, pm2.g1 b where rtrim(a.e1)=(b.e1 || b.e1)"; //$NON-NLS-1$
// Create expected results
@@ -5408,7 +5403,7 @@
}
/** RLM Case 2077 */
- public void testComplexJoinExpressionsUsingDependentJoinWithAccessPattern() {
+ @Test public void testComplexJoinExpressionsUsingDependentJoinWithAccessPattern() {
String sql = "SELECT a.e1, b.e1, b.e2 FROM pm4.g1 a, pm2.g1 b where rtrim(a.e1)=(b.e1 || b.e1)"; //$NON-NLS-1$
// Create expected results
@@ -5451,7 +5446,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testPushingCriteriaUnderJoinButNotToSource() {
+ @Test public void testPushingCriteriaUnderJoinButNotToSource() {
// Create query
String sql = "SELECT A.IntKey AS A_IntKey, B.IntKey AS B_IntKey, C.IntKey AS C_IntKey " + //$NON-NLS-1$
"FROM (BQT1.SmallA AS A FULL OUTER JOIN BQT2.SmallA AS B ON A.IntKey = B.IntKey) LEFT OUTER JOIN BQT3.SmallA AS C ON B.IntKey = C.IntKey " + //$NON-NLS-1$
@@ -5482,7 +5477,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testPushdownLiteralInSelectUnderAggregate() {
+ @Test public void testPushdownLiteralInSelectUnderAggregate() {
String sql = "SELECT COUNT(*) FROM (SELECT '' AS y, a.IntKey FROM BQT1.SmallA a union all select '', b.intkey from bqt1.smallb b) AS x"; //$NON-NLS-1$
// Create expected results
@@ -5515,7 +5510,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testPushdownLiteralInSelectWithOrderBy() {
+ @Test public void testPushdownLiteralInSelectWithOrderBy() {
String sql = "SELECT 1, concat('a', 'b' ) AS X FROM BQT1.SmallA where intkey = 0 " + //$NON-NLS-1$
"UNION ALL " + //$NON-NLS-1$
"select 2, 'Hello2' from BQT1.SmallA where intkey = 1 order by X desc"; //$NON-NLS-1$
@@ -5552,7 +5547,7 @@
}
/** defect 15348*/
- public void testPreparedStatementDefect15348(){
+ @Test public void testPreparedStatementDefect15348(){
FakeFunctionMetadataSource.setupFunctionLibrary();
String sql = "SELECT e1 from pm1.g1 where myrtrim(?)=e1"; //$NON-NLS-1$
@@ -5589,7 +5584,7 @@
}
/** defect 15348*/
- public void testPreparedStatementDefect15348b(){
+ @Test public void testPreparedStatementDefect15348b(){
FakeFunctionMetadataSource.setupFunctionLibrary();
String sql = "SELECT e1 from pm4.g1 where myrtrim(concat(?, 'a '))=e1"; //$NON-NLS-1$
@@ -5628,7 +5623,7 @@
}
- public void testSourceDoesntSupportGroupAlias() {
+ @Test public void testSourceDoesntSupportGroupAlias() {
String sql = "SELECT a.IntKey, b.IntKey FROM BQT1.SmallA a, BQT1.SmallB b WHERE a.IntKey = 5 AND A.IntKey = b.IntKey"; //$NON-NLS-1$
@@ -5660,7 +5655,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testSourceDoesntSupportGroupAliasOrCriteria() {
+ @Test public void testSourceDoesntSupportGroupAliasOrCriteria() {
String sql = "SELECT a.IntKey, b.IntKey FROM BQT1.SmallA a, BQT1.SmallB b WHERE a.StringKey = '5' AND A.IntKey = b.IntKey"; //$NON-NLS-1$
@@ -5706,7 +5701,7 @@
*
* @since 4.2
*/
- public void testSourceDoesntSupportGroupAliasInVirtual() {
+ @Test public void testSourceDoesntSupportGroupAliasInVirtual() {
String sql = "SELECT x FROM (SELECT a.IntKey as x, b.IntKey as y FROM BQT1.SmallA a, BQT1.SmallB b WHERE a.IntKey = 5 AND A.IntKey = b.IntKey) AS z, BQT2.SmallA WHERE y = IntKey"; //$NON-NLS-1$
@@ -5751,7 +5746,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCaseInGroupBy() {
+ @Test public void testCaseInGroupBy() {
String sql = "SELECT sum (IntKey), case when IntKey>=5000 then '5000 +' else '0-999' end " + //$NON-NLS-1$
"FROM BQT1.SmallA GROUP BY case when IntKey>=5000 then '5000 +' else '0-999' end"; //$NON-NLS-1$
@@ -5787,7 +5782,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCaseInGroupByAndHavingCantPush() {
+ @Test public void testCaseInGroupByAndHavingCantPush() {
String sql = "SELECT sum (IntKey), case when IntKey>=5000 then '5000 +' else '0-999' end " + //$NON-NLS-1$
"FROM BQT1.SmallA GROUP BY case when IntKey>=5000 then '5000 +' else '0-999' end " + //$NON-NLS-1$
"HAVING case when IntKey>=5000 then '5000 +' else '0-999' end = '5000 +'"; //$NON-NLS-1$
@@ -5826,7 +5821,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCaseInGroupByAndHavingCantPush2() {
+ @Test public void testCaseInGroupByAndHavingCantPush2() {
String sql = "SELECT sum (IntKey), case when IntKey>=5000 then '5000 +' else '0-999' end || 'x' " + //$NON-NLS-1$
"FROM BQT1.SmallA GROUP BY case when IntKey>=5000 then '5000 +' else '0-999' end " + //$NON-NLS-1$
"HAVING length(case when IntKey>=5000 then '5000 +' else '0-999' end) > 5"; //$NON-NLS-1$
@@ -5864,7 +5859,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testCaseInGroupByAndHavingCantPush3() {
+ @Test public void testCaseInGroupByAndHavingCantPush3() {
String sql = "SELECT s, c FROM (" + //$NON-NLS-1$
"SELECT sum (IntKey) s, case when IntKey>=5000 then '5000 +' else '0-999' end || 'x' c " + //$NON-NLS-1$
"FROM BQT1.SmallA GROUP BY case when IntKey>=5000 then '5000 +' else '0-999' end " + //$NON-NLS-1$
@@ -5903,7 +5898,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testFunctionOfAggregateCantPush() {
+ @Test public void testFunctionOfAggregateCantPush() {
String sql = "SELECT StringKey || 'x', SUM(length(StringKey || 'x')) + 1 AS x FROM BQT1.SmallA GROUP BY StringKey || 'x' HAVING space(MAX(length((StringKey || 'x') || 'y'))) = ' '"; //$NON-NLS-1$
// Plan query
@@ -5939,7 +5934,7 @@
}
- public void testCase2634() {
+ @Test public void testCase2634() {
String sql = "SELECT x, IntKey FROM (SELECT IntKey, 'a' AS x FROM BQT1.SmallA UNION ALL SELECT IntKey, 'b' AS x FROM BQT1.SmallB) as Z"; //$NON-NLS-1$
@@ -5979,7 +5974,7 @@
}
- public void testQueryWithoutFromWithOrderBy() {
+ @Test public void testQueryWithoutFromWithOrderBy() {
String sql = "select 'three' as x ORDER BY x"; //$NON-NLS-1$
@@ -5997,7 +5992,7 @@
}
- public void testQueryWithoutFromWithOrderBy2() {
+ @Test public void testQueryWithoutFromWithOrderBy2() {
String sql = "select concat('three', ' sixteen') as x ORDER BY x"; //$NON-NLS-1$
@@ -6015,7 +6010,7 @@
}
- public void testQueryWithoutFromWithOrderBy3() {
+ @Test public void testQueryWithoutFromWithOrderBy3() {
String sql = "SELECT CONCAT('yy', 'z') as c1234567890123456789012345678901234567890, " + //$NON-NLS-1$
"CONCAT('21', '12') AS EXPR ORDER BY c1234567890123456789012345678901234567890"; //$NON-NLS-1$
@@ -6034,7 +6029,7 @@
}
- public void testCase2507_3(){
+ @Test public void testCase2507_3(){
String sql = "SELECT CONCAT('yy', 'z') AS c1234567890123456789012345678901234567890, " + //$NON-NLS-1$
"CONCAT('21', '12') AS EXPR ORDER BY c1234567890123456789012345678901234567890"; //$NON-NLS-1$
@@ -6087,7 +6082,7 @@
}
- public void testMultiGroupJoinCriteria() {
+ @Test public void testMultiGroupJoinCriteria() {
String sql = "SELECT X.NEWFIELD FROM " + //$NON-NLS-1$
"(SELECT SMALLA.STRINGNUM, " + //$NON-NLS-1$
@@ -6175,7 +6170,7 @@
*
* @since 4.3
*/
- public void testDefect18360(){
+ @Test public void testDefect18360(){
String sql = "SELECT a.intkey, a.intnum FROM bqt1.smalla a join bqt2.mediumb b on a.stringkey = b.stringkey " + //$NON-NLS-1$
"group by a.intkey, a.intnum"; //$NON-NLS-1$
@@ -6213,7 +6208,7 @@
}
- public void testDefect17407(){
+ @Test public void testDefect17407(){
String sql = "select pm1.g1.e1 from pm1.g1, g7 MAKEDEP WHERE pm1.g1.e2=g7.e2 order by e1"; //$NON-NLS-1$
// Create expected results
@@ -6238,7 +6233,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testDecodeAsCriteria() {
+ @Test public void testDecodeAsCriteria() {
// Create query
String sql = "SELECT x.foo, e2 FROM (select decodestring(e1, 'a,q,b,w') as foo, e2 from vm1.g1) as x where x.foo = 'w'"; //$NON-NLS-1$
@@ -6258,7 +6253,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testInputParamInNestedExecParam() {
+ @Test public void testInputParamInNestedExecParam() {
// Create query
String sql = "EXEC pm1.vsp48('a')"; //$NON-NLS-1$
@@ -6280,7 +6275,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testVariableInExecParam() {
+ @Test public void testVariableInExecParam() {
// Create query
String sql = "EXEC pm1.vsp49()"; //$NON-NLS-1$
@@ -6300,7 +6295,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testVariableInNestedExecParam() {
+ @Test public void testVariableInNestedExecParam() {
// Create query
String sql = "EXEC pm1.vsp50()"; //$NON-NLS-1$
@@ -6320,7 +6315,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testVariableInNestedExecParamInLoop() {
+ @Test public void testVariableInNestedExecParamInLoop() {
// Create query
String sql = "EXEC pm1.vsp51()"; //$NON-NLS-1$
@@ -6340,7 +6335,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testVariableInNestedExecParamInAssignment() {
+ @Test public void testVariableInNestedExecParamInAssignment() {
// Create query
String sql = "EXEC pm1.vsp52()"; //$NON-NLS-1$
@@ -6360,7 +6355,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testInputParamInNestedExecParamInLoop() {
+ @Test public void testInputParamInNestedExecParamInLoop() {
// Create query
String sql = "EXEC pm1.vsp53('b')"; //$NON-NLS-1$
@@ -6380,7 +6375,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testInputParamInNestedExecParamInAssignment() {
+ @Test public void testInputParamInNestedExecParamInAssignment() {
// Create query
String sql = "EXEC pm1.vsp54('c')"; //$NON-NLS-1$
@@ -6400,7 +6395,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testBitwiseAggregateProc() {
+ @Test public void testBitwiseAggregateProc() {
// Create query
String sql = "EXEC virt.agg()"; //$NON-NLS-1$
@@ -6449,7 +6444,7 @@
}
}
- public void testFunctionGroupByInJoinCriteria() {
+ @Test public void testFunctionGroupByInJoinCriteria() {
// Create query
String sql = "SELECT lower(vm1.g1.e1) from vm1.g1, vm1.g2a where vm1.g1.e1 = vm1.g2a.e1 group by lower(vm1.g1.e1)"; //$NON-NLS-1$
@@ -6503,7 +6498,7 @@
return new FakeMetadataFacade(store);
}
- public void testProjectionErrorOverUnionWithConvert() {
+ @Test public void testProjectionErrorOverUnionWithConvert() {
// Create query
FakeMetadataFacade metadata = createProjectErrorMetadata();
String sql = "SELECT COUNT(*) FROM v1.u1"; //$NON-NLS-1$
@@ -6530,7 +6525,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testUpdatesInLoop() {
+ @Test public void testUpdatesInLoop() {
String sql = "update vm1.g1 set vm1.g1.e2=3"; //$NON-NLS-1$
// Plan query
@@ -6551,7 +6546,7 @@
}
- public void testRand() {
+ @Test public void testRand() {
// Create query
String sql = "SELECT RAND(E2) FROM pm1.g1 where pm1.g1.e2=3"; //$NON-NLS-1$
@@ -6576,7 +6571,7 @@
* Now they should both pass
*
*/
- public void testInsertTempTableCreation() {
+ @Test public void testInsertTempTableCreation() {
FakeMetadataObject v1 = FakeMetadataFactory.createVirtualModel("v1"); //$NON-NLS-1$
QueryNode n1 = new QueryNode("v1.vp", "CREATE VIRTUAL PROCEDURE BEGIN insert into #temp (var1) values (1); select #temp.var1 from #temp; END"); //$NON-NLS-1$ //$NON-NLS-2$
FakeMetadataObject rs = FakeMetadataFactory.createResultSet("rs", v1, new String[] { "var1" }, new String[] { DataTypeManager.DefaultDataTypes.INTEGER}); //$NON-NLS-1$ //$NON-NLS-2$
@@ -6595,7 +6590,7 @@
helpProcess(plan, new FakeDataManager(), expected);
}
- public void testInsertTempTableCreation1() {
+ @Test public void testInsertTempTableCreation1() {
FakeMetadataObject v1 = FakeMetadataFactory.createVirtualModel("v1"); //$NON-NLS-1$
QueryNode n1 = new QueryNode("v1.vp", "CREATE VIRTUAL PROCEDURE BEGIN insert into #temp (var1) values (1); select 2 as var1 into #temp; select #temp.var1 from #temp; END"); //$NON-NLS-1$ //$NON-NLS-2$
FakeMetadataObject rs = FakeMetadataFactory.createResultSet("rs", v1, new String[] { "var1" }, new String[] { DataTypeManager.DefaultDataTypes.INTEGER}); //$NON-NLS-1$ //$NON-NLS-2$
@@ -6615,7 +6610,7 @@
helpProcess(plan, new FakeDataManager(), expected);
}
- public void testCase4531() {
+ @Test public void testCase4531() {
String sql = "select intkey, intnum from (select intnum as intkey, 1 as intnum from bqt1.smalla union all select intkey, intnum from bqt1.smalla union all select intkey, intnum from bqt2.smalla) x"; //$NON-NLS-1$
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
@@ -6676,7 +6671,7 @@
}
}
- public void testDefect15355() throws Exception {
+ @Test public void testDefect15355() throws Exception {
String sql = "SELECT e1, e1 FROM pm1.g1 " //$NON-NLS-1$
+"UNION ALL " //$NON-NLS-1$
@@ -6714,7 +6709,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testDefect15355b() throws Exception {
+ @Test public void testDefect15355b() throws Exception {
String sql = "SELECT StringKey, BigIntegerValue FROM BQT1.SmallA " //$NON-NLS-1$
+"UNION ALL " //$NON-NLS-1$
@@ -6752,7 +6747,7 @@
}
- public void testDefect15355c() throws Exception {
+ @Test public void testDefect15355c() throws Exception {
String sql = "SELECT StringKey, BigIntegerValue FROM VQT.Defect15355 WHERE StringKey = '0'"; //$NON-NLS-1$
@@ -6782,7 +6777,7 @@
}
- public void testDefect15355d() throws Exception {
+ @Test public void testDefect15355d() throws Exception {
String sql = "SELECT StringKey, BigIntegerValue FROM VQT.Defect15355a WHERE StringKey = '0'"; //$NON-NLS-1$
@@ -6812,7 +6807,7 @@
}
- public void testDefect15355e() throws Exception {
+ @Test public void testDefect15355e() throws Exception {
String sql = "SELECT BigIntegerValue, StringKey FROM VQT.Defect15355 WHERE StringKey = '0'"; //$NON-NLS-1$
@@ -6842,7 +6837,7 @@
}
- public void testDefect15355f() throws Exception {
+ @Test public void testDefect15355f() throws Exception {
String sql = "SELECT BigIntegerValue FROM VQT.Defect15355 WHERE StringKey = '0'"; //$NON-NLS-1$
@@ -6872,7 +6867,7 @@
}
- public void testDefect15355f2() throws Exception {
+ @Test public void testDefect15355f2() throws Exception {
String sql = "SELECT BigIntegerValue FROM VQT.Defect15355 WHERE StringKey LIKE '%0' AND StringKey LIKE '0%'"; //$NON-NLS-1$
@@ -6902,7 +6897,7 @@
}
- public void testDefect15355g() throws Exception {
+ @Test public void testDefect15355g() throws Exception {
String sql = "SELECT BigIntegerValue AS a, BigIntegerValue AS b FROM VQT.Defect15355 WHERE StringKey = '0'"; //$NON-NLS-1$
@@ -6932,7 +6927,7 @@
}
- public void testDefect15355h() throws Exception {
+ @Test public void testDefect15355h() throws Exception {
String sql = "SELECT BigIntegerValue FROM VQT.Defect15355 WHERE BigIntegerValue = '0'"; //$NON-NLS-1$
@@ -6962,7 +6957,7 @@
}
- public void testDefect15355i() throws Exception {
+ @Test public void testDefect15355i() throws Exception {
String sql = "SELECT BigIntegerValue FROM VQT.Defect15355b WHERE BigIntegerValue = '0'"; //$NON-NLS-1$
@@ -6995,7 +6990,7 @@
/**
* The inner most A.e1 was mistakenly getting transformed into pm1.g3.e1
*/
- public void testInnerCorrelatedReference() throws Exception {
+ @Test public void testInnerCorrelatedReference() throws Exception {
String sql = "SELECT DISTINCT A.e1 FROM pm1.g3 AS A WHERE (A.e1 IN (SELECT A.e1 FROM pm1.g3))"; //$NON-NLS-1$
@@ -7026,7 +7021,7 @@
}
- public void testCase5413() {
+ @Test public void testCase5413() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
@@ -7053,7 +7048,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testRaiseNullWithSelectInto() {
+ @Test public void testRaiseNullWithSelectInto() {
String sql = "select pm1.g1.e1, pm1.g1.e2, pm1.g1.e3, pm1.g1.e4 into pm1.g2 from pm1.g1 where (1=0)"; //$NON-NLS-1$
ProcessorPlan plan = helpGetPlan(helpParse(sql), FakeMetadataFactory.example1Cached(), TestOptimizer.getGenericFinder());
@@ -7085,7 +7080,7 @@
/*
* Test for Case6219
*/
- public void testCase6219() {
+ @Test public void testCase6219() {
String sql = "SELECT e1 FROM pm1.g1, (SELECT 'ACT' AS StateCode,'A' AS StateAbbrv UNION ALL SELECT 'NSW' AS StateCode, 'N' AS StateAbbrv) AS StateNames_Abbrvs WHERE (pm1.g1.e1 = StateCode) AND ((StateNames_Abbrvs.StateAbbrv || pm1.g1.e1) = 'VVIC')"; //$NON-NLS-1$
ProcessorPlan plan = helpGetPlan(helpParse(sql), FakeMetadataFactory.example1Cached(), TestOptimizer.getGenericFinder());
@@ -7115,7 +7110,7 @@
}
- public void testSortWithLimit() {
+ @Test public void testSortWithLimit() {
String sql = "select e1 from (select pm1.g1.e1, pm1.g1.e2 from pm1.g1 order by pm1.g1.e1, pm1.g1.e2 limit 1) x"; //$NON-NLS-1$
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
@@ -7131,7 +7126,7 @@
helpProcess(plan, manager, expected);
}
- public void testSortWithLimit1() {
+ @Test public void testSortWithLimit1() {
String sql = "select c from (select pm1.g1.e1 a, pm1.g1.e2 b, pm1.g1.e3 c from pm1.g1 order by b limit 1) x"; //$NON-NLS-1$
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
@@ -7149,7 +7144,7 @@
assertEquals("SELECT pm1.g1.e3, pm1.g1.e2 FROM pm1.g1", (String)manager.getQueries().iterator().next()); //$NON-NLS-1$
}
- public void testSortWithLimit2() {
+ @Test public void testSortWithLimit2() {
String sql = "select a from (select max(e2) a from pm1.g1 group by e2 order by a limit 1) x where a = 0"; //$NON-NLS-1$
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
@@ -7165,7 +7160,7 @@
helpProcess(plan, manager, expected);
}
- public void testCountWithHaving() {
+ @Test public void testCountWithHaving() {
String sql = "select e1, count(*) from pm1.g1 group by e1 having count(*) > 1"; //$NON-NLS-1$
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
@@ -7181,7 +7176,7 @@
helpProcess(plan, manager, expected);
}
- public void testLimitZero() {
+ @Test public void testLimitZero() {
String sql = "select e1 from pm1.g1 limit 0"; //$NON-NLS-1$
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
@@ -7198,7 +7193,7 @@
helpProcess(plan, manager, expected);
}
- public void testLimitZero1() {
+ @Test public void testLimitZero1() {
String sql = "select distinct vm1.g1.e1, y.e1 from vm1.g1 left outer join (select 1 x, e1 from vm1.g2 limit 0) y on vm1.g1.e1 = y.e1 where vm1.g1.e1 = 'a'"; //$NON-NLS-1$
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
@@ -7231,7 +7226,7 @@
helpProcess(plan, manager, expected);
}
- public void testLimitZero2() {
+ @Test public void testLimitZero2() {
String sql = "select vm1.g1.e1 from vm1.g1 union select e1 from pm1.g2 limit 0"; //$NON-NLS-1$
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
@@ -7246,7 +7241,7 @@
helpProcess(plan, manager, expected);
}
- public void testLimitZero3() {
+ @Test public void testLimitZero3() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
caps.setCapabilitySupport(Capability.ROW_LIMIT, true);
@@ -7266,7 +7261,7 @@
helpProcess(plan, manager, expected);
}
- public void testUnionWithTypeConversion() {
+ @Test public void testUnionWithTypeConversion() {
String sql = "select pm1.g1.e1, pm1.g1.e2 from pm1.g1 where e1 = 'b' union select e2, e1 from pm1.g2 where e1 = 'b' order by e1, e2"; //$NON-NLS-1$
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
@@ -7291,7 +7286,7 @@
*
* If this function were deterministic, it would be evaluated during rewrite to a single value.
*/
- public void testNonDeterministicEvaluation() throws Exception {
+ @Test public void testNonDeterministicEvaluation() throws Exception {
String sql = "select e1, convert(rand()*1000, integer) as x from pm1.g1 where e1 = 'a'"; //$NON-NLS-1$
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
@@ -7312,7 +7307,7 @@
/**
* here the rand function is deterministic and should yield a single value
*/
- public void testDeterministicEvaluation() throws Exception {
+ @Test public void testDeterministicEvaluation() throws Exception {
String sql = "select e1, convert(rand(0)*1000, integer) as x from pm1.g1 where e1 = 'a'"; //$NON-NLS-1$
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
@@ -7330,7 +7325,7 @@
helpProcess(plan, manager, expected);
}
- public void testEmptyAggregate() throws Exception {
+ @Test public void testEmptyAggregate() throws Exception {
String sql = "select count(e1) from pm1.g1 where 1 = 0"; //$NON-NLS-1$
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
@@ -7346,7 +7341,7 @@
helpProcess(plan, manager, expected);
}
- public void testNullAggregate() throws Exception {
+ @Test public void testNullAggregate() throws Exception {
String sql = "select count(*), count(e1), sum(convert(e1, integer)) from pm1.g1 where e1 is null"; //$NON-NLS-1$
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
@@ -7365,7 +7360,7 @@
/**
* here the presence of a group by causes no rows to be returned
*/
- public void testNullAggregate1() throws Exception {
+ @Test public void testNullAggregate1() throws Exception {
String sql = "select e1 from pm1.g1 where 1 = 0 group by e1"; //$NON-NLS-1$
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
@@ -7380,7 +7375,7 @@
helpProcess(plan, manager, expected);
}
- public void testReferenceReplacementWithExpression() throws Exception {
+ @Test public void testReferenceReplacementWithExpression() throws Exception {
String sql = "select e1, e2 from (select e1, convert(e2, string) e2 from pm1.g1) x where exists (select e3 from pm1.g2 where x.e2 = e1)"; //$NON-NLS-1$
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
@@ -7398,7 +7393,7 @@
* Here a merge join will be used since there is at least one equi join predicate.
* TODO: this can be optimized further
*/
- public void testCase6193_1() throws Exception {
+ @Test public void testCase6193_1() throws Exception {
// Create query
String sql = "select a.INTKEY, b.intkey from bqt1.smalla a LEFT OUTER JOIN bqt2.SMALLA b on a.intkey=b.intkey and a.intkey=5 where a.intkey <10 "; //$NON-NLS-1$
@@ -7452,7 +7447,7 @@
/**
* Here a merge join will be used since there is at least one equi join predicate.
*/
- public void testCase6193_2() throws Exception {
+ @Test public void testCase6193_2() throws Exception {
// Create query
String sql = "select a.e2, b.e2 from pm1.g1 a LEFT OUTER JOIN pm1.g2 b on a.e4=b.e4 and (a.e2+b.e2)=4 order by a.e2"; //$NON-NLS-1$
@@ -7499,7 +7494,7 @@
* Here a merge join will be used since there is at least one equi join predicate.
* The inner merge join is also a dependent join
*/
- public void testCase6193_3() throws Exception {
+ @Test public void testCase6193_3() throws Exception {
// Create query
String sql = "select a.x, b.y from (select 4 x union select 1) a LEFT OUTER JOIN (select (a.e2 + b.e2) y from pm1.g1 a LEFT OUTER JOIN pm1.g2 b on a.e4=b.e4) b on (a.x = b.y)"; //$NON-NLS-1$
@@ -7542,7 +7537,7 @@
/**
* A control test to ensure that y will still exist for sorting
*/
- public void testOrderByWithDuplicateExpressions() throws Exception {
+ @Test public void testOrderByWithDuplicateExpressions() throws Exception {
String sql = "select e1 as x, e1 as y from pm1.g1 order by y ASC"; //$NON-NLS-1$
FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
@@ -7567,7 +7562,7 @@
* This is a control test. It should work regardless of whether the reference is aliased
* since accessnodes are now fully positional
*/
- public void testPushdownNonAliasedSelectLiteral() {
+ @Test public void testPushdownNonAliasedSelectLiteral() {
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
caps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
@@ -7595,7 +7590,7 @@
helpProcess(plan, context, manager, expected);
}
- public void testCase6486() {
+ @Test public void testCase6486() {
// Create query
String sql = "select pm2.g1.e1 from pm1.g2, pm2.g1 where pm1.g2.e1=pm2.g1.e1 group by pm2.g1.e1"; //$NON-NLS-1$
@@ -7616,7 +7611,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testNonPushedOffset() throws Exception {
+ @Test public void testNonPushedOffset() throws Exception {
String sql = "SELECT e1 FROM pm1.g1 LIMIT 1, 5"; //$NON-NLS-1$
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
@@ -7636,7 +7631,7 @@
helpProcess(plan, dataManager, expected);
}
- public void testNonCorrelatedSubQueryExecution() throws Exception {
+ @Test public void testNonCorrelatedSubQueryExecution() throws Exception {
String sql = "SELECT e1 FROM pm1.g1 WHERE e2 IN (SELECT e2 FROM pm2.g1)"; //$NON-NLS-1$
// Construct data manager with data
@@ -7663,7 +7658,7 @@
}
- public void testCase186260() {
+ @Test public void testCase186260() {
/*
* This case revealed that an expression like "COUNT( DISTINCT e1 )", where the type of e1 is
* anything but integer, was not handled properly. We tried to use "integer" (the type of the
Modified: trunk/engine/src/test/java/com/metamatrix/query/processor/TestQueryProcessor.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/processor/TestQueryProcessor.java 2009-06-12 16:09:08 UTC (rev 1048)
+++ trunk/engine/src/test/java/com/metamatrix/query/processor/TestQueryProcessor.java 2009-06-12 16:11:58 UTC (rev 1049)
@@ -29,11 +29,13 @@
import junit.framework.TestCase;
+import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.common.buffer.BlockedException;
import com.metamatrix.common.buffer.BufferManager;
import com.metamatrix.common.buffer.BufferManagerFactory;
import com.metamatrix.common.buffer.TupleBatch;
import com.metamatrix.common.buffer.TupleSource;
+import com.metamatrix.common.buffer.TupleSourceNotFoundException;
import com.metamatrix.core.MetaMatrixCoreException;
import com.metamatrix.query.sql.symbol.ElementSymbol;
import com.metamatrix.query.util.CommandContext;
@@ -178,8 +180,7 @@
int count = 0;
- public void batchProduced(TupleBatch batch)
- throws MetaMatrixCoreException {
+ public void batchProduced(TupleBatch batch) throws TupleSourceNotFoundException, MetaMatrixComponentException {
assertEquals(++count, plan.batchIndex);
if (count == 2) {
[View Less]
15 years, 9 months
teiid SVN: r1048 - in trunk: embedded/src/main/java/com/metamatrix/dqp/embedded/admin and 2 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2009-06-12 12:09:08 -0400 (Fri, 12 Jun 2009)
New Revision: 1048
Modified:
trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/EmbeddedConnectionFactory.java
trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/EmbeddedDriver.java
trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/MMDriver.java
trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/DQPRuntimeStateAdminImpl.java
trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/services/…
[View More]EmbeddedConfigurationService.java
trunk/embedded/src/main/java/com/metamatrix/jdbc/EmbeddedConnectionFactoryImpl.java
trunk/embedded/src/main/java/com/metamatrix/jdbc/EmbeddedGuiceModule.java
Log:
TEIID-658 TEIID-659 changing drivermanager logging to java logging and cleaning up misc embedded issues
Modified: trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/EmbeddedConnectionFactory.java
===================================================================
--- trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/EmbeddedConnectionFactory.java 2009-06-12 15:52:32 UTC (rev 1047)
+++ trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/EmbeddedConnectionFactory.java 2009-06-12 16:09:08 UTC (rev 1048)
@@ -46,5 +46,5 @@
/**
* Shutdown the connection factory, including the DQP and all its existing connections
*/
- public void shutdown() throws SQLException;
+ public void shutdown();
}
Modified: trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/EmbeddedDriver.java
===================================================================
--- trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/EmbeddedDriver.java 2009-06-12 15:52:32 UTC (rev 1047)
+++ trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/EmbeddedDriver.java 2009-06-12 16:09:08 UTC (rev 1048)
@@ -33,11 +33,12 @@
import java.sql.DriverPropertyInfo;
import java.sql.SQLException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.Enumeration;
-import java.util.Iterator;
import java.util.List;
import java.util.Properties;
+import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -88,7 +89,7 @@
} catch(SQLException e) {
// Logging
String logMsg = BaseDataSource.getResourceMessage("EmbeddedDriver.MMDQP_DRIVER_could_not_be_registered"); //$NON-NLS-1$
- DriverManager.println(logMsg);
+ logger.log(Level.SEVERE, logMsg);
}
}
@@ -154,16 +155,15 @@
*/
private synchronized static EmbeddedTransport getDQPTransport(URL dqpURL, Properties info) throws SQLException {
EmbeddedTransport transport = currentTransport;
- if (transport != null && currentTransport.getURL().equals(dqpURL)) {
- String logMsg = BaseDataSource.getResourceMessage("EmbeddedDriver.use_existing_transport"); //$NON-NLS-1$
- DriverManager.println(logMsg);
- }
- else {
+ if (transport == null || !currentTransport.getURL().equals(dqpURL)) {
// shutdown any previous instance; we do encourage single instance in a given VM
shutdown();
- transport = new EmbeddedTransport(dqpURL, info);
- String logMsg = BaseDataSource.getResourceMessage("EmbeddedDriver.use_new_transport"); //$NON-NLS-1$
- DriverManager.println(logMsg);
+ try {
+ transport = new EmbeddedTransport(dqpURL, info);
+ } catch (SQLException e) {
+ logger.log(Level.SEVERE, "Could not start the embedded engine", e); //$NON-NLS-1$
+ throw e;
+ }
}
currentTransport = transport;
return transport;
@@ -182,7 +182,6 @@
void parseURL(String url, Properties info) throws SQLException {
if (url == null || url.trim().length() == 0) {
String logMsg = BaseDataSource.getResourceMessage("EmbeddedDriver.URL_must_be_specified"); //$NON-NLS-1$
- DriverManager.println(logMsg);
throw new SQLException(logMsg);
}
@@ -222,10 +221,7 @@
info.setProperty(BaseDataSource.APP_NAME, BaseDataSource.DEFAULT_APP_NAME);
}
} catch (Exception e) {
- String logMsg = e.getClass() +": "+e.getMessage(); //$NON-NLS-1$
- DriverManager.println(logMsg);
- DriverManager.println(e.getStackTrace().toString());
- throw new SQLException(logMsg);
+ throw new SQLException(e);
}
}
@@ -251,7 +247,6 @@
value = info.getProperty(BaseDataSource.VDB_NAME);
if (value == null || value.trim().length() == 0) {
String logMsg = BaseDataSource.getResourceMessage("MMDataSource.Virtual_database_name_must_be_specified"); //$NON-NLS-1$
- DriverManager.println(logMsg);
throw new SQLException(logMsg);
}
@@ -319,12 +314,8 @@
*/
public static synchronized void shutdown() {
if (currentTransport != null) {
- try {
- currentTransport.shutdown();
- currentTransport = null;
- } catch (SQLException e) {
- DriverManager.println(e.getMessage());
- }
+ currentTransport.shutdown();
+ currentTransport = null;
}
}
@@ -371,11 +362,8 @@
this.classLoader = new PostDelegatingClassLoader(dqpClassPath, this.getClass().getClassLoader(), new MetaMatrixURLStreamHandlerFactory());
String logMsg = BaseDataSource.getResourceMessage("EmbeddedDriver.use_classpath"); //$NON-NLS-1$
- DriverManager.println(logMsg);
- for (int i = 0; i < dqpClassPath.length; i++) {
- DriverManager.println(dqpClassPath[i].toString());
- }
-
+ logger.log(Level.FINER, logMsg + " " + Arrays.toString(dqpClassPath)); //$NON-NLS-1$
+
// Now using this class loader create the connection factory to the dqp.
ClassLoader current = Thread.currentThread().getContextClassLoader();
try {
@@ -385,7 +373,6 @@
this.connectionFactory = (EmbeddedConnectionFactory)clazz.newInstance();
this.connectionFactory.initialize(dqpURL, props);
} catch (Exception e) {
- DriverManager.println(e.getClass() +": "+e.getMessage()); //$NON-NLS-1$
throw new EmbeddedSQLException(e);
} finally {
Thread.currentThread().setContextClassLoader(current);
@@ -438,16 +425,10 @@
props.load(in);
String logMsg = BaseDataSource.getResourceMessage("EmbeddedDriver.use_properties"); //$NON-NLS-1$
- DriverManager.println(logMsg);
- for (Iterator i = props.keySet().iterator(); i.hasNext();) {
- String key = (String)i.next();
- DriverManager.println(key+"="+props.getProperty(key)); //$NON-NLS-1$
- }
+ logger.log(Level.FINER, logMsg + props);
return props;
}catch(IOException e) {
String logMsg = BaseDataSource.getResourceMessage("EmbeddedTransport.invalid_dqpproperties_path", new Object[] {dqpURL}); //$NON-NLS-1$
- DriverManager.println(e.getClass() +": "+e.getMessage()); //$NON-NLS-1$
- DriverManager.println(e.getStackTrace().toString());
throw new EmbeddedSQLException(e, logMsg);
}finally {
if (in != null) {
@@ -459,7 +440,7 @@
/**
* Shutdown the current transport
*/
- void shutdown() throws SQLException{
+ void shutdown() {
this.connectionFactory.shutdown();
// remove any artifacts which are not cleaned-up
@@ -517,10 +498,9 @@
throw MMSQLException.create(e);
}
}
- String dir = baseDir + "/" + identity; //$NON-NLS-1$
- System.setProperty(DQPEmbeddedProperties.DQP_TMPDIR, dir + "/temp"); //$NON-NLS-1$S
+ System.setProperty(DQPEmbeddedProperties.DQP_TMPDIR, baseDir + "/temp"); //$NON-NLS-1$S
- File f = new File(dir);
+ File f = new File(baseDir, identity);
// If directory already exists then try to delete it; because we may have
// failed to delete at end of last run (JVM holds lock on jar files)
@@ -532,7 +512,7 @@
if (!f.exists()) {
f.mkdirs();
}
- return dir;
+ return f.getAbsolutePath();
}
/**
Modified: trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/MMDriver.java
===================================================================
--- trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/MMDriver.java 2009-06-12 15:52:32 UTC (rev 1047)
+++ trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/MMDriver.java 2009-06-12 16:09:08 UTC (rev 1048)
@@ -30,6 +30,7 @@
import java.util.LinkedList;
import java.util.List;
import java.util.Properties;
+import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -82,7 +83,7 @@
} catch(SQLException e) {
// Logging
String logMsg = JDBCPlugin.Util.getString("MMDriver.Err_registering", e.getMessage()); //$NON-NLS-1$
- DriverManager.println(logMsg);
+ logger.log(Level.SEVERE, logMsg);
}
}
@@ -125,7 +126,7 @@
myConnection = createMMConnection(url, info);
} catch (MetaMatrixCoreException e) {
- DriverManager.println(e.getMessage());
+ logger.log(Level.SEVERE, "Could not create connection", e); //$NON-NLS-1$
throw MMSQLException.create(e, e.getMessage());
}
Modified: trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/DQPRuntimeStateAdminImpl.java
===================================================================
--- trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/DQPRuntimeStateAdminImpl.java 2009-06-12 15:52:32 UTC (rev 1047)
+++ trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/DQPRuntimeStateAdminImpl.java 2009-06-12 16:09:08 UTC (rev 1048)
@@ -22,7 +22,6 @@
package com.metamatrix.dqp.embedded.admin;
-import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
@@ -66,14 +65,10 @@
*/
public void stop(int millisToWait) throws AdminException {
// TODO: rreddy need to implement the time to wait.
- try {
- // First terminate all the sessions to the DQP currently have
- terminateSession(AdminObject.WILDCARD);
-
- getManager().shutdown();
- } catch (SQLException e) {
- throw new AdminComponentException(e);
- }
+ // First terminate all the sessions to the DQP currently have
+ terminateSession(AdminObject.WILDCARD);
+
+ getManager().shutdown();
}
/**
@@ -81,16 +76,12 @@
* @since 4.3
*/
public void restart() throws AdminException {
- try {
- // First terminate all the sessions to the DQP currently have
- terminateSession(AdminObject.WILDCARD);
-
- // Now shutdown the DQP, it will automatically start next timea new connection is
- // requested.
- getManager().shutdown();
- } catch (SQLException e) {
- throw new AdminComponentException(e);
- }
+ // First terminate all the sessions to the DQP currently have
+ terminateSession(AdminObject.WILDCARD);
+
+ // Now shutdown the DQP, it will automatically start next timea new connection is
+ // requested.
+ getManager().shutdown();
}
/**
Modified: trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedConfigurationService.java
===================================================================
--- trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedConfigurationService.java 2009-06-12 15:52:32 UTC (rev 1047)
+++ trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedConfigurationService.java 2009-06-12 16:09:08 UTC (rev 1048)
@@ -1436,8 +1436,7 @@
public File getWorkDir() {
String workDirectory = getUserPreferences().getProperty(DQPEmbeddedProperties.DQP_WORKSPACE);
- URL bufferURL = getFullyQualifiedPath(workDirectory);
- File workDir = new File(bufferURL.getPath());
+ File workDir = new File(workDirectory);
workDir.mkdirs();
return workDir;
}
Modified: trunk/embedded/src/main/java/com/metamatrix/jdbc/EmbeddedConnectionFactoryImpl.java
===================================================================
--- trunk/embedded/src/main/java/com/metamatrix/jdbc/EmbeddedConnectionFactoryImpl.java 2009-06-12 15:52:32 UTC (rev 1047)
+++ trunk/embedded/src/main/java/com/metamatrix/jdbc/EmbeddedConnectionFactoryImpl.java 2009-06-12 16:09:08 UTC (rev 1048)
@@ -26,8 +26,6 @@
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Properties;
@@ -67,8 +65,6 @@
private long starttime = -1L;
private Thread shutdownThread;
- private EmbeddedConnectionListener listener = new EmbeddedConnectionListener();
-
/**
* @see com.metamatrix.jdbc.EmbeddedConnectionFactory#createConnection()
*/
@@ -81,7 +77,7 @@
ServerConnection serverConn = this.handler.createConnection(props);
// Should occur every time in class loader using existing attributes
- return new EmbeddedConnection(this, serverConn, props, listener);
+ return new EmbeddedConnection(this, serverConn, props, null);
} catch (ConnectionException e) {
throw new EmbeddedSQLException(e);
}
@@ -130,11 +126,7 @@
@Override
public void run() {
- try {
- shutdown(false);
- } catch (SQLException e) {
- // ignore
- }
+ shutdown(false);
}
}
@@ -171,11 +163,11 @@
*
* @see com.metamatrix.jdbc.EmbeddedConnectionFactory#shutdown()
*/
- public void shutdown() throws SQLException {
+ public void shutdown() {
shutdown(true);
}
- private synchronized void shutdown(boolean undoShutdownHook) throws SQLException {
+ private synchronized void shutdown(boolean undoShutdownHook) {
if (undoShutdownHook) {
Runtime.getRuntime().removeShutdownHook(this.shutdownThread);
@@ -189,10 +181,6 @@
// this will by pass, and only let shutdown called once.
shutdownInProgress = true;
- // First close any connections hanging around; this will only happen if
- // connections are not properly closed; or somebody called shutdown.
- listener.closeConnections();
-
try {
this.dqp.stop();
} catch (ApplicationLifecycleException e) {
@@ -265,52 +253,4 @@
throw new EmbeddedSQLException(JDBCPlugin.Util.getString("EmbeddedConnectionFactory.vdb_notavailable", new Object[] {vdbName, EmbeddedDataSource.USE_LATEST_VDB_VERSION})); //$NON-NLS-1$
}
- /**
- * A internal connection listener for the connections; based on this
- * it manages the DQP instance. These are client side (JDBC) connections
- */
- private class EmbeddedConnectionListener implements ConnectionListener{
-
- // List of connections created
- HashMap connections = new HashMap();
-
- public void connectionAdded(String id, Connection connection) {
- // Add the connection to locol count
- connections.put(id, connection);
- }
-
- public void connectionRemoved(String id, Connection connection) {
- // remove from local count
- connections.remove(id);
- }
-
- /**
- * Loop through all the connections and close the connections.
- * @throws EmbeddedSQLException
- */
- private void closeConnections() throws SQLException {
- Exception firstException = null;
-
- // loop all the available connections and close them; make sure we avoid the
- // concurrent modification of the list of connections.
- while (this.connections.size() != 0) {
- try {
- Iterator i = this.connections.keySet().iterator();
- if (i.hasNext()) {
- Connection connection = (Connection)this.connections.get(i.next());
- connection.close();
- }
- } catch (Exception ex) {
- if (firstException == null) {
- firstException = ex;
- }
- }
- }
-
- // if there was any exception then let them know.
- if (firstException != null) {
- throw new EmbeddedSQLException(firstException);
- }
- }
- }
}
Modified: trunk/embedded/src/main/java/com/metamatrix/jdbc/EmbeddedGuiceModule.java
===================================================================
--- trunk/embedded/src/main/java/com/metamatrix/jdbc/EmbeddedGuiceModule.java 2009-06-12 15:52:32 UTC (rev 1047)
+++ trunk/embedded/src/main/java/com/metamatrix/jdbc/EmbeddedGuiceModule.java 2009-06-12 16:09:08 UTC (rev 1048)
@@ -58,7 +58,6 @@
bindConstant().annotatedWith(Names.named("ProcessName")).to(props.getProperty(DQPEmbeddedProperties.DQP_IDENTITY)); //$NON-NLS-1$
String workspaceDir = props.getProperty(DQPEmbeddedProperties.DQP_WORKSPACE);
bindConstant().annotatedWith(Names.named("WorkspaceDir")).to(workspaceDir); //$NON-NLS-1$
- this.props.setProperty(DQPEmbeddedProperties.DQP_TMPDIR, workspaceDir);
bind(Properties.class).annotatedWith(Names.named("DQPProperties")).toInstance(this.props); //$NON-NLS-1$
bind(DQPContextCache.class).in(Scopes.SINGLETON);
[View Less]
15 years, 9 months
teiid SVN: r1047 - trunk/build.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2009-06-12 11:52:32 -0400 (Fri, 12 Jun 2009)
New Revision: 1047
Modified:
trunk/build/
Log:
adding to svn ignore
Property changes on: trunk/build
___________________________________________________________________
Name: svn:ignore
- target
+ target
.classpath
.project
.settings
15 years, 9 months
teiid SVN: r1046 - in trunk/server/src/test: java/com/metamatrix/platform/config and 3 other directories.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2009-06-11 18:35:07 -0400 (Thu, 11 Jun 2009)
New Revision: 1046
Added:
trunk/server/src/test/java/com/metamatrix/platform/config/ConfigUpdateMgr.java
trunk/server/src/test/resources/config/config_multihost.xml
trunk/server/src/test/resources/config/config_multihost_getWorkerPools.xml
Modified:
trunk/server/src/test/java/com/metamatrix/admin/server/FakeConfigurationService.java
trunk/server/src/test/java/com/metamatrix/admin/server/…
[View More]FakeQueryService.java
trunk/server/src/test/java/com/metamatrix/admin/server/FakeRuntimeStateAdminAPIHelper.java
trunk/server/src/test/java/com/metamatrix/admin/server/TestServerConfigAdminImpl.java
trunk/server/src/test/java/com/metamatrix/admin/server/TestServerMonitoringAdminImpl.java
trunk/server/src/test/java/com/metamatrix/admin/server/TestServerRuntimeStateAdminImpl.java
trunk/server/src/test/java/com/metamatrix/platform/config/BaseTest.java
trunk/server/src/test/java/com/metamatrix/platform/config/spi/xml/HelperTestConfiguration.java
trunk/server/src/test/java/com/metamatrix/platform/config/spi/xml/TestCurrentConfiguration.java
trunk/server/src/test/java/com/metamatrix/platform/registry/FakeRegistryUtil.java
Log:
Teiid-587 - this initially was adding testing cases to support the adminapi changes for updating properties. This expanded into reworking the server testcases for the adminapi to be data driven from config xml files. This was done because there was a combination of hardcoded support data and use of config files that made it difficult to know when testing if your api call would return hard coded results or come from the config file. Therefore, Ted and I, reworked the tests so that all data used to drive the test come from a specified config file.
Modified: trunk/server/src/test/java/com/metamatrix/admin/server/FakeConfigurationService.java
===================================================================
--- trunk/server/src/test/java/com/metamatrix/admin/server/FakeConfigurationService.java 2009-06-11 22:17:54 UTC (rev 1045)
+++ trunk/server/src/test/java/com/metamatrix/admin/server/FakeConfigurationService.java 2009-06-11 22:35:07 UTC (rev 1046)
@@ -40,6 +40,7 @@
import com.metamatrix.common.actions.ModificationException;
import com.metamatrix.common.application.ClassLoaderManager;
import com.metamatrix.common.comm.ClientServiceRegistry;
+import com.metamatrix.common.config.CurrentConfiguration;
import com.metamatrix.common.config.api.ComponentDefn;
import com.metamatrix.common.config.api.ComponentDefnID;
import com.metamatrix.common.config.api.ComponentObject;
@@ -74,21 +75,37 @@
import com.metamatrix.common.util.PropertiesUtils;
import com.metamatrix.core.util.UnitTestUtil;
import com.metamatrix.platform.PlatformPlugin;
+import com.metamatrix.platform.config.ConfigUpdateMgr;
import com.metamatrix.platform.config.api.service.ConfigurationServiceInterface;
import com.metamatrix.platform.service.api.ServiceID;
import com.metamatrix.platform.service.controller.ServiceData;
+
+/**
+ * Use the ConfigUpdateMgr to set the config.xml to use
+ *
+ * example: ConfigUpdateMgr.createSystemProperties("config_multihost.xml");
+ *
+ * @author vanhalbert
+ *
+ */
public class FakeConfigurationService implements ConfigurationServiceInterface {
- private String CONFIG_FILE_PATH = null;
+ // private String CONFIG_FILE_PATH = null;
private ConnectorBinding cb = null;
- private ConfigurationModelContainerImpl config;
+ // private ConfigurationModelContainerImpl config;
+
+ private ConfigUpdateMgr mgr = new ConfigUpdateMgr();
public FakeConfigurationService() {
super();
- CONFIG_FILE_PATH = UnitTestUtil.getTestDataPath() + "/config/" + "config.xml"; //$NON-NLS-1$ //$NON-NLS-2$
- File configFile = new File(CONFIG_FILE_PATH);
- config = (ConfigurationModelContainerImpl)importConfigurationModel(configFile, Configuration.NEXT_STARTUP_ID);
+
+ CurrentConfiguration.reset();
+// CONFIG_FILE_PATH = UnitTestUtil.getTestDataPath() + "/config/" + "config.xml"; //$NON-NLS-1$ //$NON-NLS-2$
+// File configFile = new File(CONFIG_FILE_PATH);
+ // config = (ConfigurationModelContainerImpl)importConfigurationModel(configFile, Configuration.NEXT_STARTUP_ID);
+
+
}
@@ -106,22 +123,22 @@
* @return
* @since 5.0
*/
- private ConfigurationModelContainer importConfigurationModel(File fileToImport, ConfigurationID configID) {
- Collection configObjects = null;
- ConfigurationObjectEditor editor = new BasicConfigurationObjectEditor(false);
- ConfigurationModelContainerImpl configModel = null;
- try {
- XMLConfigurationImportExportUtility io = new XMLConfigurationImportExportUtility();
- FileInputStream inputStream = new FileInputStream(fileToImport);
- configObjects = io.importConfigurationObjects(inputStream, editor, configID.getFullName());
- configModel = new ConfigurationModelContainerImpl();
- configModel.setConfigurationObjects(configObjects);
- } catch(Exception ioe) {
- configModel = null;
- }
-
- return configModel;
- }
+// private ConfigurationModelContainer importConfigurationModel(File fileToImport, ConfigurationID configID) {
+// Collection configObjects = null;
+// ConfigurationObjectEditor editor = new BasicConfigurationObjectEditor(false);
+// ConfigurationModelContainerImpl configModel = null;
+// try {
+// XMLConfigurationImportExportUtility io = new XMLConfigurationImportExportUtility();
+// FileInputStream inputStream = new FileInputStream(fileToImport);
+// configObjects = io.importConfigurationObjects(inputStream, editor, configID.getFullName());
+// configModel = new ConfigurationModelContainerImpl();
+// configModel.setConfigurationObjects(configObjects);
+// } catch(Exception ioe) {
+// configModel = null;
+// }
+//
+// return configModel;
+// }
// private ProductServiceConfig getPSCByName(Configuration config,
// String pscName) throws InvalidArgumentException {
@@ -173,7 +190,7 @@
* @see com.metamatrix.platform.config.api.service.ConfigurationServiceInterface#createEditor()
*/
public ConfigurationObjectEditor createEditor() throws ConfigurationException{
- return new BasicConfigurationObjectEditor(true);
+ return mgr.getEditor();
}
/**
@@ -187,14 +204,14 @@
* @see com.metamatrix.platform.config.api.service.ConfigurationServiceInterface#getNextStartupConfigurationID()
*/
public ConfigurationID getNextStartupConfigurationID() throws ConfigurationException{
- return null;
+ return mgr.getConfigModel().getConfigurationID();
}
/**
* @see com.metamatrix.platform.config.api.service.ConfigurationServiceInterface#getStartupConfigurationID()
*/
public ConfigurationID getStartupConfigurationID() throws ConfigurationException{
- return null;
+ return mgr.getConfigModel().getConfigurationID();
}
/**
@@ -207,21 +224,21 @@
* @see com.metamatrix.platform.config.api.service.ConfigurationServiceInterface#getCurrentConfiguration()
*/
public Configuration getCurrentConfiguration() throws ConfigurationException {
- return new FakeConfiguration();
+ return mgr.getConfigModel().getConfiguration();
}
/**
* @see com.metamatrix.platform.config.api.service.ConfigurationServiceInterface#getNextStartupConfiguration()
*/
public Configuration getNextStartupConfiguration() throws ConfigurationException{
- return new FakeConfiguration();
+ return mgr.getConfigModel().getConfiguration();
}
/**
* @see com.metamatrix.platform.config.api.service.ConfigurationServiceInterface#getStartupConfiguration()
*/
public Configuration getStartupConfiguration() throws ConfigurationException{
- return new FakeConfiguration();
+ return mgr.getConfigModel().getConfiguration();
}
/**
@@ -229,7 +246,9 @@
*/
public Configuration getConfiguration(String configName) throws InvalidConfigurationException,
ConfigurationException{
- return new FakeConfiguration();
+
+ // TODO: need to change to use config.xml
+ return mgr.getConfigModel().getConfiguration();
}
/**
@@ -237,21 +256,21 @@
*/
public ConfigurationModelContainer getConfigurationModel(String configName) throws InvalidConfigurationException,
ConfigurationException{
- return this.config;
+ return mgr.getConfigModel();
}
/**
* @see com.metamatrix.platform.config.api.service.ConfigurationServiceInterface#getConfigurationAndDependents(com.metamatrix.common.config.api.ConfigurationID)
*/
public Collection getConfigurationAndDependents(ConfigurationID configID) throws ConfigurationException{
- return null;
+ return mgr.getConfigModel().getAllObjects();
}
/**
* @see com.metamatrix.platform.config.api.service.ConfigurationServiceInterface#getAllGlobalConfigObjects()
*/
public Collection getAllGlobalConfigObjects() throws ConfigurationException {
- return null;
+ return mgr.getConfigModel().getAllObjects();
}
/**
@@ -265,14 +284,14 @@
* @see com.metamatrix.platform.config.api.service.ConfigurationServiceInterface#getComponentTypeDefinitions(com.metamatrix.common.config.api.ComponentTypeID)
*/
public Collection getComponentTypeDefinitions(ComponentTypeID componentTypeID) throws ConfigurationException{
- return null;
+ return mgr.getConfigModel().getAllComponentTypeDefinitions(componentTypeID);
}
/**
* @see com.metamatrix.platform.config.api.service.ConfigurationServiceInterface#getAllComponentTypeDefinitions(com.metamatrix.common.config.api.ComponentTypeID)
*/
public Collection getAllComponentTypeDefinitions(ComponentTypeID componentTypeID) throws ConfigurationException{
- return null;
+ return mgr.getConfigModel().getAllComponentTypeDefinitions(componentTypeID);
}
/**
@@ -300,53 +319,59 @@
* @see com.metamatrix.platform.config.api.service.ConfigurationServiceInterface#getComponentType(com.metamatrix.common.config.api.ComponentTypeID)
*/
public ComponentType getComponentType(ComponentTypeID id) throws ConfigurationException {
- return null;
+ return mgr.getConfigModel().getComponentType(id.getFullName());
}
/**
* @see com.metamatrix.platform.config.api.service.ConfigurationServiceInterface#getAllComponentTypes(boolean)
*/
public Collection getAllComponentTypes(boolean includeDeprecated) throws ConfigurationException{
- List results = new ArrayList();
-
- ComponentTypeID typeID1 = new ComponentTypeID("connectorType1"); //$NON-NLS-1$
- BasicConnectorBindingType type1 = new BasicConnectorBindingType(typeID1, typeID1, typeID1, true, false, true);
- type1.setComponentTypeCode(ComponentType.CONNECTOR_COMPONENT_TYPE_CODE);
- results.add(type1);
-
-
- ComponentTypeID typeID2 = new ComponentTypeID("connectorType2"); //$NON-NLS-1$
- BasicConnectorBindingType type2 = new BasicConnectorBindingType(typeID2, typeID2, typeID2, true, false, true);
- type2.setComponentTypeCode(ComponentType.CONNECTOR_COMPONENT_TYPE_CODE);
-
- results.add(type2);
-
- return results;
+ Collection types = new ArrayList();
+ types.addAll(mgr.getConfigModel().getComponentTypes().values());
+ return types;
+
+// List results = new ArrayList();
+//
+// ComponentTypeID typeID1 = new ComponentTypeID("connectorType1"); //$NON-NLS-1$
+// BasicConnectorBindingType type1 = new BasicConnectorBindingType(typeID1, typeID1, typeID1, true, false, true);
+// type1.setComponentTypeCode(ComponentType.CONNECTOR_COMPONENT_TYPE_CODE);
+// results.add(type1);
+//
+//
+// ComponentTypeID typeID2 = new ComponentTypeID("connectorType2"); //$NON-NLS-1$
+// BasicConnectorBindingType type2 = new BasicConnectorBindingType(typeID2, typeID2, typeID2, true, false, true);
+// type2.setComponentTypeCode(ComponentType.CONNECTOR_COMPONENT_TYPE_CODE);
+//
+// results.add(type2);
+//
+// return results;
}
/**
* @see com.metamatrix.platform.config.api.service.ConfigurationServiceInterface#getHost(com.metamatrix.common.config.api.HostID)
*/
public Host getHost(HostID hostID) throws ConfigurationException {
- return null;
+ return mgr.getConfigModel().getHost(hostID.getFullName());
}
/**
* @see com.metamatrix.platform.config.api.service.ConfigurationServiceInterface#getHosts()
*/
public Collection getHosts() throws ConfigurationException {
- List hosts = new ArrayList();
-
- HostID hostID1 = new HostID("1.1.1.1"); //$NON-NLS-1$
- Host host1 = new BasicHost(Configuration.NEXT_STARTUP_ID, hostID1, new ComponentTypeID(HostType.COMPONENT_TYPE_NAME));
- hosts.add(host1);
-
- HostID hostID2 = new HostID("2.2.2.2"); //$NON-NLS-1$
- Host host2 = new BasicHost(Configuration.NEXT_STARTUP_ID, hostID2, new ComponentTypeID(HostType.COMPONENT_TYPE_NAME));
- hosts.add(host2);
-
-
- return hosts;
+ return mgr.getConfigModel().getHosts();
+
+// List hosts = new ArrayList();
+//
+// HostID hostID1 = new HostID("1.1.1.1"); //$NON-NLS-1$
+// Host host1 = new BasicHost(Configuration.NEXT_STARTUP_ID, hostID1, new ComponentTypeID(HostType.COMPONENT_TYPE_NAME));
+// hosts.add(host1);
+//
+// HostID hostID2 = new HostID("2.2.2.2"); //$NON-NLS-1$
+// Host host2 = new BasicHost(Configuration.NEXT_STARTUP_ID, hostID2, new ComponentTypeID(HostType.COMPONENT_TYPE_NAME));
+// hosts.add(host2);
+//
+//
+// return hosts;
}
/**
@@ -354,8 +379,8 @@
*/
public ComponentDefn getComponentDefn(ConfigurationID configurationID,
ComponentDefnID componentDefnID) throws ConfigurationException {
- return null;
- }
+ return this.getConfigurationModel(null).getConfiguration().getComponentDefn(componentDefnID);
+ }
/**
* @see com.metamatrix.platform.config.api.service.ConfigurationServiceInterface#getComponentDefns(java.util.Collection, com.metamatrix.common.config.api.ConfigurationID)
@@ -398,25 +423,26 @@
* @see com.metamatrix.platform.config.api.service.ConfigurationServiceInterface#getResources()
*/
public Collection getResources() throws ConfigurationException {
- List results = new ArrayList();
-
- SharedResourceID resourceID1 = new SharedResourceID("resource1"); //$NON-NLS-1$
- SharedResource resource1 = new BasicSharedResource(resourceID1, SharedResource.MISC_COMPONENT_TYPE_ID);
-
- BasicComponentObject target = (BasicComponentObject) resource1;
-
- target.addProperty("prop1", "value1");
- target.addProperty(Resource.RESOURCE_POOL, "pool");
-
- results.add(resource1);
-
-
- SharedResourceID resourceID2 = new SharedResourceID("resource2"); //$NON-NLS-1$
- SharedResource resource2 = new BasicSharedResource(resourceID2, SharedResource.MISC_COMPONENT_TYPE_ID);
- results.add(resource2);
-
-
- return results;
+ return mgr.getConfigModel().getResources();
+// List results = new ArrayList();
+//
+// SharedResourceID resourceID1 = new SharedResourceID("resource1"); //$NON-NLS-1$
+// SharedResource resource1 = new BasicSharedResource(resourceID1, SharedResource.MISC_COMPONENT_TYPE_ID);
+//
+// BasicComponentObject target = (BasicComponentObject) resource1;
+//
+// target.addProperty("prop1", "value1");
+// target.addProperty(Resource.RESOURCE_POOL, "pool");
+//
+// results.add(resource1);
+//
+//
+// SharedResourceID resourceID2 = new SharedResourceID("resource2"); //$NON-NLS-1$
+// SharedResource resource2 = new BasicSharedResource(resourceID2, SharedResource.MISC_COMPONENT_TYPE_ID);
+// results.add(resource2);
+//
+//
+// return results;
}
/**
@@ -431,6 +457,7 @@
*/
public void saveResources(Collection resourceDescriptors,
String principalName) throws ConfigurationException {
+
}
/**
@@ -445,6 +472,28 @@
*/
public Set executeTransaction(ActionDefinition action,
String principalName) throws ConfigurationException {
+
+ if (action != null) {
+
+ Set resultset = null;
+ mgr.initTransactions(new Properties());
+
+ List actions = new ArrayList(1);
+ actions.add(action);
+ resultset = mgr.commit(actions);
+
+
+ return resultset;
+// for (Iterator it=actions.iterator(); it.hasNext();) {
+// Object o = it.next();
+// if (o instanceof CreateObject) {
+// CreateObject co = (CreateObject) o;
+// Object[] objs = co.getArguments();
+// config.addObject(objs[0]);
+// }
+// }
+ }
+
return null;
}
@@ -454,14 +503,22 @@
public Set executeTransaction(List actions,
String principalName) throws ConfigurationException {
if (actions != null) {
- for (Iterator it=actions.iterator(); it.hasNext();) {
- Object o = it.next();
- if (o instanceof CreateObject) {
- CreateObject co = (CreateObject) o;
- Object[] objs = co.getArguments();
- config.addObject(objs[0]);
- }
- }
+
+ Set resultset = null;
+ mgr.initTransactions(new Properties());
+
+ resultset = mgr.commit(actions);
+
+
+ return resultset;
+// for (Iterator it=actions.iterator(); it.hasNext();) {
+// Object o = it.next();
+// if (o instanceof CreateObject) {
+// CreateObject co = (CreateObject) o;
+// Object[] objs = co.getArguments();
+// config.addObject(objs[0]);
+// }
+// }
}
return null;
}
@@ -473,7 +530,12 @@
List actions,
String principalName) throws ModificationException,
ConfigurationException {
- return null;
+ Set resultset = null;
+ mgr.initTransactions(new Properties());
+ resultset = mgr.commit(actions);
+
+ return resultset;
+
}
/**
@@ -572,7 +634,14 @@
public Object modify(ComponentObject theObject,
Properties theProperties,
String principalName) throws ConfigurationException{
- return null;
+
+ ConfigurationObjectEditor editor = this.createEditor();
+
+ theObject = editor.modifyProperties(theObject, theProperties, ConfigurationObjectEditor.SET);
+
+ this.executeTransaction(editor.getDestination().popActions(), "FakeConfigurationService");
+
+ return theObject;
}
@@ -662,7 +731,10 @@
String serviceName, String principalName)
throws ConfigurationException{
// TODO Auto-generated method stub
- return null;
+
+ ServiceComponentDefnID svcID = (ServiceComponentDefnID) this.getConfigurationModel(null).getConfiguration().getServiceComponentDefn(serviceName).getID();
+ VMComponentDefn vm = this.getConfigurationModel(null).getConfiguration().getVMComponentDefn(theProcessID);
+ return mgr.getConfigModel().getConfiguration().getDeployedServiceForVM(svcID, vm);
}
/**
Modified: trunk/server/src/test/java/com/metamatrix/admin/server/FakeQueryService.java
===================================================================
--- trunk/server/src/test/java/com/metamatrix/admin/server/FakeQueryService.java 2009-06-11 22:17:54 UTC (rev 1045)
+++ trunk/server/src/test/java/com/metamatrix/admin/server/FakeQueryService.java 2009-06-11 22:35:07 UTC (rev 1046)
@@ -35,7 +35,6 @@
import javax.transaction.xa.Xid;
import com.metamatrix.admin.api.exception.AdminException;
-import com.metamatrix.admin.api.objects.Request;
import com.metamatrix.admin.api.objects.Transaction;
import com.metamatrix.admin.objects.MMAdminObject;
import com.metamatrix.api.exception.ComponentNotFoundException;
Modified: trunk/server/src/test/java/com/metamatrix/admin/server/FakeRuntimeStateAdminAPIHelper.java
===================================================================
--- trunk/server/src/test/java/com/metamatrix/admin/server/FakeRuntimeStateAdminAPIHelper.java 2009-06-11 22:17:54 UTC (rev 1045)
+++ trunk/server/src/test/java/com/metamatrix/admin/server/FakeRuntimeStateAdminAPIHelper.java 2009-06-11 22:35:07 UTC (rev 1046)
@@ -24,10 +24,8 @@
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Date;
import java.util.HashSet;
import java.util.List;
-import java.util.Properties;
import java.util.Set;
import com.metamatrix.admin.api.objects.AdminObject;
@@ -35,25 +33,17 @@
import com.metamatrix.api.exception.MultipleException;
import com.metamatrix.api.exception.security.AuthorizationException;
import com.metamatrix.common.config.api.Configuration;
-import com.metamatrix.common.config.api.ConnectorBindingType;
-import com.metamatrix.common.config.api.DeployedComponent;
import com.metamatrix.common.config.api.exceptions.ConfigurationException;
import com.metamatrix.common.log.LogConfiguration;
-import com.metamatrix.common.messaging.NoOpMessageBus;
import com.metamatrix.common.queue.WorkerPoolStats;
-import com.metamatrix.platform.admin.api.runtime.HostData;
-import com.metamatrix.platform.admin.api.runtime.ProcessData;
import com.metamatrix.platform.admin.api.runtime.SystemState;
+import com.metamatrix.platform.admin.api.runtime.SystemStateBuilder;
import com.metamatrix.platform.admin.apiimpl.RuntimeStateAdminAPIHelper;
import com.metamatrix.platform.registry.ClusteredRegistryState;
-import com.metamatrix.platform.registry.ResourceNotBoundException;
-import com.metamatrix.platform.registry.ServiceRegistryBinding;
import com.metamatrix.platform.service.api.ServiceID;
-import com.metamatrix.platform.service.api.ServiceState;
import com.metamatrix.platform.service.api.exception.ServiceException;
import com.metamatrix.platform.vm.controller.ProcessStatistics;
-import com.metamatrix.server.connector.service.ConnectorService;
-import com.metamatrix.server.query.service.QueryService;
+import com.metamatrix.server.HostManagement;
/**
@@ -82,6 +72,8 @@
protected static boolean shutdownSystem = false;
protected static boolean synchronizeSystem = false;
+ private ClusteredRegistryState registry;
+
protected static void clearState() {
stoppedServices.clear();
restartedServices.clear();
@@ -98,14 +90,15 @@
public FakeRuntimeStateAdminAPIHelper(ClusteredRegistryState registry) {
super(registry,null);
+ this.registry = registry;
}
public void bounceServer() throws MetaMatrixComponentException {
}
- public List getHosts() throws MetaMatrixComponentException {
- return null;
- }
+// public List getHosts() throws MetaMatrixComponentException {
+// return null;
+// }
/**
* Return fake ServiceRegistryBinding for testing, based on the specified ServiceID.
@@ -113,59 +106,59 @@
* @see com.metamatrix.platform.admin.apiimpl.RuntimeStateAdminAPIHelper#getResourcePoolStatistics(com.metamatrix.platform.registry.MetaMatrixRegistry)
* @since 4.3
*/
- public ServiceRegistryBinding getServiceBinding(ServiceID serviceID) throws ResourceNotBoundException {
+// public ServiceRegistryBinding getServiceBindingx(ServiceID serviceID) throws ResourceNotBoundException {
+//
+// List deployedComponents = configuration.deployedComponents;
+// ServiceRegistryBinding bindingx = this.getServiceBinding(serviceID);
+//
+// if (serviceID.getID() == 2) {
+// DeployedComponent deployedComponent = (DeployedComponent) deployedComponents.get(1);
+//
+// ServiceRegistryBinding binding = new ServiceRegistryBinding(serviceID, null, ConnectorService.SERVICE_NAME,
+// "connectorBinding2", ConnectorBindingType.COMPONENT_TYPE_NAME, //$NON-NLS-1$
+// "connectorBinding2", "2.2.2.2", deployedComponent, //$NON-NLS-1$ //$NON-NLS-2$
+// ServiceState.STATE_CLOSED,
+// new Date(), false, new NoOpMessageBus());
+// return binding;
+// } else if (serviceID.getID() == 3) {
+// DeployedComponent deployedComponent = (DeployedComponent) deployedComponents.get(2);
+//
+// ServiceRegistryBinding binding = new ServiceRegistryBinding(serviceID, null, ConnectorService.SERVICE_NAME,
+// "connectorBinding3", ConnectorBindingType.COMPONENT_TYPE_NAME, //$NON-NLS-1$
+// "connectorBinding3", "3.3.3.3", deployedComponent, //$NON-NLS-1$ //$NON-NLS-2$
+// ServiceState.STATE_CLOSED,
+// new Date(), false, new NoOpMessageBus());
+// return binding;
+//
+//
+// } else if (serviceID.getID() == 5) {
+// DeployedComponent deployedComponent = (DeployedComponent) deployedComponents.get(4);
+//
+// ServiceRegistryBinding binding = new ServiceRegistryBinding(serviceID, null, QueryService.SERVICE_NAME,
+// "dqp2", "QueryService", //$NON-NLS-1$ //$NON-NLS-2$
+// "dqp2", "2.2.2.2", deployedComponent, //$NON-NLS-1$ //$NON-NLS-2$
+// ServiceState.STATE_CLOSED,
+// new Date(),
+// false, new NoOpMessageBus());
+// return binding;
+// } else if (serviceID.getID() == 6) {
+// DeployedComponent deployedComponent = (DeployedComponent) deployedComponents.get(5);
+//
+// ServiceRegistryBinding binding = new ServiceRegistryBinding(serviceID, null, QueryService.SERVICE_NAME,
+// "dqp3", "QueryService", //$NON-NLS-1$ //$NON-NLS-2$
+// "dqp3", "3.3.3.3", deployedComponent, //$NON-NLS-1$ //$NON-NLS-2$
+// ServiceState.STATE_CLOSED,
+// new Date(),
+// false, new NoOpMessageBus());
+// return binding;
+//
+//
+// }
+//
+//
+// return null;
+// }
- List deployedComponents = configuration.deployedComponents;
-
-
- if (serviceID.getID() == 2) {
- DeployedComponent deployedComponent = (DeployedComponent) deployedComponents.get(1);
-
- ServiceRegistryBinding binding = new ServiceRegistryBinding(serviceID, null, ConnectorService.SERVICE_NAME,
- "connectorBinding2", ConnectorBindingType.COMPONENT_TYPE_NAME, //$NON-NLS-1$
- "connectorBinding2", "2.2.2.2", deployedComponent, //$NON-NLS-1$ //$NON-NLS-2$
- ServiceState.STATE_CLOSED,
- new Date(), false, new NoOpMessageBus());
- return binding;
- } else if (serviceID.getID() == 3) {
- DeployedComponent deployedComponent = (DeployedComponent) deployedComponents.get(2);
-
- ServiceRegistryBinding binding = new ServiceRegistryBinding(serviceID, null, ConnectorService.SERVICE_NAME,
- "connectorBinding3", ConnectorBindingType.COMPONENT_TYPE_NAME, //$NON-NLS-1$
- "connectorBinding3", "3.3.3.3", deployedComponent, //$NON-NLS-1$ //$NON-NLS-2$
- ServiceState.STATE_CLOSED,
- new Date(), false, new NoOpMessageBus());
- return binding;
-
-
- } else if (serviceID.getID() == 5) {
- DeployedComponent deployedComponent = (DeployedComponent) deployedComponents.get(4);
-
- ServiceRegistryBinding binding = new ServiceRegistryBinding(serviceID, null, QueryService.SERVICE_NAME,
- "dqp2", "QueryService", //$NON-NLS-1$ //$NON-NLS-2$
- "dqp2", "2.2.2.2", deployedComponent, //$NON-NLS-1$ //$NON-NLS-2$
- ServiceState.STATE_CLOSED,
- new Date(),
- false, new NoOpMessageBus());
- return binding;
- } else if (serviceID.getID() == 6) {
- DeployedComponent deployedComponent = (DeployedComponent) deployedComponents.get(5);
-
- ServiceRegistryBinding binding = new ServiceRegistryBinding(serviceID, null, QueryService.SERVICE_NAME,
- "dqp3", "QueryService", //$NON-NLS-1$ //$NON-NLS-2$
- "dqp3", "3.3.3.3", deployedComponent, //$NON-NLS-1$ //$NON-NLS-2$
- ServiceState.STATE_CLOSED,
- new Date(),
- false, new NoOpMessageBus());
- return binding;
-
-
- }
-
-
- return null;
- }
-
/**
* Returns Collection of fake WorkerPoolStats for testing, based on the specified ServiceID.
* Returns "connectorBinding2" and "connectorBinding3"; "dqp2" and "dqp3"
@@ -175,19 +168,23 @@
public Collection getServiceQueueStatistics(ServiceID serviceID) throws MetaMatrixComponentException {
long id = serviceID.getID();
-
- if (id == 2 || id == 3 || id == 5 || id == 6) {
- List results = new ArrayList();
- WorkerPoolStats stats = new WorkerPoolStats();
- stats.name = "pool"; //$NON-NLS-1$
- stats.queued = (int) id;
- stats.totalSubmitted = (int) id;
-
- results.add(stats);
- return results;
- }
-
- return null;
+ List results = new ArrayList();
+ WorkerPoolStats stats = new WorkerPoolStats();
+ stats.name = "pool"; //$NON-NLS-1$
+ stats.queued = (int) id;
+ stats.totalSubmitted = (int) id;
+ results.add(stats);
+ return results;
+
+// if (serviceID.getHostName().equalsIgnoreCase(IdentifierConstants.HOST_1_1_1_1)) {
+//
+// } else if (serviceID.getHostName().equalsIgnoreCase(IdentifierConstants.HOST_2_2_2_2)) {
+//
+// } else if (serviceID.getHostName().equalsIgnoreCase(IdentifierConstants.HOST_3_3_3_3) {
+//
+// }
+
+ // return null;
}
@@ -197,26 +194,26 @@
* @see com.metamatrix.platform.admin.apiimpl.RuntimeStateAdminAPIHelper#getResourcePoolStatistics(com.metamatrix.platform.registry.MetaMatrixRegistry)
* @since 4.3
*/
- public List getServices() throws MetaMatrixComponentException {
- List results = new ArrayList();
-
- ServiceID serviceID2 = new ServiceID(2, "2.2.2.2", "process2"); //$NON-NLS-1$ //$NON-NLS-2$
- results.add(serviceID2);
-
- ServiceID serviceID3 = new ServiceID(3, "3.3.3.3", "process3");//$NON-NLS-1$ //$NON-NLS-2$
- results.add(serviceID3);
-
-
- ServiceID serviceID2A = new ServiceID(5, "2.2.2.2", "process2"); //$NON-NLS-1$ //$NON-NLS-2$
- results.add(serviceID2A);
-
- ServiceID serviceID3A = new ServiceID(6, "3.3.3.3", "process3");//$NON-NLS-1$ //$NON-NLS-2$
- results.add(serviceID3A);
+// public List getServices() throws MetaMatrixComponentException {
+// List results = new ArrayList();
+//
+// ServiceID serviceID2 = new ServiceID(2, "2.2.2.2", "process2"); //$NON-NLS-1$ //$NON-NLS-2$
+// results.add(serviceID2);
+//
+// ServiceID serviceID3 = new ServiceID(3, "3.3.3.3", "process3");//$NON-NLS-1$ //$NON-NLS-2$
+// results.add(serviceID3);
+//
+//
+// ServiceID serviceID2A = new ServiceID(5, "2.2.2.2", "process2"); //$NON-NLS-1$ //$NON-NLS-2$
+// results.add(serviceID2A);
+//
+// ServiceID serviceID3A = new ServiceID(6, "3.3.3.3", "process3");//$NON-NLS-1$ //$NON-NLS-2$
+// results.add(serviceID3A);
+//
+//
+// return results;
+// }
-
- return results;
- }
-
/**
* Returns fake SystemState with fake HostDatas.
@@ -225,24 +222,37 @@
* @since 4.3
*/
public synchronized SystemState getSystemState() throws MetaMatrixComponentException {
-
- List hosts = new ArrayList();
-
- List processes2 = new ArrayList();
- ProcessData process2 = new ProcessData("2.2.2.2", "process2", "31000", null, new ArrayList(), true, true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- processes2.add(process2);
- HostData host2 = new HostData("2.2.2.2", processes2, true, true, new Properties()); //$NON-NLS-1$
- hosts.add(host2);
+
+ try {
+ SystemStateBuilder ssm = new FakeStateBuilder(registry, null);
+ return ssm.getSystemState();
+ } catch (MetaMatrixComponentException e) {
+ e.printStackTrace();
+ throw e;
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ throw new MetaMatrixComponentException(e);
+ }
- List processes3 = new ArrayList();
- ProcessData process3 = new ProcessData("3.3.3.3", "process3", "31001", null, new ArrayList(), true, true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- processes3.add(process3);
- HostData host3 = new HostData("3.3.3.3", processes3, true, true, new Properties()); //$NON-NLS-1$
- hosts.add(host3);
+// List hosts = new ArrayList();
+//
+// List processes2 = new ArrayList();
+// ProcessData process2 = new ProcessData("2.2.2.2", "process2", "31000", null, new ArrayList(), true, true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+// processes2.add(process2);
+// HostData host2 = new HostData("2.2.2.2", processes2, true, true, new Properties()); //$NON-NLS-1$
+// hosts.add(host2);
+//
+// List processes3 = new ArrayList();
+// ProcessData process3 = new ProcessData("3.3.3.3", "process3", "31001", null, new ArrayList(), true, true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+// processes3.add(process3);
+// HostData host3 = new HostData("3.3.3.3", processes3, true, true, new Properties()); //$NON-NLS-1$
+// hosts.add(host3);
+//
+//
+// return new SystemState(hosts);
- return new SystemState(hosts);
-
}
@@ -334,6 +344,17 @@
}
+ class FakeStateBuilder extends SystemStateBuilder {
+
+ FakeStateBuilder(ClusteredRegistryState registry, HostManagement hostManagement) throws Exception {
+ super(registry, hostManagement);
+ }
+
+ protected boolean isHostRunning(String hostName) {
+ return true;
+ }
+
+ }
}
\ No newline at end of file
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-11 22:17:54 UTC (rev 1045)
+++ trunk/server/src/test/java/com/metamatrix/admin/server/TestServerConfigAdminImpl.java 2009-06-11 22:35:07 UTC (rev 1046)
@@ -20,7 +20,7 @@
* 02110-1301 USA.
*/
-package com.metamatrix.admin.server;
+package com.metamatrix.admin.server;
import java.io.File;
import java.util.Collection;
import java.util.HashSet;
@@ -31,123 +31,143 @@
import com.metamatrix.admin.api.exception.AdminException;
import com.metamatrix.admin.api.exception.AdminProcessingException;
+import com.metamatrix.admin.api.objects.AdminObject;
import com.metamatrix.admin.api.objects.AdminOptions;
import com.metamatrix.admin.api.objects.ConnectorBinding;
import com.metamatrix.admin.api.objects.Host;
+import com.metamatrix.admin.api.objects.ProcessObject;
import com.metamatrix.admin.api.objects.Service;
+import com.metamatrix.admin.objects.MMConnectorBinding;
+import com.metamatrix.admin.objects.MMProcess;
+import com.metamatrix.common.application.DQPConfigSource;
+import com.metamatrix.common.config.CurrentConfiguration;
+import com.metamatrix.common.config.api.ConfigurationModelContainer;
+import com.metamatrix.common.config.api.DeployedComponent;
+import com.metamatrix.common.config.api.ServiceComponentDefn;
import com.metamatrix.core.util.ObjectConverterUtil;
import com.metamatrix.core.util.UnitTestUtil;
import com.metamatrix.metadata.runtime.api.Model;
import com.metamatrix.metadata.runtime.api.VirtualDatabase;
import com.metamatrix.metadata.runtime.api.VirtualDatabaseID;
+import com.metamatrix.platform.config.ConfigUpdateMgr;
+import com.metamatrix.platform.config.util.CurrentConfigHelper;
import com.metamatrix.platform.registry.ClusteredRegistryState;
import com.metamatrix.platform.registry.FakeRegistryUtil;
-
-
-/**
- * Unit tests of ServerMonitoringAdminImpl
- * @since 4.3
- */
-public class TestServerConfigAdminImpl extends TestCase implements IdentifierConstants {
-
- private static final String BOGUS_HOST = "slwxp120"; //$NON-NLS-1$
- private static final String BOGUS_HOST_IP = "192.168.10.157"; //$NON-NLS-1$
- private static final String BOGUS_HOST_FULLY_QUALIFIED = BOGUS_HOST + "quadrian.com"; //$NON-NLS-1$
-
- private static String VDB_NAME1 = "myVdb1"; //$NON-NLS-1$
- private static String VDB_NAME2 = "myVdb2"; //$NON-NLS-1$
- private static String VERSION1 = "1"; //$NON-NLS-1$
- private static String PHYSICAL_MODEL_NAME1 = "PhysicalModel1"; //$NON-NLS-1$
- private static String PHYSICAL_MODEL_NAME2 = "PhysicalModel2"; //$NON-NLS-1$
-
- private ServerAdminImpl parent;
- private FakeServerConfigAdminImpl admin;
-
-
- public void setUp() throws Exception {
- System.setProperty("metamatrix.config.none", "true"); //$NON-NLS-1$ //$NON-NLS-2$
- System.setProperty("metamatrix.message.bus.type", "noop.message.bus"); //$NON-NLS-1$ //$NON-NLS-2$
-
- ClusteredRegistryState registry = FakeRegistryUtil.getFakeRegistry();
- parent = new FakeServerAdminImpl(registry);
- admin = new FakeServerConfigAdminImpl(parent, registry);
- }
-
-
-
- private void helpCheckBindings(Model model, Collection expectedBindingNames) throws Exception {
- Collection modelBindings = model.getConnectorBindingNames();
- // Check sizes first
- if(modelBindings.size()!=expectedBindingNames.size()) {
- fail("The number of actual bindings does not match the expected count "+ //$NON-NLS-1$
- "\n actual: " + modelBindings.size() + //$NON-NLS-1$
- "\n expected: " + expectedBindingNames.size()); //$NON-NLS-1$
- }
-
- // Check whether names match
- Iterator expectedIter = expectedBindingNames.iterator();
- while(expectedIter.hasNext()) {
- String expectedName = (String)expectedIter.next();
- boolean found = false;
- Iterator actualIter = modelBindings.iterator();
- while(actualIter.hasNext()) {
- String actualName = (String)actualIter.next();
- if(actualName.equals(expectedName)) {
- found = true;
- break;
- }
- }
- if(!found) {
- fail("Binding ["+expectedName+"] was not found in the list of actual model bindings"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- }
-
- private Model helpGetModel(String vdbName, String vdbVersion, String modelName) throws Exception {
- Model resultModel = null;
- Collection vdbs = FakeRuntimeMetadataCatalog.getVirtualDatabases();
- Iterator iter = vdbs.iterator();
- while(iter.hasNext()) {
- VirtualDatabase vdb = (VirtualDatabase)iter.next();
- VirtualDatabaseID vdbID = vdb.getVirtualDatabaseID();
- if(vdbID.getName().equals(vdbName)) {
- Collection models = FakeRuntimeMetadataCatalog.getModels(vdbID);
- Iterator modelIter = models.iterator();
- while(modelIter.hasNext()) {
- Model model = (Model)modelIter.next();
- if(model.getName().equals(modelName)) {
- resultModel = model;
- break;
- }
- }
- }
-
- }
- return resultModel;
- }
-
- /**
- * Tests <code>ServerConfigAdminImpl.testExportConfiguration()</code>
- * @since 4.3
- */
- public void testExportConfiguration() throws AdminException {
- char[] results = admin.exportConfiguration();
- assertNotNull(results);
- }
-
- public void testAddConnectorType() throws Exception {
- String name = "MS Access Connector New"; //$NON-NLS-1$
- String cdkFileName = "MS Access Connector.cdk"; //$NON-NLS-1$
-
- final String datapath = UnitTestUtil.getTestDataPath();
- final String fullpathName = datapath + File.separator + cdkFileName;
-
- File file = new File(fullpathName);
-
- char[] data = ObjectConverterUtil.convertFileToCharArray(file, null);
- admin.addConnectorType(name, data);
+import com.metamatrix.platform.security.api.service.MembershipServiceInterface;
+
+
+/**
+ * Unit tests of ServerMonitoringAdminImpl
+ * @since 4.3
+ */
+public class TestServerConfigAdminImpl extends TestCase implements IdentifierConstants {
+
+ private static final String BOGUS_HOST = "slwxp120"; //$NON-NLS-1$
+ private static final String BOGUS_HOST_IP = "192.168.10.157"; //$NON-NLS-1$
+ private static final String BOGUS_HOST_FULLY_QUALIFIED = BOGUS_HOST + "quadrian.com"; //$NON-NLS-1$
+
+ private static final String BOGUS_PROCESS = "MMProcess"; //$NON-NLS-1$
+ private static final String BOGUS_SERVICE = "MyService"; //$NON-NLS-1$
+
+ private static String VDB_NAME1 = "myVdb1"; //$NON-NLS-1$
+ private static String VDB_NAME2 = "myVdb2"; //$NON-NLS-1$
+ private static String VERSION1 = "1"; //$NON-NLS-1$
+ private static String PHYSICAL_MODEL_NAME1 = "PhysicalModel1"; //$NON-NLS-1$
+ private static String PHYSICAL_MODEL_NAME2 = "PhysicalModel2"; //$NON-NLS-1$
+
+ private static FakeConfigurationService configService = new FakeConfigurationService();
+ private static ConfigurationModelContainer configModelContainer = null;
+
+ private ServerAdminImpl parent;
+ private FakeServerConfigAdminImpl admin;
+
+
+ public void setUp() throws Exception {
+ System.setProperty("metamatrix.config.none", "true"); //$NON-NLS-1$ //$NON-NLS-2$
+ System.setProperty("metamatrix.message.bus.type", "noop.message.bus"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ ConfigUpdateMgr.createSystemProperties("config_multihost.xml");
+
+ ClusteredRegistryState registry = FakeRegistryUtil.getFakeRegistry();
+ parent = new FakeServerAdminImpl(registry);
+ admin = new FakeServerConfigAdminImpl(parent, registry);
}
+
+
+ private void helpCheckBindings(Model model, Collection<String> expectedBindingNames) throws Exception {
+ Collection modelBindings = model.getConnectorBindingNames();
+ // Check sizes first
+ if(modelBindings.size()!=expectedBindingNames.size()) {
+ fail("The number of actual bindings does not match the expected count "+ //$NON-NLS-1$
+ "\n actual: " + modelBindings.size() + //$NON-NLS-1$
+ "\n expected: " + expectedBindingNames.size()); //$NON-NLS-1$
+ }
+
+ // Check whether names match
+ Iterator<String> expectedIter = expectedBindingNames.iterator();
+ while(expectedIter.hasNext()) {
+ String expectedName = expectedIter.next();
+ boolean found = false;
+ Iterator actualIter = modelBindings.iterator();
+ while(actualIter.hasNext()) {
+ String actualName = (String)actualIter.next();
+ if(actualName.equals(expectedName)) {
+ found = true;
+ break;
+ }
+ }
+ if(!found) {
+ fail("Binding ["+expectedName+"] was not found in the list of actual model bindings"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+ }
+
+ private Model helpGetModel(String vdbName, String vdbVersion, String modelName) throws Exception {
+ Model resultModel = null;
+ Collection vdbs = FakeRuntimeMetadataCatalog.getVirtualDatabases();
+ Iterator iter = vdbs.iterator();
+ while(iter.hasNext()) {
+ VirtualDatabase vdb = (VirtualDatabase)iter.next();
+ VirtualDatabaseID vdbID = vdb.getVirtualDatabaseID();
+ if(vdbID.getName().equals(vdbName)) {
+ Collection models = FakeRuntimeMetadataCatalog.getModels(vdbID);
+ Iterator modelIter = models.iterator();
+ while(modelIter.hasNext()) {
+ Model model = (Model)modelIter.next();
+ if(model.getName().equals(modelName)) {
+ resultModel = model;
+ break;
+ }
+ }
+ }
+
+ }
+ return resultModel;
+ }
+
+ /**
+ * Tests <code>ServerConfigAdminImpl.testExportConfiguration()</code>
+ * @since 4.3
+ */
+ public void testExportConfiguration() throws AdminException {
+ char[] results = admin.exportConfiguration();
+ assertNotNull(results);
+ }
+
+ public void testAddConnectorType() throws Exception {
+ String name = "MS Access Connector New"; //$NON-NLS-1$
+ String cdkFileName = "MS Access Connector.cdk"; //$NON-NLS-1$
+
+ final String datapath = UnitTestUtil.getTestDataPath();
+ final String fullpathName = datapath + File.separator + cdkFileName;
+
+ File file = new File(fullpathName);
+
+ char[] data = ObjectConverterUtil.convertFileToCharArray(file, null);
+ admin.addConnectorType(name, data);
+ }
+
public void testAddConnectorBindingUsingNameInCDK() throws Exception {
String cdkFileName = "GateaConnector.cdk"; //$NON-NLS-1$
@@ -160,163 +180,163 @@
ConnectorBinding cb = admin.addConnectorBinding("", data, new AdminOptions(AdminOptions.OnConflict.OVERWRITE));
assertNotNull(cb);
- }
-
- public void testAddHost() throws Exception {
- String hostIdentifier = BOGUS_HOST;
- Properties hostProperties = new Properties();
- hostProperties.setProperty(Host.INSTALL_DIR, "D:\\MetaMatrix\\s43401\\"); //$NON-NLS-1$
- hostProperties.setProperty(Host.HOST_DIRECTORY, "D:\\MetaMatrix\\s43401\\host"); //$NON-NLS-1$
- hostProperties.setProperty(Host.LOG_DIRECTORY, "D:\\MetaMatrix\\s43401\\log"); //$NON-NLS-1$
- hostProperties.setProperty(Host.HOST_ENABLED, "true"); //$NON-NLS-1$
- admin.addHost(hostIdentifier, hostProperties);
- }
-
- public void testAddHostIP() throws Exception {
- String hostIdentifier = BOGUS_HOST_IP;
- Properties hostProperties = new Properties();
- hostProperties.setProperty(Host.INSTALL_DIR, "D:\\MetaMatrix\\s43401\\"); //$NON-NLS-1$
- hostProperties.setProperty(Host.HOST_DIRECTORY, "D:\\MetaMatrix\\s43401\\host"); //$NON-NLS-1$
- hostProperties.setProperty(Host.LOG_DIRECTORY, "D:\\MetaMatrix\\s43401\\log"); //$NON-NLS-1$
- hostProperties.setProperty(Host.HOST_ENABLED, "true"); //$NON-NLS-1$
- admin.addHost(hostIdentifier, hostProperties);
- }
-
- public void testAddHostFullyQualifiedName() throws Exception {
- String hostIdentifier = BOGUS_HOST_FULLY_QUALIFIED;
- Properties hostProperties = new Properties();
- hostProperties.setProperty(Host.INSTALL_DIR, "D:\\MetaMatrix\\s43401\\"); //$NON-NLS-1$
- hostProperties.setProperty(Host.HOST_DIRECTORY, "D:\\MetaMatrix\\s43401\\host"); //$NON-NLS-1$
- hostProperties.setProperty(Host.LOG_DIRECTORY, "D:\\MetaMatrix\\s43401\\log"); //$NON-NLS-1$
- hostProperties.setProperty(Host.HOST_ENABLED, "true"); //$NON-NLS-1$
- admin.addHost(hostIdentifier, hostProperties);
- }
-
- public void testAssignBindingToModel() throws Exception {
- // The FakeConfiguration has 3 connectors available, connectorBinding1, 2 and 3.
-
- // Assign a single connector binding, connectorBinding2
- admin.assignBindingToModel("connectorBinding2",VDB_NAME1,VERSION1,PHYSICAL_MODEL_NAME1); //$NON-NLS-1$
-
- // Check results
- Collection expectedBindingNames = new HashSet();
- expectedBindingNames.add("connectorBinding2uuid"); //$NON-NLS-1$
-
- Model model = helpGetModel(VDB_NAME1,VERSION1,PHYSICAL_MODEL_NAME1);
-
- helpCheckBindings(model,expectedBindingNames);
- }
-
- public void testAssignBindingsToNonMultiEnabledModel() throws Exception {
- // The FakeConfiguration has 3 connectors available, connectorBinding1, 2 and 3.
-
- // Assign multiple connector bindings, connectorBinding1 and 2
- String[] bindings = new String[] {"connectorBinding1", "connectorBinding2"}; //$NON-NLS-1$ //$NON-NLS-2$
-
- admin.assignBindingsToModel(bindings,VDB_NAME1,VERSION1,PHYSICAL_MODEL_NAME1);
-
- // Check results - Since the model is not multi-source binding enabled,
- // only the first binding was actually assigned
- Collection expectedBindingNames = new HashSet();
- expectedBindingNames.add("connectorBinding1uuid"); //$NON-NLS-1$
-
- Model model = helpGetModel(VDB_NAME1,VERSION1,PHYSICAL_MODEL_NAME1);
-
- helpCheckBindings(model,expectedBindingNames);
- }
-
- public void testAssignBindingsToMultiEnabledModel() throws Exception {
- // The FakeConfiguration has 3 connectors available, connectorBinding1, 2 and 3.
-
- // Assign multiple connector bindings, connectorBinding1 and 2
- String[] bindings = new String[] {"connectorBinding1", "connectorBinding2"}; //$NON-NLS-1$ //$NON-NLS-2$
-
- admin.assignBindingsToModel(bindings,VDB_NAME2,VERSION1,PHYSICAL_MODEL_NAME2);
-
- // Check results - Since the model is multi-source binding enabled,
- // both bindings should be assinged
- Collection expectedBindingNames = new HashSet();
- expectedBindingNames.add("connectorBinding1uuid"); //$NON-NLS-1$
- expectedBindingNames.add("connectorBinding2uuid"); //$NON-NLS-1$
-
- Model model = helpGetModel(VDB_NAME2,VERSION1,PHYSICAL_MODEL_NAME2);
-
- helpCheckBindings(model,expectedBindingNames);
- }
-
- public void testDeassignBindingFromModel() throws Exception {
- // The FakeConfiguration has 3 connectors available, connectorBinding1, 2 and 3.
-
- // Assign a single connector binding, connectorBinding2
- admin.assignBindingToModel("connectorBinding2",VDB_NAME1,VERSION1,PHYSICAL_MODEL_NAME1); //$NON-NLS-1$
-
- // Check results
- Collection expectedBindingNames = new HashSet();
- expectedBindingNames.add("connectorBinding2uuid"); //$NON-NLS-1$
-
- Model model = helpGetModel(VDB_NAME1,VERSION1,PHYSICAL_MODEL_NAME1);
-
- helpCheckBindings(model,expectedBindingNames);
-
- // Now Deassign it
- admin.deassignBindingFromModel("connectorBinding2",VDB_NAME1,VERSION1,PHYSICAL_MODEL_NAME1); //$NON-NLS-1$
-
- // Check results - expect to be empty
- expectedBindingNames = new HashSet();
-
- helpCheckBindings(model,expectedBindingNames);
-
- }
-
- public void testDeassignMultiBindingsFromMultiModel() throws Exception {
- // The FakeConfiguration has 3 connectors available, connectorBinding1, 2 and 3.
-
- // Assign multiple connector bindings, connectorBinding1 , 2 and 3
- String[] bindings = new String[] {"connectorBinding1", "connectorBinding2", "connectorBinding3"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- admin.assignBindingsToModel(bindings,VDB_NAME2,VERSION1,PHYSICAL_MODEL_NAME2);
-
- // Check results - Since the model is multi-source binding enabled,
- // all bindings should be assinged
- Collection expectedBindingNames = new HashSet();
- expectedBindingNames.add("connectorBinding1uuid"); //$NON-NLS-1$
- expectedBindingNames.add("connectorBinding2uuid"); //$NON-NLS-1$
- expectedBindingNames.add("connectorBinding3uuid"); //$NON-NLS-1$
-
- Model model = helpGetModel(VDB_NAME2,VERSION1,PHYSICAL_MODEL_NAME2);
-
- helpCheckBindings(model,expectedBindingNames);
-
- //-------------------------------
- // Now Deassign two bindings
- //-------------------------------
- String[] debindings = new String[] {"connectorBinding1", "connectorBinding3"}; //$NON-NLS-1$ //$NON-NLS-2$
- admin.deassignBindingsFromModel(debindings,VDB_NAME2,VERSION1,PHYSICAL_MODEL_NAME2);
-
- // Check results - expect to have one binding remaining
- expectedBindingNames = new HashSet();
- expectedBindingNames.add("connectorBinding2uuid"); //$NON-NLS-1$
-
- helpCheckBindings(model,expectedBindingNames);
-
- //--------------------------------------------------
- // Now Deassign them again - should get same result
- //--------------------------------------------------
- admin.deassignBindingsFromModel(debindings,VDB_NAME2,VERSION1,PHYSICAL_MODEL_NAME2);
-
- helpCheckBindings(model,expectedBindingNames);
-
- //--------------------------------------------------
- // Now Deassign the last one
- //--------------------------------------------------
- debindings = new String[] {"connectorBinding2"}; //$NON-NLS-1$
- admin.deassignBindingsFromModel(debindings,VDB_NAME2,VERSION1,PHYSICAL_MODEL_NAME2);
-
- // Check results - expect to have no bindings
- expectedBindingNames = new HashSet();
- helpCheckBindings(model,expectedBindingNames);
+ }
+
+ public void testAddHost() throws Exception {
+ String hostIdentifier = BOGUS_HOST;
+ Properties hostProperties = new Properties();
+// hostProperties.setProperty(Host.INSTALL_DIR, "D:\\MetaMatrix\\s43401\\"); //$NON-NLS-1$
+// hostProperties.setProperty(Host.HOST_DIRECTORY, "D:\\MetaMatrix\\s43401\\host"); //$NON-NLS-1$
+// hostProperties.setProperty(Host.LOG_DIRECTORY, "D:\\MetaMatrix\\s43401\\log"); //$NON-NLS-1$
+// hostProperties.setProperty(Host.HOST_ENABLED, "true"); //$NON-NLS-1$
+ admin.addHost(hostIdentifier, hostProperties);
}
+ public void testAddHostIP() throws Exception {
+ String hostIdentifier = BOGUS_HOST_IP;
+ Properties hostProperties = new Properties();
+// hostProperties.setProperty(Host.INSTALL_DIR, "D:\\MetaMatrix\\s43401\\"); //$NON-NLS-1$
+// hostProperties.setProperty(Host.HOST_DIRECTORY, "D:\\MetaMatrix\\s43401\\host"); //$NON-NLS-1$
+// hostProperties.setProperty(Host.LOG_DIRECTORY, "D:\\MetaMatrix\\s43401\\log"); //$NON-NLS-1$
+// hostProperties.setProperty(Host.HOST_ENABLED, "true"); //$NON-NLS-1$
+ admin.addHost(hostIdentifier, hostProperties);
+ }
+
+ public void testAddHostFullyQualifiedName() throws Exception {
+ String hostIdentifier = BOGUS_HOST_FULLY_QUALIFIED;
+ Properties hostProperties = new Properties();
+// hostProperties.setProperty(Host.INSTALL_DIR, "D:\\MetaMatrix\\s43401\\"); //$NON-NLS-1$
+// hostProperties.setProperty(Host.HOST_DIRECTORY, "D:\\MetaMatrix\\s43401\\host"); //$NON-NLS-1$
+// hostProperties.setProperty(Host.LOG_DIRECTORY, "D:\\MetaMatrix\\s43401\\log"); //$NON-NLS-1$
+// hostProperties.setProperty(Host.HOST_ENABLED, "true"); //$NON-NLS-1$
+ admin.addHost(hostIdentifier, hostProperties);
+ }
+
+ public void testAssignBindingToModel() throws Exception {
+ // The FakeConfiguration has 3 connectors available, connectorBinding1, 2 and 3.
+
+ // Assign a single connector binding, connectorBinding2
+ admin.assignBindingToModel("connectorBinding2",VDB_NAME1,VERSION1,PHYSICAL_MODEL_NAME1); //$NON-NLS-1$
+
+ // Check results
+ Collection<String> expectedBindingNames = new HashSet<String>();
+ expectedBindingNames.add("connectorBinding2"); //$NON-NLS-1$
+
+ Model model = helpGetModel(VDB_NAME1,VERSION1,PHYSICAL_MODEL_NAME1);
+
+ helpCheckBindings(model,expectedBindingNames);
+ }
+
+ public void testAssignBindingsToNonMultiEnabledModel() throws Exception {
+ // The FakeConfiguration has 3 connectors available, connectorBinding1, 2 and 3.
+
+ // Assign multiple connector bindings, connectorBinding1 and 2
+ String[] bindings = new String[] {"connectorBinding1", "connectorBinding2"}; //$NON-NLS-1$ //$NON-NLS-2$
+
+ admin.assignBindingsToModel(bindings,VDB_NAME1,VERSION1,PHYSICAL_MODEL_NAME1);
+
+ // Check results - Since the model is not multi-source binding enabled,
+ // only the first binding was actually assigned
+ Collection<String> expectedBindingNames = new HashSet<String>();
+ expectedBindingNames.add("connectorBinding1"); //$NON-NLS-1$
+
+ Model model = helpGetModel(VDB_NAME1,VERSION1,PHYSICAL_MODEL_NAME1);
+
+ helpCheckBindings(model,expectedBindingNames);
+ }
+
+ public void testAssignBindingsToMultiEnabledModel() throws Exception {
+ // The FakeConfiguration has 3 connectors available, connectorBinding1, 2 and 3.
+
+ // Assign multiple connector bindings, connectorBinding1 and 2
+ String[] bindings = new String[] {"connectorBinding1", "connectorBinding2"}; //$NON-NLS-1$ //$NON-NLS-2$
+
+ admin.assignBindingsToModel(bindings,VDB_NAME2,VERSION1,PHYSICAL_MODEL_NAME2);
+
+ // Check results - Since the model is multi-source binding enabled,
+ // both bindings should be assinged
+ Collection<String> expectedBindingNames = new HashSet<String>();
+ expectedBindingNames.add("connectorBinding1"); //$NON-NLS-1$
+ expectedBindingNames.add("connectorBinding2"); //$NON-NLS-1$
+
+ Model model = helpGetModel(VDB_NAME2,VERSION1,PHYSICAL_MODEL_NAME2);
+
+ helpCheckBindings(model,expectedBindingNames);
+ }
+
+ public void testDeassignBindingFromModel() throws Exception {
+ // The FakeConfiguration has 3 connectors available, connectorBinding1, 2 and 3.
+
+ // Assign a single connector binding, connectorBinding2
+ admin.assignBindingToModel("connectorBinding2",VDB_NAME1,VERSION1,PHYSICAL_MODEL_NAME1); //$NON-NLS-1$
+
+ // Check results
+ Collection<String> expectedBindingNames = new HashSet<String>();
+ expectedBindingNames.add("connectorBinding2"); //$NON-NLS-1$
+
+ Model model = helpGetModel(VDB_NAME1,VERSION1,PHYSICAL_MODEL_NAME1);
+
+ helpCheckBindings(model,expectedBindingNames);
+
+ // Now Deassign it
+ admin.deassignBindingFromModel("connectorBinding2",VDB_NAME1,VERSION1,PHYSICAL_MODEL_NAME1); //$NON-NLS-1$
+
+ // Check results - expect to be empty
+ expectedBindingNames = new HashSet<String>();
+
+ helpCheckBindings(model,expectedBindingNames);
+
+ }
+
+ public void testDeassignMultiBindingsFromMultiModel() throws Exception {
+ // The FakeConfiguration has 3 connectors available, connectorBinding1, 2 and 3.
+
+ // Assign multiple connector bindings, connectorBinding1 , 2 and 3
+ String[] bindings = new String[] {"connectorBinding1", "connectorBinding2", "connectorBinding3"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+
+ admin.assignBindingsToModel(bindings,VDB_NAME2,VERSION1,PHYSICAL_MODEL_NAME2);
+
+ // Check results - Since the model is multi-source binding enabled,
+ // all bindings should be assinged
+ Collection<String> expectedBindingNames = new HashSet<String>();
+ expectedBindingNames.add("connectorBinding1"); //$NON-NLS-1$
+ expectedBindingNames.add("connectorBinding2"); //$NON-NLS-1$
+ expectedBindingNames.add("connectorBinding3"); //$NON-NLS-1$
+
+ Model model = helpGetModel(VDB_NAME2,VERSION1,PHYSICAL_MODEL_NAME2);
+
+ helpCheckBindings(model,expectedBindingNames);
+
+ //-------------------------------
+ // Now Deassign two bindings
+ //-------------------------------
+ String[] debindings = new String[] {"connectorBinding1", "connectorBinding3"}; //$NON-NLS-1$ //$NON-NLS-2$
+ admin.deassignBindingsFromModel(debindings,VDB_NAME2,VERSION1,PHYSICAL_MODEL_NAME2);
+
+ // Check results - expect to have one binding remaining
+ expectedBindingNames = new HashSet<String>();
+ expectedBindingNames.add("connectorBinding2"); //$NON-NLS-1$
+
+ helpCheckBindings(model,expectedBindingNames);
+
+ //--------------------------------------------------
+ // Now Deassign them again - should get same result
+ //--------------------------------------------------
+ admin.deassignBindingsFromModel(debindings,VDB_NAME2,VERSION1,PHYSICAL_MODEL_NAME2);
+
+ helpCheckBindings(model,expectedBindingNames);
+
+ //--------------------------------------------------
+ // Now Deassign the last one
+ //--------------------------------------------------
+ debindings = new String[] {"connectorBinding2"}; //$NON-NLS-1$
+ admin.deassignBindingsFromModel(debindings,VDB_NAME2,VERSION1,PHYSICAL_MODEL_NAME2);
+
+ // Check results - expect to have no bindings
+ expectedBindingNames = new HashSet<String>();
+ helpCheckBindings(model,expectedBindingNames);
+ }
+
public void testDeassignNonexistantBinding() throws Exception {
// The FakeConfiguration has 3 connectors available, connectorBinding1, 2 and 3.
@@ -331,31 +351,31 @@
} catch (AdminProcessingException e) {
assertEquals("Connector Binding connectorBindingx not found in Configuration", e.getMessage()); //$NON-NLS-1$
}
- }
-
- public void testAddAuthenticationProvider() throws Exception {
- String name = "My Test Provider"; //$NON-NLS-1$
- String providertype = "File Membership Domain Provider"; //$NON-NLS-1$
-
-
- Properties props = new Properties();
- props.setProperty("usersFile", "usersFile.txt"); //$NON-NLS-1$ //$NON-NLS-2$
- props.setProperty("groupsFile", "groupsFile.txt"); //$NON-NLS-1$ //$NON-NLS-2$
- admin.addAuthorizationProvider(name, providertype, props);
-
- if(admin.getConfigurationModel().getConfiguration().getAuthenticationProvider(name) == null) {
- fail("AuthenticationProvider ["+name+"] was not found to be added"); //$NON-NLS-1$ //$NON-NLS-2$
- }
+ }
+
+ public void testAddAuthenticationProvider() throws Exception {
+ String name = "My Test Provider"; //$NON-NLS-1$
+ String providertype = "File Membership Domain Provider"; //$NON-NLS-1$
+
+
+ Properties props = new Properties();
+ props.setProperty("usersFile", "usersFile.txt"); //$NON-NLS-1$ //$NON-NLS-2$
+ props.setProperty("groupsFile", "groupsFile.txt"); //$NON-NLS-1$ //$NON-NLS-2$
+ admin.addAuthorizationProvider(name, providertype, props);
+
+ if(admin.getConfigurationModel().getConfiguration().getAuthenticationProvider(name) == null) {
+ fail("AuthenticationProvider ["+name+"] was not found to be added"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
}
public void testGetConnectorBindings() throws Exception {
Collection<ConnectorBinding> bindings = admin.getConnectorBindingsToConfigure("*");
- assertEquals(2, bindings.size());
+ assertEquals(3, bindings.size());
- bindings = admin.getConnectorBindingsToConfigure("My Connector");
+ bindings = admin.getConnectorBindingsToConfigure("connectorBinding2");
assertEquals(1, bindings.size());
- bindings = admin.getConnectorBindingsToConfigure("My*");
+ bindings = admin.getConnectorBindingsToConfigure("*2");
assertEquals(1, bindings.size());
@@ -364,9 +384,9 @@
public void testGetServices() throws Exception {
Collection<Service> bindings = admin.getServicesToConfigure("*");
- assertEquals(7, bindings.size());
+ assertEquals(10, bindings.size());
- Service svc = (Service) bindings.iterator().next();
+ Service svc = bindings.iterator().next();
bindings = admin.getServicesToConfigure("QueryService");
assertEquals(1, bindings.size());
@@ -374,10 +394,68 @@
bindings = admin.getServicesToConfigure("Query*");
assertEquals(1, bindings.size());
+ }
+
+ public void testgetNodeCount() throws Exception {
+
+ assertEquals(1, admin.getNodeCount(BOGUS_HOST_FULLY_QUALIFIED));
+ assertEquals(2, admin.getNodeCount(BOGUS_HOST_FULLY_QUALIFIED + AdminObject.DELIMITER + BOGUS_PROCESS));
+ assertEquals(3, admin.getNodeCount(BOGUS_HOST_FULLY_QUALIFIED + AdminObject.DELIMITER + BOGUS_PROCESS + AdminObject.DELIMITER + BOGUS_SERVICE));
-
- }
-
-}
-
-
+ }
+
+ 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);
+
+ }
+
+
+}
+
+
Modified: trunk/server/src/test/java/com/metamatrix/admin/server/TestServerMonitoringAdminImpl.java
===================================================================
--- trunk/server/src/test/java/com/metamatrix/admin/server/TestServerMonitoringAdminImpl.java 2009-06-11 22:17:54 UTC (rev 1045)
+++ trunk/server/src/test/java/com/metamatrix/admin/server/TestServerMonitoringAdminImpl.java 2009-06-11 22:35:07 UTC (rev 1046)
@@ -48,6 +48,7 @@
import com.metamatrix.admin.objects.MMSession;
import com.metamatrix.admin.objects.MMSystem;
import com.metamatrix.common.config.api.SharedResource;
+import com.metamatrix.platform.config.ConfigUpdateMgr;
import com.metamatrix.platform.registry.ClusteredRegistryState;
import com.metamatrix.platform.registry.FakeRegistryUtil;
import com.metamatrix.platform.registry.ResourceNotBoundException;
@@ -66,6 +67,10 @@
public void setUp() throws Exception {
+
+ ConfigUpdateMgr.createSystemProperties("config_multihost.xml");
+
+ FakeRegistryUtil.clear();
ClusteredRegistryState registry = FakeRegistryUtil.getFakeRegistry();
parent = new FakeServerAdminImpl(registry);
admin = new ServerMonitoringAdminImpl(parent, registry);
@@ -96,16 +101,10 @@
* Expects connectorBinding3 to be running, but not deployed.
* @since 4.3
*/
- public void testGetConnectorBindings() throws AdminException {
+ @SuppressWarnings("unchecked")
+ public void testGetConnectorBindings() throws AdminException {
- try {
- ServiceRegistryBinding binding = admin.registry.getServiceBinding("3.3.3.3","3", new ServiceID(3, "3.3.3.3", "3")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- binding.updateState(ConnectorBinding.STATE_CLOSED);
- } catch (ResourceNotBoundException e1) {
- }
-
-
- Collection results = admin.getConnectorBindings(AdminObject.WILDCARD);
+ Collection<MMConnectorBinding> results = admin.getConnectorBindings(AdminObject.WILDCARD);
assertEquals(3, results.size());
for (Iterator iter = results.iterator(); iter.hasNext(); ) {
@@ -115,23 +114,22 @@
assertEquals("Not Registered", binding.getStateAsString()); //$NON-NLS-1$
assertEquals(false, binding.isRegistered());
- assertEquals(true, binding.isDeployed());
+ assertEquals(true, binding.isEnabled());
} else if (HOST_2_2_2_2_PROCESS2_CONNECTOR_BINDING2.equals(binding.getIdentifier())){
- assertEquals("connectorBinding2", binding.getDescription()); //$NON-NLS-1$
- //assertEquals("Open", binding.getStateAsString()); //$NON-NLS-1$
+ assertEquals("Open", binding.getStateAsString()); //$NON-NLS-1$
assertEquals(true, binding.isRegistered());
- assertEquals(true, binding.isDeployed());
+ assertEquals(true, binding.isEnabled());
Properties properties = binding.getProperties();
assertEquals("value1", properties.get("prop1")); //$NON-NLS-1$ //$NON-NLS-2$
assertEquals("value2", properties.get("prop2")); //$NON-NLS-1$ //$NON-NLS-2$
} else if (_3_3_3_3_PROCESS3_CONNECTOR_BINDING3.equals(binding.getIdentifier())) {
- //assertEquals("Closed", binding.getStateAsString()); //$NON-NLS-1$
+ assertEquals("Open", binding.getStateAsString()); //$NON-NLS-1$
assertEquals(true, binding.isRegistered());
- assertEquals(true, binding.isDeployed());
+ assertEquals(true, binding.isEnabled());
} else {
fail("Unexpected d: "+binding.getIdentifier()); //$NON-NLS-1$
}
@@ -162,14 +160,10 @@
*/
public void testGetServices() throws AdminException {
- try {
- ServiceRegistryBinding binding = admin.registry.getServiceBinding("3.3.3.3","3", new ServiceID(3, "3.3.3.3", "3")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- binding.updateState(ConnectorBinding.STATE_CLOSED);
- } catch (ResourceNotBoundException e1) {
- }
+
- Collection<MMService> results = admin.getServices(AdminObject.WILDCARD);
+ Collection<MMService> results = admin.getServices(AdminObject.WILDCARD + "dqp*");
assertEquals(3, results.size());
for (Iterator iter = results.iterator(); iter.hasNext(); ) {
@@ -177,14 +171,44 @@
MMService svc = (MMService) iter.next();
if (HOST_2_2_2_2_PROCESS2_DQP2.equals(svc.getIdentifier())){
+ assertEquals("Open", svc.getStateAsString()); //$NON-NLS-1$
+
+ assertEquals(true, svc.isRegistered());
+
+ try {
+
+ ServiceID id = new ServiceID(svc.getServiceID(), svc.getHostName(), svc.getProcessName());
+ ServiceRegistryBinding binding = admin.registry.getServiceBinding(svc.getHostName(), svc.getProcessName(), id);
+ binding.updateState(ConnectorBinding.STATE_CLOSED);
+ } catch (ResourceNotBoundException e1) {
+ }
+
+ } else if (_3_3_3_3_PROCESS3_DQP3.equals(svc.getIdentifier())) {
+
+ assertEquals(false, svc.isRegistered());
+ }
+ }
+
+ results = admin.getServices(AdminObject.WILDCARD + "dqp*");
+ assertEquals(3, results.size());
+
+ for (Iterator iter = results.iterator(); iter.hasNext(); ) {
+ MMService svc = (MMService) iter.next();
+
+ if (HOST_2_2_2_2_PROCESS2_DQP2.equals(svc.getIdentifier())){
+ assertEquals("Closed", svc.getStateAsString()); //$NON-NLS-1$
+
assertEquals(true, svc.isRegistered());
+
} else if (_3_3_3_3_PROCESS3_DQP3.equals(svc.getIdentifier())) {
- assertEquals(true, svc.isRegistered());
+ assertEquals(false, svc.isRegistered());
}
}
+
+
results = admin.getServices(HOST_2_2_2_2_PROCESS2_DQP2);
assertEquals(1, results.size());
@@ -204,13 +228,11 @@
public void testGetConnectorTypes() throws AdminException {
Collection results = admin.getConnectorTypes(AdminObject.WILDCARD);
List resultsList = new ArrayList(results);
- assertEquals(2, results.size());
+ assertEquals(26, results.size());
- MMConnectorType type = (MMConnectorType) resultsList.get(0);
- assertEquals("connectorType1", type.getIdentifier()); //$NON-NLS-1$
+ MMConnectorType type = (MMConnectorType) admin.getConnectorTypes("connectorType1").iterator().next();
+ assertEquals("connectorType1", type.getIdentifier()); //$NON-NLS-1$
-
-
results = admin.getConnectorTypes("connectorType1"); //$NON-NLS-1$
assertEquals(1, results.size());
}
@@ -229,7 +251,7 @@
* @since 4.3
*/
public void testGetDQPs() throws AdminException {
- Collection results = admin.getDQPs(AdminObject.WILDCARD);
+ Collection<MMDQP> results = admin.getDQPs(AdminObject.WILDCARD);
assertEquals(3, results.size());
for (Iterator iter = results.iterator(); iter.hasNext(); ) {
@@ -238,14 +260,13 @@
if (HOST_1_1_1_1_PROCESS1_DQP1.equals(dqp.getIdentifier())) {
assertEquals("Not Registered", dqp.getStateAsString()); //$NON-NLS-1$
assertEquals(false, dqp.isRegistered());
- assertEquals(true, dqp.isDeployed());
+ assertEquals(true, dqp.isEnabled());
} else if (HOST_2_2_2_2_PROCESS2_DQP2.equals(dqp.getIdentifier())){
- assertEquals("dqp2", dqp.getDescription()); //$NON-NLS-1$
assertEquals(true, dqp.isRegistered());
- assertEquals(true, dqp.isDeployed());
+ assertEquals(true, dqp.isEnabled());
} else if (_3_3_3_3_PROCESS3_DQP3.equals(dqp.getIdentifier())) {
- assertEquals(true, dqp.isRegistered());
- assertEquals(true, dqp.isDeployed());
+ assertEquals(false, dqp.isRegistered());
+ assertEquals(false, dqp.isEnabled());
} else {
fail("Unexpected dqp: "+dqp.getIdentifier()); //$NON-NLS-1$
}
@@ -302,28 +323,26 @@
assertEquals(3, results.size());
+ // host.enabled() is not a valid attribute and the Host implementation doesn't allow
+ // it to be set, the extended class ComponentDefn, defaults it to true
+ // therefore the .isEnabled() test have been removed
+
for (Iterator iter = results.iterator(); iter.hasNext(); ) {
MMHost host = (MMHost) iter.next();
- if ("1.1.1.1".equals(host.getIdentifier())) { //$NON-NLS-1$
- assertFalse(host.isRunning());
- assertTrue(host.isDeployed());
-
- } else if ("2.2.2.2".equals(host.getIdentifier())) { //$NON-NLS-1$
+ if (HOST_1_1_1_1.equals(host.getIdentifier())) { //$NON-NLS-1$
assertTrue(host.isRunning());
- assertTrue(host.isDeployed());
-
- } else if ("3.3.3.3".equals(host.getIdentifier())) { //$NON-NLS-1$
+
+ } else if (HOST_2_2_2_2.equals(host.getIdentifier())) { //$NON-NLS-1$
assertTrue(host.isRunning());
- assertFalse(host.isDeployed());
-
- } else {
+
+ } else if (HOST_3_3_3_3.equals(host.getIdentifier())) { //$NON-NLS-1$
+ assertTrue(host.isRunning());
+ } else {
fail("Unexpected host "+host.getIdentifier()); //$NON-NLS-1$
}
}
-
-
-
- results = admin.getHosts("1.1.1.1"); //$NON-NLS-1$
+
+ results = admin.getHosts(HOST_1_1_1_1); //$NON-NLS-1$
assertEquals(1, results.size());
}
@@ -345,12 +364,12 @@
MMProcess process = (MMProcess) iter.next();
if (HOST_1_1_1_1_PROCESS1.equals(process.getIdentifier())) {
assertFalse(process.isRunning());
- assertTrue(process.isDeployed());
+ assertFalse(process.isEnabled());
} else if (HOST_2_2_2_2_PROCESS2.equals(process.getIdentifier())) {
assertTrue(process.isRunning());
- assertTrue(process.isDeployed());
+ assertTrue(process.isEnabled());
assertEquals(2, process.getFreeMemory());
assertEquals(2, process.getThreadCount());
assertEquals(2, process.getSockets());
@@ -359,7 +378,7 @@
} else if (HOST_3_3_3_3_PROCESS3.equals(process.getIdentifier())) {
assertTrue(process.isRunning());
- assertFalse(process.isDeployed());
+ assertTrue(process.isEnabled());
} else {
fail("Unexpected process "+process.getIdentifier()); //$NON-NLS-1$
@@ -385,24 +404,65 @@
* @since 4.3
*/
public void testGetQueueWorkerPools() throws AdminException {
+ try {
+ ConfigUpdateMgr.createSystemProperties("config_multihost_getWorkerPools.xml");
+ FakeRegistryUtil.clear();
+ ClusteredRegistryState registry = FakeRegistryUtil.getFakeRegistry();
+ parent = new FakeServerAdminImpl(registry);
+ admin = new ServerMonitoringAdminImpl(parent, registry);
+
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ fail(e.getMessage());
+ }
+
+
Collection results = admin.getQueueWorkerPools(AdminObject.WILDCARD);
assertEquals(4, results.size());
for (Iterator iter = results.iterator(); iter.hasNext(); ) {
MMQueueWorkerPool pool = (MMQueueWorkerPool) iter.next();
+
if (HOST_2_2_2_2_PROCESS2_CONNECTOR_BINDING2_POOL.equals(pool.getIdentifier())) {
- assertEquals(2, pool.getQueued());
- assertEquals(2, pool.getTotalEnqueues());
+ Collection<MMConnectorBinding> cbc = admin.getConnectorBindings(HOST_2_2_2_2_PROCESS2_CONNECTOR_BINDING2);
+ if (cbc == null || cbc.size() != 1){
+ fail("Didnt find the connector binding that corresponds to the worker pool");
+ }
+ MMConnectorBinding cb = cbc.iterator().next();
+
+
+ assertEquals(cb.getServiceID(), pool.getQueued());
+ assertEquals(cb.getServiceID(), pool.getTotalEnqueues());
} else if (HOST_3_3_3_3_PROCESS3_CONNECTOR_BINDING3_POOL.equals(pool.getIdentifier())) {
- assertEquals(3, pool.getQueued());
- assertEquals(3, pool.getTotalEnqueues());
+ Collection<MMConnectorBinding> cbc = admin.getConnectorBindings(_3_3_3_3_PROCESS3_CONNECTOR_BINDING3);
+ if (cbc == null || cbc.size() != 1){
+ fail("Didnt find the connector binding that corresponds to the worker pool");
+ }
+ MMConnectorBinding cb = cbc.iterator().next();
+
+ assertEquals(cb.getServiceID(), pool.getQueued());
+ assertEquals(cb.getServiceID(), pool.getTotalEnqueues());
} else if (HOST_2_2_2_2_PROCESS2_CONNECTOR_DQP2_POOL.equals(pool.getIdentifier())) {
- assertEquals(5, pool.getQueued());
- assertEquals(5, pool.getTotalEnqueues());
+ Collection<MMDQP> dqps = admin.getDQPs(HOST_2_2_2_2_PROCESS2_DQP2);
+ if (dqps == null || dqps.size() != 1){
+ fail("Didnt find the dqp that corresponds to the worker pool");
+ }
+ MMDQP dqp = dqps.iterator().next();
+
+ assertEquals(dqp.getServiceID(), pool.getQueued());
+ assertEquals(dqp.getServiceID(), pool.getTotalEnqueues());
} else if (HOST_3_3_3_3_PROCESS3_CONNECTOR_DQP3_POOL.equals(pool.getIdentifier())) {
- assertEquals(6, pool.getQueued());
- assertEquals(6, pool.getTotalEnqueues());
+ Collection<MMDQP> dqps = admin.getDQPs(_3_3_3_3_PROCESS3_DQP3);
+ if (dqps == null || dqps.size() != 1){
+ fail("Didnt find the dqp that corresponds to the worker pool");
+ }
+ MMDQP dqp = dqps.iterator().next();
+
+ assertEquals(dqp.getServiceID(), pool.getQueued());
+ assertEquals(dqp.getServiceID(), pool.getTotalEnqueues());
+
} else {
fail("unexpected pool "+pool.getIdentifier()); //$NON-NLS-1$
}
@@ -421,6 +481,8 @@
results = admin.getQueueWorkerPools(HOST_2_2_2_2_PROCESS2_CONNECTOR_BINDING2_POOL);
assertEquals(1, results.size());
+ FakeRegistryUtil.clear();
+
}
@@ -457,15 +519,23 @@
*/
public void testGetResources() throws AdminException {
Collection results = admin.getResources(AdminObject.WILDCARD);
- assertEquals(2, results.size());
+ assertEquals(5, results.size());
- MMResource resource = (MMResource) results.iterator().next();
- assertEquals("resource1", resource.getIdentifier()); //$NON-NLS-1$
- assertEquals(SharedResource.MISC_COMPONENT_TYPE_NAME, resource.getResourceType());
- assertEquals("pool", resource.getConnectionPoolIdentifier()); //$NON-NLS-1$
+ boolean matched = false;
+ Iterator it=results.iterator();
+ while(it.hasNext()) {
+ MMResource resource = (MMResource) it.next();
+ if (resource.getIdentifier().equalsIgnoreCase("resource1")) {
+ assertEquals("resource1", resource.getIdentifier()); //$NON-NLS-1$
+ assertEquals(SharedResource.MISC_COMPONENT_TYPE_NAME, resource.getResourceType());
+ matched = true;
+ }
+ }
+ assertTrue(matched);
+
results = admin.getResources("resource1"); //$NON-NLS-1$
assertEquals(1, results.size());
}
@@ -481,15 +551,24 @@
Collection results = admin.getSourceRequests(AdminObject.WILDCARD);
assertEquals(2, results.size());
- Request request = (Request) results.iterator().next();
- assertEquals(REQUEST_1_1_1_0, request.getIdentifier());
- assertEquals("1", request.getSessionID()); //$NON-NLS-1$
- assertEquals("1", request.getRequestID()); //$NON-NLS-1$
- assertEquals("1", request.getNodeID()); //$NON-NLS-1$
- assertEquals("connectorBinding1", request.getConnectorBindingName()); //$NON-NLS-1$
- assertEquals("user1", request.getUserName()); //$NON-NLS-1$
+ boolean matched = false;
+ Iterator it=results.iterator();
+ while(it.hasNext()) {
+ Request request = (Request) it.next();
+ if (request.getConnectorBindingName().equalsIgnoreCase("connectorBinding1")) {
+ assertEquals(REQUEST_1_1_1_0, request.getIdentifier());
+ assertEquals("1", request.getSessionID()); //$NON-NLS-1$
+ assertEquals("1", request.getRequestID()); //$NON-NLS-1$
+ assertEquals("1", request.getNodeID()); //$NON-NLS-1$
+ assertEquals("connectorBinding1", request.getConnectorBindingName()); //$NON-NLS-1$
+ assertEquals("user1", request.getUserName()); //$NON-NLS-1$
+ matched = true;
+ }
+ }
+ assertTrue(matched);
+
results = admin.getSourceRequests(_1_WILDCARD);
assertEquals(1, results.size());
Modified: trunk/server/src/test/java/com/metamatrix/admin/server/TestServerRuntimeStateAdminImpl.java
===================================================================
--- trunk/server/src/test/java/com/metamatrix/admin/server/TestServerRuntimeStateAdminImpl.java 2009-06-11 22:17:54 UTC (rev 1045)
+++ trunk/server/src/test/java/com/metamatrix/admin/server/TestServerRuntimeStateAdminImpl.java 2009-06-11 22:35:07 UTC (rev 1046)
@@ -21,6 +21,8 @@
*/
package com.metamatrix.admin.server;
+import java.util.List;
+
import junit.framework.TestCase;
import com.metamatrix.admin.api.exception.AdminException;
@@ -30,8 +32,10 @@
import com.metamatrix.admin.api.objects.ConnectorBinding;
import com.metamatrix.admin.api.objects.Request;
import com.metamatrix.common.id.dbid.DBIDGenerator;
+import com.metamatrix.platform.config.ConfigUpdateMgr;
import com.metamatrix.platform.registry.ClusteredRegistryState;
import com.metamatrix.platform.registry.FakeRegistryUtil;
+import com.metamatrix.platform.registry.ProcessRegistryBinding;
import com.metamatrix.platform.registry.ResourceNotBoundException;
import com.metamatrix.platform.registry.ServiceRegistryBinding;
import com.metamatrix.platform.service.api.ServiceID;
@@ -54,6 +58,9 @@
FakeCacheAdmin.clearState();
FakeRuntimeStateAdminAPIHelper.clearState();
+ ConfigUpdateMgr.createSystemProperties("config_multihost.xml");
+
+
ClusteredRegistryState registry = FakeRegistryUtil.getFakeRegistry();
parent = new FakeServerAdminImpl(registry);
admin = new ServerRuntimeStateAdminImpl(parent, registry);
@@ -187,16 +194,15 @@
String host = "2.2.2.2"; //$NON-NLS-1$
String process = "process2"; //$NON-NLS-1$
- try {
- ServiceRegistryBinding binding = admin.registry.getServiceBinding(host, process, new ServiceID(2,host,process));
- binding.updateState(ConnectorBinding.STATE_CLOSED);
- } catch (ResourceNotBoundException e1) {
- }
+ List<ServiceRegistryBinding> svcbindings = admin.registry.getServiceBindings(host, process, "connectorType2");
+ ServiceRegistryBinding binding = svcbindings.get(0);
+ binding.updateState(ConnectorBinding.STATE_CLOSED);
+
+ admin.startConnectorBinding(AdminObject.WILDCARD + binding.getInstanceName());
+ // "connectorBinding2"); //$NON-NLS-1$
+ assertTrue(FakeRuntimeStateAdminAPIHelper.restartedServices.contains(binding.getServiceID().toString())); //$NON-NLS-1$
+
- admin.startConnectorBinding(AdminObject.WILDCARD + "connectorBinding2"); //$NON-NLS-1$
- assertTrue(FakeRuntimeStateAdminAPIHelper.restartedServices.contains("Service<2|2.2.2.2|process2>")); //$NON-NLS-1$
-
-
//failure case: unknown connectorBinding
boolean success = false;
try {
@@ -277,9 +283,13 @@
//positive case
assertTrue(FakeRuntimeStateAdminAPIHelper.stoppedServices.isEmpty());
- admin.stopConnectorBinding(AdminObject.WILDCARD + "connectorBinding2", true); //$NON-NLS-1$
- assertTrue(FakeRuntimeStateAdminAPIHelper.stoppedServices.contains("Service<2|2.2.2.2|process2>")); //$NON-NLS-1$
+ List<ServiceRegistryBinding> svcbindings = admin.registry.getServiceBindings("2.2.2.2", "process2", "connectorType2");
+ ServiceRegistryBinding binding = svcbindings.get(0);
+
+ admin.stopConnectorBinding(AdminObject.WILDCARD + binding.getInstanceName(), true); //$NON-NLS-1$
+ assertTrue(FakeRuntimeStateAdminAPIHelper.stoppedServices.contains(binding.getServiceID().toString())); //$NON-NLS-1$
+
//failure case: unknown connectorBinding
boolean success = false;
@@ -332,9 +342,17 @@
//positive case
assertTrue(FakeRuntimeStateAdminAPIHelper.stoppedProcesses.isEmpty());
- admin.stopProcess(AdminObject.WILDCARD + "process2", true, false); //$NON-NLS-1$
- assertTrue(FakeRuntimeStateAdminAPIHelper.stoppedProcesses.contains("2.2.2.2|process2")); //$NON-NLS-1$
+ ProcessRegistryBinding binding=null;
+ try {
+ binding = admin.registry.getProcessBinding("2.2.2.2", "process2");
+ } catch (ResourceNotBoundException e1) {
+ // TODO Auto-generated catch block
+ fail(e1.getMessage());
+ }
+
+ admin.stopProcess(AdminObject.WILDCARD + binding.getProcessName(), true, false); //$NON-NLS-1$
+ assertTrue(FakeRuntimeStateAdminAPIHelper.stoppedProcesses.contains(binding.getHostName() + "|" + binding.getProcessName()));
//failure case: unknown process
boolean failed = false;
Modified: trunk/server/src/test/java/com/metamatrix/platform/config/BaseTest.java
===================================================================
--- trunk/server/src/test/java/com/metamatrix/platform/config/BaseTest.java 2009-06-11 22:17:54 UTC (rev 1045)
+++ trunk/server/src/test/java/com/metamatrix/platform/config/BaseTest.java 2009-06-11 22:35:07 UTC (rev 1046)
@@ -22,45 +22,31 @@
package com.metamatrix.platform.config;
-import java.io.File;
import java.util.Properties;
import junit.framework.TestCase;
-import com.metamatrix.common.config.CurrentConfiguration;
import com.metamatrix.common.config.api.ConfigurationModelContainer;
import com.metamatrix.common.config.model.BasicConfigurationObjectEditor;
-import com.metamatrix.core.util.FileUtils;
-import com.metamatrix.core.util.UnitTestUtil;
-import com.metamatrix.platform.config.persistence.api.PersistentConnectionFactory;
-import com.metamatrix.platform.config.persistence.impl.file.FilePersistentConnection;
import com.metamatrix.platform.config.spi.xml.XMLConfigurationConnector;
-import com.metamatrix.platform.config.spi.xml.XMLConfigurationMgr;
public abstract class BaseTest extends TestCase {
- private final static String path = UnitTestUtil.getTestScratchPath()
- + File.separator + "config"; //$NON-NLS-1$
- // private static final String DEFAULT_PATH =".";
protected boolean printMessages = false;
// the resources in this config file are not set to JDBC
- protected static final String CONFIG_FILE = "config.xml"; //$NON-NLS-1$
+ protected static final String CONFIG_FILE = ConfigUpdateMgr.CONFIG_FILE; //$NON-NLS-1$
// protected static final String CONFIG_FILE = "config_woresources.xml";
// //$NON-NLS-1$
- private static BasicConfigurationObjectEditor editor = new BasicConfigurationObjectEditor(
- true);
- private XMLConfigurationConnector writer = null;
+ private ConfigUpdateMgr mgr = new ConfigUpdateMgr();
public BaseTest(String name) {
super(name);
- initData();
}
public BaseTest(String name, boolean useNoOpConfig) {
super(name);
- initData();
if (!useNoOpConfig) {
Properties sysProps = System.getProperties();
System.setProperties(sysProps);
@@ -68,7 +54,7 @@
}
protected String getPath() {
- return path;
+ return mgr.getPath();
}
protected void printMsg(String msg) {
@@ -77,81 +63,33 @@
}
}
- protected static Properties createSystemProperties(String fileName) {
- Properties cfg_props = createProperties(fileName);
-
- // these system props need to be set for the CurrentConfiguration call
-
- Properties sysProps = System.getProperties();
- sysProps.putAll(cfg_props);
- System.setProperties(sysProps);
-
- return cfg_props;
+ protected static void createSystemProperties(String fileName) throws Exception{
+ ConfigUpdateMgr.createSystemProperties(fileName);
}
- public static Properties createProperties(String fileName) {
- Properties props = new Properties();
-
- if (fileName != null) {
- props.setProperty(
- FilePersistentConnection.CONFIG_NS_FILE_NAME_PROPERTY,
- fileName);
- props.setProperty(
- PersistentConnectionFactory.PERSISTENT_FACTORY_NAME,
- PersistentConnectionFactory.FILE_FACTORY_NAME);
- }
-
- if (path != null) {
- props.setProperty(
- FilePersistentConnection.CONFIG_FILE_PATH_PROPERTY, path);
- }
-
- return props;
- }
-
// the following methods are used in conjunction when wanting to do
// configuration transactions.
public void initTransactions(Properties props) throws Exception {
+ mgr.initTransactions(props);
- writer = XMLConfigurationMgr.getInstance().getTransaction("test"); //$NON-NLS-1$
-
}
public BasicConfigurationObjectEditor getEditor() {
- return editor;
+ return mgr.getEditor();
}
public ConfigurationModelContainer getConfigModel() throws Exception {
- ConfigurationModelContainer config = CurrentConfiguration.getInstance()
- .getConfigurationModel();
- return config;
+ return mgr.getConfigModel();
}
public void commit() throws Exception {
- writer.executeActions(editor.getDestination().popActions());
- writer.commit();
-
- writer = XMLConfigurationMgr.getInstance().getTransaction("test"); //$NON-NLS-1$
+ mgr.commit();
}
protected XMLConfigurationConnector getWriter() {
- return this.writer;
+ return mgr.getWriter();
}
-
- private void initData() {
- File scratch = new File(path);
- if (scratch.exists()) {
- FileUtils.removeDirectoryAndChildren(scratch);
- }
- scratch.mkdir();
- try {
- FileUtils.copyDirectoryContentsRecursively(UnitTestUtil
- .getTestDataFile("config"), scratch); //$NON-NLS-1$
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
}
Added: trunk/server/src/test/java/com/metamatrix/platform/config/ConfigUpdateMgr.java
===================================================================
--- trunk/server/src/test/java/com/metamatrix/platform/config/ConfigUpdateMgr.java (rev 0)
+++ trunk/server/src/test/java/com/metamatrix/platform/config/ConfigUpdateMgr.java 2009-06-11 22:35:07 UTC (rev 1046)
@@ -0,0 +1,157 @@
+/*
+ * Copyright � 2000-2005 MetaMatrix, Inc. All rights reserved.
+ */
+package com.metamatrix.platform.config;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+import java.util.Set;
+
+import com.metamatrix.common.config.CurrentConfiguration;
+import com.metamatrix.common.config.api.ConfigurationModelContainer;
+import com.metamatrix.common.config.api.ConnectorBinding;
+import com.metamatrix.common.config.api.exceptions.ConfigurationException;
+import com.metamatrix.common.config.model.BasicConfigurationObjectEditor;
+import com.metamatrix.common.config.model.ComponentCryptoUtil;
+import com.metamatrix.core.util.FileUtils;
+import com.metamatrix.core.util.UnitTestUtil;
+import com.metamatrix.platform.config.spi.xml.XMLConfigurationConnector;
+import com.metamatrix.platform.config.spi.xml.XMLConfigurationMgr;
+import com.metamatrix.platform.config.util.CurrentConfigHelper;
+
+/**
+ * This class provides a means to updating the configuration stored on the filesystem
+ *
+ *
+ * @author vhalbert
+ * Date Nov 20, 2002
+ *
+ */
+public class ConfigUpdateMgr {
+
+ private final static String path = UnitTestUtil.getTestScratchPath()
+ + File.separator + "config"; //$NON-NLS-1$
+
+ protected static final String CONFIG_FILE = "config.xml"; //$NON-NLS-1$
+
+ private XMLConfigurationConnector writer;
+
+ private BasicConfigurationObjectEditor editor=new BasicConfigurationObjectEditor(true);
+
+ public ConfigUpdateMgr() {
+ super();
+ initData();
+
+
+ }
+
+
+ public BasicConfigurationObjectEditor getEditor() {
+ return this.editor;
+ }
+
+ public ConfigurationModelContainer getConfigModel() throws ConfigurationException {
+ ConfigurationModelContainer config = CurrentConfiguration.getInstance().getConfigurationModel();
+ return config;
+
+ }
+
+ protected String getPath() {
+ return path;
+ }
+
+ public void initTransactions(Properties props) throws ConfigurationException {
+
+ writer = XMLConfigurationMgr.getInstance().getTransaction("test"); //$NON-NLS-1$
+
+ }
+
+ public Set commit(List actions) throws ConfigurationException {
+ Set commits = writer.executeActions(actions);
+ writer.commit();
+
+ writer = XMLConfigurationMgr.getInstance().getTransaction("test"); //$NON-NLS-1$
+ return commits;
+ }
+
+
+ public Set commit() throws ConfigurationException {
+
+ return this.commit(editor.getDestination().popActions());
+ }
+
+ protected XMLConfigurationConnector getWriter() {
+ return this.writer;
+ }
+
+ /**
+ * Check whether the encrypted properties for the specified ConnectorBindings can be decrypted.
+ * If any fail, log a warning message.
+ * @param bindings Collection<ConnectorBinding>
+ * @since 4.3
+ */
+ public void checkDecryptable(Collection bindings) throws Exception {
+
+ ConfigurationModelContainer cmc = getConfigModel();
+
+ //for each ConnectorBinding, check whether it can be decrypted
+ List nonDecryptableBindings = new ArrayList();
+ for (Iterator iter = bindings.iterator(); iter.hasNext();) {
+ ConnectorBinding binding = (ConnectorBinding)iter.next();
+
+ Collection componentTypeDefns = cmc.getAllComponentTypeDefinitions(binding.getComponentTypeID());
+ boolean result = ComponentCryptoUtil.checkPropertiesDecryptable(binding, componentTypeDefns);
+
+ if (! result) {
+ nonDecryptableBindings.add(binding);
+ }
+ }
+ if (nonDecryptableBindings.size() == 0) {
+ return;
+ }
+
+
+
+ //build up message and log it
+ StringBuffer messageBuffer = new StringBuffer();
+ messageBuffer.append("The following connector bindings were added, but the passwords could not be decrypted: \n");
+
+ for (Iterator iter = nonDecryptableBindings.iterator(); iter.hasNext();) {
+ ConnectorBinding binding = (ConnectorBinding)iter.next();
+
+ messageBuffer.append(" ");
+ messageBuffer.append(binding.getName());
+ messageBuffer.append("\n");
+ }
+
+ messageBuffer.append("\n\nThese bindings may have been exported from a system with a different keystore.");
+ messageBuffer.append("\nYou must manually re-enter the passwords via the Console 'Properties' tab, or convert the file with the 'convertpasswords' utility and re-import.");
+
+
+ }
+
+ public static void createSystemProperties(String fileName) throws Exception {
+ initData();
+ CurrentConfigHelper.initXMLConfig(fileName, path, "ConfigUpdateHelper");
+ CurrentConfiguration.reset();
+ }
+
+ private static void initData() {
+ File scratch = new File(path);
+ if (scratch.exists()) {
+ FileUtils.removeDirectoryAndChildren(scratch);
+ }
+ scratch.mkdir();
+ try {
+ FileUtils.copyDirectoryContentsRecursively(UnitTestUtil
+ .getTestDataFile("config"), scratch); //$NON-NLS-1$
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+}
Property changes on: trunk/server/src/test/java/com/metamatrix/platform/config/ConfigUpdateMgr.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/server/src/test/java/com/metamatrix/platform/config/spi/xml/HelperTestConfiguration.java
===================================================================
--- trunk/server/src/test/java/com/metamatrix/platform/config/spi/xml/HelperTestConfiguration.java 2009-06-11 22:17:54 UTC (rev 1045)
+++ trunk/server/src/test/java/com/metamatrix/platform/config/spi/xml/HelperTestConfiguration.java 2009-06-11 22:35:07 UTC (rev 1046)
@@ -193,8 +193,23 @@
for (Iterator it=defns.iterator(); it.hasNext(); ) {
DeployedComponent t = (DeployedComponent) it.next();
- validateComponentObject(t);
+ ArgCheck.isNotNull(t, "ComponentObject is null"); //$NON-NLS-1$
+ ArgCheck.isNotNull(t.getID(), "ComponentObject ID is null"); //$NON-NLS-1$
+ String fullName = t.getFullName();
+ ArgCheck.isNotNull(t.getComponentTypeID(), "ComponentObject " + fullName + " does not have a valid component type id"); //$NON-NLS-1$ //$NON-NLS-2$
+ ArgCheck.isNotNull(t.getDeployedComponentDefnID(), "ComponentObject " + fullName + " does not have a deployed component defn id"); //$NON-NLS-1$ //$NON-NLS-2$
+ ArgCheck.isNotNull(t.getHostID(), "ComponentObject " + fullName + " does not have a host id"); //$NON-NLS-1$ //$NON-NLS-2$
+ ArgCheck.isNotNull(t.getVMComponentDefnID(), "ComponentObject " + fullName + " does not have a vm id"); //$NON-NLS-1$ //$NON-NLS-2$
+ ArgCheck.isNotNull(t.getServiceComponentDefnID(), "ComponentObject " + fullName + " does not have the service component defin id"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // ArgCheck.isNotNull(c.getCreatedBy(), "ComponentObject " + fullName + " does not have a created by name"); //$NON-NLS-1$ //$NON-NLS-2$
+ // ArgCheck.isNotNull(c.getLastChangedBy(), "ComponentObject " + fullName + " does not have a last changed by name"); //$NON-NLS-1$ //$NON-NLS-2$
+ // ArgCheck.isNotNull(c.getCreatedDate(), "ComponentObject " + fullName + " does not have a created by date"); //$NON-NLS-1$ //$NON-NLS-2$
+ // ArgCheck.isNotNull(c.getLastChangedDate(), "ComponentObject " + fullName + " does not have a last changed by date"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // validateComponentObject(t);
+
}
}
Modified: trunk/server/src/test/java/com/metamatrix/platform/config/spi/xml/TestCurrentConfiguration.java
===================================================================
--- trunk/server/src/test/java/com/metamatrix/platform/config/spi/xml/TestCurrentConfiguration.java 2009-06-11 22:17:54 UTC (rev 1045)
+++ trunk/server/src/test/java/com/metamatrix/platform/config/spi/xml/TestCurrentConfiguration.java 2009-06-11 22:35:07 UTC (rev 1046)
@@ -42,6 +42,7 @@
protected void init(String cfgFile) throws Exception {
CurrentConfigHelper.initXMLConfig(cfgFile, this.getPath(), PRINCIPAL);
+
}
public void testValidateConfiguration() throws Exception {
@@ -88,8 +89,25 @@
}
printMsg("Completed testCurrentHost"); //$NON-NLS-1$
- }
+ }
+ public void testMultiHostConfig() throws Exception {
+
+ printMsg("Starting testMultiHostConfig"); //$NON-NLS-1$
+
+ init("config_multihost.xml");
+
+ validConfigurationModel();
+
+ int hostcnt = CurrentConfiguration.getInstance().getConfiguration().getHosts().size();
+ if (hostcnt <= 1 ) {
+ fail("Multiple hosts were not found " + hostcnt); //$NON-NLS-1$
+ }
+
+ printMsg("Completed testMultiHostConfig"); //$NON-NLS-1$
+
+ }
+
Modified: trunk/server/src/test/java/com/metamatrix/platform/registry/FakeRegistryUtil.java
===================================================================
--- trunk/server/src/test/java/com/metamatrix/platform/registry/FakeRegistryUtil.java 2009-06-11 22:17:54 UTC (rev 1045)
+++ trunk/server/src/test/java/com/metamatrix/platform/registry/FakeRegistryUtil.java 2009-06-11 22:35:07 UTC (rev 1046)
@@ -24,6 +24,7 @@
import java.net.InetAddress;
import java.util.Date;
+import java.util.Iterator;
import java.util.Properties;
import org.jboss.cache.notifications.annotation.CacheListener;
@@ -33,13 +34,17 @@
import com.metamatrix.admin.server.FakeConfiguration;
import com.metamatrix.admin.server.FakeQueryService;
import com.metamatrix.cache.FakeCache.FakeCacheFactory;
+import com.metamatrix.common.config.CurrentConfiguration;
import com.metamatrix.common.config.api.ComponentTypeID;
import com.metamatrix.common.config.api.Configuration;
+import com.metamatrix.common.config.api.ConfigurationModelContainer;
import com.metamatrix.common.config.api.ConnectorBindingID;
import com.metamatrix.common.config.api.ConnectorBindingType;
import com.metamatrix.common.config.api.DeployedComponent;
import com.metamatrix.common.config.api.DeployedComponentID;
+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.VMComponentDefn;
import com.metamatrix.common.config.api.VMComponentDefnID;
import com.metamatrix.common.config.api.VMComponentDefnType;
@@ -56,52 +61,126 @@
private static ClusteredRegistryState registry;
- public static ClusteredRegistryState getFakeRegistry() throws Exception {
+ public static void clear() {
+ registry = null;
+ }
- if (registry != null) {
- return registry;
- }
+ public static ClusteredRegistryState getFakeRegistry(ConfigurationModelContainer model) throws Exception {
registry = new ClusteredRegistryState(new FakeCacheFactory());
-
- HostControllerRegistryBinding host1 = buildHostRegistryBinding("2.2.2.2"); //$NON-NLS-1$
- HostControllerRegistryBinding host2 = buildHostRegistryBinding("3.3.3.3"); //$NON-NLS-1$
- registry.addHost(host1);
- registry.addHost(host2);
- ProcessRegistryBinding vmBinding2 = buildVMRegistryBinding("2.2.2.2", "process2"); //$NON-NLS-1$ //$NON-NLS-2$
- ServiceRegistryBinding serviceBinding2 = buildServiceRegistryBinding("connectorBinding2", 2, vmBinding2, "Cache","psc2"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ int svcid = 0;
- registry.addProcess(vmBinding2.getHostName(), vmBinding2.getProcessName(), vmBinding2);
- registry.addServiceBinding(vmBinding2.getHostName(), vmBinding2.getProcessName(), serviceBinding2);
+ Iterator<Host> hostIt = model.getHosts().iterator();
+ while(hostIt.hasNext()) {
+ Host h = hostIt.next();
+ registry.addHost(new HostControllerRegistryBinding(h.getName(), h.getProperties(), null, new NoOpMessageBus()));
+
+
+ Iterator<VMComponentDefn> vmIt = model.getConfiguration().getVMsForHost((HostID)h.getID()).iterator();
+ while(vmIt.hasNext()) {
+ VMComponentDefn vm = vmIt.next();
+
+ if (!vm.isEnabled()) {
+ continue;
+ }
+ ProcessManagement vmInterface1 = Mockito.mock(ProcessManagement.class);
+ Mockito.stub(vmInterface1.getAddress()).toReturn(InetAddress.getLocalHost());
+
+
+ ProcessRegistryBinding binding = new ProcessRegistryBinding(h.getName(), vm.getName(), vm, vmInterface1, new NoOpMessageBus());
+ binding.setAlive(true);
+ binding.setStartTime(new Date(1234).getTime());
+ registry.addProcess(binding.getHostName(), binding.getProcessName(), binding);
+
+
+ Iterator<DeployedComponent> depIt = model.getConfiguration().getDeployedServicesForVM(vm).iterator();
+ while(depIt.hasNext()) {
+ DeployedComponent dep = depIt.next();
+
+ if (dep.isEnabled()) {
+ ServiceID sid = new ServiceID(++svcid, binding.getHostName(), binding.getProcessName());
+ ServiceRegistryBinding svcbinding = new ServiceRegistryBinding(sid,
+ new FakeCacheAdmin(sid),
+ dep.getComponentTypeID().getName(),
+ dep.getServiceComponentDefnID().getName(),
+ null,
+ dep.getServiceComponentDefnID().getName(),
+ binding.getHostName(),
+ dep,
+ (dep.isEnabled() ? ServiceState.STATE_OPEN : ServiceState.STATE_CLOSED),
+ new Date(),
+ false,
+ new NoOpMessageBus());
+
+ svcbinding.updateState(dep.isEnabled() ? ServiceState.STATE_OPEN : ServiceState.STATE_CLOSED);
+
+
+ registry.addServiceBinding(binding.getHostName(), binding.getProcessName(), svcbinding);
+ }
+
+ }
+
+
+ }
+ }
- ProcessRegistryBinding vmBinding3 = buildVMRegistryBinding("3.3.3.3", "process3"); //$NON-NLS-1$ //$NON-NLS-2$
- ServiceRegistryBinding serviceBinding3 = buildServiceRegistryBinding("connectorBinding3", 3, vmBinding3, "Cache", "psc3"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- registry.addProcess(vmBinding3.getHostName(), vmBinding3.getProcessName(), vmBinding3);
- registry.addServiceBinding(vmBinding3.getHostName(), vmBinding3.getProcessName(), serviceBinding3);
+ return registry;
+ }
+
+ public static ClusteredRegistryState getFakeRegistry() throws Exception {
+
+ if (registry != null) {
+ return registry;
+ }
+ ConfigurationModelContainer cmc = CurrentConfiguration.getInstance().getConfigurationModel();
- // dqps
- ServiceID sid1 = new ServiceID(5, vmBinding2.getHostName(),vmBinding2.getProcessName());
- registry.addServiceBinding(vmBinding2.getHostName(), vmBinding2.getProcessName(), new ServiceRegistryBinding(sid1, new FakeQueryService(sid1), QueryService.SERVICE_NAME,
- "dqp2", "QueryService", //$NON-NLS-1$ //$NON-NLS-2$
- "dqp2", "2.2.2.2",(DeployedComponent)new FakeConfiguration().deployedComponents.get(4), //$NON-NLS-1$ //$NON-NLS-2$
- ServiceState.STATE_CLOSED,
- new Date(),
- false, new NoOpMessageBus()));
-
- ServiceID sid2 = new ServiceID(6, vmBinding3.getHostName(),vmBinding3.getProcessName());
- registry.addServiceBinding(vmBinding3.getHostName(), vmBinding3.getProcessName(), new ServiceRegistryBinding(sid2, new FakeQueryService(sid2), QueryService.SERVICE_NAME,
- "dqp3", "QueryService", //$NON-NLS-1$ //$NON-NLS-2$
- "dqp3", "3.3.3.3", (DeployedComponent)new FakeConfiguration().deployedComponents.get(5), //$NON-NLS-1$ //$NON-NLS-2$
- ServiceState.STATE_CLOSED,
- new Date(),
- false, new NoOpMessageBus()));
+ return getFakeRegistry(cmc);
- return registry;
+// registry = new ClusteredRegistryState(new FakeCacheFactory());
+//
+// HostControllerRegistryBinding host1 = buildHostRegistryBinding("2.2.2.2"); //$NON-NLS-1$
+// HostControllerRegistryBinding host2 = buildHostRegistryBinding("3.3.3.3"); //$NON-NLS-1$
+// registry.addHost(host1);
+// registry.addHost(host2);
+//
+// ProcessRegistryBinding vmBinding2 = buildVMRegistryBinding("2.2.2.2", "process2"); //$NON-NLS-1$ //$NON-NLS-2$
+// ServiceRegistryBinding serviceBinding2 = buildServiceRegistryBinding("connectorBinding2", 2, vmBinding2, "Cache","psc2"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+//
+// registry.addProcess(vmBinding2.getHostName(), vmBinding2.getProcessName(), vmBinding2);
+// registry.addServiceBinding(vmBinding2.getHostName(), vmBinding2.getProcessName(), serviceBinding2);
+//
+//
+// ProcessRegistryBinding vmBinding3 = buildVMRegistryBinding("3.3.3.3", "process3"); //$NON-NLS-1$ //$NON-NLS-2$
+// ServiceRegistryBinding serviceBinding3 = buildServiceRegistryBinding("connectorBinding3", 3, vmBinding3, "Cache", "psc3"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+//
+// registry.addProcess(vmBinding3.getHostName(), vmBinding3.getProcessName(), vmBinding3);
+// registry.addServiceBinding(vmBinding3.getHostName(), vmBinding3.getProcessName(), serviceBinding3);
+//
+//
+// // dqps
+// ServiceID sid1 = new ServiceID(5, vmBinding2.getHostName(),vmBinding2.getProcessName());
+// registry.addServiceBinding(vmBinding2.getHostName(), vmBinding2.getProcessName(), new ServiceRegistryBinding(sid1, new FakeQueryService(sid1), QueryService.SERVICE_NAME,
+// "dqp2", "QueryService", //$NON-NLS-1$ //$NON-NLS-2$
+// "dqp2", "2.2.2.2",(DeployedComponent)new FakeConfiguration().deployedComponents.get(4), //$NON-NLS-1$ //$NON-NLS-2$
+// ServiceState.STATE_CLOSED,
+// new Date(),
+// false, new NoOpMessageBus()));
+//
+// ServiceID sid2 = new ServiceID(6, vmBinding3.getHostName(),vmBinding3.getProcessName());
+// registry.addServiceBinding(vmBinding3.getHostName(), vmBinding3.getProcessName(), new ServiceRegistryBinding(sid2, new FakeQueryService(sid2), QueryService.SERVICE_NAME,
+// "dqp3", "QueryService", //$NON-NLS-1$ //$NON-NLS-2$
+// "dqp3", "3.3.3.3", (DeployedComponent)new FakeConfiguration().deployedComponents.get(5), //$NON-NLS-1$ //$NON-NLS-2$
+// ServiceState.STATE_CLOSED,
+// new Date(),
+// false, new NoOpMessageBus()));
+//
+// return registry;
+
}
@@ -119,20 +198,20 @@
return binding;
}
- public static ServiceRegistryBinding buildServiceRegistryBinding(String name, int id, ProcessRegistryBinding vm, String type, String psc) {
- ServiceID sid = new ServiceID(id, vm.getHostName(), vm.getProcessName());
-
- DeployedComponentID deployedComponentID1 = new DeployedComponentID(name, Configuration.NEXT_STARTUP_ID, vm.getDeployedComponent().getHostID(), (VMComponentDefnID)vm.getDeployedComponent().getID());
- ConnectorBindingID connectorBindingID1 = new ConnectorBindingID(Configuration.NEXT_STARTUP_ID, name);
-
- BasicDeployedComponent deployedComponent = new BasicDeployedComponent(deployedComponentID1, Configuration.NEXT_STARTUP_ID, vm.getDeployedComponent().getHostID(), (VMComponentDefnID)vm.getDeployedComponent().getID(), connectorBindingID1, ConnectorBindingType.CONNECTOR_TYPE_ID);
- deployedComponent.setDescription(name);
-
- return new ServiceRegistryBinding(sid, new FakeCacheAdmin(sid), type,name, null, name, vm.getHostName(), deployedComponent, ServiceState.STATE_OPEN, new Date(), false, new NoOpMessageBus()); //$NON-NLS-1$
- }
+// public static ServiceRegistryBinding buildServiceRegistryBinding(String name, int id, ProcessRegistryBinding vm, String type, String psc) {
+// ServiceID sid = new ServiceID(id, vm.getHostName(), vm.getProcessName());
+//
+// DeployedComponentID deployedComponentID1 = new DeployedComponentID(name, Configuration.NEXT_STARTUP_ID, vm.getDeployedComponent().getHostID(), (VMComponentDefnID)vm.getDeployedComponent().getID());
+// ConnectorBindingID connectorBindingID1 = new ConnectorBindingID(Configuration.NEXT_STARTUP_ID, name);
+//
+// BasicDeployedComponent deployedComponent = new BasicDeployedComponent(deployedComponentID1, Configuration.NEXT_STARTUP_ID, vm.getDeployedComponent().getHostID(), (VMComponentDefnID)vm.getDeployedComponent().getID(), connectorBindingID1, ConnectorBindingType.CONNECTOR_TYPE_ID);
+// deployedComponent.setDescription(name);
+//
+// return new ServiceRegistryBinding(sid, new FakeCacheAdmin(sid), type,name, null, name, vm.getHostName(), deployedComponent, ServiceState.STATE_OPEN, new Date(), false, new NoOpMessageBus()); //$NON-NLS-1$
+// }
- static HostControllerRegistryBinding buildHostRegistryBinding(String name) {
- return new HostControllerRegistryBinding(name, new Properties(), null, new NoOpMessageBus());
- }
+// static HostControllerRegistryBinding buildHostRegistryBinding(String name) {
+// return new HostControllerRegistryBinding(name, new Properties(), null, new NoOpMessageBus());
+// }
}
Added: trunk/server/src/test/resources/config/config_multihost.xml
===================================================================
--- trunk/server/src/test/resources/config/config_multihost.xml (rev 0)
+++ trunk/server/src/test/resources/config/config_multihost.xml 2009-06-11 22:35:07 UTC (rev 1046)
@@ -0,0 +1,915 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ConfigurationDocument>
+ <Header>
+ <ApplicationCreatedBy>ConfigurationAdministration</ApplicationCreatedBy>
+ <ApplicationVersionCreatedBy>4.2</ApplicationVersionCreatedBy>
+ <UserCreatedBy>Configuration</UserCreatedBy>
+ <ConfigurationVersion>4.2</ConfigurationVersion>
+ <MetaMatrixSystemVersion>4.2</MetaMatrixSystemVersion>
+ <Time>2004-06-30T12:23:53.919-06:00</Time>
+ </Header>
+ <Configuration Name="Next Startup" ComponentType="Configuration" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="metamatrix.server.metadata.systemURL">extensionjar:System.vdb</Property>
+ <Property Name="metamatrix.server.extensionTypesToCache">JAR File</Property>
+ <Property Name="metamatrix.server.procDebug">false</Property>
+ <Property Name="metamatrix.server.cacheConnectorClassLoaders">true</Property>
+ <Property Name="metamatrix.server.streamingBatchSize">100</Property>
+ <Property Name="metamatrix.server.serviceMonitorInterval">60</Property>
+ <Property Name="metamatrix.session.max.connections">0</Property>
+ <Property Name="metamatrix.session.time.limit">0</Property>
+ <Property Name="metamatrix.session.sessionMonitor.ActivityInterval">5</Property>
+ <Property Name="metamatrix.audit.jdbcTable">AUDITENTRIES</Property>
+ <Property Name="metamatrix.audit.threadTTL">600000</Property>
+ <Property Name="metamatrix.audit.fileFormat">com.metamatrix.platform.security.audit.format.DelimitedAuditMessageFormat</Property>
+ <Property Name="metamatrix.audit.jdbcResourceDelim">;</Property>
+ <Property Name="metamatrix.audit.jdbcDatabase">false</Property>
+ <Property Name="metamatrix.audit.console">false</Property>
+ <Property Name="metamatrix.audit.jdbcMaxContextLength">64</Property>
+ <Property Name="metamatrix.audit.fileAppend">false</Property>
+ <Property Name="metamatrix.audit.enabled">false</Property>
+ <Property Name="metamatrix.audit.consoleFormat">com.metamatrix.platform.security.audit.format.ReadableAuditMessageFormat</Property>
+ <Property Name="metamatrix.audit.jdbcMaxResourceLength">4000</Property>
+ <Property Name="metamatrix.authorization.dataaccess.CheckingEnabled">false</Property>
+ <Property Name="metamatrix.authorization.metabase.CheckingEnabled">false</Property>
+ <Property Name="metamatrix.deployment.platform">standalone</Property>
+ <Property Name="metamatrix.encryption.client">true</Property>
+ <Property Name="metamatrix.encryption.secure.sockets">false</Property>
+ <Property Name="metamatrix.log.consoleFormat">com.metamatrix.common.log.format.ReadableLogMessageFormat</Property>
+ <Property Name="metamatrix.log.console">true</Property>
+ <Property Name="metamatrix.log.jdbcTable">LOGENTRIES</Property>
+ <Property Name="metamatrix.log.jdbcMaxContextLength">64</Property>
+ <Property Name="metamatrix.log.jdbcMaxExceptionLength">4000</Property>
+ <Property Name="metamatrix.log.jdbcMaxLength">2000</Property>
+ <Property Name="metamatrix.log.maxRows">2500</Property>
+ <Property Name="metamatrix.log.size.limit.kbs">1000</Property>
+ <Property Name="metamatrix.log.size.monitor.mins">60</Property>
+ <Property Name="metamatrix.log">4</Property>
+ <Property Name="metamatrix.log.jdbcDatabase.enabled">true</Property>
+ <Property Name="metamatrix.buffer.memoryAvailable">500</Property>
+ <Property Name="metamatrix.buffer.sessionUsePercentage">80</Property>
+ <Property Name="metamatrix.buffer.activeMemoryThreshold">90</Property>
+ <Property Name="metamatrix.buffer.managementInterval">1000</Property>
+ <Property Name="metamatrix.buffer.connectorBatchSize">2000</Property>
+ <Property Name="metamatrix.buffer.processorBatchSize">2000</Property>
+ <Property Name="metamatrix.buffer.maxOpenFiles">10</Property>
+ <Property Name="metamatrix.buffer.maxFileSize">2048</Property>
+ <Property Name="metamatrix.buffer.logStatsInterval">0</Property>
+ <Property Name="metamatrix.transaction.log.storeMMCMD">false</Property>
+ <Property Name="metamatrix.transaction.log.storeSRCCMD">false</Property>
+ <Property Name="vm.starter.maxThreads">5</Property>
+ <Property Name="vm.starter.timetolive">30000</Property>
+ <Property Name="key1">value1</Property>
+ </Properties>
+ <Host Name="3.3.3.3" ComponentType="Host" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Process Name="process3" ComponentType="VM" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="vm.starter.cmd.java_opts">-server -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=${metamatrix.host.dir}/data/tmp -ms${vm.starter.minHeapSize}m -mx${vm.starter.maxHeapSize}m</Property>
+ <Property Name="vm.starter.maxHeapSize">1024</Property>
+ <Property Name="vm.starter.minHeapSize">256</Property>
+ <Property Name="vm.socketPort">(vm.port)</Property>
+ <Property Name="vm.maxThreads">64</Property>
+ <Property Name="vm.timetolive">30000</Property>
+ <Property Name="vm.minPort">0</Property>
+ <Property Name="vm.inputBufferSize">102400</Property>
+ <Property Name="vm.outputBufferSize">102400</Property>
+ <Property Name="vm.enabled">true</Property>
+ <Property Name="vm.forced.shutdown.time">30</Property>
+ <Property Name="vm.socketPort">31000</Property>
+ </Properties>
+ <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="dqp3" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" >
+ <Properties>
+ <Property Name="component.enabled">false</Property>
+ </Properties>
+ </DeployedService>
+ <DeployedService Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="connectorBinding3" ComponentType="JDBC Connector" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ </Process>
+ </Host>
+ <Host Name="2.2.2.2" ComponentType="Host" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Process Name="process2" ComponentType="VM" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="vm.starter.cmd.java_opts">-server -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=${metamatrix.host.dir}/data/tmp -ms${vm.starter.minHeapSize}m -mx${vm.starter.maxHeapSize}m</Property>
+ <Property Name="vm.starter.maxHeapSize">1024</Property>
+ <Property Name="vm.starter.minHeapSize">256</Property>
+ <Property Name="vm.socketPort">(vm.port)</Property>
+ <Property Name="vm.maxThreads">64</Property>
+ <Property Name="vm.timetolive">30000</Property>
+ <Property Name="vm.minPort">0</Property>
+ <Property Name="vm.inputBufferSize">102400</Property>
+ <Property Name="vm.outputBufferSize">102400</Property>
+ <Property Name="vm.enabled">true</Property>
+ <Property Name="vm.forced.shutdown.time">30</Property>
+ <Property Name="vm.socketPort">31001</Property>
+ </Properties>
+ <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="dqp2" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" >
+ <Properties>
+ <Property Name="component.enabled">true</Property>
+ </Properties>
+ </DeployedService>
+ <DeployedService Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="connectorBinding2" ComponentType="connectorType2" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ </Process>
+ </Host>
+ <Host Name="1.1.1.1" ComponentType="Host" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Process Name="process1" ComponentType="VM" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="vm.starter.cmd.java_opts">-server -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=${metamatrix.host.dir}/data/tmp -ms${vm.starter.minHeapSize}m -mx${vm.starter.maxHeapSize}m</Property>
+ <Property Name="vm.starter.maxHeapSize">1024</Property>
+ <Property Name="vm.starter.minHeapSize">256</Property>
+ <Property Name="vm.socketPort">(vm.port)</Property>
+ <Property Name="vm.maxThreads">64</Property>
+ <Property Name="vm.timetolive">30000</Property>
+ <Property Name="vm.minPort">0</Property>
+ <Property Name="vm.inputBufferSize">102400</Property>
+ <Property Name="vm.outputBufferSize">102400</Property>
+ <Property Name="vm.enabled">false</Property>
+ <Property Name="vm.forced.shutdown.time">30</Property>
+ <Property Name="vm.socketPort">31002</Property>
+ </Properties>
+ <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="dqp1" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" >
+ </DeployedService>
+ <DeployedService Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="connectorBinding1" ComponentType="connectorType1" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ </Process>
+ </Host>
+ </Configuration>
+ <Services>
+ <Service Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="ConnectorClass">com.metamatrix.connector.metadata.IndexConnector</Property>
+ <Property Name="ServiceClassName">com.metamatrix.server.connector.service.ConnectorService</Property>
+ <Property Name="metamatrix.service.essentialservice">true</Property>
+ <Property Name="ConnectorMaxThreads">20</Property>
+ <Property Name="ConnectorThreadTTL">120000</Property>
+ <Property Name="MaxResultRows">0</Property>
+ <Property Name="ExceptionOnMaxRows">true</Property>
+ <Property Name="Immutable">true</Property>
+ </Properties>
+ </Service>
+ <Service Name="MembershipService" ComponentType="MembershipService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="security.membership.admin.username">(admin.username)</Property>
+ <Property Name="security.membership.admin.password">(admin.password)</Property>
+ <Property Name="metamatrix.service.essentialservice">true</Property>
+ <Property Name="security.membership.DomainOrder">
+ </Property>
+ <Property Name="ServiceClassName">com.metamatrix.platform.security.membership.service.MembershipServiceImpl</Property>
+ </Properties>
+ </Service>
+ <Service Name="ODBCService" ComponentType="ODBCService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="metamatrix.service.essentialservice">false</Property>
+ <Property Name="ServiceClassName">com.metamatrix.odbc.ODBCServiceImpl</Property>
+ <Property Name="Openrdaloc">odbc/MMODBC.ini</Property>
+ <Property Name="ServerKey">license/oaserverkey.lic</Property>
+ </Properties>
+ </Service>
+ <Service Name="ConfigurationService" ComponentType="ConfigurationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="metamatrix.service.essentialservice">true</Property>
+ <Property Name="ServiceClassName">com.metamatrix.platform.config.service.ConfigurationServiceImpl</Property>
+ </Properties>
+ </Service>
+ <Service Name="AuthorizationService" ComponentType="AuthorizationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="metamatrix.service.essentialservice">true</Property>
+ <Property Name="security.authorization.connection.Retries">4</Property>
+ <Property Name="ServiceClassName">com.metamatrix.platform.security.authorization.service.AuthorizationServiceImpl</Property>
+ </Properties>
+ </Service>
+ <Service Name="SessionService" ComponentType="SessionService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="security.session.terminationHandlers">com.metamatrix.server.util.DataServerSessionTerminationHandler</Property>
+ <Property Name="metamatrix.service.essentialservice">true</Property>
+ <Property Name="ServiceClassName">com.metamatrix.platform.security.session.service.SessionServiceImpl</Property>
+ </Properties>
+ </Service>
+ <Service Name="QueryService" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="metamatrix.service.essentialservice">false</Property>
+ <Property Name="ProcessPoolMaxThreads">64</Property>
+ <Property Name="ProcessPoolThreadTTL">120000</Property>
+ <Property Name="ServiceClassName">com.metamatrix.server.query.service.QueryService</Property>
+ <Property Name="ProcessorTimeslice">2000</Property>
+ <Property Name="MaxCodeTables">50</Property>
+ <Property Name="MaxCodeTableRecords">10000</Property>
+ <Property Name="MinFetchSize">100</Property>
+ <Property Name="MaxFetchSize">20000</Property>
+ <Property Name="ResultSetCacheEnabled">0</Property>
+ <Property Name="ResultSetCacheMaxSize">0</Property>
+ <Property Name="ResultSetCacheMaxAge">0</Property>
+ <Property Name="ResultSetCacheScope">vdb</Property>
+ <Property Name="MaxPlanCacheSize">100</Property>
+ </Properties>
+ </Service>
+ <Service Name="dqp1" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="metamatrix.service.essentialservice">false</Property>
+ <Property Name="ProcessPoolMaxThreads">64</Property>
+ <Property Name="ProcessPoolThreadTTL">120000</Property>
+ <Property Name="ServiceClassName">com.metamatrix.server.query.service.QueryService</Property>
+ <Property Name="ProcessorTimeslice">2000</Property>
+ <Property Name="MaxCodeTables">50</Property>
+ <Property Name="MaxCodeTableRecords">10000</Property>
+ <Property Name="MinFetchSize">100</Property>
+ <Property Name="MaxFetchSize">20000</Property>
+ <Property Name="ResultSetCacheEnabled">0</Property>
+ <Property Name="ResultSetCacheMaxSize">0</Property>
+ <Property Name="ResultSetCacheMaxAge">0</Property>
+ <Property Name="ResultSetCacheScope">vdb</Property>
+ <Property Name="MaxPlanCacheSize">100</Property>
+ </Properties>
+ </Service>
+ <Service Name="dqp2" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="metamatrix.service.essentialservice">false</Property>
+ <Property Name="ProcessPoolMaxThreads">64</Property>
+ <Property Name="ProcessPoolThreadTTL">120000</Property>
+ <Property Name="ServiceClassName">com.metamatrix.server.query.service.QueryService</Property>
+ <Property Name="ProcessorTimeslice">2000</Property>
+ <Property Name="MaxCodeTables">50</Property>
+ <Property Name="MaxCodeTableRecords">10000</Property>
+ <Property Name="MinFetchSize">100</Property>
+ <Property Name="MaxFetchSize">20000</Property>
+ <Property Name="ResultSetCacheEnabled">0</Property>
+ <Property Name="ResultSetCacheMaxSize">0</Property>
+ <Property Name="ResultSetCacheMaxAge">0</Property>
+ <Property Name="ResultSetCacheScope">vdb</Property>
+ <Property Name="MaxPlanCacheSize">100</Property>
+ </Properties>
+ </Service>
+ <Service Name="dqp3" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="metamatrix.service.essentialservice">false</Property>
+ <Property Name="ProcessPoolMaxThreads">64</Property>
+ <Property Name="ProcessPoolThreadTTL">120000</Property>
+ <Property Name="ServiceClassName">com.metamatrix.server.query.service.QueryService</Property>
+ <Property Name="ProcessorTimeslice">2000</Property>
+ <Property Name="MaxCodeTables">50</Property>
+ <Property Name="MaxCodeTableRecords">10000</Property>
+ <Property Name="MinFetchSize">100</Property>
+ <Property Name="MaxFetchSize">20000</Property>
+ <Property Name="ResultSetCacheEnabled">0</Property>
+ <Property Name="ResultSetCacheMaxSize">0</Property>
+ <Property Name="ResultSetCacheMaxAge">0</Property>
+ <Property Name="ResultSetCacheScope">vdb</Property>
+ <Property Name="MaxPlanCacheSize">100</Property>
+ </Properties>
+ </Service>
+ </Services>
+ <ConnectorBindings>
+ <Connector Name="connectorBinding3" ComponentType="JDBC Connector" LastChangedBy="ImportConfiguration" LastChangedDate="2005-03-09T06:28:34.422-06:00" CreatedBy="ImportConfiguration" CreationDate="2005-03-09T06:28:34.422-06:00" routingUUID="connectorBinding3" >
+ <Properties>
+ <Property Name="Password">abc</Property>
+ <Property Name="User">theuser</Property>
+ <Property Name="URL">jdbc:mmx://server:port</Property>
+ <Property Name="Driver">driver.class</Property>
+ <Property Name="IsXA">true</Property>
+ </Properties>
+ </Connector>
+ <Connector Name="connectorBinding2" ComponentType="connectorType2" LastChangedBy="ImportConfiguration" LastChangedDate="2005-03-09T06:28:34.422-06:00" CreatedBy="ImportConfiguration" CreationDate="2005-03-09T06:28:34.422-06:00" routingUUID="connectorBinding2" >
+ <Properties>
+ <Property Name="Password">abc</Property>
+ <Property Name="User">theuser</Property>
+ <Property Name="prop2">value2</Property>
+ <Property Name="prop1">value1</Property>
+ <Property Name="IsXA">true</Property>
+ </Properties>
+ </Connector>
+
+ <Connector Name="connectorBinding1" ComponentType="connectorType2" LastChangedBy="ImportConfiguration" LastChangedDate="2005-03-09T06:28:34.422-06:00" CreatedBy="ImportConfiguration" CreationDate="2005-03-09T06:28:34.422-06:00" routingUUID="connectorBinding1" >
+ <Properties>
+ <Property Name="Password">abc</Property>
+ <Property Name="User">theuser</Property>
+ <Property Name="URL">jdbc:mmx://server:port</Property>
+ <Property Name="Driver">driver.class</Property>
+ <Property Name="IsXA">true</Property>
+ </Properties>
+ </Connector>
+
+ </ConnectorBindings>
+ <AuthenticationProviders>
+ <Provider Name="testFileDomainProvider" ComponentType="File Membership Domain Provider" LastChangedBy="metamatrixadmin" LastChangedDate="2007-05-24T12:52:48.088-06:00" CreatedBy="metamatrixadmin" CreationDate="2007-05-24T12:52:48.088-06:00">
+ <Properties>
+ <Property Name="checkPassword">true</Property>
+ <Property Name="activate">true</Property>
+ <Property Name="usersFile">H:\mdrilling\testSecurity\users.properties</Property>
+ <Property Name="groupsFile">H:\mdrilling\testSecurity\groups.properties</Property>
+ <Property Name="AuthDomainClass">com.metamatrix.platform.security.membership.spi.file.FileMembershipDomain</Property>
+ </Properties>
+ </Provider>
+ <Provider Name="testLDAPProvider" ComponentType="LDAP Membership Domain Provider" LastChangedBy="metamatrixadmin" LastChangedDate="2007-06-08T09:58:36.371-06:00" CreatedBy="metamatrixadmin" CreationDate="2007-06-08T09:58:36.371-06:00">
+ <Properties>
+ <Property Name="users.displayName.attribute">uid</Property>
+ <Property Name="groups.searchFilter">(objectclass=*)</Property>
+ <Property Name="users.searchScope">SUBTREE_SCOPE</Property>
+ <Property Name="groups.rootContext">asdf</Property>
+ <Property Name="AuthDomainClass">com.metamatrix.platform.security.membership.spi.ldap.LDAPMembershipDomain</Property>
+ <Property Name="activate">true</Property>
+ <Property Name="ldapURL">adsf</Property>
+ <Property Name="users.rootContext">asdf</Property>
+ <Property Name="users.searchFilter">(objectclass=*)</Property>
+ <Property Name="groups.searchScope">SUBTREE_SCOPE</Property>
+ </Properties>
+ </Provider>
+ </AuthenticationProviders>
+ <ComponentTypes>
+ <ComponentType Name="connectorType1" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="metamatrixadmin" LastChangedDate="2005-07-26T14:34:20.960-06:00" CreatedBy="metamatrixadmin" CreationDate="2005-07-26T14:34:20.960-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="com.metamatrix.jdbc.MMDataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:metamatrix:<vdbName>@mm://<host>:<port>" IsRequired="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ </ComponentType>
+ <ComponentType Name="connectorType2" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="metamatrixadmin" LastChangedDate="2005-07-26T14:34:20.960-06:00" CreatedBy="metamatrixadmin" CreationDate="2005-07-26T14:34:20.960-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="com.metamatrix.jdbc.MMDataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:metamatrix:<vdbName>@mm://<host>:<port>" IsRequired="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ </ComponentType>
+
+
+ <ComponentType Name="Service" ComponentTypeCode="1" Deployable="false" Deprecated="false" Monitorable="false" ParentComponentType="VM" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.943-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.943-06:00">
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="ServiceClassName" DisplayName="Service Class Name" ShortDescription="" IsRequired="true" IsHidden="true" />
+ </ComponentType>
+ <ComponentType Name="Host" ComponentTypeCode="7" Deployable="true" Deprecated="false" Monitorable="false" ParentComponentType="Configuration" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.950-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.950-06:00">
+ </ComponentType>
+ <ComponentType Name="DeployedComponent" ComponentTypeCode="8" Deployable="false" Deprecated="false" Monitorable="false" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.970-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.970-06:00" />
+ <ComponentType Name="VM" ComponentTypeCode="5" Deployable="true" Deprecated="false" Monitorable="false" ParentComponentType="Host" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.944-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.944-06:00">
+ <PropertyDefinition Name="vm.starter.cmd.java_opts" DisplayName="Java Options" ShortDescription="These are the java options passed in before the main class" DefaultValue="-server -Djava.io.tmpdir=${metamatrix.host.dir}/data/tmp -ms${vm.starter.minHeapSize}m -mx${vm.starter.maxHeapSize}m" />
+ <PropertyDefinition Name="vm.enabled" DisplayName="Start Enabled Flag" ShortDescription="The enabled flag allows for disabling the VM from starting without have to remove it from deployment." DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="vm.timetolive" DisplayName="Socket Worker Thread Time-To-Live (ms)" ShortDescription="Time-to-live (in milliseconds) for threads used to do work on client requests." DefaultValue="30000" />
+ <PropertyDefinition Name="vm.starter.maxHeapSize" DisplayName="Maximum Heap Size (MB)" ShortDescription="The maximum heap size, in megabytes, to be used for this VM. If no value is provided for this property, the default property value from the configuration is used; if no value is specified anywhere, no maximum heap size will be set." DefaultValue="1024" />
+ <PropertyDefinition Name="vm.minPort" DisplayName="Min Port Number" ShortDescription="Min port number" DefaultValue="0" />
+ <PropertyDefinition Name="vm.maxThreads" DisplayName="Max Threads" ShortDescription="Maximum socket listener threads." DefaultValue="64" />
+ <PropertyDefinition Name="vm.bind.address" DisplayName="VM Bind Address" ShortDescription="The bind address, when specified determines what address the vm will be bound to." DefaultValue="" IsHidden="true" IsModifiable="false" />
+ <PropertyDefinition Name="vm.starter.minHeapSize" DisplayName="Minimum Heap Size (MB)" ShortDescription="The minimum heap size, in megabytes, to be used for this VM. If no value is provided for this property, the default property value from the configuration is used; if no value is specified anywhere, no minimum heap size will be set." DefaultValue="256" />
+ <PropertyDefinition Name="vm.inputBufferSize" DisplayName="Socket Input BufferSize" ShortDescription="The size of socket buffer used when reading." DefaultValue="0" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="vm.socketPort" DisplayName="Socket Port" ShortDescription="The port number for the process when socket communications are being used " DefaultValue="31000" />
+ <PropertyDefinition Name="vm.forced.shutdown.time" DisplayName="VM Forced Shutdown Time (secs)" ShortDescription="The the number of seconds the VM will wait until it will perform a force shutdown." DefaultValue="30" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="vm.outputBufferSize" DisplayName="Socket Output BufferSize" ShortDescription="The size of the socket buffer used when writing." DefaultValue="0" IsRequired="true" PropertyType="Integer" />
+ </ComponentType>
+ <ComponentType Name="AuthorizationService" ComponentTypeCode="1" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Service" ParentComponentType="Platform" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.957-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.957-06:00">
+ <PropertyDefinition Name="ServiceClassName" DisplayName="Service Class Name" ShortDescription="" DefaultValue="com.metamatrix.platform.security.authorization.service.AuthorizationServiceImpl" IsRequired="true" IsHidden="true" />
+ <PropertyDefinition Name="security.authorization.connection.MaximumAge" DisplayName="Maximum connection time (milliseconds)" ShortDescription="" DefaultValue="600000" PropertyType="Integer" />
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="security.authorization.connection.MaximumConcurrentReaders" DisplayName="Maximum allowed concurrent users" ShortDescription="" DefaultValue="1" PropertyType="Integer" />
+ <PropertyDefinition Name="security.authorization.connection.Retries" DisplayName="Authorization proxy maximum retries" ShortDescription="" DefaultValue="4" IsRequired="true" PropertyType="Integer" />
+ </ComponentType>
+ <ComponentType Name="SessionService" ComponentTypeCode="1" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Service" ParentComponentType="Platform" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.955-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.955-06:00">
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="security.session.terminationHandlers" DisplayName="List of TerminationHandler Class Names" ShortDescription="" DefaultValue="com.metamatrix.server.util.DataServerSessionTerminationHandler" IsRequired="true" IsHidden="true" />
+ <PropertyDefinition Name="ServiceClassName" DisplayName="Service Class Name" ShortDescription="" DefaultValue="com.metamatrix.platform.security.session.service.SessionServiceImpl" IsRequired="true" IsHidden="true" />
+ </ComponentType>
+ <ComponentType Name="File Membership Domain Provider" ComponentTypeCode="11" Deployable="false" Deprecated="false" Monitorable="false" SuperComponentType="ResourceType" ParentComponentType="Platform" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.947-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.947-06:00">
+ <PropertyDefinition Name="activate" DisplayName="Enabled" ShortDescription="" DefaultValue="true" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="usersFile" DisplayName="Users File" ShortDescription="Location of the properties file containing user name and password entries." IsRequired="true" />
+ <PropertyDefinition Name="AuthDomainClass" DisplayName="Membership Domain Class Name" ShortDescription="" DefaultValue="com.metamatrix.platform.security.membership.spi.file.FileMembershipDomain" IsRequired="true" IsHidden="true" />
+ <PropertyDefinition Name="groupsFile" DisplayName="Groups File" ShortDescription="Location of the properties file containing group assignments." IsRequired="true" />
+ <PropertyDefinition Name="checkPassword" DisplayName="Check Password" ShortDescription="Check passwords against the users file." DefaultValue="true" PropertyType="Boolean" IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="Miscellaneous Resource Type" ComponentTypeCode="4" Deployable="false" Deprecated="false" Monitorable="false" SuperComponentType="ResourceType" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.949-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.949-06:00" />
+ <ComponentType Name="QueryService" ComponentTypeCode="1" Deployable="true" Deprecated="false" Monitorable="true" SuperComponentType="Service" ParentComponentType="Integration Server" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.956-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.957-06:00">
+ <PropertyDefinition Name="MaxCodeTables" DisplayName="Max Code Tables" ShortDescription="Max Number of Code Tables" DefaultValue="50" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="MaxCodeTableRecords" DisplayName="Max Code Table Records" ShortDescription="Max Number of Records Per Code Table" DefaultValue="10000" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="ResultSetCacheMaxAge" DisplayName="ResultSet Cache Maximum Age (milliseconds)" ShortDescription="" DefaultValue="0" PropertyType="Long" />
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="ProcessPoolMaxThreads" DisplayName="Process Pool Maximum Thread Count" ShortDescription="" DefaultValue="64" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="ResultSetCacheScope" DisplayName="ResultSet Cache Scope" ShortDescription="" DefaultValue="vdb">
+ <AllowedValue>vdb</AllowedValue>
+ <AllowedValue>session</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="ResultSetCacheEnabled" DisplayName="ResultSet Cache Enabled" ShortDescription="" DefaultValue="false" PropertyType="Boolean" />
+ <PropertyDefinition Name="MinFetchSize" DisplayName="Minimum Fetch Size (rows)" ShortDescription="" DefaultValue="100" PropertyType="Integer" />
+ <PropertyDefinition Name="MaxFetchSize" DisplayName="Maximum Fetch Size (rows)" ShortDescription="" DefaultValue="20000" PropertyType="Integer" />
+ <PropertyDefinition Name="ProcessPoolThreadTTL" DisplayName="Process Pool Thread Time-To-Live (milliseconds)" ShortDescription="" DefaultValue="120000" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="MaxPlanCacheSize" DisplayName="Maximum Plan Cache" ShortDescription="Maximum number of plans in the cache" DefaultValue="100" PropertyType="Integer" />
+ <PropertyDefinition Name="ProcessorTimeslice" DisplayName="Query Processor Timeslice (milliseconds)" ShortDescription="" DefaultValue="2000" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="ResultSetCacheMaxSize" DisplayName="ResultSet Cache Maximum Size (megabytes)" ShortDescription="" DefaultValue="0" PropertyType="Integer" />
+ <PropertyDefinition Name="ServiceClassName" DisplayName="Service Class Name" ShortDescription="" DefaultValue="com.metamatrix.server.query.service.QueryService" IsRequired="true" IsExpert="true" IsHidden="true" />
+ </ComponentType>
+ <ComponentType Name="MembershipService" ComponentTypeCode="1" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Service" ParentComponentType="Platform" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.958-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.958-06:00">
+ <PropertyDefinition Name="security.membership.DomainOrder" DisplayName="Membership Domain Order" ShortDescription="" DefaultValue="JDBCInternalDomain" IsRequired="true" IsHidden="true" />
+ <PropertyDefinition Name="security.membership.admin.username" DisplayName="Admin Account Username" ShortDescription="" DefaultValue="MetaMatrixAdmin" IsRequired="true" IsHidden="true" />
+ <PropertyDefinition Name="ServiceClassName" DisplayName="Service Class Name" ShortDescription="" DefaultValue="com.metamatrix.platform.security.membership.service.MembershipServiceImpl" IsRequired="true" IsHidden="true" />
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="security.membership.security.enabled" DisplayName="Security Enabled" ShortDescription="" DefaultValue="true" IsRequired="true" PropertyType="Boolean" IsHidden="true" />
+ <PropertyDefinition Name="security.membership.admin.password" DisplayName="Admin Account Password" ShortDescription="" IsRequired="true" IsHidden="true" IsMasked="true" />
+ </ComponentType>
+ <ComponentType Name="ResourceType" ComponentTypeCode="0" Deployable="false" Deprecated="false" Monitorable="false" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.948-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.948-06:00" />
+ <ComponentType Name="ODBCService" ComponentTypeCode="1" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Service" ParentComponentType="Integration Server" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.958-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.958-06:00">
+ <PropertyDefinition Name="IntervalToCheckServiceState" DisplayName="ODBC Service Interval Check (secs)" ShortDescription="This property controls the interval for checking for the ODBC service state (seconds)." DefaultValue="120" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="ServerKey" DisplayName="ODBC Server License File" ShortDescription="The location the ODBC Server license should be found" DefaultValue="license/oaserverkey.lic" IsRequired="true" IsModifiable="false" />
+ <PropertyDefinition Name="ServiceClassName" DisplayName="Service Class Name" ShortDescription="" DefaultValue="com.metamatrix.odbc.ODBCServiceImpl" IsRequired="true" IsHidden="true" IsModifiable="false" />
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="Openrdaloc" DisplayName="MMODBC.ini file location" ShortDescription="The location the MMODBC.ini should be found" DefaultValue="odbc/MMODBC.ini" IsRequired="true" IsModifiable="false" />
+ </ComponentType>
+ <ComponentType Name="RuntimeMetadataService" ComponentTypeCode="1" Deployable="true" Deprecated="false" Monitorable="true" SuperComponentType="Service" ParentComponentType="Integration Server" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.944-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.944-06:00">
+ <PropertyDefinition Name="ConnectorClassPath" DisplayName="Class Path" ShortDescription="" DefaultValue="" IsRequired="true" />
+ <PropertyDefinition Name="ExceptionOnMaxRows" DisplayName="Exception on Exceeding Max Rows" ShortDescription="Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned" DefaultValue="true" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="ResultSetCacheMaxAge" DisplayName="ResultSet Cache Maximum Age (milliseconds)" ShortDescription="" DefaultValue="0" PropertyType="Long" />
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="ResultSetCacheScope" DisplayName="ResultSet Cache Scope" ShortDescription="" DefaultValue="vdb">
+ <AllowedValue>vdb</AllowedValue>
+ <AllowedValue>session</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" IsRequired="true" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="ResultSetCacheEnabled" DisplayName="ResultSet Cache Enabled" ShortDescription="" DefaultValue="false" PropertyType="Boolean" />
+ <PropertyDefinition Name="ConnectorMaxThreads" DisplayName="Connector Maximum Thread Count" ShortDescription="" DefaultValue="20" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="ResultSetCacheMaxSize" DisplayName="ResultSet Cache Maximum Size (megabytes)" ShortDescription="" DefaultValue="0" PropertyType="Integer" />
+ <PropertyDefinition Name="ServiceClassName" DisplayName="Service Class Name" ShortDescription="" DefaultValue="com.metamatrix.server.connector.service.ConnectorService" IsRequired="true" IsHidden="true" />
+ <PropertyDefinition Name="ConnectorThreadTTL" DisplayName="Thread Time to live (milliseconds)" ShortDescription="" DefaultValue="120000" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="MaxResultRows" DisplayName="Maximum Result Rows" ShortDescription="" DefaultValue="0" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="ConfigurationService" ComponentTypeCode="1" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Service" ParentComponentType="Platform" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.970-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.970-06:00">
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="ServiceClassName" DisplayName="Configuration Service Class Name" ShortDescription="" DefaultValue="com.metamatrix.platform.config.service.ConfigurationServiceImpl" IsRequired="true" IsHidden="true" />
+ </ComponentType>
+ <ComponentType Name="Connector" ComponentTypeCode="2" Deployable="false" Deprecated="false" Monitorable="true" SuperComponentType="Service" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.916-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.916-06:00">
+ <PropertyDefinition Name="SourceConnectionTestInterval" DisplayName="Data Source Test Connect Interval (seconds)" ShortDescription="How often (in seconds) to create test connections to the underlying datasource to see if it is available." DefaultValue="600" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorClassPath" DisplayName="Class Path" ShortDescription="" />
+ <PropertyDefinition Name="ConnectorTypeClassPath" DisplayName="Connector Type Class Path" ShortDescription="Connector Type classpath (defined by system)" IsExpert="true" />
+ <PropertyDefinition Name="ExceptionOnMaxRows" DisplayName="Exception on Exceeding Max Rows" ShortDescription="Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned" DefaultValue="true" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="ServiceMonitoringEnabled" DisplayName="Data Source Monitoring Enabled" ShortDescription="Whether to monitor the underlying data source to see if it is available." DefaultValue="true" IsRequired="true" PropertyType="Boolean" ISExpert="true" />
+ <PropertyDefinition Name="Immutable" DisplayName="Is Immutable" ShortDescription="True if the source never changes." DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorMaxThreads" DisplayName="Connector Maximum Thread Count" ShortDescription="" DefaultValue="20" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" IsRequired="true" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="ServiceClassName" DisplayName="Service Class Name" ShortDescription="" DefaultValue="com.metamatrix.server.connector.service.ConnectorService" IsRequired="true" IsHidden="true" />
+ <PropertyDefinition Name="MaxResultRows" DisplayName="Maximum Result Rows" ShortDescription="" DefaultValue="10000" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorThreadTTL" DisplayName="Thread Time to live (milliseconds)" ShortDescription="" DefaultValue="120000" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="ResultSetCacheMaxAge" DisplayName="ResultSet Cache Maximum Age (milliseconds)" ShortDescription="" DefaultValue="0" PropertyType="Long" IsExpert="true" />
+ <PropertyDefinition Name="ResultSetCacheScope" DisplayName="ResultSet Cache Scope" ShortDescription="" DefaultValue="vdb" IsExpert="true">
+ <AllowedValue>vdb</AllowedValue>
+ <AllowedValue>session</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="supportsAndCriteria" DisplayName="supportsAndCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCompareCriteria" DisplayName="supportsCompareCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCompareCriteriaEquals" DisplayName="supportsCompareCriteriaEquals" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCompareCriteriaGreaterThan" DisplayName="supportsCompareCriteriaGreaterThan" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCompareCriteriaGreaterThanOrEqual" DisplayName="supportsCompareCriteriaGreaterThanOrEqual" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCompareCriteriaLessThan" DisplayName="supportsCompareCriteriaLessThan" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCompareCriteriaLessThanOrEqual" DisplayName="supportsCompareCriteriaLessThanOrEqual" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCompareCriteriaNotEquals" DisplayName="supportsCompareCriteriaNotEquals" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCriteria" DisplayName="supportsCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsInCriteria" DisplayName="supportsInCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsIsNullCriteria" DisplayName="supportsIsNullCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsJoins" DisplayName="supportsJoins" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsLikeCriteria" DisplayName="supportsLikeCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsNotCriteria" DisplayName="supportsNotCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsOrCriteria" DisplayName="supportsOrCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsSelectDistinct" DisplayName="supportsSelectDistinct" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsSelectLiterals" DisplayName="supportsSelectLiterals" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsAliasedGroup" DisplayName="supportsAliasedGroup" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsSelfJoins" DisplayName="supportsSelfJoins" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsOuterJoins" DisplayName="supportsOuterJoins" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsFullOuterJoins" DisplayName="supportsFullOuterJoins" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsBetweenCriteria" DisplayName="supportsBetweenCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsLikeCriteriaEscapeCharacter" DisplayName="supportsLikeCriteriaEscapeCharacter" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsInCriteriaSubquery" DisplayName="supportsInCriteriaSubquery" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsExistsCriteria" DisplayName="supportsExistsCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsQuantifiedCompareCriteria" DisplayName="supportsQuantifiedCompareCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsQuantifiedCompareCriteriaSome" DisplayName="supportsQuantifiedCompareCriteriaSome" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsQuantifiedCompareCriteriaAll" DisplayName="supportsQuantifiedCompareCriteriaAll" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsOrderBy" DisplayName="supportsOrderBy" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsAggregates" DisplayName="supportsAggregates" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsAggregatesSum" DisplayName="supportsAggregatesSum" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsAggregatesAvg" DisplayName="supportsAggregatesAvg" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsAggregatesMin" DisplayName="supportsAggregatesMin" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsAggregatesMax" DisplayName="supportsAggregatesMax" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsAggregatesCount" DisplayName="supportsAggregatesCount" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsAggregatesCountStar" DisplayName="supportsAggregatesCountStar" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsAggregatesDistinct" DisplayName="supportsAggregatesDistinct" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsScalarSubqueries" DisplayName="supportsScalarSubqueries" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCorrelatedSubqueries" DisplayName="supportsCorrelatedSubqueries" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCaseExpressions" DisplayName="supportsCaseExpressions" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsSearchedCaseExpressions" DisplayName="supportsSearchedCaseExpressions" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsScalarFunctions" DisplayName="supportsScalarFunctions" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="getSupportedFunctions" DisplayName="getSupportedFunctions" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="string" IsExpert="true" />
+ <PropertyDefinition Name="supportsInlineViews" DisplayName="supportsInlineViews" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsOrderByInInlineViews" DisplayName="supportsOrderByInInlineViews" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsUnionOrderBy" DisplayName="supportsUnionOrderBy" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsUnions" DisplayName="supportsUnions" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="Configuration" ComponentTypeCode="0" Deployable="true" Deprecated="false" Monitorable="false" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.958-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.958-06:00">
+ <PropertyDefinition Name="vm.starter.timetolive" DisplayName="Process TTL (milliseconds)" ShortDescription="Process Time-to-live (TTL) for threads used to start services." DefaultValue="30000" IsRequired="true" />
+ <PropertyDefinition Name="metamatrix.transaction.log.storeMMCMD" DisplayName="Enable MetaMatrix Command Logging" ShortDescription="Determine whether MetaMatrix command information should be recorded" DefaultValue="false" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.buffer.relative.storageDirectory" DisplayName="Buffer Storage Directory" ShortDescription="The relative path to Host data directory where temporary files are stored." DefaultValue="/buffer" />
+ <PropertyDefinition Name="metamatrix.server.extensionTypesToCache" DisplayName="Types of Extension Modules to Cache" ShortDescription="Types of Extension Module files to cache in memory. Separate by commas. Allowed values: (Configuration Model,Function Definition,JAR File,VDB File)" DefaultValue="JAR File" IsRequired="true" />
+ <PropertyDefinition Name="metamatrix.buffer.processorBatchSize" DisplayName="Processor Batch Size (rows)" ShortDescription="The size of a batch sent within the query processor." DefaultValue="500" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.audit.fileFormat" DisplayName="File Auditing Destination format class" ShortDescription="Driver class name for the JDBC auditing destination" DefaultValue="com.metamatrix.security.audit.format.DelimitedAuditMessageFormat" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.buffer.maxOpenFiles" DisplayName="Max open storage files" ShortDescription="The maximum number of open file descriptors used by buffer management temp storage." DefaultValue="10" PropertyType="Integer" />
+ <PropertyDefinition Name="metamatrix.log.consoleFormat" DisplayName="Format class for console log messages" ShortDescription="The name of the class that is used to format the log messages sent to the console" DefaultValue="com.metamatrix.common.log.format.ReadableLogMessageFormat" IsHidden="true" />
+ <PropertyDefinition Name="metamatrix.audit.contexts" DisplayName="Audit Contexts to Exclude" ShortDescription="The contexts for audit messages that are NOT to be recorded" />
+ <PropertyDefinition Name="metamatrix.log.contexts" DisplayName="Logging Contexts to Exclude" ShortDescription="The contexts for log messages that are NOT to be recorded" IsHidden="true" />
+ <PropertyDefinition Name="metamatrix.encryption.internal.encryptAll" DisplayName="Encrypt All Internal Traffic" ShortDescription="Force the encryption of all internal traffic, not just the traffic to secure services." DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" RequiresRestart="true" />
+ <PropertyDefinition Name="metamatrix.audit.jdbcResourceDelim" DisplayName="JDBC Auditing Destination delimiter for resource names" ShortDescription="The delimiter that is used to separate resource names" DefaultValue="," IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.audit.jdbcMaxResourceLength" DisplayName="JDBC Context Destination maximum length for audit text" ShortDescription="The maximum length of the resource name used in audit messages. Required if JDBC audit destination is to be used." DefaultValue="4000" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.session.sessionMonitor.ActivityInterval" DisplayName="Session Monitoring Activity (minutes)" ShortDescription="How often sessions will be monitored to check for over-limit sessions and invalidate them." DefaultValue="5" PropertyType="Integer" IsExpert="true" RequiresRestart="all_processes" />
+ <PropertyDefinition Name="metamatrix.audit.jdbcTable" DisplayName="JDBC Auditing Destination table name" ShortDescription="The name of the table that auditing messages are to be written to. Required if JDBC audit destination is to be used" DefaultValue="LogEntries" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.log.size.monitor.mins" DisplayName="Log File Monitoring Interval (minutes)" ShortDescription="The time interval in minutes the log file size is monitored" DefaultValue="1000" IsRequired="true" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="metamatrix.log.jdbcMaxContextLength" DisplayName="JDBC Logging Destination maximum length for contexts" ShortDescription="The maximum length of all the disregarded log contexts in total" DefaultValue="64" PropertyType="Integer" />
+ <PropertyDefinition Name="metamatrix.log.jdbcTable" DisplayName="JDBC Logging Destination table name" ShortDescription="The table the logging information to be written to" DefaultValue="LOGENTRIES" />
+ <PropertyDefinition Name="metamatrix.transaction.log.storeSRCCMD" DisplayName="Enable Data Source Command Logging" ShortDescription="Determine whether source command information should be recorded" DefaultValue="false" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.audit.maxThreads" DisplayName="Auditing Maximum Thread Count" ShortDescription="The maximum number of auditing threads allowed" DefaultValue="4" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.log.maxRows" DisplayName="JDBC Logging maximum number of rows returned" ShortDescription="The maximum number of rows returned" DefaultValue="2500" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.encryption.secure.sockets" DisplayName="Secure Sockets Enabled" ShortDescription="Determines whether the Secure Sockets are enabled, configuration is done from the SSL Resource" DefaultValue="false" IsRequired="true" PropertyType="Boolean" RequiresRestart="true" />
+ <PropertyDefinition Name="metamatrix.encryption.internal.authenticationMode" DisplayName="Internal Authentication Mode" ShortDescription="Sets the internal SSL authentication mode if internal SSL is enabled." DefaultValue="2-way" IsRequired="true" IsExpert="true" RequiresRestart="true">
+ <AllowedValue>anonymous</AllowedValue>
+ <AllowedValue>1-way</AllowedValue>
+ <AllowedValue>2-way</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="metamatrix.audit.console" DisplayName="Standard-Out Audit Destination" ShortDescription="True if the audit messages are to be sent to standard out for a VM" DefaultValue="false" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.buffer.maxFileSize" DisplayName="Max buffer file size (megabytes)" ShortDescription="The maximum size (in megabytes) that a buffer file is allowed to reach before creating spill files." DefaultValue="2048" PropertyType="Integer" />
+ <PropertyDefinition Name="metamatrix.server.commandLoggerClassname" DisplayName="Command Logger service provider classname" ShortDescription="The fully-qualified classname of the CommandLoggerSPI implementation to be used by Tracking Service." IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.log.jdbcDatabase.enabled" DisplayName="JDBC Logging Destination Enabled" ShortDescription="If enabled, then log to the jdbc destination." DefaultValue="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.buffer.managementInterval" DisplayName="Buffer Management Interval (milliseconds)" ShortDescription="The period between checking whether active memory cleanup should occur." DefaultValue="1000" PropertyType="Integer" />
+ <PropertyDefinition Name="metamatrix.encryption.client" DisplayName="Client Side Password Encryption Enabled" ShortDescription="Determines whether the client side jce provider encryption will be performed" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.log" DisplayName="Logging Level" ShortDescription="The level at which logging will occur" DefaultValue="5" IsRequired="true" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="metamatrix.encryption.internal.secure.sockets" DisplayName="Internal Secure Sockets Enabled" ShortDescription="Enable the use of SSL of RMI and HostController communication." DefaultValue="true" IsRequired="true" PropertyType="Boolean" IsExpert="true" RequiresRestart="true" />
+ <PropertyDefinition Name="metamatrix.audit.fileAppend" DisplayName="File Auditing Destination append" ShortDescription="Determines whether or not the audit destination file will be appended or overwritten" DefaultValue="false" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.audit.file" DisplayName="File Auditing Destination filename" ShortDescription="The name of the file that is the audit message destination. If blank or not provided, audit messages are not sent to a file destination" />
+ <PropertyDefinition Name="metamatrix.buffer.connectorBatchSize" DisplayName="Connector Batch Size (rows)" ShortDescription="The size of a batch sent between connector and query service." DefaultValue="1000" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.buffer.logStatsInterval" DisplayName="Buffer Log Stat Interval (milliseconds)" ShortDescription="The period between writing buffer management statistics to the log, used primarily for debugging." DefaultValue="0" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.audit.enabled" DisplayName="Auditing Enabled" ShortDescription="Determines whether auditing will be performed" DefaultValue="false" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.authorization.metabase.CheckingEnabled" DisplayName="MetaBase Authorization Enabled" ShortDescription="Determines whether MetaBase authorization (Entitlements) will be checked" DefaultValue="false" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.authorization.dataaccess.CheckingEnabled" DisplayName="Data Access Authorization Enabled" ShortDescription="Determines whether authorization (Entitlements) will be checked" DefaultValue="false" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.encryption.jce.provider" DisplayName="JCE Encryption Provider" ShortDescription="Indicates the jce encryption provider" DefaultValue="org.bouncycastle.jce.provider.BouncyCastleProvider" IsRequired="true" IsHidden="true" IsModifiable="false" />
+ <PropertyDefinition Name="metamatrix.audit.jdbcMaxContextLength" DisplayName="JDBC Auditing Destination maximum length for contexts" ShortDescription="The maximum length of the list of disregarded audit contexts. Required if JDBC audit destination is to be used." DefaultValue="64" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.server.cacheConnectorClassLoaders" DisplayName="Cache ClassLoaders for Connectors" ShortDescription="Determine whether to cache ClassLoaders in memory, for connectors that have the same classpath" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="metamatrix.extension.CommonClasspath" DisplayName="Common Extension Classpath" ShortDescription="Semicolon-delimited list of URLs to define extension classpath. This path will be used to load UDFs, connectors, membershipdomain etc. Extension module URLs are of the form 'extensionjar:jarfilename.jar'" DefaultValue="" IsRequired="true" />
+ <PropertyDefinition Name="metamatrix.server.serviceMonitorInterval" DisplayName="Connector Data Source Monitoring Interval (seconds)" ShortDescription="How often to ask connectors whether the underlying data source is available. Note that underlying connector implementation may not ping the actual data source every time it is asked, for performance reasons." DefaultValue="60" PropertyType="Integer" />
+ <PropertyDefinition Name="metamatrix.log.size.limit.kbs" DisplayName="Log File Size Limit (kilobytes)" ShortDescription="Maximum log file size at which it will be swapped." DefaultValue="1000" IsRequired="true" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="vm.starter.maxThreads" DisplayName="Service Starter Maximum Thread Count" ShortDescription="The maximum number of threads used to start services." DefaultValue="5" IsRequired="true" />
+ <PropertyDefinition Name="metamatrix.log.jdbcMaxLength" DisplayName="JDBC Logging Destination maximum length for log messages" ShortDescription="The maximum length of the text that is logged" DefaultValue="2000" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.deployment.platform" DisplayName="Platform Type" ShortDescription="This property indicates the type of server platform which the Integration Server is running on" DefaultValue="standalone" IsRequired="true" IsExpert="true" IsHidden="true" IsModifiable="false" />
+ <PropertyDefinition Name="metamatrix.log.captureSystemErr" DisplayName="Capture standard error to the logs" ShortDescription="True if the standard error is to be captured as log messages" DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.log.jdbcMaxExceptionLength" DisplayName="JDBC Logging Destination maximum length for exception text" ShortDescription="The maximum length of the text that is logged as an exception" DefaultValue="4000" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.session.time.limit" DisplayName="Max Session Time Limit (minutes)" ShortDescription="Max connection time limit as a system property, forcibly terminate any connection that exceeds that limit, default would be no limit." DefaultValue="0" PropertyType="Integer" RequiresRestart="all_processes" />
+ <PropertyDefinition Name="metamatrix.server.procDebug" DisplayName="Enable Processor Data Debugging" ShortDescription="Determine whether to dump all data batches to the server log when using OPTION DEBUG" DefaultValue="false" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.buffer.sessionUsePercentage" DisplayName="Session Memory Usage Limit (%)" ShortDescription="The maximum percentage of buffer memory that a may be used by a session." DefaultValue="80" PropertyType="Integer" />
+ <PropertyDefinition Name="metamatrix.buffer.memoryAvailable" DisplayName="Buffer Memory Available (megabytes)" ShortDescription="Amount of memory, in megabytes, to use as buffer management memory in each process." DefaultValue="500" PropertyType="Integer" />
+ <PropertyDefinition Name="metamatrix.audit.threadTTL" DisplayName="Auditing Thread Time-To-Live (TTL) (milliseconds)" ShortDescription="The maximum time (in milliseconds) that a auditing thread is allowed to live" DefaultValue="300000" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.audit.consoleFormat" DisplayName="Standard-Out Audit Destination format class" ShortDescription="The name of the class that is used to format the audit messages sent to the console" DefaultValue="com.metamatrix.security.audit.format.ReadableAuditMessageFormat" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.server.metadata.systemURL" DisplayName="System VDB URL" ShortDescription="The URL identifies the System VDB" DefaultValue="extensionjar:System.vdb" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.session.max.connections" DisplayName="Max Number of Sessions" ShortDescription="Max Number of Sessions allowed to connect to Integration Server (reject any connection requests beyond that limit, default would be no limit)" DefaultValue="0" PropertyType="Integer" RequiresRestart="all_processes" />
+ <PropertyDefinition Name="metamatrix.server.streamingBatchSize" DisplayName="Streaming Batch Size (kilobytes)" ShortDescription="The clob, blob and XML streaming batch size in kilobytes" DefaultValue="100" PropertyType="Integer" />
+ <PropertyDefinition Name="metamatrix.log.captureSystemOut" DisplayName="Capture standard out to the logs" ShortDescription="True if the standard out is to be captured as log messages" DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.log.console" DisplayName="Send log messages to standard out" ShortDescription="True if the log messages are to be sent to standard out for a VM" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsHidden="true" />
+ <PropertyDefinition Name="metamatrix.audit.jdbcDatabase" DisplayName="JDBC Auditing Destination Enabled" ShortDescription="If auditing enabled, then record to the jdbc destination." DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.buffer.activeMemoryThreshold" DisplayName="Buffer Active Memory Threshold (%)" ShortDescription="The percentage of buffer management memory that serves as a threshold for active memory management." DefaultValue="90" PropertyType="Integer" />
+ </ComponentType>
+ <ComponentType Name="LDAP Membership Domain Provider" ComponentTypeCode="11" Deployable="false" Deprecated="false" Monitorable="false" SuperComponentType="ResourceType" ParentComponentType="Platform" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.947-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.947-06:00">
+ <PropertyDefinition Name="users.displayName.attribute" DisplayName="Users DisplayName Attribute" ShortDescription="The attribute(s) that uniquely identifies a user." DefaultValue="uid" IsExpert="true" />
+ <PropertyDefinition Name="users.searchFilter" DisplayName="Users SearchFilter" ShortDescription="The search filter(s) to apply to each users root context." DefaultValue="(objectclass=*)" IsExpert="true" />
+ <PropertyDefinition Name="users.rootContext" DisplayName="Users RootContext" ShortDescription="Specifies the context(s) to use when searching for users." IsRequired="true" />
+ <PropertyDefinition Name="ldapAdmin.dn" DisplayName="Admin DN" ShortDescription="Bind account DN for group lookup." />
+ <PropertyDefinition Name="users.memberOf.attribute" DisplayName="Users Memberof Attribute" ShortDescription="Attribute(s) that appears on each user that identifies group membership." />
+ <PropertyDefinition Name="groups.displayName.attribute" DisplayName="Groups DisplayName Attribute" ShortDescription="The attribute(s) that uniquely identifies a group." IsExpert="true" />
+ <PropertyDefinition Name="users.searchScope" DisplayName="Users SearchScope" ShortDescription="How far down the directory tree to search each users root context." DefaultValue="SUBTREE_SCOPE" IsExpert="true" />
+ <PropertyDefinition Name="groups.rootContext" DisplayName="Groups RootContext" ShortDescription="Specifies the context(s) to use when searching for groups." IsRequired="true" />
+ <PropertyDefinition Name="activate" DisplayName="Enabled" ShortDescription="" DefaultValue="true" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="AuthDomainClass" DisplayName="Membership Domain Class Name" ShortDescription="" DefaultValue="com.metamatrix.platform.security.membership.spi.ldap.LDAPMembershipDomain" IsRequired="true" IsHidden="true" />
+ <PropertyDefinition Name="groups.searchFilter" DisplayName="Groups SearchFilter" ShortDescription="The search filter(s) to apply to each groups root context." DefaultValue="(objectclass=*)" IsExpert="true" />
+ <PropertyDefinition Name="groups.searchScope" DisplayName="Groups SearchScope" ShortDescription="How far down the directory tree to search each groups root context." DefaultValue="SUBTREE_SCOPE" IsExpert="true" />
+ <PropertyDefinition Name="txnTimeoutInMillis" DisplayName="Txn Timeout(ms)" ShortDescription="Time to wait for LDAP operations to complete." IsExpert="true" />
+ <PropertyDefinition Name="groups.groupMember.attribute" DisplayName="Groups GroupMember Attribute" ShortDescription="The attribute(s) that contains the members of the group." />
+ <PropertyDefinition Name="ldapURL" DisplayName="LDAP URL" ShortDescription="Full LDAP URL" IsRequired="true" />
+ <PropertyDefinition Name="ldapAdmin.password" DisplayName="Admin Password" ShortDescription="Bind account password for group lookup." IsMasked="true" />
+ </ComponentType>
+ <ComponentType Name="Custom Membership Domain Provider" ComponentTypeCode="11" Deployable="false" Deprecated="false" Monitorable="false" SuperComponentType="ResourceType" ParentComponentType="Platform" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.947-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.947-06:00">
+ <PropertyDefinition Name="activate" DisplayName="Enabled" ShortDescription="" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="AuthDomainClass" DisplayName="Membership Domain Class Name" ShortDescription="Full class name of the Membership Domain." IsRequired="true" />
+ <PropertyDefinition Name="propertiesFile" DisplayName="Properties File" ShortDescription="Location of the properties file for this Membership Domain." IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="JDBC Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.952-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.952-06:00">
+ <PropertyDefinition Name="ConnectorClassPath" DisplayName="Class Path" ShortDescription="" />
+ <PropertyDefinition Name="ConnectorTypeClassPath" DisplayName="Connector Type Class Path" ShortDescription="Connector Type classpath (defined by system, do not modify)" DefaultValue="extensionjar:connector_patch.jar;extensionjar:connector-jdbc-6.1.0-SNAPSHOT.jar;" IsExpert="true"/>
+ <PropertyDefinition Name="UseBindVariables" DisplayName="Use prepared statements and bind variables" ShortDescription="" DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="ExtensionCapabilityClass" DisplayName="Extension Capability Class" ShortDescription="" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.JDBCConnector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="DatabaseTimeZone" DisplayName="Database time zone" ShortDescription="Time zone of the database, if different than Integration Server" IsExpert="true" />
+ <PropertyDefinition Name="TransactionIsolationLevel" DisplayName="Transaction Isolation Level" ShortDescription="Set the data source transaction isolation level" DefaultValue="" IsExpert="true" >
+ <AllowedValue>TRANSACTION_READ_UNCOMMITTED</AllowedValue>
+ <AllowedValue>TRANSACTION_READ_COMMITTED</AllowedValue>
+ <AllowedValue>TRANSACTION_SERIALIZABLE</AllowedValue>
+ <AllowedValue>TRANSACTION_NONE</AllowedValue>
+ <AllowedValue></AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="Password" DisplayName="Password" ShortDescription="" IsMasked="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:<protocol>:<url>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.translator.Translator" IsExpert="true" />
+ <PropertyDefinition Name="SetCriteriaBatchSize" DisplayName="Max Values in IN Predicate" ShortDescription="Max number of values in an IN Predicate. Must be >= 0." DefaultValue="1000" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" IsRequired="true" />
+ <PropertyDefinition Name="User" DisplayName="User Name" ShortDescription="" />
+ <PropertyDefinition Name="TrimStrings" DisplayName="Trim string flag" ShortDescription="Right Trim fixed character types returned as Strings" DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="false" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="UseCommentsInSourceQuery" DisplayName="Use informational comments in Source Queries" ShortDescription="This will embed /*comment*/ style comment with session/request id in source SQL query for informational purposes" DefaultValue="false" PropertyType="Boolean" IsExpert="true"/>
+ <PropertyDefinition Name="ResultSetCacheEnabled" DisplayName="ResultSet Cache Enabled" ShortDescription="" DefaultValue="false" PropertyType="Boolean" IsExpert="true" IsMasked="false" />
+ <PropertyDefinition Name="ResultSetCacheMaxSize" DisplayName="ResultSet Cache Maximum Size (megabytes)" ShortDescription="" DefaultValue="0" PropertyType="Integer" IsExpert="true" IsMasked="false" />
+
+ </ComponentType>
+
+ <ComponentType Name="Apache Derby Embedded Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.941-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.941-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="org.apache.derby.jdbc.EmbeddedDataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:derby:<databaseName>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.derby.DerbySQLTranslator" IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="Apache Derby Network Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.942-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.942-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="org.apache.derby.jdbc.ClientDriver" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:derby:<databaseName>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.derby.DerbySQLTranslator" IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="MS Access Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.954-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.954-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="sun.jdbc.odbc.JdbcOdbcDriver" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=<data-source-name>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.access.AccessSQLTranslator" IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="MS Excel Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2006-02-08T11:02:36.029-06:00" CreatedBy="ConfigurationStartup" CreationDate="2006-02-08T11:02:36.029-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="sun.jdbc.odbc.JdbcOdbcDriver" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:odbc:Driver={MicroSoft Excel Driver (*.xls)};DBQ=<filePathToExcelFile>" IsRequired="true" />
+ </ComponentType>
+ <ComponentType Name="MySQL 4 Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.938-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.938-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="com.mysql.jdbc.jdbc2.optional.MysqlXADataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:mysql://<host>:3306/<databaseName>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.mysql.MySQLTranslator" IsExpert="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ </ComponentType>
+ <ComponentType Name="PostgreSQL 8 Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.940-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.940-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="org.postgresql.xa.PGXADataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:postgresql://<host>:5432;DatabaseName=/<databaseName>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.postgresql.PostgreSQLTranslator" IsExpert="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ </ComponentType>
+ <ComponentType Name="Teiid JDBC 6 Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="metamatrixadmin" LastChangedDate="2005-07-26T14:34:20.960-06:00" CreatedBy="metamatrixadmin" CreationDate="2005-07-26T14:34:20.960-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="com.metamatrix.jdbc.MMDataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:metamatrix:<vdbName>@mm://<host>:<port>" IsRequired="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ </ComponentType>
+ <ComponentType Name="JDBC ODBC Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.953-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.953-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="sun.jdbc.odbc.JdbcOdbcDriver" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:odbc:<data-source-name>[;UID=<xxx> ;PWD=<xxx>]" IsRequired="true" />
+ </ComponentType>
+ <ComponentType Name="Datadirect DB2 8 Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.928-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.928-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="com.metamatrix.jdbcx.db2.DB2DataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:mmx:db2://<host>:50000;DatabaseName=<databasename>;CollectionID=<collectionid>;PackageName=<packagename>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.db2.DB2SQLTranslator" IsExpert="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ </ComponentType>
+ <ComponentType Name="Datadirect Oracle 9 Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.923-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.923-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="com.metamatrix.jdbcx.oracle.OracleDataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:mmx:oracle://<host>:1521;SID=<sid>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.oracle.OracleSQLTranslator" IsExpert="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ </ComponentType>
+ <ComponentType Name="Datadirect SQL Server 2003 Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.935-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.935-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="com.metamatrix.jdbcx.sqlserver.SQLServerDataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:mmx:sqlserver://<host>:1433;DatabaseName=<databasename>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.sqlserver.SqlServerSQLTranslator" IsExpert="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ </ComponentType>
+ <ComponentType Name="Datadirect Sybase 12 Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.930-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.930-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="com.metamatrix.jdbcx.sybase.SybaseDataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:mmx:sybase://<host>:5000;DatabaseName=<databasename>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.sybase.SybaseSQLTranslator" IsExpert="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="SetCriteriaBatchSize" DisplayName="Max Values in IN Predicate" ShortDescription="Max number of values in an IN Predicate. Must be >= 0." DefaultValue="250" PropertyType="Integer" IsExpert="true" />
+ </ComponentType> <ComponentType Name="LDAP Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.946-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.946-06:00">
+ <PropertyDefinition Name="ConnectorClassPath" DisplayName="Class Path" ShortDescription="" />
+ <PropertyDefinition Name="ConnectorTypeClassPath" DisplayName="Connector Type Class Path" ShortDescription="Connector Type classpath (defined by system, do not modify)" DefaultValue="extensionjar:connector_patch.jar;extensionjar:connector-ldap-6.1.0-SNAPSHOT.jar;" IsExpert="true"/>
+ <PropertyDefinition Name="SearchDefaultBaseDN" DisplayName="Default Search Base DN" ShortDescription="Default Base DN for LDAP Searches" IsExpert="true" />
+ <PropertyDefinition Name="com.metamatrix.data.pool.cleaning_interval" DisplayName="Pool cleaning Interval (seconds)" ShortDescription="Set the interval to cleaning the pool" DefaultValue="300" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="LdapAdminUserDN" DisplayName="Ldap Admin User DN" ShortDescription="User DN for the LDAP admin account." DefaultValue="cn=<>,ou=<>,dc=<>" IsRequired="true" />
+ <PropertyDefinition Name="Standard" DisplayName="Standard Type" ShortDescription="Standard Built-in Connector Type" DefaultValue="true" PropertyType="Boolean" IsExpert="true" IsModifiable="false" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.ldap.LDAPConnector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="LdapMaxCriteria" DisplayName="Ldap Max Criteria" ShortDescription="Maximum number of criteria supported in an LDAP search filter." DefaultValue="1000" IsRequired="true" />
+ <PropertyDefinition Name="LdapAdminUserPassword" DisplayName="Ldap Admin Password" ShortDescription="Password of the LDAP admin user account." IsRequired="true" IsMasked="true" />
+ <PropertyDefinition Name="SearchDefaultScope" DisplayName="Default Search Scope" ShortDescription="Default Scope for LDAP Searches" DefaultValue="SUBTREE_SCOPE" IsRequired="true">
+ <AllowedValue>OBJECT_SCOPE</AllowedValue>
+ <AllowedValue>ONELEVEL_SCOPE</AllowedValue>
+ <AllowedValue>SUBTREE_SCOPE</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="RestrictToObjectClass" DisplayName="Restrict Searches To Named Object Class" ShortDescription="Restrict Searches to objectClass named in the Name field for a table" DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="com.metamatrix.data.pool.max_connections" DisplayName="Pool Maximum Connections" ShortDescription="Set the maximum number of connections for the connection pool" DefaultValue="100" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="LdapTxnTimeoutInMillis" DisplayName="Ldap Transaction Timeout (ms)" ShortDescription="Timeout value for LDAP searches. Defaults to TCP timeout value." />
+ <PropertyDefinition Name="com.metamatrix.data.pool.wait_for_source_time" DisplayName="Pool Connection Waiting Time (milliseconds)" ShortDescription="Set the time to wait if the connection is not available" DefaultValue="60000" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="LdapUrl" DisplayName="Ldap URL" ShortDescription="Ldap URL of the server, including port number." DefaultValue="ldap://<ldapServer>:<389>" IsRequired="true" />
+ <PropertyDefinition Name="com.metamatrix.data.pool.live_and_unused_time" DisplayName="Pool Connection Idle Time (seconds)" ShortDescription="Set the idle time of the connection before it should be closed if pool shrinking is enabled" DefaultValue="300" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="com.metamatrix.data.pool.enable_shrinking" DisplayName="Pool Shrinking Enabled" ShortDescription="Set whether to enable the pool shrinking" DefaultValue="true" PropertyType="Boolean" IsExpert="true" />
+ </ComponentType> <ComponentType Name="Loopback Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.945-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.945-06:00">
+ <PropertyDefinition Name="ConnectorClassPath" DisplayName="Class Path" ShortDescription="" />
+ <PropertyDefinition Name="ConnectorTypeClassPath" DisplayName="Connector Type Class Path" ShortDescription="Connector Type classpath (defined by system, do not modify)" DefaultValue="extensionjar:connector_patch.jar;extensionjar:connector-loopback-6.1.0-SNAPSHOT.jar;" IsExpert="true"/>
+ <PropertyDefinition Name="CapabilitiesClass" DisplayName="Capabilities Class" ShortDescription="" DefaultValue="com.metamatrix.connector.loopback.LoopbackCapabilities" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="WaitTime" DisplayName="Max Random Wait Time" ShortDescription="" DefaultValue="0" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.loopback.LoopbackConnector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="RowCount" DisplayName="Rows Per Query" ShortDescription="" DefaultValue="1" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="Standard" DisplayName="Standard Type" ShortDescription="Standard Built-in Connector Type" DefaultValue="true" PropertyType="Boolean" IsExpert="true" IsModifiable="false" />
+ </ComponentType> <ComponentType Name="Salesforce Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Connector" ParentComponentType="Connectors" LastChangedDate="2008-10-31T10:26:19.916-06:00" CreationDate="2008-10-31T10:26:19.916-06:00">
+ <PropertyDefinition Name="ConnectorClassPath" DisplayName="Class Path" ShortDescription="" />
+ <PropertyDefinition Name="ConnectorTypeClassPath" DisplayName="Connector Type Class Path" ShortDescription="Connector Type classpath (defined by system, do not modify)" DefaultValue="extensionjar:connector_patch.jar;extensionjar:connector-salesforce-6.1.0-SNAPSHOT.jar;extension:commons-codec-1.2.jar;extension:commons-discovery-0.2.jar;extension:commons-httpclient-3.0.1.jar;extension:xmlsec-1.3.0.jar;extension:axis-1.3.jar;extension:axis-jaxrpc-1.3.jar;extension:axis-saaj-1.2.jar;extension:axis-schema-1.3.jar;extension:commons-discovery-0.2.jar;extension:commons-logging-1.1.jar;extension:jms-1.1.jar;extension:servlet-api-2.5.jar;extension:jaxen-1.1.1.jar;extension:jdom-1.0.jar;extension:log4j-1.2.8.jar;extension:opensaml-1.1b.jar;extension:salesforce-api-6.1.0-SNAPSHOT.jar;extension:wsdl4j-1.5.1.jar;extension:wss4j-1.5.0.jar;extension:xalan-2.7.0.jar;extension:xml-apis-1.0.b2.jar" IsExpert="true"/>
+ <PropertyDefinition Name="username" DisplayName="User Name" ShortDescription="Name value for Salesforce authentication" DefaultValue="" IsRequired="true" />
+ <PropertyDefinition Name="ConnectorStateClass" DisplayName="Connector State Class" ShortDescription="" DefaultValue="com.metamatrix.connector.salesforce.ConnectorState" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="Standard" DisplayName="Standard Type" ShortDescription="Standard Built-in Connector Type" DefaultValue="true" PropertyType="Boolean" IsExpert="true" IsModifiable="false" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.salesforce.Connector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="InLimit" DisplayName="IN Criteria Limit" ShortDescription="The maximum number of values that can be supplied in an IN criteria" DefaultValue="-1" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="password" DisplayName="Password" ShortDescription="Password value for Salesforce authentication" DefaultValue="" IsRequired="true" IsMasked="true" />
+ <PropertyDefinition Name="URL" DisplayName="Salesforce URL" ShortDescription="URL for connecting to Salesforce" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorCapabilities" DisplayName="Connector Capabilities Class" ShortDescription="The class to use to provide the Connector Capabilities" DefaultValue="com.metamatrix.connector.salesforce.SalesforceCapabilities" IsExpert="true" />
+ </ComponentType> <ComponentType Name="Text File Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.945-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.945-06:00">
+ <PropertyDefinition Name="ConnectorClassPath" DisplayName="Class Path" ShortDescription="" />
+ <PropertyDefinition Name="ConnectorTypeClassPath" DisplayName="Connector Type Class Path" ShortDescription="Connector Type classpath (defined by system, do not modify)" DefaultValue="extensionjar:connector_patch.jar;extensionjar:connector-text-6.1.0-SNAPSHOT.jar;" IsExpert="true"/>
+ <PropertyDefinition Name="PartialStartupAllowed" DisplayName="Partial Startup Allowed" ShortDescription="" DefaultValue="true" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="Standard" DisplayName="Standard Type" ShortDescription="Standard Built-in Connector Type" DefaultValue="true" PropertyType="Boolean" IsExpert="true" IsModifiable="false" />
+ <PropertyDefinition Name="DescriptorFile" DisplayName="Text File Descriptor" ShortDescription="" IsRequired="true" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.text.TextConnector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="EnforceColumnCount" DisplayName="Enforce Column Count" ShortDescription="This forces the number of columns in text file to match what was modeled" DefaultValue="false" PropertyType="Boolean" />
+ <PropertyDefinition Name="DateResultFormatsDelimiter" DisplayName="Date Result Formats Delimiter" ShortDescription="" IsExpert="true" />
+ <PropertyDefinition Name="DateResultFormats" DisplayName="Date Result Formats" ShortDescription="" IsExpert="true" />
+ </ComponentType> <ComponentType Name="XML Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Connector" ParentComponentType="Connectors" LastChangedDate="2008-10-31T10:26:19.917-06:00" CreationDate="2008-10-31T10:26:19.917-06:00">
+ <PropertyDefinition Name="ConnectorClassPath" DisplayName="Class Path" ShortDescription="" />
+ <PropertyDefinition Name="ConnectorTypeClassPath" DisplayName="Connector Type Class Path" ShortDescription="Connector Type classpath (defined by system, do not modify)" DefaultValue="extensionjar:connector_patch.jar;extensionjar:connector-xml-6.1.0-SNAPSHOT.jar;extension:commons-codec-1.2.jar;extension:commons-discovery-0.2.jar;extension:commons-httpclient-3.0.1.jar;extension:xmlsec-1.3.0.jar;extension:axis-1.3.jar;extension:axis-jaxrpc-1.3.jar;extension:axis-saaj-1.2.jar;extension:axis-schema-1.3.jar;extension:commons-discovery-0.2.jar;extension:commons-logging-1.1.jar;extension:jms-1.1.jar;extension:servlet-api-2.5.jar;extension:jaxen-1.1.1.jar;extension:jdom-1.0.jar;extension:log4j-1.2.8.jar;extension:opensaml-1.1b.jar;extension:wsdl4j-1.5.1.jar;extension:wss4j-1.5.0.jar;extension:xalan-2.7.0.jar;extension:xml-apis-1.0.b2.jar" IsExpert="true"/>
+ </ComponentType>
+
+ <ComponentType Name="XML File Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="XML Connector" ParentComponentType="Connectors" LastChangedDate="2008-10-31T10:26:19.917-06:00" CreationDate="2008-10-31T10:26:19.917-06:00">
+ <PropertyDefinition Name="CharacterEncodingScheme" DisplayName="File Encoding Used" ShortDescription="A character-encoding scheme is a mapping between a coded character set and a set of octet (eight-bit byte) sequences. Some samples are UTF-8,ISO-8859-1,UTF-16)" DefaultValue="ISO-8859-1" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.xmlsource.XMLSourceConnector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="ConnectionType" DisplayName="Type Of XML Connection" ShortDescription="Connection type used to get the XML data" DefaultValue="com.metamatrix.connector.xmlsource.file.FileConnection" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="Standard" DisplayName="Standard Type" ShortDescription="Standard Built-in Connector Type" DefaultValue="true" PropertyType="Boolean" IsExpert="true" IsModifiable="false" />
+ <PropertyDefinition Name="DirectoryLocation" DisplayName="XML File(s) Directory Location" ShortDescription="" DefaultValue="" IsRequired="true" />
+ </ComponentType>
+ <ComponentType Name="XML SOAP Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="XML Connector" ParentComponentType="Connectors" LastChangedDate="2008-10-31T10:26:19.917-06:00" CreationDate="2008-10-31T10:26:19.917-06:00">
+ <PropertyDefinition Name="AuthPassword" DisplayName="Authentication User Password" ShortDescription="Password value for authentication" DefaultValue="" IsExpert="true" IsMasked="true" />
+ <PropertyDefinition Name="SAMLPropertyFile" DisplayName="SAML Property File (only required when SAML profile used)" ShortDescription="SAML Security property file (saml.properties)" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="Standard" DisplayName="Standard Type" ShortDescription="Standard Built-in Connector Type" DefaultValue="true" PropertyType="Boolean" IsExpert="true" IsModifiable="false" />
+ <PropertyDefinition Name="wsdl" DisplayName="WSDL File (URL)" ShortDescription="URL to Web Service Definition File" DefaultValue="" IsRequired="true" />
+ <PropertyDefinition Name="AuthUserName" DisplayName="Authentication User Name" ShortDescription="Name value for authentication" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="WSSecurityType" DisplayName="WS-Security Type(UsernameToken, SAML..)" ShortDescription="Type of WS-Security to be used; Combinations of multiple security types can be used with a space in-between. Allowed types are: (UsernameToken, UsernameToken-Digest, SAMLTokenUnsigned, SAMLTokenSigned, Signature, Timestamp, Encrypt)" DefaultValue="" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.xmlsource.XMLSourceConnector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="EncryptUserName" DisplayName="Encrypt UserName (only if Encrypt profile used)" ShortDescription="The username to be used in the encryption; if blank uses auth username" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="EndPoint" DisplayName="Alternate End Point" ShortDescription="An alternate service endpoint other than one specified in WSDL, to execute the service" DefaultValue="" />
+ <PropertyDefinition Name="SecurityType" DisplayName="WebService Security Used(None, HTTPBasic, WS-Security)" ShortDescription="Type of Authentication to used with the web service; If WS-Secuirty is being used, then WS-Secuirty type must be defined" DefaultValue="None" IsRequired="true" />
+ <PropertyDefinition Name="CryptoPropertyFile" DisplayName="User Crypto Property File (If SAML or Signature profile used)" ShortDescription="The file defines properties of cryptography;defines the certificates;(crypto.properties)" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="ConnectionType" DisplayName="Type Of XML Connection" ShortDescription="Connection type used to get the XML data" DefaultValue="com.metamatrix.connector.xmlsource.soap.SoapConnection" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="EncryptPropertyFile" DisplayName="Encrypt crypto property file (only if Encrypt profile used)" ShortDescription="The file defines properties of cryptography for encryption of the message;(crypto.properties)" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="TrustType" DisplayName="Trust Type:(DirectReference or IssuerSerial)" ShortDescription="Only required for Signature and Signed SAML; The issuer-serial method presumes that all trusted users of the service are known to the service and have pre-registered their certificate chains before using the service. The direct-reference method presumes that the service operator trusts all users with certificates issued by a trusted CA." DefaultValue="DirectReference" IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="XML-Relational File Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="XML Connector" ParentComponentType="Connectors" LastChangedDate="2008-10-31T10:26:19.918-06:00" CreationDate="2008-10-31T10:26:19.918-06:00">
+ <PropertyDefinition Name="TextExtractionThreshold" DisplayName="Text Extraction Threshold (in kb)" ShortDescription="extract text sections larger than this size to a file where more efficient access as a CLOB can be effected." DefaultValue="128" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="FilePath" DisplayName="File Path" ShortDescription="" IsRequired="true" />
+ <PropertyDefinition Name="Standard" DisplayName="Standard Type" ShortDescription="Standard Built-in Connector Type" DefaultValue="true" PropertyType="Boolean" IsExpert="true" IsModifiable="false" />
+ <PropertyDefinition Name="FileCacheLocation" DisplayName="Location of the File Cache" ShortDescription="" DefaultValue="" />
+ <PropertyDefinition Name="CacheTimeout" DisplayName="Cache Timeout (in seconds)" ShortDescription="" DefaultValue="60" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="SaxFilterProviderClass" DisplayName="XML Filter Provider" ShortDescription="The class the provides extended XML Filters" DefaultValue="com.metamatrix.connector.xml.base.NoExtendedFilters" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.xml.base.XMLConnector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="MaxFileCacheSize" DisplayName="Max Size of file cache (in kb)" ShortDescription="" DefaultValue="-1" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="ConnectorStateClass" DisplayName="Connector State Class" ShortDescription="" DefaultValue="com.metamatrix.connector.xml.file.FileConnectorState" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="LogRequestResponseDocs" DisplayName="Log XML Request and Response Documents" ShortDescription="Write the request and response documents to the log at Info level" DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="InputStreamFilterClass" DisplayName="Input Stream Filter Class" ShortDescription="The class to use to preprocess raw XML input stream" DefaultValue="com.metamatrix.connector.xml.base.PluggableInputStreamFilterImpl" IsExpert="true" />
+ <PropertyDefinition Name="MaxMemoryCacheSize" DisplayName="Max Size of in-memory cache (in kb)" ShortDescription="" DefaultValue="16384" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="FileName" DisplayName="File Name" ShortDescription="" DefaultValue="" />
+ <PropertyDefinition Name="QueryPreprocessorClass" DisplayName="Query Preprocessor Class" ShortDescription="The class to use to preprocess the IQuery" DefaultValue="com.metamatrix.connector.xml.base.NoQueryPreprocessing" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorCapabilities" DisplayName="Connector Capabilities Class" ShortDescription="The class to use to provide the Connector Capabilities" DefaultValue="com.metamatrix.connector.xml.base.XMLCapabilities" IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="XML-Relational HTTP Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="XML Connector" ParentComponentType="Connectors" LastChangedDate="2008-10-31T10:26:19.920-06:00" CreationDate="2008-10-31T10:26:19.921-06:00">
+ <PropertyDefinition Name="TextExtractionThreshold" DisplayName="Text Extraction Threshold (in kb)" ShortDescription="Extract text sections larger than this size to a file where more efficient access as a CLOB can be effected." DefaultValue="128" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="FileCacheLocation" DisplayName="Location of the File Cache" ShortDescription="" DefaultValue="" />
+ <PropertyDefinition Name="CacheTimeout" DisplayName="Cache Timeout (in seconds)" ShortDescription="" DefaultValue="60" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="SaxFilterProviderClass" DisplayName="XML Filter Provider" ShortDescription="The class the provides extended XML Filters" DefaultValue="com.metamatrix.connector.xml.base.NoExtendedFilters" IsExpert="true" />
+ <PropertyDefinition Name="XMLParmName" DisplayName="XML Parameter Name" ShortDescription="" />
+ <PropertyDefinition Name="RequestTimeout" DisplayName="Request Timeout (in Milliseconds)" ShortDescription="" DefaultValue="10000" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="MaxFileCacheSize" DisplayName="Max Size of file cache (in kb)" ShortDescription="" DefaultValue="-1" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="Authenticate" DisplayName="Authentication Required" ShortDescription="" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsHidden="true" />
+ <PropertyDefinition Name="ConnectorStateClass" DisplayName="Connector State Class" ShortDescription="" DefaultValue="com.metamatrix.connector.xml.http.HTTPConnectorState" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="HttpBasicAuthPassword" DisplayName="HTTP Basic Authentication Password" ShortDescription="Password value for HTTP basic authentication" DefaultValue="" IsExpert="true" IsMasked="true" />
+ <PropertyDefinition Name="AccessMethod" DisplayName="Access Method" ShortDescription="" DefaultValue="get" IsRequired="true">
+ <AllowedValue>get</AllowedValue>
+ <AllowedValue>post</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="ProxyUri" DisplayName="Proxy Server URI" ShortDescription="The URI of the proxy server" DefaultValue="" />
+ <PropertyDefinition Name="ExceptionOnIntraQueryCacheExpiration" DisplayName="Exception On Intra-Query Cache Expiration" ShortDescription="Throw an exception when a document expires from the cache between executing different parts of a single query (instead of requesting the document again)" DefaultValue="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorCapabilities" DisplayName="Connector Capabilities Class" ShortDescription="The class to use to provide the Connector Capabilities" DefaultValue="com.metamatrix.connector.xml.base.XMLCapabilities" IsExpert="true" />
+ <PropertyDefinition Name="Standard" DisplayName="Standard Type" ShortDescription="Standard Built-in Connector Type" DefaultValue="true" PropertyType="Boolean" IsExpert="true" IsModifiable="false" />
+ <PropertyDefinition Name="HttpBasicAuthUserName" DisplayName="HTTP Basic Authentication Name" ShortDescription="Name value for HTTP basic authentication" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.xml.base.XMLConnector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="Uri" DisplayName="Server URI" ShortDescription="The URI of the HTTP source" IsRequired="true" />
+ <PropertyDefinition Name="UseHttpBasic" DisplayName="Use HTTP Basic authentication" ShortDescription="Use basic HTTP Authentication" DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="LogRequestResponseDocs" DisplayName="Log XML Request and Response Documents" ShortDescription="Write the request and response documents to the log at Info level" DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="TrustDeserializerClass" DisplayName="Trust Deserializer Class" ShortDescription="The class to use to process trusted payloads and execution payloads" DefaultValue="com.metamatrix.connector.xml.http.DefaultTrustDeserializer" IsExpert="true" />
+ <PropertyDefinition Name="ParameterMethod" DisplayName="Parameter Method" ShortDescription="" DefaultValue="None" IsRequired="true">
+ <AllowedValue>None</AllowedValue>
+ <AllowedValue>Name/Value</AllowedValue>
+ <AllowedValue>XMLRequest</AllowedValue>
+ <AllowedValue>XMLInQueryString</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="MaxMemoryCacheSize" DisplayName="Max Size of in-memory cache (in kb)" ShortDescription="" DefaultValue="16384" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="InputStreamFilterClass" DisplayName="Input Stream Filter Class" ShortDescription="The class to use to preprocess raw XML input stream" DefaultValue="com.metamatrix.connector.xml.base.PluggableInputStreamFilterImpl" IsExpert="true" />
+ <PropertyDefinition Name="HostnameVerifier" DisplayName="Hostname Verifier" ShortDescription="Class implementing javax.net.ssl.HostnameVerifier. Used to implement a hostname mismatch workaround." IsExpert="true" />
+ <PropertyDefinition Name="QueryPreprocessorClass" DisplayName="Query Preprocessor Class" ShortDescription="The class to use to preprocess the IQuery" DefaultValue="com.metamatrix.connector.xml.base.NoQueryPreprocessing" IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="XML-Relational SOAP Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="XML Connector" ParentComponentType="Connectors" LastChangedDate="2008-10-31T10:26:19.919-06:00" CreationDate="2008-10-31T10:26:19.919-06:00">
+ <PropertyDefinition Name="TextExtractionThreshold" DisplayName="Text Extraction Threshold (in kb)" ShortDescription="Extract text sections larger than this size to a file where more efficient access as a CLOB can be effected." DefaultValue="128" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="AuthPassword" DisplayName="Authentication User Password" ShortDescription="Password value for authentication" DefaultValue="" IsExpert="true" IsMasked="true" />
+ <PropertyDefinition Name="FileCacheLocation" DisplayName="Location of the File Cache" ShortDescription="" DefaultValue="" />
+ <PropertyDefinition Name="SaxFilterProviderClass" DisplayName="XML Filter Provider" ShortDescription="The class the provides extended XML Filters" DefaultValue="com.metamatrix.connector.xml.base.NoExtendedFilters" IsExpert="true" />
+ <PropertyDefinition Name="AuthUserName" DisplayName="Authentication User Name" ShortDescription="Name value for authentication" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="CacheTimeout" DisplayName="Cache Timeout (in seconds)" ShortDescription="" DefaultValue="60" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="WSSecurityType" DisplayName="WS-Security Type(UsernameToken, SAML..)" ShortDescription="Type of WS-Security to be used; Combinations of multiple security types can be used with a space in-between. Allowed types are: (UsernameToken, UsernameToken-Digest, SAMLTokenUnsigned, SAMLTokenSigned, Signature, Timestamp, Encrypt)" DefaultValue="" />
+ <PropertyDefinition Name="XMLParmName" DisplayName="XML Parameter Name" ShortDescription="" DefaultValue="" IsHidden="true" IsModifiable="false" />
+ <PropertyDefinition Name="EncryptUserName" DisplayName="Encrypt UserName (only if Encrypt profile used)" ShortDescription="The username to be used in the encryption; if blank uses auth username" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="ExceptionOnSOAPFault" DisplayName="Exception on SOAP Fault" ShortDescription="Throw connector exception when SOAP fault is returned from source." DefaultValue="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="MaxFileCacheSize" DisplayName="Max Size of file cache (in kb)" ShortDescription="" DefaultValue="-1" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="RequestTimeout" DisplayName="Request Timeout (in Milliseconds)" ShortDescription="" DefaultValue="10000" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="CryptoPropertyFile" DisplayName="User Crypto Property File (If SAML or Signature profile used)" ShortDescription="The file defines properties of cryptography;defines the certificates;(crypto.properties)" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorStateClass" DisplayName="Connector State Class" ShortDescription="" DefaultValue="com.metamatrix.connector.xml.soap.SOAPConnectorState" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="SOAPAction" DisplayName="SOAP-Action" ShortDescription="Value for SOAP-Action header" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="AccessMethod" DisplayName="Access Method (Get, Post)" ShortDescription="" DefaultValue="post" IsRequired="true" IsHidden="true" IsModifiable="false">
+ <AllowedValue>get</AllowedValue>
+ <AllowedValue>post</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="ProxyUri" DisplayName="Proxy Server URI" ShortDescription="The URI of the proxy server" DefaultValue="" />
+ <PropertyDefinition Name="EncryptPropertyFile" DisplayName="Encrypt crypto property file (only if Encrypt profile used)" ShortDescription="The file defines properties of cryptography for encryption of the message;(crypto.properties)" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="ExceptionOnIntraQueryCacheExpiration" DisplayName="Exception On Intra-Query Cache Expiration" ShortDescription="Throw an exception when a document expires from the cache between executing different parts of a single query (instead of requesting the document again)" DefaultValue="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorCapabilities" DisplayName="Connector Capabilities Class" ShortDescription="The class to use to provide the Connector Capabilities" DefaultValue="com.metamatrix.connector.xml.base.XMLCapabilities" IsExpert="true" />
+ <PropertyDefinition Name="SAMLPropertyFile" DisplayName="SAML Property File (only required when SAML profile used)" ShortDescription="SAML Security property file (saml.properties)" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="Standard" DisplayName="Standard Type" ShortDescription="Standard Built-in Connector Type" DefaultValue="true" PropertyType="Boolean" IsExpert="true" IsModifiable="false" />
+ <PropertyDefinition Name="EncodingStyle" DisplayName="Encoding Style (RPC - Encoded, RPC - Literal, Document - Literal, Document - Encoded)" ShortDescription="Encoding Style" DefaultValue="Document - Literal" IsRequired="true">
+ <AllowedValue>RPC - Encoded</AllowedValue>
+ <AllowedValue>RPC - Literal</AllowedValue>
+ <AllowedValue>Document - Literal</AllowedValue>
+ <AllowedValue>Document - Encoded</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.xml.base.XMLConnector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="Uri" DisplayName="Server URI" ShortDescription="The URI of the HTTP source" IsRequired="true" />
+ <PropertyDefinition Name="SecurityType" DisplayName="WebService Security Used(None, HTTPBasic, WS-Security)" ShortDescription="Type of Authentication to used with the web service; If WS-Secuirty is being used, then WS-Secuirty type must be defined" DefaultValue="None" IsRequired="true" />
+ <PropertyDefinition Name="LogRequestResponseDocs" DisplayName="Log XML Request and Response Documents" ShortDescription="Write the request and response documents to the log at Info level" DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="TrustDeserializerClass" DisplayName="Trust Deserializer Class" ShortDescription="The class to use to process trusted payloads and execution payloads" DefaultValue="com.metamatrix.connector.xml.soap.DefaultSoapTrustDeserializer" IsExpert="true" />
+ <PropertyDefinition Name="ParameterMethod" DisplayName="Parameter Method (None, Name/Value, XMLRequest, XMLInQueryString)" ShortDescription="" DefaultValue="XMLRequest" IsRequired="true" IsHidden="true" IsModifiable="false">
+ <AllowedValue>None</AllowedValue>
+ <AllowedValue>Name/Value</AllowedValue>
+ <AllowedValue>XMLRequest</AllowedValue>
+ <AllowedValue>XMLInQueryString</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="InputStreamFilterClass" DisplayName="Input Stream Filter Class" ShortDescription="The class to use to preprocess raw XML input stream" DefaultValue="com.metamatrix.connector.xml.base.PluggableInputStreamFilterImpl" IsExpert="true" />
+ <PropertyDefinition Name="MaxMemoryCacheSize" DisplayName="Max Size of in-memory cache (in kb)" ShortDescription="" DefaultValue="16384" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="HostnameVerifier" DisplayName="Hostname Verifier" ShortDescription="a class implmenting javax.net.ssl.HostnameVerifier. Used to implement a hostname mismatch workaround." IsExpert="true" />
+ <PropertyDefinition Name="TrustType" DisplayName="Trust Type:(DirectReference or IssuerSerial)" ShortDescription="Only required for Signature and Signed SAML; The issuer-serial method presumes that all trusted users of the service are known to the service and have pre-registered their certificate chains before using the service. The direct-reference method presumes that the service operator trusts all users with certificates issued by a trusted CA." DefaultValue="DirectReference" IsExpert="true" />
+ <PropertyDefinition Name="QueryPreprocessorClass" DisplayName="Query Preprocessor Class" ShortDescription="The class to use to preprocess the IQuery" DefaultValue="com.metamatrix.connector.xml.base.NoQueryPreprocessing" IsExpert="true" />
+ </ComponentType>
+
+ </ComponentTypes>
+ <SharedResources>
+ <Resource Name="resource1" ComponentType="Miscellaneous Resource Type" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="prop1">value1</Property>
+ </Properties>
+ </Resource>
+ <Resource Name="resource2" ComponentType="Miscellaneous Resource Type" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="prop2">value2</Property>
+ </Properties>
+ </Resource>
+
+ <Resource Name="JGroups" ComponentType="Miscellaneous Resource Type" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="udp.multicast_supported">true</Property>
+ <Property Name="udp.mcast_messagebus_port">(multicast.port)</Property>
+ <Property Name="udp.mcast_jndi_port">5556</Property>
+ <Property Name="udp.mcast_addr">(multicast.address)</Property>
+ <Property Name="ping.gossip_host">(gossip_host)</Property>
+ <Property Name="ping.gossip_port">5555</Property>
+ <Property Name="metamatrix.cluster.name">(cluster.name)</Property>
+ <Property Name="jgroups.other.channel.settings">MERGE2(min_interval=5000;max_interval=10000):FD_SOCK:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800):UNICAST(timeout=5000):pbcast.STABLE(desired_avg_gossip=20000):FRAG(frag_size=4096;down_thread=false;up_thread=false):pbcast.GMS(join_timeout=5000;join_retry_timeout=2000;shun=false;print_local_addr=true):pbcast.STATE_TRANSFER
+ </Property>
+ </Properties>
+ </Resource>
+ <Resource Name="SSL" ComponentType="Miscellaneous Resource Type" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="com.metamatrix.ssl.keystoretype">JKS</Property>
+ <Property Name="com.metamatrix.ssl.protocol">SSLv3</Property>
+ <Property Name="com.metamatrix.ssl.keymanagementalgorithm">SunX509</Property>
+ </Properties>
+ </Resource>
+ <Resource Name="XATransactionManager" ComponentType="Miscellaneous Resource Type" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="metamatrix.xatxnmgr.log_base_dir">txnlog</Property>
+ <Property Name="metamatrix.xatxnmgr.max_timeout">120000</Property>
+ <Property Name="metamatrix.xatxnmgr.max_log_filesize_in_mb">10</Property>
+ <Property Name="metamatrix.xatxnmgr.max_rolled_log_files">100</Property>
+ <Property Name="metamatrix.xatxnmgr.separate_log">true</Property>
+ <Property Name="metamatrix.xatxnmgr.txnstatus_port">0</Property>
+ </Properties>
+ </Resource>
+ </SharedResources>
+</ConfigurationDocument>
\ No newline at end of file
Property changes on: trunk/server/src/test/resources/config/config_multihost.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/server/src/test/resources/config/config_multihost_getWorkerPools.xml
===================================================================
--- trunk/server/src/test/resources/config/config_multihost_getWorkerPools.xml (rev 0)
+++ trunk/server/src/test/resources/config/config_multihost_getWorkerPools.xml 2009-06-11 22:35:07 UTC (rev 1046)
@@ -0,0 +1,909 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ConfigurationDocument>
+ <Header>
+ <ApplicationCreatedBy>ConfigurationAdministration</ApplicationCreatedBy>
+ <ApplicationVersionCreatedBy>4.2</ApplicationVersionCreatedBy>
+ <UserCreatedBy>Configuration</UserCreatedBy>
+ <ConfigurationVersion>4.2</ConfigurationVersion>
+ <MetaMatrixSystemVersion>4.2</MetaMatrixSystemVersion>
+ <Time>2004-06-30T12:23:53.919-06:00</Time>
+ </Header>
+ <Configuration Name="Next Startup" ComponentType="Configuration" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="metamatrix.server.metadata.systemURL">extensionjar:System.vdb</Property>
+ <Property Name="metamatrix.server.extensionTypesToCache">JAR File</Property>
+ <Property Name="metamatrix.server.procDebug">false</Property>
+ <Property Name="metamatrix.server.cacheConnectorClassLoaders">true</Property>
+ <Property Name="metamatrix.server.streamingBatchSize">100</Property>
+ <Property Name="metamatrix.server.serviceMonitorInterval">60</Property>
+ <Property Name="metamatrix.session.max.connections">0</Property>
+ <Property Name="metamatrix.session.time.limit">0</Property>
+ <Property Name="metamatrix.session.sessionMonitor.ActivityInterval">5</Property>
+ <Property Name="metamatrix.audit.jdbcTable">AUDITENTRIES</Property>
+ <Property Name="metamatrix.audit.threadTTL">600000</Property>
+ <Property Name="metamatrix.audit.fileFormat">com.metamatrix.platform.security.audit.format.DelimitedAuditMessageFormat</Property>
+ <Property Name="metamatrix.audit.jdbcResourceDelim">;</Property>
+ <Property Name="metamatrix.audit.jdbcDatabase">false</Property>
+ <Property Name="metamatrix.audit.console">false</Property>
+ <Property Name="metamatrix.audit.jdbcMaxContextLength">64</Property>
+ <Property Name="metamatrix.audit.fileAppend">false</Property>
+ <Property Name="metamatrix.audit.enabled">false</Property>
+ <Property Name="metamatrix.audit.consoleFormat">com.metamatrix.platform.security.audit.format.ReadableAuditMessageFormat</Property>
+ <Property Name="metamatrix.audit.jdbcMaxResourceLength">4000</Property>
+ <Property Name="metamatrix.authorization.dataaccess.CheckingEnabled">false</Property>
+ <Property Name="metamatrix.authorization.metabase.CheckingEnabled">false</Property>
+ <Property Name="metamatrix.deployment.platform">standalone</Property>
+ <Property Name="metamatrix.encryption.client">true</Property>
+ <Property Name="metamatrix.encryption.secure.sockets">false</Property>
+ <Property Name="metamatrix.log.consoleFormat">com.metamatrix.common.log.format.ReadableLogMessageFormat</Property>
+ <Property Name="metamatrix.log.console">true</Property>
+ <Property Name="metamatrix.log.jdbcTable">LOGENTRIES</Property>
+ <Property Name="metamatrix.log.jdbcMaxContextLength">64</Property>
+ <Property Name="metamatrix.log.jdbcMaxExceptionLength">4000</Property>
+ <Property Name="metamatrix.log.jdbcMaxLength">2000</Property>
+ <Property Name="metamatrix.log.maxRows">2500</Property>
+ <Property Name="metamatrix.log.size.limit.kbs">1000</Property>
+ <Property Name="metamatrix.log.size.monitor.mins">60</Property>
+ <Property Name="metamatrix.log">4</Property>
+ <Property Name="metamatrix.log.jdbcDatabase.enabled">true</Property>
+ <Property Name="metamatrix.buffer.memoryAvailable">500</Property>
+ <Property Name="metamatrix.buffer.sessionUsePercentage">80</Property>
+ <Property Name="metamatrix.buffer.activeMemoryThreshold">90</Property>
+ <Property Name="metamatrix.buffer.managementInterval">1000</Property>
+ <Property Name="metamatrix.buffer.connectorBatchSize">2000</Property>
+ <Property Name="metamatrix.buffer.processorBatchSize">2000</Property>
+ <Property Name="metamatrix.buffer.maxOpenFiles">10</Property>
+ <Property Name="metamatrix.buffer.maxFileSize">2048</Property>
+ <Property Name="metamatrix.buffer.logStatsInterval">0</Property>
+ <Property Name="metamatrix.transaction.log.storeMMCMD">false</Property>
+ <Property Name="metamatrix.transaction.log.storeSRCCMD">false</Property>
+ <Property Name="vm.starter.maxThreads">5</Property>
+ <Property Name="vm.starter.timetolive">30000</Property>
+ <Property Name="key1">value1</Property>
+ </Properties>
+ <Host Name="3.3.3.3" ComponentType="Host" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Process Name="process3" ComponentType="VM" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="vm.starter.cmd.java_opts">-server -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=${metamatrix.host.dir}/data/tmp -ms${vm.starter.minHeapSize}m -mx${vm.starter.maxHeapSize}m</Property>
+ <Property Name="vm.starter.maxHeapSize">1024</Property>
+ <Property Name="vm.starter.minHeapSize">256</Property>
+ <Property Name="vm.socketPort">(vm.port)</Property>
+ <Property Name="vm.maxThreads">64</Property>
+ <Property Name="vm.timetolive">30000</Property>
+ <Property Name="vm.minPort">0</Property>
+ <Property Name="vm.inputBufferSize">102400</Property>
+ <Property Name="vm.outputBufferSize">102400</Property>
+ <Property Name="vm.enabled">true</Property>
+ <Property Name="vm.forced.shutdown.time">30</Property>
+ <Property Name="vm.socketPort">31000</Property>
+ </Properties>
+ <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="dqp3" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" >
+ </DeployedService>
+ <DeployedService Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="connectorBinding3" ComponentType="JDBC Connector" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ </Process>
+ </Host>
+ <Host Name="2.2.2.2" ComponentType="Host" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Process Name="process2" ComponentType="VM" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="vm.starter.cmd.java_opts">-server -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=${metamatrix.host.dir}/data/tmp -ms${vm.starter.minHeapSize}m -mx${vm.starter.maxHeapSize}m</Property>
+ <Property Name="vm.starter.maxHeapSize">1024</Property>
+ <Property Name="vm.starter.minHeapSize">256</Property>
+ <Property Name="vm.socketPort">(vm.port)</Property>
+ <Property Name="vm.maxThreads">64</Property>
+ <Property Name="vm.timetolive">30000</Property>
+ <Property Name="vm.minPort">0</Property>
+ <Property Name="vm.inputBufferSize">102400</Property>
+ <Property Name="vm.outputBufferSize">102400</Property>
+ <Property Name="vm.enabled">true</Property>
+ <Property Name="vm.forced.shutdown.time">30</Property>
+ <Property Name="vm.socketPort">31001</Property>
+ </Properties>
+ <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="dqp2" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" >
+ </DeployedService>
+ <DeployedService Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="connectorBinding2" ComponentType="connectorType2" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ </Process>
+ </Host>
+ <Host Name="1.1.1.1" ComponentType="Host" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Process Name="process1" ComponentType="VM" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="vm.starter.cmd.java_opts">-server -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=${metamatrix.host.dir}/data/tmp -ms${vm.starter.minHeapSize}m -mx${vm.starter.maxHeapSize}m</Property>
+ <Property Name="vm.starter.maxHeapSize">1024</Property>
+ <Property Name="vm.starter.minHeapSize">256</Property>
+ <Property Name="vm.socketPort">(vm.port)</Property>
+ <Property Name="vm.maxThreads">64</Property>
+ <Property Name="vm.timetolive">30000</Property>
+ <Property Name="vm.minPort">0</Property>
+ <Property Name="vm.inputBufferSize">102400</Property>
+ <Property Name="vm.outputBufferSize">102400</Property>
+ <Property Name="vm.enabled">false</Property>
+ <Property Name="vm.forced.shutdown.time">30</Property>
+ <Property Name="vm.socketPort">31002</Property>
+ </Properties>
+ <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="dqp1" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" >
+ </DeployedService>
+ <DeployedService Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ <DeployedService Name="connectorBinding1" ComponentType="connectorType1" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup" />
+ </Process>
+ </Host>
+ </Configuration>
+ <Services>
+ <Service Name="RuntimeMetadataService" ComponentType="RuntimeMetadataService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="ConnectorClass">com.metamatrix.connector.metadata.IndexConnector</Property>
+ <Property Name="ServiceClassName">com.metamatrix.server.connector.service.ConnectorService</Property>
+ <Property Name="metamatrix.service.essentialservice">true</Property>
+ <Property Name="ConnectorMaxThreads">20</Property>
+ <Property Name="ConnectorThreadTTL">120000</Property>
+ <Property Name="MaxResultRows">0</Property>
+ <Property Name="ExceptionOnMaxRows">true</Property>
+ <Property Name="Immutable">true</Property>
+ </Properties>
+ </Service>
+ <Service Name="MembershipService" ComponentType="MembershipService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="security.membership.admin.username">(admin.username)</Property>
+ <Property Name="security.membership.admin.password">(admin.password)</Property>
+ <Property Name="metamatrix.service.essentialservice">true</Property>
+ <Property Name="security.membership.DomainOrder">
+ </Property>
+ <Property Name="ServiceClassName">com.metamatrix.platform.security.membership.service.MembershipServiceImpl</Property>
+ </Properties>
+ </Service>
+ <Service Name="ODBCService" ComponentType="ODBCService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="metamatrix.service.essentialservice">false</Property>
+ <Property Name="ServiceClassName">com.metamatrix.odbc.ODBCServiceImpl</Property>
+ <Property Name="Openrdaloc">odbc/MMODBC.ini</Property>
+ <Property Name="ServerKey">license/oaserverkey.lic</Property>
+ </Properties>
+ </Service>
+ <Service Name="ConfigurationService" ComponentType="ConfigurationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="metamatrix.service.essentialservice">true</Property>
+ <Property Name="ServiceClassName">com.metamatrix.platform.config.service.ConfigurationServiceImpl</Property>
+ </Properties>
+ </Service>
+ <Service Name="AuthorizationService" ComponentType="AuthorizationService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="metamatrix.service.essentialservice">true</Property>
+ <Property Name="security.authorization.connection.Retries">4</Property>
+ <Property Name="ServiceClassName">com.metamatrix.platform.security.authorization.service.AuthorizationServiceImpl</Property>
+ </Properties>
+ </Service>
+ <Service Name="SessionService" ComponentType="SessionService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="security.session.terminationHandlers">com.metamatrix.server.util.DataServerSessionTerminationHandler</Property>
+ <Property Name="metamatrix.service.essentialservice">true</Property>
+ <Property Name="ServiceClassName">com.metamatrix.platform.security.session.service.SessionServiceImpl</Property>
+ </Properties>
+ </Service>
+ <Service Name="QueryService" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="metamatrix.service.essentialservice">false</Property>
+ <Property Name="ProcessPoolMaxThreads">64</Property>
+ <Property Name="ProcessPoolThreadTTL">120000</Property>
+ <Property Name="ServiceClassName">com.metamatrix.server.query.service.QueryService</Property>
+ <Property Name="ProcessorTimeslice">2000</Property>
+ <Property Name="MaxCodeTables">50</Property>
+ <Property Name="MaxCodeTableRecords">10000</Property>
+ <Property Name="MinFetchSize">100</Property>
+ <Property Name="MaxFetchSize">20000</Property>
+ <Property Name="ResultSetCacheEnabled">0</Property>
+ <Property Name="ResultSetCacheMaxSize">0</Property>
+ <Property Name="ResultSetCacheMaxAge">0</Property>
+ <Property Name="ResultSetCacheScope">vdb</Property>
+ <Property Name="MaxPlanCacheSize">100</Property>
+ </Properties>
+ </Service>
+ <Service Name="dqp1" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="metamatrix.service.essentialservice">false</Property>
+ <Property Name="ProcessPoolMaxThreads">64</Property>
+ <Property Name="ProcessPoolThreadTTL">120000</Property>
+ <Property Name="ServiceClassName">com.metamatrix.server.query.service.QueryService</Property>
+ <Property Name="ProcessorTimeslice">2000</Property>
+ <Property Name="MaxCodeTables">50</Property>
+ <Property Name="MaxCodeTableRecords">10000</Property>
+ <Property Name="MinFetchSize">100</Property>
+ <Property Name="MaxFetchSize">20000</Property>
+ <Property Name="ResultSetCacheEnabled">0</Property>
+ <Property Name="ResultSetCacheMaxSize">0</Property>
+ <Property Name="ResultSetCacheMaxAge">0</Property>
+ <Property Name="ResultSetCacheScope">vdb</Property>
+ <Property Name="MaxPlanCacheSize">100</Property>
+ </Properties>
+ </Service>
+ <Service Name="dqp2" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="metamatrix.service.essentialservice">false</Property>
+ <Property Name="ProcessPoolMaxThreads">64</Property>
+ <Property Name="ProcessPoolThreadTTL">120000</Property>
+ <Property Name="ServiceClassName">com.metamatrix.server.query.service.QueryService</Property>
+ <Property Name="ProcessorTimeslice">2000</Property>
+ <Property Name="MaxCodeTables">50</Property>
+ <Property Name="MaxCodeTableRecords">10000</Property>
+ <Property Name="MinFetchSize">100</Property>
+ <Property Name="MaxFetchSize">20000</Property>
+ <Property Name="ResultSetCacheEnabled">0</Property>
+ <Property Name="ResultSetCacheMaxSize">0</Property>
+ <Property Name="ResultSetCacheMaxAge">0</Property>
+ <Property Name="ResultSetCacheScope">vdb</Property>
+ <Property Name="MaxPlanCacheSize">100</Property>
+ </Properties>
+ </Service>
+ <Service Name="dqp3" ComponentType="QueryService" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="metamatrix.service.essentialservice">false</Property>
+ <Property Name="ProcessPoolMaxThreads">64</Property>
+ <Property Name="ProcessPoolThreadTTL">120000</Property>
+ <Property Name="ServiceClassName">com.metamatrix.server.query.service.QueryService</Property>
+ <Property Name="ProcessorTimeslice">2000</Property>
+ <Property Name="MaxCodeTables">50</Property>
+ <Property Name="MaxCodeTableRecords">10000</Property>
+ <Property Name="MinFetchSize">100</Property>
+ <Property Name="MaxFetchSize">20000</Property>
+ <Property Name="ResultSetCacheEnabled">0</Property>
+ <Property Name="ResultSetCacheMaxSize">0</Property>
+ <Property Name="ResultSetCacheMaxAge">0</Property>
+ <Property Name="ResultSetCacheScope">vdb</Property>
+ <Property Name="MaxPlanCacheSize">100</Property>
+ </Properties>
+ </Service>
+ </Services>
+ <ConnectorBindings>
+ <Connector Name="connectorBinding3" ComponentType="JDBC Connector" LastChangedBy="ImportConfiguration" LastChangedDate="2005-03-09T06:28:34.422-06:00" CreatedBy="ImportConfiguration" CreationDate="2005-03-09T06:28:34.422-06:00" routingUUID="connectorBinding3" >
+ <Properties>
+ <Property Name="Password">abc</Property>
+ <Property Name="User">theuser</Property>
+ <Property Name="URL">jdbc:mmx://server:port</Property>
+ <Property Name="Driver">driver.class</Property>
+ <Property Name="IsXA">true</Property>
+ </Properties>
+ </Connector>
+ <Connector Name="connectorBinding2" ComponentType="connectorType2" LastChangedBy="ImportConfiguration" LastChangedDate="2005-03-09T06:28:34.422-06:00" CreatedBy="ImportConfiguration" CreationDate="2005-03-09T06:28:34.422-06:00" routingUUID="connectorBinding2" >
+ <Properties>
+ <Property Name="Password">abc</Property>
+ <Property Name="User">theuser</Property>
+ <Property Name="prop2">value2</Property>
+ <Property Name="prop1">value1</Property>
+ <Property Name="IsXA">true</Property>
+ </Properties>
+ </Connector>
+
+ <Connector Name="connectorBinding1" ComponentType="connectorType2" LastChangedBy="ImportConfiguration" LastChangedDate="2005-03-09T06:28:34.422-06:00" CreatedBy="ImportConfiguration" CreationDate="2005-03-09T06:28:34.422-06:00" routingUUID="connectorBinding1" >
+ <Properties>
+ <Property Name="Password">abc</Property>
+ <Property Name="User">theuser</Property>
+ <Property Name="URL">jdbc:mmx://server:port</Property>
+ <Property Name="Driver">driver.class</Property>
+ <Property Name="IsXA">true</Property>
+ </Properties>
+ </Connector>
+
+ </ConnectorBindings>
+ <AuthenticationProviders>
+ <Provider Name="testFileDomainProvider" ComponentType="File Membership Domain Provider" LastChangedBy="metamatrixadmin" LastChangedDate="2007-05-24T12:52:48.088-06:00" CreatedBy="metamatrixadmin" CreationDate="2007-05-24T12:52:48.088-06:00">
+ <Properties>
+ <Property Name="checkPassword">true</Property>
+ <Property Name="activate">true</Property>
+ <Property Name="usersFile">H:\mdrilling\testSecurity\users.properties</Property>
+ <Property Name="groupsFile">H:\mdrilling\testSecurity\groups.properties</Property>
+ <Property Name="AuthDomainClass">com.metamatrix.platform.security.membership.spi.file.FileMembershipDomain</Property>
+ </Properties>
+ </Provider>
+ <Provider Name="testLDAPProvider" ComponentType="LDAP Membership Domain Provider" LastChangedBy="metamatrixadmin" LastChangedDate="2007-06-08T09:58:36.371-06:00" CreatedBy="metamatrixadmin" CreationDate="2007-06-08T09:58:36.371-06:00">
+ <Properties>
+ <Property Name="users.displayName.attribute">uid</Property>
+ <Property Name="groups.searchFilter">(objectclass=*)</Property>
+ <Property Name="users.searchScope">SUBTREE_SCOPE</Property>
+ <Property Name="groups.rootContext">asdf</Property>
+ <Property Name="AuthDomainClass">com.metamatrix.platform.security.membership.spi.ldap.LDAPMembershipDomain</Property>
+ <Property Name="activate">true</Property>
+ <Property Name="ldapURL">adsf</Property>
+ <Property Name="users.rootContext">asdf</Property>
+ <Property Name="users.searchFilter">(objectclass=*)</Property>
+ <Property Name="groups.searchScope">SUBTREE_SCOPE</Property>
+ </Properties>
+ </Provider>
+ </AuthenticationProviders>
+ <ComponentTypes>
+ <ComponentType Name="connectorType1" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="metamatrixadmin" LastChangedDate="2005-07-26T14:34:20.960-06:00" CreatedBy="metamatrixadmin" CreationDate="2005-07-26T14:34:20.960-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="com.metamatrix.jdbc.MMDataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:metamatrix:<vdbName>@mm://<host>:<port>" IsRequired="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ </ComponentType>
+ <ComponentType Name="connectorType2" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="metamatrixadmin" LastChangedDate="2005-07-26T14:34:20.960-06:00" CreatedBy="metamatrixadmin" CreationDate="2005-07-26T14:34:20.960-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="com.metamatrix.jdbc.MMDataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:metamatrix:<vdbName>@mm://<host>:<port>" IsRequired="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ </ComponentType>
+
+
+ <ComponentType Name="Service" ComponentTypeCode="1" Deployable="false" Deprecated="false" Monitorable="false" ParentComponentType="VM" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.943-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.943-06:00">
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="ServiceClassName" DisplayName="Service Class Name" ShortDescription="" IsRequired="true" IsHidden="true" />
+ </ComponentType>
+ <ComponentType Name="Host" ComponentTypeCode="7" Deployable="true" Deprecated="false" Monitorable="false" ParentComponentType="Configuration" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.950-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.950-06:00">
+ </ComponentType>
+ <ComponentType Name="DeployedComponent" ComponentTypeCode="8" Deployable="false" Deprecated="false" Monitorable="false" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.970-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.970-06:00" />
+ <ComponentType Name="VM" ComponentTypeCode="5" Deployable="true" Deprecated="false" Monitorable="false" ParentComponentType="Host" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.944-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.944-06:00">
+ <PropertyDefinition Name="vm.starter.cmd.java_opts" DisplayName="Java Options" ShortDescription="These are the java options passed in before the main class" DefaultValue="-server -Djava.io.tmpdir=${metamatrix.host.dir}/data/tmp -ms${vm.starter.minHeapSize}m -mx${vm.starter.maxHeapSize}m" />
+ <PropertyDefinition Name="vm.enabled" DisplayName="Start Enabled Flag" ShortDescription="The enabled flag allows for disabling the VM from starting without have to remove it from deployment." DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="vm.timetolive" DisplayName="Socket Worker Thread Time-To-Live (ms)" ShortDescription="Time-to-live (in milliseconds) for threads used to do work on client requests." DefaultValue="30000" />
+ <PropertyDefinition Name="vm.starter.maxHeapSize" DisplayName="Maximum Heap Size (MB)" ShortDescription="The maximum heap size, in megabytes, to be used for this VM. If no value is provided for this property, the default property value from the configuration is used; if no value is specified anywhere, no maximum heap size will be set." DefaultValue="1024" />
+ <PropertyDefinition Name="vm.minPort" DisplayName="Min Port Number" ShortDescription="Min port number" DefaultValue="0" />
+ <PropertyDefinition Name="vm.maxThreads" DisplayName="Max Threads" ShortDescription="Maximum socket listener threads." DefaultValue="64" />
+ <PropertyDefinition Name="vm.bind.address" DisplayName="VM Bind Address" ShortDescription="The bind address, when specified determines what address the vm will be bound to." DefaultValue="" IsHidden="true" IsModifiable="false" />
+ <PropertyDefinition Name="vm.starter.minHeapSize" DisplayName="Minimum Heap Size (MB)" ShortDescription="The minimum heap size, in megabytes, to be used for this VM. If no value is provided for this property, the default property value from the configuration is used; if no value is specified anywhere, no minimum heap size will be set." DefaultValue="256" />
+ <PropertyDefinition Name="vm.inputBufferSize" DisplayName="Socket Input BufferSize" ShortDescription="The size of socket buffer used when reading." DefaultValue="0" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="vm.socketPort" DisplayName="Socket Port" ShortDescription="The port number for the process when socket communications are being used " DefaultValue="31000" />
+ <PropertyDefinition Name="vm.forced.shutdown.time" DisplayName="VM Forced Shutdown Time (secs)" ShortDescription="The the number of seconds the VM will wait until it will perform a force shutdown." DefaultValue="30" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="vm.outputBufferSize" DisplayName="Socket Output BufferSize" ShortDescription="The size of the socket buffer used when writing." DefaultValue="0" IsRequired="true" PropertyType="Integer" />
+ </ComponentType>
+ <ComponentType Name="AuthorizationService" ComponentTypeCode="1" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Service" ParentComponentType="Platform" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.957-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.957-06:00">
+ <PropertyDefinition Name="ServiceClassName" DisplayName="Service Class Name" ShortDescription="" DefaultValue="com.metamatrix.platform.security.authorization.service.AuthorizationServiceImpl" IsRequired="true" IsHidden="true" />
+ <PropertyDefinition Name="security.authorization.connection.MaximumAge" DisplayName="Maximum connection time (milliseconds)" ShortDescription="" DefaultValue="600000" PropertyType="Integer" />
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="security.authorization.connection.MaximumConcurrentReaders" DisplayName="Maximum allowed concurrent users" ShortDescription="" DefaultValue="1" PropertyType="Integer" />
+ <PropertyDefinition Name="security.authorization.connection.Retries" DisplayName="Authorization proxy maximum retries" ShortDescription="" DefaultValue="4" IsRequired="true" PropertyType="Integer" />
+ </ComponentType>
+ <ComponentType Name="SessionService" ComponentTypeCode="1" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Service" ParentComponentType="Platform" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.955-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.955-06:00">
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="security.session.terminationHandlers" DisplayName="List of TerminationHandler Class Names" ShortDescription="" DefaultValue="com.metamatrix.server.util.DataServerSessionTerminationHandler" IsRequired="true" IsHidden="true" />
+ <PropertyDefinition Name="ServiceClassName" DisplayName="Service Class Name" ShortDescription="" DefaultValue="com.metamatrix.platform.security.session.service.SessionServiceImpl" IsRequired="true" IsHidden="true" />
+ </ComponentType>
+ <ComponentType Name="File Membership Domain Provider" ComponentTypeCode="11" Deployable="false" Deprecated="false" Monitorable="false" SuperComponentType="ResourceType" ParentComponentType="Platform" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.947-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.947-06:00">
+ <PropertyDefinition Name="activate" DisplayName="Enabled" ShortDescription="" DefaultValue="true" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="usersFile" DisplayName="Users File" ShortDescription="Location of the properties file containing user name and password entries." IsRequired="true" />
+ <PropertyDefinition Name="AuthDomainClass" DisplayName="Membership Domain Class Name" ShortDescription="" DefaultValue="com.metamatrix.platform.security.membership.spi.file.FileMembershipDomain" IsRequired="true" IsHidden="true" />
+ <PropertyDefinition Name="groupsFile" DisplayName="Groups File" ShortDescription="Location of the properties file containing group assignments." IsRequired="true" />
+ <PropertyDefinition Name="checkPassword" DisplayName="Check Password" ShortDescription="Check passwords against the users file." DefaultValue="true" PropertyType="Boolean" IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="Miscellaneous Resource Type" ComponentTypeCode="4" Deployable="false" Deprecated="false" Monitorable="false" SuperComponentType="ResourceType" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.949-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.949-06:00" />
+ <ComponentType Name="QueryService" ComponentTypeCode="1" Deployable="true" Deprecated="false" Monitorable="true" SuperComponentType="Service" ParentComponentType="Integration Server" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.956-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.957-06:00">
+ <PropertyDefinition Name="MaxCodeTables" DisplayName="Max Code Tables" ShortDescription="Max Number of Code Tables" DefaultValue="50" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="MaxCodeTableRecords" DisplayName="Max Code Table Records" ShortDescription="Max Number of Records Per Code Table" DefaultValue="10000" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="ResultSetCacheMaxAge" DisplayName="ResultSet Cache Maximum Age (milliseconds)" ShortDescription="" DefaultValue="0" PropertyType="Long" />
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="ProcessPoolMaxThreads" DisplayName="Process Pool Maximum Thread Count" ShortDescription="" DefaultValue="64" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="ResultSetCacheScope" DisplayName="ResultSet Cache Scope" ShortDescription="" DefaultValue="vdb">
+ <AllowedValue>vdb</AllowedValue>
+ <AllowedValue>session</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="ResultSetCacheEnabled" DisplayName="ResultSet Cache Enabled" ShortDescription="" DefaultValue="false" PropertyType="Boolean" />
+ <PropertyDefinition Name="MinFetchSize" DisplayName="Minimum Fetch Size (rows)" ShortDescription="" DefaultValue="100" PropertyType="Integer" />
+ <PropertyDefinition Name="MaxFetchSize" DisplayName="Maximum Fetch Size (rows)" ShortDescription="" DefaultValue="20000" PropertyType="Integer" />
+ <PropertyDefinition Name="ProcessPoolThreadTTL" DisplayName="Process Pool Thread Time-To-Live (milliseconds)" ShortDescription="" DefaultValue="120000" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="MaxPlanCacheSize" DisplayName="Maximum Plan Cache" ShortDescription="Maximum number of plans in the cache" DefaultValue="100" PropertyType="Integer" />
+ <PropertyDefinition Name="ProcessorTimeslice" DisplayName="Query Processor Timeslice (milliseconds)" ShortDescription="" DefaultValue="2000" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="ResultSetCacheMaxSize" DisplayName="ResultSet Cache Maximum Size (megabytes)" ShortDescription="" DefaultValue="0" PropertyType="Integer" />
+ <PropertyDefinition Name="ServiceClassName" DisplayName="Service Class Name" ShortDescription="" DefaultValue="com.metamatrix.server.query.service.QueryService" IsRequired="true" IsExpert="true" IsHidden="true" />
+ </ComponentType>
+ <ComponentType Name="MembershipService" ComponentTypeCode="1" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Service" ParentComponentType="Platform" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.958-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.958-06:00">
+ <PropertyDefinition Name="security.membership.DomainOrder" DisplayName="Membership Domain Order" ShortDescription="" DefaultValue="JDBCInternalDomain" IsRequired="true" IsHidden="true" />
+ <PropertyDefinition Name="security.membership.admin.username" DisplayName="Admin Account Username" ShortDescription="" DefaultValue="MetaMatrixAdmin" IsRequired="true" IsHidden="true" />
+ <PropertyDefinition Name="ServiceClassName" DisplayName="Service Class Name" ShortDescription="" DefaultValue="com.metamatrix.platform.security.membership.service.MembershipServiceImpl" IsRequired="true" IsHidden="true" />
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="security.membership.security.enabled" DisplayName="Security Enabled" ShortDescription="" DefaultValue="true" IsRequired="true" PropertyType="Boolean" IsHidden="true" />
+ <PropertyDefinition Name="security.membership.admin.password" DisplayName="Admin Account Password" ShortDescription="" IsRequired="true" IsHidden="true" IsMasked="true" />
+ </ComponentType>
+ <ComponentType Name="ResourceType" ComponentTypeCode="0" Deployable="false" Deprecated="false" Monitorable="false" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.948-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.948-06:00" />
+ <ComponentType Name="ODBCService" ComponentTypeCode="1" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Service" ParentComponentType="Integration Server" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.958-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.958-06:00">
+ <PropertyDefinition Name="IntervalToCheckServiceState" DisplayName="ODBC Service Interval Check (secs)" ShortDescription="This property controls the interval for checking for the ODBC service state (seconds)." DefaultValue="120" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="ServerKey" DisplayName="ODBC Server License File" ShortDescription="The location the ODBC Server license should be found" DefaultValue="license/oaserverkey.lic" IsRequired="true" IsModifiable="false" />
+ <PropertyDefinition Name="ServiceClassName" DisplayName="Service Class Name" ShortDescription="" DefaultValue="com.metamatrix.odbc.ODBCServiceImpl" IsRequired="true" IsHidden="true" IsModifiable="false" />
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="Openrdaloc" DisplayName="MMODBC.ini file location" ShortDescription="The location the MMODBC.ini should be found" DefaultValue="odbc/MMODBC.ini" IsRequired="true" IsModifiable="false" />
+ </ComponentType>
+ <ComponentType Name="RuntimeMetadataService" ComponentTypeCode="1" Deployable="true" Deprecated="false" Monitorable="true" SuperComponentType="Service" ParentComponentType="Integration Server" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.944-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.944-06:00">
+ <PropertyDefinition Name="ConnectorClassPath" DisplayName="Class Path" ShortDescription="" DefaultValue="" IsRequired="true" />
+ <PropertyDefinition Name="ExceptionOnMaxRows" DisplayName="Exception on Exceeding Max Rows" ShortDescription="Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned" DefaultValue="true" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="ResultSetCacheMaxAge" DisplayName="ResultSet Cache Maximum Age (milliseconds)" ShortDescription="" DefaultValue="0" PropertyType="Long" />
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="ResultSetCacheScope" DisplayName="ResultSet Cache Scope" ShortDescription="" DefaultValue="vdb">
+ <AllowedValue>vdb</AllowedValue>
+ <AllowedValue>session</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" IsRequired="true" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="ResultSetCacheEnabled" DisplayName="ResultSet Cache Enabled" ShortDescription="" DefaultValue="false" PropertyType="Boolean" />
+ <PropertyDefinition Name="ConnectorMaxThreads" DisplayName="Connector Maximum Thread Count" ShortDescription="" DefaultValue="20" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="ResultSetCacheMaxSize" DisplayName="ResultSet Cache Maximum Size (megabytes)" ShortDescription="" DefaultValue="0" PropertyType="Integer" />
+ <PropertyDefinition Name="ServiceClassName" DisplayName="Service Class Name" ShortDescription="" DefaultValue="com.metamatrix.server.connector.service.ConnectorService" IsRequired="true" IsHidden="true" />
+ <PropertyDefinition Name="ConnectorThreadTTL" DisplayName="Thread Time to live (milliseconds)" ShortDescription="" DefaultValue="120000" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="MaxResultRows" DisplayName="Maximum Result Rows" ShortDescription="" DefaultValue="0" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="ConfigurationService" ComponentTypeCode="1" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Service" ParentComponentType="Platform" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.970-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.970-06:00">
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="ServiceClassName" DisplayName="Configuration Service Class Name" ShortDescription="" DefaultValue="com.metamatrix.platform.config.service.ConfigurationServiceImpl" IsRequired="true" IsHidden="true" />
+ </ComponentType>
+ <ComponentType Name="Connector" ComponentTypeCode="2" Deployable="false" Deprecated="false" Monitorable="true" SuperComponentType="Service" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.916-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.916-06:00">
+ <PropertyDefinition Name="SourceConnectionTestInterval" DisplayName="Data Source Test Connect Interval (seconds)" ShortDescription="How often (in seconds) to create test connections to the underlying datasource to see if it is available." DefaultValue="600" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorClassPath" DisplayName="Class Path" ShortDescription="" />
+ <PropertyDefinition Name="ConnectorTypeClassPath" DisplayName="Connector Type Class Path" ShortDescription="Connector Type classpath (defined by system)" IsExpert="true" />
+ <PropertyDefinition Name="ExceptionOnMaxRows" DisplayName="Exception on Exceeding Max Rows" ShortDescription="Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned" DefaultValue="true" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="ServiceMonitoringEnabled" DisplayName="Data Source Monitoring Enabled" ShortDescription="Whether to monitor the underlying data source to see if it is available." DefaultValue="true" IsRequired="true" PropertyType="Boolean" ISExpert="true" />
+ <PropertyDefinition Name="Immutable" DisplayName="Is Immutable" ShortDescription="True if the source never changes." DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorMaxThreads" DisplayName="Connector Maximum Thread Count" ShortDescription="" DefaultValue="20" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" IsRequired="true" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="ServiceClassName" DisplayName="Service Class Name" ShortDescription="" DefaultValue="com.metamatrix.server.connector.service.ConnectorService" IsRequired="true" IsHidden="true" />
+ <PropertyDefinition Name="MaxResultRows" DisplayName="Maximum Result Rows" ShortDescription="" DefaultValue="10000" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorThreadTTL" DisplayName="Thread Time to live (milliseconds)" ShortDescription="" DefaultValue="120000" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="ResultSetCacheMaxAge" DisplayName="ResultSet Cache Maximum Age (milliseconds)" ShortDescription="" DefaultValue="0" PropertyType="Long" IsExpert="true" />
+ <PropertyDefinition Name="ResultSetCacheScope" DisplayName="ResultSet Cache Scope" ShortDescription="" DefaultValue="vdb" IsExpert="true">
+ <AllowedValue>vdb</AllowedValue>
+ <AllowedValue>session</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="supportsAndCriteria" DisplayName="supportsAndCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCompareCriteria" DisplayName="supportsCompareCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCompareCriteriaEquals" DisplayName="supportsCompareCriteriaEquals" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCompareCriteriaGreaterThan" DisplayName="supportsCompareCriteriaGreaterThan" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCompareCriteriaGreaterThanOrEqual" DisplayName="supportsCompareCriteriaGreaterThanOrEqual" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCompareCriteriaLessThan" DisplayName="supportsCompareCriteriaLessThan" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCompareCriteriaLessThanOrEqual" DisplayName="supportsCompareCriteriaLessThanOrEqual" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCompareCriteriaNotEquals" DisplayName="supportsCompareCriteriaNotEquals" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCriteria" DisplayName="supportsCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsInCriteria" DisplayName="supportsInCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsIsNullCriteria" DisplayName="supportsIsNullCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsJoins" DisplayName="supportsJoins" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsLikeCriteria" DisplayName="supportsLikeCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsNotCriteria" DisplayName="supportsNotCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsOrCriteria" DisplayName="supportsOrCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsSelectDistinct" DisplayName="supportsSelectDistinct" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsSelectLiterals" DisplayName="supportsSelectLiterals" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsAliasedGroup" DisplayName="supportsAliasedGroup" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsSelfJoins" DisplayName="supportsSelfJoins" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsOuterJoins" DisplayName="supportsOuterJoins" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsFullOuterJoins" DisplayName="supportsFullOuterJoins" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsBetweenCriteria" DisplayName="supportsBetweenCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsLikeCriteriaEscapeCharacter" DisplayName="supportsLikeCriteriaEscapeCharacter" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsInCriteriaSubquery" DisplayName="supportsInCriteriaSubquery" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsExistsCriteria" DisplayName="supportsExistsCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsQuantifiedCompareCriteria" DisplayName="supportsQuantifiedCompareCriteria" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsQuantifiedCompareCriteriaSome" DisplayName="supportsQuantifiedCompareCriteriaSome" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsQuantifiedCompareCriteriaAll" DisplayName="supportsQuantifiedCompareCriteriaAll" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsOrderBy" DisplayName="supportsOrderBy" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsAggregates" DisplayName="supportsAggregates" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsAggregatesSum" DisplayName="supportsAggregatesSum" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsAggregatesAvg" DisplayName="supportsAggregatesAvg" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsAggregatesMin" DisplayName="supportsAggregatesMin" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsAggregatesMax" DisplayName="supportsAggregatesMax" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsAggregatesCount" DisplayName="supportsAggregatesCount" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsAggregatesCountStar" DisplayName="supportsAggregatesCountStar" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsAggregatesDistinct" DisplayName="supportsAggregatesDistinct" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsScalarSubqueries" DisplayName="supportsScalarSubqueries" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCorrelatedSubqueries" DisplayName="supportsCorrelatedSubqueries" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsCaseExpressions" DisplayName="supportsCaseExpressions" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsSearchedCaseExpressions" DisplayName="supportsSearchedCaseExpressions" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsScalarFunctions" DisplayName="supportsScalarFunctions" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="getSupportedFunctions" DisplayName="getSupportedFunctions" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="string" IsExpert="true" />
+ <PropertyDefinition Name="supportsInlineViews" DisplayName="supportsInlineViews" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsOrderByInInlineViews" DisplayName="supportsOrderByInInlineViews" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsUnionOrderBy" DisplayName="supportsUnionOrderBy" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="supportsUnions" DisplayName="supportsUnions" ShortDescription="" DefaultValue="" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="Configuration" ComponentTypeCode="0" Deployable="true" Deprecated="false" Monitorable="false" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.958-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.958-06:00">
+ <PropertyDefinition Name="vm.starter.timetolive" DisplayName="Process TTL (milliseconds)" ShortDescription="Process Time-to-live (TTL) for threads used to start services." DefaultValue="30000" IsRequired="true" />
+ <PropertyDefinition Name="metamatrix.transaction.log.storeMMCMD" DisplayName="Enable MetaMatrix Command Logging" ShortDescription="Determine whether MetaMatrix command information should be recorded" DefaultValue="false" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.buffer.relative.storageDirectory" DisplayName="Buffer Storage Directory" ShortDescription="The relative path to Host data directory where temporary files are stored." DefaultValue="/buffer" />
+ <PropertyDefinition Name="metamatrix.server.extensionTypesToCache" DisplayName="Types of Extension Modules to Cache" ShortDescription="Types of Extension Module files to cache in memory. Separate by commas. Allowed values: (Configuration Model,Function Definition,JAR File,VDB File)" DefaultValue="JAR File" IsRequired="true" />
+ <PropertyDefinition Name="metamatrix.buffer.processorBatchSize" DisplayName="Processor Batch Size (rows)" ShortDescription="The size of a batch sent within the query processor." DefaultValue="500" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.audit.fileFormat" DisplayName="File Auditing Destination format class" ShortDescription="Driver class name for the JDBC auditing destination" DefaultValue="com.metamatrix.security.audit.format.DelimitedAuditMessageFormat" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.buffer.maxOpenFiles" DisplayName="Max open storage files" ShortDescription="The maximum number of open file descriptors used by buffer management temp storage." DefaultValue="10" PropertyType="Integer" />
+ <PropertyDefinition Name="metamatrix.log.consoleFormat" DisplayName="Format class for console log messages" ShortDescription="The name of the class that is used to format the log messages sent to the console" DefaultValue="com.metamatrix.common.log.format.ReadableLogMessageFormat" IsHidden="true" />
+ <PropertyDefinition Name="metamatrix.audit.contexts" DisplayName="Audit Contexts to Exclude" ShortDescription="The contexts for audit messages that are NOT to be recorded" />
+ <PropertyDefinition Name="metamatrix.log.contexts" DisplayName="Logging Contexts to Exclude" ShortDescription="The contexts for log messages that are NOT to be recorded" IsHidden="true" />
+ <PropertyDefinition Name="metamatrix.encryption.internal.encryptAll" DisplayName="Encrypt All Internal Traffic" ShortDescription="Force the encryption of all internal traffic, not just the traffic to secure services." DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" RequiresRestart="true" />
+ <PropertyDefinition Name="metamatrix.audit.jdbcResourceDelim" DisplayName="JDBC Auditing Destination delimiter for resource names" ShortDescription="The delimiter that is used to separate resource names" DefaultValue="," IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.audit.jdbcMaxResourceLength" DisplayName="JDBC Context Destination maximum length for audit text" ShortDescription="The maximum length of the resource name used in audit messages. Required if JDBC audit destination is to be used." DefaultValue="4000" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.session.sessionMonitor.ActivityInterval" DisplayName="Session Monitoring Activity (minutes)" ShortDescription="How often sessions will be monitored to check for over-limit sessions and invalidate them." DefaultValue="5" PropertyType="Integer" IsExpert="true" RequiresRestart="all_processes" />
+ <PropertyDefinition Name="metamatrix.audit.jdbcTable" DisplayName="JDBC Auditing Destination table name" ShortDescription="The name of the table that auditing messages are to be written to. Required if JDBC audit destination is to be used" DefaultValue="LogEntries" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.log.size.monitor.mins" DisplayName="Log File Monitoring Interval (minutes)" ShortDescription="The time interval in minutes the log file size is monitored" DefaultValue="1000" IsRequired="true" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="metamatrix.log.jdbcMaxContextLength" DisplayName="JDBC Logging Destination maximum length for contexts" ShortDescription="The maximum length of all the disregarded log contexts in total" DefaultValue="64" PropertyType="Integer" />
+ <PropertyDefinition Name="metamatrix.log.jdbcTable" DisplayName="JDBC Logging Destination table name" ShortDescription="The table the logging information to be written to" DefaultValue="LOGENTRIES" />
+ <PropertyDefinition Name="metamatrix.transaction.log.storeSRCCMD" DisplayName="Enable Data Source Command Logging" ShortDescription="Determine whether source command information should be recorded" DefaultValue="false" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.audit.maxThreads" DisplayName="Auditing Maximum Thread Count" ShortDescription="The maximum number of auditing threads allowed" DefaultValue="4" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.log.maxRows" DisplayName="JDBC Logging maximum number of rows returned" ShortDescription="The maximum number of rows returned" DefaultValue="2500" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.encryption.secure.sockets" DisplayName="Secure Sockets Enabled" ShortDescription="Determines whether the Secure Sockets are enabled, configuration is done from the SSL Resource" DefaultValue="false" IsRequired="true" PropertyType="Boolean" RequiresRestart="true" />
+ <PropertyDefinition Name="metamatrix.encryption.internal.authenticationMode" DisplayName="Internal Authentication Mode" ShortDescription="Sets the internal SSL authentication mode if internal SSL is enabled." DefaultValue="2-way" IsRequired="true" IsExpert="true" RequiresRestart="true">
+ <AllowedValue>anonymous</AllowedValue>
+ <AllowedValue>1-way</AllowedValue>
+ <AllowedValue>2-way</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="metamatrix.audit.console" DisplayName="Standard-Out Audit Destination" ShortDescription="True if the audit messages are to be sent to standard out for a VM" DefaultValue="false" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.buffer.maxFileSize" DisplayName="Max buffer file size (megabytes)" ShortDescription="The maximum size (in megabytes) that a buffer file is allowed to reach before creating spill files." DefaultValue="2048" PropertyType="Integer" />
+ <PropertyDefinition Name="metamatrix.server.commandLoggerClassname" DisplayName="Command Logger service provider classname" ShortDescription="The fully-qualified classname of the CommandLoggerSPI implementation to be used by Tracking Service." IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.log.jdbcDatabase.enabled" DisplayName="JDBC Logging Destination Enabled" ShortDescription="If enabled, then log to the jdbc destination." DefaultValue="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.buffer.managementInterval" DisplayName="Buffer Management Interval (milliseconds)" ShortDescription="The period between checking whether active memory cleanup should occur." DefaultValue="1000" PropertyType="Integer" />
+ <PropertyDefinition Name="metamatrix.encryption.client" DisplayName="Client Side Password Encryption Enabled" ShortDescription="Determines whether the client side jce provider encryption will be performed" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.log" DisplayName="Logging Level" ShortDescription="The level at which logging will occur" DefaultValue="5" IsRequired="true" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="metamatrix.encryption.internal.secure.sockets" DisplayName="Internal Secure Sockets Enabled" ShortDescription="Enable the use of SSL of RMI and HostController communication." DefaultValue="true" IsRequired="true" PropertyType="Boolean" IsExpert="true" RequiresRestart="true" />
+ <PropertyDefinition Name="metamatrix.audit.fileAppend" DisplayName="File Auditing Destination append" ShortDescription="Determines whether or not the audit destination file will be appended or overwritten" DefaultValue="false" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.audit.file" DisplayName="File Auditing Destination filename" ShortDescription="The name of the file that is the audit message destination. If blank or not provided, audit messages are not sent to a file destination" />
+ <PropertyDefinition Name="metamatrix.buffer.connectorBatchSize" DisplayName="Connector Batch Size (rows)" ShortDescription="The size of a batch sent between connector and query service." DefaultValue="1000" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.buffer.logStatsInterval" DisplayName="Buffer Log Stat Interval (milliseconds)" ShortDescription="The period between writing buffer management statistics to the log, used primarily for debugging." DefaultValue="0" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.audit.enabled" DisplayName="Auditing Enabled" ShortDescription="Determines whether auditing will be performed" DefaultValue="false" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.authorization.metabase.CheckingEnabled" DisplayName="MetaBase Authorization Enabled" ShortDescription="Determines whether MetaBase authorization (Entitlements) will be checked" DefaultValue="false" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.authorization.dataaccess.CheckingEnabled" DisplayName="Data Access Authorization Enabled" ShortDescription="Determines whether authorization (Entitlements) will be checked" DefaultValue="false" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.encryption.jce.provider" DisplayName="JCE Encryption Provider" ShortDescription="Indicates the jce encryption provider" DefaultValue="org.bouncycastle.jce.provider.BouncyCastleProvider" IsRequired="true" IsHidden="true" IsModifiable="false" />
+ <PropertyDefinition Name="metamatrix.audit.jdbcMaxContextLength" DisplayName="JDBC Auditing Destination maximum length for contexts" ShortDescription="The maximum length of the list of disregarded audit contexts. Required if JDBC audit destination is to be used." DefaultValue="64" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.server.cacheConnectorClassLoaders" DisplayName="Cache ClassLoaders for Connectors" ShortDescription="Determine whether to cache ClassLoaders in memory, for connectors that have the same classpath" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.service.essentialservice" DisplayName="Essential Service" ShortDescription="Indicates if the service is essential to operation of the Integration Server" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="metamatrix.extension.CommonClasspath" DisplayName="Common Extension Classpath" ShortDescription="Semicolon-delimited list of URLs to define extension classpath. This path will be used to load UDFs, connectors, membershipdomain etc. Extension module URLs are of the form 'extensionjar:jarfilename.jar'" DefaultValue="" IsRequired="true" />
+ <PropertyDefinition Name="metamatrix.server.serviceMonitorInterval" DisplayName="Connector Data Source Monitoring Interval (seconds)" ShortDescription="How often to ask connectors whether the underlying data source is available. Note that underlying connector implementation may not ping the actual data source every time it is asked, for performance reasons." DefaultValue="60" PropertyType="Integer" />
+ <PropertyDefinition Name="metamatrix.log.size.limit.kbs" DisplayName="Log File Size Limit (kilobytes)" ShortDescription="Maximum log file size at which it will be swapped." DefaultValue="1000" IsRequired="true" IsExpert="true" IsHidden="true" />
+ <PropertyDefinition Name="vm.starter.maxThreads" DisplayName="Service Starter Maximum Thread Count" ShortDescription="The maximum number of threads used to start services." DefaultValue="5" IsRequired="true" />
+ <PropertyDefinition Name="metamatrix.log.jdbcMaxLength" DisplayName="JDBC Logging Destination maximum length for log messages" ShortDescription="The maximum length of the text that is logged" DefaultValue="2000" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.deployment.platform" DisplayName="Platform Type" ShortDescription="This property indicates the type of server platform which the Integration Server is running on" DefaultValue="standalone" IsRequired="true" IsExpert="true" IsHidden="true" IsModifiable="false" />
+ <PropertyDefinition Name="metamatrix.log.captureSystemErr" DisplayName="Capture standard error to the logs" ShortDescription="True if the standard error is to be captured as log messages" DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.log.jdbcMaxExceptionLength" DisplayName="JDBC Logging Destination maximum length for exception text" ShortDescription="The maximum length of the text that is logged as an exception" DefaultValue="4000" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.session.time.limit" DisplayName="Max Session Time Limit (minutes)" ShortDescription="Max connection time limit as a system property, forcibly terminate any connection that exceeds that limit, default would be no limit." DefaultValue="0" PropertyType="Integer" RequiresRestart="all_processes" />
+ <PropertyDefinition Name="metamatrix.server.procDebug" DisplayName="Enable Processor Data Debugging" ShortDescription="Determine whether to dump all data batches to the server log when using OPTION DEBUG" DefaultValue="false" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="metamatrix.buffer.sessionUsePercentage" DisplayName="Session Memory Usage Limit (%)" ShortDescription="The maximum percentage of buffer memory that a may be used by a session." DefaultValue="80" PropertyType="Integer" />
+ <PropertyDefinition Name="metamatrix.buffer.memoryAvailable" DisplayName="Buffer Memory Available (megabytes)" ShortDescription="Amount of memory, in megabytes, to use as buffer management memory in each process." DefaultValue="500" PropertyType="Integer" />
+ <PropertyDefinition Name="metamatrix.audit.threadTTL" DisplayName="Auditing Thread Time-To-Live (TTL) (milliseconds)" ShortDescription="The maximum time (in milliseconds) that a auditing thread is allowed to live" DefaultValue="300000" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.audit.consoleFormat" DisplayName="Standard-Out Audit Destination format class" ShortDescription="The name of the class that is used to format the audit messages sent to the console" DefaultValue="com.metamatrix.security.audit.format.ReadableAuditMessageFormat" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.server.metadata.systemURL" DisplayName="System VDB URL" ShortDescription="The URL identifies the System VDB" DefaultValue="extensionjar:System.vdb" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.session.max.connections" DisplayName="Max Number of Sessions" ShortDescription="Max Number of Sessions allowed to connect to Integration Server (reject any connection requests beyond that limit, default would be no limit)" DefaultValue="0" PropertyType="Integer" RequiresRestart="all_processes" />
+ <PropertyDefinition Name="metamatrix.server.streamingBatchSize" DisplayName="Streaming Batch Size (kilobytes)" ShortDescription="The clob, blob and XML streaming batch size in kilobytes" DefaultValue="100" PropertyType="Integer" />
+ <PropertyDefinition Name="metamatrix.log.captureSystemOut" DisplayName="Capture standard out to the logs" ShortDescription="True if the standard out is to be captured as log messages" DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.log.console" DisplayName="Send log messages to standard out" ShortDescription="True if the log messages are to be sent to standard out for a VM" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsHidden="true" />
+ <PropertyDefinition Name="metamatrix.audit.jdbcDatabase" DisplayName="JDBC Auditing Destination Enabled" ShortDescription="If auditing enabled, then record to the jdbc destination." DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="metamatrix.buffer.activeMemoryThreshold" DisplayName="Buffer Active Memory Threshold (%)" ShortDescription="The percentage of buffer management memory that serves as a threshold for active memory management." DefaultValue="90" PropertyType="Integer" />
+ </ComponentType>
+ <ComponentType Name="LDAP Membership Domain Provider" ComponentTypeCode="11" Deployable="false" Deprecated="false" Monitorable="false" SuperComponentType="ResourceType" ParentComponentType="Platform" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.947-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.947-06:00">
+ <PropertyDefinition Name="users.displayName.attribute" DisplayName="Users DisplayName Attribute" ShortDescription="The attribute(s) that uniquely identifies a user." DefaultValue="uid" IsExpert="true" />
+ <PropertyDefinition Name="users.searchFilter" DisplayName="Users SearchFilter" ShortDescription="The search filter(s) to apply to each users root context." DefaultValue="(objectclass=*)" IsExpert="true" />
+ <PropertyDefinition Name="users.rootContext" DisplayName="Users RootContext" ShortDescription="Specifies the context(s) to use when searching for users." IsRequired="true" />
+ <PropertyDefinition Name="ldapAdmin.dn" DisplayName="Admin DN" ShortDescription="Bind account DN for group lookup." />
+ <PropertyDefinition Name="users.memberOf.attribute" DisplayName="Users Memberof Attribute" ShortDescription="Attribute(s) that appears on each user that identifies group membership." />
+ <PropertyDefinition Name="groups.displayName.attribute" DisplayName="Groups DisplayName Attribute" ShortDescription="The attribute(s) that uniquely identifies a group." IsExpert="true" />
+ <PropertyDefinition Name="users.searchScope" DisplayName="Users SearchScope" ShortDescription="How far down the directory tree to search each users root context." DefaultValue="SUBTREE_SCOPE" IsExpert="true" />
+ <PropertyDefinition Name="groups.rootContext" DisplayName="Groups RootContext" ShortDescription="Specifies the context(s) to use when searching for groups." IsRequired="true" />
+ <PropertyDefinition Name="activate" DisplayName="Enabled" ShortDescription="" DefaultValue="true" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="AuthDomainClass" DisplayName="Membership Domain Class Name" ShortDescription="" DefaultValue="com.metamatrix.platform.security.membership.spi.ldap.LDAPMembershipDomain" IsRequired="true" IsHidden="true" />
+ <PropertyDefinition Name="groups.searchFilter" DisplayName="Groups SearchFilter" ShortDescription="The search filter(s) to apply to each groups root context." DefaultValue="(objectclass=*)" IsExpert="true" />
+ <PropertyDefinition Name="groups.searchScope" DisplayName="Groups SearchScope" ShortDescription="How far down the directory tree to search each groups root context." DefaultValue="SUBTREE_SCOPE" IsExpert="true" />
+ <PropertyDefinition Name="txnTimeoutInMillis" DisplayName="Txn Timeout(ms)" ShortDescription="Time to wait for LDAP operations to complete." IsExpert="true" />
+ <PropertyDefinition Name="groups.groupMember.attribute" DisplayName="Groups GroupMember Attribute" ShortDescription="The attribute(s) that contains the members of the group." />
+ <PropertyDefinition Name="ldapURL" DisplayName="LDAP URL" ShortDescription="Full LDAP URL" IsRequired="true" />
+ <PropertyDefinition Name="ldapAdmin.password" DisplayName="Admin Password" ShortDescription="Bind account password for group lookup." IsMasked="true" />
+ </ComponentType>
+ <ComponentType Name="Custom Membership Domain Provider" ComponentTypeCode="11" Deployable="false" Deprecated="false" Monitorable="false" SuperComponentType="ResourceType" ParentComponentType="Platform" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.947-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.947-06:00">
+ <PropertyDefinition Name="activate" DisplayName="Enabled" ShortDescription="" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="AuthDomainClass" DisplayName="Membership Domain Class Name" ShortDescription="Full class name of the Membership Domain." IsRequired="true" />
+ <PropertyDefinition Name="propertiesFile" DisplayName="Properties File" ShortDescription="Location of the properties file for this Membership Domain." IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="JDBC Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.952-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.952-06:00">
+ <PropertyDefinition Name="ConnectorClassPath" DisplayName="Class Path" ShortDescription="" />
+ <PropertyDefinition Name="ConnectorTypeClassPath" DisplayName="Connector Type Class Path" ShortDescription="Connector Type classpath (defined by system, do not modify)" DefaultValue="extensionjar:connector_patch.jar;extensionjar:connector-jdbc-6.1.0-SNAPSHOT.jar;" IsExpert="true"/>
+ <PropertyDefinition Name="UseBindVariables" DisplayName="Use prepared statements and bind variables" ShortDescription="" DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="ExtensionCapabilityClass" DisplayName="Extension Capability Class" ShortDescription="" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.JDBCConnector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="DatabaseTimeZone" DisplayName="Database time zone" ShortDescription="Time zone of the database, if different than Integration Server" IsExpert="true" />
+ <PropertyDefinition Name="TransactionIsolationLevel" DisplayName="Transaction Isolation Level" ShortDescription="Set the data source transaction isolation level" DefaultValue="" IsExpert="true" >
+ <AllowedValue>TRANSACTION_READ_UNCOMMITTED</AllowedValue>
+ <AllowedValue>TRANSACTION_READ_COMMITTED</AllowedValue>
+ <AllowedValue>TRANSACTION_SERIALIZABLE</AllowedValue>
+ <AllowedValue>TRANSACTION_NONE</AllowedValue>
+ <AllowedValue></AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="Password" DisplayName="Password" ShortDescription="" IsMasked="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:<protocol>:<url>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.translator.Translator" IsExpert="true" />
+ <PropertyDefinition Name="SetCriteriaBatchSize" DisplayName="Max Values in IN Predicate" ShortDescription="Max number of values in an IN Predicate. Must be >= 0." DefaultValue="1000" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" IsRequired="true" />
+ <PropertyDefinition Name="User" DisplayName="User Name" ShortDescription="" />
+ <PropertyDefinition Name="TrimStrings" DisplayName="Trim string flag" ShortDescription="Right Trim fixed character types returned as Strings" DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="false" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="UseCommentsInSourceQuery" DisplayName="Use informational comments in Source Queries" ShortDescription="This will embed /*comment*/ style comment with session/request id in source SQL query for informational purposes" DefaultValue="false" PropertyType="Boolean" IsExpert="true"/>
+ <PropertyDefinition Name="ResultSetCacheEnabled" DisplayName="ResultSet Cache Enabled" ShortDescription="" DefaultValue="false" PropertyType="Boolean" IsExpert="true" IsMasked="false" />
+ <PropertyDefinition Name="ResultSetCacheMaxSize" DisplayName="ResultSet Cache Maximum Size (megabytes)" ShortDescription="" DefaultValue="0" PropertyType="Integer" IsExpert="true" IsMasked="false" />
+
+ </ComponentType>
+
+ <ComponentType Name="Apache Derby Embedded Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.941-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.941-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="org.apache.derby.jdbc.EmbeddedDataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:derby:<databaseName>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.derby.DerbySQLTranslator" IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="Apache Derby Network Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.942-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.942-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="org.apache.derby.jdbc.ClientDriver" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:derby:<databaseName>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.derby.DerbySQLTranslator" IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="MS Access Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.954-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.954-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="sun.jdbc.odbc.JdbcOdbcDriver" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=<data-source-name>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.access.AccessSQLTranslator" IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="MS Excel Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2006-02-08T11:02:36.029-06:00" CreatedBy="ConfigurationStartup" CreationDate="2006-02-08T11:02:36.029-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="sun.jdbc.odbc.JdbcOdbcDriver" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:odbc:Driver={MicroSoft Excel Driver (*.xls)};DBQ=<filePathToExcelFile>" IsRequired="true" />
+ </ComponentType>
+ <ComponentType Name="MySQL 4 Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.938-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.938-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="com.mysql.jdbc.jdbc2.optional.MysqlXADataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:mysql://<host>:3306/<databaseName>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.mysql.MySQLTranslator" IsExpert="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ </ComponentType>
+ <ComponentType Name="PostgreSQL 8 Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.940-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.940-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="org.postgresql.xa.PGXADataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:postgresql://<host>:5432;DatabaseName=/<databaseName>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.postgresql.PostgreSQLTranslator" IsExpert="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ </ComponentType>
+ <ComponentType Name="Teiid JDBC 6 Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="metamatrixadmin" LastChangedDate="2005-07-26T14:34:20.960-06:00" CreatedBy="metamatrixadmin" CreationDate="2005-07-26T14:34:20.960-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="com.metamatrix.jdbc.MMDataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:metamatrix:<vdbName>@mm://<host>:<port>" IsRequired="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ </ComponentType>
+ <ComponentType Name="JDBC ODBC Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.953-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.953-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="sun.jdbc.odbc.JdbcOdbcDriver" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:odbc:<data-source-name>[;UID=<xxx> ;PWD=<xxx>]" IsRequired="true" />
+ </ComponentType>
+ <ComponentType Name="Datadirect DB2 8 Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.928-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.928-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="com.metamatrix.jdbcx.db2.DB2DataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:mmx:db2://<host>:50000;DatabaseName=<databasename>;CollectionID=<collectionid>;PackageName=<packagename>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.db2.DB2SQLTranslator" IsExpert="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ </ComponentType>
+ <ComponentType Name="Datadirect Oracle 9 Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.923-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.923-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="com.metamatrix.jdbcx.oracle.OracleDataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:mmx:oracle://<host>:1521;SID=<sid>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.oracle.OracleSQLTranslator" IsExpert="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ </ComponentType>
+ <ComponentType Name="Datadirect SQL Server 2003 Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.935-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.935-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="com.metamatrix.jdbcx.sqlserver.SQLServerDataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:mmx:sqlserver://<host>:1433;DatabaseName=<databasename>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.sqlserver.SqlServerSQLTranslator" IsExpert="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ </ComponentType>
+ <ComponentType Name="Datadirect Sybase 12 Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="JDBC Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.930-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.930-06:00">
+ <PropertyDefinition Name="ConnectionSource" DisplayName="Connection Source Class" ShortDescription="Driver, DataSource, or XADataSource class name" DefaultValue="com.metamatrix.jdbcx.sybase.SybaseDataSource" IsRequired="true" />
+ <PropertyDefinition Name="URL" DisplayName="JDBC URL" ShortDescription="" DefaultValue="jdbc:mmx:sybase://<host>:5000;DatabaseName=<databasename>" IsRequired="true" />
+ <PropertyDefinition Name="ExtensionTranslationClass" DisplayName="Extension SQL Translation Class" ShortDescription="" DefaultValue="org.teiid.connector.jdbc.sybase.SybaseSQLTranslator" IsExpert="true" />
+ <PropertyDefinition Name="IsXA" DisplayName="Is XA" ShortDescription="Is XA" DefaultValue="true" IsRequired="true" PropertyType="Boolean" />
+ <PropertyDefinition Name="SetCriteriaBatchSize" DisplayName="Max Values in IN Predicate" ShortDescription="Max number of values in an IN Predicate. Must be >= 0." DefaultValue="250" PropertyType="Integer" IsExpert="true" />
+ </ComponentType> <ComponentType Name="LDAP Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.946-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.946-06:00">
+ <PropertyDefinition Name="ConnectorClassPath" DisplayName="Class Path" ShortDescription="" />
+ <PropertyDefinition Name="ConnectorTypeClassPath" DisplayName="Connector Type Class Path" ShortDescription="Connector Type classpath (defined by system, do not modify)" DefaultValue="extensionjar:connector_patch.jar;extensionjar:connector-ldap-6.1.0-SNAPSHOT.jar;" IsExpert="true"/>
+ <PropertyDefinition Name="SearchDefaultBaseDN" DisplayName="Default Search Base DN" ShortDescription="Default Base DN for LDAP Searches" IsExpert="true" />
+ <PropertyDefinition Name="com.metamatrix.data.pool.cleaning_interval" DisplayName="Pool cleaning Interval (seconds)" ShortDescription="Set the interval to cleaning the pool" DefaultValue="300" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="LdapAdminUserDN" DisplayName="Ldap Admin User DN" ShortDescription="User DN for the LDAP admin account." DefaultValue="cn=<>,ou=<>,dc=<>" IsRequired="true" />
+ <PropertyDefinition Name="Standard" DisplayName="Standard Type" ShortDescription="Standard Built-in Connector Type" DefaultValue="true" PropertyType="Boolean" IsExpert="true" IsModifiable="false" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.ldap.LDAPConnector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="LdapMaxCriteria" DisplayName="Ldap Max Criteria" ShortDescription="Maximum number of criteria supported in an LDAP search filter." DefaultValue="1000" IsRequired="true" />
+ <PropertyDefinition Name="LdapAdminUserPassword" DisplayName="Ldap Admin Password" ShortDescription="Password of the LDAP admin user account." IsRequired="true" IsMasked="true" />
+ <PropertyDefinition Name="SearchDefaultScope" DisplayName="Default Search Scope" ShortDescription="Default Scope for LDAP Searches" DefaultValue="SUBTREE_SCOPE" IsRequired="true">
+ <AllowedValue>OBJECT_SCOPE</AllowedValue>
+ <AllowedValue>ONELEVEL_SCOPE</AllowedValue>
+ <AllowedValue>SUBTREE_SCOPE</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="RestrictToObjectClass" DisplayName="Restrict Searches To Named Object Class" ShortDescription="Restrict Searches to objectClass named in the Name field for a table" DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="com.metamatrix.data.pool.max_connections" DisplayName="Pool Maximum Connections" ShortDescription="Set the maximum number of connections for the connection pool" DefaultValue="100" IsRequired="true" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="LdapTxnTimeoutInMillis" DisplayName="Ldap Transaction Timeout (ms)" ShortDescription="Timeout value for LDAP searches. Defaults to TCP timeout value." />
+ <PropertyDefinition Name="com.metamatrix.data.pool.wait_for_source_time" DisplayName="Pool Connection Waiting Time (milliseconds)" ShortDescription="Set the time to wait if the connection is not available" DefaultValue="60000" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="LdapUrl" DisplayName="Ldap URL" ShortDescription="Ldap URL of the server, including port number." DefaultValue="ldap://<ldapServer>:<389>" IsRequired="true" />
+ <PropertyDefinition Name="com.metamatrix.data.pool.live_and_unused_time" DisplayName="Pool Connection Idle Time (seconds)" ShortDescription="Set the idle time of the connection before it should be closed if pool shrinking is enabled" DefaultValue="300" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="com.metamatrix.data.pool.enable_shrinking" DisplayName="Pool Shrinking Enabled" ShortDescription="Set whether to enable the pool shrinking" DefaultValue="true" PropertyType="Boolean" IsExpert="true" />
+ </ComponentType> <ComponentType Name="Loopback Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.945-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.945-06:00">
+ <PropertyDefinition Name="ConnectorClassPath" DisplayName="Class Path" ShortDescription="" />
+ <PropertyDefinition Name="ConnectorTypeClassPath" DisplayName="Connector Type Class Path" ShortDescription="Connector Type classpath (defined by system, do not modify)" DefaultValue="extensionjar:connector_patch.jar;extensionjar:connector-loopback-6.1.0-SNAPSHOT.jar;" IsExpert="true"/>
+ <PropertyDefinition Name="CapabilitiesClass" DisplayName="Capabilities Class" ShortDescription="" DefaultValue="com.metamatrix.connector.loopback.LoopbackCapabilities" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="WaitTime" DisplayName="Max Random Wait Time" ShortDescription="" DefaultValue="0" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.loopback.LoopbackConnector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="RowCount" DisplayName="Rows Per Query" ShortDescription="" DefaultValue="1" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="Standard" DisplayName="Standard Type" ShortDescription="Standard Built-in Connector Type" DefaultValue="true" PropertyType="Boolean" IsExpert="true" IsModifiable="false" />
+ </ComponentType> <ComponentType Name="Salesforce Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Connector" ParentComponentType="Connectors" LastChangedDate="2008-10-31T10:26:19.916-06:00" CreationDate="2008-10-31T10:26:19.916-06:00">
+ <PropertyDefinition Name="ConnectorClassPath" DisplayName="Class Path" ShortDescription="" />
+ <PropertyDefinition Name="ConnectorTypeClassPath" DisplayName="Connector Type Class Path" ShortDescription="Connector Type classpath (defined by system, do not modify)" DefaultValue="extensionjar:connector_patch.jar;extensionjar:connector-salesforce-6.1.0-SNAPSHOT.jar;extension:commons-codec-1.2.jar;extension:commons-discovery-0.2.jar;extension:commons-httpclient-3.0.1.jar;extension:xmlsec-1.3.0.jar;extension:axis-1.3.jar;extension:axis-jaxrpc-1.3.jar;extension:axis-saaj-1.2.jar;extension:axis-schema-1.3.jar;extension:commons-discovery-0.2.jar;extension:commons-logging-1.1.jar;extension:jms-1.1.jar;extension:servlet-api-2.5.jar;extension:jaxen-1.1.1.jar;extension:jdom-1.0.jar;extension:log4j-1.2.8.jar;extension:opensaml-1.1b.jar;extension:salesforce-api-6.1.0-SNAPSHOT.jar;extension:wsdl4j-1.5.1.jar;extension:wss4j-1.5.0.jar;extension:xalan-2.7.0.jar;extension:xml-apis-1.0.b2.jar" IsExpert="true"/>
+ <PropertyDefinition Name="username" DisplayName="User Name" ShortDescription="Name value for Salesforce authentication" DefaultValue="" IsRequired="true" />
+ <PropertyDefinition Name="ConnectorStateClass" DisplayName="Connector State Class" ShortDescription="" DefaultValue="com.metamatrix.connector.salesforce.ConnectorState" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="Standard" DisplayName="Standard Type" ShortDescription="Standard Built-in Connector Type" DefaultValue="true" PropertyType="Boolean" IsExpert="true" IsModifiable="false" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.salesforce.Connector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="InLimit" DisplayName="IN Criteria Limit" ShortDescription="The maximum number of values that can be supplied in an IN criteria" DefaultValue="-1" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="password" DisplayName="Password" ShortDescription="Password value for Salesforce authentication" DefaultValue="" IsRequired="true" IsMasked="true" />
+ <PropertyDefinition Name="URL" DisplayName="Salesforce URL" ShortDescription="URL for connecting to Salesforce" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorCapabilities" DisplayName="Connector Capabilities Class" ShortDescription="The class to use to provide the Connector Capabilities" DefaultValue="com.metamatrix.connector.salesforce.SalesforceCapabilities" IsExpert="true" />
+ </ComponentType> <ComponentType Name="Text File Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Connector" ParentComponentType="Connectors" LastChangedBy="ConfigurationStartup" LastChangedDate="2008-10-31T10:26:19.945-06:00" CreatedBy="ConfigurationStartup" CreationDate="2008-10-31T10:26:19.945-06:00">
+ <PropertyDefinition Name="ConnectorClassPath" DisplayName="Class Path" ShortDescription="" />
+ <PropertyDefinition Name="ConnectorTypeClassPath" DisplayName="Connector Type Class Path" ShortDescription="Connector Type classpath (defined by system, do not modify)" DefaultValue="extensionjar:connector_patch.jar;extensionjar:connector-text-6.1.0-SNAPSHOT.jar;" IsExpert="true"/>
+ <PropertyDefinition Name="PartialStartupAllowed" DisplayName="Partial Startup Allowed" ShortDescription="" DefaultValue="true" IsRequired="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="Standard" DisplayName="Standard Type" ShortDescription="Standard Built-in Connector Type" DefaultValue="true" PropertyType="Boolean" IsExpert="true" IsModifiable="false" />
+ <PropertyDefinition Name="DescriptorFile" DisplayName="Text File Descriptor" ShortDescription="" IsRequired="true" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.text.TextConnector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="EnforceColumnCount" DisplayName="Enforce Column Count" ShortDescription="This forces the number of columns in text file to match what was modeled" DefaultValue="false" PropertyType="Boolean" />
+ <PropertyDefinition Name="DateResultFormatsDelimiter" DisplayName="Date Result Formats Delimiter" ShortDescription="" IsExpert="true" />
+ <PropertyDefinition Name="DateResultFormats" DisplayName="Date Result Formats" ShortDescription="" IsExpert="true" />
+ </ComponentType> <ComponentType Name="XML Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="Connector" ParentComponentType="Connectors" LastChangedDate="2008-10-31T10:26:19.917-06:00" CreationDate="2008-10-31T10:26:19.917-06:00">
+ <PropertyDefinition Name="ConnectorClassPath" DisplayName="Class Path" ShortDescription="" />
+ <PropertyDefinition Name="ConnectorTypeClassPath" DisplayName="Connector Type Class Path" ShortDescription="Connector Type classpath (defined by system, do not modify)" DefaultValue="extensionjar:connector_patch.jar;extensionjar:connector-xml-6.1.0-SNAPSHOT.jar;extension:commons-codec-1.2.jar;extension:commons-discovery-0.2.jar;extension:commons-httpclient-3.0.1.jar;extension:xmlsec-1.3.0.jar;extension:axis-1.3.jar;extension:axis-jaxrpc-1.3.jar;extension:axis-saaj-1.2.jar;extension:axis-schema-1.3.jar;extension:commons-discovery-0.2.jar;extension:commons-logging-1.1.jar;extension:jms-1.1.jar;extension:servlet-api-2.5.jar;extension:jaxen-1.1.1.jar;extension:jdom-1.0.jar;extension:log4j-1.2.8.jar;extension:opensaml-1.1b.jar;extension:wsdl4j-1.5.1.jar;extension:wss4j-1.5.0.jar;extension:xalan-2.7.0.jar;extension:xml-apis-1.0.b2.jar" IsExpert="true"/>
+ </ComponentType>
+
+ <ComponentType Name="XML File Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="XML Connector" ParentComponentType="Connectors" LastChangedDate="2008-10-31T10:26:19.917-06:00" CreationDate="2008-10-31T10:26:19.917-06:00">
+ <PropertyDefinition Name="CharacterEncodingScheme" DisplayName="File Encoding Used" ShortDescription="A character-encoding scheme is a mapping between a coded character set and a set of octet (eight-bit byte) sequences. Some samples are UTF-8,ISO-8859-1,UTF-16)" DefaultValue="ISO-8859-1" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.xmlsource.XMLSourceConnector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="ConnectionType" DisplayName="Type Of XML Connection" ShortDescription="Connection type used to get the XML data" DefaultValue="com.metamatrix.connector.xmlsource.file.FileConnection" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="Standard" DisplayName="Standard Type" ShortDescription="Standard Built-in Connector Type" DefaultValue="true" PropertyType="Boolean" IsExpert="true" IsModifiable="false" />
+ <PropertyDefinition Name="DirectoryLocation" DisplayName="XML File(s) Directory Location" ShortDescription="" DefaultValue="" IsRequired="true" />
+ </ComponentType>
+ <ComponentType Name="XML SOAP Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="XML Connector" ParentComponentType="Connectors" LastChangedDate="2008-10-31T10:26:19.917-06:00" CreationDate="2008-10-31T10:26:19.917-06:00">
+ <PropertyDefinition Name="AuthPassword" DisplayName="Authentication User Password" ShortDescription="Password value for authentication" DefaultValue="" IsExpert="true" IsMasked="true" />
+ <PropertyDefinition Name="SAMLPropertyFile" DisplayName="SAML Property File (only required when SAML profile used)" ShortDescription="SAML Security property file (saml.properties)" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="Standard" DisplayName="Standard Type" ShortDescription="Standard Built-in Connector Type" DefaultValue="true" PropertyType="Boolean" IsExpert="true" IsModifiable="false" />
+ <PropertyDefinition Name="wsdl" DisplayName="WSDL File (URL)" ShortDescription="URL to Web Service Definition File" DefaultValue="" IsRequired="true" />
+ <PropertyDefinition Name="AuthUserName" DisplayName="Authentication User Name" ShortDescription="Name value for authentication" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="WSSecurityType" DisplayName="WS-Security Type(UsernameToken, SAML..)" ShortDescription="Type of WS-Security to be used; Combinations of multiple security types can be used with a space in-between. Allowed types are: (UsernameToken, UsernameToken-Digest, SAMLTokenUnsigned, SAMLTokenSigned, Signature, Timestamp, Encrypt)" DefaultValue="" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.xmlsource.XMLSourceConnector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="EncryptUserName" DisplayName="Encrypt UserName (only if Encrypt profile used)" ShortDescription="The username to be used in the encryption; if blank uses auth username" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="EndPoint" DisplayName="Alternate End Point" ShortDescription="An alternate service endpoint other than one specified in WSDL, to execute the service" DefaultValue="" />
+ <PropertyDefinition Name="SecurityType" DisplayName="WebService Security Used(None, HTTPBasic, WS-Security)" ShortDescription="Type of Authentication to used with the web service; If WS-Secuirty is being used, then WS-Secuirty type must be defined" DefaultValue="None" IsRequired="true" />
+ <PropertyDefinition Name="CryptoPropertyFile" DisplayName="User Crypto Property File (If SAML or Signature profile used)" ShortDescription="The file defines properties of cryptography;defines the certificates;(crypto.properties)" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="ConnectionType" DisplayName="Type Of XML Connection" ShortDescription="Connection type used to get the XML data" DefaultValue="com.metamatrix.connector.xmlsource.soap.SoapConnection" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="EncryptPropertyFile" DisplayName="Encrypt crypto property file (only if Encrypt profile used)" ShortDescription="The file defines properties of cryptography for encryption of the message;(crypto.properties)" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="TrustType" DisplayName="Trust Type:(DirectReference or IssuerSerial)" ShortDescription="Only required for Signature and Signed SAML; The issuer-serial method presumes that all trusted users of the service are known to the service and have pre-registered their certificate chains before using the service. The direct-reference method presumes that the service operator trusts all users with certificates issued by a trusted CA." DefaultValue="DirectReference" IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="XML-Relational File Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="XML Connector" ParentComponentType="Connectors" LastChangedDate="2008-10-31T10:26:19.918-06:00" CreationDate="2008-10-31T10:26:19.918-06:00">
+ <PropertyDefinition Name="TextExtractionThreshold" DisplayName="Text Extraction Threshold (in kb)" ShortDescription="extract text sections larger than this size to a file where more efficient access as a CLOB can be effected." DefaultValue="128" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="FilePath" DisplayName="File Path" ShortDescription="" IsRequired="true" />
+ <PropertyDefinition Name="Standard" DisplayName="Standard Type" ShortDescription="Standard Built-in Connector Type" DefaultValue="true" PropertyType="Boolean" IsExpert="true" IsModifiable="false" />
+ <PropertyDefinition Name="FileCacheLocation" DisplayName="Location of the File Cache" ShortDescription="" DefaultValue="" />
+ <PropertyDefinition Name="CacheTimeout" DisplayName="Cache Timeout (in seconds)" ShortDescription="" DefaultValue="60" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="SaxFilterProviderClass" DisplayName="XML Filter Provider" ShortDescription="The class the provides extended XML Filters" DefaultValue="com.metamatrix.connector.xml.base.NoExtendedFilters" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.xml.base.XMLConnector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="MaxFileCacheSize" DisplayName="Max Size of file cache (in kb)" ShortDescription="" DefaultValue="-1" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="ConnectorStateClass" DisplayName="Connector State Class" ShortDescription="" DefaultValue="com.metamatrix.connector.xml.file.FileConnectorState" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="LogRequestResponseDocs" DisplayName="Log XML Request and Response Documents" ShortDescription="Write the request and response documents to the log at Info level" DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="InputStreamFilterClass" DisplayName="Input Stream Filter Class" ShortDescription="The class to use to preprocess raw XML input stream" DefaultValue="com.metamatrix.connector.xml.base.PluggableInputStreamFilterImpl" IsExpert="true" />
+ <PropertyDefinition Name="MaxMemoryCacheSize" DisplayName="Max Size of in-memory cache (in kb)" ShortDescription="" DefaultValue="16384" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="FileName" DisplayName="File Name" ShortDescription="" DefaultValue="" />
+ <PropertyDefinition Name="QueryPreprocessorClass" DisplayName="Query Preprocessor Class" ShortDescription="The class to use to preprocess the IQuery" DefaultValue="com.metamatrix.connector.xml.base.NoQueryPreprocessing" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorCapabilities" DisplayName="Connector Capabilities Class" ShortDescription="The class to use to provide the Connector Capabilities" DefaultValue="com.metamatrix.connector.xml.base.XMLCapabilities" IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="XML-Relational HTTP Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="XML Connector" ParentComponentType="Connectors" LastChangedDate="2008-10-31T10:26:19.920-06:00" CreationDate="2008-10-31T10:26:19.921-06:00">
+ <PropertyDefinition Name="TextExtractionThreshold" DisplayName="Text Extraction Threshold (in kb)" ShortDescription="Extract text sections larger than this size to a file where more efficient access as a CLOB can be effected." DefaultValue="128" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="FileCacheLocation" DisplayName="Location of the File Cache" ShortDescription="" DefaultValue="" />
+ <PropertyDefinition Name="CacheTimeout" DisplayName="Cache Timeout (in seconds)" ShortDescription="" DefaultValue="60" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="SaxFilterProviderClass" DisplayName="XML Filter Provider" ShortDescription="The class the provides extended XML Filters" DefaultValue="com.metamatrix.connector.xml.base.NoExtendedFilters" IsExpert="true" />
+ <PropertyDefinition Name="XMLParmName" DisplayName="XML Parameter Name" ShortDescription="" />
+ <PropertyDefinition Name="RequestTimeout" DisplayName="Request Timeout (in Milliseconds)" ShortDescription="" DefaultValue="10000" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="MaxFileCacheSize" DisplayName="Max Size of file cache (in kb)" ShortDescription="" DefaultValue="-1" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="Authenticate" DisplayName="Authentication Required" ShortDescription="" DefaultValue="false" IsRequired="true" PropertyType="Boolean" IsHidden="true" />
+ <PropertyDefinition Name="ConnectorStateClass" DisplayName="Connector State Class" ShortDescription="" DefaultValue="com.metamatrix.connector.xml.http.HTTPConnectorState" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="HttpBasicAuthPassword" DisplayName="HTTP Basic Authentication Password" ShortDescription="Password value for HTTP basic authentication" DefaultValue="" IsExpert="true" IsMasked="true" />
+ <PropertyDefinition Name="AccessMethod" DisplayName="Access Method" ShortDescription="" DefaultValue="get" IsRequired="true">
+ <AllowedValue>get</AllowedValue>
+ <AllowedValue>post</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="ProxyUri" DisplayName="Proxy Server URI" ShortDescription="The URI of the proxy server" DefaultValue="" />
+ <PropertyDefinition Name="ExceptionOnIntraQueryCacheExpiration" DisplayName="Exception On Intra-Query Cache Expiration" ShortDescription="Throw an exception when a document expires from the cache between executing different parts of a single query (instead of requesting the document again)" DefaultValue="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorCapabilities" DisplayName="Connector Capabilities Class" ShortDescription="The class to use to provide the Connector Capabilities" DefaultValue="com.metamatrix.connector.xml.base.XMLCapabilities" IsExpert="true" />
+ <PropertyDefinition Name="Standard" DisplayName="Standard Type" ShortDescription="Standard Built-in Connector Type" DefaultValue="true" PropertyType="Boolean" IsExpert="true" IsModifiable="false" />
+ <PropertyDefinition Name="HttpBasicAuthUserName" DisplayName="HTTP Basic Authentication Name" ShortDescription="Name value for HTTP basic authentication" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.xml.base.XMLConnector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="Uri" DisplayName="Server URI" ShortDescription="The URI of the HTTP source" IsRequired="true" />
+ <PropertyDefinition Name="UseHttpBasic" DisplayName="Use HTTP Basic authentication" ShortDescription="Use basic HTTP Authentication" DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="LogRequestResponseDocs" DisplayName="Log XML Request and Response Documents" ShortDescription="Write the request and response documents to the log at Info level" DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="TrustDeserializerClass" DisplayName="Trust Deserializer Class" ShortDescription="The class to use to process trusted payloads and execution payloads" DefaultValue="com.metamatrix.connector.xml.http.DefaultTrustDeserializer" IsExpert="true" />
+ <PropertyDefinition Name="ParameterMethod" DisplayName="Parameter Method" ShortDescription="" DefaultValue="None" IsRequired="true">
+ <AllowedValue>None</AllowedValue>
+ <AllowedValue>Name/Value</AllowedValue>
+ <AllowedValue>XMLRequest</AllowedValue>
+ <AllowedValue>XMLInQueryString</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="MaxMemoryCacheSize" DisplayName="Max Size of in-memory cache (in kb)" ShortDescription="" DefaultValue="16384" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="InputStreamFilterClass" DisplayName="Input Stream Filter Class" ShortDescription="The class to use to preprocess raw XML input stream" DefaultValue="com.metamatrix.connector.xml.base.PluggableInputStreamFilterImpl" IsExpert="true" />
+ <PropertyDefinition Name="HostnameVerifier" DisplayName="Hostname Verifier" ShortDescription="Class implementing javax.net.ssl.HostnameVerifier. Used to implement a hostname mismatch workaround." IsExpert="true" />
+ <PropertyDefinition Name="QueryPreprocessorClass" DisplayName="Query Preprocessor Class" ShortDescription="The class to use to preprocess the IQuery" DefaultValue="com.metamatrix.connector.xml.base.NoQueryPreprocessing" IsExpert="true" />
+ </ComponentType>
+ <ComponentType Name="XML-Relational SOAP Connector" ComponentTypeCode="2" Deployable="true" Deprecated="false" Monitorable="false" SuperComponentType="XML Connector" ParentComponentType="Connectors" LastChangedDate="2008-10-31T10:26:19.919-06:00" CreationDate="2008-10-31T10:26:19.919-06:00">
+ <PropertyDefinition Name="TextExtractionThreshold" DisplayName="Text Extraction Threshold (in kb)" ShortDescription="Extract text sections larger than this size to a file where more efficient access as a CLOB can be effected." DefaultValue="128" PropertyType="Integer" IsExpert="true" />
+ <PropertyDefinition Name="AuthPassword" DisplayName="Authentication User Password" ShortDescription="Password value for authentication" DefaultValue="" IsExpert="true" IsMasked="true" />
+ <PropertyDefinition Name="FileCacheLocation" DisplayName="Location of the File Cache" ShortDescription="" DefaultValue="" />
+ <PropertyDefinition Name="SaxFilterProviderClass" DisplayName="XML Filter Provider" ShortDescription="The class the provides extended XML Filters" DefaultValue="com.metamatrix.connector.xml.base.NoExtendedFilters" IsExpert="true" />
+ <PropertyDefinition Name="AuthUserName" DisplayName="Authentication User Name" ShortDescription="Name value for authentication" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="CacheTimeout" DisplayName="Cache Timeout (in seconds)" ShortDescription="" DefaultValue="60" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="WSSecurityType" DisplayName="WS-Security Type(UsernameToken, SAML..)" ShortDescription="Type of WS-Security to be used; Combinations of multiple security types can be used with a space in-between. Allowed types are: (UsernameToken, UsernameToken-Digest, SAMLTokenUnsigned, SAMLTokenSigned, Signature, Timestamp, Encrypt)" DefaultValue="" />
+ <PropertyDefinition Name="XMLParmName" DisplayName="XML Parameter Name" ShortDescription="" DefaultValue="" IsHidden="true" IsModifiable="false" />
+ <PropertyDefinition Name="EncryptUserName" DisplayName="Encrypt UserName (only if Encrypt profile used)" ShortDescription="The username to be used in the encryption; if blank uses auth username" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="ExceptionOnSOAPFault" DisplayName="Exception on SOAP Fault" ShortDescription="Throw connector exception when SOAP fault is returned from source." DefaultValue="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="MaxFileCacheSize" DisplayName="Max Size of file cache (in kb)" ShortDescription="" DefaultValue="-1" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="RequestTimeout" DisplayName="Request Timeout (in Milliseconds)" ShortDescription="" DefaultValue="10000" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="CryptoPropertyFile" DisplayName="User Crypto Property File (If SAML or Signature profile used)" ShortDescription="The file defines properties of cryptography;defines the certificates;(crypto.properties)" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorStateClass" DisplayName="Connector State Class" ShortDescription="" DefaultValue="com.metamatrix.connector.xml.soap.SOAPConnectorState" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="SOAPAction" DisplayName="SOAP-Action" ShortDescription="Value for SOAP-Action header" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="AccessMethod" DisplayName="Access Method (Get, Post)" ShortDescription="" DefaultValue="post" IsRequired="true" IsHidden="true" IsModifiable="false">
+ <AllowedValue>get</AllowedValue>
+ <AllowedValue>post</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="ProxyUri" DisplayName="Proxy Server URI" ShortDescription="The URI of the proxy server" DefaultValue="" />
+ <PropertyDefinition Name="EncryptPropertyFile" DisplayName="Encrypt crypto property file (only if Encrypt profile used)" ShortDescription="The file defines properties of cryptography for encryption of the message;(crypto.properties)" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="ExceptionOnIntraQueryCacheExpiration" DisplayName="Exception On Intra-Query Cache Expiration" ShortDescription="Throw an exception when a document expires from the cache between executing different parts of a single query (instead of requesting the document again)" DefaultValue="true" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="ConnectorCapabilities" DisplayName="Connector Capabilities Class" ShortDescription="The class to use to provide the Connector Capabilities" DefaultValue="com.metamatrix.connector.xml.base.XMLCapabilities" IsExpert="true" />
+ <PropertyDefinition Name="SAMLPropertyFile" DisplayName="SAML Property File (only required when SAML profile used)" ShortDescription="SAML Security property file (saml.properties)" DefaultValue="" IsExpert="true" />
+ <PropertyDefinition Name="Standard" DisplayName="Standard Type" ShortDescription="Standard Built-in Connector Type" DefaultValue="true" PropertyType="Boolean" IsExpert="true" IsModifiable="false" />
+ <PropertyDefinition Name="EncodingStyle" DisplayName="Encoding Style (RPC - Encoded, RPC - Literal, Document - Literal, Document - Encoded)" ShortDescription="Encoding Style" DefaultValue="Document - Literal" IsRequired="true">
+ <AllowedValue>RPC - Encoded</AllowedValue>
+ <AllowedValue>RPC - Literal</AllowedValue>
+ <AllowedValue>Document - Literal</AllowedValue>
+ <AllowedValue>Document - Encoded</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="ConnectorClass" DisplayName="Connector Class" ShortDescription="" DefaultValue="com.metamatrix.connector.xml.base.XMLConnector" IsRequired="true" IsExpert="true" />
+ <PropertyDefinition Name="Uri" DisplayName="Server URI" ShortDescription="The URI of the HTTP source" IsRequired="true" />
+ <PropertyDefinition Name="SecurityType" DisplayName="WebService Security Used(None, HTTPBasic, WS-Security)" ShortDescription="Type of Authentication to used with the web service; If WS-Secuirty is being used, then WS-Secuirty type must be defined" DefaultValue="None" IsRequired="true" />
+ <PropertyDefinition Name="LogRequestResponseDocs" DisplayName="Log XML Request and Response Documents" ShortDescription="Write the request and response documents to the log at Info level" DefaultValue="false" PropertyType="Boolean" IsExpert="true" />
+ <PropertyDefinition Name="TrustDeserializerClass" DisplayName="Trust Deserializer Class" ShortDescription="The class to use to process trusted payloads and execution payloads" DefaultValue="com.metamatrix.connector.xml.soap.DefaultSoapTrustDeserializer" IsExpert="true" />
+ <PropertyDefinition Name="ParameterMethod" DisplayName="Parameter Method (None, Name/Value, XMLRequest, XMLInQueryString)" ShortDescription="" DefaultValue="XMLRequest" IsRequired="true" IsHidden="true" IsModifiable="false">
+ <AllowedValue>None</AllowedValue>
+ <AllowedValue>Name/Value</AllowedValue>
+ <AllowedValue>XMLRequest</AllowedValue>
+ <AllowedValue>XMLInQueryString</AllowedValue>
+ </PropertyDefinition>
+ <PropertyDefinition Name="InputStreamFilterClass" DisplayName="Input Stream Filter Class" ShortDescription="The class to use to preprocess raw XML input stream" DefaultValue="com.metamatrix.connector.xml.base.PluggableInputStreamFilterImpl" IsExpert="true" />
+ <PropertyDefinition Name="MaxMemoryCacheSize" DisplayName="Max Size of in-memory cache (in kb)" ShortDescription="" DefaultValue="16384" IsRequired="true" PropertyType="Integer" />
+ <PropertyDefinition Name="HostnameVerifier" DisplayName="Hostname Verifier" ShortDescription="a class implmenting javax.net.ssl.HostnameVerifier. Used to implement a hostname mismatch workaround." IsExpert="true" />
+ <PropertyDefinition Name="TrustType" DisplayName="Trust Type:(DirectReference or IssuerSerial)" ShortDescription="Only required for Signature and Signed SAML; The issuer-serial method presumes that all trusted users of the service are known to the service and have pre-registered their certificate chains before using the service. The direct-reference method presumes that the service operator trusts all users with certificates issued by a trusted CA." DefaultValue="DirectReference" IsExpert="true" />
+ <PropertyDefinition Name="QueryPreprocessorClass" DisplayName="Query Preprocessor Class" ShortDescription="The class to use to preprocess the IQuery" DefaultValue="com.metamatrix.connector.xml.base.NoQueryPreprocessing" IsExpert="true" />
+ </ComponentType>
+
+ </ComponentTypes>
+ <SharedResources>
+ <Resource Name="resource1" ComponentType="Miscellaneous Resource Type" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="prop1">value1</Property>
+ </Properties>
+ </Resource>
+ <Resource Name="resource2" ComponentType="Miscellaneous Resource Type" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="prop2">value2</Property>
+ </Properties>
+ </Resource>
+
+ <Resource Name="JGroups" ComponentType="Miscellaneous Resource Type" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="udp.multicast_supported">true</Property>
+ <Property Name="udp.mcast_messagebus_port">(multicast.port)</Property>
+ <Property Name="udp.mcast_jndi_port">5556</Property>
+ <Property Name="udp.mcast_addr">(multicast.address)</Property>
+ <Property Name="ping.gossip_host">(gossip_host)</Property>
+ <Property Name="ping.gossip_port">5555</Property>
+ <Property Name="metamatrix.cluster.name">(cluster.name)</Property>
+ <Property Name="jgroups.other.channel.settings">MERGE2(min_interval=5000;max_interval=10000):FD_SOCK:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800):UNICAST(timeout=5000):pbcast.STABLE(desired_avg_gossip=20000):FRAG(frag_size=4096;down_thread=false;up_thread=false):pbcast.GMS(join_timeout=5000;join_retry_timeout=2000;shun=false;print_local_addr=true):pbcast.STATE_TRANSFER
+ </Property>
+ </Properties>
+ </Resource>
+ <Resource Name="SSL" ComponentType="Miscellaneous Resource Type" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="com.metamatrix.ssl.keystoretype">JKS</Property>
+ <Property Name="com.metamatrix.ssl.protocol">SSLv3</Property>
+ <Property Name="com.metamatrix.ssl.keymanagementalgorithm">SunX509</Property>
+ </Properties>
+ </Resource>
+ <Resource Name="XATransactionManager" ComponentType="Miscellaneous Resource Type" LastChangedBy="ConfigurationStartup" CreatedBy="ConfigurationStartup">
+ <Properties>
+ <Property Name="metamatrix.xatxnmgr.log_base_dir">txnlog</Property>
+ <Property Name="metamatrix.xatxnmgr.max_timeout">120000</Property>
+ <Property Name="metamatrix.xatxnmgr.max_log_filesize_in_mb">10</Property>
+ <Property Name="metamatrix.xatxnmgr.max_rolled_log_files">100</Property>
+ <Property Name="metamatrix.xatxnmgr.separate_log">true</Property>
+ <Property Name="metamatrix.xatxnmgr.txnstatus_port">0</Property>
+ </Properties>
+ </Resource>
+ </SharedResources>
+</ConfigurationDocument>
\ No newline at end of file
Property changes on: trunk/server/src/test/resources/config/config_multihost_getWorkerPools.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
[View Less]
15 years, 9 months