teiid SVN: r2031 - in trunk: client/src/main/java/org/teiid/client/plan and 34 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2010-04-06 23:29:59 -0400 (Tue, 06 Apr 2010)
New Revision: 2031
Added:
trunk/client/src/test/java/org/teiid/client/plan/TestPlanNode.java
trunk/documentation/reference/src/main/docbook/en-US/content/other_commands.xml
Removed:
trunk/client/src/main/java/org/teiid/client/plan/DefaultDisplayHelper.java
trunk/client/src/main/java/org/teiid/client/plan/DisplayHelper.java
trunk/client/src/main/java/org/teiid/client/plan/PlanVisitor.java
trunk/client/src/main/java/org/teiid/client/plan/TextOutputVisitor.java
trunk/client/src/main/java/org/teiid/client/plan/XMLOutputVisitor.java
trunk/client/src/test/java/org/teiid/client/plan/TestTextOutputVisitor.java
trunk/client/src/test/java/org/teiid/client/plan/TestXMLOutputVisitor.java
trunk/client/src/test/java/org/teiid/jdbc/TestMMDriver.java
trunk/documentation/reference/src/main/docbook/en-US/content/connectors.xml
trunk/engine/src/main/java/com/metamatrix/query/processor/Describable.java
trunk/engine/src/main/java/com/metamatrix/query/processor/DescribableUtil.java
trunk/engine/src/main/java/com/metamatrix/query/processor/proc/AbstractAssignmentInstruction.java
trunk/engine/src/test/java/org/teiid/adminapi/
Modified:
trunk/client/src/main/java/org/teiid/client/RequestMessage.java
trunk/client/src/main/java/org/teiid/client/ResultsMessage.java
trunk/client/src/main/java/org/teiid/client/plan/PlanNode.java
trunk/client/src/main/java/org/teiid/jdbc/BaseDataSource.java
trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java
trunk/client/src/main/java/org/teiid/jdbc/ExecutionProperties.java
trunk/client/src/main/java/org/teiid/jdbc/JDBCURL.java
trunk/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java
trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java
trunk/client/src/main/java/org/teiid/jdbc/TeiidStatement.java
trunk/client/src/test/java/org/teiid/client/TestRequestMessage.java
trunk/client/src/test/java/org/teiid/jdbc/TestMMStatement.java
trunk/client/src/test/java/org/teiid/jdbc/TestTeiidDataSource.java
trunk/client/src/test/java/org/teiid/jdbc/TestTeiidDriver.java
trunk/connector-api/src/main/java/org/teiid/connector/language/SQLReservedWords.java
trunk/documentation/reference/src/main/docbook/en-US/Reference.xml
trunk/documentation/reference/src/main/docbook/en-US/content/sql_support.xml
trunk/documentation/reference/src/main/docbook/en-US/content/transaction_support.xml
trunk/engine/src/main/java/com/metamatrix/query/analysis/AnalysisRecord.java
trunk/engine/src/main/java/com/metamatrix/query/mapping/xml/ResultSetInfo.java
trunk/engine/src/main/java/com/metamatrix/query/optimizer/proc/ProcedurePlanner.java
trunk/engine/src/main/java/com/metamatrix/query/optimizer/xml/XMLPlanner.java
trunk/engine/src/main/java/com/metamatrix/query/processor/ProcessorPlan.java
trunk/engine/src/main/java/com/metamatrix/query/processor/batch/BatchedUpdatePlan.java
trunk/engine/src/main/java/com/metamatrix/query/processor/proc/AssignmentInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/proc/BreakInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/proc/ContinueInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/proc/CreateCursorResultSetInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/proc/ErrorInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/proc/ExecDynamicSqlInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/proc/IfInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/proc/LoopInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/proc/ProcedurePlan.java
trunk/engine/src/main/java/com/metamatrix/query/processor/proc/WhileInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/program/Program.java
trunk/engine/src/main/java/com/metamatrix/query/processor/program/ProgramInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/AccessNode.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/DependentAccessNode.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/DependentProcedureAccessNode.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/DependentProcedureExecutionNode.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/GroupingNode.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/JoinNode.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/LimitNode.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/NullNode.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/PlanExecutionNode.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/ProjectIntoNode.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/ProjectNode.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/RelationalNode.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/RelationalNodeStatistics.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/RelationalPlan.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/SelectNode.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/SortNode.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/SubqueryAwareEvaluator.java
trunk/engine/src/main/java/com/metamatrix/query/processor/relational/UnionAllNode.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/AbortProcessingInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/AddCommentInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/AddNodeInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/BlockInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/EndBlockInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/EndDocumentInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/ExecSqlInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/ExecStagingTableInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/IfInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/InitializeDocumentInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/JoinedWhileInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/MoveCursorInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/MoveDocInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/ProcessorInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/Program.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/RelationalPlanExecutor.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/WhileInstruction.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/XMLPlan.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/XMLPostProcessor.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xml/XMLProcessorEnvironment.java
trunk/engine/src/main/java/com/metamatrix/query/processor/xquery/XQueryPlan.java
trunk/engine/src/main/java/com/metamatrix/query/sql/lang/Option.java
trunk/engine/src/main/java/com/metamatrix/query/sql/visitor/SQLStringVisitor.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java
trunk/engine/src/main/javacc/com/metamatrix/query/parser/SQLParser.jj
trunk/engine/src/test/java/com/metamatrix/dqp/message/TestResultsMessage.java
trunk/engine/src/test/java/com/metamatrix/query/analysis/TestAnalysisRecord.java
trunk/engine/src/test/java/com/metamatrix/query/optimizer/xml/TestXMLPlanner.java
trunk/engine/src/test/java/com/metamatrix/query/parser/TestOptionsAndHints.java
trunk/engine/src/test/java/com/metamatrix/query/parser/TestParserXQuery.java
trunk/engine/src/test/java/com/metamatrix/query/processor/FakeProcessorPlan.java
trunk/engine/src/test/java/com/metamatrix/query/processor/proc/TestProcedureProcessor.java
trunk/engine/src/test/java/com/metamatrix/query/processor/relational/TestRelationalNodeStatistics.java
trunk/engine/src/test/java/com/metamatrix/query/processor/xml/NoOpInstruction.java
trunk/engine/src/test/java/com/metamatrix/query/sql/lang/TestOption.java
trunk/engine/src/test/java/com/metamatrix/query/sql/visitor/TestSQLStringVisitor.java
trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestPreparedPlanCache.java
Log:
TEIID-908 TEIID-1040 refining the plannode logic and moving option debug, showplan, and planonly to be set commands
Modified: trunk/client/src/main/java/org/teiid/client/RequestMessage.java
===================================================================
--- trunk/client/src/main/java/org/teiid/client/RequestMessage.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/main/java/org/teiid/client/RequestMessage.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -55,7 +55,6 @@
*/
public static final String TXN_WRAP_DETECT = "DETECT"; //$NON-NLS-1$
-
public enum StatementType {
PREPARED, CALLABLE, STATEMENT
}
@@ -63,6 +62,10 @@
public enum ResultsMode {
RESULTSET, UPDATECOUNT, EITHER
}
+
+ public enum ShowPlan {
+ ON, DEBUG, OFF
+ }
private String[] commands;
private boolean isBatchedUpdate;
@@ -80,11 +83,12 @@
private boolean useResultSetCache;
// Treat the double quoted strings as variables in the command
private boolean ansiQuotedIdentifiers = true;
- private boolean showPlan;
+ private ShowPlan showPlan = ShowPlan.OFF;
private int rowLimit;
private Serializable executionPayload;
private long executionId;
private int transactionIsolation;
+ private boolean noExec;
public RequestMessage() {
}
@@ -261,26 +265,16 @@
public void setAnsiQuotedIdentifiers(boolean ansiQuotedIdentifiers) {
this.ansiQuotedIdentifiers = ansiQuotedIdentifiers;
}
+
+ public ShowPlan getShowPlan() {
+ return showPlan;
+ }
+
+ public void setShowPlan(ShowPlan showPlan) {
+ this.showPlan = showPlan;
+ }
/**
- * @return Returns the showPlan.
- * @since 4.3
- */
- public boolean getShowPlan() {
- return this.showPlan;
- }
-
-
- /**
- * @param showPlan The showPlan to set.
- * @since 4.3
- */
- public void setShowPlan(boolean showPlan) {
- this.showPlan = showPlan;
- }
-
-
- /**
* @return Returns the rowLimit.
* @since 4.3
*/
@@ -344,6 +338,14 @@
public void setTransactionIsolation(int transactionIsolation) {
this.transactionIsolation = transactionIsolation;
}
+
+ public boolean isNoExec() {
+ return noExec;
+ }
+
+ public void setNoExec(boolean noExec) {
+ this.noExec = noExec;
+ }
@Override
public void readExternal(ObjectInput in) throws IOException,
@@ -362,11 +364,12 @@
this.resultsMode = ResultsMode.values()[in.readByte()];
this.useResultSetCache = in.readBoolean();
this.ansiQuotedIdentifiers = in.readBoolean();
- this.showPlan = in.readBoolean();
+ this.showPlan = ShowPlan.values()[in.readByte()];
this.rowLimit = in.readInt();
this.executionPayload = (Serializable)in.readObject();
this.executionId = in.readLong();
this.transactionIsolation = in.readInt();
+ this.noExec = in.readBoolean();
}
@Override
@@ -385,11 +388,12 @@
out.writeByte(resultsMode.ordinal());
out.writeBoolean(useResultSetCache);
out.writeBoolean(ansiQuotedIdentifiers);
- out.writeBoolean(showPlan);
+ out.writeByte(showPlan.ordinal());
out.writeInt(rowLimit);
out.writeObject(executionPayload);
out.writeLong(executionId);
out.writeInt(transactionIsolation);
+ out.writeBoolean(noExec);
}
}
Modified: trunk/client/src/main/java/org/teiid/client/ResultsMessage.java
===================================================================
--- trunk/client/src/main/java/org/teiid/client/ResultsMessage.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/main/java/org/teiid/client/ResultsMessage.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -29,9 +29,9 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import java.util.Map;
import org.teiid.client.plan.Annotation;
+import org.teiid.client.plan.PlanNode;
import com.metamatrix.api.exception.ExceptionHolder;
import com.metamatrix.api.exception.MetaMatrixException;
@@ -49,7 +49,7 @@
private String[] dataTypes = null;
/** A description of planning that occurred as requested in the request. */
- private Map planDescription;
+ private PlanNode planDescription;
/** An exception that occurred. */
private MetaMatrixException exception;
@@ -155,7 +155,7 @@
/**
* @return
*/
- public Map getPlanDescription() {
+ public PlanNode getPlanDescription() {
return planDescription;
}
@@ -201,7 +201,7 @@
/**
* @param object
*/
- public void setPlanDescription(Map object) {
+ public void setPlanDescription(PlanNode object) {
planDescription = object;
}
@@ -249,7 +249,7 @@
results = BatchSerializer.readBatch(in, dataTypes);
// Plan Descriptions
- planDescription = ExternalizeUtil.readMap(in);
+ planDescription = (PlanNode)in.readObject();
ExceptionHolder holder = (ExceptionHolder)in.readObject();
if (holder != null) {
@@ -281,7 +281,7 @@
BatchSerializer.writeBatch(out, dataTypes, results);
// Plan descriptions
- ExternalizeUtil.writeMap(out, planDescription);
+ out.writeObject(this.planDescription);
if (exception != null) {
out.writeObject(new ExceptionHolder(exception));
Deleted: trunk/client/src/main/java/org/teiid/client/plan/DefaultDisplayHelper.java
===================================================================
--- trunk/client/src/main/java/org/teiid/client/plan/DefaultDisplayHelper.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/main/java/org/teiid/client/plan/DefaultDisplayHelper.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -1,60 +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 org.teiid.client.plan;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Implement a default display helper that can be used with the {@link TextOutputVisitor}
- * and {@link XMLOutputVisitor}.
- */
-public class DefaultDisplayHelper implements DisplayHelper {
-
- public String getName(PlanNode node) {
- return (String)node.getProperties().get(PlanNode.TYPE);
- }
-
- public String getDescription(PlanNode node) {
- return ""; //$NON-NLS-1$
- }
-
- public List<String> getOrderedProperties(PlanNode node) {
- List<String> props = new ArrayList<String>(node.getProperties().keySet());
- props.remove(PlanNode.TYPE);
- if(props.contains(PlanNode.OUTPUT_COLS)) {
- props.remove(PlanNode.OUTPUT_COLS);
- props.add(0, PlanNode.OUTPUT_COLS);
- }
- return props;
- }
-
- public String getPropertyName(String property) {
- return property;
- }
-
- public void setMaxDescriptionLength(int length) {
-
- }
-
-}
Deleted: trunk/client/src/main/java/org/teiid/client/plan/DisplayHelper.java
===================================================================
--- trunk/client/src/main/java/org/teiid/client/plan/DisplayHelper.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/main/java/org/teiid/client/plan/DisplayHelper.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -1,74 +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 org.teiid.client.plan;
-
-import java.util.List;
-
-/**
- * This interface is used to plug in display-specific information for the
- * {@link TextOutputVisitor}.
- */
-public interface DisplayHelper {
-
- /**
- * Get the name to use for this plan node. An obvious implementation
- * is to use the node's type.
- * @param node The node
- * @return The name, based on the node's information
- */
- String getName(PlanNode node);
-
- /**
- * Get the description to use for this plan node, which is usually displayed
- * after the name as a short description. The description should pull out
- * the most important information for a particular node type.
- * @param node The node
- * @return The description
- */
- String getDescription(PlanNode node);
-
- /**
- * Determine the proper order to display the properties of the node. The
- * returned List contains the property names as found in the node's
- * properties in the preferred order. If properties are omitted from the list,
- * they will not be displayed. Thus, this method can also filter what properties
- * are shown.
- * @param node The node
- * @return List of property names
- */
- List<String> getOrderedProperties(PlanNode node);
-
- /**
- * Get display name for a particular property name.
- * @param property The property name, as used in the node's properties
- * @return The desired display name for the property
- */
- String getPropertyName(String property);
-
- /**
- * A max description length so that the description can be truncated when necessary.
- * @param length Max string length
- */
- void setMaxDescriptionLength(int length);
-
-}
Modified: trunk/client/src/main/java/org/teiid/client/plan/PlanNode.java
===================================================================
--- trunk/client/src/main/java/org/teiid/client/plan/PlanNode.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/main/java/org/teiid/client/plan/PlanNode.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,23 +22,101 @@
package org.teiid.client.plan;
-import java.util.*;
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.io.StringWriter;
+import java.util.Arrays;
+import java.util.LinkedList;
+import java.util.List;
-public class PlanNode {
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
- //TODO: consolidate these constants with Describable
- public static final String OUTPUT_COLS = "outputCols"; //$NON-NLS-1$
- public static final String TYPE = "type"; //$NON-NLS-1$
- static final String PROP_CHILDREN = "children"; //$NON-NLS-1$
+import com.metamatrix.core.util.ExternalizeUtil;
+
+@XmlType
+@XmlRootElement(name="node")
+public class PlanNode implements Externalizable {
+
+ @XmlType(name = "property")
+ public static class Property implements Externalizable {
+ @XmlAttribute
+ private String name;
+ private List<String> values;
+ private PlanNode planNode;
+
+ public Property() {
+
+ }
+
+ public Property(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ @XmlElement(name="value")
+ public List<String> getValues() {
+ return values;
+ }
+
+ public void setValues(List<String> values) {
+ this.values = values;
+ }
+
+ @XmlElement(name="node")
+ public PlanNode getPlanNode() {
+ return planNode;
+ }
+
+ public void setPlanNode(PlanNode planNode) {
+ this.planNode = planNode;
+ }
+
+ @Override
+ public void readExternal(ObjectInput in) throws IOException,
+ ClassNotFoundException {
+ this.name = (String)in.readObject();
+ this.values = ExternalizeUtil.readList(in, String.class);
+ this.planNode = (PlanNode)in.readObject();
+ }
+
+ @Override
+ public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(name);
+ ExternalizeUtil.writeCollection(out, values);
+ out.writeObject(planNode);
+ }
+
+ }
+
+ @XmlElement(name="property")
+ private List<Property> properties = new LinkedList<Property>();
+ private PlanNode parent;
+ @XmlAttribute
+ private String name;
- private Map<String, Object> props;
- private PlanNode parent;
- private List<PlanNode> children = new ArrayList<PlanNode>();
+ public PlanNode() {
+
+ }
- PlanNode(Map<String, Object> props) {
- this.props = props;
+ public PlanNode(String name) {
+ this.name = name;
}
-
+
+ public String getName() {
+ return name;
+ }
+
void setParent(PlanNode parent) {
this.parent = parent;
}
@@ -46,49 +124,105 @@
public PlanNode getParent() {
return this.parent;
}
-
- void addChild(PlanNode child) {
- children.add(child);
+
+ public List<Property> getProperties() {
+ return properties;
+ }
+
+ public void addProperty(String pname, PlanNode value) {
+ Property p = new Property(pname);
+ p.setPlanNode(value);
+ value.setParent(this);
+ this.properties.add(p);
}
-
- public List<PlanNode> getChildren() {
- return this.children;
+
+ public void addProperty(String pname, List<String> value) {
+ Property p = new Property(pname);
+ p.setValues(value);
+ this.properties.add(p);
}
-
- public Map<String, Object> getProperties() {
- return this.props;
+
+ public void addProperty(String pname, String value) {
+ Property p = new Property(pname);
+ p.setValues(Arrays.asList(value));
+ this.properties.add(p);
}
- public static PlanNode constructFromMap(Map properties) {
- // Construct node without child property
- Map copy = new HashMap(properties);
- List childMaps = (List) copy.remove(PROP_CHILDREN);
+ public String toXml() throws JAXBException {
+ JAXBContext jc = JAXBContext.newInstance(new Class<?>[] {PlanNode.class});
+ Marshaller marshaller = jc.createMarshaller();
+ marshaller.setProperty("jaxb.formatted.output", Boolean.TRUE); //$NON-NLS-1$
+ StringWriter writer = new StringWriter();
+ marshaller.marshal(this, writer);
+ return writer.toString();
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ visitNode(this, 0, builder);
+ return builder.toString();
+ }
+
+ /*
+ * @see com.metamatrix.jdbc.plan.PlanVisitor#visitNode(com.metamatrix.jdbc.plan.PlanNode)
+ */
+ protected void visitNode(PlanNode node, int nodeLevel, StringBuilder text) {
+ for(int i=0; i<nodeLevel; i++) {
+ text.append(" "); //$NON-NLS-1$
+ }
+ text.append(node.getName());
+ text.append("\n"); //$NON-NLS-1$
- // Convert any subplans to PlanNodes as well
- Iterator keyIter = copy.keySet().iterator();
- while(keyIter.hasNext()) {
- Object key = keyIter.next();
- Object value = copy.get(key);
- if(value instanceof Map) {
- copy.put(key, constructFromMap((Map)value));
- }
+ // Print properties appropriately
+ int propTabs = nodeLevel + 1;
+ for (PlanNode.Property property : node.getProperties()) {
+ // Print leading spaces for prop name
+ for(int t=0; t<propTabs; t++) {
+ text.append(" "); //$NON-NLS-1$
+ }
+ printProperty(nodeLevel, property, text);
}
+ }
- // Construct this node
- PlanNode node = new PlanNode(copy);
-
- // Then construct children and connect
- if(childMaps != null) {
- for(int i=0; i<childMaps.size(); i++) {
- Map childMap = (Map) childMaps.get(i);
- PlanNode child = constructFromMap(childMap);
- child.setParent(node);
- node.addChild(child);
- }
+ private void printProperty(int nodeLevel, Property p, StringBuilder text) {
+ text.append("+ "); //$NON-NLS-1$
+ text.append(p.getName());
+
+ if (p.getPlanNode() != null) {
+ text.append(":\n"); //$NON-NLS-1$
+ visitNode(p.getPlanNode(), nodeLevel + 2, text);
+ } else if (p.getValues().size() > 1){
+ text.append(":\n"); //$NON-NLS-1$
+ for (int i = 0; i < p.getValues().size(); i++) {
+ for(int t=0; t<nodeLevel+2; t++) {
+ text.append(" "); //$NON-NLS-1$
+ }
+ text.append(i);
+ text.append(": "); //$NON-NLS-1$
+ text.append(p.getValues().get(i));
+ text.append("\n"); //$NON-NLS-1$
+ }
+ } else {
+ text.append(":"); //$NON-NLS-1$
+ text.append(p.getValues().get(0));
+ text.append("\n"); //$NON-NLS-1$
}
-
- // And return
- return node;
}
-
+
+ @Override
+ public void readExternal(ObjectInput in) throws IOException,
+ ClassNotFoundException {
+ this.properties = ExternalizeUtil.readList(in, Property.class);
+ this.parent = (PlanNode)in.readObject();
+ this.name = (String)in.readObject();
+ }
+
+ @Override
+ public void writeExternal(ObjectOutput out) throws IOException {
+ ExternalizeUtil.writeCollection(out, properties);
+ out.writeObject(this.parent);
+ out.writeObject(this.name);
+ }
+
}
Deleted: trunk/client/src/main/java/org/teiid/client/plan/PlanVisitor.java
===================================================================
--- trunk/client/src/main/java/org/teiid/client/plan/PlanVisitor.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/main/java/org/teiid/client/plan/PlanVisitor.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -1,91 +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 org.teiid.client.plan;
-
-import java.util.Collection;
-import java.util.LinkedList;
-
-/**
- * A helper class to walk a query plan and execute some action at each node.
- * Subclasses should override the appropriate visit() methods to get
- * notification when a node of each type is visited.
- */
-public abstract class PlanVisitor {
-
- /**
- * Construct the visitor with a reference to the root node.
- */
- public PlanVisitor() {
- }
-
-
- /**
- * <p>This method controls how a tree is visited from the rootNode. This implementation
- * will walk the tree in pre-order (a node is visited before it's children) and will
- * visit a particular node in the following order: node itself, each property of the
- * node, and finally the children of the node, in order.</p>
- *
- * <p>Subclasses may override this method to manipulate the visitor order if desired.</p>
- *
- * @param rootNode The rootNode of the tree
- */
- public void visit(PlanNode rootNode) {
- LinkedList<PlanNode> nodeStack = new LinkedList<PlanNode>();
- nodeStack.add(rootNode);
-
- while(! nodeStack.isEmpty()) {
- // Obtain next node
- PlanNode node = nodeStack.removeFirst();
-
- // Visit node
- visitNode(node);
-
- // Add children to stack
- nodeStack.addAll(node.getChildren());
- }
- }
-
- /**
- * Visit a node.
- * @param node The node being visited
- */
- protected abstract void visitNode(PlanNode node);
-
- /**
- * Visit a property value.
- * @param node The node being visited
- * @param propertyName The property name being visited
- * @param propertyValue The property value being visited
- */
- protected abstract void visitPropertyValue(PlanNode node, String propertyName, Object propertyValue);
-
- /**
- * Visit a container property - the container property will be visited, then
- * each particular value of the container will be visited.
- * @param node The node being visited
- * @param propertyName The property name being visited
- * @param propertyValue The collection value being visited
- */
- protected abstract void visitContainerProperty(PlanNode node, String propertyName, Collection propertyValue);
-
-}
Deleted: trunk/client/src/main/java/org/teiid/client/plan/TextOutputVisitor.java
===================================================================
--- trunk/client/src/main/java/org/teiid/client/plan/TextOutputVisitor.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/main/java/org/teiid/client/plan/TextOutputVisitor.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -1,171 +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 org.teiid.client.plan;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-/**
- * This visitor class can be used to output a formatted text representation of the
- * plan.
- */
-public class TextOutputVisitor extends PlanVisitor {
-
- // Initialization state
- private DisplayHelper displayHelper;
- private int tabs = 0;
-
- // Processing state
- private Map nodeLevels = new HashMap();
- private StringBuffer text = new StringBuffer();
-
- /**
- * Construct the visitor.
- * @param displayHelper Helper to help format the display
- * @param initialTabs Number of tabs to put before every line
- */
- public TextOutputVisitor(DisplayHelper displayHelper, int initialTabs) {
- super();
- this.displayHelper = displayHelper;
- this.tabs = initialTabs;
- }
-
- /**
- * Return string representation of the plan
- * @return String representation of the plan
- */
- public String getText() {
- return this.text.toString();
- }
-
- /*
- * @see com.metamatrix.jdbc.plan.PlanVisitor#visitNode(com.metamatrix.jdbc.plan.PlanNode)
- */
- protected void visitNode(PlanNode node) {
-
- // Determine level and record in nodeLevels
- PlanNode parent = node.getParent();
- Integer nodeLevel;
- if(parent == null) {
- nodeLevel = new Integer(0);
- } else {
- Integer parentLevel = (Integer) nodeLevels.get(parent);
- nodeLevel = new Integer(parentLevel.intValue() + 1);
- }
- nodeLevels.put(node, nodeLevel);
-
- // Start line for this node with indentation
- int numTabs = nodeLevel.intValue() + this.tabs;
- for(int i=0; i<numTabs; i++) {
- text.append(" "); //$NON-NLS-1$
- }
- String name=displayHelper.getName(node);
- text.append(name);
- text.append("\n"); //$NON-NLS-1$
-
- // Print properties appropriately
- int propTabs = numTabs + 1;
- List orderedProps = displayHelper.getOrderedProperties(node);
- for(int i=0; i< orderedProps.size(); i++) {
- String propName = (String) orderedProps.get(i);
- Object propObject=node.getProperties().get(propName);
-
- // Print leading spaces for prop name
- for(int t=0; t<propTabs; t++) {
- text.append(" "); //$NON-NLS-1$
- }
-
- // Print prop name and value
- if (propObject instanceof Collection) {
- printCollectionValue(propTabs, propName, propObject);
- } else if(propObject instanceof PlanNode) {
- printNodeValue(numTabs, propName, propObject);
- } else { // something like String, Integer, Boolean, etc
- printScalarValue(node, propName);
- }
- }
- }
-
- private void printScalarValue(PlanNode node, String propName) {
- text.append("+ "); //$NON-NLS-1$
- text.append(displayHelper.getPropertyName(propName));
- text.append(": "); //$NON-NLS-1$
- text.append(node.getProperties().get(propName));
- text.append("\n"); //$NON-NLS-1$
- }
-
- private void printNodeValue(int numTabs, String propName, Object propObject) {
- text.append("+ "); //$NON-NLS-1$
- text.append(displayHelper.getPropertyName(propName));
- text.append(":\n"); //$NON-NLS-1$
-
- TextOutputVisitor nestedVisitor = new TextOutputVisitor(this.displayHelper, numTabs+2);
- PlanNode nestedNode = (PlanNode) propObject;
- nestedVisitor.visit(nestedNode);
- text.append(nestedVisitor.getText());
- }
-
- private void printCollectionValue(int propTabs, String propName, Object propObject) {
- //Get the prop name from the key value
- text.append("+ "); //$NON-NLS-1$
- text.append(displayHelper.getPropertyName(propName));
- text.append(":\n"); //$NON-NLS-1$
- // Visit collection property
- Collection collection = (Collection) propObject;
- Iterator collectionIter = collection.iterator();
- for(int v=1; collectionIter.hasNext(); v++) {
- Object collectionValue = collectionIter.next();
- for(int t=0; t<propTabs+2; t++) {
- text.append(" "); //$NON-NLS-1$
- }
- text.append(v);
- text.append(": "); //$NON-NLS-1$
- text.append(collectionValue);
- text.append("\n"); //$NON-NLS-1$
- }
- }
-
- /*
- * @see com.metamatrix.jdbc.plan.PlanVisitor#visitPropertyValue(java.lang.String, java.lang.Object)
- */
- protected void visitPropertyValue(PlanNode node, String propertyName, Object propertyValue) {
-
- }
-
- /*
- * @see com.metamatrix.jdbc.plan.PlanVisitor#visitContainerProperty(java.lang.String, java.util.Collection)
- */
- protected void visitContainerProperty(PlanNode node, String propertyName, Collection propertyValue) {
-
- }
-
- public static String convertToText(PlanNode node, int initialTabs) {
- TextOutputVisitor visitor = new TextOutputVisitor(new DefaultDisplayHelper(), initialTabs);
- visitor.visit(node);
- return visitor.getText();
- }
-
-}
Deleted: trunk/client/src/main/java/org/teiid/client/plan/XMLOutputVisitor.java
===================================================================
--- trunk/client/src/main/java/org/teiid/client/plan/XMLOutputVisitor.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/main/java/org/teiid/client/plan/XMLOutputVisitor.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -1,221 +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 org.teiid.client.plan;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import com.metamatrix.core.util.StringUtil;
-
-/**
- * This visitor class can be used to output an XML representation of the plan.
- */
-public class XMLOutputVisitor {
-
- // Initialization state
- private DisplayHelper displayHelper;
- private int tabs = 0;
-
- // Processing state
- private Map nodeLevels = new HashMap();
- private StringBuffer text;
-
- public XMLOutputVisitor(DisplayHelper displayHelper) {
- this(displayHelper, 0, true);
- }
-
- public XMLOutputVisitor(DisplayHelper displayHelper, int initialTabs, boolean printXMLHeader) {
- this.displayHelper = displayHelper;
- this.tabs = initialTabs;
-
- text = new StringBuffer();
- if(printXMLHeader) {
- text.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"); //$NON-NLS-1$
- }
- }
-
- /**
- * Return string representation of the plan
- * @return String representation of the plan
- */
- public String getText() {
- return this.text.toString();
- }
-
- /*
- * @see com.metamatrix.jdbc.plan.PlanVisitor#visitNode(com.metamatrix.jdbc.plan.PlanNode)
- */
- public void visit(PlanNode node) {
- // Determine level and record in nodeLevels
- PlanNode parent = node.getParent();
- Integer nodeLevel;
- if(parent == null) {
- nodeLevel = new Integer(0);
- } else {
- Integer parentLevel = (Integer) nodeLevels.get(parent);
- nodeLevel = new Integer(parentLevel.intValue() + 1);
- }
- nodeLevels.put(node, nodeLevel);
-
- // Start line for this node with indentation
- int numTabs = nodeLevel.intValue() + this.tabs;
- text.append(getTab(numTabs));
-
- String name=displayHelper.getName(node);
- text.append("<node name=\""); //$NON-NLS-1$
- text.append(escapeForXML(name));
- text.append("\">\n"); //$NON-NLS-1$
-
- // Print properties appropriately
- int propTabs = numTabs + 2;
- List orderedProps = displayHelper.getOrderedProperties(node);
- if(orderedProps.size() > 0) {
- text.append(getTab(numTabs+1));
- text.append("<properties>\n"); //$NON-NLS-1$
- for(int i=0; i< orderedProps.size(); i++) {
- String propName = (String) orderedProps.get(i);
- Object propObject=node.getProperties().get(propName);
-
- // Print leading spaces for prop name
- text.append(getTab(propTabs));
-
- // Print prop name and value
- if (propObject instanceof Collection) {
- printCollectionValue(propTabs, propName, propObject);
- } else if(propObject instanceof PlanNode) {
- printNodeValue(propTabs, propName, propObject);
- } else { // something like String, Integer, Boolean, etc
- printScalarValue(node, propName);
- }
- }
- text.append(getTab(numTabs+1));
- text.append("</properties>\n"); //$NON-NLS-1$
- }
-
- // Visit children
- List children = node.getChildren();
- Iterator childIter = children.iterator();
- while(childIter.hasNext()) {
- PlanNode child = (PlanNode) childIter.next();
- visit(child);
- }
-
- text.append(getTab(numTabs));
- text.append("</node>\n"); //$NON-NLS-1$
- }
-
- private void printScalarValue(PlanNode node, String propName) {
- text.append("<property name=\""); //$NON-NLS-1$
- text.append(escapeForXML(displayHelper.getPropertyName(propName)));
- text.append("\" value=\""); //$NON-NLS-1$
- text.append(escapeForXML(node.getProperties().get(propName)));
- text.append("\"/>\n"); //$NON-NLS-1$
- }
-
- private void printNodeValue(int numTabs, String propName, Object propObject) {
- text.append("<property name=\""); //$NON-NLS-1$
- text.append(escapeForXML(displayHelper.getPropertyName(propName)));
- text.append("\">\n"); //$NON-NLS-1$
-
- XMLOutputVisitor nestedVisitor = new XMLOutputVisitor(this.displayHelper, numTabs+1, false);
- PlanNode nestedNode = (PlanNode) propObject;
- nestedVisitor.visit(nestedNode);
- text.append(nestedVisitor.getText());
-
- text.append(getTab(numTabs));
- text.append("</property>\n"); //$NON-NLS-1$
- }
-
- private void printCollectionValue(int propTabs, String propName, Object propObject) {
- text.append("<property name=\""); //$NON-NLS-1$
- text.append(escapeForXML(displayHelper.getPropertyName(propName)));
- text.append("\">\n"); //$NON-NLS-1$
-
- text.append(getTab(propTabs+1));
- text.append("<collection>\n"); //$NON-NLS-1$
-
- // Visit collection property
- Collection collection = (Collection) propObject;
- Iterator collectionIter = collection.iterator();
- for(int v=1; collectionIter.hasNext(); v++) {
- Object collectionValue = collectionIter.next();
-
- text.append(getTab(propTabs+2));
- text.append("<value>"); //$NON-NLS-1$
- text.append(escapeForXML(collectionValue));
- text.append("</value>\n"); //$NON-NLS-1$
- }
-
- text.append(getTab(propTabs+1));
- text.append("</collection>\n"); //$NON-NLS-1$
-
- text.append(getTab(propTabs));
- text.append("</property>\n"); //$NON-NLS-1$
- }
-
- private Map tabCache = new HashMap();
- private String getTab(int tab) {
- Integer tabKey = new Integer(tab);
- String tabStr = (String) tabCache.get(tabKey);
- if(tabStr != null) {
- return tabStr;
- }
- StringBuffer tabBuffer = new StringBuffer();
- for(int t=0; t<tab; t++) {
- tabBuffer.append(" "); //$NON-NLS-1$
- }
- tabStr = tabBuffer.toString();
- tabCache.put(tabKey, tabStr);
- return tabStr;
- }
-
- private String escapeForXML(Object obj) {
- if(obj == null) {
- return "null"; //$NON-NLS-1$
- }
-
- String str = obj.toString();
- if(str.indexOf("<") >= 0 || str.indexOf(">") >= 0 || str.indexOf("\"") >= 0) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- StringBuffer newStr = new StringBuffer(str);
- StringUtil.replaceAll(newStr, "<", "<"); //$NON-NLS-1$ //$NON-NLS-2$
- StringUtil.replaceAll(newStr, ">", ">"); //$NON-NLS-1$ //$NON-NLS-2$
- StringUtil.replaceAll(newStr, "\"", """); //$NON-NLS-1$ //$NON-NLS-2$
- return newStr.toString();
- }
- return str;
- }
-
- /**
- * Helper method to perform a conversion using the {@link DefaultDisplayHelper}.
- * @param node The root of the plan tree to convert
- * @return The plan tree converted to XML
- */
- public static String convertToXML(PlanNode node) {
- XMLOutputVisitor visitor = new XMLOutputVisitor(new DefaultDisplayHelper());
- visitor.visit(node);
- return visitor.getText();
- }
-}
Modified: trunk/client/src/main/java/org/teiid/jdbc/BaseDataSource.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/BaseDataSource.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/main/java/org/teiid/jdbc/BaseDataSource.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -35,9 +35,6 @@
import org.teiid.client.RequestMessage;
import org.teiid.net.TeiidURL;
-
-
-
/**
* The Teiid JDBC DataSource implementation class of {@link javax.sql.DataSource} and
* {@link javax.sql.XADataSource}.
@@ -51,51 +48,6 @@
* The {@link javax.sql.XADataSource} interface is almost identical to the {@link javax.sql.DataSource}
* interface, but rather than returning {@link java.sql.Connection} instances, there are methods that
* return {@link javax.sql.XAConnection} instances that can be used with distributed transactions.
- * <p>
- * The following are the properties for this DataSource:
- * <table cellspacing="0" cellpadding="0" border="1" width="100%">
- * <tr><td><b>Property Name</b></td><td><b>Type</b></td><td><b>Description</b></td></tr>
- * <tr><td>applicationName </td><td><code>String</code></td><td>The <i>optional</i> name of the application using the DataSource.</td></tr>
- * <tr><td>clientToken </td><td><code>Serializable</code></td><td>The <i>optional</i> client token that will be passed directly
- * through to the connectors, which may use it and/or pass it
- * down to their underlying data source.
- * <p>
- * The form and type of the client token is up to the client but it <i>must</i> implement the
- * <code>Serializable</code> interface. Teiid does nothing with this token except to make it
- * available for authentication/augmentation/replacement upon authentication to the system and to
- * connectors that may require it at the data source level.
- * </p></td></tr>
- * <tr><td>databaseName </td><td><code>String</code></td><td>The name of a particular virtual database on a
- * Teiid Server.</td></tr>
- * <tr><td>databaseVersion </td><td><code>String</code></td><td>The <i>optional</i> version of a particular
- * virtual database on a Teiid Server;
- * if not supplied, then the latest version is assumed.</td></tr>
- * <tr><td>dataSourceName </td><td><code>String</code></td><td>The <i>optional</i> logical name for the underlying
- * <code>XADataSource</code> or <code>ConnectionPoolDataSource</code>;
- * used only when pooling connections or distributed transactions
- * are implemented.</td></tr>
- * <tr><td>description </td><td><code>String</code></td><td>The <i>optional</i> description of this data source.</td></tr>
- * <tr><td>logFile </td><td><code>String</code></td><td>The <i>optional</i> path and file name to which JDBC Log Statements
- * will be written; if none is specified, then no
- * Log Statements will be written.</td></tr>
- * <tr><td>logLevel </td><td><code>int </code></td><td>The <i>optional</i> level for logging, which only applies
- * if the <code>logFile</code> property is set. Value must be
- * one of the following:
- * <ul>
- * <li>"<code>0</code>" - no JDBC log messages will be written to the file;
- * this is the default</li>
- * <li>"<code>1</code>" - all JDBC log messages will be written to the file</li>
- * <li>"<code>2</code>" - all JDBC log messages as well as stack traces
- * of any exceptions thrown from this driver will be written
- * to the file</li>
- * </ul>
- * <tr><td>password</td><td><code>String</code></td><td>The user's password.</td></tr>
- * <tr><td>user</td><td><code>String</code></td><td>The user name to use for the connection.</td></tr>
- * <tr><td>partialResultsMode</td><td><code>boolean</code></td><td>Support partial results mode or not. </td></tr>
- * <tr><td>fetchSize</td><td><code>int</code></td><td>Set default fetch size for statements, default=500.</td></tr>
- * <tr><td>sqlOptions</td><td><code>String</code></td><td>Set sql options to use on every command. default=null</td></tr>
- * <table>
- * </p>
*/
public abstract class BaseDataSource extends WrapperImpl implements javax.sql.DataSource, XADataSource, ConnectionPoolDataSource, java.io.Serializable {
public static final String DEFAULT_APP_NAME = "JDBC"; //$NON-NLS-1$
@@ -183,8 +135,10 @@
*/
private int loginTimeout;
- private String sqlOptions;
+ private String showPlan;
+ private boolean noExec;
+
private String disableLocalTxn;
private String transactionAutoWrap;
@@ -264,17 +218,21 @@
}
if(this.getFetchSize() > 0) {
- props.setProperty(ExecutionProperties.PROP_FETCH_SIZE, "" + this.getFetchSize()); //$NON-NLS-1$
+ props.setProperty(ExecutionProperties.PROP_FETCH_SIZE, String.valueOf(this.getFetchSize()));
}
if (this.getResultSetCacheMode() != null && this.getResultSetCacheMode().trim().length() != 0) {
props.setProperty(ExecutionProperties.RESULT_SET_CACHE_MODE, this.getResultSetCacheMode());
}
- if (this.getSqlOptions() != null) {
- props.setProperty(ExecutionProperties.PROP_SQL_OPTIONS, this.getSqlOptions());
+ if (this.getShowPlan() != null) {
+ props.setProperty(ExecutionProperties.SQL_OPTION_SHOWPLAN, this.getShowPlan());
}
+ if (this.isNoExec()) {
+ props.setProperty(ExecutionProperties.NOEXEC, String.valueOf(this.isNoExec()));
+ }
+
if ( this.getTransactionAutoWrap() != null && this.getTransactionAutoWrap().trim().length() != 0 ) {
props.setProperty(ExecutionProperties.PROP_TXN_AUTO_WRAP, this.getTransactionAutoWrap());
}
@@ -610,24 +568,22 @@
return this.resultSetCacheMode;
}
- /**
- * Get special sqlOptions string, which can currently be set only to SHOWPLAN
- * @return Returns sqlOptions string or null if none
- * @since 4.3
- */
- public String getSqlOptions() {
- return this.sqlOptions;
- }
+ public String getShowPlan() {
+ return showPlan;
+ }
- /**
- * Sets special sqlOptions that should be used with each command.
- * @param sqlOptions SQL options, only "SHOWPLAN" is currently accepted
- * @since 4.3
- */
- public void setSqlOptions(String sqlOptions) {
- this.sqlOptions = sqlOptions;
- }
-
+ public void setShowPlan(String showPlan) {
+ this.showPlan = showPlan;
+ }
+
+ public void setNoExec(boolean noExec) {
+ this.noExec = noExec;
+ }
+
+ public boolean isNoExec() {
+ return noExec;
+ }
+
/**
* @deprecated
* @see #getAutoCommitTxn()
Modified: trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -69,9 +69,9 @@
// constant value giving extra name characters used in Identifiers
private final static String EXTRA_CHARS = ".@"; //$NON-NLS-1$
// constant value giving the key words not in SQL-92
- final static String KEY_WORDS = "OPTION, SHOWPLAN, DEBUG, BIGDECIMAL"+ //$NON-NLS-1$
- ", BIGDECIMAL, BIGINTEGER, BREAK, BYTE, CRITERIA, ERROR, FN, LONG, LOOP, MAKEDEP, MAKENOTDEP"+ //$NON-NLS-1$
- ", NOCACHE, OJ, PLANONLY, SQL_TSI_FRAC_SECOND, SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH"+ //$NON-NLS-1$
+ final static String KEY_WORDS = "OPTION, BIGDECIMAL"+ //$NON-NLS-1$
+ ", BIGDECIMAL, BIGINTEGER, BREAK, BYTE, CRITERIA, ERROR, FN, LIMIT, LONG, LOOP, MAKEDEP, MAKENOTDEP"+ //$NON-NLS-1$
+ ", NOCACHE, OJ, SQL_TSI_FRAC_SECOND, SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH"+ //$NON-NLS-1$
", SQL_TSI_QUARTER, SQL_TSI_YEAR, STRING, VIRTUAL, WHILE"; //$NON-NLS-1$
// constant value giving preferred name for a procedure
private final static String PROCEDURE_TERM = "StoredProcedure"; //$NON-NLS-1$
Modified: trunk/client/src/main/java/org/teiid/jdbc/ExecutionProperties.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/ExecutionProperties.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/main/java/org/teiid/jdbc/ExecutionProperties.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -88,15 +88,14 @@
public static final String ANSI_QUOTED_IDENTIFIERS = "ansiQuotedIdentifiers"; //$NON-NLS-1$
/**
- * Additional options/hints for executing the command
- * @since 4.3
+ * Can be one of ON|OFF|DEBUG
*/
- public static final String PROP_SQL_OPTIONS = "sqlOptions"; //$NON-NLS-1$
-
- /**
- * Passed as an option to PROP_SQL_OPTIONS
- */
public static final String SQL_OPTION_SHOWPLAN = "SHOWPLAN"; //$NON-NLS-1$
+ /**
+ * Can be one of ON|OFF
+ */
+ public static final String NOEXEC = "NOEXEC"; //$NON-NLS-1$
+
}
\ No newline at end of file
Modified: trunk/client/src/main/java/org/teiid/jdbc/JDBCURL.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/JDBCURL.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/main/java/org/teiid/jdbc/JDBCURL.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -55,7 +55,8 @@
ExecutionProperties.PROP_PARTIAL_RESULTS_MODE,
ExecutionProperties.RESULT_SET_CACHE_MODE,
ExecutionProperties.ANSI_QUOTED_IDENTIFIERS,
- ExecutionProperties.PROP_SQL_OPTIONS,
+ ExecutionProperties.SQL_OPTION_SHOWPLAN,
+ ExecutionProperties.NOEXEC,
ExecutionProperties.PROP_FETCH_SIZE,
ExecutionProperties.PROP_XML_FORMAT,
ExecutionProperties.PROP_XML_VALIDATION,
@@ -252,10 +253,6 @@
return properties.getProperty(ExecutionProperties.ANSI_QUOTED_IDENTIFIERS);
}
- public String getSQLOptions() {
- return properties.getProperty(ExecutionProperties.PROP_SQL_OPTIONS);
- }
-
public String getFetchSize() {
return properties.getProperty(ExecutionProperties.PROP_FETCH_SIZE);
}
Modified: trunk/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -25,7 +25,6 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
-import java.io.StringReader;
import java.math.BigDecimal;
import java.net.URL;
import java.sql.Array;
@@ -54,6 +53,7 @@
import org.teiid.client.ResultsMessage;
import org.teiid.client.lob.LobChunkInputStream;
import org.teiid.client.lob.StreamingLobChunckProducer;
+import org.teiid.client.plan.PlanNode;
import org.teiid.client.util.ResultsFuture;
import org.teiid.jdbc.BatchResults.Batch;
import org.teiid.jdbc.BatchResults.BatchFetcher;
@@ -104,7 +104,7 @@
private int resultColumns;
private int parameters;
private TimeZone serverTimeZone;
- private Map updatedPlanDescription;
+ private PlanNode updatedPlanDescription;
private int maxFieldSize;
private int fetchSize;
@@ -356,12 +356,12 @@
return batchResults.absolute(row, getOffset());
}
- protected Map getUpdatedPlanDescription() {
+ protected PlanNode getUpdatedPlanDescription() {
return updatedPlanDescription;
}
public Batch requestBatch(int beginRow) throws SQLException{
- logger.fine("CursorResultsImpl.requestBatch] thread name: " + Thread.currentThread().getName() + " requestID: " + requestID + " beginRow: " + beginRow ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ logger.fine("CursorResultsImpl.requestBatch] thread name: " + Thread.currentThread().getName() + " requestID: " + requestID + " beginRow: " + beginRow ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
checkClosed();
try {
ResultsFuture<ResultsMessage> results = statement.getDQP().processCursorRequest(requestID, beginRow, fetchSize);
Modified: trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -51,6 +51,7 @@
import org.teiid.client.RequestMessage;
import org.teiid.client.ResultsMessage;
import org.teiid.client.RequestMessage.ResultsMode;
+import org.teiid.client.RequestMessage.ShowPlan;
import org.teiid.client.metadata.ParameterInfo;
import org.teiid.client.plan.Annotation;
import org.teiid.client.plan.PlanNode;
@@ -106,7 +107,7 @@
protected long currentRequestID = -1;
// the last query plan description
- private Map currentPlanDescription;
+ private PlanNode currentPlanDescription;
// the last query debug log
private String debugLog;
@@ -143,7 +144,7 @@
//Map<out/inout/return param index --> index in results>
protected Map outParamIndexMap = new HashMap();
- private Pattern setStatement = Pattern.compile("\\s*set\\s*(\\w+)\\s*=\\s*(\\w*)", Pattern.CASE_INSENSITIVE); //$NON-NLS-1$
+ private static Pattern SET_STATEMENT = Pattern.compile("\\s*set\\s*(\\w+)\\s*(\\w*)", Pattern.CASE_INSENSITIVE); //$NON-NLS-1$
/**
* Factory Constructor
@@ -397,7 +398,7 @@
//handle set statement
if (commands.length == 1 && resultsMode != ResultsMode.RESULTSET) {
- Matcher match = setStatement.matcher(commands[0]);
+ Matcher match = SET_STATEMENT.matcher(commands[0]);
if (match.matches()) {
String key = match.group(1);
String value = match.group(2);
@@ -741,11 +742,18 @@
res.setAnsiQuotedIdentifiers(Boolean.valueOf(
getExecutionProperty(ExecutionProperties.ANSI_QUOTED_IDENTIFIERS))
.booleanValue());
- String sqlOptions = getExecutionProperty(ExecutionProperties.PROP_SQL_OPTIONS);
- if (sqlOptions != null &&
- sqlOptions.toUpperCase().indexOf(ExecutionProperties.SQL_OPTION_SHOWPLAN.toUpperCase()) >= 0) {
- res.setShowPlan(true);
+ String showPlan = getExecutionProperty(ExecutionProperties.SQL_OPTION_SHOWPLAN);
+ if (showPlan != null) {
+ try {
+ res.setShowPlan(ShowPlan.valueOf(showPlan));
+ } catch (IllegalArgumentException e) {
+
+ }
}
+ String noExec = getExecutionProperty(ExecutionProperties.NOEXEC);
+ if (noExec != null) {
+ res.setNoExec(noExec.equalsIgnoreCase("ON")); //$NON-NLS-1$
+ }
}
/**
@@ -879,7 +887,7 @@
this.styleSheet = null;
}
- void setPlanDescription(Map planDescription) {
+ void setPlanDescription(PlanNode planDescription) {
this.currentPlanDescription = planDescription;
}
@@ -899,13 +907,10 @@
public PlanNode getPlanDescription() {
Map planDescription = null;
if(this.resultSet != null) {
- planDescription = this.resultSet.getUpdatedPlanDescription();
+ return this.resultSet.getUpdatedPlanDescription();
}
- if(planDescription != null) {
- this.currentPlanDescription = planDescription;
- return PlanNode.constructFromMap(this.currentPlanDescription);
- }else if(this.currentPlanDescription != null) {
- return PlanNode.constructFromMap(this.currentPlanDescription);
+ if(currentPlanDescription != null) {
+ return this.currentPlanDescription;
}
return null;
}
Modified: trunk/client/src/main/java/org/teiid/jdbc/TeiidStatement.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/TeiidStatement.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/main/java/org/teiid/jdbc/TeiidStatement.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -42,6 +42,7 @@
* Get the execution property value.
* @param name Execution property name
* @return Execution property value or null if not set
+ * @deprecated
*/
String getExecutionProperty(String name);
@@ -49,6 +50,7 @@
* Set the execution property value.
* @param name Execution property name
* @param value Execution property value
+ * @deprecated use set property value
*/
void setExecutionProperty(String name, String value);
Modified: trunk/client/src/test/java/org/teiid/client/TestRequestMessage.java
===================================================================
--- trunk/client/src/test/java/org/teiid/client/TestRequestMessage.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/test/java/org/teiid/client/TestRequestMessage.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -26,6 +26,7 @@
import java.util.List;
import org.teiid.client.RequestMessage;
+import org.teiid.client.RequestMessage.ShowPlan;
import org.teiid.client.RequestMessage.StatementType;
import junit.framework.TestCase;
@@ -65,7 +66,7 @@
message.setValidationMode(true);
message.setXMLFormat("xMLFormat"); //$NON-NLS-1$
- message.setShowPlan(true);
+ message.setShowPlan(ShowPlan.ON);
message.setRowLimit(1313);
return message;
}
@@ -88,7 +89,7 @@
assertEquals(RequestMessage.TXN_WRAP_ON, copy.getTxnAutoWrapMode());
assertTrue(copy.getValidationMode());
assertEquals("xMLFormat", copy.getXMLFormat()); //$NON-NLS-1$
- assertTrue(copy.getShowPlan());
+ assertEquals(ShowPlan.ON, copy.getShowPlan());
assertEquals(1313, copy.getRowLimit());
}
Copied: trunk/client/src/test/java/org/teiid/client/plan/TestPlanNode.java (from rev 2021, trunk/client/src/test/java/org/teiid/client/plan/TestXMLOutputVisitor.java)
===================================================================
--- trunk/client/src/test/java/org/teiid/client/plan/TestPlanNode.java (rev 0)
+++ trunk/client/src/test/java/org/teiid/client/plan/TestPlanNode.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -0,0 +1,71 @@
+/*
+ * 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 org.teiid.client.plan;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+
+/**
+ */
+public class TestPlanNode extends TestCase {
+
+ public TestPlanNode(String name) {
+ super(name);
+ }
+
+ public static PlanNode example1() {
+ PlanNode map = new PlanNode("x"); //$NON-NLS-1$
+ map.addProperty("test", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ map.addProperty("string", "string"); //$NON-NLS-1$ //$NON-NLS-2$
+ List<String> list1 = new ArrayList<String>();
+ list1.add("item1"); //$NON-NLS-1$
+ list1.add("item2"); //$NON-NLS-1$
+ list1.add("item3"); //$NON-NLS-1$
+ map.addProperty("list<string>", list1); //$NON-NLS-1$
+
+ PlanNode child = new PlanNode("y"); //$NON-NLS-1$
+ List<String> outputCols = new ArrayList<String>();
+ outputCols.add("Name (string)"); //$NON-NLS-1$
+ outputCols.add("Year (integer)"); //$NON-NLS-1$
+ child.addProperty("outputCols", outputCols); //$NON-NLS-1$
+ child.addProperty("Join Type", "INNER JOIN"); //$NON-NLS-1$ //$NON-NLS-2$
+ List<String> crits = new ArrayList<String>();
+ crits.add("Item.ID = History.ID"); //$NON-NLS-1$
+ child.addProperty("Criteria", crits); //$NON-NLS-1$
+
+ map.addProperty("child", child); //$NON-NLS-1$
+ return map;
+ }
+
+ public void testXml() throws Exception {
+ assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<node name=\"x\">\n <property name=\"test\">\n <value></value>\n </property>\n <property name=\"string\">\n <value>string</value>\n </property>\n <property name=\"list<string>\">\n <value>item1</value>\n <value>item2</value>\n <value>item3</value>\n </property>\n <property name=\"child\">\n <node name=\"y\">\n <property name=\"outputCols\">\n <value>Name (string)</value>\n <value>Year (integer)</value>\n </property>\n <property name=\"Join Type\">\n <value>INNER JOIN</value>\n </property>\n <property name=\"Criteria\">\n <value>Item.ID = History.ID</value>\n </property>\n </node>\n </property>\n</node>\n", example1().toXml()); //$NON-NLS-1$
+ }
+
+ public void testText() throws Exception {
+ assertEquals("x\n + test:\n + string:string\n + list<string>:\n 0: item1\n 1: item2\n 2: item3\n + child:\n y\n + outputCols:\n 0: Name (string)\n 1: Year (integer)\n + Join Type:INNER JOIN\n + Criteria:Item.ID = History.ID\n", example1().toString()); //$NON-NLS-1$
+ }
+
+}
Deleted: trunk/client/src/test/java/org/teiid/client/plan/TestTextOutputVisitor.java
===================================================================
--- trunk/client/src/test/java/org/teiid/client/plan/TestTextOutputVisitor.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/test/java/org/teiid/client/plan/TestTextOutputVisitor.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -1,84 +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 org.teiid.client.plan;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-
-import org.teiid.client.plan.DefaultDisplayHelper;
-import org.teiid.client.plan.PlanNode;
-import org.teiid.client.plan.TextOutputVisitor;
-
-import junit.framework.TestCase;
-
-
-/**
- */
-public class TestTextOutputVisitor extends TestCase {
-
- /**
- * Constructor for TestTextOutputVisitor.
- * @param name
- */
- public TestTextOutputVisitor(String name) {
- super(name);
- }
-
- public static PlanNode example1() {
- HashMap<String, Object> map = new HashMap<String, Object>();
- map.put(PlanNode.TYPE, "x"); //$NON-NLS-1$
- map.put("test", ""); //$NON-NLS-1$ //$NON-NLS-2$
- map.put("string", "string"); //$NON-NLS-1$ //$NON-NLS-2$
- map.put("integer", new Integer(0)); //$NON-NLS-1$
- map.put("boolean", Boolean.TRUE); //$NON-NLS-1$
- List list1 = new ArrayList();
- list1.add("item1"); //$NON-NLS-1$
- list1.add("item2"); //$NON-NLS-1$
- list1.add("item3"); //$NON-NLS-1$
- map.put("list<string>", list1); //$NON-NLS-1$
-
- HashMap<String, Object> child = new HashMap<String, Object>();
- child.put(PlanNode.TYPE, "y"); //$NON-NLS-1$
- List<String> outputCols = new ArrayList<String>();
- outputCols.add("Name (string)"); //$NON-NLS-1$
- outputCols.add("Year (integer)"); //$NON-NLS-1$
- child.put(PlanNode.OUTPUT_COLS, outputCols);
- child.put("Join Type", "INNER JOIN"); //$NON-NLS-1$ //$NON-NLS-2$
- List<String> crits = new ArrayList<String>();
- crits.add("Item.ID = History.ID"); //$NON-NLS-1$
- child.put("Criteria", crits); //$NON-NLS-1$
-
- map.put(PlanNode.PROP_CHILDREN, Arrays.asList(child));
-
- return PlanNode.constructFromMap(map);
- }
-
- public void testWithDefaultDisplayHelper() {
- TextOutputVisitor v = new TextOutputVisitor(new DefaultDisplayHelper(), 0);
- v.visit(example1());
- assertEquals("x\n + test: \n + integer: 0\n + string: string\n + list<string>:\n 1: item1\n 2: item2\n 3: item3\n + boolean: true\n y\n + outputCols:\n 1: Name (string)\n 2: Year (integer)\n + Join Type: INNER JOIN\n + Criteria:\n 1: Item.ID = History.ID\n", v.getText()); //$NON-NLS-1$
- }
-
-}
Deleted: trunk/client/src/test/java/org/teiid/client/plan/TestXMLOutputVisitor.java
===================================================================
--- trunk/client/src/test/java/org/teiid/client/plan/TestXMLOutputVisitor.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/test/java/org/teiid/client/plan/TestXMLOutputVisitor.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -1,45 +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 org.teiid.client.plan;
-
-import org.teiid.client.plan.DefaultDisplayHelper;
-import org.teiid.client.plan.XMLOutputVisitor;
-
-import junit.framework.TestCase;
-
-
-/**
- */
-public class TestXMLOutputVisitor extends TestCase {
-
- public TestXMLOutputVisitor(String name) {
- super(name);
- }
-
- public void testWithDefaultDisplayHelper() {
- XMLOutputVisitor v = new XMLOutputVisitor(new DefaultDisplayHelper());
- v.visit(TestTextOutputVisitor.example1());
- assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<node name=\"x\">\n <properties>\n <property name=\"test\" value=\"\"/>\n <property name=\"integer\" value=\"0\"/>\n <property name=\"string\" value=\"string\"/>\n <property name=\"list<string>\">\n <collection>\n <value>item1</value>\n <value>item2</value>\n <value>item3</value>\n </collection>\n </property>\n <property name=\"boolean\" value=\"true\"/>\n </properties>\n <node name=\"y\">\n <properties>\n <property name=\"outputCols\">\n <collection>\n <value>Name (string)</value>\n <value>Year (integer)</value>\n </collection>\n </property>\n <property name=\"Join Type\" value=\"INNER JOIN\"/>\n <property name=\"Criteria\">\n <collection>\n <value>Item.ID = History.ID</value>\n </collection>\n </property>\n </properties>\n </node>\n</node>\n", v.getText()); //$NON-!
NLS-1$
- }
-
-}
Deleted: trunk/client/src/test/java/org/teiid/jdbc/TestMMDriver.java
===================================================================
--- trunk/client/src/test/java/org/teiid/jdbc/TestMMDriver.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/test/java/org/teiid/jdbc/TestMMDriver.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -1,134 +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 org.teiid.jdbc;
-
-import java.sql.DriverPropertyInfo;
-import java.util.Properties;
-
-import org.teiid.net.TeiidURL;
-
-
-
-import junit.framework.TestCase;
-
-
-public class TestMMDriver extends TestCase {
- TeiidDriver drv = new TeiidDriver();
- public String localhost = "localhost"; //$NON-NLS-1$
-
- public TestMMDriver(String name) {
- super(name);
- }
-
- /** Valid format of urls*/
- public void testAcceptsURL1() throws Exception {
- assertNotNull(drv);
- assertTrue(drv.acceptsURL("jdbc:metamatrix:jvdb@mm://localhost:1234")); //$NON-NLS-1$
- assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://localhost:1234;version=x")); //$NON-NLS-1$
- assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://localhost:1234")); //$NON-NLS-1$
- assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://localhost:1234,localhost2:12342,localhost3:12343")); //$NON-NLS-1$
- assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://localhost:1234;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log")); //$NON-NLS-1$
- assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://localhost:1234,localhost2:12342,localhost3:12343;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log")); //$NON-NLS-1$
- assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mms://localhost:1234;logLevel=1;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log")); //$NON-NLS-1$
- assertTrue(!drv.acceptsURL("jdbc:metamatrix:@mm://localhost:1234;logLevel=2;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log")); //$NON-NLS-1$
- assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://localhost:1234;logLevel=2;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log;autoCommitTxn=OFF;paritalResultsMode=true")); //$NON-NLS-1$
- assertTrue(drv.acceptsURL("jdbc:metamatrix:jvdb@mms://localhost:1234")); //$NON-NLS-1$
- assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://localhost:1234;version=x")); //$NON-NLS-1$
- assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://localhost:1234,localhost2:12342,localhost3:12343")); //$NON-NLS-1$
- assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mms://localhost:1234,localhost2:12342,localhost3:12343;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log")); //$NON-NLS-1$
- assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mms://localhost:1234;logLevel=2;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log;autoCommitTxn=OFF;paritalResultsMode=true")); //$NON-NLS-1$
- assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://127.0.0.1:1234;logLevel=2")); //$NON-NLS-1$
- assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mms://127.0.0.1:1234")); //$NON-NLS-1$
- assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://127.0.0.1:1234,localhost.mydomain.com:63636;logLevel=2")); //$NON-NLS-1$
- assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://my-host.mydomain.com:53535,127.0.0.1:1234")); //$NON-NLS-1$
- assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://123.123.123.123:53535,127.0.0.1:1234")); //$NON-NLS-1$
-
- //DQP type
- assertTrue(!drv.acceptsURL("jdbc:metamatrix:jvdb@c:/dqp.properties;version=1")); //$NON-NLS-1$
- assertTrue(!drv.acceptsURL("jdbc:metamatrix:jvdb@/foo/dqp.properties;version=1")); //$NON-NLS-1$
- assertTrue(!drv.acceptsURL("jdbc:metamatrix:jvdb@../foo/dqp.properties;version=1")); //$NON-NLS-1$
-
- assertTrue(!drv.acceptsURL("jdbc:metamatrix:jvdb@mm://localhost:port")); //$NON-NLS-1$
- assertTrue(!drv.acceptsURL("jdbc:metamatrix:vdb@localhost:port;version=x")); //$NON-NLS-1$
- assertTrue(!drv.acceptsURL("jdbc:metamatrix:@localhost:1234")); //$NON-NLS-1$
- assertTrue(!drv.acceptsURL("jdbc:metamatrix:@localhost:1234,localhost2:12342,localhost3:12343")); //$NON-NLS-1$
- assertTrue(!drv.acceptsURL("jdbc:metamatrix:@localhost:1234;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log")); //$NON-NLS-1$
- assertTrue(!drv.acceptsURL("jdbc:metamatrix:@localhost:1234,localhost2:12342,localhost3:12343;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log")); //$NON-NLS-1$
- assertTrue(!drv.acceptsURL("jdbc:metamatrix:@localhost:1234;logLevel=1;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log")); //$NON-NLS-1$
- assertTrue(!drv.acceptsURL("jdbc:metamatrix:@localhost:1234;logLevel=2;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log")); //$NON-NLS-1$
- assertTrue(!drv.acceptsURL("jdbc:metamatrix:@localhost:1234;logLevel=2;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log;autoCommitTxn=OFF;paritalResultsMode=true")); //$NON-NLS-1$
- assertTrue(!drv.acceptsURL("jdbc:metamatrix:@localhost:1234;stickyConnections=false;socketsPerVM=4")); //$NON-NLS-1$
- assertTrue(!drv.acceptsURL("jdbc:metamatrix:vdb@mm://my_host.mydomain.com:53535,127.0.0.1:1234")); //$NON-NLS-1$
- }
-
- /** Invalid format of urls*/
- public void testAcceptsURL2() throws Exception {
- assertNotNull(drv);
- assertTrue(!drv.acceptsURL("jdbc:matamatrix:test")); //$NON-NLS-1$
- assertTrue(!drv.acceptsURL("metamatrix:test")); //$NON-NLS-1$
- assertTrue(!drv.acceptsURL("jdbc&matamatrix:test")); //$NON-NLS-1$
- assertTrue(!drv.acceptsURL("jdbc;metamatrix:test")); //$NON-NLS-1$
- }
-
- public void testParseURL() throws Exception{
- Properties p = new Properties();
- SocketProfile.parseURL("jdbc:metamatrix:BQT@mm://slwxp157:1234", p); //$NON-NLS-1$
- assertTrue(p.getProperty(BaseDataSource.VDB_NAME).equals("BQT")); //$NON-NLS-1$
- assertTrue(p.getProperty(TeiidURL.CONNECTION.SERVER_URL).equals("mm://slwxp157:1234")); //$NON-NLS-1$
- assertEquals(3, p.size());
- }
-
- public void testParseURL2() throws Exception {
- Properties p = new Properties();
- SocketProfile.parseURL("jdbc:metamatrix:BQT@mms://slwxp157:1234;version=3", p); //$NON-NLS-1$
- assertTrue(p.getProperty(BaseDataSource.VDB_NAME).equals("BQT")); //$NON-NLS-1$
- assertTrue(p.getProperty(BaseDataSource.VDB_VERSION).equals("3")); //$NON-NLS-1$
- assertTrue(p.getProperty(TeiidURL.CONNECTION.SERVER_URL).equals("mms://slwxp157:1234")); //$NON-NLS-1$
- assertTrue(p.getProperty(BaseDataSource.VERSION).equals("3")); //$NON-NLS-1$
- assertTrue(p.getProperty(BaseDataSource.APP_NAME).equals(BaseDataSource.DEFAULT_APP_NAME));
- assertEquals(5, p.size());
- }
-
- public void testParseURL3() throws Exception{
- Properties p = new Properties();
- SocketProfile.parseURL("jdbc:metamatrix:BQT@mm://slwxp157:1234,slntmm01:43401,sluxmm09:43302;version=4;autoCommitTxn=ON;partialResultsMode=YES;ApplicationName=Client", p); //$NON-NLS-1$
- assertTrue(p.getProperty(BaseDataSource.VDB_NAME).equals("BQT")); //$NON-NLS-1$
- assertTrue(p.getProperty(BaseDataSource.VDB_VERSION).equals("4")); //$NON-NLS-1$
- assertTrue(p.getProperty(ExecutionProperties.PROP_TXN_AUTO_WRAP).equals("ON")); //$NON-NLS-1$
- assertTrue(p.getProperty(ExecutionProperties.PROP_PARTIAL_RESULTS_MODE).equals("YES")); //$NON-NLS-1$
- assertTrue(p.getProperty(TeiidURL.CONNECTION.SERVER_URL).equals("mm://slwxp157:1234,slntmm01:43401,sluxmm09:43302")); //$NON-NLS-1$
- assertTrue(p.getProperty(BaseDataSource.VERSION).equals("4")); //$NON-NLS-1$
- assertTrue(p.getProperty(BaseDataSource.APP_NAME).equals("Client")); //$NON-NLS-1$
- assertEquals(7, p.size());
- }
-
- public void testGetPropertyInfo1() throws Exception {
- DriverPropertyInfo info[] = drv.getPropertyInfo("jdbc:metamatrix:vdb@mm://localhost:12345;applicationName=x", null); //$NON-NLS-1$
-
- assertEquals(17, info.length);
- assertEquals(false, info[0].required);
- assertEquals("ApplicationName", info[0].name); //$NON-NLS-1$
- assertEquals("x", info[0].value); //$NON-NLS-1$
- }
-
-}
Modified: trunk/client/src/test/java/org/teiid/jdbc/TestMMStatement.java
===================================================================
--- trunk/client/src/test/java/org/teiid/jdbc/TestMMStatement.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/test/java/org/teiid/jdbc/TestMMStatement.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -68,7 +68,7 @@
Properties p = new Properties();
Mockito.stub(conn.getConnectionProperties()).toReturn(p);
StatementImpl statement = new StatementImpl(conn, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
- assertFalse(statement.execute("set foo = bar")); //$NON-NLS-1$
+ assertFalse(statement.execute("set foo bar")); //$NON-NLS-1$
assertEquals("bar", p.get("foo")); //$NON-NLS-1$ //$NON-NLS-2$
}
Modified: trunk/client/src/test/java/org/teiid/jdbc/TestTeiidDataSource.java
===================================================================
--- trunk/client/src/test/java/org/teiid/jdbc/TestTeiidDataSource.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/test/java/org/teiid/jdbc/TestTeiidDataSource.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -27,6 +27,7 @@
import java.sql.Connection;
import java.sql.SQLException;
+import org.teiid.client.RequestMessage.ShowPlan;
import org.teiid.jdbc.BaseDataSource;
import org.teiid.jdbc.TeiidDataSource;
@@ -153,7 +154,7 @@
ds.setTransactionAutoWrap(txnAutoWrap);
ds.setPartialResultsMode(partialMode);
if(showPlan) {
- ds.setSqlOptions(ExecutionProperties.SQL_OPTION_SHOWPLAN);
+ ds.setShowPlan(ShowPlan.ON.toString());
}
ds.setSecure(secure);
ds.setAlternateServers(alternateServers);
@@ -258,14 +259,6 @@
assertEquals(result,STD_TXN_WRAP);
}
- public void testGetShowPlan() {
- assertTrue(dataSource.getSqlOptions() == null);
- dataSource.setSqlOptions(ExecutionProperties.SQL_OPTION_SHOWPLAN);
- assertTrue(dataSource.getSqlOptions() == ExecutionProperties.SQL_OPTION_SHOWPLAN);
- dataSource.setSqlOptions(null);
- assertTrue(dataSource.getSqlOptions() == null);
- }
-
public void testGetSecure() {
assertTrue(dataSource.isSecure());
dataSource.setSecure(false);
@@ -511,7 +504,7 @@
final String partialMode = "false"; //$NON-NLS-1$
final boolean secure = false;
helpTestBuildingURL(vdbName,vdbVersion,serverName,portNumber,null,transactionAutoWrap, partialMode, -1, true, secure,
- "jdbc:teiid:vdbName@mm://hostname:7001;ApplicationName=JDBC;partialResultsMode=false;autoCommitTxn=DETECT;VirtualDatabaseName=vdbName;sqlOptions=SHOWPLAN"); //$NON-NLS-1$
+ "jdbc:teiid:vdbName@mm://hostname:7001;ApplicationName=JDBC;SHOWPLAN=ON;partialResultsMode=false;autoCommitTxn=DETECT;VirtualDatabaseName=vdbName"); //$NON-NLS-1$
}
// Test secure protocol
@@ -524,7 +517,7 @@
final String partialMode = "false"; //$NON-NLS-1$
final boolean secure = true;
helpTestBuildingURL(vdbName,vdbVersion,serverName,portNumber,null,transactionAutoWrap, partialMode, -1, true, secure,
- "jdbc:teiid:vdbName@mms://hostname:7001;ApplicationName=JDBC;partialResultsMode=false;autoCommitTxn=DETECT;VirtualDatabaseName=vdbName;sqlOptions=SHOWPLAN"); //$NON-NLS-1$
+ "jdbc:teiid:vdbName@mms://hostname:7001;ApplicationName=JDBC;SHOWPLAN=ON;partialResultsMode=false;autoCommitTxn=DETECT;VirtualDatabaseName=vdbName"); //$NON-NLS-1$
}
/*
@@ -542,7 +535,7 @@
final String partialMode = "false"; //$NON-NLS-1$
final boolean secure = false;
helpTestBuildingURL(vdbName,vdbVersion,serverName,portNumber,alternateServers,transactionAutoWrap, partialMode, -1, true, secure,
- "jdbc:teiid:vdbName@mm://hostName:7001,hostName:7002,hostName2:7001,hostName2:7002;ApplicationName=JDBC;partialResultsMode=false;autoCommitTxn=DETECT;VirtualDatabaseName=vdbName;sqlOptions=SHOWPLAN"); //$NON-NLS-1$
+ "jdbc:teiid:vdbName@mm://hostName:7001,hostName:7002,hostName2:7001,hostName2:7002;ApplicationName=JDBC;SHOWPLAN=ON;partialResultsMode=false;autoCommitTxn=DETECT;VirtualDatabaseName=vdbName"); //$NON-NLS-1$
}
/*
@@ -560,7 +553,7 @@
final String partialMode = "false"; //$NON-NLS-1$
final boolean secure = true;
helpTestBuildingURL(vdbName,vdbVersion,serverName,portNumber,alternateServers,transactionAutoWrap, partialMode, -1, true, secure,
- "jdbc:teiid:vdbName@mms://hostName:7001,hostName:7002,hostName2:7001,hostName2:7002;ApplicationName=JDBC;partialResultsMode=false;autoCommitTxn=DETECT;VirtualDatabaseName=vdbName;sqlOptions=SHOWPLAN"); //$NON-NLS-1$
+ "jdbc:teiid:vdbName@mms://hostName:7001,hostName:7002,hostName2:7001,hostName2:7002;ApplicationName=JDBC;SHOWPLAN=ON;partialResultsMode=false;autoCommitTxn=DETECT;VirtualDatabaseName=vdbName"); //$NON-NLS-1$
}
/*
@@ -579,7 +572,7 @@
final String partialMode = "false"; //$NON-NLS-1$
final boolean secure = false;
helpTestBuildingURL(vdbName,vdbVersion,serverName,portNumber,alternateServers,transactionAutoWrap, partialMode, -1, true, secure,
- "jdbc:teiid:vdbName@mm://hostName:7001,hostName:7002,hostName2:7001,hostName2:7002;ApplicationName=JDBC;partialResultsMode=false;autoCommitTxn=DETECT;VirtualDatabaseName=vdbName;sqlOptions=SHOWPLAN"); //$NON-NLS-1$
+ "jdbc:teiid:vdbName@mm://hostName:7001,hostName:7002,hostName2:7001,hostName2:7002;ApplicationName=JDBC;SHOWPLAN=ON;partialResultsMode=false;autoCommitTxn=DETECT;VirtualDatabaseName=vdbName"); //$NON-NLS-1$
}
public void testBuildURL_AdditionalProperties() {
Modified: trunk/client/src/test/java/org/teiid/jdbc/TestTeiidDriver.java
===================================================================
--- trunk/client/src/test/java/org/teiid/jdbc/TestTeiidDriver.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/client/src/test/java/org/teiid/jdbc/TestTeiidDriver.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -27,18 +27,15 @@
import static org.junit.Assert.assertFalse;
import java.sql.DriverPropertyInfo;
+import java.util.Properties;
import org.junit.Test;
+import org.teiid.net.TeiidURL;
public class TestTeiidDriver {
TeiidDriver drv = new TeiidDriver();
-
+ public String localhost = "localhost"; //$NON-NLS-1$
- @Test public void testGetPropertyInfo1() throws Exception {
- DriverPropertyInfo info[] = drv.getPropertyInfo("jdbc:teiid:vdb@mm://localhost:12345", null); //$NON-NLS-1$
- assertEquals(17, info.length);
- }
-
@Test public void testAccepts() throws Exception {
assertTrue(drv.acceptsURL("jdbc:teiid:vdb@mm://localhost:12345")); //$NON-NLS-1$
assertTrue(drv.acceptsURL("jdbc:teiid:vdb@mm://localhost:12345;user=foo;password=bar")); //$NON-NLS-1$
@@ -52,4 +49,93 @@
}
+ /** Valid format of urls*/
+ @Test public void testAcceptsURL1() throws Exception {
+ assertTrue(drv.acceptsURL("jdbc:metamatrix:jvdb@mm://localhost:1234")); //$NON-NLS-1$
+ assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://localhost:1234;version=x")); //$NON-NLS-1$
+ assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://localhost:1234")); //$NON-NLS-1$
+ assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://localhost:1234,localhost2:12342,localhost3:12343")); //$NON-NLS-1$
+ assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://localhost:1234;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log")); //$NON-NLS-1$
+ assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://localhost:1234,localhost2:12342,localhost3:12343;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log")); //$NON-NLS-1$
+ assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mms://localhost:1234;logLevel=1;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log")); //$NON-NLS-1$
+ assertTrue(!drv.acceptsURL("jdbc:metamatrix:@mm://localhost:1234;logLevel=2;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log")); //$NON-NLS-1$
+ assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://localhost:1234;logLevel=2;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log;autoCommitTxn=OFF;paritalResultsMode=true")); //$NON-NLS-1$
+ assertTrue(drv.acceptsURL("jdbc:metamatrix:jvdb@mms://localhost:1234")); //$NON-NLS-1$
+ assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://localhost:1234;version=x")); //$NON-NLS-1$
+ assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://localhost:1234,localhost2:12342,localhost3:12343")); //$NON-NLS-1$
+ assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mms://localhost:1234,localhost2:12342,localhost3:12343;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log")); //$NON-NLS-1$
+ assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mms://localhost:1234;logLevel=2;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log;autoCommitTxn=OFF;paritalResultsMode=true")); //$NON-NLS-1$
+ assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://127.0.0.1:1234;logLevel=2")); //$NON-NLS-1$
+ assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mms://127.0.0.1:1234")); //$NON-NLS-1$
+ assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://127.0.0.1:1234,localhost.mydomain.com:63636;logLevel=2")); //$NON-NLS-1$
+ assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://my-host.mydomain.com:53535,127.0.0.1:1234")); //$NON-NLS-1$
+ assertTrue(drv.acceptsURL("jdbc:metamatrix:vdb@mm://123.123.123.123:53535,127.0.0.1:1234")); //$NON-NLS-1$
+
+ //DQP type
+ assertTrue(!drv.acceptsURL("jdbc:metamatrix:jvdb@c:/dqp.properties;version=1")); //$NON-NLS-1$
+ assertTrue(!drv.acceptsURL("jdbc:metamatrix:jvdb@/foo/dqp.properties;version=1")); //$NON-NLS-1$
+ assertTrue(!drv.acceptsURL("jdbc:metamatrix:jvdb@../foo/dqp.properties;version=1")); //$NON-NLS-1$
+
+ assertTrue(!drv.acceptsURL("jdbc:metamatrix:jvdb@mm://localhost:port")); //$NON-NLS-1$
+ assertTrue(!drv.acceptsURL("jdbc:metamatrix:vdb@localhost:port;version=x")); //$NON-NLS-1$
+ assertTrue(!drv.acceptsURL("jdbc:metamatrix:@localhost:1234")); //$NON-NLS-1$
+ assertTrue(!drv.acceptsURL("jdbc:metamatrix:@localhost:1234,localhost2:12342,localhost3:12343")); //$NON-NLS-1$
+ assertTrue(!drv.acceptsURL("jdbc:metamatrix:@localhost:1234;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log")); //$NON-NLS-1$
+ assertTrue(!drv.acceptsURL("jdbc:metamatrix:@localhost:1234,localhost2:12342,localhost3:12343;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log")); //$NON-NLS-1$
+ assertTrue(!drv.acceptsURL("jdbc:metamatrix:@localhost:1234;logLevel=1;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log")); //$NON-NLS-1$
+ assertTrue(!drv.acceptsURL("jdbc:metamatrix:@localhost:1234;logLevel=2;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log")); //$NON-NLS-1$
+ assertTrue(!drv.acceptsURL("jdbc:metamatrix:@localhost:1234;logLevel=2;logFile=D:\\metamatrix\\work\\DQP\\log\\jdbcLogFile.log;autoCommitTxn=OFF;paritalResultsMode=true")); //$NON-NLS-1$
+ assertTrue(!drv.acceptsURL("jdbc:metamatrix:@localhost:1234;stickyConnections=false;socketsPerVM=4")); //$NON-NLS-1$
+ assertTrue(!drv.acceptsURL("jdbc:metamatrix:vdb@mm://my_host.mydomain.com:53535,127.0.0.1:1234")); //$NON-NLS-1$
+ }
+
+ /** Invalid format of urls*/
+ @Test public void testAcceptsURL2() throws Exception {
+ assertTrue(!drv.acceptsURL("jdbc:matamatrix:test")); //$NON-NLS-1$
+ assertTrue(!drv.acceptsURL("metamatrix:test")); //$NON-NLS-1$
+ assertTrue(!drv.acceptsURL("jdbc&matamatrix:test")); //$NON-NLS-1$
+ assertTrue(!drv.acceptsURL("jdbc;metamatrix:test")); //$NON-NLS-1$
+ }
+
+ @Test public void testParseURL() throws Exception{
+ Properties p = new Properties();
+ SocketProfile.parseURL("jdbc:metamatrix:BQT@mm://slwxp157:1234", p); //$NON-NLS-1$
+ assertTrue(p.getProperty(BaseDataSource.VDB_NAME).equals("BQT")); //$NON-NLS-1$
+ assertTrue(p.getProperty(TeiidURL.CONNECTION.SERVER_URL).equals("mm://slwxp157:1234")); //$NON-NLS-1$
+ assertEquals(3, p.size());
+ }
+
+ @Test public void testParseURL2() throws Exception {
+ Properties p = new Properties();
+ SocketProfile.parseURL("jdbc:metamatrix:BQT@mms://slwxp157:1234;version=3", p); //$NON-NLS-1$
+ assertTrue(p.getProperty(BaseDataSource.VDB_NAME).equals("BQT")); //$NON-NLS-1$
+ assertTrue(p.getProperty(BaseDataSource.VDB_VERSION).equals("3")); //$NON-NLS-1$
+ assertTrue(p.getProperty(TeiidURL.CONNECTION.SERVER_URL).equals("mms://slwxp157:1234")); //$NON-NLS-1$
+ assertTrue(p.getProperty(BaseDataSource.VERSION).equals("3")); //$NON-NLS-1$
+ assertTrue(p.getProperty(BaseDataSource.APP_NAME).equals(BaseDataSource.DEFAULT_APP_NAME));
+ assertEquals(5, p.size());
+ }
+
+ @Test public void testParseURL3() throws Exception{
+ Properties p = new Properties();
+ SocketProfile.parseURL("jdbc:metamatrix:BQT@mm://slwxp157:1234,slntmm01:43401,sluxmm09:43302;version=4;autoCommitTxn=ON;partialResultsMode=YES;ApplicationName=Client", p); //$NON-NLS-1$
+ assertTrue(p.getProperty(BaseDataSource.VDB_NAME).equals("BQT")); //$NON-NLS-1$
+ assertTrue(p.getProperty(BaseDataSource.VDB_VERSION).equals("4")); //$NON-NLS-1$
+ assertTrue(p.getProperty(ExecutionProperties.PROP_TXN_AUTO_WRAP).equals("ON")); //$NON-NLS-1$
+ assertTrue(p.getProperty(ExecutionProperties.PROP_PARTIAL_RESULTS_MODE).equals("YES")); //$NON-NLS-1$
+ assertTrue(p.getProperty(TeiidURL.CONNECTION.SERVER_URL).equals("mm://slwxp157:1234,slntmm01:43401,sluxmm09:43302")); //$NON-NLS-1$
+ assertTrue(p.getProperty(BaseDataSource.VERSION).equals("4")); //$NON-NLS-1$
+ assertTrue(p.getProperty(BaseDataSource.APP_NAME).equals("Client")); //$NON-NLS-1$
+ assertEquals(7, p.size());
+ }
+
+ @Test public void testGetPropertyInfo1() throws Exception {
+ DriverPropertyInfo info[] = drv.getPropertyInfo("jdbc:metamatrix:vdb@mm://localhost:12345;applicationName=x", null); //$NON-NLS-1$
+
+ assertEquals(18, info.length);
+ assertEquals(false, info[0].required);
+ assertEquals("ApplicationName", info[0].name); //$NON-NLS-1$
+ assertEquals("x", info[0].value); //$NON-NLS-1$
+ }
+
}
Modified: trunk/connector-api/src/main/java/org/teiid/connector/language/SQLReservedWords.java
===================================================================
--- trunk/connector-api/src/main/java/org/teiid/connector/language/SQLReservedWords.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/connector-api/src/main/java/org/teiid/connector/language/SQLReservedWords.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -55,13 +55,13 @@
public static final String CRITERIA = "CRITERIA"; //$NON-NLS-1$
public static final String ERROR = "ERROR"; //$NON-NLS-1$
public static final String FN = "FN"; //$NON-NLS-1$
+ public static final String LIMIT = "LIMIT"; //$NON-NLS-1$
public static final String LONG = "LONG"; //$NON-NLS-1$
public static final String LOOP = "LOOP"; //$NON-NLS-1$
public static final String MAKEDEP = "MAKEDEP"; //$NON-NLS-1$
public static final String MAKENOTDEP = "MAKENOTDEP"; //$NON-NLS-1$
public static final String NOCACHE = "NOCACHE"; //$NON-NLS-1$
public static final String OJ = "OJ"; //$NON-NLS-1$
- public static final String PLANONLY = "PLANONLY"; //$NON-NLS-1$
public static final String SQL_TSI_FRAC_SECOND = "SQL_TSI_FRAC_SECOND"; //$NON-NLS-1$
public static final String SQL_TSI_SECOND = "SQL_TSI_SECOND"; //$NON-NLS-1$
public static final String SQL_TSI_MINUTE = "SQL_TSI_MINUTE"; //$NON-NLS-1$
@@ -123,7 +123,6 @@
public static final String DATE = "DATE"; //$NON-NLS-1$
public static final String DAY = "DAY"; //$NON-NLS-1$
public static final String DEALLOCATE = "DEALLOCATE"; //$NON-NLS-1$
- public static final String DEBUG = "DEBUG"; //$NON-NLS-1$
public static final String DECIMAL = "DECIMAL"; //$NON-NLS-1$
public static final String DECLARE = "DECLARE"; //$NON-NLS-1$
public static final String DEFAULT = "DEFAULT"; //$NON-NLS-1$
@@ -184,7 +183,6 @@
public static final String LEADING = "LEADING"; //$NON-NLS-1$
public static final String LEFT = "LEFT"; //$NON-NLS-1$
public static final String LIKE = "LIKE"; //$NON-NLS-1$
- public static final String LIMIT = "LIMIT"; //$NON-NLS-1$
public static final String LOCAL = "LOCAL"; //$NON-NLS-1$
public static final String MATCH = "MATCH"; //$NON-NLS-1$
public static final String MAX = "MAX"; //$NON-NLS-1$
@@ -244,7 +242,6 @@
public static final String SESSION_USER = "SESSION_USER"; //$NON-NLS-1$
public static final String SET = "SET"; //$NON-NLS-1$
public static final String SHORT = "SHORT"; //$NON-NLS-1$
- public static final String SHOWPLAN = "SHOWPLAN"; //$NON-NLS-1$
public static final String SIILAR = "ROWS"; //$NON-NLS-1$
public static final String SMALLINT = "ROWS"; //$NON-NLS-1$
public static final String SOME = "SOME"; //$NON-NLS-1$
Modified: trunk/documentation/reference/src/main/docbook/en-US/Reference.xml
===================================================================
--- trunk/documentation/reference/src/main/docbook/en-US/Reference.xml 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/documentation/reference/src/main/docbook/en-US/Reference.xml 2010-04-07 03:29:59 UTC (rev 2031)
@@ -52,9 +52,9 @@
<xi:include href="content/datatypes.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/scalar_functions.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/procedures.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="content/other_commands.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/transaction_support.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/system_schema.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="content/connectors.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/federated_planning.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/architecture.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/grammar.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
Deleted: trunk/documentation/reference/src/main/docbook/en-US/content/connectors.xml
===================================================================
--- trunk/documentation/reference/src/main/docbook/en-US/content/connectors.xml 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/documentation/reference/src/main/docbook/en-US/content/connectors.xml 2010-04-07 03:29:59 UTC (rev 2031)
@@ -1,134 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
-<chapter id="connectors">
- <title>Connectors</title>
- <sect1>
- <title>Common Connector Properties</title>
- <para>These properties are common to all connectors.</para>
- <informaltable frame="all">
- <tgroup cols="4">
- <colspec colwidth="1*"/>
- <colspec colwidth="1.25*"/>
- <colspec colwidth="1*"/>
- <colspec colwidth=".5*"/>
- <thead>
- <row>
- <entry>
- <para>Property</para>
- </entry>
- <entry>
- <para>Description</para>
- </entry>
- <entry>
- <para>Type</para>
- </entry>
- <entry>
- <para>Default</para>
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>ConnectorClass</para>
- </entry>
- <entry>
- <para>The class name of the custom connector class that
- connects to the data source. Required. Not editable.
- </para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para />
- </entry>
- </row>
- <row>
- <entry>
- <para>CapabilitiesClass</para>
- </entry>
- <entry>
- <para>The class is used to provide the Connector Capabilities</para>
- </entry>
- <entry>
- <para>string</para>
- </entry>
- <entry>
- <para />
- </entry>
- </row>
- <row>
- <entry>
- <para>Immutable</para>
- </entry>
- <entry>
- <para>True if the source never changes.</para>
- </entry>
- <entry>
- <para>boolean</para>
- </entry>
- <entry>
- <para />
- </entry>
- </row>
- <row>
- <entry>
- <para>XaCapable</para>
- </entry>
- <entry>
- <para>True, if this connector supports XA Transactions</para>
- </entry>
- <entry>
- <para>boolean</para>
- </entry>
- <entry>
- <para />
- </entry>
- </row>
- <row>
- <entry>
- <para>ExceptionOnMaxRows</para>
- </entry>
- <entry>
- <para>Specifies whether or not an exception is
- thrown when the number of rows for a query exceeds the
- value of MaxResultRows. If this flag is set to false,
- then no more rows than MaxResultRows will be returned,
- but no exception will be thrown.</para>
- </entry>
- <entry>
- <para>boolean</para>
- </entry>
- <entry>
- <para />
- </entry>
- </row>
- <row>
- <entry>
- <para>MaxResultRows</para>
- </entry>
- <entry>
- <para>The maximum number of rows to be processed by the
- connector from a source. A custom connector should stop
- adding rows to the ResultsCollector when the number of
- rows reaches this value. Optional – if not specified,
- all rows will be processed.</para>
- </entry>
- <entry>
- <para>integer</para>
- </entry>
- <entry>
- <para />
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect1>
- <sect1>
- <title>Source Security</title>
- <para>For the configuring the Connection Factories and Data Sources with security check out JBoss AS documentation.</para>
- </sect1>
-
-</chapter>
\ No newline at end of file
Added: trunk/documentation/reference/src/main/docbook/en-US/content/other_commands.xml
===================================================================
--- trunk/documentation/reference/src/main/docbook/en-US/content/other_commands.xml (rev 0)
+++ trunk/documentation/reference/src/main/docbook/en-US/content/other_commands.xml 2010-04-07 03:29:59 UTC (rev 2031)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="other_commands">
+ <title>Other Commands</title>
+ <sect1 id="set_command">
+ <title>SET Command</title>
+ <para>The SET command is used to set execution property values for the duration of the session.</para>
+ <itemizedlist>
+ <para>SET Syntax:
+ </para>
+ <listitem>
+ <para>SET parameter value
+ </para>
+ </listitem>
+ </itemizedlist>
+ <itemizedlist>
+ <para>Syntax Rules:
+ </para>
+ <listitem>
+ <para>Both parameter and value must be simple literals - they cannot contain spaces.</para>
+ </listitem>
+ <listitem>
+ <para>The value is also not treated as an expression and will not be evaluated prior to being set as the parameter value.</para>
+ </listitem>
+ </itemizedlist>
+ <para>The SET command can be used to control planning and execution.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>SET SHOWPLAN [ON|DEBUG|OFF] - ON returns the query plan along with the results and DEBUG additionally prints the query planner debug information in the log and returns it with the results. Both the plan and the log are available through JDBC API extensions.</para>
+ </listitem>
+ <listitem>
+ <para>SET NOEXEC [ON|OFF] - ON prevents query execution, but parsing and planning will still occur.</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+</chapter>
\ No newline at end of file
Property changes on: trunk/documentation/reference/src/main/docbook/en-US/content/other_commands.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/documentation/reference/src/main/docbook/en-US/content/sql_support.xml
===================================================================
--- trunk/documentation/reference/src/main/docbook/en-US/content/sql_support.xml 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/documentation/reference/src/main/docbook/en-US/content/sql_support.xml 2010-04-07 03:29:59 UTC (rev 2031)
@@ -884,32 +884,31 @@
<para>Supported options:
</para>
<listitem>
- <para>SHOWPLAN - returns the query plan along with the results
+ <para>MAKEDEP table [(,table)*] - specifies source tables that should be made dependent in the join
</para>
- </listitem><listitem>
- <para>PLANONLY - returns the query plan, but does not execute the command
+ </listitem>
+ <listitem>
+ <para>MAKENOTDEP table [(,table)*] - prevents a dependent join from being used
</para>
- </listitem><listitem>
- <para>MAKEDEP [table, (table)*] - specifies source tables that should be made dependent in the join
+ </listitem>
+ <listitem>
+ <para>NOCACHE [table (,table)*] - prevents cache from being used for all tables or for the given tables
</para>
- </listitem><listitem>
- <para>MAKENOTDEP [table, (table)*] - prevents a dependent join from being used
- </para>
- </listitem><listitem>
- <para>DEBUG - prints query planner debug information in the log and returns it through the JDBC API
- </para>
</listitem>
</itemizedlist>
<itemizedlist>
<para>Examples:
</para>
<listitem>
- <para>LIMIT 100 - returns the first 100 records (rows 1-100)</para>
+ <para>OPTION MAKEDEP table1</para>
</listitem>
<listitem>
- <para>LIMIT 500, 100 - skips 500 records and returns the next 100 records (rows 501-600)</para>
+ <para>OPTION NOCACHE</para>
</listitem>
</itemizedlist>
+ <para>Previous versions of Teiid accepted the PLANONLY, DEBUG, and SHOWPLAN option arguments. These are no longer accepted in the OPTION clause.
+ Please see the <link linkend="other_commands">other commands</link> chapter for using these options.
+ </para>
</sect2>
</sect1>
<sect1 id="set_operations">
Modified: trunk/documentation/reference/src/main/docbook/en-US/content/transaction_support.xml
===================================================================
--- trunk/documentation/reference/src/main/docbook/en-US/content/transaction_support.xml 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/documentation/reference/src/main/docbook/en-US/content/transaction_support.xml 2010-04-07 03:29:59 UTC (rev 2031)
@@ -175,7 +175,7 @@
Global - the XAResource interface provided by an XAConnection is
used to control the transaction. Note that XAConnections are
available only if Teiid is consumed through its XADataSource,
- <classname>com.metamatrix.jdbc.MMDataSource
+ <classname>org.teiid.jdbc.TeiidDataSource
</classname>
. JEE containers or data access APIs typically control XA
transactions on behalf of application code.
Modified: trunk/engine/src/main/java/com/metamatrix/query/analysis/AnalysisRecord.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/analysis/AnalysisRecord.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/analysis/AnalysisRecord.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,14 +22,26 @@
package com.metamatrix.query.analysis;
-import java.io.*;
-import java.util.*;
+import java.io.PrintWriter;
+import java.io.Serializable;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.ListIterator;
import org.teiid.client.plan.Annotation;
+import org.teiid.client.plan.PlanNode;
import com.metamatrix.common.log.LogConstants;
import com.metamatrix.common.log.LogManager;
+import com.metamatrix.common.types.DataTypeManager;
import com.metamatrix.core.log.MessageLevel;
+import com.metamatrix.query.sql.LanguageObject;
+import com.metamatrix.query.sql.lang.SubqueryContainer;
+import com.metamatrix.query.sql.symbol.SingleElementSymbol;
+import com.metamatrix.query.sql.visitor.ValueIteratorProviderCollectorVisitor;
/**
* <p>The AnalysisRecord holds all debug/analysis information for
@@ -42,6 +54,53 @@
* </ul>
*/
public class AnalysisRecord implements Serializable {
+
+ // Common
+ public static final String PROP_OUTPUT_COLS = "Output Columns"; //$NON-NLS-1$
+
+ // Relational
+ public static final String PROP_CRITERIA = "Criteria"; //$NON-NLS-1$
+ public static final String PROP_SELECT_COLS = "Select Columns"; //$NON-NLS-1$
+ public static final String PROP_GROUP_COLS = "Grouping Columns"; //$NON-NLS-1$
+ public static final String PROP_SQL = "Query"; //$NON-NLS-1$
+ public static final String PROP_MODEL_NAME = "Model Name"; //$NON-NLS-1$
+ public static final String PROP_DEPENDENT = "Dependent Join"; //$NON-NLS-1$
+ public static final String PROP_JOIN_STRATEGY = "Join Strategy"; //$NON-NLS-1$
+ public static final String PROP_JOIN_TYPE = "Join Type"; //$NON-NLS-1$
+ public static final String PROP_JOIN_CRITERIA = "Join Criteria"; //$NON-NLS-1$
+ public static final String PROP_EXECUTION_PLAN = "Execution Plan"; //$NON-NLS-1$
+ public static final String PROP_INTO_GROUP = "Into Target"; //$NON-NLS-1$
+ public static final String PROP_SORT_COLS = "Sort Columns"; //$NON-NLS-1$
+ public static final String PROP_SORT_MODE = "Sort Mode"; //$NON-NLS-1$
+ public static final String PROP_NODE_STATS_LIST = "Statistics"; //$NON-NLS-1$
+ public static final String PROP_NODE_COST_ESTIMATES = "Cost Estimates"; //$NON-NLS-1$
+ public static final String PROP_ROW_OFFSET = "Row Offset"; //$NON-NLS-1$
+ public static final String PROP_ROW_LIMIT = "Row Limit"; //$NON-NLS-1$
+
+ // XML
+ public static final String PROP_MESSAGE = "Message"; //$NON-NLS-1$
+ public static final String PROP_TAG = "Tag"; //$NON-NLS-1$
+ public static final String PROP_NAMESPACE = "Namespace"; //$NON-NLS-1$
+ public static final String PROP_DATA_COL = "Data Column"; //$NON-NLS-1$
+ public static final String PROP_NAMESPACE_DECL = "Namespace Declarations"; //$NON-NLS-1$
+ public static final String PROP_OPTIONAL = "Optional Flag"; //$NON-NLS-1$
+ public static final String PROP_DEFAULT = "Default Value"; //$NON-NLS-1$
+ public static final String PROP_RECURSE_DIR = "Recursion Direction"; //$NON-NLS-1$
+ public static final String PROP_BINDINGS = "Bindings"; //$NON-NLS-1$
+ public static final String PROP_IS_STAGING = "Is Staging Flag"; //$NON-NLS-1$
+ public static final String PROP_IN_MEMORY = "Source In Memory Flag"; //$NON-NLS-1$
+ public static final String PROP_CONDITION = "Condition"; //$NON-NLS-1$
+ public static final String PROP_DEFAULT_PROGRAM = "Default Program"; //$NON-NLS-1$
+ public static final String PROP_ENCODING = "Encoding"; //$NON-NLS-1$
+ public static final String PROP_FORMATTED = "Formatted Flag"; //$NON-NLS-1$
+
+ // Procedure
+ public static final String PROP_EXPRESSION = "Expression"; //$NON-NLS-1$
+ public static final String PROP_RESULT_SET = "Result Set"; //$NON-NLS-1$
+ public static final String PROP_PROGRAM = "Program"; //$NON-NLS-1$
+ public static final String PROP_VARIABLE = "Variable"; //$NON-NLS-1$
+ public static final String PROP_THEN = "Then"; //$NON-NLS-1$
+ public static final String PROP_ELSE = "Else"; //$NON-NLS-1$
// Flags regarding what should be recorded
private boolean recordQueryPlan;
@@ -49,7 +108,7 @@
private boolean logDebug;
// Query plan
- private Map queryPlan;
+ private PlanNode queryPlan;
// Annotations
private Collection<Annotation> annotations;
@@ -109,7 +168,7 @@
* Set the query plan that was created
* @param queryPlan The plan
*/
- public void setQueryPlan(Map queryPlan) {
+ public void setQueryPlan(PlanNode queryPlan) {
this.queryPlan = queryPlan;
}
@@ -117,7 +176,7 @@
* Get the query plan that was created
* @return The plan
*/
- public Map getQueryPlan() {
+ public PlanNode getQueryPlan() {
return this.queryPlan;
}
@@ -158,4 +217,36 @@
}
return null;
}
+
+ /**
+ * Helper method to turn a list of projected symbols into a suitable list of
+ * output column strings with name and type.
+ * @param projectedSymbols The list of SingleElementSymbol projected from a plan or node
+ * @return List of output columns for sending to the client as part of the plan
+ */
+ public static List<String> getOutputColumnProperties(List<SingleElementSymbol> projectedSymbols) {
+ if(projectedSymbols != null) {
+ List<String> outputCols = new ArrayList<String>(projectedSymbols.size());
+ for(int i=0; i<projectedSymbols.size() ; i++) {
+ SingleElementSymbol symbol = projectedSymbols.get(i);
+ outputCols.add(symbol.getShortName() + " (" + DataTypeManager.getDataTypeName(symbol.getType()) + ")"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ return outputCols;
+ }
+ return Collections.emptyList();
+ }
+
+ public static void addLanaguageObjects(PlanNode node, String key, List<? extends LanguageObject> objects) {
+ List<String> values = new ArrayList<String>();
+ int index = 0;
+ for (LanguageObject languageObject : objects) {
+ values.add(languageObject.toString());
+ List<SubqueryContainer> subqueries = ValueIteratorProviderCollectorVisitor.getValueIteratorProviders(objects);
+ for (ListIterator<SubqueryContainer> iterator = subqueries.listIterator(); iterator.hasNext();) {
+ SubqueryContainer subqueryContainer = iterator.next();
+ node.addProperty(key + " Subplan " + index++, subqueryContainer.getCommand().getProcessorPlan().getDescriptionProperties()); //$NON-NLS-1$
+ }
+ }
+ node.addProperty(key, values);
+ }
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/mapping/xml/ResultSetInfo.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/mapping/xml/ResultSetInfo.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/mapping/xml/ResultSetInfo.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -26,6 +26,7 @@
import java.util.List;
import java.util.Set;
+import com.metamatrix.query.processor.ProcessorPlan;
import com.metamatrix.query.sql.lang.Command;
import com.metamatrix.query.sql.lang.Criteria;
import com.metamatrix.query.sql.lang.OrderBy;
@@ -47,7 +48,7 @@
private List boundReferences;
// The processor plan output for the result set
- private Object rsPlan;
+ private ProcessorPlan rsPlan;
// Row limit, may be null if no limit
private int userRowLimit = -1;
@@ -92,11 +93,11 @@
this.rsCommand = cmd;
}
- public Object getPlan() {
+ public ProcessorPlan getPlan() {
return rsPlan;
}
- public void setPlan(Object plan) {
+ public void setPlan(ProcessorPlan plan) {
this.rsPlan = plan;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/optimizer/proc/ProcedurePlanner.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/optimizer/proc/ProcedurePlanner.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/optimizer/proc/ProcedurePlanner.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -36,7 +36,6 @@
import com.metamatrix.query.optimizer.QueryOptimizer;
import com.metamatrix.query.optimizer.capabilities.CapabilitiesFinder;
import com.metamatrix.query.processor.ProcessorPlan;
-import com.metamatrix.query.processor.proc.AbstractAssignmentInstruction;
import com.metamatrix.query.processor.proc.AssignmentInstruction;
import com.metamatrix.query.processor.proc.BreakInstruction;
import com.metamatrix.query.processor.proc.ContinueInstruction;
@@ -60,9 +59,11 @@
import com.metamatrix.query.sql.proc.CreateUpdateProcedureCommand;
import com.metamatrix.query.sql.proc.IfStatement;
import com.metamatrix.query.sql.proc.LoopStatement;
+import com.metamatrix.query.sql.proc.RaiseErrorStatement;
import com.metamatrix.query.sql.proc.Statement;
import com.metamatrix.query.sql.proc.WhileStatement;
import com.metamatrix.query.sql.symbol.Expression;
+import com.metamatrix.query.sql.symbol.ScalarSubquery;
import com.metamatrix.query.sql.visitor.CommandCollectorVisitor;
import com.metamatrix.query.util.CommandContext;
@@ -167,7 +168,6 @@
// plan each statement in the block
for (Statement statement : block.getStatements()) {
Object instruction = planStatement(parentProcCommand, statement, metadata, debug, idGenerator, capFinder, analysisRecord, context);
- //childIndex = ((Integer) array[0]).intValue();
if(instruction instanceof ProgramInstruction){
programBlock.addInstruction((ProgramInstruction)instruction);
}else{
@@ -207,38 +207,44 @@
// program instr resulting in planning this statement
Object instruction = null;
switch(stmtType) {
- case Statement.TYPE_ERROR:
case Statement.TYPE_ASSIGNMENT:
case Statement.TYPE_DECLARE:
{
- AbstractAssignmentInstruction assignInstr = null;
- if (stmtType == Statement.TYPE_ERROR) {
- assignInstr = new ErrorInstruction();
- } else {
- assignInstr = new AssignmentInstruction();
- }
+ AssignmentInstruction assignInstr = new AssignmentInstruction();
instruction = assignInstr;
AssignmentStatement assignStmt = (AssignmentStatement)statement;
assignInstr.setVariable(assignStmt.getVariable());
- ProcessorPlan assignPlan = null;
if(assignStmt.hasCommand()) {
- assignPlan = assignStmt.getCommand().getProcessorPlan();
- assignInstr.setProcessPlan(assignPlan);
+ assignInstr.setExpression(new ScalarSubquery(assignStmt.getCommand()));
} else if (assignStmt.hasExpression()) {
Expression asigExpr = assignStmt.getExpression();
assignInstr.setExpression(asigExpr);
}
if(debug) {
- analysisRecord.println("\t"+instruction.toString()+"\n" + statement); //$NON-NLS-1$ //$NON-NLS-2$
- if (assignPlan != null) {
- analysisRecord.println("\t\tASSIGNMENT COMMAND PROCESS PLAN:\n " + assignPlan); //$NON-NLS-1$
- }
+ analysisRecord.println("\tASSIGNMENT\n" + statement); //$NON-NLS-1$
}
break;
}
+ case Statement.TYPE_ERROR:
+ {
+ ErrorInstruction error = new ErrorInstruction();
+ instruction = error;
+ RaiseErrorStatement res = (RaiseErrorStatement)statement;
+
+ if(res.hasCommand()) {
+ error.setExpression(new ScalarSubquery(res.getCommand()));
+ } else if (res.hasExpression()) {
+ Expression asigExpr = res.getExpression();
+ error.setExpression(asigExpr);
+ }
+ if(debug) {
+ analysisRecord.println("\tERROR STATEMENT:\n" + statement); //$NON-NLS-1$
+ }
+ break;
+ }
case Statement.TYPE_COMMAND:
{
CommandStatement cmdStmt = (CommandStatement) statement;
Modified: trunk/engine/src/main/java/com/metamatrix/query/optimizer/xml/XMLPlanner.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/optimizer/xml/XMLPlanner.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/optimizer/xml/XMLPlanner.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,7 +22,6 @@
package com.metamatrix.query.optimizer.xml;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
@@ -33,7 +32,6 @@
import com.metamatrix.api.exception.query.QueryPlannerException;
import com.metamatrix.common.log.LogConstants;
import com.metamatrix.common.log.LogManager;
-import com.metamatrix.core.MetaMatrixRuntimeException;
import com.metamatrix.core.id.IDGenerator;
import com.metamatrix.query.analysis.AnalysisRecord;
import com.metamatrix.query.execution.QueryExecPlugin;
@@ -42,8 +40,6 @@
import com.metamatrix.query.mapping.xml.MappingNodeLogger;
import com.metamatrix.query.mapping.xml.MappingRecursiveElement;
import com.metamatrix.query.mapping.xml.MappingSourceNode;
-import com.metamatrix.query.mapping.xml.MappingVisitor;
-import com.metamatrix.query.mapping.xml.Navigator;
import com.metamatrix.query.mapping.xml.ResultSetInfo;
import com.metamatrix.query.metadata.QueryMetadataInterface;
import com.metamatrix.query.optimizer.CommandPlanner;
@@ -136,7 +132,6 @@
// create plan from program and initialized environment
XMLProcessorEnvironment env = planEnv.createProcessorEnvironment(programPlan);
- env.setChildPlans(getChildPlans(doc));
XMLPlan plan = new XMLPlan(env);
plan.setXMLSchemas(metadata.getXMLSchemas(group.getMetadataID()));
if(debug) {
@@ -148,28 +143,6 @@
return plan;
}
- private static Collection getChildPlans(MappingDocument doc) throws QueryMetadataException, MetaMatrixComponentException {
- final List childPlans = new ArrayList();
- MappingVisitor real = new MappingVisitor(){
- public void visit(MappingSourceNode element) {
- childPlans.add(element.getResultSetInfo().getPlan());
- }
- };
- try {
- MappingVisitor visitor = new Navigator(true, real);
- doc.acceptVisitor(visitor);
- } catch (MetaMatrixRuntimeException e) {
- if (e.getCause() instanceof QueryMetadataException) {
- throw (QueryMetadataException)e.getCause();
- }
- else if (e.getCause() instanceof MetaMatrixComponentException) {
- throw (MetaMatrixComponentException)e.getCause();
- }
- throw e;
- }
- return childPlans;
- }
-
private static void debugDocumentInfo(String msgTag, XMLPlannerEnvironment planEnv) {
planEnv.analysisRecord.println("\n"+msgTag+":============================================================================"); //$NON-NLS-1$ //$NON-NLS-2$
planEnv.analysisRecord.println("MAPPING DOCUMENT:\n" + MappingNode.toStringNodeTree(planEnv.mappingDoc)); //$NON-NLS-1$
Deleted: trunk/engine/src/main/java/com/metamatrix/query/processor/Describable.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/Describable.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/Describable.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -1,91 +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.processor;
-
-import java.util.Map;
-
-/**
- * Interface for processor plans, nodes, etc to mark them as being
- * describable by a set of properties.
- */
-public interface Describable {
-
- // Common
- public static final String PROP_TYPE = "type"; //$NON-NLS-1$
- public static final String PROP_CHILDREN = "children"; //$NON-NLS-1$
- public static final String PROP_OUTPUT_COLS = "outputCols"; //$NON-NLS-1$
-
- // Relational
- public static final String PROP_CRITERIA = "criteria"; //$NON-NLS-1$
- public static final String PROP_SELECT_COLS = "selectCols"; //$NON-NLS-1$
- public static final String PROP_GROUP_COLS = "groupCols"; //$NON-NLS-1$
- public static final String PROP_SQL = "sql"; //$NON-NLS-1$
- public static final String PROP_MODEL_NAME = "modelName"; //$NON-NLS-1$
- public static final String PROP_JOIN_STRATEGY = "joinStrategy"; //$NON-NLS-1$
- public static final String PROP_JOIN_TYPE = "joinType"; //$NON-NLS-1$
- public static final String PROP_JOIN_CRITERIA = "joinCriteria"; //$NON-NLS-1$
- public static final String PROP_EXECUTION_PLAN = "execPlan"; //$NON-NLS-1$
- public static final String PROP_INTO_GROUP = "intoGrp"; //$NON-NLS-1$
- public static final String PROP_SORT_COLS = "sortCols"; //$NON-NLS-1$
- public static final String PROP_REMOVE_DUPS = "removeDups"; //$NON-NLS-1$
- public static final String PROP_NODE_STATS_LIST = "nodeStatistics"; //$NON-NLS-1$
- public static final String PROP_NODE_STATS_PROPS = "nodeStatisticsProperties"; //$NON-NLS-1$
- public static final String PROP_NODE_COST_ESTIMATES = "nodeCostEstimates"; //$NON-NLS-1$
- public static final String PROP_ROW_OFFSET = "rowOffset"; //$NON-NLS-1$
- public static final String PROP_ROW_LIMIT = "rowLimit"; //$NON-NLS-1$
-
- // XML
- public static final String PROP_MESSAGE = "message"; //$NON-NLS-1$
- public static final String PROP_TAG = "tag"; //$NON-NLS-1$
- public static final String PROP_NAMESPACE = "namespace"; //$NON-NLS-1$
- public static final String PROP_DATA_COL = "dataCol"; //$NON-NLS-1$
- public static final String PROP_NAMESPACE_DECL = "namespaceDeclarations"; //$NON-NLS-1$
- public static final String PROP_OPTIONAL = "optional"; //$NON-NLS-1$
- public static final String PROP_DEFAULT = "default"; //$NON-NLS-1$
- public static final String PROP_PROGRAM = "program"; //$NON-NLS-1$
- public static final String PROP_RECURSE_DIR = "recurseDir"; //$NON-NLS-1$
- public static final String PROP_RESULT_SET = "resultSet"; //$NON-NLS-1$
- public static final String PROP_BINDINGS = "bindings"; //$NON-NLS-1$
- public static final String PROP_IS_STAGING = "isStaging"; //$NON-NLS-1$
- public static final String PROP_IN_MEMORY = "inMemory"; //$NON-NLS-1$
- public static final String PROP_CONDITIONS = "conditions"; //$NON-NLS-1$
- public static final String PROP_PROGRAMS = "programs"; //$NON-NLS-1$
- public static final String PROP_DEFAULT_PROGRAM = "defaultProgram"; //$NON-NLS-1$
- public static final String PROP_ENCODING = "encoding"; //$NON-NLS-1$
- public static final String PROP_FORMATTED = "formatted"; //$NON-NLS-1$
- public static final String PROP_EXPRESSION = "expression"; //$NON-NLS-1$
-
- // Procedure
- public static final String PROP_VARIABLE = "variable"; //$NON-NLS-1$
- public static final String PROP_GROUP = "group"; //$NON-NLS-1$
- public static final String PROP_THEN = "then"; //$NON-NLS-1$
- public static final String PROP_ELSE = "else"; //$NON-NLS-1$
-
- /**
- * Get a description as a set of properties of primitive types such
- * as String, Integer, etc.
- * @return Map of properties
- */
- Map getDescriptionProperties();
-
-}
Deleted: trunk/engine/src/main/java/com/metamatrix/query/processor/DescribableUtil.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/DescribableUtil.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/DescribableUtil.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -1,62 +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.processor;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import com.metamatrix.common.types.DataTypeManager;
-import com.metamatrix.query.sql.symbol.SingleElementSymbol;
-
-/**
- */
-public class DescribableUtil {
-
- /**
- * Never construct - just a utilities class
- */
- private DescribableUtil() {
- super();
- }
-
- /**
- * Helper method to turn a list of projected symbols into a suitable list of
- * output column strings with name and type.
- * @param projectedSymbols The list of SingleElementSymbol projected from a plan or node
- * @return List of output columns for sending to the client as part of the plan
- */
- public static List getOutputColumnProperties(List projectedSymbols) {
- if(projectedSymbols != null) {
- List outputCols = new ArrayList(projectedSymbols.size());
- for(int i=0; i<projectedSymbols.size() ; i++) {
- SingleElementSymbol symbol = (SingleElementSymbol) projectedSymbols.get(i);
- outputCols.add(symbol.getShortName() + " (" + DataTypeManager.getDataTypeName(symbol.getType()) + ")"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return outputCols;
- }
- return Collections.EMPTY_LIST;
- }
-
-
-}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/ProcessorPlan.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/ProcessorPlan.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/ProcessorPlan.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,15 +22,20 @@
package com.metamatrix.query.processor;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
import java.util.ArrayList;
import java.util.List;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
import com.metamatrix.common.buffer.BufferManager;
import com.metamatrix.common.buffer.TupleBatch;
+import com.metamatrix.query.analysis.AnalysisRecord;
import com.metamatrix.query.processor.BatchCollector.BatchProducer;
import com.metamatrix.query.util.CommandContext;
@@ -47,7 +52,7 @@
* the call to {@link #close}.
* </p>
*/
-public abstract class ProcessorPlan implements Cloneable, Describable, BatchProducer {
+public abstract class ProcessorPlan implements Cloneable, BatchProducer {
private List warnings = null;
@@ -148,5 +153,14 @@
public boolean requiresTransaction(boolean transactionalReads) {
return transactionalReads;
}
+
+ /**
+ * @see com.metamatrix.query.processor.Describable#getDescriptionProperties()
+ */
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = new PlanNode(this.getClass().getSimpleName());
+ props.addProperty(PROP_OUTPUT_COLS, AnalysisRecord.getOutputColumnProperties(getOutputElements()));
+ return props;
+ }
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/batch/BatchedUpdatePlan.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/batch/BatchedUpdatePlan.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/batch/BatchedUpdatePlan.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -24,16 +24,15 @@
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
import com.metamatrix.common.buffer.BufferManager;
import com.metamatrix.common.buffer.TupleBatch;
-import com.metamatrix.query.processor.DescribableUtil;
import com.metamatrix.query.processor.ProcessorDataManager;
import com.metamatrix.query.processor.ProcessorPlan;
import com.metamatrix.query.sql.lang.Command;
@@ -206,15 +205,11 @@
* @see com.metamatrix.query.processor.Describable#getDescriptionProperties()
* @since 4.2
*/
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "Batched Update Plan"); //$NON-NLS-1$
- List children = new ArrayList();
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = super.getDescriptionProperties();
for (int i = 0; i < getPlanCount(); i++) {
- children.add(updatePlans[i].getDescriptionProperties());
+ props.addProperty("Batch Plan " + i, updatePlans[i].getDescriptionProperties()); //$NON-NLS-1$
}
- props.put(PROP_CHILDREN, children);
- props.put(PROP_OUTPUT_COLS, DescribableUtil.getOutputColumnProperties(getOutputElements()));
return props;
}
Deleted: trunk/engine/src/main/java/com/metamatrix/query/processor/proc/AbstractAssignmentInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/proc/AbstractAssignmentInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/proc/AbstractAssignmentInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -1,179 +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.processor.proc;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.api.exception.MetaMatrixProcessingException;
-import com.metamatrix.common.buffer.BlockedException;
-import com.metamatrix.query.execution.QueryExecPlugin;
-import com.metamatrix.query.processor.ProcessorPlan;
-import com.metamatrix.query.processor.program.ProgramInstruction;
-import com.metamatrix.query.sql.symbol.ElementSymbol;
-import com.metamatrix.query.sql.symbol.Expression;
-import com.metamatrix.query.sql.util.VariableContext;
-import com.metamatrix.query.util.ErrorMessageKeys;
-
-/**
- * <p> This instruction updates the current variable context with a value for the Variable
- * defined using a DeclareInstruction, the variable value is obtained by either processing
- * a expression or a command(stored as a processplan). The Processing of the command is
- * expected to result in 1 column, 1 row tuple.</p>
- */
-public abstract class AbstractAssignmentInstruction extends ProgramInstruction {
-
- // variable whose value is updated in the context
- private ElementSymbol variable;
- // expression to be processed
- private Expression expression;
- // processorPlan to be processed
- private ProcessorPlan processPlan;
-
- /**
- * <p> Updates the current variable context with a value for the Variable
- * defined using a DeclareInstruction, the variable value is obtained by either processing
- * a expression or a command(stored as a processplan). The Processing of the command is
- * expected to result in 1 column, 1 row tuple, if more than a row is returned an exception
- * is thrown. Also updates the program counter.</p>
- * @throws BlockedException
- * @throws MetaMatrixComponentException if error processing command or expression on this instruction
- */
- public void process(ProcedurePlan procEnv) throws BlockedException,
- MetaMatrixComponentException, MetaMatrixProcessingException {
-
- VariableContext varContext = procEnv.getCurrentVariableContext();
- Object value = null;
- if (this.getExpression() != null || this.getProcessorPlan() != null) {
-
- if (this.expression != null) {
- //Evaluated the given expression - may throw BlockedException!
- value = procEnv.evaluateExpression(this.expression);
- } else if (processPlan != null) {
- String rsName = "ASSIGNMENT_INSTRUCTION"; //$NON-NLS-1$
- procEnv.executePlan(processPlan, rsName);
-
- procEnv.iterateCursor(rsName);
- List tuple = procEnv.getCurrentRow(rsName);
- // did not expect more than one tupe
- if (procEnv.iterateCursor(rsName)) {
- throw new MetaMatrixProcessingException(ErrorMessageKeys.PROCESSOR_0019,
- QueryExecPlugin.Util.getString(ErrorMessageKeys.PROCESSOR_0019, variable));
- }
- if (tuple != null) {
- value = tuple.get(0);
- }
- procEnv.removeResults(rsName);
- }
- }
- processValue(value, varContext);
- }
-
- protected abstract void processValue(Object value, VariableContext varContext) throws MetaMatrixComponentException, MetaMatrixProcessingException;
-
- protected ProcessorPlan getProcessorPlan(){
- return this.processPlan;
- }
-
-
- protected void cloneState(AbstractAssignmentInstruction clone) {
- clone.setVariable(this.variable);
- clone.setExpression(this.expression);
- if (processPlan != null) {
- clone.setProcessPlan(getProcessPlan().clone());
- }
- }
-
- public Map getDescriptionProperties() {
- Map props = new HashMap();
-
- if (this.expression != null) {
- props.put(PROP_EXPRESSION, this.expression.toString());
- } else if (this.processPlan != null){
- props.put(PROP_PROGRAM, this.processPlan.getDescriptionProperties());
- }
-
- getDescriptionProperties(props);
-
- return props;
- }
-
- protected abstract void getDescriptionProperties(Map props);
-
- /**
- * @see com.metamatrix.query.processor.program.ProgramInstruction#getChildPlans()
- * @since 4.2
- */
- public List<ProcessorPlan> getChildPlans() {
- if(this.processPlan != null) {
- return Arrays.asList(this.processPlan);
- }
- return null;
- }
-
- /**
- * @return Returns the expression.
- */
- public Expression getExpression() {
- return this.expression;
- }
-
- /**
- * @param expression The expression to set.
- */
- public void setExpression(Expression expression) {
- this.expression = expression;
- }
-
- /**
- * @return Returns the processPlan.
- */
- public ProcessorPlan getProcessPlan() {
- return this.processPlan;
- }
-
- /**
- * @param processPlan The processPlan to set.
- */
- public void setProcessPlan(ProcessorPlan processPlan) {
- this.processPlan = processPlan;
- }
-
- /**
- * @return Returns the variable.
- */
- public ElementSymbol getVariable() {
- return this.variable;
- }
-
- /**
- * @param variable The variable to set.
- */
- public void setVariable(ElementSymbol variable) {
- this.variable = variable;
- }
-
-}
\ No newline at end of file
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/proc/AssignmentInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/proc/AssignmentInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/proc/AssignmentInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,11 +22,21 @@
package com.metamatrix.query.processor.proc;
-import java.util.Map;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+import java.util.Arrays;
+
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
+import com.metamatrix.common.buffer.BlockedException;
+import com.metamatrix.common.log.LogConstants;
import com.metamatrix.common.log.LogManager;
+import com.metamatrix.query.analysis.AnalysisRecord;
+import com.metamatrix.query.processor.program.ProgramInstruction;
+import com.metamatrix.query.sql.symbol.ElementSymbol;
+import com.metamatrix.query.sql.symbol.Expression;
import com.metamatrix.query.sql.util.VariableContext;
/**
@@ -35,13 +45,78 @@
* a expression or a command(stored as a processplan). The Processing of the command is
* expected to result in 1 column, 1 row tuple.</p>
*/
-public class AssignmentInstruction extends AbstractAssignmentInstruction {
+public class AssignmentInstruction extends ProgramInstruction {
+ // variable whose value is updated in the context
+ private ElementSymbol variable;
+ // expression to be processed
+ private Expression expression;
+
public AssignmentInstruction() {
}
+
+ /**
+ * <p> Updates the current variable context with a value for the Variable
+ * defined using a DeclareInstruction, the variable value is obtained by either processing
+ * a expression or a command(stored as a processplan). The Processing of the command is
+ * expected to result in 1 column, 1 row tuple, if more than a row is returned an exception
+ * is thrown. Also updates the program counter.</p>
+ * @throws BlockedException
+ * @throws MetaMatrixComponentException if error processing command or expression on this instruction
+ */
+ public void process(ProcedurePlan procEnv) throws BlockedException,
+ MetaMatrixComponentException, MetaMatrixProcessingException {
+ VariableContext varContext = procEnv.getCurrentVariableContext();
+ Object value = null;
+ if (this.expression != null) {
+ value = procEnv.evaluateExpression(this.expression);
+ }
+ varContext.setValue(getVariable(), value);
+ LogManager.logTrace(LogConstants.CTX_DQP,
+ new Object[] {this.toString() + " The variable " //$NON-NLS-1$
+ + getVariable() + " in the variablecontext is updated with the value :", value}); //$NON-NLS-1$
+ }
+
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = new PlanNode("ASSIGNMENT"); //$NON-NLS-1$
+ props.addProperty(PROP_VARIABLE, this.variable.toString());
+ if (this.expression != null) {
+ AnalysisRecord.addLanaguageObjects(props, PROP_EXPRESSION, Arrays.asList(this.expression));
+ }
+ return props;
+ }
+
+ /**
+ * @return Returns the expression.
+ */
+ public Expression getExpression() {
+ return this.expression;
+ }
+
+ /**
+ * @param expression The expression to set.
+ */
+ public void setExpression(Expression expression) {
+ this.expression = expression;
+ }
+
+ /**
+ * @return Returns the variable.
+ */
+ public ElementSymbol getVariable() {
+ return this.variable;
+ }
+
+ /**
+ * @param variable The variable to set.
+ */
+ public void setVariable(ElementSymbol variable) {
+ this.variable = variable;
+ }
+
public String toString() {
- return "ASSIGNMENT INSTRUCTION:"; //$NON-NLS-1$
+ return "ASSIGNMENT INSTRUCTION: " + variable; //$NON-NLS-1$
}
/**
@@ -49,26 +124,9 @@
*/
public AssignmentInstruction clone() {
AssignmentInstruction clone = new AssignmentInstruction();
- this.cloneState(clone);
+ clone.setVariable(this.variable);
+ clone.setExpression(this.expression);
return clone;
}
- /**
- * @see com.metamatrix.query.processor.proc.AbstractAssignmentInstruction#processValue(java.lang.Object)
- */
- protected void processValue(Object value, VariableContext varContext) throws MetaMatrixComponentException,
- MetaMatrixProcessingException {
- varContext.setValue(getVariable(), value);
- LogManager.logTrace(com.metamatrix.common.log.LogConstants.CTX_DQP,
- new Object[] {this.toString() + " The variable " //$NON-NLS-1$
- + getVariable() + " in the variablecontext is updated with the value :", value}); //$NON-NLS-1$
- }
-
- /**
- * @see com.metamatrix.query.processor.proc.AbstractAssignmentInstruction#getDescriptionProperties(java.util.Map)
- */
- protected void getDescriptionProperties(Map props) {
- props.put(PROP_TYPE, "ASSIGNMENT"); //$NON-NLS-1$
- }
-
}
\ No newline at end of file
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/proc/BreakInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/proc/BreakInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/proc/BreakInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -24,10 +24,10 @@
*/
package com.metamatrix.query.processor.proc;
-import java.util.*;
+import org.teiid.client.plan.PlanNode;
import com.metamatrix.api.exception.MetaMatrixComponentException;
-import com.metamatrix.query.processor.program.*;
+import com.metamatrix.query.processor.program.ProgramInstruction;
/**
* <p>This {@link ProgramInstruction} break from a loop when processed</p>.
@@ -43,11 +43,8 @@
env.incrementProgramCounter();
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "BREAK"); //$NON-NLS-1$
-
- return props;
+ public PlanNode getDescriptionProperties() {
+ return new PlanNode("BREAK"); //$NON-NLS-1$
}
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/proc/ContinueInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/proc/ContinueInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/proc/ContinueInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -26,6 +26,8 @@
import java.util.*;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.query.processor.program.*;
@@ -50,10 +52,8 @@
}
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "CONTINUE"); //$NON-NLS-1$
- return props;
+ public PlanNode getDescriptionProperties() {
+ return new PlanNode("CONTINUE"); //$NON-NLS-1$
}
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/proc/CreateCursorResultSetInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/proc/CreateCursorResultSetInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/proc/CreateCursorResultSetInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -24,11 +24,10 @@
*/
package com.metamatrix.query.processor.proc;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
@@ -80,11 +79,10 @@
return "CREATE CURSOR RESULTSET INSTRUCTION - " + rsName; //$NON-NLS-1$
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "CREATE CURSOR"); //$NON-NLS-1$
- props.put(PROP_RESULT_SET, this.rsName);
- props.put(PROP_SQL, this.plan.toString());
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = new PlanNode("CREATE CURSOR"); //$NON-NLS-1$
+ props.addProperty(PROP_RESULT_SET, this.rsName);
+ props.addProperty(PROP_SQL, this.plan.getDescriptionProperties());
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/proc/ErrorInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/proc/ErrorInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/proc/ErrorInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,51 +22,61 @@
package com.metamatrix.query.processor.proc;
-import java.util.Map;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.api.exception.query.ProcedureErrorInstructionException;
import com.metamatrix.common.log.LogManager;
-import com.metamatrix.query.sql.util.VariableContext;
+import com.metamatrix.query.processor.program.ProgramInstruction;
+import com.metamatrix.query.sql.symbol.Expression;
/**
* <p> This instruction updates the current variable context with the Variable defined using
* the declare statement that is used in constructing this instruction.</p>
*/
-public class ErrorInstruction extends AbstractAssignmentInstruction {
+public class ErrorInstruction extends ProgramInstruction {
public static final String ERROR_PREFIX = "Procedure error:"; //$NON-NLS-1$
+ private Expression expression;
+
/**
* Constructor for DeclareInstruction.
*/
public ErrorInstruction() {
}
+
+ public void setExpression(Expression expression) {
+ this.expression = expression;
+ }
/**
* @see com.metamatrix.query.processor.program.ProgramInstruction#clone()
*/
public ErrorInstruction clone() {
ErrorInstruction clone = new ErrorInstruction();
- this.cloneState(clone);
+ clone.expression = expression;
return clone;
}
public String toString() {
- return "RAISE ERROR INSTRUCTION:"; //$NON-NLS-1$
+ return "RAISE ERROR INSTRUCTION: " + expression; //$NON-NLS-1$
}
-
- protected void getDescriptionProperties(Map props) {
- props.put(PROP_TYPE, "RAISE ERROR"); //$NON-NLS-1$
+
+ public PlanNode getDescriptionProperties() {
+ PlanNode node = new PlanNode("RAISE ERROR"); //$NON-NLS-1$
+ node.addProperty(PROP_EXPRESSION, this.expression.toString());
+ return node;
}
-
- /**
- * @see com.metamatrix.query.processor.proc.AbstractAssignmentInstruction#processValue(java.lang.Object)
- */
- protected void processValue(Object value, VariableContext varContext) throws MetaMatrixComponentException,
- MetaMatrixProcessingException {
- LogManager.logTrace(com.metamatrix.common.log.LogConstants.CTX_DQP,
+
+ @Override
+ public void process(ProcedurePlan env) throws MetaMatrixComponentException,
+ MetaMatrixProcessingException {
+ Object value = env.evaluateExpression(expression);
+ LogManager.logTrace(com.metamatrix.common.log.LogConstants.CTX_DQP,
new Object[] {"Processing RaiseErrorInstruction with the value :", value}); //$NON-NLS-1$
throw new ProcedureErrorInstructionException(ERROR_PREFIX + (value != null ? value.toString() : "")); //$NON-NLS-1$
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/proc/ExecDynamicSqlInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/proc/ExecDynamicSqlInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/proc/ExecDynamicSqlInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,6 +22,8 @@
package com.metamatrix.query.processor.proc;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
@@ -29,6 +31,7 @@
import java.util.List;
import java.util.Map;
+import org.teiid.client.plan.PlanNode;
import org.teiid.connector.language.SQLReservedWords;
import com.metamatrix.api.exception.MetaMatrixComponentException;
@@ -75,20 +78,6 @@
*/
public class ExecDynamicSqlInstruction extends ProgramInstruction {
- private static class PopCallInstruction extends ProgramInstruction {
-
- /**
- * @see com.metamatrix.query.processor.program.ProgramInstruction#process(ProcedurePlan)
- */
- public void process(ProcedurePlan procEnv) throws MetaMatrixComponentException,
- MetaMatrixProcessingException {
- procEnv.getContext().popCall();
- }
-
- }
-
- private static PopCallInstruction POP_CALL_INSTRUCTION = new PopCallInstruction();
-
// the DynamicCommand
private DynamicCommand dynamicCommand;
@@ -200,11 +189,18 @@
.createNonRecordingRecord(), procEnv
.getContext());
- CreateCursorResultSetInstruction inst = new CreateCursorResultSetInstruction(CreateCursorResultSetInstruction.RS_NAME, commandPlan);
+ CreateCursorResultSetInstruction inst = new CreateCursorResultSetInstruction(CreateCursorResultSetInstruction.RS_NAME, commandPlan) {
+ @Override
+ public void process(ProcedurePlan procEnv)
+ throws BlockedException, MetaMatrixComponentException,
+ MetaMatrixProcessingException {
+ super.process(procEnv);
+ procEnv.getContext().popCall();
+ }
+ };
dynamicProgram = new Program();
dynamicProgram.addInstruction(inst);
- dynamicProgram.addInstruction(POP_CALL_INSTRUCTION);
if (dynamicCommand.getIntoGroup() != null) {
String groupName = dynamicCommand.getIntoGroup().getCanonicalName();
@@ -332,13 +328,9 @@
return "ExecDynamicSqlInstruction"; //$NON-NLS-1$
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "SQL"); //$NON-NLS-1$
- props.put(PROP_SQL, CreateCursorResultSetInstruction.RS_NAME);
- if (dynamicCommand.getIntoGroup() != null) {
- props.put(PROP_GROUP, dynamicCommand.getIntoGroup().toString());
- }
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = new PlanNode("ExecDynamicSqlInstruction"); //$NON-NLS-1$
+ props.addProperty(PROP_SQL, dynamicCommand.toString());
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/proc/IfInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/proc/IfInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/proc/IfInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,9 +22,10 @@
package com.metamatrix.query.processor.proc;
-import java.util.HashMap;
-import java.util.Map;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
@@ -129,13 +130,12 @@
return "IF INSTRUCTION:"; //$NON-NLS-1$
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "IF"); //$NON-NLS-1$
- props.put(PROP_CRITERIA, this.condition.toString());
- props.put(PROP_THEN, this.ifProgram.getDescriptionProperties());
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = new PlanNode("IF"); //$NON-NLS-1$
+ props.addProperty(PROP_CRITERIA, this.condition.toString());
+ props.addProperty(PROP_THEN, this.ifProgram.getDescriptionProperties());
if(elseProgram != null) {
- props.put(PROP_ELSE, this.elseProgram.getDescriptionProperties());
+ props.addProperty(PROP_ELSE, this.elseProgram.getDescriptionProperties());
}
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/proc/LoopInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/proc/LoopInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/proc/LoopInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -24,11 +24,13 @@
*/
package com.metamatrix.query.processor.proc;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.query.processor.ProcessorPlan;
@@ -43,8 +45,6 @@
// the loop block
private Program loopProgram;
- //list of ElementSymbols theat represents all the possible
- //cursor columns
private List elements;
public LoopInstruction(Program loopProgram, String rsName, ProcessorPlan plan) {
@@ -79,14 +79,14 @@
}
public String toString() {
- return "LOOP INSTRUCTION:"; //$NON-NLS-1$
+ return "LOOP INSTRUCTION: " + this.rsName; //$NON-NLS-1$
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "LOOP"); //$NON-NLS-1$
- props.put(PROP_RESULT_SET, this.rsName);
- props.put(PROP_PROGRAM, this.loopProgram.getDescriptionProperties());
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = new PlanNode("LOOP"); //$NON-NLS-1$
+ props.addProperty(PROP_SQL, this.plan.getDescriptionProperties());
+ props.addProperty(PROP_RESULT_SET, this.rsName);
+ props.addProperty(PROP_PROGRAM, this.loopProgram.getDescriptionProperties());
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/proc/ProcedurePlan.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/proc/ProcedurePlan.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/proc/ProcedurePlan.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,6 +22,8 @@
package com.metamatrix.query.processor.proc;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@@ -33,6 +35,8 @@
import java.util.Set;
import java.util.Stack;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.api.exception.query.QueryValidatorException;
@@ -42,12 +46,12 @@
import com.metamatrix.common.buffer.TupleBatch;
import com.metamatrix.common.buffer.TupleSource;
import com.metamatrix.common.log.LogManager;
+import com.metamatrix.query.analysis.AnalysisRecord;
import com.metamatrix.query.execution.QueryExecPlugin;
import com.metamatrix.query.metadata.QueryMetadataInterface;
import com.metamatrix.query.metadata.SupportConstants;
import com.metamatrix.query.processor.BatchIterator;
import com.metamatrix.query.processor.CollectionTupleSource;
-import com.metamatrix.query.processor.DescribableUtil;
import com.metamatrix.query.processor.ProcessorDataManager;
import com.metamatrix.query.processor.ProcessorPlan;
import com.metamatrix.query.processor.QueryProcessor;
@@ -367,12 +371,10 @@
return batch;
}
- public Map getDescriptionProperties() {
- Map props = this.originalProgram.getDescriptionProperties();
- props.put(PROP_TYPE, "Procedure Plan"); //$NON-NLS-1$
- props.put(PROP_OUTPUT_COLS, DescribableUtil.getOutputColumnProperties(getOutputElements()));
-
- return props;
+ public PlanNode getDescriptionProperties() {
+ PlanNode node = this.originalProgram.getDescriptionProperties();
+ node.addProperty(PROP_OUTPUT_COLS, AnalysisRecord.getOutputColumnProperties(getOutputElements()));
+ return node;
}
public void setMetadata( QueryMetadataInterface metadata ) {
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/proc/WhileInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/proc/WhileInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/proc/WhileInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -24,9 +24,10 @@
*/
package com.metamatrix.query.processor.proc;
-import java.util.HashMap;
-import java.util.Map;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.query.processor.program.Program;
@@ -66,11 +67,10 @@
return "WHILE INSTRUCTION:"; //$NON-NLS-1$
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "WHILE"); //$NON-NLS-1$
- props.put(PROP_CRITERIA, this.condition.toString());
- props.put(PROP_PROGRAM, this.whileProgram.getDescriptionProperties());
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = new PlanNode("WHILE"); //$NON-NLS-1$
+ props.addProperty(PROP_CRITERIA, this.condition.toString());
+ props.addProperty(PROP_PROGRAM, this.whileProgram.getDescriptionProperties());
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/program/Program.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/program/Program.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/program/Program.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -23,12 +23,10 @@
package com.metamatrix.query.processor.program;
import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
-import java.util.Map;
-import com.metamatrix.query.processor.Describable;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.query.processor.proc.IfInstruction;
import com.metamatrix.query.processor.proc.WhileInstruction;
@@ -37,7 +35,7 @@
* ProgramInstructions, such as {@link IfInstruction} and {@link WhileInstruction} may
* have pointers to sub programs.
*/
-public class Program implements Cloneable, Describable {
+public class Program implements Cloneable {
private List<ProgramInstruction> programInstructions;
private int counter = 0;
@@ -132,19 +130,15 @@
return program;
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "Program"); //$NON-NLS-1$
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = new PlanNode("Program"); //$NON-NLS-1$
if(this.programInstructions != null) {
- List children = new ArrayList();
- Iterator iter = this.programInstructions.iterator();
- while(iter.hasNext()) {
- ProgramInstruction inst = (ProgramInstruction) iter.next();
- Map childProps = inst.getDescriptionProperties();
- children.add(childProps);
+ for (int i = 0; i < programInstructions.size(); i++) {
+ ProgramInstruction inst = programInstructions.get(i);
+ PlanNode childProps = inst.getDescriptionProperties();
+ props.addProperty("Instruction " + i, childProps); //$NON-NLS-1$
}
- props.put(PROP_CHILDREN, children);
}
return props;
}
@@ -180,7 +174,7 @@
programToString(str);
- return "PROGRAM counter " + this.counter + " " + str.toString(); //$NON-NLS-1$ //$NON-NLS-2$
+ return "PROGRAM counter " + this.counter + "\n" + str.toString(); //$NON-NLS-1$ //$NON-NLS-2$
}
/**
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/program/ProgramInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/program/ProgramInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/program/ProgramInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,13 +22,12 @@
package com.metamatrix.query.processor.program;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
-import com.metamatrix.query.processor.Describable;
import com.metamatrix.query.processor.ProcessorPlan;
import com.metamatrix.query.processor.proc.ProcedurePlan;
@@ -42,7 +41,7 @@
* The exception to this are instructions that have sub programs in them -
* those sub programs need to be cloned.</p>
*/
-public abstract class ProgramInstruction implements Cloneable, Describable {
+public abstract class ProgramInstruction implements Cloneable {
public ProgramInstruction() {
}
@@ -82,11 +81,7 @@
}
return null;
}
-
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- return props;
- }
-
+ public abstract PlanNode getDescriptionProperties();
+
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/relational/AccessNode.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/relational/AccessNode.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/AccessNode.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,10 +22,13 @@
package com.metamatrix.query.processor.relational;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.api.exception.query.CriteriaEvaluationException;
@@ -215,12 +218,10 @@
/*
* @see com.metamatrix.query.processor.Describable#getDescriptionProperties()
*/
- public Map getDescriptionProperties() {
- // Default implementation - should be overridden
- Map props = super.getDescriptionProperties();
- props.put(PROP_TYPE, "Access"); //$NON-NLS-1$
- props.put(PROP_SQL, this.command.toString());
- props.put(PROP_MODEL_NAME, this.modelName);
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = super.getDescriptionProperties();
+ props.addProperty(PROP_SQL, this.command.toString());
+ props.addProperty(PROP_MODEL_NAME, this.modelName);
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/relational/DependentAccessNode.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/relational/DependentAccessNode.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/DependentAccessNode.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,8 +22,6 @@
package com.metamatrix.query.processor.relational;
-import java.util.Map;
-
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.core.util.Assertion;
@@ -76,17 +74,6 @@
return clonedNode;
}
- /*
- * @see com.metamatrix.query.processor.Describable#getDescriptionProperties()
- */
- public Map getDescriptionProperties() {
- Map props = super.getDescriptionProperties();
- props.put(PROP_TYPE, "Dependent Access"); //$NON-NLS-1$
- props.put(PROP_SQL, this.getCommand().toString());
- props.put(PROP_MODEL_NAME, getModelName());
- return props;
- }
-
/**
* @return Returns the maxSize.
*/
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/relational/DependentProcedureAccessNode.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/relational/DependentProcedureAccessNode.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/DependentProcedureAccessNode.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -23,7 +23,6 @@
package com.metamatrix.query.processor.relational;
import java.util.List;
-import java.util.Map;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
@@ -52,15 +51,6 @@
this.inputReferences = references;
}
- /*
- * @see com.metamatrix.query.processor.Describable#getDescriptionProperties()
- */
- public Map getDescriptionProperties() {
- Map props = super.getDescriptionProperties();
- props.put(PROP_TYPE, "Dependent Procedure Access"); //$NON-NLS-1$
- return props;
- }
-
/**
* @see com.metamatrix.query.processor.relational.PlanExecutionNode#clone()
*/
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/relational/DependentProcedureExecutionNode.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/relational/DependentProcedureExecutionNode.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/DependentProcedureExecutionNode.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -51,15 +51,6 @@
this.inputReferences = references;
}
- /*
- * @see com.metamatrix.query.processor.Describable#getDescriptionProperties()
- */
- public Map getDescriptionProperties() {
- Map props = super.getDescriptionProperties();
- props.put(PROP_TYPE, "Dependent Procedure Execution"); //$NON-NLS-1$
- return props;
- }
-
/**
* @see com.metamatrix.query.processor.relational.PlanExecutionNode#clone()
*/
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/relational/GroupingNode.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/relational/GroupingNode.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/GroupingNode.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,12 +22,15 @@
package com.metamatrix.query.processor.relational;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
+import org.teiid.client.plan.PlanNode;
import org.teiid.connector.language.SQLReservedWords;
import com.metamatrix.api.exception.MetaMatrixComponentException;
@@ -414,21 +417,20 @@
/*
* @see com.metamatrix.query.processor.Describable#getDescriptionProperties()
*/
- public Map getDescriptionProperties() {
+ public PlanNode getDescriptionProperties() {
// Default implementation - should be overridden
- Map props = super.getDescriptionProperties();
- props.put(PROP_TYPE, "Grouping"); //$NON-NLS-1$
+ PlanNode props = super.getDescriptionProperties();
if(sortElements != null) {
int elements = sortElements.size();
- List groupCols = new ArrayList(elements);
+ List<String> groupCols = new ArrayList<String>(elements);
for(int i=0; i<elements; i++) {
groupCols.add(this.sortElements.get(i).toString());
}
- props.put(PROP_GROUP_COLS, groupCols);
+ props.addProperty(PROP_GROUP_COLS, groupCols);
}
- props.put(PROP_REMOVE_DUPS, this.removeDuplicates);
+ props.addProperty(PROP_SORT_MODE, String.valueOf(this.removeDuplicates));
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/relational/JoinNode.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/relational/JoinNode.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/JoinNode.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,13 +22,14 @@
package com.metamatrix.query.processor.relational;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.api.exception.query.CriteriaEvaluationException;
@@ -39,7 +40,6 @@
import com.metamatrix.common.buffer.BufferManager.BufferReserveMode;
import com.metamatrix.query.processor.ProcessorDataManager;
import com.metamatrix.query.processor.relational.SourceState.ImplicitBuffer;
-import com.metamatrix.query.sql.LanguageObject;
import com.metamatrix.query.sql.lang.Criteria;
import com.metamatrix.query.sql.lang.JoinType;
import com.metamatrix.query.util.CommandContext;
@@ -234,24 +234,22 @@
* @see com.metamatrix.query.processor.relational.RelationalNode#getDescriptionProperties()
* @since 4.2
*/
- public Map getDescriptionProperties() {
+ public PlanNode getDescriptionProperties() {
// Default implementation - should be overridden
- Map props = super.getDescriptionProperties();
+ PlanNode props = super.getDescriptionProperties();
if(isDependent()) {
- props.put(PROP_TYPE, "Dependent Join"); //$NON-NLS-1$
- } else {
- props.put(PROP_TYPE, "Join"); //$NON-NLS-1$
+ props.addProperty(PROP_DEPENDENT, Boolean.TRUE.toString());
}
- props.put(PROP_JOIN_STRATEGY, this.joinStrategy.toString());
- props.put(PROP_JOIN_TYPE, this.joinType.toString());
- List critList = getCriteriaList();
- props.put(PROP_JOIN_CRITERIA, critList);
+ props.addProperty(PROP_JOIN_STRATEGY, this.joinStrategy.toString());
+ props.addProperty(PROP_JOIN_TYPE, this.joinType.toString());
+ List<String> critList = getCriteriaList();
+ props.addProperty(PROP_JOIN_CRITERIA, critList);
return props;
}
- private List getCriteriaList() {
- List critList = new ArrayList();
+ private List<String> getCriteriaList() {
+ List<String> critList = new ArrayList<String>();
if (leftExpressions != null) {
for(int i=0; i < this.leftExpressions.size(); i++) {
critList.add(this.leftExpressions.get(i).toString() + "=" + this.rightExpressions.get(i).toString()); //$NON-NLS-1$
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/relational/LimitNode.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/relational/LimitNode.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/LimitNode.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,10 +22,13 @@
package com.metamatrix.query.processor.relational;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
import java.util.Collections;
import java.util.List;
-import java.util.Map;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
@@ -33,6 +36,7 @@
import com.metamatrix.query.eval.Evaluator;
import com.metamatrix.query.sql.symbol.Expression;
+
public class LimitNode extends RelationalNode {
private final Expression limitExpr;
@@ -137,11 +141,10 @@
}
}
- public Map getDescriptionProperties() {
- Map props = super.getDescriptionProperties();
- props.put(PROP_TYPE, "Limit"); //$NON-NLS-1$
- props.put(PROP_ROW_OFFSET, offsetExpr);
- props.put(PROP_ROW_LIMIT, limitExpr);
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = super.getDescriptionProperties();
+ props.addProperty(PROP_ROW_OFFSET, String.valueOf(offsetExpr));
+ props.addProperty(PROP_ROW_LIMIT, String.valueOf(limitExpr));
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/relational/NullNode.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/relational/NullNode.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/NullNode.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,8 +22,6 @@
package com.metamatrix.query.processor.relational;
-import java.util.Map;
-
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.common.buffer.TupleBatch;
@@ -50,14 +48,4 @@
return clonedNode;
}
- /*
- * @see com.metamatrix.query.processor.Describable#getDescriptionProperties()
- */
- public Map getDescriptionProperties() {
- // Default implementation - should be overridden
- Map props = super.getDescriptionProperties();
- props.put(PROP_TYPE, "Null"); //$NON-NLS-1$
- return props;
- }
-
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/relational/PlanExecutionNode.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/relational/PlanExecutionNode.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/PlanExecutionNode.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,9 +22,12 @@
package com.metamatrix.query.processor.relational;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
import java.util.List;
-import java.util.Map;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
@@ -158,15 +161,13 @@
protected void copy(PlanExecutionNode source,
PlanExecutionNode target) {
- target.setProcessorPlan((ProcessorPlan)source.plan.clone());
+ target.setProcessorPlan(source.plan.clone());
super.copy(source, target);
}
- public Map getDescriptionProperties() {
- // Default implementation - should be overridden
- Map props = super.getDescriptionProperties();
- props.put(PROP_TYPE, "Plan Execution"); //$NON-NLS-1$
- props.put(PROP_EXECUTION_PLAN, this.plan.getDescriptionProperties());
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = super.getDescriptionProperties();
+ props.addProperty(PROP_EXECUTION_PLAN, this.plan.getDescriptionProperties());
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/relational/ProjectIntoNode.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/relational/ProjectIntoNode.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/ProjectIntoNode.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -24,10 +24,13 @@
*/
package com.metamatrix.query.processor.relational;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
@@ -217,16 +220,14 @@
return clonedNode;
}
- public Map getDescriptionProperties() {
- // Default implementation - should be overridden
- Map props = super.getDescriptionProperties();
- props.put(PROP_TYPE, "Project Into"); //$NON-NLS-1$
- props.put(PROP_INTO_GROUP, intoGroup.toString());
- List selectCols = new ArrayList(intoElements.size());
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = super.getDescriptionProperties();
+ props.addProperty(PROP_INTO_GROUP, intoGroup.toString());
+ List<String> selectCols = new ArrayList<String>(intoElements.size());
for(int i=0; i<this.intoElements.size(); i++) {
selectCols.add(this.intoElements.get(i).toString());
}
- props.put(PROP_SELECT_COLS, selectCols);
+ props.addProperty(PROP_SELECT_COLS, selectCols);
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/relational/ProjectNode.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/relational/ProjectNode.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/ProjectNode.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,13 +22,16 @@
package com.metamatrix.query.processor.relational;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.api.exception.query.ExpressionEvaluationException;
@@ -36,9 +39,9 @@
import com.metamatrix.common.buffer.BufferManager;
import com.metamatrix.common.buffer.TupleBatch;
import com.metamatrix.core.util.Assertion;
+import com.metamatrix.query.analysis.AnalysisRecord;
import com.metamatrix.query.execution.QueryExecPlugin;
import com.metamatrix.query.processor.ProcessorDataManager;
-import com.metamatrix.query.sql.LanguageObject;
import com.metamatrix.query.sql.symbol.AggregateSymbol;
import com.metamatrix.query.sql.symbol.AliasSymbol;
import com.metamatrix.query.sql.symbol.ElementSymbol;
@@ -254,16 +257,9 @@
/*
* @see com.metamatrix.query.processor.Describable#getDescriptionProperties()
*/
- public Map getDescriptionProperties() {
- // Default implementation - should be overridden
- Map props = super.getDescriptionProperties();
- props.put(PROP_TYPE, "Project"); //$NON-NLS-1$
- List selectCols = new ArrayList(selectSymbols.size());
- for(int i=0; i<this.selectSymbols.size(); i++) {
- selectCols.add(this.selectSymbols.get(i).toString());
- }
- props.put(PROP_SELECT_COLS, selectCols);
-
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = super.getDescriptionProperties();
+ AnalysisRecord.addLanaguageObjects(props, PROP_SELECT_COLS, this.selectSymbols);
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/relational/RelationalNode.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/relational/RelationalNode.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/RelationalNode.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,12 +22,16 @@
package com.metamatrix.query.processor.relational;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
@@ -36,15 +40,14 @@
import com.metamatrix.common.log.LogManager;
import com.metamatrix.core.log.MessageLevel;
import com.metamatrix.core.util.Assertion;
-import com.metamatrix.query.processor.Describable;
-import com.metamatrix.query.processor.DescribableUtil;
+import com.metamatrix.query.analysis.AnalysisRecord;
import com.metamatrix.query.processor.ProcessorDataManager;
import com.metamatrix.query.processor.BatchCollector.BatchProducer;
import com.metamatrix.query.sql.symbol.AliasSymbol;
import com.metamatrix.query.sql.symbol.SingleElementSymbol;
import com.metamatrix.query.util.CommandContext;
-public abstract class RelationalNode implements Cloneable, Describable, BatchProducer {
+public abstract class RelationalNode implements Cloneable, BatchProducer {
// External context and state
private CommandContext context;
@@ -464,9 +467,7 @@
* @return Just the last part which is the class name
*/
protected String getClassName() {
- String fullClassName = this.getClass().getName();
- int index = fullClassName.lastIndexOf("."); //$NON-NLS-1$
- return fullClassName.substring(index+1);
+ return this.getClass().getSimpleName();
}
/**
@@ -494,34 +495,24 @@
}
}
- /*
- * @see com.metamatrix.query.processor.Describable#getDescriptionProperties()
- */
- public Map getDescriptionProperties() {
+ public PlanNode getDescriptionProperties() {
// Default implementation - should be overridden
- Map props = new HashMap();
+ PlanNode result = new PlanNode(getClassName());
+ result.addProperty(PROP_OUTPUT_COLS, AnalysisRecord.getOutputColumnProperties(this.elements));
if(this.context != null && this.context.getCollectNodeStatistics()) {
this.nodeStatistics.setStatisticsList();
- props.put(PROP_NODE_STATS_LIST, this.nodeStatistics.getStatisticsList());
+ result.addProperty(PROP_NODE_STATS_LIST, this.nodeStatistics.getStatisticsList());
}
- List costEstimates = this.getCostEstimates();
+ List<String> costEstimates = this.getCostEstimates();
if(costEstimates != null) {
- props.put(PROP_NODE_COST_ESTIMATES, costEstimates);
+ result.addProperty(PROP_NODE_COST_ESTIMATES, costEstimates);
}
- props.put(PROP_TYPE, "Relational"); //$NON-NLS-1$
- props.put(PROP_CHILDREN, getChildDescriptionProperties());
- props.put(PROP_OUTPUT_COLS, DescribableUtil.getOutputColumnProperties(this.elements));
- return props;
- }
-
- protected List getChildDescriptionProperties() {
- ArrayList childrenProps = new ArrayList(children.length);
for(int i=0; i<children.length; i++) {
if(children[i] != null) {
- childrenProps.add(this.children[i].getDescriptionProperties());
+ result.addProperty("Child " + i, this.children[i].getDescriptionProperties()); //$NON-NLS-1$
}
}
- return childrenProps;
+ return result;
}
/**
@@ -552,8 +543,8 @@
this.estimateJoinCost = estimateJoinCost;
}
- private List getCostEstimates() {
- List costEstimates = new ArrayList();
+ private List<String> getCostEstimates() {
+ List<String> costEstimates = new ArrayList<String>();
if(this.estimateNodeCardinality != null) {
costEstimates.add("Estimated Node Cardinality: "+ this.estimateNodeCardinality); //$NON-NLS-1$
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/relational/RelationalNodeStatistics.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/relational/RelationalNodeStatistics.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/RelationalNodeStatistics.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -37,7 +37,7 @@
static final int BATCHCOMPLETE_STOP = 0;
static final int BLOCKEDEXCEPTION_STOP = 1;
- private List statisticsList;
+ private List<String> statisticsList = new ArrayList<String>();
private boolean setNodeStartTime;
// The total amount of rows output by this node
@@ -67,7 +67,6 @@
private int nodeBlocks;
public RelationalNodeStatistics() {
- this.statisticsList = new ArrayList();
this.setNodeStartTime = false;
}
@@ -126,7 +125,7 @@
this.statisticsList.add("Node Blocks: " + this.nodeBlocks); //$NON-NLS-1$
}
- public List getStatisticsList() {
+ public List<String> getStatisticsList() {
return this.statisticsList;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/relational/RelationalPlan.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/relational/RelationalPlan.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/RelationalPlan.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -24,16 +24,15 @@
import java.util.ArrayList;
import java.util.Collections;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
import com.metamatrix.common.buffer.BufferManager;
import com.metamatrix.common.buffer.TupleBatch;
-import com.metamatrix.query.processor.DescribableUtil;
import com.metamatrix.query.processor.ProcessorDataManager;
import com.metamatrix.query.processor.ProcessorPlan;
import com.metamatrix.query.sql.lang.QueryCommand;
@@ -135,15 +134,8 @@
/*
* @see com.metamatrix.query.processor.Describable#getDescriptionProperties()
*/
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "Relational Plan"); //$NON-NLS-1$
- List children = new ArrayList();
- Map childProps = getRootNode().getDescriptionProperties();
- children.add(childProps);
- props.put(PROP_CHILDREN, children);
- props.put(PROP_OUTPUT_COLS, DescribableUtil.getOutputColumnProperties(getOutputElements()));
- return props;
+ public PlanNode getDescriptionProperties() {
+ return this.root.getDescriptionProperties();
}
/**
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/relational/SelectNode.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/relational/SelectNode.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/SelectNode.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,14 +22,20 @@
package com.metamatrix.query.processor.relational;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
+import java.util.Arrays;
import java.util.List;
import java.util.Map;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
import com.metamatrix.common.buffer.BufferManager;
import com.metamatrix.common.buffer.TupleBatch;
+import com.metamatrix.query.analysis.AnalysisRecord;
import com.metamatrix.query.processor.ProcessorDataManager;
import com.metamatrix.query.sql.lang.Criteria;
import com.metamatrix.query.util.CommandContext;
@@ -147,11 +153,9 @@
/*
* @see com.metamatrix.query.processor.Describable#getDescriptionProperties()
*/
- public Map getDescriptionProperties() {
- // Default implementation - should be overridden
- Map props = super.getDescriptionProperties();
- props.put(PROP_TYPE, "Select"); //$NON-NLS-1$
- props.put(PROP_CRITERIA, this.criteria.toString());
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = super.getDescriptionProperties();
+ AnalysisRecord.addLanaguageObjects(props, PROP_CRITERIA, Arrays.asList(this.criteria));
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/relational/SortNode.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/relational/SortNode.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/SortNode.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,10 +22,13 @@
package com.metamatrix.query.processor.relational;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
@@ -156,24 +159,12 @@
return clonedNode;
}
- public Map getDescriptionProperties() {
- // Default implementation - should be overridden
- Map props = super.getDescriptionProperties();
- switch (mode) {
- case SORT:
- props.put(PROP_TYPE, "Sort"); //$NON-NLS-1$
- break;
- case DUP_REMOVE:
- props.put(PROP_TYPE, "Duplicate Removal"); //$NON-NLS-1$
- break;
- case DUP_REMOVE_SORT:
- props.put(PROP_TYPE, "Duplicate Removal And Sort"); //$NON-NLS-1$
- break;
- }
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = super.getDescriptionProperties();
if(this.mode != Mode.DUP_REMOVE && this.sortElements != null) {
Boolean ASC_B = Boolean.valueOf(OrderBy.ASC);
- List cols = new ArrayList(this.sortElements.size());
+ List<String> cols = new ArrayList<String>(this.sortElements.size());
for(int i=0; i<this.sortElements.size(); i++) {
String elemName = this.sortElements.get(i).toString();
if(this.sortTypes.get(i).equals(ASC_B)) {
@@ -182,10 +173,10 @@
cols.add(elemName + " DESC"); //$NON-NLS-1$
}
}
- props.put(PROP_SORT_COLS, cols);
+ props.addProperty(PROP_SORT_COLS, cols);
}
- props.put(PROP_REMOVE_DUPS, this.mode);
+ props.addProperty(PROP_SORT_MODE, this.mode.toString());
return props;
}
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 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/SubqueryAwareEvaluator.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -112,6 +112,7 @@
if (!state.done) {
if (state.processor == null) {
CommandContext subContext = (CommandContext) context.clone();
+ state.plan.reset();
state.processor = new QueryProcessor(state.plan, subContext, manager, this.dataMgr);
if (container.getCommand().getCorrelatedReferences() != null) {
VariableContext currentContext = new VariableContext();
@@ -123,7 +124,6 @@
state.collector = state.processor.createBatchCollector();
}
state.done = true;
- state.plan.reset();
}
return new DependentValueSource(state.collector.collectTuples()).getValueIterator(ref.getValueExpression());
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/relational/UnionAllNode.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/relational/UnionAllNode.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/relational/UnionAllNode.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -23,7 +23,6 @@
package com.metamatrix.query.processor.relational;
import java.util.Collections;
-import java.util.Map;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
@@ -150,13 +149,5 @@
super.copy(this, clonedNode);
return clonedNode;
}
-
- public Map getDescriptionProperties() {
- // Default implementation - should be overridden
- Map props = super.getDescriptionProperties();
- props.put(PROP_TYPE, "Union All"); //$NON-NLS-1$
-
- return props;
- }
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/AbortProcessingInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/AbortProcessingInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/AbortProcessingInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,8 +22,7 @@
package com.metamatrix.query.processor.xml;
-import java.util.HashMap;
-import java.util.Map;
+import org.teiid.client.plan.PlanNode;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
@@ -68,10 +67,8 @@
return "ABORT"; //$NON-NLS-1$
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "ABORT"); //$NON-NLS-1$
- return props;
+ public PlanNode getDescriptionProperties() {
+ return new PlanNode("ABORT"); //$NON-NLS-1$
}
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/AddCommentInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/AddCommentInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/AddCommentInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,12 +22,14 @@
package com.metamatrix.query.processor.xml;
-import java.util.HashMap;
-import java.util.Map;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
+import com.metamatrix.common.log.LogConstants;
import com.metamatrix.common.log.LogManager;
/**
@@ -56,7 +58,7 @@
DocumentInProgress doc = env.getDocumentInProgress();
doc.addComment(this.commentText);
- LogManager.logTrace(com.metamatrix.common.log.LogConstants.CTX_XML_PLAN, "COMMENT"); //$NON-NLS-1$
+ LogManager.logTrace(LogConstants.CTX_XML_PLAN, "COMMENT"); //$NON-NLS-1$
env.incrementCurrentProgramCounter();
return context;
@@ -68,11 +70,9 @@
return str.toString();
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "ADD COMMENT"); //$NON-NLS-1$
- props.put(PROP_MESSAGE, this.commentText);
-
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = new PlanNode("COMMENT"); //$NON-NLS-1$
+ props.addProperty(PROP_MESSAGE, this.commentText);
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/AddNodeInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/AddNodeInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/AddNodeInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,13 +22,15 @@
package com.metamatrix.query.processor.xml;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
import java.util.ArrayList;
import java.util.Enumeration;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.Properties;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
@@ -183,42 +185,42 @@
return str.toString();
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = null;
if(descriptor.isElement()) {
- props.put(PROP_TYPE, "ADD ELEMENT"); //$NON-NLS-1$
+ props = new PlanNode("ADD ELEMENT"); //$NON-NLS-1$
} else {
- props.put(PROP_TYPE, "ADD ATTRIBUTE"); //$NON-NLS-1$
+ props = new PlanNode("ADD ATTRIBUTE"); //$NON-NLS-1$
}
- props.put(PROP_TAG, this.descriptor.getName());
+ props.addProperty(PROP_TAG, this.descriptor.getName());
if(descriptor.isOptional()) {
- props.put(PROP_OPTIONAL, ""+descriptor.isOptional()); //$NON-NLS-1$
+ props.addProperty(PROP_OPTIONAL, ""+descriptor.isOptional()); //$NON-NLS-1$
}
if(this.symbol != null) {
- props.put(PROP_DATA_COL, this.symbol);
+ props.addProperty(PROP_DATA_COL, this.symbol.toString());
}
if(descriptor.getNamespacePrefix() != null) {
- props.put(PROP_NAMESPACE, descriptor.getNamespacePrefix());
+ props.addProperty(PROP_NAMESPACE, descriptor.getNamespacePrefix());
}
Properties namespaceDeclarations = descriptor.getNamespaceURIs();
if(namespaceDeclarations != null) {
- List nsDecl = new ArrayList(namespaceDeclarations.size());
+ List<String> nsDecl = new ArrayList<String>(namespaceDeclarations.size());
Enumeration e = namespaceDeclarations.propertyNames();
while (e.hasMoreElements()){
String prefix = (String)e.nextElement();
String ns = namespaceDeclarations.getProperty(prefix);
nsDecl.add(prefix + "=\"" + ns + "\""); //$NON-NLS-1$ //$NON-NLS-2$
}
- props.put(PROP_NAMESPACE_DECL, nsDecl);
+ props.addProperty(PROP_NAMESPACE_DECL, nsDecl);
}
if(descriptor.getDefaultValue() != null) {
- props.put(PROP_DEFAULT, descriptor.getDefaultValue());
+ props.addProperty(PROP_DEFAULT, descriptor.getDefaultValue());
}
return props;
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/BlockInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/BlockInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/BlockInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,9 +22,10 @@
package com.metamatrix.query.processor.xml;
-import java.util.HashMap;
-import java.util.Map;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
@@ -60,12 +61,9 @@
return "BLOCK " + resultSetName; //$NON-NLS-1$
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "BLOCK"); //$NON-NLS-1$
-
- props.put(PROP_RESULT_SET, this.resultSetName);
-
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = new PlanNode("BLOCK"); //$NON-NLS-1$
+ props.addProperty(PROP_RESULT_SET, this.resultSetName);
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/EndBlockInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/EndBlockInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/EndBlockInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,9 +22,10 @@
package com.metamatrix.query.processor.xml;
-import java.util.HashMap;
-import java.util.Map;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
@@ -75,11 +76,9 @@
return "CLOSE " + resultSetName; //$NON-NLS-1$
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "CLOSE RESULTSET"); //$NON-NLS-1$
- props.put(PROP_RESULT_SET, this.resultSetName);
-
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = new PlanNode("CLOSE RESULTSET"); //$NON-NLS-1$
+ props.addProperty(PROP_RESULT_SET, this.resultSetName);
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/EndDocumentInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/EndDocumentInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/EndDocumentInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,8 +22,7 @@
package com.metamatrix.query.processor.xml;
-import java.util.HashMap;
-import java.util.Map;
+import org.teiid.client.plan.PlanNode;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
@@ -65,11 +64,8 @@
return "END DOC"; //$NON-NLS-1$
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "END DOCUMENT"); //$NON-NLS-1$
-
- return props;
+ public PlanNode getDescriptionProperties() {
+ return new PlanNode("END DOCUMENT"); //$NON-NLS-1$
}
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/ExecSqlInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/ExecSqlInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/ExecSqlInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,9 +22,10 @@
package com.metamatrix.query.processor.xml;
-import java.util.HashMap;
-import java.util.Map;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
@@ -72,13 +73,10 @@
return "SQL " + resultSetName; //$NON-NLS-1$
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "EXECUTE SQL"); //$NON-NLS-1$
- props.put(PROP_SQL, this.resultSetName);
- props.put(PROP_RESULT_SET, this.resultSetName);
- props.put(PROP_IS_STAGING, "false"); //$NON-NLS-1$
-
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = new PlanNode("EXECUTE SQL"); //$NON-NLS-1$
+ props.addProperty(PROP_RESULT_SET, this.resultSetName);
+ props.addProperty(PROP_SQL, this.info.getPlan().getDescriptionProperties());
return props;
}
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/ExecStagingTableInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/ExecStagingTableInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/ExecStagingTableInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,9 +22,12 @@
package com.metamatrix.query.processor.xml;
-import java.util.HashMap;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
import java.util.Map;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
@@ -85,11 +88,11 @@
return "STAGING:"+resultSetName; //$NON-NLS-1$
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "Staging Table"); //$NON-NLS-1$
- props.put(PROP_RESULT_SET, this.resultSetName);
- props.put(PROP_IS_STAGING, "true"); //$NON-NLS-1$
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = new PlanNode("Staging Table"); //$NON-NLS-1$
+ props.addProperty(PROP_RESULT_SET, this.resultSetName);
+ props.addProperty(PROP_IS_STAGING, "true"); //$NON-NLS-1$
+ props.addProperty(PROP_SQL, this.info.getPlan().getDescriptionProperties());
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/IfInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/IfInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/IfInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,12 +22,13 @@
package com.metamatrix.query.processor.xml;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
-import java.util.Map;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
@@ -204,28 +205,24 @@
return "IF BLOCK:"; //$NON-NLS-1$
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "CHOICE"); //$NON-NLS-1$
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = new PlanNode("CHOICE"); //$NON-NLS-1$
- List conditions = new ArrayList(thenBlocks.size());
- List programs = new ArrayList(thenBlocks.size());
-
- Iterator iter = this.thenBlocks.iterator();
- while(iter.hasNext()) {
- Condition condition = (Condition) iter.next();
- conditions.add(condition.toString());
+ for (int i = 0; i < this.thenBlocks.size(); i++) {
+ Condition condition = (Condition) thenBlocks.get(i);
+ PlanNode node = null;
if(condition instanceof RecurseProgramCondition) {
- programs.add(new HashMap());
+ node = new PlanNode("RECURSIVE"); //$NON-NLS-1$
+ node.addProperty(PROP_CONDITION, condition.toString());
} else {
- programs.add(condition.getThenProgram().getDescriptionProperties());
+ node = condition.getThenProgram().getDescriptionProperties();
+ node.addProperty(PROP_CONDITION, ((CriteriaCondition)condition).criteria.toString());
}
+ props.addProperty("Condition " + i, node); //$NON-NLS-1$
}
- props.put(PROP_CONDITIONS, conditions);
- props.put(PROP_PROGRAMS, programs);
if (defaultCondition != null && defaultCondition.getThenProgram() != null){
- props.put(PROP_DEFAULT_PROGRAM, defaultCondition.getThenProgram().getDescriptionProperties());
+ props.addProperty(PROP_DEFAULT_PROGRAM, defaultCondition.getThenProgram().getDescriptionProperties());
}
return props;
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/InitializeDocumentInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/InitializeDocumentInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/InitializeDocumentInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,9 +22,10 @@
package com.metamatrix.query.processor.xml;
-import java.util.HashMap;
-import java.util.Map;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
@@ -112,12 +113,11 @@
return "DOC encoding: " + encoding + ", is formatted: " + isFormatted; //$NON-NLS-1$ //$NON-NLS-2$
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "START DOCUMENT"); //$NON-NLS-1$
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = new PlanNode("START DOCUMENT"); //$NON-NLS-1$
- props.put(PROP_ENCODING, this.encoding);
- props.put(PROP_FORMATTED, ""+this.isFormatted); //$NON-NLS-1$
+ props.addProperty(PROP_ENCODING, this.encoding);
+ props.addProperty(PROP_FORMATTED, String.valueOf(this.isFormatted));
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/JoinedWhileInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/JoinedWhileInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/JoinedWhileInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -25,6 +25,8 @@
import java.util.List;
import java.util.Map;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
@@ -137,9 +139,7 @@
return "JOINED " + originalResultSet + " " + super.toString(); //$NON-NLS-1$ //$NON-NLS-2$
}
- public Map getDescriptionProperties() {
- Map props = super.getDescriptionProperties();
- props.put(PROP_TYPE, "JOINED LOOP"); //$NON-NLS-1$
- return props;
+ public PlanNode getDescriptionProperties() {
+ return new PlanNode("JOINED LOOP"); //$NON-NLS-1$
}
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/MoveCursorInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/MoveCursorInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/MoveCursorInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,9 +22,10 @@
package com.metamatrix.query.processor.xml;
-import java.util.HashMap;
-import java.util.Map;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
@@ -63,12 +64,9 @@
return "NEXT " + resultSetName; //$NON-NLS-1$
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "NEXT ROW"); //$NON-NLS-1$
-
- props.put(PROP_RESULT_SET, this.resultSetName);
-
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = new PlanNode("NEXT ROW"); //$NON-NLS-1$
+ props.addProperty(PROP_RESULT_SET, this.resultSetName);
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/MoveDocInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/MoveDocInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/MoveDocInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,9 +22,7 @@
package com.metamatrix.query.processor.xml;
-import java.util.HashMap;
-import java.util.Map;
-
+import org.teiid.client.plan.PlanNode;
import org.xml.sax.SAXException;
import com.metamatrix.api.exception.MetaMatrixComponentException;
@@ -88,15 +86,11 @@
return "LAST"; //$NON-NLS-1$
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
+ public PlanNode getDescriptionProperties() {
if(direction == UP) {
- props.put(PROP_TYPE, "UP IN DOCUMENT"); //$NON-NLS-1$
- } else {
- props.put(PROP_TYPE, "NEXT IN DOCUMENT"); //$NON-NLS-1$
- }
-
- return props;
+ return new PlanNode("UP IN DOCUMENT"); //$NON-NLS-1$
+ }
+ return new PlanNode("NEXT IN DOCUMENT"); //$NON-NLS-1$
}
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/ProcessorInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/ProcessorInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/ProcessorInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,18 +22,16 @@
package com.metamatrix.query.processor.xml;
-import java.util.HashMap;
-import java.util.Map;
+import org.teiid.client.plan.PlanNode;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
-import com.metamatrix.query.processor.Describable;
/**
* <p>Abstract superclass of all XML Processor Instructions.</p>
*/
-public abstract class ProcessorInstruction implements Describable {
+public abstract class ProcessorInstruction {
public ProcessorInstruction() {
}
@@ -54,12 +52,7 @@
*/
public abstract XMLContext process(XMLProcessorEnvironment env, XMLContext context)
throws BlockedException, MetaMatrixComponentException, MetaMatrixProcessingException;
+
+ public abstract PlanNode getDescriptionProperties();
- /*
- * @see com.metamatrix.query.processor.Describable#getDescriptionProperties()
- */
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- return props;
- }
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/Program.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/Program.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/Program.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,12 +22,10 @@
package com.metamatrix.query.processor.xml;
-import java.util.*;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
-import com.metamatrix.query.processor.Describable;
+import org.teiid.client.plan.PlanNode;
/**
* A program is a sequence of {@link ProcessorInstruction ProcessorInstructions}. Certain
@@ -35,9 +33,9 @@
* pointers to sub programs. XMLPlan will maintain a stack of programs during
* execution.
*/
-public class Program implements Describable {
+public class Program {
- private List processorInstructions;
+ private List<ProcessorInstruction> processorInstructions;
/**
* Constructor for Program.
@@ -62,7 +60,7 @@
* @param instructionIndex index of instruction to be removed
*/
public void removeInstructionAt(int instructionIndex) {
- List instructions = getProcessorInstructions();
+ List<ProcessorInstruction> instructions = getProcessorInstructions();
if (instructionIndex < instructions.size()) {
instructions.remove(instructionIndex);
}
@@ -85,19 +83,15 @@
return ("PROGRAM size " + getProcessorInstructions().size()); //$NON-NLS-1$
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "XML Program"); //$NON-NLS-1$
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = new PlanNode("XML Program"); //$NON-NLS-1$
if(this.processorInstructions != null) {
- List children = new ArrayList();
- Iterator iter = this.processorInstructions.iterator();
- while(iter.hasNext()) {
- ProcessorInstruction inst = (ProcessorInstruction) iter.next();
- Map childProps = inst.getDescriptionProperties();
- children.add(childProps);
+ for (int i = 0; i < processorInstructions.size(); i++) {
+ ProcessorInstruction inst = processorInstructions.get(i);
+ PlanNode childProps = inst.getDescriptionProperties();
+ props.addProperty("Instruction " + i, childProps); //$NON-NLS-1$
}
- props.put(PROP_CHILDREN, children);
}
return props;
}
@@ -115,15 +109,15 @@
private ProcessorInstruction getInstructionAtIndex(int instructionIndex){
if (processorInstructions != null){
if (instructionIndex < getProcessorInstructions().size()){
- return (ProcessorInstruction)getProcessorInstructions().get(instructionIndex);
+ return getProcessorInstructions().get(instructionIndex);
}
}
return null;
}
- List getProcessorInstructions(){
+ List<ProcessorInstruction> getProcessorInstructions(){
if (processorInstructions == null){
- processorInstructions = new ArrayList();
+ processorInstructions = new ArrayList<ProcessorInstruction>();
}
return processorInstructions;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/RelationalPlanExecutor.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/RelationalPlanExecutor.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/RelationalPlanExecutor.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -70,7 +70,7 @@
this.resultInfo = resultInfo;
this.bufferMgr = bufferMgr;
- ProcessorPlan plan = (ProcessorPlan)resultInfo.getPlan();
+ ProcessorPlan plan = resultInfo.getPlan();
CommandContext subContext = (CommandContext)context.clone();
subContext.pushVariableContext(new VariableContext());
this.internalProcessor = new QueryProcessor(plan, subContext, bufferMgr, dataMgr);
@@ -80,7 +80,7 @@
* @see com.metamatrix.query.processor.xml.PlanExecutor#getOutputElements()
*/
public List getOutputElements() throws MetaMatrixComponentException {
- ProcessorPlan plan = (ProcessorPlan)resultInfo.getPlan();
+ ProcessorPlan plan = resultInfo.getPlan();
return plan.getOutputElements();
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/WhileInstruction.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/WhileInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/WhileInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,10 +22,13 @@
package com.metamatrix.query.processor.xml;
-import java.util.HashMap;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
import java.util.List;
import java.util.Map;
+import org.teiid.client.plan.PlanNode;
+
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.common.buffer.BlockedException;
@@ -109,11 +112,10 @@
return "LOOP " + resultSetName; //$NON-NLS-1$
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "LOOP"); //$NON-NLS-1$
- props.put(PROP_RESULT_SET, this.resultSetName);
- props.put(PROP_PROGRAM, this.blockProgram.getDescriptionProperties());
+ public PlanNode getDescriptionProperties() {
+ PlanNode props = new PlanNode("LOOP"); //$NON-NLS-1$
+ props.addProperty(PROP_RESULT_SET, this.resultSetName);
+ props.addProperty(PROP_PROGRAM, this.blockProgram.getDescriptionProperties());
return props;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/XMLPlan.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/XMLPlan.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/XMLPlan.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,6 +22,8 @@
package com.metamatrix.query.processor.xml;
+import static com.metamatrix.query.analysis.AnalysisRecord.*;
+
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
@@ -36,13 +38,13 @@
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
-import java.util.Map;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.teiid.client.lob.LobChunk;
+import org.teiid.client.plan.PlanNode;
import org.xml.sax.Attributes;
import org.xml.sax.EntityResolver;
import org.xml.sax.ErrorHandler;
@@ -66,8 +68,8 @@
import com.metamatrix.common.types.Streamable;
import com.metamatrix.common.types.XMLType;
import com.metamatrix.core.util.Assertion;
+import com.metamatrix.query.analysis.AnalysisRecord;
import com.metamatrix.query.execution.QueryExecPlugin;
-import com.metamatrix.query.processor.DescribableUtil;
import com.metamatrix.query.processor.ProcessorDataManager;
import com.metamatrix.query.processor.ProcessorPlan;
import com.metamatrix.query.processor.TempTableDataManager;
@@ -77,6 +79,7 @@
import com.metamatrix.query.tempdata.TempTableStoreImpl;
import com.metamatrix.query.util.CommandContext;
import com.metamatrix.query.util.ErrorMessageKeys;
+
/**
*
*/
@@ -132,7 +135,7 @@
nextBatchCount = 1;
this.env = (XMLProcessorEnvironment)this.env.clone();
-
+
LogManager.logTrace(LogConstants.CTX_XML_PLAN, "XMLPlan reset"); //$NON-NLS-1$
}
@@ -561,24 +564,10 @@
/*
* @see com.metamatrix.query.processor.Describable#getDescriptionProperties()
*/
- public Map getDescriptionProperties() {
- Map props = this.originalProgram.getDescriptionProperties();
-// Get relational plans to get description props and add them to children
- Collection childRelationalPlans = env.getChildPlans();
- ArrayList children = (ArrayList) props.get(PROP_CHILDREN);
- if(childRelationalPlans!=null) {
- Iterator childRelationalPlansIterator = childRelationalPlans.iterator();
- while(childRelationalPlansIterator.hasNext()) {
- ProcessorPlan relationalPlan = (ProcessorPlan) childRelationalPlansIterator.next();
- Map planProperties = relationalPlan.getDescriptionProperties();
- children.add(planProperties);
- }
- }
- props.put(PROP_CHILDREN, children);
- props.put(PROP_TYPE, "XML Plan"); //$NON-NLS-1$
- props.put(PROP_OUTPUT_COLS, DescribableUtil.getOutputColumnProperties(getOutputElements()));
-
- return props;
+ public PlanNode getDescriptionProperties() {
+ PlanNode node = this.originalProgram.getDescriptionProperties();
+ node.addProperty(PROP_OUTPUT_COLS, AnalysisRecord.getOutputColumnProperties(getOutputElements()));
+ return node;
}
public GroupSymbol getDocumentGroup() {
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/XMLPostProcessor.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/XMLPostProcessor.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/XMLPostProcessor.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -31,7 +31,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import java.util.Map;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Source;
@@ -188,11 +187,6 @@
}
@Override
- public Map getDescriptionProperties() {
- return this.plan.getDescriptionProperties();
- }
-
- @Override
public boolean requiresTransaction(boolean transactionalReads) {
return plan.requiresTransaction(transactionalReads);
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xml/XMLProcessorEnvironment.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xml/XMLProcessorEnvironment.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xml/XMLProcessorEnvironment.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,7 +22,6 @@
package com.metamatrix.query.processor.xml;
-import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
@@ -63,8 +62,6 @@
private BufferManager bufferMgr;
private CommandContext commandContext;
- private Collection childPlans;
-
protected XMLProcessorEnvironment(){
}
@@ -221,11 +218,11 @@
public PlanExecutor createResultExecutor(String resultSetName, ResultSetInfo info)
throws MetaMatrixComponentException{
- // this cloning code is here beacuse, cloning the plan inside the resultset is not possible
- // becuse of the dependencies.
+ // cloning the plan inside the resultset is not possible
+ // because of the dependencies.
ResultSetInfo clone = (ResultSetInfo)info.clone();
- ProcessorPlan plan = (ProcessorPlan)clone.getPlan();
- plan = (ProcessorPlan)plan.clone();
+ ProcessorPlan plan = clone.getPlan();
+ plan = plan.clone();
clone.setPlan(plan);
return new RelationalPlanExecutor(clone, this.commandContext, this.dataMgr, this.bufferMgr);
@@ -275,13 +272,6 @@
/**
- * @see com.metamatrix.query.processor.xml.ProcessorEnvironment#getChildPlans()
- */
- public Collection getChildPlans() {
- return this.childPlans;
- }
-
- /**
* @see com.metamatrix.query.processor.xml.ProcessorEnvironment#clone()
*/
public Object clone() {
@@ -325,7 +315,4 @@
this.loadedStagingTables.put(tableName, Boolean.TRUE);
}
- public void setChildPlans(Collection childPlans){
- this.childPlans = childPlans;
- }
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/processor/xquery/XQueryPlan.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/processor/xquery/XQueryPlan.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/processor/xquery/XQueryPlan.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -24,9 +24,7 @@
import java.sql.SQLXML;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.Properties;
import com.metamatrix.api.exception.MetaMatrixComponentException;
@@ -38,7 +36,6 @@
import com.metamatrix.common.types.Streamable;
import com.metamatrix.common.types.XMLTranslator;
import com.metamatrix.common.types.XMLType;
-import com.metamatrix.query.processor.DescribableUtil;
import com.metamatrix.query.processor.ProcessorDataManager;
import com.metamatrix.query.processor.ProcessorPlan;
import com.metamatrix.query.processor.xml.XMLUtil;
@@ -166,18 +163,6 @@
public void close() throws MetaMatrixComponentException {
}
- /**
- * @see com.metamatrix.query.processor.Describable#getDescriptionProperties()
- */
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "XQuery Plan"); //$NON-NLS-1$
- List children = new ArrayList();
- props.put(PROP_CHILDREN, children);
- props.put(PROP_OUTPUT_COLS, DescribableUtil.getOutputColumnProperties(getOutputElements()));
- return props;
- }
-
public String toString() {
return "XQueryPlan: " + this.xQuery.toString(); //$NON-NLS-1$
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/sql/lang/Option.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/sql/lang/Option.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/sql/lang/Option.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,13 +22,15 @@
package com.metamatrix.query.sql.lang;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
import org.teiid.connector.language.SQLReservedWords;
-import com.metamatrix.core.util.HashCodeUtil;
-import com.metamatrix.query.sql.*;
import com.metamatrix.core.util.EquivalenceUtil;
+import com.metamatrix.core.util.HashCodeUtil;
+import com.metamatrix.query.sql.LanguageObject;
+import com.metamatrix.query.sql.LanguageVisitor;
import com.metamatrix.query.sql.visitor.SQLStringVisitor;
/**
@@ -42,11 +44,8 @@
public final static String MAKENOTDEP = SQLReservedWords.MAKENOTDEP;
public final static String OPTIONAL = "optional"; //$NON-NLS-1$
- private boolean showPlan = false;
- private boolean debug = false;
private List<String> makeDependentGroups;
private List<String> makeNotDependentGroups;
- private boolean planOnly = false;
private List<String> noCacheGroups;
private boolean noCache;
@@ -56,55 +55,7 @@
public Option() {
}
- /**
- * Set flag for returning the query plan with the results
- * @param flag True to return the query plan with the results, false otherwise
- */
- public void setShowPlan(boolean flag) {
- this.showPlan = flag;
- }
-
- /**
- * Get flag for whether to return the query plan with the results
- * @return True to return the query plan with the results
- */
- public boolean getShowPlan() {
- return this.showPlan;
- }
-
/**
- * Set flag for returning only the query plan without executing the query
- * @param flag True to return the query plan without the results, false otherwise
- */
- public void setPlanOnly(boolean planOnly) {
- this.planOnly = planOnly;
- }
-
- /**
- * Get flag for whether to return the query plan without the results
- * @return True to return the query plan without the results
- */
- public boolean getPlanOnly() {
- return this.planOnly;
- }
-
- /**
- * Set flag to dump debug info on the server
- * @param flag True to dump debug info for this query, false otherwise
- */
- public void setDebug(boolean flag) {
- this.debug = flag;
- }
-
- /**
- * Get flag for whether to dump debug info on the server
- * @return True if debug info should be dumped on the server, false otherwise
- */
- public boolean getDebug() {
- return this.debug;
- }
-
- /**
* Add group to make dependent
* @param group Group to make dependent
*/
@@ -202,10 +153,7 @@
Option other = (Option) obj;
- return getShowPlan() == other.getShowPlan() &&
- getDebug() == other.getDebug() &&
- getPlanOnly() == other.getPlanOnly() &&
- noCache == other.noCache &&
+ return noCache == other.noCache &&
EquivalenceUtil.areEqual(getDependentGroups(), other.getDependentGroups()) &&
EquivalenceUtil.areEqual(getNotDependentGroups(), other.getNotDependentGroups()) &&
EquivalenceUtil.areEqual(getNoCacheGroups(), other.getNoCacheGroups());
@@ -217,9 +165,6 @@
*/
public int hashCode() {
int hc = 0;
- hc = HashCodeUtil.hashCode(hc, getShowPlan());
- hc = HashCodeUtil.hashCode(hc, getDebug());
- hc = HashCodeUtil.hashCode(hc, getPlanOnly());
if(getDependentGroups() != null) {
hc = HashCodeUtil.hashCode(hc, getDependentGroups());
}
@@ -238,9 +183,6 @@
*/
public Object clone() {
Option newOption = new Option();
- newOption.setDebug(getDebug());
- newOption.setShowPlan(getShowPlan());
- newOption.setPlanOnly(getPlanOnly());
newOption.setNoCache(noCache);
if(getDependentGroups() != null) {
Modified: trunk/engine/src/main/java/com/metamatrix/query/sql/visitor/SQLStringVisitor.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/sql/visitor/SQLStringVisitor.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/com/metamatrix/query/sql/visitor/SQLStringVisitor.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -624,21 +624,6 @@
public void visit(Option obj) {
parts.add(SQLReservedWords.OPTION);
- if(obj.getShowPlan()) {
- parts.add(" "); //$NON-NLS-1$
- parts.add(SQLReservedWords.SHOWPLAN);
- }
-
- if(obj.getPlanOnly()) {
- parts.add(" "); //$NON-NLS-1$
- parts.add(SQLReservedWords.PLANONLY);
- }
-
- if(obj.getDebug()) {
- parts.add(" "); //$NON-NLS-1$
- parts.add(SQLReservedWords.DEBUG);
- }
-
Collection groups = obj.getDependentGroups();
if(groups != null && groups.size() > 0) {
parts.add(" "); //$NON-NLS-1$
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -30,6 +30,7 @@
import org.teiid.client.RequestMessage;
import org.teiid.client.RequestMessage.ResultsMode;
+import org.teiid.client.RequestMessage.ShowPlan;
import org.teiid.client.xa.XATransactionException;
import org.teiid.dqp.internal.datamgr.impl.ConnectorManagerRepository;
import org.teiid.dqp.internal.process.multisource.MultiSourceCapabilitiesFinder;
@@ -78,7 +79,6 @@
import com.metamatrix.query.sql.lang.BatchedUpdateCommand;
import com.metamatrix.query.sql.lang.Command;
import com.metamatrix.query.sql.lang.Limit;
-import com.metamatrix.query.sql.lang.Option;
import com.metamatrix.query.sql.lang.Query;
import com.metamatrix.query.sql.lang.QueryCommand;
import com.metamatrix.query.sql.lang.SetQuery;
@@ -240,8 +240,8 @@
workContext.getVdbName(),
workContext.getVdbVersion(),
props,
- useProcDebug(userCommand),
- collectNodeStatistics(userCommand));
+ useProcDebug(),
+ this.requestMsg.getShowPlan() != ShowPlan.OFF);
this.context.setProcessorBatchSize(bufferManager.getProcessorBatchSize());
this.context.setConnectorBatchSize(bufferManager.getConnectorBatchSize());
this.context.setStreamingBatchSize(chunkSize);
@@ -366,27 +366,13 @@
this.processor = new QueryProcessor(processPlan, context, bufferManager, new TempTableDataManager(processorDataManager, tempTableStore));
}
- private boolean useProcDebug(Command command) {
+ private boolean useProcDebug() {
if(this.procDebugAllowed) {
- Option option = command.getOption();
- if(option != null) {
- return option.getDebug();
- }
+ return requestMsg.getShowPlan() == ShowPlan.DEBUG;
}
return false;
}
- private boolean collectNodeStatistics(Command command) {
- if(this.requestMsg.getShowPlan()) {
- return true;
- }
- Option option = command.getOption();
- if(option != null) {
- return (option.getDebug() || option.getShowPlan());
- }
- return false;
- }
-
/**
* state side effects:
* creates the analysis record
@@ -409,7 +395,7 @@
//there should be no reference (?) for query/update executed as statement
checkReferences(references);
- createAnalysisRecord(command);
+ this.analysisRecord = new AnalysisRecord(requestMsg.getShowPlan() != ShowPlan.OFF, requestMsg.getShowPlan() == ShowPlan.DEBUG);
resolveCommand(command);
@@ -463,18 +449,6 @@
}
}
- private void createAnalysisRecord(Command command) {
- Option option = command.getOption();
- boolean getPlan = requestMsg.getShowPlan();
- boolean debug = false;
- if (option != null) {
- getPlan = getPlan || option.getShowPlan() || option.getPlanOnly();
- debug = option.getDebug();
- }
-
- this.analysisRecord = new AnalysisRecord(getPlan, debug);
- }
-
public void processRequest()
throws QueryValidatorException, QueryParserException, QueryResolverException, MetaMatrixComponentException, QueryPlannerException {
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 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -25,7 +25,6 @@
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -36,7 +35,6 @@
import org.teiid.client.SourceWarning;
import org.teiid.client.lob.LobChunk;
import org.teiid.client.metadata.ParameterInfo;
-import org.teiid.client.plan.Annotation;
import org.teiid.client.util.ResultsReceiver;
import org.teiid.client.xa.XATransactionException;
import org.teiid.connector.api.DataNotAvailableException;
@@ -66,7 +64,6 @@
import com.metamatrix.query.processor.QueryProcessor;
import com.metamatrix.query.processor.BatchCollector.BatchHandler;
import com.metamatrix.query.sql.lang.Command;
-import com.metamatrix.query.sql.lang.Option;
import com.metamatrix.query.sql.lang.SPParameter;
import com.metamatrix.query.sql.lang.StoredProcedure;
import com.metamatrix.query.sql.symbol.SingleElementSymbol;
@@ -382,8 +379,7 @@
if (analysisRecord.recordQueryPlan()) {
analysisRecord.setQueryPlan(processor.getProcessorPlan().getDescriptionProperties());
}
- Option option = originalCommand.getOption();
- if (option != null && option.getPlanOnly()) {
+ if (requestMsg.isNoExec()) {
doneProducingBatches = true;
resultsBuffer.close();
this.cid = null;
Modified: trunk/engine/src/main/javacc/com/metamatrix/query/parser/SQLParser.jj
===================================================================
--- trunk/engine/src/main/javacc/com/metamatrix/query/parser/SQLParser.jj 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/main/javacc/com/metamatrix/query/parser/SQLParser.jj 2010-04-07 03:29:59 UTC (rev 2031)
@@ -144,7 +144,6 @@
| <DAY: "day">
| <DEALLOCATE: "deallocate">
| <DEFAULT_KEYWORD: "default">
-| <DEBUG: "debug">
| <DECLARE: "declare">
| <DELETE: "delete">
| <DESC: "desc">
@@ -234,7 +233,6 @@
| <OVERLAPS: "OVERLAPS">
| <PARAMETER: "parameter">
| <PARTITION: "partition">
-| <PLANONLY: "planonly">
| <PRECISION: "precision">
| <PREPARE: "prepare">
| <PRIMARY: "primary">
@@ -260,7 +258,6 @@
| <SENSITIVE: "sensitive">
| <SESSION_USER: "session_user">
| <SET: "set">
-| <SHOWPLAN: "showplan">
| <SIMILAR: "similar">
| <SPECIFIC: "specific">
| <SOME: "some">
@@ -2504,9 +2501,6 @@
*/
Option option(ParseInfo info) :
{
- Token plan = null;
- Token debug = null;
- Token planOnly = null;
String id = null;
Token nocache = null;
Option option = new Option();
@@ -2514,10 +2508,6 @@
{
<OPTION>
(
- plan = <SHOWPLAN> |
- planOnly = <PLANONLY> |
- debug = <DEBUG> |
-
<MAKEDEP>
id=id()
{
@@ -2555,9 +2545,6 @@
)*
{
- option.setShowPlan( (plan != null) );
- option.setPlanOnly( (planOnly != null) );
- option.setDebug( (debug != null) );
option.setNoCache( (nocache != null) );
return option;
}
Modified: trunk/engine/src/test/java/com/metamatrix/dqp/message/TestResultsMessage.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/dqp/message/TestResultsMessage.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/test/java/com/metamatrix/dqp/message/TestResultsMessage.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -24,18 +24,18 @@
import java.math.BigInteger;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
+import junit.framework.TestCase;
+
import org.teiid.client.ResultsMessage;
import org.teiid.client.metadata.ParameterInfo;
+import org.teiid.client.plan.PlanNode;
-import junit.framework.TestCase;
-
import com.metamatrix.common.types.DataTypeManager;
import com.metamatrix.core.util.UnitTestUtil;
+@SuppressWarnings("nls")
public class TestResultsMessage extends TestCase {
/**
@@ -46,7 +46,7 @@
super(name);
}
- public static ResultsMessage example() {
+ public static ResultsMessage example() {
ResultsMessage message = new ResultsMessage();
message.setColumnNames(new String[] {"A", "B", "C", "D"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
message.setDataTypes(new String[] {DataTypeManager.DefaultDataTypes.BIG_INTEGER,
@@ -60,11 +60,11 @@
parameters.add(new ParameterInfo(ParameterInfo.IN, 0));
parameters.add(new ParameterInfo(ParameterInfo.RESULT_SET, 5));
message.setParameters(parameters);
- Map planDescs = new HashMap();
- planDescs.put("key1", "val1"); //$NON-NLS-1$ //$NON-NLS-2$
- planDescs.put("key2", "val2"); //$NON-NLS-1$ //$NON-NLS-2$
- planDescs.put("key3", "val3"); //$NON-NLS-1$ //$NON-NLS-2$
- planDescs.put("key4", "val4"); //$NON-NLS-1$ //$NON-NLS-2$
+ PlanNode planDescs = new PlanNode("test");
+ planDescs.addProperty("key1", "val1"); //$NON-NLS-1$ //$NON-NLS-2$
+ planDescs.addProperty("key2", "val2"); //$NON-NLS-1$ //$NON-NLS-2$
+ planDescs.addProperty("key3", "val3"); //$NON-NLS-1$ //$NON-NLS-2$
+ planDescs.addProperty("key4", "val4"); //$NON-NLS-1$ //$NON-NLS-2$
message.setPlanDescription(planDescs);
List results = new ArrayList();
@@ -113,15 +113,7 @@
assertEquals(5, info2.getNumColumns());
assertNotNull(copy.getPlanDescription());
- assertEquals(4, copy.getPlanDescription().size());
- assertTrue(copy.getPlanDescription().containsKey("key1")); //$NON-NLS-1$
- assertTrue(copy.getPlanDescription().containsKey("key2")); //$NON-NLS-1$
- assertTrue(copy.getPlanDescription().containsKey("key3")); //$NON-NLS-1$
- assertTrue(copy.getPlanDescription().containsKey("key4")); //$NON-NLS-1$
- assertEquals("val1", copy.getPlanDescription().get("key1")); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals("val2", copy.getPlanDescription().get("key2")); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals("val3", copy.getPlanDescription().get("key3")); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals("val4", copy.getPlanDescription().get("key4")); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(4, copy.getPlanDescription().getProperties().size());
assertNotNull(copy.getResults());
assertEquals(1, copy.getResults().length);
Modified: trunk/engine/src/test/java/com/metamatrix/query/analysis/TestAnalysisRecord.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/analysis/TestAnalysisRecord.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/test/java/com/metamatrix/query/analysis/TestAnalysisRecord.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,15 +22,16 @@
package com.metamatrix.query.analysis;
-import java.util.*;
+import java.util.Collection;
+import junit.framework.TestCase;
+
import org.teiid.client.plan.Annotation;
+import org.teiid.client.plan.PlanNode;
import org.teiid.client.plan.Annotation.Priority;
import com.metamatrix.core.util.StringUtil;
-import junit.framework.TestCase;
-
/**
*/
public class TestAnalysisRecord extends TestCase {
@@ -47,8 +48,8 @@
AnalysisRecord rec = new AnalysisRecord(true, false);
assertTrue(rec.recordQueryPlan());
- Map plan = new HashMap();
- plan.put("node", "value"); //$NON-NLS-1$ //$NON-NLS-2$
+ PlanNode plan = new PlanNode("test"); //$NON-NLS-1$
+ plan.addProperty("node", "value"); //$NON-NLS-1$ //$NON-NLS-2$
rec.setQueryPlan(plan);
assertEquals(rec.getQueryPlan(), plan);
}
Modified: trunk/engine/src/test/java/com/metamatrix/query/optimizer/xml/TestXMLPlanner.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/optimizer/xml/TestXMLPlanner.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/test/java/com/metamatrix/query/optimizer/xml/TestXMLPlanner.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -47,7 +47,6 @@
import com.metamatrix.query.optimizer.TestOptimizer;
import com.metamatrix.query.optimizer.capabilities.CapabilitiesFinder;
import com.metamatrix.query.parser.QueryParser;
-import com.metamatrix.query.processor.Describable;
import com.metamatrix.query.processor.xml.BlockInstruction;
import com.metamatrix.query.processor.xml.EndBlockInstruction;
import com.metamatrix.query.processor.xml.ExecSqlInstruction;
@@ -919,13 +918,5 @@
return new FakeMetadataFacade(store);
}
- public void testGetDescriptionProperties() throws Exception {
- XMLPlan plan = helpPlan(
- "SELECT * FROM vm1.doc1 ORDER BY vm1.doc1.a0.a1.c1", //$NON-NLS-1$
- example1());
- assertEquals("[{formatted=false, encoding=UTF-8, type=START DOCUMENT}, {tag=a0, type=ADD ELEMENT, namespaceDeclarations=[], namespace=}, {type=NEXT IN DOCUMENT}, {isStaging=true, resultSet=tm1.g1, type=Staging Table}, {sql=VM1.G1_1, isStaging=false, resultSet=VM1.G1_1, type=EXECUTE SQL}, {resultSet=VM1.G1_1, type=BLOCK}, {resultSet=VM1.G1_1, type=NEXT ROW}, {program={children=[{tag=a1, type=ADD ELEMENT, namespaceDeclarations=[], namespace=}, {type=NEXT IN DOCUMENT}, {tag=a1, dataCol=VM1.G1_1.e1, type=ADD ELEMENT, namespaceDeclarations=[], namespace=}, {tag=b1, dataCol=VM1.G1_1.e2, type=ADD ELEMENT, namespaceDeclarations=[], namespace=}, {tag=c1, dataCol=VM1.G1_1.e3, type=ADD ELEMENT, namespaceDeclarations=[], namespace=}, {type=UP IN DOCUMENT}, {resultSet=VM1.G1_1, type=NEXT ROW}], type=XML Program}, resultSet=VM1.G1_1, type=LOOP}, {resultSet=VM1.G1_1, type=CLOSE RESULTSET}, {type=UP IN DOCUMENT}, {type=END DOCUMENT}, {isStaging=true, resultSet=unload_tm1.g1, type=S!
taging Table}, {children=[{removeDups=SORT, sortCols=[#TM1_G1.E3 ASC], nodeCostEstimates=[Estimated Node Cardinality: -1.0], children=[{nodeCostEstimates=[Estimated Node Cardinality: -1.0], children=[{modelName=__TEMP__, sql=SELECT #TM1_G1.E1, #TM1_G1.E2, #TM1_G1.E3, #TM1_G1.E4 FROM #TM1_G1, nodeCostEstimates=[Estimated Node Cardinality: -1.0], children=[], type=Access, outputCols=[E1 (string), E2 (integer), E3 (boolean), E4 (double)]}], selectCols=[#TM1_G1.E1, #TM1_G1.E2, #TM1_G1.E3, #TM1_G1.E4], type=Project, outputCols=[E1 (string), E2 (integer), E3 (boolean), E4 (double)]}], type=Sort, outputCols=[E1 (string), E2 (integer), E3 (boolean), E4 (double)]}], type=Relational Plan, outputCols=[E1 (string), E2 (integer), E3 (boolean), E4 (double)]}]", plan.getDescriptionProperties().get(Describable.PROP_CHILDREN).toString());//$NON-NLS-1$
- }
- // ################################## TEST SUITE ################################
-
private static final boolean DEBUG = false;
}
Modified: trunk/engine/src/test/java/com/metamatrix/query/parser/TestOptionsAndHints.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/parser/TestOptionsAndHints.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/test/java/com/metamatrix/query/parser/TestOptionsAndHints.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -348,14 +348,13 @@
option.setNoCache(true);
option.addNoCacheGroup("a.b.c"); //$NON-NLS-1$
option.addNoCacheGroup("d.e.f"); //$NON-NLS-1$
- option.setShowPlan(true);
Query query = new Query();
query.setSelect(select);
query.setFrom(from);
query.setOption(option);
- TestParser.helpTest("Select a From db.g Option nocache a.b.c, d.e.f showplan", //$NON-NLS-1$
- "SELECT a FROM db.g OPTION SHOWPLAN NOCACHE a.b.c, d.e.f", //$NON-NLS-1$
+ TestParser.helpTest("Select a From db.g Option nocache a.b.c, d.e.f", //$NON-NLS-1$
+ "SELECT a FROM db.g OPTION NOCACHE a.b.c, d.e.f", //$NON-NLS-1$
query);
}
@@ -396,10 +395,10 @@
values.add(new Reference(0));
insert.setValues(values);
Option option = new Option();
- option.setShowPlan(true);
+ option.setNoCache(true);
insert.setOption(option);
- TestParser.helpTest("INSERT INTO m.g (a) VALUES (?) OPTION SHOWPLAN", //$NON-NLS-1$
- "INSERT INTO m.g (a) VALUES (?) OPTION SHOWPLAN", //$NON-NLS-1$
+ TestParser.helpTest("INSERT INTO m.g (a) VALUES (?) OPTION NOCACHE", //$NON-NLS-1$
+ "INSERT INTO m.g (a) VALUES (?) OPTION NOCACHE", //$NON-NLS-1$
insert);
}
@@ -407,10 +406,10 @@
Delete delete = new Delete();
delete.setGroup(new GroupSymbol("m.g")); //$NON-NLS-1$
Option option = new Option();
- option.setShowPlan(true);
+ option.setNoCache(true);
delete.setOption(option);
- TestParser.helpTest("DELETE FROM m.g OPTION SHOWPLAN", //$NON-NLS-1$
- "DELETE FROM m.g OPTION SHOWPLAN", //$NON-NLS-1$
+ TestParser.helpTest("DELETE FROM m.g OPTION NOCACHE", //$NON-NLS-1$
+ "DELETE FROM m.g OPTION NOCACHE", //$NON-NLS-1$
delete);
}
@@ -419,11 +418,11 @@
update.setGroup(new GroupSymbol("m.g")); //$NON-NLS-1$
update.addChange(new ElementSymbol("a"), new Reference(0));
Option option = new Option();
- option.setShowPlan(true);
+ option.setNoCache(true);
Criteria crit = new CompareCriteria(new ElementSymbol("b"), CompareCriteria.EQ, new Reference(1)); //$NON-NLS-1$
update.setCriteria(crit);
- TestParser.helpTest("UPDATE m.g SET a = ? WHERE b = ? OPTION SHOWPLAN", //$NON-NLS-1$
- "UPDATE m.g SET a = ? WHERE b = ? OPTION SHOWPLAN", //$NON-NLS-1$
+ TestParser.helpTest("UPDATE m.g SET a = ? WHERE b = ? OPTION NOCACHE", //$NON-NLS-1$
+ "UPDATE m.g SET a = ? WHERE b = ? OPTION NOCACHE", //$NON-NLS-1$
update);
}
@@ -840,55 +839,12 @@
StoredProcedure storedQuery = new StoredProcedure();
storedQuery.setProcedureName("proc1"); //$NON-NLS-1$
Option option = new Option();
- option.setDebug(true);
+ option.setNoCache(true);
storedQuery.setOption(option);
- TestParser.helpTest("exec proc1() option debug", "EXEC proc1() OPTION DEBUG", storedQuery); //$NON-NLS-1$ //$NON-NLS-2$
+ TestParser.helpTest("exec proc1() option nocache", "EXEC proc1() OPTION NOCACHE", storedQuery); //$NON-NLS-1$ //$NON-NLS-2$
}
/** Select a From db.g Option SHOWPLAN */
- @Test public void testOptionShowPlan(){
- GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
- From from = new From();
- from.addGroup(g);
-
- Select select = new Select();
- ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
- select.addSymbol(a);
-
- Option showplan = new Option();
- showplan.setShowPlan(true);
-
- Query query = new Query();
- query.setSelect(select);
- query.setFrom(from);
- query.setOption(showplan);
- TestParser.helpTest("Select a From db.g Option SHOWPLAN", //$NON-NLS-1$
- "SELECT a FROM db.g OPTION SHOWPLAN", //$NON-NLS-1$
- query);
- }
-
- /** Select a From db.g Option PLANONLY */
- @Test public void testOptionPlanOnly(){
- GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
- From from = new From();
- from.addGroup(g);
-
- Select select = new Select();
- ElementSymbol a = new ElementSymbol("a"); //$NON-NLS-1$
- select.addSymbol(a);
-
- Option showplan = new Option();
- showplan.setPlanOnly(true);
-
- Query query = new Query();
- query.setSelect(select);
- query.setFrom(from);
- query.setOption(showplan);
- TestParser.helpTest("Select a From db.g Option planOnly", //$NON-NLS-1$
- "SELECT a FROM db.g OPTION PLANONLY", //$NON-NLS-1$
- query);
- }
-
/** Select a From db.g Option makedep a.b.c */
@Test public void testOptionMakeDependent1(){
GroupSymbol g = new GroupSymbol("db.g"); //$NON-NLS-1$
@@ -924,14 +880,13 @@
Option option = new Option();
option.addDependentGroup("a.b.c"); //$NON-NLS-1$
option.addDependentGroup("d.e.f"); //$NON-NLS-1$
- option.setShowPlan(true);
Query query = new Query();
query.setSelect(select);
query.setFrom(from);
query.setOption(option);
- TestParser.helpTest("Select a From db.g Option makedep a.b.c, d.e.f showplan", //$NON-NLS-1$
- "SELECT a FROM db.g OPTION SHOWPLAN MAKEDEP a.b.c, d.e.f", //$NON-NLS-1$
+ TestParser.helpTest("Select a From db.g Option makedep a.b.c, d.e.f", //$NON-NLS-1$
+ "SELECT a FROM db.g OPTION MAKEDEP a.b.c, d.e.f", //$NON-NLS-1$
query);
}
@@ -994,14 +949,13 @@
Option option = new Option();
option.addNotDependentGroup("a.b.c"); //$NON-NLS-1$
option.addNotDependentGroup("d.e.f"); //$NON-NLS-1$
- option.setShowPlan(true);
Query query = new Query();
query.setSelect(select);
query.setFrom(from);
query.setOption(option);
- TestParser.helpTest("Select a From db.g Option makeNOTdep a.b.c, d.e.f showplan", //$NON-NLS-1$
- "SELECT a FROM db.g OPTION SHOWPLAN MAKENOTDEP a.b.c, d.e.f", //$NON-NLS-1$
+ TestParser.helpTest("Select a From db.g Option makeNOTdep a.b.c, d.e.f", //$NON-NLS-1$
+ "SELECT a FROM db.g OPTION MAKENOTDEP a.b.c, d.e.f", //$NON-NLS-1$
query);
}
Modified: trunk/engine/src/test/java/com/metamatrix/query/parser/TestParserXQuery.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/parser/TestParserXQuery.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/test/java/com/metamatrix/query/parser/TestParserXQuery.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -92,7 +92,7 @@
"}\r\n" + //$NON-NLS-1$
"</Items>"; //$NON-NLS-1$
- String expectedString = xQueryString + " OPTION DEBUG"; //$NON-NLS-1$
+ String expectedString = xQueryString + " OPTION NOCACHE"; //$NON-NLS-1$
XQuery xQuery = new XQuery(xQueryString, null);
@@ -111,8 +111,8 @@
"}\r\n" + //$NON-NLS-1$
"</Items>"; //$NON-NLS-1$
- String xQueryStringWithOption = xQueryString + " option debug"; //$NON-NLS-1$
- String expectedString = xQueryString + " OPTION DEBUG"; //$NON-NLS-1$
+ String xQueryStringWithOption = xQueryString + " option nocache"; //$NON-NLS-1$
+ String expectedString = xQueryString + " OPTION NOCACHE"; //$NON-NLS-1$
XQuery xQuery = new XQuery(xQueryString, null);
Modified: trunk/engine/src/test/java/com/metamatrix/query/processor/FakeProcessorPlan.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/processor/FakeProcessorPlan.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/test/java/com/metamatrix/query/processor/FakeProcessorPlan.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -26,9 +26,7 @@
import java.util.Arrays;
import java.util.Collections;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.common.buffer.BlockedException;
@@ -141,8 +139,4 @@
return this.outputElements;
}
- public Map getDescriptionProperties() {
- return new HashMap();
- }
-
}
Modified: trunk/engine/src/test/java/com/metamatrix/query/processor/proc/TestProcedureProcessor.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/processor/proc/TestProcedureProcessor.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/test/java/com/metamatrix/query/processor/proc/TestProcedureProcessor.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -516,7 +516,7 @@
ProcessorPlan plan = getProcedurePlan(userUpdateStr, metadata);
- helpTestProcessFailure(false, plan, dataMgr, "Error Code:ERR.015.006.0019 Message:Error processing the AssignmentStatement in stored procedure language, expected to get a single row of data to be assigned to the variable ROWS_UPDATED but got more."); //$NON-NLS-1$
+ helpTestProcessFailure(false, plan, dataMgr, "Error Code:ERR.015.006.0058 Message:Unable to evaluate (SELECT pm1.g1.e2 FROM pm1.g1): Error Code:ERR.015.006.0058 Message:The command of this scalar subquery returned more than one value: SELECT pm1.g1.e2 FROM pm1.g1"); //$NON-NLS-1$
}
// error statement
Modified: trunk/engine/src/test/java/com/metamatrix/query/processor/relational/TestRelationalNodeStatistics.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/processor/relational/TestRelationalNodeStatistics.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/test/java/com/metamatrix/query/processor/relational/TestRelationalNodeStatistics.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -86,7 +86,7 @@
assertEquals("The NodeComulativeBlocks was Inccorrect. Correct: 0 Actual: "+ this.actualNodeCumulativeBlocks, 0, this.actualNodeCumulativeBlocks); //$NON-NLS-1$
}
- public void testDescriptionProperties() throws MetaMatrixComponentException, MetaMatrixProcessingException {
+ public void testDescriptionProperties() throws Exception {
List[] data = createData(1000);
FakeRelationalNode fakeNode = this.createFakeNode(data);
@@ -97,17 +97,10 @@
break;
}
}
- List statsList = (List) fakeNode.getDescriptionProperties().get("nodeStatistics"); //$NON-NLS-1$
-// Iterator statsIterator = statsList.iterator();
-// while(statsIterator.hasNext()) {
-// String stat = (String) statsIterator.next();
-// System.out.println(stat);
-// }
-
- assertEquals("The Number of Statistic was Inccorrect. Correct: 6 Actual: "+ statsList.size(), 6, statsList.size()); //$NON-NLS-1$
+ assertEquals("FakeRelationalNode", fakeNode.getDescriptionProperties().getName()); //$NON-NLS-1$
}
- private FakeRelationalNode createFakeNode(List[] data) throws MetaMatrixComponentException {
+ private FakeRelationalNode createFakeNode(List[] data) {
// setup
ElementSymbol element = new ElementSymbol("a"); //$NON-NLS-1$
element.setType(DataTypeManager.DefaultDataClasses.INTEGER);
Modified: trunk/engine/src/test/java/com/metamatrix/query/processor/xml/NoOpInstruction.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/processor/xml/NoOpInstruction.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/test/java/com/metamatrix/query/processor/xml/NoOpInstruction.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -22,8 +22,7 @@
package com.metamatrix.query.processor.xml;
-import java.util.HashMap;
-import java.util.Map;
+import org.teiid.client.plan.PlanNode;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.common.buffer.BlockedException;
@@ -53,11 +52,8 @@
return "NOOP"; //$NON-NLS-1$
}
- public Map getDescriptionProperties() {
- Map props = new HashMap();
- props.put(PROP_TYPE, "NO OP"); //$NON-NLS-1$
-
- return props;
+ public PlanNode getDescriptionProperties() {
+ return new PlanNode("NO OP"); //$NON-NLS-1$
}
}
Modified: trunk/engine/src/test/java/com/metamatrix/query/sql/lang/TestOption.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/sql/lang/TestOption.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/test/java/com/metamatrix/query/sql/lang/TestOption.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -42,14 +42,7 @@
public void testOptionEquals1() {
Option opt1 = new Option();
- opt1.setDebug(true);
- opt1.setShowPlan(true);
- opt1.setPlanOnly(true);
-
Option opt2 = new Option();
- opt2.setDebug(true);
- opt2.setShowPlan(true);
- opt2.setPlanOnly(true);
assertTrue("Options should be equal", opt1.equals(opt2)); //$NON-NLS-1$
assertTrue("Options should be equal", opt2.equals(opt1)); //$NON-NLS-1$
@@ -89,19 +82,6 @@
assertTrue("Options should be equal", opt2.equals(opt1)); //$NON-NLS-1$
}
- public void testOptionEqualsFail1() {
- Option opt1 = new Option();
- opt1.setDebug(true);
- opt1.setShowPlan(true);
-
- Option opt2 = new Option();
- opt2.setDebug(true);
- opt2.setShowPlan(false);
-
- assertTrue("Options should not be equal", ! opt1.equals(opt2)); //$NON-NLS-1$
- assertTrue("Options should not be equal", ! opt2.equals(opt1)); //$NON-NLS-1$
- }
-
public void testOptionEqualsFail2() {
Option opt1 = new Option();
opt1.addDependentGroup("abc"); //$NON-NLS-1$
@@ -112,19 +92,6 @@
assertTrue("Options should not be equal", ! opt2.equals(opt1)); //$NON-NLS-1$
}
- public void testOptionEqualsFail3() {
- Option opt1 = new Option();
- opt1.setDebug(true);
- opt1.setPlanOnly(true);
-
- Option opt2 = new Option();
- opt2.setDebug(true);
- opt2.setPlanOnly(false);
-
- assertTrue("Options should not be equal", ! opt1.equals(opt2)); //$NON-NLS-1$
- assertTrue("Options should not be equal", ! opt2.equals(opt1)); //$NON-NLS-1$
- }
-
public void testObjectEquivalence1() {
Option opt1 = new Option();
opt1.addDependentGroup("abc"); //$NON-NLS-1$
@@ -198,8 +165,6 @@
public void testClone() {
Option opt1 = new Option();
- opt1.setDebug(true);
- opt1.setShowPlan(true);
opt1.addDependentGroup("abc"); //$NON-NLS-1$
opt1.addNotDependentGroup("xyz"); //$NON-NLS-1$
opt1.addNoCacheGroup("abc"); //$NON-NLS-1$
Modified: trunk/engine/src/test/java/com/metamatrix/query/sql/visitor/TestSQLStringVisitor.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/sql/visitor/TestSQLStringVisitor.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/test/java/com/metamatrix/query/sql/visitor/TestSQLStringVisitor.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -516,71 +516,35 @@
helpTest(option, "OPTION"); //$NON-NLS-1$
}
- public void testOption2() {
- Option option = new Option();
- option.setDebug(true);
- helpTest(option, "OPTION DEBUG"); //$NON-NLS-1$
- }
-
- public void testOption3() {
- Option option = new Option();
- option.setShowPlan(true);
- helpTest(option, "OPTION SHOWPLAN"); //$NON-NLS-1$
- }
-
- public void testOption4() {
- Option option = new Option();
- option.setDebug(true);
- option.setShowPlan(true);
- helpTest(option, "OPTION SHOWPLAN DEBUG"); //$NON-NLS-1$
- }
-
public void testOption5() {
Option option = new Option();
- option.setDebug(true);
- option.setShowPlan(true);
option.addDependentGroup("abc"); //$NON-NLS-1$
option.addDependentGroup("def"); //$NON-NLS-1$
option.addDependentGroup("xyz"); //$NON-NLS-1$
- helpTest(option, "OPTION SHOWPLAN DEBUG MAKEDEP abc, def, xyz"); //$NON-NLS-1$
+ helpTest(option, "OPTION MAKEDEP abc, def, xyz"); //$NON-NLS-1$
}
public void testOption6() {
Option option = new Option();
- option.setDebug(true);
- option.setShowPlan(true);
- option.setPlanOnly(true);
option.addDependentGroup("abc"); //$NON-NLS-1$
option.addDependentGroup("def"); //$NON-NLS-1$
option.addDependentGroup("xyz"); //$NON-NLS-1$
- helpTest(option, "OPTION SHOWPLAN PLANONLY DEBUG MAKEDEP abc, def, xyz"); //$NON-NLS-1$
+ helpTest(option, "OPTION MAKEDEP abc, def, xyz"); //$NON-NLS-1$
}
- public void testOption7() {
- Option option = new Option();
- option.setPlanOnly(true);
- helpTest(option, "OPTION PLANONLY"); //$NON-NLS-1$
- }
-
public void testOption8() {
Option option = new Option();
- option.setDebug(true);
- option.setShowPlan(true);
- option.setPlanOnly(true);
option.addNoCacheGroup("abc"); //$NON-NLS-1$
option.addNoCacheGroup("def"); //$NON-NLS-1$
option.addNoCacheGroup("xyz"); //$NON-NLS-1$
- helpTest(option, "OPTION SHOWPLAN PLANONLY DEBUG NOCACHE abc, def, xyz"); //$NON-NLS-1$
+ helpTest(option, "OPTION NOCACHE abc, def, xyz"); //$NON-NLS-1$
}
// related to defect 14423
public void testOption9() {
Option option = new Option();
- option.setDebug(true);
- option.setShowPlan(true);
- option.setPlanOnly(true);
option.setNoCache(true);
- helpTest(option, "OPTION SHOWPLAN PLANONLY DEBUG NOCACHE"); //$NON-NLS-1$
+ helpTest(option, "OPTION NOCACHE"); //$NON-NLS-1$
}
public void testOrderBy1() {
@@ -629,8 +593,6 @@
CompareCriteria having = new CompareCriteria(new ElementSymbol("e1"), CompareCriteria.GT, new Constant(new Integer(0))); //$NON-NLS-1$
OrderBy orderBy = new OrderBy();
orderBy.addVariable(new ElementSymbol("e1")); //$NON-NLS-1$
- Option option = new Option();
- option.setShowPlan(true);
Query query = new Query();
query.setSelect(select);
@@ -639,9 +601,8 @@
query.setGroupBy(groupBy);
query.setHaving(having);
query.setOrderBy(orderBy);
- query.setOption(option);
- helpTest(query, "SELECT * FROM m.g WHERE e1 = 5 GROUP BY e1 HAVING e1 > 0 ORDER BY e1 OPTION SHOWPLAN"); //$NON-NLS-1$
+ helpTest(query, "SELECT * FROM m.g WHERE e1 = 5 GROUP BY e1 HAVING e1 > 0 ORDER BY e1"); //$NON-NLS-1$
}
public void testQuery3() {
@@ -654,8 +615,6 @@
CompareCriteria having = new CompareCriteria(new ElementSymbol("e1"), CompareCriteria.GT, new Constant(new Integer(0))); //$NON-NLS-1$
OrderBy orderBy = new OrderBy();
orderBy.addVariable(new ElementSymbol("e1")); //$NON-NLS-1$
- Option option = new Option();
- option.setShowPlan(true);
Query query = new Query();
query.setSelect(select);
@@ -663,9 +622,8 @@
query.setGroupBy(groupBy);
query.setHaving(having);
query.setOrderBy(orderBy);
- query.setOption(option);
- helpTest(query, "SELECT * FROM m.g GROUP BY e1 HAVING e1 > 0 ORDER BY e1 OPTION SHOWPLAN"); //$NON-NLS-1$
+ helpTest(query, "SELECT * FROM m.g GROUP BY e1 HAVING e1 > 0 ORDER BY e1"); //$NON-NLS-1$
}
public void testQuery4() {
@@ -677,8 +635,6 @@
CompareCriteria having = new CompareCriteria(new ElementSymbol("e1"), CompareCriteria.GT, new Constant(new Integer(0))); //$NON-NLS-1$
OrderBy orderBy = new OrderBy();
orderBy.addVariable(new ElementSymbol("e1")); //$NON-NLS-1$
- Option option = new Option();
- option.setShowPlan(true);
Query query = new Query();
query.setSelect(select);
@@ -686,9 +642,8 @@
query.setCriteria(cc);
query.setHaving(having);
query.setOrderBy(orderBy);
- query.setOption(option);
- helpTest(query, "SELECT * FROM m.g WHERE e1 = 5 HAVING e1 > 0 ORDER BY e1 OPTION SHOWPLAN"); //$NON-NLS-1$
+ helpTest(query, "SELECT * FROM m.g WHERE e1 = 5 HAVING e1 > 0 ORDER BY e1"); //$NON-NLS-1$
}
public void testQuery5() {
@@ -701,8 +656,6 @@
groupBy.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
OrderBy orderBy = new OrderBy();
orderBy.addVariable(new ElementSymbol("e1")); //$NON-NLS-1$
- Option option = new Option();
- option.setShowPlan(true);
Query query = new Query();
query.setSelect(select);
@@ -710,9 +663,8 @@
query.setCriteria(cc);
query.setGroupBy(groupBy);
query.setOrderBy(orderBy);
- query.setOption(option);
- helpTest(query, "SELECT * FROM m.g WHERE e1 = 5 GROUP BY e1 ORDER BY e1 OPTION SHOWPLAN"); //$NON-NLS-1$
+ helpTest(query, "SELECT * FROM m.g WHERE e1 = 5 GROUP BY e1 ORDER BY e1"); //$NON-NLS-1$
}
public void testQuery6() {
@@ -724,8 +676,6 @@
GroupBy groupBy = new GroupBy();
groupBy.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
CompareCriteria having = new CompareCriteria(new ElementSymbol("e1"), CompareCriteria.GT, new Constant(new Integer(0))); //$NON-NLS-1$
- Option option = new Option();
- option.setShowPlan(true);
Query query = new Query();
query.setSelect(select);
@@ -733,9 +683,8 @@
query.setCriteria(cc);
query.setGroupBy(groupBy);
query.setHaving(having);
- query.setOption(option);
- helpTest(query, "SELECT * FROM m.g WHERE e1 = 5 GROUP BY e1 HAVING e1 > 0 OPTION SHOWPLAN"); //$NON-NLS-1$
+ helpTest(query, "SELECT * FROM m.g WHERE e1 = 5 GROUP BY e1 HAVING e1 > 0"); //$NON-NLS-1$
}
public void testQuery7() {
@@ -912,13 +861,9 @@
q2.setSelect(s2);
q2.setFrom(f2);
- Option option = new Option();
- option.setDebug(true);
-
SetQuery sq = new SetQuery(Operation.UNION, false, q1, q2);
- sq.setOption(option);
- helpTest(sq, "SELECT e1 FROM m.g1 UNION SELECT e1 FROM m.g2 OPTION DEBUG"); //$NON-NLS-1$
+ helpTest(sq, "SELECT e1 FROM m.g1 UNION SELECT e1 FROM m.g2"); //$NON-NLS-1$
}
public void testSetQuery5() {
@@ -1905,12 +1850,11 @@
"for $x in doc(\"xmltest.doc9893\")//ItemName\r\n" + //$NON-NLS-1$
"return <Item>{$x/text()}</Item>\r\n" + //$NON-NLS-1$
"}\r\n" + //$NON-NLS-1$
- "</Items> OPTION SHOWPLAN DEBUG"; //$NON-NLS-1$
+ "</Items> OPTION NOCACHE"; //$NON-NLS-1$
XQuery xquery = new XQuery(xquerystring, null);
Option option = new Option();
- option.setDebug(true);
- option.setShowPlan(true);
+ option.setNoCache(true);
xquery.setOption(option);
helpTest(xquery, expectedString);
}
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestPreparedPlanCache.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestPreparedPlanCache.java 2010-04-06 21:51:32 UTC (rev 2030)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestPreparedPlanCache.java 2010-04-07 03:29:59 UTC (rev 2031)
@@ -25,8 +25,6 @@
import static org.junit.Assert.*;
import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -78,7 +76,7 @@
assertNotNull("Unable to get prepared plan from cache", pPlan); //$NON-NLS-1$
assertEquals("Error getting plan from cache", new RelationalPlan(new ProjectNode(12)).toString(), pPlan.getPlan().toString()); //$NON-NLS-1$
assertEquals("Error getting command from cache", EXAMPLE_QUERY + 12, pPlan.getCommand().toString()); //$NON-NLS-1$
- assertNotNull("Error getting plan description from cache", pPlan.getAnalysisRecord().getQueryPlan()); //$NON-NLS-1$
+ assertNotNull("Error getting plan description from cache", pPlan.getAnalysisRecord()); //$NON-NLS-1$
assertEquals("Error gettting reference from cache", "ref12", pPlan.getReferences().get(0)); //$NON-NLS-1$ //$NON-NLS-2$
}
@@ -153,10 +151,7 @@
cache.put(id, true, pPlan);
pPlan.setCommand(dummy);
pPlan.setPlan(new RelationalPlan(new ProjectNode(i)));
- Map props = new HashMap();
- props.put("desc", "desc"+i); //$NON-NLS-1$ //$NON-NLS-2$
AnalysisRecord analysisRecord = new AnalysisRecord(true, false);
- analysisRecord.setQueryPlan(props);
pPlan.setAnalysisRecord(analysisRecord);
ArrayList refs = new ArrayList();
refs.add("ref"+i); //$NON-NLS-1$
14 years, 8 months
teiid SVN: r2030 - trunk/console/src/main/java/org/teiid/rhq/plugin.
by teiid-commits@lists.jboss.org
Author: tejones
Date: 2010-04-06 17:51:32 -0400 (Tue, 06 Apr 2010)
New Revision: 2030
Modified:
trunk/console/src/main/java/org/teiid/rhq/plugin/Facet.java
Log:
Fixed content tab for VDB
Modified: trunk/console/src/main/java/org/teiid/rhq/plugin/Facet.java
===================================================================
--- trunk/console/src/main/java/org/teiid/rhq/plugin/Facet.java 2010-04-06 20:16:46 UTC (rev 2029)
+++ trunk/console/src/main/java/org/teiid/rhq/plugin/Facet.java 2010-04-06 21:51:32 UTC (rev 2030)
@@ -24,6 +24,7 @@
import java.io.File;
import java.io.InputStream;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -44,7 +45,9 @@
import org.rhq.core.domain.measurement.AvailabilityType;
import org.rhq.core.domain.measurement.MeasurementReport;
import org.rhq.core.domain.measurement.MeasurementScheduleRequest;
+import org.rhq.core.pluginapi.content.version.PackageVersions;
import org.rhq.core.domain.resource.CreateResourceStatus;
+import org.rhq.core.domain.resource.ResourceType;
import org.rhq.core.pluginapi.configuration.ConfigurationFacet;
import org.rhq.core.pluginapi.configuration.ConfigurationUpdateReport;
import org.rhq.core.pluginapi.content.ContentFacet;
@@ -91,7 +94,7 @@
private String identifier;
protected String componentType;
-
+
protected boolean isAvailable = false;
private final Log log = LogFactory.getLog(this.getClass());
@@ -101,7 +104,22 @@
* C:/opt/jboss-5.0.0.GA/server/default/deploy/foo.vdb).
*/
protected String deploymentName;
+
+ private PackageVersions versions = null;
+
+ /**
+ * Name of the backing package type that will be used when discovering packages. This corresponds to the name of the
+ * package type defined in the plugin descriptor. For simplicity, the package type for VDBs is called "vdb". This is
+ * still unique within the context of the parent resource type and lets this class use the same package type name in
+ * both cases.
+ */
+ private static final String PKG_TYPE_VDB = "vdb";
+ /**
+ * Architecture string used in describing discovered packages.
+ */
+ private static final String ARCHITECTURE = "noarch";
+
abstract String getComponentType();
/**
@@ -113,7 +131,7 @@
*/
public void start(ResourceContext context) {
resourceContext = context;
- deploymentName=context.getResourceKey();
+ deploymentName = context.getResourceKey();
}
/**
@@ -166,9 +184,9 @@
+ " named " + this.getComponentName());
}
-
- protected void setMetricArguments(String name,
- Configuration configuration, Map<String, Object> argumentMap) {
+
+ protected void setMetricArguments(String name, Configuration configuration,
+ Map<String, Object> argumentMap) {
// moved this logic up to the associated implemented class
throw new InvalidPluginConfigurationException(
"Not implemented on component type " + this.getComponentType()
@@ -178,11 +196,11 @@
protected void execute(final ExecutedResult result, final Map valueMap) {
DQPManagementView dqp = new DQPManagementView();
-
+
dqp.executeOperation(result, valueMap);
-
+
}
-
+
/*
* (non-Javadoc) This method is called by JON to check the availability of
* the inventoried component on a time scheduled basis
@@ -228,7 +246,7 @@
public OperationResult invokeOperation(String name,
Configuration configuration) {
Map valueMap = new HashMap();
-
+
Set operationDefinitionSet = this.resourceContext.getResourceType()
.getOperationDefinitions();
@@ -287,26 +305,32 @@
@Override
public void deleteResource() throws Exception {
-
- DeploymentManager deploymentManager = ProfileServiceUtil.getDeploymentManager();
-
- log.debug("Stopping deployment [" + this.deploymentName + "]...");
- DeploymentProgress progress = deploymentManager.stop(this.deploymentName);
- DeploymentStatus stopStatus = DeploymentUtils.run(progress);
- if (stopStatus.isFailed()) {
- log.error("Failed to stop deployment '" + this.deploymentName + "'.", stopStatus.getFailure());
- throw new Exception("Failed to stop deployment '" + this.deploymentName + "' - cause: "
- + stopStatus.getFailure());
- }
- log.debug("Removing deployment [" + this.deploymentName + "]...");
- progress = deploymentManager.remove(this.deploymentName);
- DeploymentStatus removeStatus = DeploymentUtils.run(progress);
- if (removeStatus.isFailed()) {
- log.error("Failed to remove deployment '" + this.deploymentName + "'.", removeStatus.getFailure());
- throw new Exception("Failed to remove deployment '" + this.deploymentName + "' - cause: "
- + removeStatus.getFailure());
- }
+ DeploymentManager deploymentManager = ProfileServiceUtil
+ .getDeploymentManager();
+
+ log.debug("Stopping deployment [" + this.deploymentName + "]...");
+ DeploymentProgress progress = deploymentManager
+ .stop(this.deploymentName);
+ DeploymentStatus stopStatus = DeploymentUtils.run(progress);
+ if (stopStatus.isFailed()) {
+ log.error("Failed to stop deployment '" + this.deploymentName
+ + "'.", stopStatus.getFailure());
+ throw new Exception("Failed to stop deployment '"
+ + this.deploymentName + "' - cause: "
+ + stopStatus.getFailure());
+ }
+ log.debug("Removing deployment [" + this.deploymentName + "]...");
+ progress = deploymentManager.remove(this.deploymentName);
+ DeploymentStatus removeStatus = DeploymentUtils.run(progress);
+ if (removeStatus.isFailed()) {
+ log.error("Failed to remove deployment '" + this.deploymentName
+ + "'.", removeStatus.getFailure());
+ throw new Exception("Failed to remove deployment '"
+ + this.deploymentName + "' - cause: "
+ + removeStatus.getFailure());
+ }
+
}
@Override
@@ -318,7 +342,43 @@
@Override
public Set<ResourcePackageDetails> discoverDeployedPackages(PackageType arg0) {
- return null;
+
+ File deploymentFile = null;
+
+ if (this.deploymentName != null) {
+ deploymentFile = new File(deploymentName.substring(7));
+ }
+
+ if (!deploymentFile.exists())
+ throw new IllegalStateException("Deployment file '"
+ + deploymentFile + "' for " + this.getComponentType()
+ + " does not exist.");
+
+ String fileName = deploymentFile.getName();
+ org.rhq.core.pluginapi.content.version.PackageVersions packageVersions = loadPackageVersions();
+ String version = packageVersions.getVersion(fileName);
+ if (version == null) {
+ // This is either the first time we've discovered this VDB, or
+ // someone purged the PC's data dir.
+ version = "1.0";
+ packageVersions.putVersion(fileName, version);
+ packageVersions.saveToDisk();
+ }
+
+ // Package name is the deployment's file name (e.g. foo.ear).
+ PackageDetailsKey key = new PackageDetailsKey(fileName, version,
+ PKG_TYPE_VDB, ARCHITECTURE);
+ ResourcePackageDetails packageDetails = new ResourcePackageDetails(key);
+ packageDetails.setFileName(fileName);
+ packageDetails.setLocation(deploymentFile.getPath());
+ if (!deploymentFile.isDirectory())
+ packageDetails.setFileSize(deploymentFile.length());
+ packageDetails.setFileCreatedDate(null); // TODO: get created date via
+ // SIGAR
+ Set<ResourcePackageDetails> packages = new HashSet<ResourcePackageDetails>();
+ packages.add(packageDetails);
+
+ return packages;
}
@Override
@@ -339,7 +399,8 @@
}
@Override
- public CreateResourceReport createResource(CreateResourceReport createResourceReport) {
+ public CreateResourceReport createResource(
+ CreateResourceReport createResourceReport) {
ResourcePackageDetails details = createResourceReport
.getPackageDetails();
PackageDetailsKey key = details.getKey();
@@ -350,7 +411,8 @@
try {
File archiveFile = new File(archivePath);
- if (!DeploymentUtils.hasCorrectExtension(archiveFile.getName(), resourceContext.getResourceType())) {
+ if (!DeploymentUtils.hasCorrectExtension(archiveFile.getName(),
+ resourceContext.getResourceType())) {
createResourceReport.setStatus(CreateResourceStatus.FAILURE);
createResourceReport
.setErrorMessage("Incorrect extension specified on filename ["
@@ -358,23 +420,47 @@
return createResourceReport;
}
- DeploymentManager deploymentManager = ProfileServiceUtil.getDeploymentManager();
- DeploymentUtils.deployArchive(deploymentManager, archiveFile, false);
+ DeploymentManager deploymentManager = ProfileServiceUtil
+ .getDeploymentManager();
+ DeploymentUtils
+ .deployArchive(deploymentManager, archiveFile, false);
deploymentName = archivePath;
createResourceReport.setResourceName(archivePath);
createResourceReport.setResourceKey(archivePath);
createResourceReport.setStatus(CreateResourceStatus.SUCCESS);
-
+
} catch (Throwable t) {
log.error("Error deploying application for report: "
+ createResourceReport, t);
createResourceReport.setStatus(CreateResourceStatus.FAILURE);
createResourceReport.setException(t);
}
-
+
return createResourceReport;
-
+
}
+ /**
+ * Returns an instantiated and loaded versions store access point.
+ *
+ * @return will not be <code>null</code>
+ */
+ private org.rhq.core.pluginapi.content.version.PackageVersions loadPackageVersions() {
+ if (this.versions == null) {
+ ResourceType resourceType = resourceContext.getResourceType();
+ String pluginName = resourceType.getPlugin();
+ File dataDirectoryFile = resourceContext.getDataDirectory();
+ dataDirectoryFile.mkdirs();
+ String dataDirectory = dataDirectoryFile.getAbsolutePath();
+ log.trace("Creating application versions store with plugin name ["
+ + pluginName + "] and data directory [" + dataDirectory
+ + "]");
+ this.versions = new PackageVersions(pluginName, dataDirectory);
+ this.versions.loadFromDisk();
+ }
+
+ return this.versions;
+ }
+
}
14 years, 8 months
teiid SVN: r2029 - trunk.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2010-04-06 16:16:46 -0400 (Tue, 06 Apr 2010)
New Revision: 2029
Modified:
trunk/pom.xml
Log:
Teiid-773 - db integration test requires log4j, therefore, need to remove the scope of 'provided' for the jar dependency in order for the test project to obtain it.
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-04-06 19:57:18 UTC (rev 2028)
+++ trunk/pom.xml 2010-04-06 20:16:46 UTC (rev 2029)
@@ -339,7 +339,6 @@
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
- <scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
14 years, 8 months
teiid SVN: r2028 - in trunk/connectors: connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/connection/impl and 5 other directories.
by teiid-commits@lists.jboss.org
Author: jdoyle
Date: 2010-04-06 15:57:18 -0400 (Tue, 06 Apr 2010)
New Revision: 2028
Added:
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/AllowFieldTruncationHeader.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/AssignmentRuleHeader.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/CallOptions.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ChildRelationship.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ConvertLead.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ConvertLeadResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Create.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/CreateResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DebugLevel.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DebuggingHeader.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DebuggingInfo.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Delete.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DeleteResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DeleteResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DeletedRecord.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeGlobal.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeGlobalResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeGlobalResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeGlobalSObjectResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayout.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutButton.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutButtonSection.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutComponent.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutItem.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutRow.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutSection.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObject.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObjectResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObjectResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObjects.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObjectsResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayout.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutCallType.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutInfoField.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutItem.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutSection.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeTab.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeTabSetResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeTabs.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeTabsResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Email.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/EmailFileAttachment.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/EmailHeader.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/EmailPriority.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/EmptyRecycleBin.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/EmptyRecycleBinResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/EmptyRecycleBinResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Error.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Field.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/FieldType.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetDeleted.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetDeletedResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetDeletedResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetServerTimestamp.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetServerTimestampResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetServerTimestampResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUpdated.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUpdatedResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUpdatedResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUserInfo.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUserInfoResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUserInfoResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidFieldFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidIdFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidNewPasswordFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidQueryLocatorFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidSObjectFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidateSessions.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidateSessionsResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidateSessionsResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LayoutComponentType.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LeadConvert.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LeadConvertResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LocaleOptions.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Login.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginScopeHeader.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Logout.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LogoutResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedQueryFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedSearchFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MassEmailMessage.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Merge.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MergeRequest.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MergeResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MergeResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MruHeader.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MydescribeLayout.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MydescribeLayout.java
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ObjectFactory.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/PackageVersion.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/PackageVersionHeader.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/PicklistEntry.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/PicklistForRecordType.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Process.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ProcessRequest.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ProcessResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ProcessResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ProcessSubmitRequest.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ProcessWorkitemRequest.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Query.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryAll.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryAllResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryMore.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryMoreResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryOptions.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/RecordTypeInfo.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/RecordTypeMapping.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/RelatedList.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/RelatedListColumn.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/RelatedListSort.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ResetPassword.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ResetPasswordResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ResetPasswordResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Retrieve.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/RetrieveResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SaveResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Search.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SearchRecord.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SearchResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SearchResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SendEmail.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SendEmailError.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SendEmailResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SendEmailResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SessionHeader.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SetPassword.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SetPasswordResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SetPasswordResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SforceService.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SingleEmailMessage.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Soap.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SoapType.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/StatusCode.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Undelete.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UndeleteResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UndeleteResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UnexpectedErrorFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Update.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UpdateResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Upsert.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UpsertResponse.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UpsertResult.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UserTerritoryDeleteHeader.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ApiFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ApiQueryFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ExceptionCode.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/InvalidFieldFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/InvalidIdFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/InvalidNewPasswordFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/InvalidQueryLocatorFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/InvalidSObjectFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/LoginFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/MalformedQueryFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/MalformedSearchFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ObjectFactory.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/UnexpectedErrorFault.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/package-info.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/package-info.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/sobject/ObjectFactory.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/sobject/SObject.class
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/sobject/package-info.class
Modified:
trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/MetadataProcessor.java
trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/Util.java
trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/connection/impl/ConnectionImpl.java
trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/execution/QueryExecutionImpl.java
trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/execution/visitors/SelectVisitor.java
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayout.java
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutResult.java
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidFieldFault.java
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidIdFault.java
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidNewPasswordFault.java
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidQueryLocatorFault.java
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidSObjectFault.java
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginFault.java
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedQueryFault.java
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedSearchFault.java
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ObjectFactory.java
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SforceService.java
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Soap.java
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UnexpectedErrorFault.java
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ObjectFactory.java
trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/sobject/SObject.java
Log:
TEIID-1038
Changes for outstanding JCA and CXF migration bugs.
Modified: trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/MetadataProcessor.java
===================================================================
--- trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/MetadataProcessor.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/MetadataProcessor.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -1,7 +1,6 @@
package com.metamatrix.connector.salesforce;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
Modified: trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/Util.java
===================================================================
--- trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/Util.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/Util.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -57,7 +57,7 @@
}
public static SimpleDateFormat getSalesforceDateTimeFormat() {
- return new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
+ return new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
}
public static SimpleDateFormat getTimeZoneOffsetFormat() {
Modified: trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/connection/impl/ConnectionImpl.java
===================================================================
--- trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/connection/impl/ConnectionImpl.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/connection/impl/ConnectionImpl.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -63,7 +63,6 @@
public class ConnectionImpl {
private SforceService sfService;
private Soap sfSoap;
- private LoginScopeHeader lh;
private SessionHeader sh;
private CallOptions co;
private ConnectorLogger logger;
@@ -79,7 +78,7 @@
String getUserName() throws ConnectorException {
try {
- return sfSoap.getUserInfo(sh, co).getUserName();
+ return sfSoap.getUserInfo(sh).getUserName();
} catch (com.sforce.soap.partner.UnexpectedErrorFault e) {
throw new ConnectorException(e.getMessage());
}
@@ -99,16 +98,16 @@
co.setClient("RedHat/MetaMatrix/");
try {
+ /*
if(null != url) {
sfService = new SforceService(url);
sfSoap = sfService.getSoap();
} else {
+ */
sfService = new SforceService();
sfSoap = sfService.getSoap();
- }
- lh = new LoginScopeHeader();
- lh.setOrganizationId("RedHat/MetaMatrix/");
- loginResult = sfSoap.login(username, password, lh, co);
+ //}
+ loginResult = sfSoap.login(username, password);
} catch (LoginFault e) {
throw new ConnectorException(e.getCause().getMessage());
} catch (InvalidIdFault e) {
@@ -128,13 +127,13 @@
Boolean.TRUE);
// Set the timeout.
//((BindingProvider)sfSoap).getRequestContext().put(JAXWSProperties.CONNECT_TIMEOUT, timeout);
+
-
// Test the connection.
try {
- sfSoap.getUserInfo(sh, co);
+ sfSoap.getUserInfo(sh);
} catch (com.sforce.soap.partner.UnexpectedErrorFault e) {
- throw new ConnectorException(e.getCause().getMessage());
+ throw new ConnectorException(e.getMessage());
}
}
}
@@ -146,7 +145,7 @@
result = false;
} else {
try {
- sfSoap.getServerTimestamp(sh, co);
+ sfSoap.getServerTimestamp(sh);
} catch (Throwable t) {
logger.logDetail("Caught Throwable in isAlive", t);
result = false;
@@ -161,12 +160,12 @@
qo.setBatchSize(batchSize);
try {
if(queryAll) {
- qr = sfSoap.queryAll(queryString, sh, co, qo);
+ qr = sfSoap.queryAll(queryString, sh);
} else {
MruHeader mruHeader = partnerFactory.createMruHeader();
mruHeader.setUpdateMru(false);
- qr = sfSoap.query(queryString, sh, co, qo, mruHeader, pvHeader);
+ qr = sfSoap.query(queryString, sh);
}
} catch (InvalidFieldFault e) {
throw new ConnectorException(e, e.getMessage());
@@ -188,7 +187,7 @@
QueryOptions qo = partnerFactory.createQueryOptions();
qo.setBatchSize(batchSize);
try {
- return sfSoap.queryMore(queryLocator,sh, co , qo);
+ return sfSoap.queryMore(queryLocator, sh);
} catch (InvalidFieldFault e) {
throw new ConnectorException(e, e.getMessage());
} catch (com.sforce.soap.partner.UnexpectedErrorFault e) {
@@ -202,7 +201,7 @@
public int delete(String[] ids) throws ConnectorException {
List<DeleteResult> results = null;
try {
- results = sfSoap.delete(Arrays.asList(ids), sh, co, null, null, null, null, null, null);
+ results = sfSoap.delete(Arrays.asList(ids), sh);
} catch (com.sforce.soap.partner.UnexpectedErrorFault e) {
throw new ConnectorException(e, e.getMessage());
}
@@ -240,7 +239,7 @@
objects.add(toCreate);
List<SaveResult> result;
try {
- result = sfSoap.create(objects, sh, co, null, null, null, null, null, null, null);
+ result = sfSoap.create(objects, sh);
} catch (InvalidFieldFault e) {
throw new ConnectorException(e, e.getMessage());
} catch (com.sforce.soap.partner.InvalidSObjectFault e) {
@@ -265,7 +264,7 @@
}
List<SaveResult> result;
try {
- result = sfSoap.update(params,sh, co, null, null, null, null, null, null, null);
+ result = sfSoap.update(params, sh);
} catch (InvalidFieldFault e) {
throw new ConnectorException(e, e.getMessage());
} catch (com.sforce.soap.partner.InvalidSObjectFault e) {
@@ -290,7 +289,7 @@
public UpdatedResult getUpdated(String objectType, XMLGregorianCalendar startDate, XMLGregorianCalendar endDate) throws ConnectorException {
GetUpdatedResult updated;
try {
- updated = sfSoap.getUpdated(objectType, startDate, endDate, sh, co);
+ updated = sfSoap.getUpdated(objectType, startDate, endDate, sh);
} catch (com.sforce.soap.partner.InvalidSObjectFault e) {
throw new ConnectorException(e, e.getMessage());
} catch (com.sforce.soap.partner.UnexpectedErrorFault e) {
@@ -306,7 +305,7 @@
XMLGregorianCalendar endCalendar) throws ConnectorException {
GetDeletedResult deleted;
try {
- deleted = sfSoap.getDeleted(objectName, startCalendar, endCalendar, sh, co);
+ deleted = sfSoap.getDeleted(objectName, startCalendar, endCalendar, sh);
} catch (com.sforce.soap.partner.InvalidSObjectFault e) {
throw new ConnectorException(e, e.getMessage());
} catch (com.sforce.soap.partner.UnexpectedErrorFault e) {
@@ -332,7 +331,7 @@
public List<SObject> retrieve(String fieldList, String sObjectType, List<String> ids) throws ConnectorException {
try {
- return sfSoap.retrieve(fieldList, sObjectType, ids, sh, co, null, null, null);
+ return sfSoap.retrieve(fieldList, sObjectType, ids, sh);
} catch (InvalidFieldFault e) {
throw new ConnectorException(e, e.getMessage());
} catch (MalformedQueryFault e) {
@@ -349,7 +348,7 @@
public DescribeGlobalResult getObjects() throws ConnectorException {
try {
- return sfSoap.describeGlobal(sh, co, pvHeader);
+ return sfSoap.describeGlobal(sh);
} catch (com.sforce.soap.partner.UnexpectedErrorFault e) {
ConnectorException ce = new ConnectorException(e.getCause().getMessage());
ce.initCause(e.getCause());
@@ -359,7 +358,7 @@
public DescribeSObjectResult getObjectMetaData(String objectName) throws ConnectorException {
try {
- return sfSoap.describeSObject(objectName, sh, co, null, null);
+ return sfSoap.describeSObject(objectName, sh);
} catch (com.sforce.soap.partner.InvalidSObjectFault e) {
throw new ConnectorException(e, e.getMessage());
} catch (com.sforce.soap.partner.UnexpectedErrorFault e) {
Modified: trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/execution/QueryExecutionImpl.java
===================================================================
--- trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/execution/QueryExecutionImpl.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/execution/QueryExecutionImpl.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -31,9 +31,9 @@
import java.util.List;
import java.util.Map;
-import javax.xml.bind.JAXBElement;
import javax.xml.namespace.QName;
+import org.w3c.dom.Element;
import org.teiid.connector.api.ConnectorEnvironment;
import org.teiid.connector.api.ConnectorException;
import org.teiid.connector.api.ConnectorLogger;
@@ -46,8 +46,10 @@
import org.teiid.connector.language.QueryExpression;
import org.teiid.connector.language.Select;
import org.teiid.connector.language.TableReference;
+import org.teiid.connector.metadata.runtime.AbstractMetadataRecord;
import org.teiid.connector.metadata.runtime.Column;
import org.teiid.connector.metadata.runtime.RuntimeMetadata;
+import org.teiid.connector.metadata.runtime.Table;
import com.metamatrix.connector.salesforce.Messages;
import com.metamatrix.connector.salesforce.Util;
@@ -89,7 +91,7 @@
Map<String, Map<String,Integer>> sObjectToResponseField = new HashMap<String, Map<String,Integer>>();
private int topResultIndex = 0;
-
+
public QueryExecutionImpl(QueryExpression command, SalesforceConnection connection,
RuntimeMetadata metadata, ExecutionContext context,
ConnectorEnvironment connectorEnv) {
@@ -197,23 +199,23 @@
logAndMapFields(sObject.getType(), topFields);
List<Object[]> result = new ArrayList<Object[]>();
for(int i = 0; i < topFields.size(); i++) {
- JAXBElement element = (JAXBElement) topFields.get(i);
- QName qName = element.getName();
+ Element element = (Element) topFields.get(i);
+ QName qName = new QName(element.getNamespaceURI(), element.getLocalName());
if(null != qName) {
String type = qName.getLocalPart();
if(type.equals("sObject")) {
- SObject parent = (SObject)element.getValue();
- result.addAll(getObjectData(parent));
+ //SObject parent = (SObject)element.;
+ //result.addAll(getObjectData(parent));
} else if(type.equals("QueryResult")) {
- QueryResult subResult = (QueryResult)element.getValue();
- for(int resultIndex = 0; resultIndex < subResult.getSize(); resultIndex++) {
- SObject subObject = subResult.getRecords().get(resultIndex);
- result.addAll(getObjectData(subObject));
- }
+ //QueryResult subResult = (QueryResult)element.getValue();
+ //for(int resultIndex = 0; resultIndex < subResult.getSize(); resultIndex++) {
+ // SObject subObject = subResult.getRecords().get(resultIndex);
+ // result.addAll(getObjectData(subObject));
+ //}
}
}
}
- return extractDataFromFields(sObject, topFields,result);
+ return extractDataFromFields(sObject, topFields, result);
}
@@ -222,7 +224,19 @@
Map<String,Integer> fieldToIndexMap = sObjectToResponseField.get(sObject.getType());
for (int j = 0; j < visitor.getSelectSymbolCount(); j++) {
Column element = visitor.getSelectSymbolMetadata(j);
- if(element.getParent().getNameInSource().equals(sObject.getType())) {
+ AbstractMetadataRecord parent = element.getParent();
+ Table table;
+ if(parent instanceof Table) {
+ table = (Table)parent;
+ } else {
+ parent = parent.getParent();
+ if(parent instanceof Table) {
+ table = (Table)parent;
+ } else {
+ throw new ConnectorException("Could not resolve Table for column " + element.getName());
+ }
+ }
+ if(table.getNameInSource().equals(sObject.getType())) {
Integer index = fieldToIndexMap.get(element.getNameInSource());
// id gets dropped from the result if it is not the
// first field in the querystring. Add it back in.
@@ -235,7 +249,7 @@
}
} else {
Object cell;
- cell = getCellDatum(element, (JAXBElement)fields.get(index));
+ cell = getCellDatum(element, (Element)fields.get(index));
setValueInColumn(j, cell, result);
}
}
@@ -258,41 +272,42 @@
/**
* Load the map of response field names to index.
* @param fields
+ * @throws ConnectorException
*/
private void logAndMapFields(String sObjectName,
- List<Object> fields) {
+ List<Object> fields) throws ConnectorException {
if (!sObjectToResponseField.containsKey(sObjectName)) {
logFields(sObjectName, fields);
Map<String, Integer> responseFieldToIndexMap;
responseFieldToIndexMap = new HashMap<String, Integer>();
for (int x = 0; x < fields.size(); x++) {
- JAXBElement element = (JAXBElement) fields.get(x);
- responseFieldToIndexMap.put(element.getName().getLocalPart(), x);
+ Element element = (Element) fields.get(x);
+ responseFieldToIndexMap.put(element.getLocalName(), x);
}
sObjectToResponseField.put(sObjectName, responseFieldToIndexMap);
}
}
- @SuppressWarnings("unchecked")
- private void logFields(String sObjectName, List<Object> fields) {
+ private void logFields(String sObjectName, List<Object> fields) throws ConnectorException {
ConnectorLogger logger = connectorEnv.getLogger();
logger.logDetail("SalesForce Object Name = " + sObjectName);
logger.logDetail("FieldCount = " + fields.size());
for(int i = 0; i < fields.size(); i++) {
- JAXBElement element = (JAXBElement) fields.get(i);
- logger.logDetail("Field # " + i + " is " + element.getName().getLocalPart());
+ Element element;
+ element = (Element) fields.get(i);
+ logger.logDetail("Field # " + i + " is " + element.getLocalName());
}
}
@SuppressWarnings("unchecked")
- private Object getCellDatum(Column element, JAXBElement jbe)
+ private Object getCellDatum(Column element, Element elem)
throws ConnectorException {
- if(!element.getNameInSource().equals(jbe.getName().getLocalPart())) {
+ if(!element.getNameInSource().equals(elem.getLocalName())) {
throw new ConnectorException("SalesforceQueryExecutionImpl.column.mismatch1" + element.getNameInSource() +
- "SalesforceQueryExecutionImpl.column.mismatch2" + jbe.getName().getLocalPart());
+ "SalesforceQueryExecutionImpl.column.mismatch2" + elem.getLocalName());
}
- String value = (String) jbe.getValue();
+ String value = (String) elem.getTextContent();
Object result = null;
Class type = element.getJavaType();
@@ -303,19 +318,33 @@
result = Boolean.valueOf(value);
} else if (type.equals(Double.class)) {
if (null != value) {
- result = Double.valueOf(value);
+ if(value.isEmpty()) {
+ result = null;
+ } else {
+ result = Double.valueOf(value);
+ }
}
} else if (type.equals(Integer.class)) {
if (null != value) {
- result = Integer.valueOf(value);
+ if(value.isEmpty()) {
+ result = null;
+ } else {
+ result = Integer.valueOf(value);
+ }
}
} else if (type.equals(java.sql.Date.class)) {
if (null != value) {
- result = java.sql.Date.valueOf(value);
+ if(value.isEmpty()) {
+ result = null;
+ } else {
+ result = java.sql.Date.valueOf(value);
+ }
}
} else if (type.equals(java.sql.Timestamp.class)) {
if (null != value) {
- try {
+ if(value.isEmpty()) {
+ result = null;
+ } else try {
Date date = Util.getSalesforceDateTimeFormat().parse(value);
result = new Timestamp(date.getTime());
} catch (ParseException e) {
Modified: trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/execution/visitors/SelectVisitor.java
===================================================================
--- trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/execution/visitors/SelectVisitor.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/connector-salesforce/src/main/java/com/metamatrix/connector/salesforce/execution/visitors/SelectVisitor.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -35,8 +35,10 @@
import org.teiid.connector.language.Limit;
import org.teiid.connector.language.NamedTable;
import org.teiid.connector.language.Select;
+import org.teiid.connector.metadata.runtime.AbstractMetadataRecord;
import org.teiid.connector.metadata.runtime.Column;
import org.teiid.connector.metadata.runtime.RuntimeMetadata;
+import org.teiid.connector.metadata.runtime.Table;
import com.metamatrix.connector.salesforce.Constants;
import com.metamatrix.connector.salesforce.Messages;
@@ -145,8 +147,19 @@
Expression expression = symbol.getExpression();
if (expression instanceof ColumnReference) {
Column element = ((ColumnReference) expression).getMetadataObject();
- String tableName = element.getParent().getNameInSource();
- result.append(tableName);
+ AbstractMetadataRecord parent = element.getParent();
+ Table table;
+ if(parent instanceof Table) {
+ table = (Table)parent;
+ } else {
+ parent = parent.getParent();
+ if(parent instanceof Table) {
+ table = (Table)parent;
+ } else {
+ throw new ConnectorException("Could not resolve Table for column " + element.getName());
+ }
+ }
+ result.append(table.getNameInSource());
result.append('.');
result.append(element.getNameInSource());
} else if (expression instanceof AggregateFunction) {
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/AllowFieldTruncationHeader.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/AllowFieldTruncationHeader.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/AssignmentRuleHeader.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/AssignmentRuleHeader.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/CallOptions.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/CallOptions.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ChildRelationship.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ChildRelationship.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ConvertLead.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ConvertLead.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ConvertLeadResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ConvertLeadResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Create.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Create.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/CreateResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/CreateResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DebugLevel.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DebugLevel.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DebuggingHeader.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DebuggingHeader.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DebuggingInfo.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DebuggingInfo.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Delete.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Delete.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DeleteResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DeleteResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DeleteResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DeleteResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DeletedRecord.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DeletedRecord.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeGlobal.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeGlobal.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeGlobalResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeGlobalResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeGlobalResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeGlobalResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeGlobalSObjectResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeGlobalSObjectResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayout.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayout.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayout.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayout.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayout.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -6,22 +6,24 @@
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
/**
- * <p>Java class for anonymous complex type.
+ * <p>Java class for DescribeLayout complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
- * <complexType>
+ * <complexType name="DescribeLayout">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
- * <element name="sObjectType" type="{http://www.w3.org/2001/XMLSchema}string"/>
- * <element name="recordTypeIds" type="{urn:partner.soap.sforce.com}ID" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="buttonLayoutSection" type="{urn:partner.soap.sforce.com}DescribeLayoutButtonSection" minOccurs="0"/>
+ * <element name="detailLayoutSections" type="{urn:partner.soap.sforce.com}DescribeLayoutSection" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="editLayoutSections" type="{urn:partner.soap.sforce.com}DescribeLayoutSection" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="id" type="{urn:partner.soap.sforce.com}ID"/>
+ * <element name="relatedLists" type="{urn:partner.soap.sforce.com}RelatedList" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
@@ -31,68 +33,155 @@
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "", propOrder = {
- "sObjectType",
- "recordTypeIds"
+@XmlType(name = "DescribeLayout", propOrder = {
+ "buttonLayoutSection",
+ "detailLayoutSections",
+ "editLayoutSections",
+ "id",
+ "relatedLists"
})
-@XmlRootElement(name = "describeLayout")
public class DescribeLayout {
+ protected DescribeLayoutButtonSection buttonLayoutSection;
+ protected List<DescribeLayoutSection> detailLayoutSections;
+ protected List<DescribeLayoutSection> editLayoutSections;
@XmlElement(required = true)
- protected String sObjectType;
- protected List<String> recordTypeIds;
+ protected String id;
+ protected List<RelatedList> relatedLists;
/**
- * Gets the value of the sObjectType property.
+ * Gets the value of the buttonLayoutSection property.
*
* @return
* possible object is
+ * {@link DescribeLayoutButtonSection }
+ *
+ */
+ public DescribeLayoutButtonSection getButtonLayoutSection() {
+ return buttonLayoutSection;
+ }
+
+ /**
+ * Sets the value of the buttonLayoutSection property.
+ *
+ * @param value
+ * allowed object is
+ * {@link DescribeLayoutButtonSection }
+ *
+ */
+ public void setButtonLayoutSection(DescribeLayoutButtonSection value) {
+ this.buttonLayoutSection = value;
+ }
+
+ /**
+ * Gets the value of the detailLayoutSections property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the detailLayoutSections property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getDetailLayoutSections().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link DescribeLayoutSection }
+ *
+ *
+ */
+ public List<DescribeLayoutSection> getDetailLayoutSections() {
+ if (detailLayoutSections == null) {
+ detailLayoutSections = new ArrayList<DescribeLayoutSection>();
+ }
+ return this.detailLayoutSections;
+ }
+
+ /**
+ * Gets the value of the editLayoutSections property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the editLayoutSections property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getEditLayoutSections().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link DescribeLayoutSection }
+ *
+ *
+ */
+ public List<DescribeLayoutSection> getEditLayoutSections() {
+ if (editLayoutSections == null) {
+ editLayoutSections = new ArrayList<DescribeLayoutSection>();
+ }
+ return this.editLayoutSections;
+ }
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return
+ * possible object is
* {@link String }
*
*/
- public String getSObjectType() {
- return sObjectType;
+ public String getId() {
+ return id;
}
/**
- * Sets the value of the sObjectType property.
+ * Sets the value of the id property.
*
* @param value
* allowed object is
* {@link String }
*
*/
- public void setSObjectType(String value) {
- this.sObjectType = value;
+ public void setId(String value) {
+ this.id = value;
}
/**
- * Gets the value of the recordTypeIds property.
+ * Gets the value of the relatedLists property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
- * This is why there is not a <CODE>set</CODE> method for the recordTypeIds property.
+ * This is why there is not a <CODE>set</CODE> method for the relatedLists property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
- * getRecordTypeIds().add(newItem);
+ * getRelatedLists().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link String }
+ * {@link RelatedList }
*
*
*/
- public List<String> getRecordTypeIds() {
- if (recordTypeIds == null) {
- recordTypeIds = new ArrayList<String>();
+ public List<RelatedList> getRelatedLists() {
+ if (relatedLists == null) {
+ relatedLists = new ArrayList<RelatedList>();
}
- return this.recordTypeIds;
+ return this.relatedLists;
}
}
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutButton.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutButton.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutButtonSection.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutButtonSection.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutComponent.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutComponent.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutItem.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutItem.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutResult.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutResult.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutResult.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -39,7 +39,7 @@
public class DescribeLayoutResult {
@XmlElement(required = true)
- protected List<DescribeLayout2> layouts;
+ protected List<DescribeLayout> layouts;
protected List<RecordTypeMapping> recordTypeMappings;
protected boolean recordTypeSelectorRequired;
@@ -61,13 +61,13 @@
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link DescribeLayout2 }
+ * {@link DescribeLayout }
*
*
*/
- public List<DescribeLayout2> getLayouts() {
+ public List<DescribeLayout> getLayouts() {
if (layouts == null) {
- layouts = new ArrayList<DescribeLayout2>();
+ layouts = new ArrayList<DescribeLayout>();
}
return this.layouts;
}
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutRow.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutRow.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutSection.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeLayoutSection.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObject.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObject.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObjectResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObjectResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObjectResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObjectResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObjects.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObjects.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObjectsResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSObjectsResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayout.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayout.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutCallType.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutCallType.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutInfoField.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutInfoField.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutItem.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutItem.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutSection.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeSoftphoneLayoutSection.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeTab.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeTab.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeTabSetResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeTabSetResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeTabs.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeTabs.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeTabsResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/DescribeTabsResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Email.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Email.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/EmailFileAttachment.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/EmailFileAttachment.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/EmailHeader.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/EmailHeader.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/EmailPriority.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/EmailPriority.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/EmptyRecycleBin.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/EmptyRecycleBin.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/EmptyRecycleBinResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/EmptyRecycleBinResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/EmptyRecycleBinResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/EmptyRecycleBinResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Error.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Error.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Field.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Field.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/FieldType.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/FieldType.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetDeleted.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetDeleted.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetDeletedResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetDeletedResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetDeletedResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetDeletedResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetServerTimestamp.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetServerTimestamp.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetServerTimestampResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetServerTimestampResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetServerTimestampResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetServerTimestampResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUpdated.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUpdated.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUpdatedResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUpdatedResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUpdatedResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUpdatedResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUserInfo.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUserInfo.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUserInfoResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUserInfoResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUserInfoResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/GetUserInfoResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidFieldFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidFieldFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidFieldFault.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidFieldFault.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidFieldFault.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -5,15 +5,15 @@
/**
- * This class was generated by Apache CXF 2.2.6
- * Thu Feb 11 15:37:56 EST 2010
- * Generated source version: 2.2.6
+ * This class was generated by Apache CXF 2.2.5
+ * Thu Apr 01 14:35:01 EDT 2010
+ * Generated source version: 2.2.5
*
*/
@WebFault(name = "InvalidFieldFault", targetNamespace = "urn:fault.partner.soap.sforce.com")
public class InvalidFieldFault extends Exception {
- public static final long serialVersionUID = 20100211153756L;
+ public static final long serialVersionUID = 20100401143501L;
private com.sforce.soap.partner.fault.InvalidFieldFault invalidFieldFault;
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidIdFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidIdFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidIdFault.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidIdFault.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidIdFault.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -5,15 +5,15 @@
/**
- * This class was generated by Apache CXF 2.2.6
- * Thu Feb 11 15:37:56 EST 2010
- * Generated source version: 2.2.6
+ * This class was generated by Apache CXF 2.2.5
+ * Thu Apr 01 14:35:01 EDT 2010
+ * Generated source version: 2.2.5
*
*/
@WebFault(name = "InvalidIdFault", targetNamespace = "urn:fault.partner.soap.sforce.com")
public class InvalidIdFault extends Exception {
- public static final long serialVersionUID = 20100211153756L;
+ public static final long serialVersionUID = 20100401143501L;
private com.sforce.soap.partner.fault.InvalidIdFault invalidIdFault;
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidNewPasswordFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidNewPasswordFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidNewPasswordFault.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidNewPasswordFault.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidNewPasswordFault.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -5,15 +5,15 @@
/**
- * This class was generated by Apache CXF 2.2.6
- * Thu Feb 11 15:37:56 EST 2010
- * Generated source version: 2.2.6
+ * This class was generated by Apache CXF 2.2.5
+ * Thu Apr 01 14:35:01 EDT 2010
+ * Generated source version: 2.2.5
*
*/
@WebFault(name = "InvalidNewPasswordFault", targetNamespace = "urn:fault.partner.soap.sforce.com")
public class InvalidNewPasswordFault extends Exception {
- public static final long serialVersionUID = 20100211153756L;
+ public static final long serialVersionUID = 20100401143501L;
private com.sforce.soap.partner.fault.InvalidNewPasswordFault invalidNewPasswordFault;
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidQueryLocatorFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidQueryLocatorFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidQueryLocatorFault.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidQueryLocatorFault.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidQueryLocatorFault.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -5,15 +5,15 @@
/**
- * This class was generated by Apache CXF 2.2.6
- * Thu Feb 11 15:37:56 EST 2010
- * Generated source version: 2.2.6
+ * This class was generated by Apache CXF 2.2.5
+ * Thu Apr 01 14:35:01 EDT 2010
+ * Generated source version: 2.2.5
*
*/
@WebFault(name = "InvalidQueryLocatorFault", targetNamespace = "urn:fault.partner.soap.sforce.com")
public class InvalidQueryLocatorFault extends Exception {
- public static final long serialVersionUID = 20100211153756L;
+ public static final long serialVersionUID = 20100401143501L;
private com.sforce.soap.partner.fault.InvalidQueryLocatorFault invalidQueryLocatorFault;
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidSObjectFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidSObjectFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidSObjectFault.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidSObjectFault.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidSObjectFault.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -5,15 +5,15 @@
/**
- * This class was generated by Apache CXF 2.2.6
- * Thu Feb 11 15:37:56 EST 2010
- * Generated source version: 2.2.6
+ * This class was generated by Apache CXF 2.2.5
+ * Thu Apr 01 14:35:01 EDT 2010
+ * Generated source version: 2.2.5
*
*/
@WebFault(name = "InvalidSObjectFault", targetNamespace = "urn:fault.partner.soap.sforce.com")
public class InvalidSObjectFault extends Exception {
- public static final long serialVersionUID = 20100211153756L;
+ public static final long serialVersionUID = 20100401143501L;
private com.sforce.soap.partner.fault.InvalidSObjectFault invalidSObjectFault;
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidateSessions.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidateSessions.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidateSessionsResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidateSessionsResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidateSessionsResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/InvalidateSessionsResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LayoutComponentType.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LayoutComponentType.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LeadConvert.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LeadConvert.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LeadConvertResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LeadConvertResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LocaleOptions.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LocaleOptions.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Login.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Login.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginFault.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginFault.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginFault.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -5,15 +5,15 @@
/**
- * This class was generated by Apache CXF 2.2.6
- * Thu Feb 11 15:37:56 EST 2010
- * Generated source version: 2.2.6
+ * This class was generated by Apache CXF 2.2.5
+ * Thu Apr 01 14:35:01 EDT 2010
+ * Generated source version: 2.2.5
*
*/
@WebFault(name = "LoginFault", targetNamespace = "urn:fault.partner.soap.sforce.com")
public class LoginFault extends Exception {
- public static final long serialVersionUID = 20100211153756L;
+ public static final long serialVersionUID = 20100401143501L;
private com.sforce.soap.partner.fault.LoginFault loginFault;
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginScopeHeader.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LoginScopeHeader.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Logout.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Logout.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LogoutResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/LogoutResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedQueryFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedQueryFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedQueryFault.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedQueryFault.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedQueryFault.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -5,15 +5,15 @@
/**
- * This class was generated by Apache CXF 2.2.6
- * Thu Feb 11 15:37:56 EST 2010
- * Generated source version: 2.2.6
+ * This class was generated by Apache CXF 2.2.5
+ * Thu Apr 01 14:35:01 EDT 2010
+ * Generated source version: 2.2.5
*
*/
@WebFault(name = "MalformedQueryFault", targetNamespace = "urn:fault.partner.soap.sforce.com")
public class MalformedQueryFault extends Exception {
- public static final long serialVersionUID = 20100211153756L;
+ public static final long serialVersionUID = 20100401143501L;
private com.sforce.soap.partner.fault.MalformedQueryFault malformedQueryFault;
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedSearchFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedSearchFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedSearchFault.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedSearchFault.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MalformedSearchFault.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -5,15 +5,15 @@
/**
- * This class was generated by Apache CXF 2.2.6
- * Thu Feb 11 15:37:56 EST 2010
- * Generated source version: 2.2.6
+ * This class was generated by Apache CXF 2.2.5
+ * Thu Apr 01 14:35:01 EDT 2010
+ * Generated source version: 2.2.5
*
*/
@WebFault(name = "MalformedSearchFault", targetNamespace = "urn:fault.partner.soap.sforce.com")
public class MalformedSearchFault extends Exception {
- public static final long serialVersionUID = 20100211153756L;
+ public static final long serialVersionUID = 20100401143501L;
private com.sforce.soap.partner.fault.MalformedSearchFault malformedSearchFault;
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MassEmailMessage.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MassEmailMessage.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Merge.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Merge.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MergeRequest.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MergeRequest.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MergeResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MergeResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MergeResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MergeResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MruHeader.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MruHeader.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MydescribeLayout.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MydescribeLayout.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MydescribeLayout.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MydescribeLayout.java (rev 0)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MydescribeLayout.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -0,0 +1,100 @@
+
+package com.sforce.soap.partner;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for describeLayout element declaration.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <element name="describeLayout">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="sObjectType" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="recordTypeIds" type="{urn:partner.soap.sforce.com}ID" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "sObjectType",
+ "recordTypeIds"
+})
+@XmlRootElement(name = "describeLayout")
+public class MydescribeLayout {
+
+ @XmlElement(required = true)
+ protected String sObjectType;
+ protected List<String> recordTypeIds;
+
+ /**
+ * Gets the value of the sObjectType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSObjectType() {
+ return sObjectType;
+ }
+
+ /**
+ * Sets the value of the sObjectType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSObjectType(String value) {
+ this.sObjectType = value;
+ }
+
+ /**
+ * Gets the value of the recordTypeIds property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the recordTypeIds property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getRecordTypeIds().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getRecordTypeIds() {
+ if (recordTypeIds == null) {
+ recordTypeIds = new ArrayList<String>();
+ }
+ return this.recordTypeIds;
+ }
+
+}
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/MydescribeLayout.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ObjectFactory.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ObjectFactory.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ObjectFactory.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ObjectFactory.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ObjectFactory.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -24,11 +24,11 @@
@XmlRegistry
public class ObjectFactory {
- private final static QName _EmailFileAttachmentContentType_QNAME = new QName("urn:partner.soap.sforce.com", "contentType");
- private final static QName _EmailFileAttachmentBody_QNAME = new QName("urn:partner.soap.sforce.com", "body");
private final static QName _SingleEmailMessageOrgWideEmailAddressId_QNAME = new QName("urn:partner.soap.sforce.com", "orgWideEmailAddressId");
private final static QName _SingleEmailMessageInReplyTo_QNAME = new QName("urn:partner.soap.sforce.com", "inReplyTo");
private final static QName _SingleEmailMessageReferences_QNAME = new QName("urn:partner.soap.sforce.com", "references");
+ private final static QName _EmailFileAttachmentContentType_QNAME = new QName("urn:partner.soap.sforce.com", "contentType");
+ private final static QName _EmailFileAttachmentBody_QNAME = new QName("urn:partner.soap.sforce.com", "body");
/**
* Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: com.sforce.soap.partner
@@ -38,211 +38,211 @@
}
/**
- * Create an instance of {@link DescribeTabSetResult }
+ * Create an instance of {@link Merge }
*
*/
- public DescribeTabSetResult createDescribeTabSetResult() {
- return new DescribeTabSetResult();
+ public Merge createMerge() {
+ return new Merge();
}
/**
- * Create an instance of {@link QueryAll }
+ * Create an instance of {@link CallOptions }
*
*/
- public QueryAll createQueryAll() {
- return new QueryAll();
+ public CallOptions createCallOptions() {
+ return new CallOptions();
}
/**
- * Create an instance of {@link GetServerTimestampResult }
+ * Create an instance of {@link LeadConvertResult }
*
*/
- public GetServerTimestampResult createGetServerTimestampResult() {
- return new GetServerTimestampResult();
+ public LeadConvertResult createLeadConvertResult() {
+ return new LeadConvertResult();
}
/**
- * Create an instance of {@link DescribeLayout2 }
+ * Create an instance of {@link SearchResult }
*
*/
- public DescribeLayout2 createDescribeLayout2() {
- return new DescribeLayout2();
+ public SearchResult createSearchResult() {
+ return new SearchResult();
}
/**
- * Create an instance of {@link InvalidateSessionsResult }
+ * Create an instance of {@link ProcessRequest }
*
*/
- public InvalidateSessionsResult createInvalidateSessionsResult() {
- return new InvalidateSessionsResult();
+ public ProcessRequest createProcessRequest() {
+ return new ProcessRequest();
}
/**
- * Create an instance of {@link DescribeSoftphoneLayoutItem }
+ * Create an instance of {@link DeleteResult }
*
*/
- public DescribeSoftphoneLayoutItem createDescribeSoftphoneLayoutItem() {
- return new DescribeSoftphoneLayoutItem();
+ public DeleteResult createDeleteResult() {
+ return new DeleteResult();
}
/**
- * Create an instance of {@link DescribeSoftphoneLayoutResult }
+ * Create an instance of {@link DescribeTab }
*
*/
- public DescribeSoftphoneLayoutResult createDescribeSoftphoneLayoutResult() {
- return new DescribeSoftphoneLayoutResult();
+ public DescribeTab createDescribeTab() {
+ return new DescribeTab();
}
/**
- * Create an instance of {@link SessionHeader }
+ * Create an instance of {@link DescribeLayoutResult }
*
*/
- public SessionHeader createSessionHeader() {
- return new SessionHeader();
+ public DescribeLayoutResult createDescribeLayoutResult() {
+ return new DescribeLayoutResult();
}
/**
- * Create an instance of {@link LeadConvert }
+ * Create an instance of {@link Retrieve }
*
*/
- public LeadConvert createLeadConvert() {
- return new LeadConvert();
+ public Retrieve createRetrieve() {
+ return new Retrieve();
}
/**
- * Create an instance of {@link SetPassword }
+ * Create an instance of {@link Delete }
*
*/
- public SetPassword createSetPassword() {
- return new SetPassword();
+ public Delete createDelete() {
+ return new Delete();
}
/**
- * Create an instance of {@link UpsertResponse }
+ * Create an instance of {@link DescribeTabSetResult }
*
*/
- public UpsertResponse createUpsertResponse() {
- return new UpsertResponse();
+ public DescribeTabSetResult createDescribeTabSetResult() {
+ return new DescribeTabSetResult();
}
/**
- * Create an instance of {@link AllowFieldTruncationHeader }
+ * Create an instance of {@link Update }
*
*/
- public AllowFieldTruncationHeader createAllowFieldTruncationHeader() {
- return new AllowFieldTruncationHeader();
+ public Update createUpdate() {
+ return new Update();
}
/**
- * Create an instance of {@link MassEmailMessage }
+ * Create an instance of {@link Login }
*
*/
- public MassEmailMessage createMassEmailMessage() {
- return new MassEmailMessage();
+ public Login createLogin() {
+ return new Login();
}
/**
- * Create an instance of {@link GetUserInfoResponse }
+ * Create an instance of {@link DescribeSObjectResponse }
*
*/
- public GetUserInfoResponse createGetUserInfoResponse() {
- return new GetUserInfoResponse();
+ public DescribeSObjectResponse createDescribeSObjectResponse() {
+ return new DescribeSObjectResponse();
}
/**
- * Create an instance of {@link Upsert }
+ * Create an instance of {@link QueryAll }
*
*/
- public Upsert createUpsert() {
- return new Upsert();
+ public QueryAll createQueryAll() {
+ return new QueryAll();
}
/**
- * Create an instance of {@link RecordTypeInfo }
+ * Create an instance of {@link Error }
*
*/
- public RecordTypeInfo createRecordTypeInfo() {
- return new RecordTypeInfo();
+ public Error createError() {
+ return new Error();
}
/**
- * Create an instance of {@link DescribeLayoutButton }
+ * Create an instance of {@link LogoutResponse }
*
*/
- public DescribeLayoutButton createDescribeLayoutButton() {
- return new DescribeLayoutButton();
+ public LogoutResponse createLogoutResponse() {
+ return new LogoutResponse();
}
/**
- * Create an instance of {@link DebuggingInfo }
+ * Create an instance of {@link SingleEmailMessage }
*
*/
- public DebuggingInfo createDebuggingInfo() {
- return new DebuggingInfo();
+ public SingleEmailMessage createSingleEmailMessage() {
+ return new SingleEmailMessage();
}
/**
- * Create an instance of {@link GetUserInfoResult }
+ * Create an instance of {@link UserTerritoryDeleteHeader }
*
*/
- public GetUserInfoResult createGetUserInfoResult() {
- return new GetUserInfoResult();
+ public UserTerritoryDeleteHeader createUserTerritoryDeleteHeader() {
+ return new UserTerritoryDeleteHeader();
}
/**
- * Create an instance of {@link DeleteResult }
+ * Create an instance of {@link DescribeLayoutRow }
*
*/
- public DeleteResult createDeleteResult() {
- return new DeleteResult();
+ public DescribeLayoutRow createDescribeLayoutRow() {
+ return new DescribeLayoutRow();
}
/**
- * Create an instance of {@link SendEmail }
+ * Create an instance of {@link GetServerTimestampResult }
*
*/
- public SendEmail createSendEmail() {
- return new SendEmail();
+ public GetServerTimestampResult createGetServerTimestampResult() {
+ return new GetServerTimestampResult();
}
/**
- * Create an instance of {@link UndeleteResponse }
+ * Create an instance of {@link DebuggingInfo }
*
*/
- public UndeleteResponse createUndeleteResponse() {
- return new UndeleteResponse();
+ public DebuggingInfo createDebuggingInfo() {
+ return new DebuggingInfo();
}
/**
- * Create an instance of {@link DeletedRecord }
+ * Create an instance of {@link PicklistEntry }
*
*/
- public DeletedRecord createDeletedRecord() {
- return new DeletedRecord();
+ public PicklistEntry createPicklistEntry() {
+ return new PicklistEntry();
}
/**
- * Create an instance of {@link Search }
+ * Create an instance of {@link DescribeSObjectsResponse }
*
*/
- public Search createSearch() {
- return new Search();
+ public DescribeSObjectsResponse createDescribeSObjectsResponse() {
+ return new DescribeSObjectsResponse();
}
/**
- * Create an instance of {@link UndeleteResult }
+ * Create an instance of {@link DescribeSoftphoneLayoutItem }
*
*/
- public UndeleteResult createUndeleteResult() {
- return new UndeleteResult();
+ public DescribeSoftphoneLayoutItem createDescribeSoftphoneLayoutItem() {
+ return new DescribeSoftphoneLayoutItem();
}
/**
- * Create an instance of {@link DescribeLayoutRow }
+ * Create an instance of {@link RecordTypeMapping }
*
*/
- public DescribeLayoutRow createDescribeLayoutRow() {
- return new DescribeLayoutRow();
+ public RecordTypeMapping createRecordTypeMapping() {
+ return new RecordTypeMapping();
}
/**
@@ -254,83 +254,83 @@
}
/**
- * Create an instance of {@link DescribeTab }
+ * Create an instance of {@link LoginResult }
*
*/
- public DescribeTab createDescribeTab() {
- return new DescribeTab();
+ public LoginResult createLoginResult() {
+ return new LoginResult();
}
/**
- * Create an instance of {@link Logout }
+ * Create an instance of {@link GetUserInfoResponse }
*
*/
- public Logout createLogout() {
- return new Logout();
+ public GetUserInfoResponse createGetUserInfoResponse() {
+ return new GetUserInfoResponse();
}
/**
- * Create an instance of {@link RecordTypeMapping }
+ * Create an instance of {@link Undelete }
*
*/
- public RecordTypeMapping createRecordTypeMapping() {
- return new RecordTypeMapping();
+ public Undelete createUndelete() {
+ return new Undelete();
}
/**
- * Create an instance of {@link ProcessRequest }
+ * Create an instance of {@link Logout }
*
*/
- public ProcessRequest createProcessRequest() {
- return new ProcessRequest();
+ public Logout createLogout() {
+ return new Logout();
}
/**
- * Create an instance of {@link DescribeLayout }
+ * Create an instance of {@link UpsertResponse }
*
*/
- public DescribeLayout createDescribeLayout() {
- return new DescribeLayout();
+ public UpsertResponse createUpsertResponse() {
+ return new UpsertResponse();
}
/**
- * Create an instance of {@link DescribeLayoutSection }
+ * Create an instance of {@link RecordTypeInfo }
*
*/
- public DescribeLayoutSection createDescribeLayoutSection() {
- return new DescribeLayoutSection();
+ public RecordTypeInfo createRecordTypeInfo() {
+ return new RecordTypeInfo();
}
/**
- * Create an instance of {@link QueryResult }
+ * Create an instance of {@link LeadConvert }
*
*/
- public QueryResult createQueryResult() {
- return new QueryResult();
+ public LeadConvert createLeadConvert() {
+ return new LeadConvert();
}
/**
- * Create an instance of {@link SingleEmailMessage }
+ * Create an instance of {@link ResetPasswordResult }
*
*/
- public SingleEmailMessage createSingleEmailMessage() {
- return new SingleEmailMessage();
+ public ResetPasswordResult createResetPasswordResult() {
+ return new ResetPasswordResult();
}
/**
- * Create an instance of {@link DescribeTabsResponse }
+ * Create an instance of {@link ProcessSubmitRequest }
*
*/
- public DescribeTabsResponse createDescribeTabsResponse() {
- return new DescribeTabsResponse();
+ public ProcessSubmitRequest createProcessSubmitRequest() {
+ return new ProcessSubmitRequest();
}
/**
- * Create an instance of {@link SearchResult }
+ * Create an instance of {@link MruHeader }
*
*/
- public SearchResult createSearchResult() {
- return new SearchResult();
+ public MruHeader createMruHeader() {
+ return new MruHeader();
}
/**
@@ -342,390 +342,382 @@
}
/**
- * Create an instance of {@link SearchRecord }
+ * Create an instance of {@link MergeResponse }
*
*/
- public SearchRecord createSearchRecord() {
- return new SearchRecord();
+ public MergeResponse createMergeResponse() {
+ return new MergeResponse();
}
/**
- * Create an instance of {@link ProcessResult }
+ * Create an instance of {@link ResetPassword }
*
*/
- public ProcessResult createProcessResult() {
- return new ProcessResult();
+ public ResetPassword createResetPassword() {
+ return new ResetPassword();
}
/**
- * Create an instance of {@link MergeResponse }
+ * Create an instance of {@link DeleteResponse }
*
*/
- public MergeResponse createMergeResponse() {
- return new MergeResponse();
+ public DeleteResponse createDeleteResponse() {
+ return new DeleteResponse();
}
/**
- * Create an instance of {@link PicklistEntry }
+ * Create an instance of {@link DescribeLayoutButton }
*
*/
- public PicklistEntry createPicklistEntry() {
- return new PicklistEntry();
+ public DescribeLayoutButton createDescribeLayoutButton() {
+ return new DescribeLayoutButton();
}
/**
- * Create an instance of {@link InvalidateSessionsResponse }
+ * Create an instance of {@link SetPasswordResult }
*
*/
- public InvalidateSessionsResponse createInvalidateSessionsResponse() {
- return new InvalidateSessionsResponse();
+ public SetPasswordResult createSetPasswordResult() {
+ return new SetPasswordResult();
}
/**
- * Create an instance of {@link DescribeLayoutComponent }
+ * Create an instance of {@link ProcessResponse }
*
*/
- public DescribeLayoutComponent createDescribeLayoutComponent() {
- return new DescribeLayoutComponent();
+ public ProcessResponse createProcessResponse() {
+ return new ProcessResponse();
}
/**
- * Create an instance of {@link GetUpdated }
+ * Create an instance of {@link DebuggingHeader }
*
*/
- public GetUpdated createGetUpdated() {
- return new GetUpdated();
+ public DebuggingHeader createDebuggingHeader() {
+ return new DebuggingHeader();
}
/**
- * Create an instance of {@link SetPasswordResult }
+ * Create an instance of {@link Upsert }
*
*/
- public SetPasswordResult createSetPasswordResult() {
- return new SetPasswordResult();
+ public Upsert createUpsert() {
+ return new Upsert();
}
/**
- * Create an instance of {@link EmailFileAttachment }
+ * Create an instance of {@link GetDeletedResult }
*
*/
- public EmailFileAttachment createEmailFileAttachment() {
- return new EmailFileAttachment();
+ public GetDeletedResult createGetDeletedResult() {
+ return new GetDeletedResult();
}
/**
- * Create an instance of {@link PackageVersionHeader }
+ * Create an instance of {@link DescribeLayoutComponent }
*
*/
- public PackageVersionHeader createPackageVersionHeader() {
- return new PackageVersionHeader();
+ public DescribeLayoutComponent createDescribeLayoutComponent() {
+ return new DescribeLayoutComponent();
}
/**
- * Create an instance of {@link Update }
+ * Create an instance of {@link SearchResponse }
*
*/
- public Update createUpdate() {
- return new Update();
+ public SearchResponse createSearchResponse() {
+ return new SearchResponse();
}
/**
- * Create an instance of {@link GetServerTimestampResponse }
+ * Create an instance of {@link RelatedListSort }
*
*/
- public GetServerTimestampResponse createGetServerTimestampResponse() {
- return new GetServerTimestampResponse();
+ public RelatedListSort createRelatedListSort() {
+ return new RelatedListSort();
}
/**
- * Create an instance of {@link LeadConvertResult }
+ * Create an instance of {@link SearchRecord }
*
*/
- public LeadConvertResult createLeadConvertResult() {
- return new LeadConvertResult();
+ public SearchRecord createSearchRecord() {
+ return new SearchRecord();
}
/**
- * Create an instance of {@link QueryAllResponse }
+ * Create an instance of {@link MassEmailMessage }
*
*/
- public QueryAllResponse createQueryAllResponse() {
- return new QueryAllResponse();
+ public MassEmailMessage createMassEmailMessage() {
+ return new MassEmailMessage();
}
/**
- * Create an instance of {@link SendEmailResult }
+ * Create an instance of {@link DescribeLayoutButtonSection }
*
*/
- public SendEmailResult createSendEmailResult() {
- return new SendEmailResult();
+ public DescribeLayoutButtonSection createDescribeLayoutButtonSection() {
+ return new DescribeLayoutButtonSection();
}
/**
- * Create an instance of {@link GetDeletedResult }
+ * Create an instance of {@link DescribeLayout }
*
*/
- public GetDeletedResult createGetDeletedResult() {
- return new GetDeletedResult();
+ public DescribeLayout createDescribeLayout() {
+ return new DescribeLayout();
}
/**
- * Create an instance of {@link RelatedListColumn }
+ * Create an instance of {@link GetUpdatedResponse }
*
*/
- public RelatedListColumn createRelatedListColumn() {
- return new RelatedListColumn();
+ public GetUpdatedResponse createGetUpdatedResponse() {
+ return new GetUpdatedResponse();
}
/**
- * Create an instance of {@link RetrieveResponse }
+ * Create an instance of {@link SendEmailResult }
*
*/
- public RetrieveResponse createRetrieveResponse() {
- return new RetrieveResponse();
+ public SendEmailResult createSendEmailResult() {
+ return new SendEmailResult();
}
/**
- * Create an instance of {@link DescribeSObjects }
+ * Create an instance of {@link DescribeGlobalResponse }
*
*/
- public DescribeSObjects createDescribeSObjects() {
- return new DescribeSObjects();
+ public DescribeGlobalResponse createDescribeGlobalResponse() {
+ return new DescribeGlobalResponse();
}
/**
- * Create an instance of {@link CallOptions }
+ * Create an instance of {@link InvalidateSessionsResult }
*
*/
- public CallOptions createCallOptions() {
- return new CallOptions();
+ public InvalidateSessionsResult createInvalidateSessionsResult() {
+ return new InvalidateSessionsResult();
}
/**
- * Create an instance of {@link DescribeLayoutResponse }
+ * Create an instance of {@link LocaleOptions }
*
*/
- public DescribeLayoutResponse createDescribeLayoutResponse() {
- return new DescribeLayoutResponse();
+ public LocaleOptions createLocaleOptions() {
+ return new LocaleOptions();
}
/**
- * Create an instance of {@link QueryMoreResponse }
+ * Create an instance of {@link QueryMore }
*
*/
- public QueryMoreResponse createQueryMoreResponse() {
- return new QueryMoreResponse();
+ public QueryMore createQueryMore() {
+ return new QueryMore();
}
/**
- * Create an instance of {@link DebuggingHeader }
+ * Create an instance of {@link InvalidateSessionsResponse }
*
*/
- public DebuggingHeader createDebuggingHeader() {
- return new DebuggingHeader();
+ public InvalidateSessionsResponse createInvalidateSessionsResponse() {
+ return new InvalidateSessionsResponse();
}
/**
- * Create an instance of {@link Merge }
+ * Create an instance of {@link DescribeSoftphoneLayoutResponse }
*
*/
- public Merge createMerge() {
- return new Merge();
+ public DescribeSoftphoneLayoutResponse createDescribeSoftphoneLayoutResponse() {
+ return new DescribeSoftphoneLayoutResponse();
}
/**
- * Create an instance of {@link LoginResponse }
+ * Create an instance of {@link SetPassword }
*
*/
- public LoginResponse createLoginResponse() {
- return new LoginResponse();
+ public SetPassword createSetPassword() {
+ return new SetPassword();
}
/**
- * Create an instance of {@link LoginScopeHeader }
+ * Create an instance of {@link EmailHeader }
*
*/
- public LoginScopeHeader createLoginScopeHeader() {
- return new LoginScopeHeader();
+ public EmailHeader createEmailHeader() {
+ return new EmailHeader();
}
/**
- * Create an instance of {@link RelatedList }
+ * Create an instance of {@link QueryOptions }
*
*/
- public RelatedList createRelatedList() {
- return new RelatedList();
+ public QueryOptions createQueryOptions() {
+ return new QueryOptions();
}
/**
- * Create an instance of {@link ProcessResponse }
+ * Create an instance of {@link DescribeGlobal }
*
*/
- public ProcessResponse createProcessResponse() {
- return new ProcessResponse();
+ public DescribeGlobal createDescribeGlobal() {
+ return new DescribeGlobal();
}
/**
- * Create an instance of {@link DescribeSObjectResult }
+ * Create an instance of {@link SendEmail }
*
*/
- public DescribeSObjectResult createDescribeSObjectResult() {
- return new DescribeSObjectResult();
+ public SendEmail createSendEmail() {
+ return new SendEmail();
}
/**
- * Create an instance of {@link LocaleOptions }
+ * Create an instance of {@link DescribeSoftphoneLayoutResult }
*
*/
- public LocaleOptions createLocaleOptions() {
- return new LocaleOptions();
+ public DescribeSoftphoneLayoutResult createDescribeSoftphoneLayoutResult() {
+ return new DescribeSoftphoneLayoutResult();
}
/**
- * Create an instance of {@link UpdateResponse }
+ * Create an instance of {@link Search }
*
*/
- public UpdateResponse createUpdateResponse() {
- return new UpdateResponse();
+ public Search createSearch() {
+ return new Search();
}
/**
- * Create an instance of {@link DescribeSoftphoneLayoutInfoField }
+ * Create an instance of {@link DescribeLayoutItem }
*
*/
- public DescribeSoftphoneLayoutInfoField createDescribeSoftphoneLayoutInfoField() {
- return new DescribeSoftphoneLayoutInfoField();
+ public DescribeLayoutItem createDescribeLayoutItem() {
+ return new DescribeLayoutItem();
}
/**
- * Create an instance of {@link QueryResponse }
+ * Create an instance of {@link DescribeSObjectResult }
*
*/
- public QueryResponse createQueryResponse() {
- return new QueryResponse();
+ public DescribeSObjectResult createDescribeSObjectResult() {
+ return new DescribeSObjectResult();
}
/**
- * Create an instance of {@link GetServerTimestamp }
+ * Create an instance of {@link ProcessResult }
*
*/
- public GetServerTimestamp createGetServerTimestamp() {
- return new GetServerTimestamp();
+ public ProcessResult createProcessResult() {
+ return new ProcessResult();
}
/**
- * Create an instance of {@link Delete }
+ * Create an instance of {@link InvalidateSessions }
*
*/
- public Delete createDelete() {
- return new Delete();
+ public InvalidateSessions createInvalidateSessions() {
+ return new InvalidateSessions();
}
/**
- * Create an instance of {@link Error }
+ * Create an instance of {@link PackageVersionHeader }
*
*/
- public Error createError() {
- return new Error();
+ public PackageVersionHeader createPackageVersionHeader() {
+ return new PackageVersionHeader();
}
/**
- * Create an instance of {@link DescribeGlobalResponse }
+ * Create an instance of {@link DescribeTabsResponse }
*
*/
- public DescribeGlobalResponse createDescribeGlobalResponse() {
- return new DescribeGlobalResponse();
+ public DescribeTabsResponse createDescribeTabsResponse() {
+ return new DescribeTabsResponse();
}
/**
- * Create an instance of {@link DescribeLayoutResult }
+ * Create an instance of {@link SendEmailResponse }
*
*/
- public DescribeLayoutResult createDescribeLayoutResult() {
- return new DescribeLayoutResult();
+ public SendEmailResponse createSendEmailResponse() {
+ return new SendEmailResponse();
}
/**
- * Create an instance of {@link SetPasswordResponse }
+ * Create an instance of {@link PicklistForRecordType }
*
*/
- public SetPasswordResponse createSetPasswordResponse() {
- return new SetPasswordResponse();
+ public PicklistForRecordType createPicklistForRecordType() {
+ return new PicklistForRecordType();
}
/**
- * Create an instance of {@link DescribeSoftphoneLayout }
+ * Create an instance of {@link AllowFieldTruncationHeader }
*
*/
- public DescribeSoftphoneLayout createDescribeSoftphoneLayout() {
- return new DescribeSoftphoneLayout();
+ public AllowFieldTruncationHeader createAllowFieldTruncationHeader() {
+ return new AllowFieldTruncationHeader();
}
/**
- * Create an instance of {@link DeleteResponse }
+ * Create an instance of {@link UpdateResponse }
*
*/
- public DeleteResponse createDeleteResponse() {
- return new DeleteResponse();
+ public UpdateResponse createUpdateResponse() {
+ return new UpdateResponse();
}
/**
- * Create an instance of {@link SendEmailResponse }
+ * Create an instance of {@link QueryResponse }
*
*/
- public SendEmailResponse createSendEmailResponse() {
- return new SendEmailResponse();
+ public QueryResponse createQueryResponse() {
+ return new QueryResponse();
}
/**
- * Create an instance of {@link GetUpdatedResponse }
+ * Create an instance of {@link DescribeSoftphoneLayoutSection }
*
*/
- public GetUpdatedResponse createGetUpdatedResponse() {
- return new GetUpdatedResponse();
+ public DescribeSoftphoneLayoutSection createDescribeSoftphoneLayoutSection() {
+ return new DescribeSoftphoneLayoutSection();
}
/**
- * Create an instance of {@link GetUpdatedResult }
+ * Create an instance of {@link CreateResponse }
*
*/
- public GetUpdatedResult createGetUpdatedResult() {
- return new GetUpdatedResult();
+ public CreateResponse createCreateResponse() {
+ return new CreateResponse();
}
/**
- * Create an instance of {@link Create }
+ * Create an instance of {@link QueryResult }
*
*/
- public Create createCreate() {
- return new Create();
+ public QueryResult createQueryResult() {
+ return new QueryResult();
}
/**
- * Create an instance of {@link LogoutResponse }
+ * Create an instance of {@link SaveResult }
*
*/
- public LogoutResponse createLogoutResponse() {
- return new LogoutResponse();
+ public SaveResult createSaveResult() {
+ return new SaveResult();
}
/**
- * Create an instance of {@link DescribeSObjectResponse }
+ * Create an instance of {@link DescribeSObject }
*
*/
- public DescribeSObjectResponse createDescribeSObjectResponse() {
- return new DescribeSObjectResponse();
+ public DescribeSObject createDescribeSObject() {
+ return new DescribeSObject();
}
/**
- * Create an instance of {@link Retrieve }
- *
- */
- public Retrieve createRetrieve() {
- return new Retrieve();
- }
-
- /**
* Create an instance of {@link Process }
*
*/
@@ -734,139 +726,139 @@
}
/**
- * Create an instance of {@link DescribeLayoutItem }
+ * Create an instance of {@link AssignmentRuleHeader }
*
*/
- public DescribeLayoutItem createDescribeLayoutItem() {
- return new DescribeLayoutItem();
+ public AssignmentRuleHeader createAssignmentRuleHeader() {
+ return new AssignmentRuleHeader();
}
/**
- * Create an instance of {@link PicklistForRecordType }
+ * Create an instance of {@link GetServerTimestamp }
*
*/
- public PicklistForRecordType createPicklistForRecordType() {
- return new PicklistForRecordType();
+ public GetServerTimestamp createGetServerTimestamp() {
+ return new GetServerTimestamp();
}
/**
- * Create an instance of {@link InvalidateSessions }
+ * Create an instance of {@link ConvertLeadResponse }
*
*/
- public InvalidateSessions createInvalidateSessions() {
- return new InvalidateSessions();
+ public ConvertLeadResponse createConvertLeadResponse() {
+ return new ConvertLeadResponse();
}
/**
- * Create an instance of {@link DescribeLayoutButtonSection }
+ * Create an instance of {@link Query }
*
*/
- public DescribeLayoutButtonSection createDescribeLayoutButtonSection() {
- return new DescribeLayoutButtonSection();
+ public Query createQuery() {
+ return new Query();
}
/**
- * Create an instance of {@link PackageVersion }
+ * Create an instance of {@link GetUserInfo }
*
*/
- public PackageVersion createPackageVersion() {
- return new PackageVersion();
+ public GetUserInfo createGetUserInfo() {
+ return new GetUserInfo();
}
/**
- * Create an instance of {@link SearchResponse }
+ * Create an instance of {@link GetDeletedResponse }
*
*/
- public SearchResponse createSearchResponse() {
- return new SearchResponse();
+ public GetDeletedResponse createGetDeletedResponse() {
+ return new GetDeletedResponse();
}
/**
- * Create an instance of {@link DescribeSObject }
+ * Create an instance of {@link Create }
*
*/
- public DescribeSObject createDescribeSObject() {
- return new DescribeSObject();
+ public Create createCreate() {
+ return new Create();
}
/**
- * Create an instance of {@link AssignmentRuleHeader }
+ * Create an instance of {@link MergeResult }
*
*/
- public AssignmentRuleHeader createAssignmentRuleHeader() {
- return new AssignmentRuleHeader();
+ public MergeResult createMergeResult() {
+ return new MergeResult();
}
/**
- * Create an instance of {@link DescribeGlobal }
+ * Create an instance of {@link DescribeSoftphoneLayoutCallType }
*
*/
- public DescribeGlobal createDescribeGlobal() {
- return new DescribeGlobal();
+ public DescribeSoftphoneLayoutCallType createDescribeSoftphoneLayoutCallType() {
+ return new DescribeSoftphoneLayoutCallType();
}
/**
- * Create an instance of {@link Email }
+ * Create an instance of {@link DeletedRecord }
*
*/
- public Email createEmail() {
- return new Email();
+ public DeletedRecord createDeletedRecord() {
+ return new DeletedRecord();
}
/**
- * Create an instance of {@link EmailHeader }
+ * Create an instance of {@link GetUpdated }
*
*/
- public EmailHeader createEmailHeader() {
- return new EmailHeader();
+ public GetUpdated createGetUpdated() {
+ return new GetUpdated();
}
/**
- * Create an instance of {@link UserTerritoryDeleteHeader }
+ * Create an instance of {@link GetDeleted }
*
*/
- public UserTerritoryDeleteHeader createUserTerritoryDeleteHeader() {
- return new UserTerritoryDeleteHeader();
+ public GetDeleted createGetDeleted() {
+ return new GetDeleted();
}
/**
- * Create an instance of {@link Query }
+ * Create an instance of {@link DescribeSoftphoneLayout }
*
*/
- public Query createQuery() {
- return new Query();
+ public DescribeSoftphoneLayout createDescribeSoftphoneLayout() {
+ return new DescribeSoftphoneLayout();
}
/**
- * Create an instance of {@link ProcessSubmitRequest }
+ * Create an instance of {@link EmptyRecycleBinResponse }
*
*/
- public ProcessSubmitRequest createProcessSubmitRequest() {
- return new ProcessSubmitRequest();
+ public EmptyRecycleBinResponse createEmptyRecycleBinResponse() {
+ return new EmptyRecycleBinResponse();
}
/**
- * Create an instance of {@link SaveResult }
+ * Create an instance of {@link ConvertLead }
*
*/
- public SaveResult createSaveResult() {
- return new SaveResult();
+ public ConvertLead createConvertLead() {
+ return new ConvertLead();
}
/**
- * Create an instance of {@link DescribeSoftphoneLayoutSection }
+ * Create an instance of {@link SessionHeader }
*
*/
- public DescribeSoftphoneLayoutSection createDescribeSoftphoneLayoutSection() {
- return new DescribeSoftphoneLayoutSection();
+ public SessionHeader createSessionHeader() {
+ return new SessionHeader();
}
/**
- * Create an instance of {@link MruHeader }
+ * Create an instance of {@link LoginResponse }
*
*/
- public MruHeader createMruHeader() {
- return new MruHeader();
+ public LoginResponse createLoginResponse() {
+ return new LoginResponse();
}
/**
@@ -878,248 +870,238 @@
}
/**
- * Create an instance of {@link GetDeleted }
+ * Create an instance of {@link MergeRequest }
*
*/
- public GetDeleted createGetDeleted() {
- return new GetDeleted();
+ public MergeRequest createMergeRequest() {
+ return new MergeRequest();
}
/**
- * Create an instance of {@link DescribeTabs }
+ * Create an instance of {@link GetUserInfoResult }
*
*/
- public DescribeTabs createDescribeTabs() {
- return new DescribeTabs();
+ public GetUserInfoResult createGetUserInfoResult() {
+ return new GetUserInfoResult();
}
/**
- * Create an instance of {@link ChildRelationship }
+ * Create an instance of {@link ProcessWorkitemRequest }
*
*/
- public ChildRelationship createChildRelationship() {
- return new ChildRelationship();
+ public ProcessWorkitemRequest createProcessWorkitemRequest() {
+ return new ProcessWorkitemRequest();
}
/**
- * Create an instance of {@link MergeResult }
+ * Create an instance of {@link SetPasswordResponse }
*
*/
- public MergeResult createMergeResult() {
- return new MergeResult();
+ public SetPasswordResponse createSetPasswordResponse() {
+ return new SetPasswordResponse();
}
/**
- * Create an instance of {@link CreateResponse }
+ * Create an instance of {@link ResetPasswordResponse }
*
*/
- public CreateResponse createCreateResponse() {
- return new CreateResponse();
+ public ResetPasswordResponse createResetPasswordResponse() {
+ return new ResetPasswordResponse();
}
/**
- * Create an instance of {@link ConvertLeadResponse }
+ * Create an instance of {@link LoginScopeHeader }
*
*/
- public ConvertLeadResponse createConvertLeadResponse() {
- return new ConvertLeadResponse();
+ public LoginScopeHeader createLoginScopeHeader() {
+ return new LoginScopeHeader();
}
/**
- * Create an instance of {@link GetUserInfo }
+ * Create an instance of {@link DescribeSoftphoneLayoutInfoField }
*
*/
- public GetUserInfo createGetUserInfo() {
- return new GetUserInfo();
+ public DescribeSoftphoneLayoutInfoField createDescribeSoftphoneLayoutInfoField() {
+ return new DescribeSoftphoneLayoutInfoField();
}
/**
- * Create an instance of {@link QueryMore }
+ * Create an instance of {@link MydescribeLayout }
*
*/
- public QueryMore createQueryMore() {
- return new QueryMore();
+ public MydescribeLayout createMydescribeLayout() {
+ return new MydescribeLayout();
}
/**
- * Create an instance of {@link RelatedListSort }
+ * Create an instance of {@link RelatedList }
*
*/
- public RelatedListSort createRelatedListSort() {
- return new RelatedListSort();
+ public RelatedList createRelatedList() {
+ return new RelatedList();
}
/**
- * Create an instance of {@link SendEmailError }
+ * Create an instance of {@link RelatedListColumn }
*
*/
- public SendEmailError createSendEmailError() {
- return new SendEmailError();
+ public RelatedListColumn createRelatedListColumn() {
+ return new RelatedListColumn();
}
/**
- * Create an instance of {@link UpsertResult }
+ * Create an instance of {@link PackageVersion }
*
*/
- public UpsertResult createUpsertResult() {
- return new UpsertResult();
+ public PackageVersion createPackageVersion() {
+ return new PackageVersion();
}
/**
- * Create an instance of {@link ResetPassword }
+ * Create an instance of {@link UndeleteResponse }
*
*/
- public ResetPassword createResetPassword() {
- return new ResetPassword();
+ public UndeleteResponse createUndeleteResponse() {
+ return new UndeleteResponse();
}
/**
- * Create an instance of {@link MergeRequest }
+ * Create an instance of {@link EmailFileAttachment }
*
*/
- public MergeRequest createMergeRequest() {
- return new MergeRequest();
+ public EmailFileAttachment createEmailFileAttachment() {
+ return new EmailFileAttachment();
}
/**
- * Create an instance of {@link Field }
+ * Create an instance of {@link DescribeSObjects }
*
*/
- public Field createField() {
- return new Field();
+ public DescribeSObjects createDescribeSObjects() {
+ return new DescribeSObjects();
}
/**
- * Create an instance of {@link ProcessWorkitemRequest }
+ * Create an instance of {@link QueryAllResponse }
*
*/
- public ProcessWorkitemRequest createProcessWorkitemRequest() {
- return new ProcessWorkitemRequest();
+ public QueryAllResponse createQueryAllResponse() {
+ return new QueryAllResponse();
}
/**
- * Create an instance of {@link EmptyRecycleBinResult }
+ * Create an instance of {@link DescribeLayoutResponse }
*
*/
- public EmptyRecycleBinResult createEmptyRecycleBinResult() {
- return new EmptyRecycleBinResult();
+ public DescribeLayoutResponse createDescribeLayoutResponse() {
+ return new DescribeLayoutResponse();
}
/**
- * Create an instance of {@link DescribeSoftphoneLayoutResponse }
+ * Create an instance of {@link EmptyRecycleBinResult }
*
*/
- public DescribeSoftphoneLayoutResponse createDescribeSoftphoneLayoutResponse() {
- return new DescribeSoftphoneLayoutResponse();
+ public EmptyRecycleBinResult createEmptyRecycleBinResult() {
+ return new EmptyRecycleBinResult();
}
/**
- * Create an instance of {@link QueryOptions }
+ * Create an instance of {@link QueryMoreResponse }
*
*/
- public QueryOptions createQueryOptions() {
- return new QueryOptions();
+ public QueryMoreResponse createQueryMoreResponse() {
+ return new QueryMoreResponse();
}
/**
- * Create an instance of {@link Undelete }
+ * Create an instance of {@link UpsertResult }
*
*/
- public Undelete createUndelete() {
- return new Undelete();
+ public UpsertResult createUpsertResult() {
+ return new UpsertResult();
}
/**
- * Create an instance of {@link ResetPasswordResponse }
+ * Create an instance of {@link RetrieveResponse }
*
*/
- public ResetPasswordResponse createResetPasswordResponse() {
- return new ResetPasswordResponse();
+ public RetrieveResponse createRetrieveResponse() {
+ return new RetrieveResponse();
}
/**
- * Create an instance of {@link Login }
+ * Create an instance of {@link GetServerTimestampResponse }
*
*/
- public Login createLogin() {
- return new Login();
+ public GetServerTimestampResponse createGetServerTimestampResponse() {
+ return new GetServerTimestampResponse();
}
/**
- * Create an instance of {@link ResetPasswordResult }
+ * Create an instance of {@link DescribeLayoutSection }
*
*/
- public ResetPasswordResult createResetPasswordResult() {
- return new ResetPasswordResult();
+ public DescribeLayoutSection createDescribeLayoutSection() {
+ return new DescribeLayoutSection();
}
/**
- * Create an instance of {@link LoginResult }
+ * Create an instance of {@link ChildRelationship }
*
*/
- public LoginResult createLoginResult() {
- return new LoginResult();
+ public ChildRelationship createChildRelationship() {
+ return new ChildRelationship();
}
/**
- * Create an instance of {@link DescribeSObjectsResponse }
+ * Create an instance of {@link Field }
*
*/
- public DescribeSObjectsResponse createDescribeSObjectsResponse() {
- return new DescribeSObjectsResponse();
+ public Field createField() {
+ return new Field();
}
/**
- * Create an instance of {@link ConvertLead }
+ * Create an instance of {@link Email }
*
*/
- public ConvertLead createConvertLead() {
- return new ConvertLead();
+ public Email createEmail() {
+ return new Email();
}
/**
- * Create an instance of {@link DescribeSoftphoneLayoutCallType }
+ * Create an instance of {@link SendEmailError }
*
*/
- public DescribeSoftphoneLayoutCallType createDescribeSoftphoneLayoutCallType() {
- return new DescribeSoftphoneLayoutCallType();
+ public SendEmailError createSendEmailError() {
+ return new SendEmailError();
}
/**
- * Create an instance of {@link EmptyRecycleBinResponse }
+ * Create an instance of {@link DescribeTabs }
*
*/
- public EmptyRecycleBinResponse createEmptyRecycleBinResponse() {
- return new EmptyRecycleBinResponse();
+ public DescribeTabs createDescribeTabs() {
+ return new DescribeTabs();
}
/**
- * Create an instance of {@link GetDeletedResponse }
+ * Create an instance of {@link GetUpdatedResult }
*
*/
- public GetDeletedResponse createGetDeletedResponse() {
- return new GetDeletedResponse();
+ public GetUpdatedResult createGetUpdatedResult() {
+ return new GetUpdatedResult();
}
/**
- * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ * Create an instance of {@link UndeleteResult }
*
*/
- @XmlElementDecl(namespace = "urn:partner.soap.sforce.com", name = "contentType", scope = EmailFileAttachment.class)
- public JAXBElement<String> createEmailFileAttachmentContentType(String value) {
- return new JAXBElement<String>(_EmailFileAttachmentContentType_QNAME, String.class, EmailFileAttachment.class, value);
+ public UndeleteResult createUndeleteResult() {
+ return new UndeleteResult();
}
/**
- * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
- *
- */
- @XmlElementDecl(namespace = "urn:partner.soap.sforce.com", name = "body", scope = EmailFileAttachment.class)
- public JAXBElement<byte[]> createEmailFileAttachmentBody(byte[] value) {
- return new JAXBElement<byte[]>(_EmailFileAttachmentBody_QNAME, byte[].class, EmailFileAttachment.class, ((byte[]) value));
- }
-
- /**
* Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
*
*/
@@ -1146,4 +1128,22 @@
return new JAXBElement<String>(_SingleEmailMessageReferences_QNAME, String.class, SingleEmailMessage.class, value);
}
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:partner.soap.sforce.com", name = "contentType", scope = EmailFileAttachment.class)
+ public JAXBElement<String> createEmailFileAttachmentContentType(String value) {
+ return new JAXBElement<String>(_EmailFileAttachmentContentType_QNAME, String.class, EmailFileAttachment.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:partner.soap.sforce.com", name = "body", scope = EmailFileAttachment.class)
+ public JAXBElement<byte[]> createEmailFileAttachmentBody(byte[] value) {
+ return new JAXBElement<byte[]>(_EmailFileAttachmentBody_QNAME, byte[].class, EmailFileAttachment.class, ((byte[]) value));
+ }
+
}
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/PackageVersion.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/PackageVersion.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/PackageVersionHeader.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/PackageVersionHeader.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/PicklistEntry.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/PicklistEntry.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/PicklistForRecordType.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/PicklistForRecordType.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Process.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Process.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ProcessRequest.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ProcessRequest.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ProcessResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ProcessResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ProcessResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ProcessResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ProcessSubmitRequest.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ProcessSubmitRequest.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ProcessWorkitemRequest.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ProcessWorkitemRequest.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Query.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Query.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryAll.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryAll.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryAllResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryAllResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryMore.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryMore.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryMoreResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryMoreResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryOptions.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryOptions.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/QueryResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/RecordTypeInfo.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/RecordTypeInfo.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/RecordTypeMapping.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/RecordTypeMapping.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/RelatedList.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/RelatedList.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/RelatedListColumn.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/RelatedListColumn.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/RelatedListSort.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/RelatedListSort.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ResetPassword.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ResetPassword.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ResetPasswordResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ResetPasswordResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ResetPasswordResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/ResetPasswordResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Retrieve.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Retrieve.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/RetrieveResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/RetrieveResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SaveResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SaveResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Search.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Search.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SearchRecord.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SearchRecord.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SearchResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SearchResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SearchResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SearchResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SendEmail.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SendEmail.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SendEmailError.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SendEmailError.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SendEmailResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SendEmailResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SendEmailResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SendEmailResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SessionHeader.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SessionHeader.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SetPassword.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SetPassword.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SetPasswordResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SetPasswordResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SetPasswordResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SetPasswordResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SforceService.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SforceService.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SforceService.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SforceService.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SforceService.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -14,15 +14,15 @@
import javax.xml.ws.Service;
/**
- * This class was generated by Apache CXF 2.2.6
- * Thu Feb 11 15:37:57 EST 2010
- * Generated source version: 2.2.6
+ * This class was generated by Apache CXF 2.2.5
+ * Thu Apr 01 14:35:01 EDT 2010
+ * Generated source version: 2.2.5
*
*/
@WebServiceClient(name = "SforceService",
- wsdlLocation = "file:partner.wsdl",
+ wsdlLocation = "file:/NotBackedUp/jdoyle/tools/JBoss-WS.3.3.2/jbossws-cxf-bin-dist/deploy/bin/partner_17.wsdl",
targetNamespace = "urn:partner.soap.sforce.com")
public class SforceService extends Service {
@@ -32,9 +32,9 @@
static {
URL url = null;
try {
- url = new URL("file:partner.wsdl");
+ url = new URL("file:/NotBackedUp/jdoyle/tools/JBoss-WS.3.3.2/jbossws-cxf-bin-dist/deploy/bin/partner_17.wsdl");
} catch (MalformedURLException e) {
- System.err.println("Can not initialize the default wsdl from file:partner.wsdl");
+ System.err.println("Can not initialize the default wsdl from file:/NotBackedUp/jdoyle/tools/JBoss-WS.3.3.2/jbossws-cxf-bin-dist/deploy/bin/partner_17.wsdl");
// e.printStackTrace();
}
WSDL_LOCATION = url;
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SingleEmailMessage.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SingleEmailMessage.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Soap.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Soap.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Soap.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Soap.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Soap.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -9,14 +9,14 @@
import javax.xml.ws.ResponseWrapper;
/**
- * This class was generated by Apache CXF 2.2.6
- * Thu Feb 11 15:37:56 EST 2010
- * Generated source version: 2.2.6
+ * This class was generated by Apache CXF 2.2.5
+ * Thu Apr 01 14:35:01 EDT 2010
+ * Generated source version: 2.2.5
*
*/
@WebService(targetNamespace = "urn:partner.soap.sforce.com", name = "Soap")
-(a)XmlSeeAlso({com.sforce.soap.partner.fault.ObjectFactory.class,ObjectFactory.class,com.sforce.soap.partner.sobject.ObjectFactory.class})
+(a)XmlSeeAlso({ObjectFactory.class,com.sforce.soap.partner.fault.ObjectFactory.class,com.sforce.soap.partner.sobject.ObjectFactory.class})
public interface Soap {
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -27,23 +27,7 @@
@WebParam(name = "request", targetNamespace = "urn:partner.soap.sforce.com")
java.util.List<com.sforce.soap.partner.MergeRequest> request,
@WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "AssignmentRuleHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- AssignmentRuleHeader assignmentRuleHeader,
- @WebParam(name = "MruHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- MruHeader mruHeader,
- @WebParam(name = "AllowFieldTruncationHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- AllowFieldTruncationHeader allowFieldTruncationHeader,
- @WebParam(name = "DebuggingHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- DebuggingHeader debuggingHeader,
- @WebParam(name = "PackageVersionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- PackageVersionHeader packageVersionHeader,
- @WebParam(name = "EmailHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- EmailHeader emailHeader,
- @WebParam(mode = WebParam.Mode.OUT, name = "DebuggingInfo", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- javax.xml.ws.Holder<DebuggingInfo> debuggingInfo
+ SessionHeader sessionHeader
) throws InvalidFieldFault, InvalidSObjectFault, InvalidIdFault, UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -51,24 +35,15 @@
@ResponseWrapper(localName = "getUserInfoResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.GetUserInfoResponse")
@WebMethod
public com.sforce.soap.partner.GetUserInfoResult getUserInfo(
- @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions
- ) throws UnexpectedErrorFault;
+ @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
+ SessionHeader sessionHeader
+ ) throws UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@RequestWrapper(localName = "describeSoftphoneLayout", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeSoftphoneLayout")
@ResponseWrapper(localName = "describeSoftphoneLayoutResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeSoftphoneLayoutResponse")
@WebMethod
- public com.sforce.soap.partner.DescribeSoftphoneLayoutResult describeSoftphoneLayout(
- @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "PackageVersionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- PackageVersionHeader packageVersionHeader
- ) throws UnexpectedErrorFault;
+ public com.sforce.soap.partner.DescribeSoftphoneLayoutResult describeSoftphoneLayout() throws UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@RequestWrapper(localName = "update", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.Update")
@@ -78,23 +53,7 @@
@WebParam(name = "sObjects", targetNamespace = "urn:partner.soap.sforce.com")
java.util.List<com.sforce.soap.partner.sobject.SObject> sObjects,
@WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "AssignmentRuleHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- AssignmentRuleHeader assignmentRuleHeader,
- @WebParam(name = "MruHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- MruHeader mruHeader,
- @WebParam(name = "AllowFieldTruncationHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- AllowFieldTruncationHeader allowFieldTruncationHeader,
- @WebParam(name = "DebuggingHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- DebuggingHeader debuggingHeader,
- @WebParam(name = "PackageVersionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- PackageVersionHeader packageVersionHeader,
- @WebParam(name = "EmailHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- EmailHeader emailHeader,
- @WebParam(mode = WebParam.Mode.OUT, name = "DebuggingInfo", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- javax.xml.ws.Holder<DebuggingInfo> debuggingInfo
+ SessionHeader sessionHeader
) throws InvalidFieldFault, InvalidSObjectFault, InvalidIdFault, UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -105,22 +64,15 @@
@WebParam(name = "userId", targetNamespace = "urn:partner.soap.sforce.com")
java.lang.String userId,
@WebParam(name = "password", targetNamespace = "urn:partner.soap.sforce.com")
- java.lang.String password,
- @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions
+ java.lang.String password
) throws InvalidNewPasswordFault, InvalidIdFault, UnexpectedErrorFault;
@RequestWrapper(localName = "logout", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.Logout")
@ResponseWrapper(localName = "logoutResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.LogoutResponse")
@WebMethod
public void logout(
- @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions
- ) throws UnexpectedErrorFault;
+ @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
+ SessionHeader sessionHeader) throws UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@RequestWrapper(localName = "retrieve", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.Retrieve")
@@ -134,15 +86,7 @@
@WebParam(name = "ids", targetNamespace = "urn:partner.soap.sforce.com")
java.util.List<java.lang.String> ids,
@WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "QueryOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- QueryOptions queryOptions,
- @WebParam(name = "MruHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- MruHeader mruHeader,
- @WebParam(name = "PackageVersionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- PackageVersionHeader packageVersionHeader
+ SessionHeader sessionHeader
) throws InvalidFieldFault, MalformedQueryFault, InvalidSObjectFault, InvalidIdFault, UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -153,11 +97,7 @@
@WebParam(name = "queryString", targetNamespace = "urn:partner.soap.sforce.com")
java.lang.String queryString,
@WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "QueryOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- QueryOptions queryOptions
+ SessionHeader sessionHeader
) throws InvalidFieldFault, MalformedQueryFault, InvalidSObjectFault, InvalidIdFault, UnexpectedErrorFault, InvalidQueryLocatorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -172,9 +112,7 @@
@WebParam(name = "endDate", targetNamespace = "urn:partner.soap.sforce.com")
javax.xml.datatype.XMLGregorianCalendar endDate,
@WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions
+ SessionHeader sessionHeader
) throws InvalidSObjectFault, UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -183,19 +121,7 @@
@WebMethod
public java.util.List<com.sforce.soap.partner.UndeleteResult> undelete(
@WebParam(name = "ids", targetNamespace = "urn:partner.soap.sforce.com")
- java.util.List<java.lang.String> ids,
- @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "AllowFieldTruncationHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- AllowFieldTruncationHeader allowFieldTruncationHeader,
- @WebParam(name = "DebuggingHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- DebuggingHeader debuggingHeader,
- @WebParam(name = "PackageVersionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- PackageVersionHeader packageVersionHeader,
- @WebParam(mode = WebParam.Mode.OUT, name = "DebuggingInfo", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- javax.xml.ws.Holder<DebuggingInfo> debuggingInfo
+ java.util.List<java.lang.String> ids
) throws UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -206,23 +132,7 @@
@WebParam(name = "sObjects", targetNamespace = "urn:partner.soap.sforce.com")
java.util.List<com.sforce.soap.partner.sobject.SObject> sObjects,
@WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "AssignmentRuleHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- AssignmentRuleHeader assignmentRuleHeader,
- @WebParam(name = "MruHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- MruHeader mruHeader,
- @WebParam(name = "AllowFieldTruncationHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- AllowFieldTruncationHeader allowFieldTruncationHeader,
- @WebParam(name = "DebuggingHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- DebuggingHeader debuggingHeader,
- @WebParam(name = "PackageVersionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- PackageVersionHeader packageVersionHeader,
- @WebParam(name = "EmailHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- EmailHeader emailHeader,
- @WebParam(mode = WebParam.Mode.OUT, name = "DebuggingInfo", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- javax.xml.ws.Holder<DebuggingInfo> debuggingInfo
+ SessionHeader sessionHeader
) throws InvalidFieldFault, InvalidSObjectFault, InvalidIdFault, UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -231,11 +141,7 @@
@WebMethod
public java.util.List<com.sforce.soap.partner.SendEmailResult> sendEmail(
@WebParam(name = "messages", targetNamespace = "urn:partner.soap.sforce.com")
- java.util.List<com.sforce.soap.partner.Email> messages,
- @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions
+ java.util.List<com.sforce.soap.partner.Email> messages
) throws UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -244,13 +150,7 @@
@WebMethod
public com.sforce.soap.partner.SearchResult search(
@WebParam(name = "searchString", targetNamespace = "urn:partner.soap.sforce.com")
- java.lang.String searchString,
- @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "PackageVersionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- PackageVersionHeader packageVersionHeader
+ java.lang.String searchString
) throws InvalidFieldFault, InvalidSObjectFault, UnexpectedErrorFault, MalformedSearchFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -261,15 +161,7 @@
@WebParam(name = "queryString", targetNamespace = "urn:partner.soap.sforce.com")
java.lang.String queryString,
@WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "QueryOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- QueryOptions queryOptions,
- @WebParam(name = "MruHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- MruHeader mruHeader,
- @WebParam(name = "PackageVersionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- PackageVersionHeader packageVersionHeader
+ SessionHeader sessionHeader
) throws InvalidFieldFault, MalformedQueryFault, InvalidSObjectFault, InvalidIdFault, UnexpectedErrorFault, InvalidQueryLocatorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -284,9 +176,7 @@
@WebParam(name = "endDate", targetNamespace = "urn:partner.soap.sforce.com")
javax.xml.datatype.XMLGregorianCalendar endDate,
@WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions
+ SessionHeader sessionHeader
) throws InvalidSObjectFault, UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -295,19 +185,7 @@
@WebMethod
public java.util.List<com.sforce.soap.partner.ProcessResult> process(
@WebParam(name = "actions", targetNamespace = "urn:partner.soap.sforce.com")
- java.util.List<com.sforce.soap.partner.ProcessRequest> actions,
- @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "AllowFieldTruncationHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- AllowFieldTruncationHeader allowFieldTruncationHeader,
- @WebParam(name = "DebuggingHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- DebuggingHeader debuggingHeader,
- @WebParam(name = "PackageVersionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- PackageVersionHeader packageVersionHeader,
- @WebParam(mode = WebParam.Mode.OUT, name = "DebuggingInfo", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- javax.xml.ws.Holder<DebuggingInfo> debuggingInfo
+ java.util.List<com.sforce.soap.partner.ProcessRequest> actions
) throws InvalidIdFault, UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -316,13 +194,7 @@
@WebMethod
public com.sforce.soap.partner.ResetPasswordResult resetPassword(
@WebParam(name = "userId", targetNamespace = "urn:partner.soap.sforce.com")
- java.lang.String userId,
- @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "EmailHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- EmailHeader emailHeader
+ java.lang.String userId
) throws InvalidIdFault, UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -330,54 +202,35 @@
@ResponseWrapper(localName = "describeGlobalResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeGlobalResponse")
@WebMethod
public com.sforce.soap.partner.DescribeGlobalResult describeGlobal(
- @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "PackageVersionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- PackageVersionHeader packageVersionHeader
- ) throws UnexpectedErrorFault;
+ @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
+ SessionHeader sessionHeader
+ ) throws UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
- @RequestWrapper(localName = "describeLayout", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeLayout")
+ @RequestWrapper(localName = "describeLayout", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.MydescribeLayout")
@ResponseWrapper(localName = "describeLayoutResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeLayoutResponse")
@WebMethod
public com.sforce.soap.partner.DescribeLayoutResult describeLayout(
@WebParam(name = "sObjectType", targetNamespace = "urn:partner.soap.sforce.com")
java.lang.String sObjectType,
@WebParam(name = "recordTypeIds", targetNamespace = "urn:partner.soap.sforce.com")
- java.util.List<java.lang.String> recordTypeIds,
- @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "PackageVersionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- PackageVersionHeader packageVersionHeader
+ java.util.List<java.lang.String> recordTypeIds
) throws InvalidSObjectFault, InvalidIdFault, UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@RequestWrapper(localName = "describeTabs", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeTabs")
@ResponseWrapper(localName = "describeTabsResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.DescribeTabsResponse")
@WebMethod
- public java.util.List<com.sforce.soap.partner.DescribeTabSetResult> describeTabs(
- @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "PackageVersionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- PackageVersionHeader packageVersionHeader
- ) throws UnexpectedErrorFault;
+ public java.util.List<com.sforce.soap.partner.DescribeTabSetResult> describeTabs() throws UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@RequestWrapper(localName = "getServerTimestamp", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.GetServerTimestamp")
@ResponseWrapper(localName = "getServerTimestampResponse", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.GetServerTimestampResponse")
@WebMethod
public com.sforce.soap.partner.GetServerTimestampResult getServerTimestamp(
- @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions
- ) throws UnexpectedErrorFault;
+ @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
+ SessionHeader sessionHeader
+ ) throws UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@RequestWrapper(localName = "invalidateSessions", targetNamespace = "urn:partner.soap.sforce.com", className = "com.sforce.soap.partner.InvalidateSessions")
@@ -385,11 +238,7 @@
@WebMethod
public java.util.List<com.sforce.soap.partner.InvalidateSessionsResult> invalidateSessions(
@WebParam(name = "sessionIds", targetNamespace = "urn:partner.soap.sforce.com")
- java.util.List<java.lang.String> sessionIds,
- @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions
+ java.util.List<java.lang.String> sessionIds
) throws UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -400,13 +249,7 @@
@WebParam(name = "sObjectType", targetNamespace = "urn:partner.soap.sforce.com")
java.lang.String sObjectType,
@WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "PackageVersionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- PackageVersionHeader packageVersionHeader,
- @WebParam(name = "LocaleOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- LocaleOptions localeOptions
+ SessionHeader sessionHeader
) throws InvalidSObjectFault, UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -417,11 +260,7 @@
@WebParam(name = "username", targetNamespace = "urn:partner.soap.sforce.com")
java.lang.String username,
@WebParam(name = "password", targetNamespace = "urn:partner.soap.sforce.com")
- java.lang.String password,
- @WebParam(name = "LoginScopeHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- LoginScopeHeader loginScopeHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions
+ java.lang.String password
) throws LoginFault, InvalidIdFault, UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -432,11 +271,7 @@
@WebParam(name = "queryLocator", targetNamespace = "urn:partner.soap.sforce.com")
java.lang.String queryLocator,
@WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "QueryOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- QueryOptions queryOptions
+ SessionHeader sessionHeader
) throws InvalidFieldFault, UnexpectedErrorFault, InvalidQueryLocatorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -447,13 +282,7 @@
@WebParam(name = "sObjectType", targetNamespace = "urn:partner.soap.sforce.com")
java.util.List<java.lang.String> sObjectType,
@WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "PackageVersionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- PackageVersionHeader packageVersionHeader,
- @WebParam(name = "LocaleOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- LocaleOptions localeOptions
+ SessionHeader sessionHeader
) throws InvalidSObjectFault, UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -462,11 +291,7 @@
@WebMethod
public java.util.List<com.sforce.soap.partner.EmptyRecycleBinResult> emptyRecycleBin(
@WebParam(name = "ids", targetNamespace = "urn:partner.soap.sforce.com")
- java.util.List<java.lang.String> ids,
- @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions
+ java.util.List<java.lang.String> ids
) throws UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -479,23 +304,7 @@
@WebParam(name = "sObjects", targetNamespace = "urn:partner.soap.sforce.com")
java.util.List<com.sforce.soap.partner.sobject.SObject> sObjects,
@WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "AssignmentRuleHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- AssignmentRuleHeader assignmentRuleHeader,
- @WebParam(name = "MruHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- MruHeader mruHeader,
- @WebParam(name = "AllowFieldTruncationHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- AllowFieldTruncationHeader allowFieldTruncationHeader,
- @WebParam(name = "DebuggingHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- DebuggingHeader debuggingHeader,
- @WebParam(name = "PackageVersionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- PackageVersionHeader packageVersionHeader,
- @WebParam(name = "EmailHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- EmailHeader emailHeader,
- @WebParam(mode = WebParam.Mode.OUT, name = "DebuggingInfo", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- javax.xml.ws.Holder<DebuggingInfo> debuggingInfo
+ SessionHeader sessionHeader
) throws InvalidFieldFault, InvalidSObjectFault, InvalidIdFault, UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -504,19 +313,7 @@
@WebMethod
public java.util.List<com.sforce.soap.partner.LeadConvertResult> convertLead(
@WebParam(name = "leadConverts", targetNamespace = "urn:partner.soap.sforce.com")
- java.util.List<com.sforce.soap.partner.LeadConvert> leadConverts,
- @WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "AllowFieldTruncationHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- AllowFieldTruncationHeader allowFieldTruncationHeader,
- @WebParam(name = "DebuggingHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- DebuggingHeader debuggingHeader,
- @WebParam(name = "PackageVersionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- PackageVersionHeader packageVersionHeader,
- @WebParam(mode = WebParam.Mode.OUT, name = "DebuggingInfo", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- javax.xml.ws.Holder<DebuggingInfo> debuggingInfo
+ java.util.List<com.sforce.soap.partner.LeadConvert> leadConverts
) throws UnexpectedErrorFault;
@WebResult(name = "result", targetNamespace = "urn:partner.soap.sforce.com")
@@ -527,20 +324,6 @@
@WebParam(name = "ids", targetNamespace = "urn:partner.soap.sforce.com")
java.util.List<java.lang.String> ids,
@WebParam(name = "SessionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- SessionHeader sessionHeader,
- @WebParam(name = "CallOptions", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- CallOptions callOptions,
- @WebParam(name = "PackageVersionHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- PackageVersionHeader packageVersionHeader,
- @WebParam(name = "UserTerritoryDeleteHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- UserTerritoryDeleteHeader userTerritoryDeleteHeader,
- @WebParam(name = "EmailHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- EmailHeader emailHeader,
- @WebParam(name = "AllowFieldTruncationHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- AllowFieldTruncationHeader allowFieldTruncationHeader,
- @WebParam(name = "DebuggingHeader", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- DebuggingHeader debuggingHeader,
- @WebParam(mode = WebParam.Mode.OUT, name = "DebuggingInfo", targetNamespace = "urn:partner.soap.sforce.com", header = true)
- javax.xml.ws.Holder<DebuggingInfo> debuggingInfo
+ SessionHeader sessionHeader
) throws UnexpectedErrorFault;
}
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SoapType.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/SoapType.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/StatusCode.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/StatusCode.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Undelete.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Undelete.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UndeleteResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UndeleteResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UndeleteResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UndeleteResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UnexpectedErrorFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UnexpectedErrorFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UnexpectedErrorFault.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UnexpectedErrorFault.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UnexpectedErrorFault.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -5,15 +5,15 @@
/**
- * This class was generated by Apache CXF 2.2.6
- * Thu Feb 11 15:37:56 EST 2010
- * Generated source version: 2.2.6
+ * This class was generated by Apache CXF 2.2.5
+ * Thu Apr 01 14:35:01 EDT 2010
+ * Generated source version: 2.2.5
*
*/
@WebFault(name = "UnexpectedErrorFault", targetNamespace = "urn:fault.partner.soap.sforce.com")
public class UnexpectedErrorFault extends Exception {
- public static final long serialVersionUID = 20100211153756L;
+ public static final long serialVersionUID = 20100401143501L;
private com.sforce.soap.partner.fault.UnexpectedErrorFault unexpectedErrorFault;
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Update.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Update.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UpdateResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UpdateResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Upsert.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/Upsert.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UpsertResponse.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UpsertResponse.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UpsertResult.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UpsertResult.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UserTerritoryDeleteHeader.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/UserTerritoryDeleteHeader.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ApiFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ApiFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ApiQueryFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ApiQueryFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ExceptionCode.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ExceptionCode.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/InvalidFieldFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/InvalidFieldFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/InvalidIdFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/InvalidIdFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/InvalidNewPasswordFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/InvalidNewPasswordFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/InvalidQueryLocatorFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/InvalidQueryLocatorFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/InvalidSObjectFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/InvalidSObjectFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/LoginFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/LoginFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/MalformedQueryFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/MalformedQueryFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/MalformedSearchFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/MalformedSearchFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ObjectFactory.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ObjectFactory.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ObjectFactory.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ObjectFactory.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/ObjectFactory.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -43,11 +43,11 @@
}
/**
- * Create an instance of {@link ApiQueryFault }
+ * Create an instance of {@link ApiFault }
*
*/
- public ApiQueryFault createApiQueryFault() {
- return new ApiQueryFault();
+ public ApiFault createApiFault() {
+ return new ApiFault();
}
/**
@@ -59,19 +59,19 @@
}
/**
- * Create an instance of {@link InvalidQueryLocatorFault }
+ * Create an instance of {@link InvalidIdFault }
*
*/
- public InvalidQueryLocatorFault createInvalidQueryLocatorFault() {
- return new InvalidQueryLocatorFault();
+ public InvalidIdFault createInvalidIdFault() {
+ return new InvalidIdFault();
}
/**
- * Create an instance of {@link InvalidNewPasswordFault }
+ * Create an instance of {@link MalformedQueryFault }
*
*/
- public InvalidNewPasswordFault createInvalidNewPasswordFault() {
- return new InvalidNewPasswordFault();
+ public MalformedQueryFault createMalformedQueryFault() {
+ return new MalformedQueryFault();
}
/**
@@ -83,51 +83,51 @@
}
/**
- * Create an instance of {@link InvalidIdFault }
+ * Create an instance of {@link InvalidFieldFault }
*
*/
- public InvalidIdFault createInvalidIdFault() {
- return new InvalidIdFault();
+ public InvalidFieldFault createInvalidFieldFault() {
+ return new InvalidFieldFault();
}
/**
- * Create an instance of {@link ApiFault }
+ * Create an instance of {@link UnexpectedErrorFault }
*
*/
- public ApiFault createApiFault() {
- return new ApiFault();
+ public UnexpectedErrorFault createUnexpectedErrorFault() {
+ return new UnexpectedErrorFault();
}
/**
- * Create an instance of {@link MalformedQueryFault }
+ * Create an instance of {@link InvalidQueryLocatorFault }
*
*/
- public MalformedQueryFault createMalformedQueryFault() {
- return new MalformedQueryFault();
+ public InvalidQueryLocatorFault createInvalidQueryLocatorFault() {
+ return new InvalidQueryLocatorFault();
}
/**
- * Create an instance of {@link UnexpectedErrorFault }
+ * Create an instance of {@link ApiQueryFault }
*
*/
- public UnexpectedErrorFault createUnexpectedErrorFault() {
- return new UnexpectedErrorFault();
+ public ApiQueryFault createApiQueryFault() {
+ return new ApiQueryFault();
}
/**
- * Create an instance of {@link InvalidFieldFault }
+ * Create an instance of {@link LoginFault }
*
*/
- public InvalidFieldFault createInvalidFieldFault() {
- return new InvalidFieldFault();
+ public LoginFault createLoginFault() {
+ return new LoginFault();
}
/**
- * Create an instance of {@link LoginFault }
+ * Create an instance of {@link InvalidNewPasswordFault }
*
*/
- public LoginFault createLoginFault() {
- return new LoginFault();
+ public InvalidNewPasswordFault createInvalidNewPasswordFault() {
+ return new InvalidNewPasswordFault();
}
/**
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/UnexpectedErrorFault.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/UnexpectedErrorFault.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/package-info.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/fault/package-info.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/package-info.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/package-info.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/sobject/ObjectFactory.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/sobject/ObjectFactory.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/sobject/SObject.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/sobject/SObject.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/sobject/SObject.java
===================================================================
--- trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/sobject/SObject.java 2010-04-06 16:27:54 UTC (rev 2027)
+++ trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/sobject/SObject.java 2010-04-06 19:57:18 UTC (rev 2028)
@@ -146,8 +146,8 @@
*
* <p>
* Objects of the following type(s) are allowed in the list
+ * {@link Element }
* {@link Object }
- * {@link Element }
*
*
*/
Added: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/sobject/package-info.class
===================================================================
(Binary files differ)
Property changes on: trunk/connectors/salesforce-api/src/main/java/com/sforce/soap/partner/sobject/package-info.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
14 years, 8 months
teiid SVN: r2027 - trunk/adminshell/src/main/resources/scripts.
by teiid-commits@lists.jboss.org
Author: rareddy
Date: 2010-04-06 12:27:54 -0400 (Tue, 06 Apr 2010)
New Revision: 2027
Modified:
trunk/adminshell/src/main/resources/scripts/jdbc.bsh
trunk/adminshell/src/main/resources/scripts/server.bsh
Log:
TEIID-1025: added the java doc for the showPlan and some other methods that are missing javadoc too
Modified: trunk/adminshell/src/main/resources/scripts/jdbc.bsh
===================================================================
--- trunk/adminshell/src/main/resources/scripts/jdbc.bsh 2010-04-06 15:41:40 UTC (rev 2026)
+++ trunk/adminshell/src/main/resources/scripts/jdbc.bsh 2010-04-06 16:27:54 UTC (rev 2027)
@@ -12,6 +12,7 @@
import java.sql.*;
import org.teiid.script.io.*;
import org.teiid.jdbc.*;
+import org.teiid.client.plan.*;
protected Connection getConnection() {
if (currentContext().internalConnection != void && currentContext().internalConnection != null) {
@@ -241,40 +242,61 @@
}
}
-
+/**
+ * Prints the previously executed query results to console
+ */
void printResults() throws SQLException {
printResults(currentContext().internalResultSet);
}
+/**
+ * Prints supplied result set's results to the console
+ */
void printResults(ResultSet results) throws SQLException {
printResults(results, false);
}
+/**
+ * Prints the previously executed query results to console in format
+ * that can be used to later in re-gression testing
+ */
void printResults(boolean comparePrint) throws SQLException {
printResults(currentContext().internalResultSet, comparePrint);
}
+/**
+ * Prints the previously executed query results to file in format
+ * that can be used to later in re-gression testing
+ */
void printResults(File fileName) throws SQLException {
printResults(currentContext().internalResultSet, fileName);
}
+/**
+ * Show the query plan for previously executed SQL.
+ * @param xml when 'true' query plan displayed as XML; 'false' query plan displayed as simple text.
+ */
void showPlan(boolean xml) {
if (currentContext().internalStatement == void || currentContext().internalStatement == null) {
print("Statement is null - execute then issue showPlan");
return;
}
- PlanNode queryPlan = ((ResultSetImpl)currentContext().internalStatement).getPlanDescription();
+ PlanNode queryPlan = ((StatementImpl)currentContext().internalStatement).getPlanDescription();
if (queryPlan != null) {
if (xml != null && xml) {
print(XMLOutputVisitor.convertToXML(queryPlan));
} else {
- print(TextOutputVisitor.convertToText(queryPlan));
+ print(TextOutputVisitor.convertToText(queryPlan, 1));
}
} else {
print("No plan provided - add OPTION SHOWPLAN");
}
}
+/**
+ * Simply walks results; but does not print to console. This could be used in situations where
+ * user wants to avoid the time taken to print results to console.
+ */
void walkResults() {
rs = currentContext().internalResultSet;
int columnCount = rs.getMetaData().getColumnCount();
@@ -324,6 +346,10 @@
print("Wrote "+reader.getRowCount()+" rows to File="+resultsFile.getName()+"\n");
}
+/**
+ * Assert that previously executed query has given number of rows
+ * @param expected - Number of rows expecting.
+ */
void assertRowCount(int expected) {
int count = getRowCount();
assertEquals(expected, count);
@@ -370,7 +396,11 @@
}
}
-
+/**
+ * Assert that previously executed query's result matches to that of the results in the
+ * supplied file
+ * @param expected - Expected results file
+ */
void assertResultsSetEquals(File expected) {
ResultSet actual = currentContext().internalResultSet;
if(actual == void || actual == null) {
@@ -388,6 +418,11 @@
}
}
+/**
+ * Assert that previously executed query's result matches to that of the results in the
+ * supplied string
+ * @param expected - Expected results string
+ */
void assertResultsSetEquals(String expected) {
ResultSet actual = currentContext().internalResultSet;
if(actual == void || actual == null) {
@@ -405,10 +440,20 @@
}
}
+/**
+ * Assert that previously executed query's result matches to that of the results in the
+ * supplied string array
+ * @param expected - Expected results string array
+ */
void assertResults(String[] expected) {
assertResultsSetEquals(expected);
}
+/**
+ * Assert that previously executed query's result matches to that of the results in the
+ * supplied string array
+ * @param expected - Expected results string array
+ */
void assertResultsSetEquals(String[] expected) {
ResultSet actual = currentContext().internalResultSet;
if(actual == void || actual == null) {
Modified: trunk/adminshell/src/main/resources/scripts/server.bsh
===================================================================
--- trunk/adminshell/src/main/resources/scripts/server.bsh 2010-04-06 15:41:40 UTC (rev 2026)
+++ trunk/adminshell/src/main/resources/scripts/server.bsh 2010-04-06 16:27:54 UTC (rev 2027)
@@ -69,6 +69,10 @@
throw new Exception("No Connection exists; or it is not a named connection");
}
+/**
+ * If you have multiple active connections; switch between those connections using this
+ * see "currentConnectionName" to get current in scope connection name.
+ */
void useConnection(name) {
useContext(name);
}
@@ -102,6 +106,9 @@
connectAsAdmin(auto_admin_user, auto_admin_password, auto_admin_url);
}
+/**
+ * Close Admin connection
+ */
void closeAdmin() {
try {
if (internalAdmin != void && internalAdmin != null) {
@@ -187,6 +194,9 @@
return connection_prefix+"-"+connCount;
}
+/**
+ * exit the tool
+ */
exit(){
for (This ctx:allContexts()) {
gotoContext(ctx);
14 years, 8 months
teiid SVN: r2026 - in trunk: build/assembly/adminshell and 1 other directory.
by teiid-commits@lists.jboss.org
Author: rareddy
Date: 2010-04-06 11:41:40 -0400 (Tue, 06 Apr 2010)
New Revision: 2026
Removed:
trunk/build/assembly/adminshell/adminshell-dependencies.xml
Modified:
trunk/build/assembly/adminshell/adminshell-dist.xml
trunk/pom.xml
Log:
TEIID-1036: making the scripts executable and simplifying the deployment file.
Deleted: trunk/build/assembly/adminshell/adminshell-dependencies.xml
===================================================================
--- trunk/build/assembly/adminshell/adminshell-dependencies.xml 2010-04-05 21:54:25 UTC (rev 2025)
+++ trunk/build/assembly/adminshell/adminshell-dependencies.xml 2010-04-06 15:41:40 UTC (rev 2026)
@@ -1,39 +0,0 @@
-<!--This script builds a JAR for the CDK -->
-<assembly>
-
- <id>adminshell-dependencies</id>
-
- <formats>
- <format>dir</format>
- </formats>
-
- <includeBaseDirectory>false</includeBaseDirectory>
- <baseDirectory>teiid-adminshell</baseDirectory>
-
- <moduleSets>
- <moduleSet>
- <includeSubModules>true</includeSubModules>
-
- <includes>
- <include>org.jboss.teiid:teiid-adminshell</include>
- </includes>
-
- <binaries>
- <includeDependencies>true</includeDependencies>
- <unpack>false</unpack>
-
- <dependencySets>
- <dependencySet>
- <useProjectArtifact>true</useProjectArtifact>
- <unpack>false</unpack>
- <useTransitiveDependencies>true</useTransitiveDependencies>
- <useDefaultExcludes>true</useDefaultExcludes>
- </dependencySet>
- </dependencySets>
-
- </binaries>
-
- </moduleSet>
- </moduleSets>
-
-</assembly>
\ No newline at end of file
Modified: trunk/build/assembly/adminshell/adminshell-dist.xml
===================================================================
--- trunk/build/assembly/adminshell/adminshell-dist.xml 2010-04-05 21:54:25 UTC (rev 2025)
+++ trunk/build/assembly/adminshell/adminshell-dist.xml 2010-04-06 15:41:40 UTC (rev 2026)
@@ -10,23 +10,49 @@
<includeBaseDirectory>true</includeBaseDirectory>
<baseDirectory>teiid-adminshell-${version}</baseDirectory>
-
+ <moduleSets>
+ <moduleSet>
+ <includeSubModules>true</includeSubModules>
+
+ <includes>
+ <include>org.jboss.teiid:teiid-adminshell</include>
+ </includes>
+
+ <binaries>
+ <includeDependencies>true</includeDependencies>
+ <unpack>false</unpack>
+
+ <dependencySets>
+ <dependencySet>
+ <useProjectArtifact>true</useProjectArtifact>
+ <unpack>false</unpack>
+ <useTransitiveDependencies>true</useTransitiveDependencies>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ </dependencySet>
+ </dependencySets>
+ <outputDirectory>lib</outputDirectory>
+ </binaries>
+
+ </moduleSet>
+ </moduleSets>
+
<fileSets>
-
- <fileSet>
- <directory>target/distribution/teiid-${version}-adminshell-dependencies.dir</directory>
- <includes>
- <include>*.jar</include>
- </includes>
- <outputDirectory>lib</outputDirectory>
- </fileSet>
<fileSet>
<directory>build/kit-adminshell</directory>
<outputDirectory>/</outputDirectory>
+ <includes>
+ <include>**/*.sh</include>
+ </includes>
+ <fileMode>755</fileMode>
+ </fileSet>
+
+ <fileSet>
+ <directory>build/kit-adminshell</directory>
+ <outputDirectory>/</outputDirectory>
<excludes>
- <exclude>**/*.foo</exclude>
- </excludes>
+ <exclude>**/*.sh</exclude>
+ </excludes>
</fileSet>
<fileSet>
@@ -38,7 +64,5 @@
</fileSet>
</fileSets>
-
-
</assembly>
\ No newline at end of file
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-04-05 21:54:25 UTC (rev 2025)
+++ trunk/pom.xml 2010-04-06 15:41:40 UTC (rev 2026)
@@ -82,7 +82,6 @@
<descriptor>build/assembly/src.xml</descriptor>
<descriptor>build/assembly/client-jar.xml</descriptor>
<descriptor>build/assembly/jboss-container/dist.xml</descriptor>
- <descriptor>build/assembly/adminshell/adminshell-dependencies.xml</descriptor>
<descriptor>build/assembly/adminshell/adminshell-dist.xml</descriptor>
<descriptor>documentation/assembly/docs.xml</descriptor>
</descriptors>
14 years, 8 months
teiid SVN: r2025 - trunk/client/src/main/java/org/teiid/adminapi/impl.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2010-04-05 17:54:25 -0400 (Mon, 05 Apr 2010)
New Revision: 2025
Modified:
trunk/client/src/main/java/org/teiid/adminapi/impl/SessionMetadata.java
Log:
TEIID-833 ping time should default to session creation time.
Modified: trunk/client/src/main/java/org/teiid/adminapi/impl/SessionMetadata.java
===================================================================
--- trunk/client/src/main/java/org/teiid/adminapi/impl/SessionMetadata.java 2010-04-05 20:53:25 UTC (rev 2024)
+++ trunk/client/src/main/java/org/teiid/adminapi/impl/SessionMetadata.java 2010-04-05 21:54:25 UTC (rev 2025)
@@ -41,7 +41,7 @@
private static final long serialVersionUID = 918638989081830034L;
private String applicationName;
- private long lastPingTime;
+ private long lastPingTime = System.currentTimeMillis();
private long createdTime;
private String ipAddress;
private String clientHostName;
14 years, 8 months
teiid SVN: r2024 - in trunk/client/src: main/java/org/teiid/adminapi/impl and 2 other directories.
by teiid-commits@lists.jboss.org
Author: rareddy
Date: 2010-04-05 16:53:25 -0400 (Mon, 05 Apr 2010)
New Revision: 2024
Modified:
trunk/client/src/main/java/org/teiid/adminapi/Model.java
trunk/client/src/main/java/org/teiid/adminapi/impl/ModelMetaData.java
trunk/client/src/main/resources/vdb-deployer.xsd
trunk/client/src/test/java/org/teiid/adminapi/impl/TestVDBMetaData.java
Log:
TEIID-998: Adding "description" field to "Model" element for use by the tooling.
Modified: trunk/client/src/main/java/org/teiid/adminapi/Model.java
===================================================================
--- trunk/client/src/main/java/org/teiid/adminapi/Model.java 2010-04-05 19:52:52 UTC (rev 2023)
+++ trunk/client/src/main/java/org/teiid/adminapi/Model.java 2010-04-05 20:53:25 UTC (rev 2024)
@@ -34,6 +34,12 @@
enum Type {PHYSICAL, VIRTUAL, FUNCTION};
+ /**
+ * Description about the model
+ * @return
+ */
+ String getDescription();
+
/**
* Determine if this model is a Source model.
*
Modified: trunk/client/src/main/java/org/teiid/adminapi/impl/ModelMetaData.java
===================================================================
--- trunk/client/src/main/java/org/teiid/adminapi/impl/ModelMetaData.java 2010-04-05 19:52:52 UTC (rev 2023)
+++ trunk/client/src/main/java/org/teiid/adminapi/impl/ModelMetaData.java 2010-04-05 20:53:25 UTC (rev 2024)
@@ -44,6 +44,7 @@
@XmlAccessorType(XmlAccessType.NONE)
@XmlType(name = "", propOrder = {
+ "description",
"JAXBProperties",
"sources",
"errors"
@@ -65,6 +66,9 @@
@XmlAttribute(name = "type")
protected String modelType = Type.PHYSICAL.name();
+ @XmlElement(name = "description")
+ protected String description;
+
@XmlAttribute(name = "path")
protected String path;
@@ -84,6 +88,16 @@
public void setName(String name) {
super.setName(name);
}
+
+ @Override
+ @ManagementProperty(description = "Model description")
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
@Override
@ManagementProperty(description = "Is Model Source model")
Modified: trunk/client/src/main/resources/vdb-deployer.xsd
===================================================================
--- trunk/client/src/main/resources/vdb-deployer.xsd 2010-04-05 19:52:52 UTC (rev 2023)
+++ trunk/client/src/main/resources/vdb-deployer.xsd 2010-04-05 20:53:25 UTC (rev 2024)
@@ -11,6 +11,7 @@
<xs:element name="model" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
+ <xs:element name="description" type="xs:string" minOccurs="0"/>
<xs:element name="property" type="property" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="source" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
Modified: trunk/client/src/test/java/org/teiid/adminapi/impl/TestVDBMetaData.java
===================================================================
--- trunk/client/src/test/java/org/teiid/adminapi/impl/TestVDBMetaData.java 2010-04-05 19:52:52 UTC (rev 2023)
+++ trunk/client/src/test/java/org/teiid/adminapi/impl/TestVDBMetaData.java 2010-04-05 20:53:25 UTC (rev 2024)
@@ -60,6 +60,7 @@
modelOne.addProperty("model-prop", "model-value-override"); //$NON-NLS-1$ //$NON-NLS-2$
modelOne.setVisible(false);
modelOne.addError("ERROR", "There is an error in VDB"); //$NON-NLS-1$ //$NON-NLS-2$
+ modelOne.setDescription("model description");
vdb.addModel(modelOne);
@@ -124,7 +125,7 @@
assertEquals(Model.Type.PHYSICAL, modelOne.getModelType());
assertEquals("model-value-override", modelOne.getPropertyValue("model-prop")); //$NON-NLS-1$ //$NON-NLS-2$
assertFalse(modelOne.isVisible());
-
+ assertEquals("model description", modelOne.getDescription());
modelTwo = vdb.getModel("model-two"); //$NON-NLS-1$
assertEquals("model-two", modelTwo.getName()); //$NON-NLS-1$
14 years, 8 months