teiid SVN: r4340 - trunk/jboss-integration/src/main/resources/org/teiid/jboss.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-08-17 15:33:33 -0400 (Fri, 17 Aug 2012)
New Revision: 4340
Modified:
trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties
Log:
TEIID-2151 clarifying the exception
Modified: trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties
===================================================================
--- trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties 2012-08-17 19:07:44 UTC (rev 4339)
+++ trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties 2012-08-17 19:33:33 UTC (rev 4340)
@@ -67,7 +67,7 @@
TEIID50075=No "path" information found to load the FUNCTION model {0}; FUNCTION model must have path information.
TEIID50076=For {0}.{1} VDB, recursive delegation {2} found.
TEIID50077=The translator type "{0}" was not found in configuration; VDB {1}.{2} will not be started until translator is available.
-TEIID50090=No context associated. Morely than like either pass-through authentication should not be used or there are no security domains defined on the embedded transport.
+TEIID50090=No context associated. More than likely either pass-through authentication should not be used or there are no security domains defined on the embedded transport.
wrong_vdb= Wrong VDB name and/or version supplied, or VDB is not active, or not available.
# subsystem description
12 years, 5 months
teiid SVN: r4339 - in trunk/jboss-integration/src/main: resources/org/teiid/jboss and 1 other directory.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-08-17 15:07:44 -0400 (Fri, 17 Aug 2012)
New Revision: 4339
Modified:
trunk/jboss-integration/src/main/java/org/teiid/jboss/IntegrationPlugin.java
trunk/jboss-integration/src/main/java/org/teiid/jboss/JBossSecurityHelper.java
trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties
Log:
TEIID-2151 clarifying the exception
Modified: trunk/jboss-integration/src/main/java/org/teiid/jboss/IntegrationPlugin.java
===================================================================
--- trunk/jboss-integration/src/main/java/org/teiid/jboss/IntegrationPlugin.java 2012-08-17 18:20:39 UTC (rev 4338)
+++ trunk/jboss-integration/src/main/java/org/teiid/jboss/IntegrationPlugin.java 2012-08-17 19:07:44 UTC (rev 4339)
@@ -96,6 +96,7 @@
TEIID50077,
TEIID50078,
TEIID50088,
- TEIID50089
+ TEIID50089,
+ TEIID50090, //Missing context
}
}
Modified: trunk/jboss-integration/src/main/java/org/teiid/jboss/JBossSecurityHelper.java
===================================================================
--- trunk/jboss-integration/src/main/java/org/teiid/jboss/JBossSecurityHelper.java 2012-08-17 18:20:39 UTC (rev 4338)
+++ trunk/jboss-integration/src/main/java/org/teiid/jboss/JBossSecurityHelper.java 2012-08-17 19:07:44 UTC (rev 4339)
@@ -29,7 +29,7 @@
import org.jboss.security.SecurityContext;
import org.jboss.security.SubjectInfo;
-import org.teiid.core.util.Assertion;
+import org.teiid.core.TeiidRuntimeException;
import org.teiid.security.SecurityHelper;
public class JBossSecurityHelper implements SecurityHelper, Serializable {
@@ -72,7 +72,9 @@
@Override
public boolean sameSubject(String securityDomain, Object context, Subject subject) {
- Assertion.isNotNull(context);
+ if (context == null) {
+ throw new TeiidRuntimeException("No context associated. More than like either pass-through authentication should not be used or there are no security domains defined on the embedded transport.");
+ }
SecurityContext previousContext = (SecurityContext)context;
Subject previousUser = previousContext.getSubjectInfo().getAuthenticatedSubject();
Modified: trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties
===================================================================
--- trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties 2012-08-17 18:20:39 UTC (rev 4338)
+++ trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties 2012-08-17 19:07:44 UTC (rev 4339)
@@ -67,6 +67,7 @@
TEIID50075=No "path" information found to load the FUNCTION model {0}; FUNCTION model must have path information.
TEIID50076=For {0}.{1} VDB, recursive delegation {2} found.
TEIID50077=The translator type "{0}" was not found in configuration; VDB {1}.{2} will not be started until translator is available.
+TEIID50090=No context associated. Morely than like either pass-through authentication should not be used or there are no security domains defined on the embedded transport.
wrong_vdb= Wrong VDB name and/or version supplied, or VDB is not active, or not available.
# subsystem description
12 years, 5 months
teiid SVN: r4338 - in trunk: engine/src/main/java/org/teiid/query/parser and 1 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-08-17 14:20:39 -0400 (Fri, 17 Aug 2012)
New Revision: 4338
Modified:
trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html
trunk/engine/src/main/java/org/teiid/query/parser/QueryParser.java
trunk/test-integration/perf/pom.xml
Log:
TEIID-2148 updating the release notes and a couple of misc. changes
Modified: trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html
===================================================================
--- trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html 2012-08-17 17:52:57 UTC (rev 4337)
+++ trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html 2012-08-17 18:20:39 UTC (rev 4338)
@@ -28,6 +28,8 @@
<ul>
<li>TEIID-2150 <b>Positional procedure defaults</b> - a procedure now may be called positionally with just the leading input parameters as long as all trailing parameters are out or defaultable.
+ <li>TEIID-2148 <b>Streaming Improvements</b> - the ws translator invoke/invokeHttp procedures now execpt a stream parameter to indicate that the result should be streamed directly without an intermediate copy being created.
+ Also intermediate document/blob copies are made concurrently with reading to reduce latency.
</ul>
<h2><a name="Compatibility">Compatibility Issues</a></h2>
Modified: trunk/engine/src/main/java/org/teiid/query/parser/QueryParser.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/parser/QueryParser.java 2012-08-17 17:52:57 UTC (rev 4337)
+++ trunk/engine/src/main/java/org/teiid/query/parser/QueryParser.java 2012-08-17 18:20:39 UTC (rev 4338)
@@ -261,11 +261,12 @@
if (truncateStart) {
expected.append("... "); //$NON-NLS-1$
}
- for (int j = start; j < expectedTokenSequences[i].length && j < start+maxTokenSequence; j++) {
+ int j = start;
+ for (; j < expectedTokenSequences[i].length && j < start+maxTokenSequence; j++) {
expected.append(tokenImage[expectedTokenSequences[i][j]])
.append(" "); //$NON-NLS-1$
}
- if (expectedTokenSequences[i][Math.min(maxTokenSequence, expectedTokenSequences[i].length - 1)] != 0) {
+ if (j < expectedTokenSequences[i].length) {
expected.append("..."); //$NON-NLS-1$
}
expected.append(eol).append(" "); //$NON-NLS-1$
Modified: trunk/test-integration/perf/pom.xml
===================================================================
--- trunk/test-integration/perf/pom.xml 2012-08-17 17:52:57 UTC (rev 4337)
+++ trunk/test-integration/perf/pom.xml 2012-08-17 18:20:39 UTC (rev 4338)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-test-integration</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>8.0.0.beta1-SNAPSHOT</version>
+ <version>8.2.0.Alpha1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>test-integration-perf</artifactId>
12 years, 5 months
teiid SVN: r4337 - in trunk: api/src/main/java/org/teiid/util and 7 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-08-17 13:52:57 -0400 (Fri, 17 Aug 2012)
New Revision: 4337
Added:
trunk/api/src/main/java/org/teiid/util/
trunk/api/src/main/java/org/teiid/util/StAXSQLXML.java
trunk/api/src/main/java/org/teiid/util/XMLInputStream.java
trunk/api/src/test/java/org/teiid/util/
trunk/api/src/test/java/org/teiid/util/TestXMLInputStream.java
Modified:
trunk/common-core/src/main/java/org/teiid/core/util/AccessibleByteArrayOutputStream.java
trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/BinaryWSProcedureExecution.java
trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/WSExecutionFactory.java
trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/WSProcedureExecution.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierTupleSource.java
trunk/engine/src/main/java/org/teiid/query/function/source/XMLSystemFunctions.java
trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java
Log:
TEIID-2148 expanding on stream handling
Added: trunk/api/src/main/java/org/teiid/util/StAXSQLXML.java
===================================================================
--- trunk/api/src/main/java/org/teiid/util/StAXSQLXML.java (rev 0)
+++ trunk/api/src/main/java/org/teiid/util/StAXSQLXML.java 2012-08-17 17:52:57 UTC (rev 4337)
@@ -0,0 +1,87 @@
+/*
+ * 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.util;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.sql.SQLException;
+
+import javax.xml.stream.FactoryConfigurationError;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.transform.Source;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.stax.StAXSource;
+
+import org.teiid.core.types.SQLXMLImpl;
+import org.teiid.core.types.StandardXMLTranslator;
+
+/**
+ * NOTE that this representation of XML does become unreadable after a read operation.
+ */
+public class StAXSQLXML extends SQLXMLImpl {
+ private StAXSource source;
+
+ public StAXSQLXML(StAXSource source) {
+ this.source = source;
+ }
+
+ @SuppressWarnings("unchecked")
+ public <T extends Source> T getSource(Class<T> sourceClass) throws SQLException {
+ if (sourceClass == null || sourceClass == StAXSource.class) {
+ if (source == null) {
+ throw new SQLException("Already Freed"); //$NON-NLS-1$
+ }
+ StAXSource result = source;
+ source = null;
+ return (T) result;
+ }
+ return super.getSource(sourceClass);
+ }
+
+ @Override
+ public String getString() throws SQLException {
+ StringWriter sw = new StringWriter();
+ try {
+ new StandardXMLTranslator(getSource(StAXSource.class)).translate(sw);
+ } catch (TransformerException e) {
+ throw new SQLException(e);
+ } catch (IOException e) {
+ throw new SQLException(e);
+ }
+ return sw.toString();
+ }
+
+ @Override
+ public InputStream getBinaryStream() throws SQLException {
+ try {
+ return new XMLInputStream(getSource(StAXSource.class), XMLOutputFactory.newFactory());
+ } catch (XMLStreamException e) {
+ throw new SQLException(e);
+ } catch (FactoryConfigurationError e) {
+ throw new SQLException(e);
+ }
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/api/src/main/java/org/teiid/util/StAXSQLXML.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/api/src/main/java/org/teiid/util/XMLInputStream.java
===================================================================
--- trunk/api/src/main/java/org/teiid/util/XMLInputStream.java (rev 0)
+++ trunk/api/src/main/java/org/teiid/util/XMLInputStream.java 2012-08-17 17:52:57 UTC (rev 4337)
@@ -0,0 +1,83 @@
+/*
+ * 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.util;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.xml.stream.XMLEventReader;
+import javax.xml.stream.XMLEventWriter;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.events.XMLEvent;
+import javax.xml.transform.stax.StAXSource;
+
+import org.teiid.core.types.XMLType;
+import org.teiid.core.util.AccessibleByteArrayOutputStream;
+
+public class XMLInputStream extends InputStream {
+ private static final int BUFFER_SIZE = 1<<13;
+ private int pos = 0;
+ private AccessibleByteArrayOutputStream baos = new AccessibleByteArrayOutputStream(BUFFER_SIZE);
+ private XMLEventReader reader;
+ private XMLEventWriter writer;
+
+ public XMLInputStream(StAXSource source, XMLOutputFactory outFactory) throws XMLStreamException {
+ reader = source.getXMLEventReader();
+ if (reader == null) {
+ this.reader = XMLType.getXmlInputFactory().createXMLEventReader(source.getXMLStreamReader());
+ }
+ this.writer = outFactory.createXMLEventWriter(baos);
+ }
+
+ @Override
+ public int read() throws IOException {
+ while (pos >= baos.getCount()) {
+ if (!reader.hasNext()) {
+ return -1;
+ }
+ if (baos.getCount() > BUFFER_SIZE) {
+ baos.setCount(0);
+ pos = 0;
+ }
+ try {
+ XMLEvent event = reader.nextEvent();
+ writer.add(event);
+ writer.flush();
+ } catch (XMLStreamException e) {
+ throw new IOException(e);
+ }
+ }
+ return baos.getBuffer()[pos++];
+ }
+
+ @Override
+ public void close() throws IOException {
+ try {
+ reader.close();
+ } catch (XMLStreamException e) {
+ throw new IOException(e);
+ }
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/api/src/main/java/org/teiid/util/XMLInputStream.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/api/src/test/java/org/teiid/util/TestXMLInputStream.java
===================================================================
--- trunk/api/src/test/java/org/teiid/util/TestXMLInputStream.java (rev 0)
+++ trunk/api/src/test/java/org/teiid/util/TestXMLInputStream.java 2012-08-17 17:52:57 UTC (rev 4337)
@@ -0,0 +1,55 @@
+/*
+ * 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.util;
+
+import static org.junit.Assert.*;
+
+import java.io.StringReader;
+
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.transform.stax.StAXSource;
+
+import org.junit.Test;
+import org.teiid.core.types.XMLType;
+import org.teiid.core.util.ObjectConverterUtil;
+
+@SuppressWarnings("nls")
+public class TestXMLInputStream {
+
+ @Test public void testStreaming() throws Exception {
+ StringBuilder xmlBuilder = new StringBuilder();
+ xmlBuilder.append("<?xml version=\"1.0\"?><root>");
+ for (int i = 0; i < 1000; i++) {
+ xmlBuilder.append("<a></a>");
+ xmlBuilder.append("<b></b>");
+ }
+ xmlBuilder.append("</root>");
+ String xml = xmlBuilder.toString();
+
+ StAXSource source = new StAXSource(XMLType.getXmlInputFactory().createXMLEventReader(new StringReader(xml)));
+ XMLInputStream is = new XMLInputStream(source, XMLOutputFactory.newFactory());
+ byte[] bytes = ObjectConverterUtil.convertToByteArray(is);
+ assertEquals(xml, new String(bytes, "UTF-8"));
+ }
+
+}
Property changes on: trunk/api/src/test/java/org/teiid/util/TestXMLInputStream.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/common-core/src/main/java/org/teiid/core/util/AccessibleByteArrayOutputStream.java
===================================================================
--- trunk/common-core/src/main/java/org/teiid/core/util/AccessibleByteArrayOutputStream.java 2012-08-16 17:50:14 UTC (rev 4336)
+++ trunk/common-core/src/main/java/org/teiid/core/util/AccessibleByteArrayOutputStream.java 2012-08-17 17:52:57 UTC (rev 4337)
@@ -42,4 +42,8 @@
return this.count;
}
+ public void setCount(int count) {
+ this.count = count;
+ }
+
}
\ No newline at end of file
Modified: trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/BinaryWSProcedureExecution.java
===================================================================
--- trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/BinaryWSProcedureExecution.java 2012-08-16 17:50:14 UTC (rev 4336)
+++ trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/BinaryWSProcedureExecution.java 2012-08-17 17:52:57 UTC (rev 4337)
@@ -22,8 +22,11 @@
package org.teiid.translator.ws;
+import java.io.IOException;
+import java.io.InputStream;
import java.sql.Blob;
import java.sql.Clob;
+import java.sql.SQLException;
import java.sql.SQLXML;
import java.util.Arrays;
import java.util.List;
@@ -35,6 +38,8 @@
import javax.xml.ws.handler.MessageContext;
import javax.xml.ws.http.HTTPBinding;
+import org.teiid.core.types.BlobImpl;
+import org.teiid.core.types.BlobType;
import org.teiid.core.types.ClobImpl;
import org.teiid.core.types.InputStreamFactory;
import org.teiid.language.Argument;
@@ -51,6 +56,24 @@
*/
public class BinaryWSProcedureExecution implements ProcedureExecution {
+ private static final class StreamingBlob extends BlobImpl {
+ InputStream is;
+
+ public StreamingBlob(InputStream is) {
+ this.is = is;
+ }
+
+ @Override
+ public InputStream getBinaryStream() throws SQLException {
+ if (is == null) {
+ throw new SQLException("Already Freed."); //$NON-NLS-1$
+ }
+ InputStream result = is;
+ is = null;
+ return result;
+ }
+ }
+
RuntimeMetadata metadata;
ExecutionContext context;
private Call procedure;
@@ -111,7 +134,15 @@
@Override
public List<?> getOutputParameterValues() throws TranslatorException {
- return Arrays.asList(returnValue, returnValue.getContentType());
+ Object result = returnValue;
+ if (returnValue != null && Boolean.TRUE.equals(procedure.getArguments().get(3).getArgumentValue().getValue())) {
+ try {
+ result = new BlobType(new StreamingBlob(returnValue.getInputStream()));
+ } catch (IOException e) {
+ throw new TranslatorException(e);
+ }
+ }
+ return Arrays.asList(result, returnValue.getContentType());
}
public void close() {
Modified: trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/WSExecutionFactory.java
===================================================================
--- trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/WSExecutionFactory.java 2012-08-16 17:50:14 UTC (rev 4336)
+++ trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/WSExecutionFactory.java 2012-08-17 17:52:57 UTC (rev 4337)
@@ -124,6 +124,8 @@
WSConnection conn) throws TranslatorException {
Procedure p = metadataFactory.addProcedure("invoke"); //$NON-NLS-1$
p.setAnnotation("Invokes a webservice that returns an XML result"); //$NON-NLS-1$
+
+ metadataFactory.addProcedureParameter("result", TypeFacility.RUNTIME_NAMES.XML, Type.ReturnValue, p); //$NON-NLS-1$
ProcedureParameter param = metadataFactory.addProcedureParameter("binding", TypeFacility.RUNTIME_NAMES.STRING, Type.In, p); //$NON-NLS-1$
param.setAnnotation("The invocation binding (HTTP, SOAP11, SOAP12). May be set or allowed to default to null to use the default binding."); //$NON-NLS-1$
@@ -142,10 +144,15 @@
param.setAnnotation("The relative or abolute endpoint to use. May be set or allowed to default to null to use the default endpoint address."); //$NON-NLS-1$
param.setNullType(NullType.Nullable);
- metadataFactory.addProcedureParameter("result", TypeFacility.RUNTIME_NAMES.XML, Type.ReturnValue, p); //$NON-NLS-1$
+ param = metadataFactory.addProcedureParameter("stream", TypeFacility.RUNTIME_NAMES.BOOLEAN, Type.In, p); //$NON-NLS-1$
+ param.setAnnotation("If the result should be streamed."); //$NON-NLS-1$
+ param.setNullType(NullType.Nullable);
+ param.setDefaultValue("false"); //$NON-NLS-1$
p = metadataFactory.addProcedure(INVOKE_HTTP);
p.setAnnotation("Invokes a webservice that returns an binary result"); //$NON-NLS-1$
+
+ metadataFactory.addProcedureParameter("result", TypeFacility.RUNTIME_NAMES.BLOB, Type.ReturnValue, p); //$NON-NLS-1$
param = metadataFactory.addProcedureParameter("action", TypeFacility.RUNTIME_NAMES.STRING, Type.In, p); //$NON-NLS-1$
param.setAnnotation("Sets the HTTP Method (GET, POST - default, etc.)."); //$NON-NLS-1$
@@ -160,7 +167,11 @@
param.setAnnotation("The relative or abolute endpoint to use. May be set or allowed to default to null to use the default endpoint address."); //$NON-NLS-1$
param.setNullType(NullType.Nullable);
- metadataFactory.addProcedureParameter("result", TypeFacility.RUNTIME_NAMES.BLOB, Type.ReturnValue, p); //$NON-NLS-1$
+ param = metadataFactory.addProcedureParameter("stream", TypeFacility.RUNTIME_NAMES.BOOLEAN, Type.In, p); //$NON-NLS-1$
+ param.setAnnotation("If the result should be streamed."); //$NON-NLS-1$
+ param.setNullType(NullType.Nullable);
+ param.setDefaultValue("false"); //$NON-NLS-1$
+
metadataFactory.addProcedureParameter("contentType", TypeFacility.RUNTIME_NAMES.STRING, Type.Out, p); //$NON-NLS-1$
}
Modified: trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/WSProcedureExecution.java
===================================================================
--- trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/WSProcedureExecution.java 2012-08-16 17:50:14 UTC (rev 4336)
+++ trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/WSProcedureExecution.java 2012-08-17 17:52:57 UTC (rev 4337)
@@ -29,17 +29,19 @@
import java.util.Arrays;
import java.util.List;
-import javax.xml.transform.Source;
+import javax.xml.stream.XMLStreamException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stax.StAXSource;
import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
import javax.xml.ws.Dispatch;
import javax.xml.ws.WebServiceException;
import javax.xml.ws.handler.MessageContext;
+import org.teiid.core.types.SQLXMLImpl;
import org.teiid.core.types.XMLType;
+import org.teiid.core.types.XMLType.Type;
import org.teiid.language.Argument;
import org.teiid.language.Call;
import org.teiid.metadata.RuntimeMetadata;
@@ -50,16 +52,17 @@
import org.teiid.translator.WSConnection;
import org.teiid.translator.WSConnection.Util;
import org.teiid.translator.ws.WSExecutionFactory.Binding;
+import org.teiid.util.StAXSQLXML;
/**
* A soap call executor - handles all styles doc/literal, rpc/encoded etc.
*/
public class WSProcedureExecution implements ProcedureExecution {
-
+
RuntimeMetadata metadata;
ExecutionContext context;
private Call procedure;
- private Source returnValue;
+ private StAXSource returnValue;
private WSConnection conn;
private WSExecutionFactory executionFactory;
@@ -80,7 +83,7 @@
String style = (String)arguments.get(0).getArgumentValue().getValue();
String action = (String)arguments.get(1).getArgumentValue().getValue();
XMLType docObject = (XMLType)arguments.get(2).getArgumentValue().getValue();
- StreamSource source = null;
+ StAXSource source = null;
try {
source = convertToSource(docObject);
String endpoint = (String)arguments.get(3).getArgumentValue().getValue();
@@ -96,7 +99,7 @@
}
}
- Dispatch<StreamSource> dispatch = conn.createDispatch(style, endpoint, StreamSource.class, executionFactory.getDefaultServiceMode());
+ Dispatch<StAXSource> dispatch = conn.createDispatch(style, endpoint, StAXSource.class, executionFactory.getDefaultServiceMode());
if (Binding.HTTP.getBindingId().equals(style)) {
if (action == null) {
@@ -127,23 +130,25 @@
if (source == null) {
// JBoss Native DispatchImpl throws exception when the source is null
- source = new StreamSource(new StringReader("<none/>")); //$NON-NLS-1$
+ source = new StAXSource(XMLType.getXmlInputFactory().createXMLEventReader(new StringReader("<none/>"))); //$NON-NLS-1$
}
this.returnValue = dispatch.invoke(source);
} catch (SQLException e) {
throw new TranslatorException(e);
} catch (WebServiceException e) {
throw new TranslatorException(e);
+ } catch (XMLStreamException e) {
+ throw new TranslatorException(e);
} finally {
Util.closeSource(source);
}
}
- private StreamSource convertToSource(SQLXML xml) throws SQLException {
+ private StAXSource convertToSource(SQLXML xml) throws SQLException {
if (xml == null) {
return null;
}
- return xml.getSource(StreamSource.class);
+ return xml.getSource(StAXSource.class);
}
@Override
@@ -153,7 +158,14 @@
@Override
public List<?> getOutputParameterValues() throws TranslatorException {
- return Arrays.asList(returnValue);
+ Object result = returnValue;
+ if (returnValue != null && Boolean.TRUE.equals(procedure.getArguments().get(4).getArgumentValue().getValue())) {
+ SQLXMLImpl sqlXml = new StAXSQLXML(returnValue);
+ XMLType xml = new XMLType(sqlXml);
+ xml.setType(Type.DOCUMENT);
+ result = xml;
+ }
+ return Arrays.asList(result);
}
public void close() {
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierTupleSource.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierTupleSource.java 2012-08-16 17:50:14 UTC (rev 4336)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierTupleSource.java 2012-08-17 17:52:57 UTC (rev 4337)
@@ -34,11 +34,14 @@
import java.util.concurrent.atomic.AtomicBoolean;
import javax.activation.DataSource;
+import javax.xml.stream.XMLStreamException;
import javax.xml.transform.Source;
+import javax.xml.transform.stax.StAXSource;
import javax.xml.transform.stream.StreamSource;
import org.teiid.client.SourceWarning;
import org.teiid.common.buffer.BlockedException;
+import org.teiid.common.buffer.BufferManager;
import org.teiid.common.buffer.FileStore;
import org.teiid.common.buffer.FileStoreInputStreamFactory;
import org.teiid.common.buffer.TupleSource;
@@ -74,6 +77,7 @@
import org.teiid.translator.DataNotAvailableException;
import org.teiid.translator.TranslatorException;
import org.teiid.translator.CacheDirective.Scope;
+import org.teiid.util.XMLInputStream;
/**
@@ -86,7 +90,7 @@
*/
public class DataTierTupleSource implements TupleSource, CompletionListener<AtomicResultsMessage> {
- private static final class MoreWorkTask implements Runnable {
+ private static final class MoreWorkTask implements Runnable {
WeakReference<RequestWorkItem> ref;
@@ -183,7 +187,7 @@
continue;
}
if (convertToRuntimeType[i]) {
- Object result = convertToRuntimeType(value, this.schema[i]);
+ Object result = convertToRuntimeType(dtm.getBufferManager(), value, this.schema[i]);
if (value == result && !DataTypeManager.DefaultDataClasses.OBJECT.equals(this.schema[i])) {
convertToRuntimeType[i] = false;
} else {
@@ -216,12 +220,12 @@
return row;
}
- private Object convertToRuntimeType(Object value, Class<?> desiredType) throws TransformationException {
+ static Object convertToRuntimeType(BufferManager bm, Object value, Class<?> desiredType) throws TransformationException {
if (value instanceof DataSource && (!(value instanceof Source) || desiredType != DataTypeManager.DefaultDataClasses.XML)) {
if (value instanceof InputStreamFactory) {
return new BlobType(new BlobImpl((InputStreamFactory)value));
}
- FileStore fs = dtm.getBufferManager().createFileStore("bytes"); //$NON-NLS-1$
+ FileStore fs = bm.createFileStore("bytes"); //$NON-NLS-1$
//TODO: guess at the encoding from the content type
FileStoreInputStreamFactory fsisf = new FileStoreInputStreamFactory(fs, Streamable.ENCODING);
@@ -241,20 +245,31 @@
if (is == null && r != null) {
is = new ReaderInputStream(r, Streamable.CHARSET);
}
- final FileStore fs = dtm.getBufferManager().createFileStore("xml"); //$NON-NLS-1$
+ final FileStore fs = bm.createFileStore("xml"); //$NON-NLS-1$
final FileStoreInputStreamFactory fsisf = new FileStoreInputStreamFactory(fs, Streamable.ENCODING);
value = new SaveOnReadInputStream(is, fsisf).getInputStreamFactory();
+ } else if (value instanceof StAXSource) {
+ //TODO: do this lazily. if the first access to get the STaXSource, then
+ //it's more efficient to let the processing happen against STaX
+ StAXSource ss = (StAXSource)value;
+ try {
+ final FileStore fs = bm.createFileStore("xml"); //$NON-NLS-1$
+ final FileStoreInputStreamFactory fsisf = new FileStoreInputStreamFactory(fs, Streamable.ENCODING);
+ value = new SaveOnReadInputStream(new XMLInputStream(ss, XMLSystemFunctions.getOutputFactory()), fsisf).getInputStreamFactory();
+ } catch (XMLStreamException e) {
+ throw new TransformationException(e);
+ }
} else {
//maybe dom or some other source we want to get out of memory
StandardXMLTranslator sxt = new StandardXMLTranslator((Source)value);
SQLXMLImpl sqlxml;
try {
- sqlxml = XMLSystemFunctions.saveToBufferManager(dtm.getBufferManager(), sxt);
+ sqlxml = XMLSystemFunctions.saveToBufferManager(bm, sxt);
} catch (TeiidComponentException e) {
- throw new TeiidRuntimeException(e);
+ throw new TransformationException(e);
} catch (TeiidProcessingException e) {
- throw new TeiidRuntimeException(e);
+ throw new TransformationException(e);
}
return new XMLType(sqlxml);
}
Modified: trunk/engine/src/main/java/org/teiid/query/function/source/XMLSystemFunctions.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/function/source/XMLSystemFunctions.java 2012-08-16 17:50:14 UTC (rev 4336)
+++ trunk/engine/src/main/java/org/teiid/query/function/source/XMLSystemFunctions.java 2012-08-17 17:52:57 UTC (rev 4337)
@@ -93,12 +93,12 @@
import org.teiid.core.types.XMLTranslator;
import org.teiid.core.types.XMLType;
import org.teiid.core.types.XMLType.Type;
-import org.teiid.jdbc.TeiidSQLException;
import org.teiid.query.QueryPlugin;
import org.teiid.query.eval.Evaluator;
import org.teiid.query.function.CharsetUtils;
import org.teiid.query.util.CommandContext;
import org.teiid.translator.WSConnection.Util;
+import org.teiid.util.StAXSQLXML;
/**
@@ -855,47 +855,41 @@
JSONParser parser = new JSONParser();
final JsonToXmlContentHandler reader = new JsonToXmlContentHandler(rootName, r, parser, threadLocalEventtFactory.get());
+ SQLXMLImpl sqlXml = null;
if (stream) {
- //jre 1.7 event logic does not set a dummy location and throws an NPE in StAXSource, so we explicitly set a location
- reader.eventFactory.setLocation(dummyLocation);
- return new SQLXMLImpl() {
- @SuppressWarnings("unchecked")
- public <T extends Source> T getSource(Class<T> sourceClass) throws SQLException {
- if (sourceClass == null || sourceClass == StAXSource.class) {
- StAXSource source;
- try {
- source = new StAXSource(reader);
- } catch (XMLStreamException e) {
- throw TeiidSQLException.create(e);
- }
- return (T) source;
- }
- throw new AssertionError("unsupported source type"); //$NON-NLS-1$
+ try {
+ //jre 1.7 event logic does not set a dummy location and throws an NPE in StAXSource, so we explicitly set a location
+ //the streaming result will be directly consumed, so there's no danger that we're stepping on another location
+ reader.eventFactory.setLocation(dummyLocation);
+ sqlXml = new StAXSQLXML(new StAXSource(reader));
+ } catch (XMLStreamException e) {
+ throw new TeiidProcessingException(e);
+ }
+ } else {
+ sqlXml = XMLSystemFunctions.saveToBufferManager(context.getBufferManager(), new XMLTranslator() {
+
+ @Override
+ public void translate(Writer writer) throws TransformerException,
+ IOException {
+ try {
+ XMLOutputFactory factory = getOutputFactory();
+ final XMLEventWriter streamWriter = factory.createXMLEventWriter(writer);
+
+ streamWriter.add(reader);
+ streamWriter.flush(); //woodstox needs a flush rather than a close
+ } catch (XMLStreamException e) {
+ throw new TransformerException(e);
+ } finally {
+ try {
+ r.close();
+ } catch (IOException e) {
+
+ }
+ }
}
- };
+ });
}
- XMLType result = new XMLType(XMLSystemFunctions.saveToBufferManager(context.getBufferManager(), new XMLTranslator() {
-
- @Override
- public void translate(Writer writer) throws TransformerException,
- IOException {
- try {
- XMLOutputFactory factory = getOutputFactory();
- final XMLEventWriter streamWriter = factory.createXMLEventWriter(writer);
-
- streamWriter.add(reader);
- streamWriter.flush(); //woodstox needs a flush rather than a close
- } catch (XMLStreamException e) {
- throw new TransformerException(e);
- } finally {
- try {
- r.close();
- } catch (IOException e) {
-
- }
- }
- }
- }));
+ XMLType result = new XMLType(sqlXml);
result.setType(Type.DOCUMENT);
return result;
}
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java 2012-08-16 17:50:14 UTC (rev 4336)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java 2012-08-17 17:52:57 UTC (rev 4337)
@@ -24,8 +24,12 @@
import static org.junit.Assert.*;
+import java.io.StringReader;
import java.util.List;
+import javax.xml.transform.stax.StAXSource;
+import javax.xml.transform.stream.StreamSource;
+
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
@@ -35,12 +39,19 @@
import org.teiid.client.RequestMessage;
import org.teiid.client.SourceWarning;
import org.teiid.common.buffer.BlockedException;
+import org.teiid.common.buffer.BufferManager;
+import org.teiid.common.buffer.BufferManagerFactory;
import org.teiid.common.buffer.TupleSource;
import org.teiid.core.TeiidComponentException;
import org.teiid.core.TeiidProcessingException;
+import org.teiid.core.types.BlobType;
import org.teiid.core.types.ClobType;
+import org.teiid.core.types.DataTypeManager;
import org.teiid.core.types.InputStreamFactory;
+import org.teiid.core.types.Streamable;
+import org.teiid.core.types.XMLType;
import org.teiid.core.types.InputStreamFactory.StorageMode;
+import org.teiid.core.util.ObjectConverterUtil;
import org.teiid.dqp.internal.datamgr.ConnectorManagerRepository;
import org.teiid.dqp.internal.datamgr.FakeTransactionService;
import org.teiid.dqp.message.AtomicRequestMessage;
@@ -87,14 +98,13 @@
private DataTierTupleSource helpSetup(String sql, int nodeId) throws Exception {
helpSetupDataTierManager();
- AtomicRequestMessage request = helpSetupRequest(sql, nodeId);
+ AtomicRequestMessage request = helpSetupRequest(sql, nodeId, RealMetadataFactory.exampleBQTCached());
request.setSerial(serial);
return new DataTierTupleSource(request, workItem, connectorManager.registerRequest(request), dtm, limit);
}
- private AtomicRequestMessage helpSetupRequest(String sql, int nodeId) throws Exception {
- QueryMetadataInterface metadata = RealMetadataFactory.exampleBQTCached();
- DQPWorkContext workContext = RealMetadataFactory.buildWorkContext(metadata, vdb);
+ private AtomicRequestMessage helpSetupRequest(String sql, int nodeId, QueryMetadataInterface metadata) throws Exception {
+ DQPWorkContext workContext = RealMetadataFactory.buildWorkContext(metadata, vdb);
Command command = helpGetCommand(sql, metadata);
@@ -293,10 +303,12 @@
@Test public void testCaching() throws Exception {
assertEquals(0, connectorManager.getExecuteCount().get());
+ QueryMetadataInterface metadata = RealMetadataFactory.exampleBQTCached();
+
CacheDirective cd = new CacheDirective();
this.connectorManager.cacheDirective = cd;
helpSetupDataTierManager();
- Command command = helpSetupRequest("SELECT stringkey from bqt1.smalla", 1).getCommand();
+ Command command = helpSetupRequest("SELECT stringkey from bqt1.smalla", 1, metadata).getCommand();
RegisterRequestParameter rrp = new RegisterRequestParameter();
rrp.connectorBindingId = "x";
TupleSource ts = dtm.registerRequest(context, command, "foo", rrp);
@@ -311,7 +323,7 @@
assertEquals(1, this.rm.getRsCache().getTotalCacheEntries());
//same session, should be cached
- command = helpSetupRequest("SELECT stringkey from bqt1.smalla", 1).getCommand();
+ command = helpSetupRequest("SELECT stringkey from bqt1.smalla", 1, metadata).getCommand();
rrp = new RegisterRequestParameter();
rrp.connectorBindingId = "x";
ts = dtm.registerRequest(context, command, "foo", rrp);
@@ -321,7 +333,7 @@
assertTrue(rrp.doNotCache);
//switch sessions
- command = helpSetupRequest("SELECT stringkey from bqt1.smalla", 1).getCommand();
+ command = helpSetupRequest("SELECT stringkey from bqt1.smalla", 1, metadata).getCommand();
this.context.getSession().setSessionId("different");
rrp = new RegisterRequestParameter();
rrp.connectorBindingId = "x";
@@ -338,4 +350,24 @@
assertEquals(2, this.rm.getRsCache().getTotalCacheEntries());
}
+ @Test public void testTypeConversion() throws Exception {
+ BufferManager bm = BufferManagerFactory.getStandaloneBufferManager();
+
+ String str = "hello world";
+
+ Object source = new StreamSource(new StringReader(str));
+ XMLType xml = (XMLType) DataTierTupleSource.convertToRuntimeType(bm, source, DataTypeManager.DefaultDataClasses.XML);
+ assertEquals(str, xml.getString());
+
+ source = new StAXSource(XMLType.getXmlInputFactory().createXMLEventReader(new StringReader("<a/>")));
+ xml = (XMLType) DataTierTupleSource.convertToRuntimeType(bm, source, DataTypeManager.DefaultDataClasses.XML);
+ assertEquals("<?xml version=\"1.0\"?><a></a>", xml.getString());
+
+ byte[] bytes = str.getBytes(Streamable.ENCODING);
+ source = new InputStreamFactory.BlobInputStreamFactory(BlobType.createBlob(bytes));
+ BlobType blob = (BlobType) DataTierTupleSource.convertToRuntimeType(bm, source, DataTypeManager.DefaultDataClasses.BLOB);
+
+ assertArrayEquals(bytes, ObjectConverterUtil.convertToByteArray(blob.getBinaryStream()));
+ }
+
}
12 years, 5 months
teiid SVN: r4336 - trunk/engine/src/test/java/org/teiid/query/resolver.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-08-16 13:50:14 -0400 (Thu, 16 Aug 2012)
New Revision: 4336
Modified:
trunk/engine/src/test/java/org/teiid/query/resolver/TestProcedureResolving.java
Log:
TEIID-2150 adding another test
Modified: trunk/engine/src/test/java/org/teiid/query/resolver/TestProcedureResolving.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/resolver/TestProcedureResolving.java 2012-08-16 17:46:48 UTC (rev 4335)
+++ trunk/engine/src/test/java/org/teiid/query/resolver/TestProcedureResolving.java 2012-08-16 17:50:14 UTC (rev 4336)
@@ -1046,4 +1046,21 @@
assertEquals(new Constant("a", DataTypeManager.DefaultDataClasses.STRING), sp.getParameter(2).getExpression());
}
+ @Test public void testOptionalParams1() throws Exception {
+ VDBMetaData vdb = new VDBMetaData();
+ MetadataStore store = new MetadataStore();
+ String ddl = "create foreign procedure proc (x integer, y string NOT NULL, z integer);\n";
+ TestMetadataValidator.buildModel("x", true, vdb, store, ddl);
+ TransformationMetadata tm = new TransformationMetadata(vdb, new CompositeMetadataStore(Arrays.asList(store)), null, RealMetadataFactory.SFM.getSystemFunctions(), null);
+ vdb.addAttchment(TransformationMetadata.class, tm);
+ vdb.addAttchment(QueryMetadataInterface.class, tm);
+ new MetadataValidator().validate(vdb, store);
+
+ String sql = "call proc (1, 'a')"; //$NON-NLS-1$
+
+ StoredProcedure sp = (StoredProcedure) TestResolver.helpResolve(sql, tm);
+
+ assertEquals(new Constant("a", DataTypeManager.DefaultDataClasses.STRING), sp.getParameter(2).getExpression());
+ }
+
}
12 years, 5 months
teiid SVN: r4335 - in trunk: build/kits/jboss-as7/docs/teiid and 4 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-08-16 13:46:48 -0400 (Thu, 16 Aug 2012)
New Revision: 4335
Modified:
trunk/api/src/main/java/org/teiid/metadata/ProcedureParameter.java
trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html
trunk/engine/src/main/java/org/teiid/query/resolver/command/ExecResolver.java
trunk/engine/src/main/java/org/teiid/query/resolver/util/ResolverUtil.java
trunk/engine/src/main/javacc/org/teiid/query/parser/SQLParser.jj
trunk/engine/src/test/java/org/teiid/query/resolver/TestProcedureResolving.java
Log:
TEIID-2150 modifying procedure resolving and making sure that the parser doesn't change default nullability.
Modified: trunk/api/src/main/java/org/teiid/metadata/ProcedureParameter.java
===================================================================
--- trunk/api/src/main/java/org/teiid/metadata/ProcedureParameter.java 2012-08-16 15:35:25 UTC (rev 4334)
+++ trunk/api/src/main/java/org/teiid/metadata/ProcedureParameter.java 2012-08-16 17:46:48 UTC (rev 4335)
@@ -49,10 +49,12 @@
return type;
}
+ @Deprecated
public void setOptional(boolean optional) {
this.optional = optional;
}
+ @Deprecated
public boolean isOptional() {
return optional;
}
Modified: trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html
===================================================================
--- trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html 2012-08-16 15:35:25 UTC (rev 4334)
+++ trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html 2012-08-16 17:46:48 UTC (rev 4335)
@@ -26,6 +26,10 @@
</UL>
<H2><A NAME="Highlights"></A>Highlights</H2>
+<ul>
+ <li>TEIID-2150 <b>Positional procedure defaults</b> - a procedure now may be called positionally with just the leading input parameters as long as all trailing parameters are out or defaultable.
+</ul>
+
<h2><a name="Compatibility">Compatibility Issues</a></h2>
<ul>
<li>Support for named parameter syntax using param=value has been deprecated, since it is ambiguous with a comparison predicate boolean value expression. param<b>=></b>value should be used instead.
Modified: trunk/engine/src/main/java/org/teiid/query/resolver/command/ExecResolver.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/resolver/command/ExecResolver.java 2012-08-16 15:35:25 UTC (rev 4334)
+++ trunk/engine/src/main/java/org/teiid/query/resolver/command/ExecResolver.java 2012-08-16 17:46:48 UTC (rev 4335)
@@ -140,15 +140,32 @@
List<SPParameter> metadataParams = storedProcedureInfo.getParameters();
List<SPParameter> clonedMetadataParams = new ArrayList<SPParameter>(metadataParams.size());
int inputParams = 0;
+ int optionalParams = 0;
int outParams = 0;
boolean hasReturnValue = false;
+ boolean optional = false;
for (SPParameter metadataParameter : metadataParams) {
if( (metadataParameter.getParameterType()==ParameterInfo.IN) ||
(metadataParameter.getParameterType()==ParameterInfo.INOUT)){
-
- inputParams++;
+ if (ResolverUtil.hasDefault(metadataParameter.getMetadataID(), metadata)) {
+ optional = true;
+ optionalParams++;
+ } else {
+ inputParams++;
+ if (optional) {
+ optional = false;
+ inputParams += optionalParams;
+ optionalParams = 0;
+ }
+ }
} else if (metadataParameter.getParameterType() == ParameterInfo.OUT) {
outParams++;
+ /*
+ * TODO: it would consistent to do the following, but it is a breaking change for procedures that have intermixed out params with in.
+ * we may need to revisit this later
+ */
+ //optional = true;
+ //optionalParams++;
} else if (metadataParameter.getParameterType() == ParameterInfo.RETURN_VALUE) {
hasReturnValue = true;
}
@@ -174,6 +191,7 @@
if (param.getParameterType() == SPParameter.RETURN_VALUE) {
Expression expr = postionalExpressions.remove(exprIndex++);
param.setExpression(expr);
+ break;
}
}
}
@@ -196,6 +214,10 @@
continue;
}
Expression expr = postionalExpressions.remove(exprIndex++);
+ if (expr == null) {
+ expr = ResolverUtil.getDefault(param.getParameterSymbol(), metadata);
+ param.setUsingDefault(true);
+ }
param.setExpression(expr);
}
}
Modified: trunk/engine/src/main/java/org/teiid/query/resolver/util/ResolverUtil.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/resolver/util/ResolverUtil.java 2012-08-16 15:35:25 UTC (rev 4334)
+++ trunk/engine/src/main/java/org/teiid/query/resolver/util/ResolverUtil.java 2012-08-16 17:46:48 UTC (rev 4335)
@@ -428,6 +428,12 @@
return getProperlyTypedConstant(defaultValue, type);
}
+
+ public static boolean hasDefault(Object mid, QueryMetadataInterface metadata) throws QueryMetadataException, TeiidComponentException {
+ Object defaultValue = metadata.getDefaultValue(mid);
+
+ return defaultValue != null || metadata.elementSupports(mid, SupportConstants.Element.NULL);
+ }
/**
* Construct a Constant with proper type, given the String default
Modified: trunk/engine/src/main/javacc/org/teiid/query/parser/SQLParser.jj
===================================================================
--- trunk/engine/src/main/javacc/org/teiid/query/parser/SQLParser.jj 2012-08-16 15:35:25 UTC (rev 4334)
+++ trunk/engine/src/main/javacc/org/teiid/query/parser/SQLParser.jj 2012-08-16 17:46:48 UTC (rev 4335)
@@ -846,6 +846,7 @@
String element = null;
ParsedDataType type = null;
boolean autoIncrement = false;
+ //TODO: once we support udts, then this will need to inherit the nullability from the type
boolean notNull = false;
}
{
@@ -4503,7 +4504,7 @@
ProcedureParameter.Type ppType = ProcedureParameter.Type.In;
ProcedureParameter param = null;
String defaultValue = null;
- Boolean notNull = null;
+ boolean notNull = false;
}
{
[((<IN> {ppType = ProcedureParameter.Type.In ;})
@@ -4524,7 +4525,7 @@
try {
param = factory.addProcedureParameter(validateElementName(name), type.type, ppType, proc);
setTypeInfo(type, param);
- if (notNull != null) {
+ if (notNull) {
param.setNullType(Column.NullType.No_Nulls);
}
} catch (TranslatorException e){
@@ -4775,7 +4776,7 @@
String element = null;
ParsedDataType type = null;
boolean autoIncrement = false;
- boolean notNull = false;
+ Boolean notNull = false;
String defalt = null;
Column column = null;
List<String> columnName = new ArrayList<String>();
@@ -4799,7 +4800,7 @@
}
}
)
- [<NOT> <NULL> { notNull = true; }]
+ [<NOT> <NULL> { column.setNullType(Column.NullType.No_Nulls); }]
([(<UNIQUE> { unique = true; })
|((word = <INDEX> | word = <AUTO_INCREMENT>)
{ if (word.image.equalsIgnoreCase("INDEX")) index = true;
@@ -4834,7 +4835,6 @@
}
column.setAutoIncremented(autoIncrement);
- column.setNullType(notNull?Column.NullType.No_Nulls:Column.NullType.Nullable);
}
}
Modified: trunk/engine/src/test/java/org/teiid/query/resolver/TestProcedureResolving.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/resolver/TestProcedureResolving.java 2012-08-16 15:35:25 UTC (rev 4334)
+++ trunk/engine/src/test/java/org/teiid/query/resolver/TestProcedureResolving.java 2012-08-16 17:46:48 UTC (rev 4335)
@@ -24,35 +24,45 @@
import static org.junit.Assert.*;
+import java.util.Arrays;
import java.util.Map;
import org.junit.Test;
+import org.teiid.adminapi.impl.VDBMetaData;
import org.teiid.api.exception.query.QueryMetadataException;
import org.teiid.api.exception.query.QueryParserException;
import org.teiid.api.exception.query.QueryResolverException;
import org.teiid.core.TeiidComponentException;
import org.teiid.core.types.DataTypeManager;
+import org.teiid.metadata.MetadataStore;
import org.teiid.metadata.Table;
+import org.teiid.query.metadata.CompositeMetadataStore;
+import org.teiid.query.metadata.MetadataValidator;
import org.teiid.query.metadata.QueryMetadataInterface;
import org.teiid.query.metadata.TempMetadataAdapter;
import org.teiid.query.metadata.TempMetadataID;
+import org.teiid.query.metadata.TestMetadataValidator;
+import org.teiid.query.metadata.TransformationMetadata;
import org.teiid.query.parser.QueryParser;
import org.teiid.query.sql.ProcedureReservedWords;
import org.teiid.query.sql.lang.Command;
import org.teiid.query.sql.lang.Insert;
import org.teiid.query.sql.lang.ProcedureContainer;
+import org.teiid.query.sql.lang.StoredProcedure;
import org.teiid.query.sql.proc.AssignmentStatement;
import org.teiid.query.sql.proc.Block;
import org.teiid.query.sql.proc.CommandStatement;
import org.teiid.query.sql.proc.CreateProcedureCommand;
import org.teiid.query.sql.proc.LoopStatement;
import org.teiid.query.sql.proc.TriggerAction;
+import org.teiid.query.sql.symbol.Constant;
import org.teiid.query.sql.symbol.ElementSymbol;
import org.teiid.query.sql.symbol.Expression;
import org.teiid.query.sql.visitor.CommandCollectorVisitor;
import org.teiid.query.sql.visitor.ElementCollectorVisitor;
import org.teiid.query.unittest.RealMetadataFactory;
+@SuppressWarnings("nls")
public class TestProcedureResolving {
private void helpFailUpdateProcedure(String procedure, String userUpdateStr, Table.TriggerEvent procedureType) {
@@ -1013,4 +1023,27 @@
helpResolve("EXEC example1.pm1.vsp29()", RealMetadataFactory.example1Cached()); //$NON-NLS-1$
}
+ @Test public void testOptionalParams() throws Exception {
+ VDBMetaData vdb = new VDBMetaData();
+ MetadataStore store = new MetadataStore();
+ String ddl = "create foreign procedure proc (x integer, y string);\n";
+ TestMetadataValidator.buildModel("x", true, vdb, store, ddl);
+ TransformationMetadata tm = new TransformationMetadata(vdb, new CompositeMetadataStore(Arrays.asList(store)), null, RealMetadataFactory.SFM.getSystemFunctions(), null);
+ vdb.addAttchment(TransformationMetadata.class, tm);
+ vdb.addAttchment(QueryMetadataInterface.class, tm);
+ new MetadataValidator().validate(vdb, store);
+
+ String sql = "call proc (1)"; //$NON-NLS-1$
+
+ StoredProcedure sp = (StoredProcedure) TestResolver.helpResolve(sql, tm);
+
+ assertEquals(new Constant(null, DataTypeManager.DefaultDataClasses.STRING), sp.getParameter(2).getExpression());
+
+ sql = "call proc (1, 'a')"; //$NON-NLS-1$
+
+ sp = (StoredProcedure) TestResolver.helpResolve(sql, tm);
+
+ assertEquals(new Constant("a", DataTypeManager.DefaultDataClasses.STRING), sp.getParameter(2).getExpression());
+ }
+
}
12 years, 5 months
teiid SVN: r4334 - in trunk: build/kits/embedded/examples/embedded-portfolio/src/org/teiid/example and 4 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-08-16 11:35:25 -0400 (Thu, 16 Aug 2012)
New Revision: 4334
Removed:
trunk/build/kits/embedded/examples/embedded-portfolio/src/org/teiid/example/AbstractConnectionFactory.java
Modified:
trunk/api/src/main/java/org/teiid/resource/spi/BasicConnectionFactory.java
trunk/build/kits/embedded/examples/embedded-portfolio/src/org/teiid/example/TeiidEmbeddedPortfolio.java
trunk/connectors/connector-file/src/main/java/org/teiid/resource/adapter/file/FileManagedConnectionFactory.java
trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap/LDAPManagedConnectionFactory.java
trunk/connectors/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesForceManagedConnectionFactory.java
trunk/connectors/connector-ws/src/main/java/org/teiid/resource/adapter/ws/WSManagedConnectionFactory.java
Log:
TEIID-2062 switching the example to use the BasicConnectionFactory
Modified: trunk/api/src/main/java/org/teiid/resource/spi/BasicConnectionFactory.java
===================================================================
--- trunk/api/src/main/java/org/teiid/resource/spi/BasicConnectionFactory.java 2012-08-16 15:34:35 UTC (rev 4333)
+++ trunk/api/src/main/java/org/teiid/resource/spi/BasicConnectionFactory.java 2012-08-16 15:35:25 UTC (rev 4334)
@@ -1,3 +1,25 @@
+/*
+ * 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.resource.spi;
import javax.naming.NamingException;
@@ -8,12 +30,12 @@
import javax.resource.cci.RecordFactory;
import javax.resource.cci.ResourceAdapterMetaData;
-public abstract class BasicConnectionFactory implements ConnectionFactory {
+public abstract class BasicConnectionFactory<T extends BasicConnection> implements ConnectionFactory {
private static final long serialVersionUID = 2900581028589520388L;
private Reference reference;
@Override
- public abstract BasicConnection getConnection() throws ResourceException;
+ public abstract T getConnection() throws ResourceException;
@Override
public BasicConnection getConnection(ConnectionSpec arg0) throws ResourceException {
Deleted: trunk/build/kits/embedded/examples/embedded-portfolio/src/org/teiid/example/AbstractConnectionFactory.java
===================================================================
--- trunk/build/kits/embedded/examples/embedded-portfolio/src/org/teiid/example/AbstractConnectionFactory.java 2012-08-16 15:34:35 UTC (rev 4333)
+++ trunk/build/kits/embedded/examples/embedded-portfolio/src/org/teiid/example/AbstractConnectionFactory.java 2012-08-16 15:35:25 UTC (rev 4334)
@@ -1,59 +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.example;
-
-import javax.naming.NamingException;
-import javax.naming.Reference;
-import javax.resource.ResourceException;
-import javax.resource.cci.*;
-
-public abstract class AbstractConnectionFactory<C extends javax.resource.cci.Connection> implements ConnectionFactory {
- private static final long serialVersionUID = 4906165501503764939L;
-
- @Override
- public void setReference(Reference reference) {
- }
-
- @Override
- public Reference getReference() throws NamingException {
- return null;
- }
-
- @Override
- public abstract C getConnection() throws ResourceException;
-
- @Override
- public C getConnection(ConnectionSpec properties)
- throws ResourceException {
- return null;
- }
-
- @Override
- public RecordFactory getRecordFactory() throws ResourceException {
- return null;
- }
-
- @Override
- public ResourceAdapterMetaData getMetaData() throws ResourceException {
- return null;
- }
-}
Modified: trunk/build/kits/embedded/examples/embedded-portfolio/src/org/teiid/example/TeiidEmbeddedPortfolio.java
===================================================================
--- trunk/build/kits/embedded/examples/embedded-portfolio/src/org/teiid/example/TeiidEmbeddedPortfolio.java 2012-08-16 15:34:35 UTC (rev 4333)
+++ trunk/build/kits/embedded/examples/embedded-portfolio/src/org/teiid/example/TeiidEmbeddedPortfolio.java 2012-08-16 15:35:25 UTC (rev 4334)
@@ -40,9 +40,9 @@
import org.teiid.core.util.ObjectConverterUtil;
import org.teiid.jdbc.TeiidDriver;
import org.teiid.resource.adapter.file.FileConnectionImpl;
+import org.teiid.resource.spi.BasicConnectionFactory;
import org.teiid.runtime.EmbeddedConfiguration;
import org.teiid.runtime.EmbeddedServer;
-import org.teiid.translator.FileConnection;
import org.teiid.translator.TranslatorException;
import org.teiid.translator.file.FileExecutionFactory;
import org.teiid.translator.jdbc.h2.H2ExecutionFactory;
@@ -72,9 +72,9 @@
*/
@SuppressWarnings("serial")
private static final class FileConnectionFactory extends
- AbstractConnectionFactory<FileConnection> {
+ BasicConnectionFactory<FileConnectionImpl> {
@Override
- public FileConnection getConnection() throws ResourceException {
+ public FileConnectionImpl getConnection() throws ResourceException {
return new FileConnectionImpl(".", null, false);
}
}
@@ -174,7 +174,7 @@
// configure the connection provider and translator for file based source.
// NOTE: every source that is being integrated, needs its connection provider and its translator
// check out https://docs.jboss.org/author/display/TEIID/Built-in+Translators prebuit translators
- final ConnectionFactory cf = new FileConnectionFactory();;
+ final ConnectionFactory cf = new FileConnectionFactory();
teiidServer.addConnectionFactoryProvider("source-file", new EmbeddedServer.ConnectionFactoryProvider<ConnectionFactory>() {
@Override
public ConnectionFactory getConnectionFactory() throws TranslatorException {
Modified: trunk/connectors/connector-file/src/main/java/org/teiid/resource/adapter/file/FileManagedConnectionFactory.java
===================================================================
--- trunk/connectors/connector-file/src/main/java/org/teiid/resource/adapter/file/FileManagedConnectionFactory.java 2012-08-16 15:34:35 UTC (rev 4333)
+++ trunk/connectors/connector-file/src/main/java/org/teiid/resource/adapter/file/FileManagedConnectionFactory.java 2012-08-16 15:35:25 UTC (rev 4334)
@@ -28,7 +28,6 @@
import org.teiid.core.BundleUtil;
import org.teiid.core.util.StringUtil;
-import org.teiid.resource.spi.BasicConnection;
import org.teiid.resource.spi.BasicConnectionFactory;
import org.teiid.resource.spi.BasicManagedConnectionFactory;
@@ -43,15 +42,15 @@
@Override
@SuppressWarnings("serial")
- public BasicConnectionFactory createConnectionFactory() throws ResourceException {
+ public BasicConnectionFactory<FileConnectionImpl> createConnectionFactory() throws ResourceException {
if (this.parentDirectory == null) {
throw new InvalidPropertyException(UTIL.getString("parentdirectory_not_set")); //$NON-NLS-1$
}
final Map<String, String> map = StringUtil.valueOf(this.fileMapping, Map.class);
- return new BasicConnectionFactory() {
+ return new BasicConnectionFactory<FileConnectionImpl>() {
@Override
- public BasicConnection getConnection() throws ResourceException {
+ public FileConnectionImpl getConnection() throws ResourceException {
return new FileConnectionImpl(parentDirectory, map, allowParentPaths);
}
};
Modified: trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap/LDAPManagedConnectionFactory.java
===================================================================
--- trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap/LDAPManagedConnectionFactory.java 2012-08-16 15:34:35 UTC (rev 4333)
+++ trunk/connectors/connector-ldap/src/main/java/org/teiid/resource/adapter/ldap/LDAPManagedConnectionFactory.java 2012-08-16 15:35:25 UTC (rev 4334)
@@ -39,8 +39,8 @@
@Override
@SuppressWarnings("serial")
- public BasicConnectionFactory createConnectionFactory() throws ResourceException {
- return new BasicConnectionFactory() {
+ public BasicConnectionFactory<LDAPConnectionImpl> createConnectionFactory() throws ResourceException {
+ return new BasicConnectionFactory<LDAPConnectionImpl>() {
@Override
public LDAPConnectionImpl getConnection() throws ResourceException {
return new LDAPConnectionImpl(LDAPManagedConnectionFactory.this);
Modified: trunk/connectors/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesForceManagedConnectionFactory.java
===================================================================
--- trunk/connectors/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesForceManagedConnectionFactory.java 2012-08-16 15:34:35 UTC (rev 4333)
+++ trunk/connectors/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesForceManagedConnectionFactory.java 2012-08-16 15:35:25 UTC (rev 4334)
@@ -90,7 +90,7 @@
}
@Override
- public BasicConnectionFactory createConnectionFactory() throws ResourceException {
+ public BasicConnectionFactory<SalesforceConnectionImpl> createConnectionFactory() throws ResourceException {
QName portQName = SforceService.SERVICE;
if (this.configFile != null) {
this.bus = new SpringBusFactory().createBus(this.configFile);
@@ -101,7 +101,7 @@
}
}
- return new BasicConnectionFactory() {
+ return new BasicConnectionFactory<SalesforceConnectionImpl>() {
private static final long serialVersionUID = 5028356110047329135L;
@Override
Modified: trunk/connectors/connector-ws/src/main/java/org/teiid/resource/adapter/ws/WSManagedConnectionFactory.java
===================================================================
--- trunk/connectors/connector-ws/src/main/java/org/teiid/resource/adapter/ws/WSManagedConnectionFactory.java 2012-08-16 15:34:35 UTC (rev 4333)
+++ trunk/connectors/connector-ws/src/main/java/org/teiid/resource/adapter/ws/WSManagedConnectionFactory.java 2012-08-16 15:35:25 UTC (rev 4334)
@@ -32,7 +32,6 @@
import org.apache.cxf.interceptor.Interceptor;
import org.apache.cxf.jaxws.JaxWsClientFactoryBean;
import org.teiid.core.BundleUtil;
-import org.teiid.resource.spi.BasicConnection;
import org.teiid.resource.spi.BasicConnectionFactory;
import org.teiid.resource.spi.BasicManagedConnectionFactory;
@@ -58,7 +57,7 @@
@SuppressWarnings("serial")
@Override
- public BasicConnectionFactory createConnectionFactory() throws ResourceException {
+ public BasicConnectionFactory<WSConnectionImpl> createConnectionFactory() throws ResourceException {
String configName = getConfigName();
if (configName == null) {
configName = WSConnectionImpl.DEFAULT_LOCAL_NAME;
@@ -73,9 +72,9 @@
}
outInterceptors = instance.getOutInterceptors();
}
- return new BasicConnectionFactory() {
+ return new BasicConnectionFactory<WSConnectionImpl>() {
@Override
- public BasicConnection getConnection() throws ResourceException {
+ public WSConnectionImpl getConnection() throws ResourceException {
return new WSConnectionImpl(WSManagedConnectionFactory.this);
}
};
12 years, 5 months
teiid SVN: r4333 - trunk/test-integration/common/src/test/java/org/teiid/jdbc.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-08-16 11:34:35 -0400 (Thu, 16 Aug 2012)
New Revision: 4333
Modified:
trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestLocalConnections.java
Log:
ensuring that other tests aren't causing an issue
Modified: trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestLocalConnections.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestLocalConnections.java 2012-08-16 15:34:02 UTC (rev 4332)
+++ trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestLocalConnections.java 2012-08-16 15:34:35 UTC (rev 4333)
@@ -225,6 +225,7 @@
}
@Test public void testUseInDifferentThreads() throws Throwable {
+ assertTrue(server.getDqp().getRequests().isEmpty());
Connection c = server.createConnection("jdbc:teiid:PartsSupplier");
final Statement s = c.createStatement();
12 years, 5 months
teiid SVN: r4332 - in trunk: engine/src/main/java/org/teiid/dqp/internal/process and 1 other directory.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-08-16 11:34:02 -0400 (Thu, 16 Aug 2012)
New Revision: 4332
Modified:
trunk/common-core/src/main/java/org/teiid/core/util/PropertiesUtils.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java
Log:
TEIID-2149 making sure there is minimal properties overhead
Modified: trunk/common-core/src/main/java/org/teiid/core/util/PropertiesUtils.java
===================================================================
--- trunk/common-core/src/main/java/org/teiid/core/util/PropertiesUtils.java 2012-08-16 15:15:36 UTC (rev 4331)
+++ trunk/common-core/src/main/java/org/teiid/core/util/PropertiesUtils.java 2012-08-16 15:34:02 UTC (rev 4332)
@@ -40,6 +40,7 @@
import java.util.List;
import java.util.Map;
import java.util.Properties;
+import java.util.TreeMap;
import org.teiid.core.BundleUtil;
import org.teiid.core.CorePlugin;
@@ -56,7 +57,7 @@
public static class InvalidPropertyException extends TeiidRuntimeException {
private static final long serialVersionUID = 1586068295007497776L;
- public InvalidPropertyException(BundleUtil.Event event, String propertyName, String value, Class<?> expectedType, Throwable cause) {
+ public InvalidPropertyException(BundleUtil.Event event, String propertyName, Object value, Class<?> expectedType, Throwable cause) {
super(event, cause, CorePlugin.Util.getString("InvalidPropertyException.message", propertyName, value, expectedType.getSimpleName())); //$NON-NLS-1$
}
@@ -732,81 +733,78 @@
return original;
}
- public static void setBeanProperties(Object bean, Properties props, String prefix) {
+ public static void setBeanProperties(Object bean, Properties props, String prefix) {
+ setBeanProperties(bean, props, prefix, false);
+ }
+
+ public static void setBeanProperties(Object bean, Properties props, String prefix, boolean caseSensitive) {
// Move all prop names to lower case so we can use reflection to get
// method names and look them up in the connection props.
- final Properties connProps = lowerCaseAllPropNames(props);
+ Map<?, ?> map = props;
+ if (!caseSensitive) {
+ map = caseInsensitiveProps(props);
+ }
final Method[] methods = bean.getClass().getMethods();
for (int i = 0; i < methods.length; i++) {
final Method method = methods[i];
final String methodName = method.getName();
// If setter ...
- if ( methodName.startsWith("set") && method.getParameterTypes().length == 1 ) { //$NON-NLS-1$
- // Get the property name
- final String propertyName = methodName.substring(3); // remove the "set"
- String shortName = propertyName.toLowerCase();
- String propertyValue = null;
- if (prefix != null) {
- propertyValue = connProps.getProperty(prefix + "." + shortName); //$NON-NLS-1$
- } else {
- propertyValue = connProps.getProperty(shortName);
- }
- if (propertyValue == null) {
- continue;
- }
- final Class<?> argType = method.getParameterTypes()[0];
- try {
- final Object[] params = new Object[] {StringUtil.valueOf(propertyValue, argType)};
- method.invoke(bean, params);
- } catch (Throwable e) {
- throw new InvalidPropertyException(CorePlugin.Event.TEIID10043, propertyName, propertyValue, argType, e);
- }
+ if (! methodName.startsWith("set") || method.getParameterTypes().length != 1 ) { //$NON-NLS-1$
+ continue;
}
+ // Get the property name
+ String propertyName = methodName.substring(3); // remove the "set"
+ if (prefix != null) {
+ propertyName = prefix + "." + propertyName; //$NON-NLS-1$
+ }
+ Object propertyValue = map.get(propertyName);
+ if (propertyValue != null || map.containsKey(propertyName)) {
+ setProperty(bean, propertyValue, method, propertyName);
+ }
}
}
public static void setBeanProperty(Object bean, String name, Object value) {
- if (value == null) {
- return;
- }
- name = name.toLowerCase();
final Method[] methods = bean.getClass().getMethods();
for (int i = 0; i < methods.length; i++) {
final Method method = methods[i];
final String methodName = method.getName();
// If setter ...
- if ( methodName.startsWith("set") && method.getParameterTypes().length == 1 ) { //$NON-NLS-1$
- // Get the property name
- final String propertyName = methodName.substring(3); // remove the "set"
- String shortName = propertyName.toLowerCase();
- if (!shortName.equals(name)) {
- continue;
- }
- final Class<?> argType = method.getParameterTypes()[0];
- try {
- Object[] params = new Object[] {value};
- if (!argType.isAssignableFrom(value.getClass())) {
- params = new Object[] {StringUtil.valueOf(value.toString(), argType)};
- }
- method.invoke(bean, params);
- } catch (Throwable e) {
- throw new InvalidPropertyException(CorePlugin.Event.TEIID10044, propertyName, value.toString(), argType, e);
- }
+ if (! methodName.startsWith("set") || method.getParameterTypes().length != 1 || !StringUtil.endsWithIgnoreCase(methodName, name)) { //$NON-NLS-1$
+ continue;
}
+ // Get the property name
+ final String propertyName = methodName.substring(3); // remove the "set"
+ setProperty(bean, value, method, propertyName);
}
+ }
+
+ private static Class<?> setProperty(Object bean, Object value,
+ final Method method, final String propertyName) {
+ final Class<?> argType = method.getParameterTypes()[0];
+ try {
+ Object[] params = new Object[] {value};
+ if (value != null && !argType.isAssignableFrom(value.getClass())) {
+ params = new Object[] {StringUtil.valueOf(value.toString(), argType)};
+ }
+ method.invoke(bean, params);
+ } catch (Throwable e) {
+ throw new InvalidPropertyException(CorePlugin.Event.TEIID10044, propertyName, value, argType, e);
+ }
+ return argType;
}
- private static Properties lowerCaseAllPropNames(final Properties connectionProps) {
- final Properties lcProps = new Properties();
+ private static TreeMap<String, String> caseInsensitiveProps(final Properties connectionProps) {
+ final TreeMap<String, String> caseInsensitive = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
final Enumeration<?> itr = connectionProps.propertyNames();
while ( itr.hasMoreElements() ) {
final String name = (String) itr.nextElement();
String propValue = connectionProps.getProperty(name);
- if (propValue != null) {
- lcProps.setProperty(name.toLowerCase(), propValue);
+ if (propValue != null || connectionProps.containsKey(name)) {
+ caseInsensitive.put(name, propValue);
}
}
- return lcProps;
+ return caseInsensitive;
}
}
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 2012-08-16 15:15:36 UTC (rev 4331)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java 2012-08-16 15:34:02 UTC (rev 4332)
@@ -249,7 +249,7 @@
context.setSubject(workContext.getSubject());
Options options = new Options();
options.setProperties(System.getProperties());
- PropertiesUtils.setBeanProperties(options, options.getProperties(), "org.teiid"); //$NON-NLS-1$
+ PropertiesUtils.setBeanProperties(options, options.getProperties(), "org.teiid", true); //$NON-NLS-1$
this.context.setSession(workContext.getSession());
this.context.setRequestId(this.requestId);
this.context.setDQPWorkContext(this.workContext);
12 years, 5 months
teiid SVN: r4331 - in branches/7.4.x: adminshell and 38 other directories.
by teiid-commits@lists.jboss.org
Author: jolee
Date: 2012-08-16 11:15:36 -0400 (Thu, 16 Aug 2012)
New Revision: 4331
Modified:
branches/7.4.x/adminshell/pom.xml
branches/7.4.x/api/pom.xml
branches/7.4.x/build/kits/jboss-container/teiid-releasenotes.html
branches/7.4.x/build/pom.xml
branches/7.4.x/cache-jbosscache/pom.xml
branches/7.4.x/client-jdk15/pom.xml
branches/7.4.x/client/pom.xml
branches/7.4.x/common-core/pom.xml
branches/7.4.x/connectors/connector-file/pom.xml
branches/7.4.x/connectors/connector-ldap/pom.xml
branches/7.4.x/connectors/connector-salesforce/pom.xml
branches/7.4.x/connectors/connector-ws/pom.xml
branches/7.4.x/connectors/pom.xml
branches/7.4.x/connectors/salesforce-api/pom.xml
branches/7.4.x/connectors/sandbox/pom.xml
branches/7.4.x/connectors/sandbox/translator-yahoo/pom.xml
branches/7.4.x/connectors/translator-file/pom.xml
branches/7.4.x/connectors/translator-jdbc/pom.xml
branches/7.4.x/connectors/translator-ldap/pom.xml
branches/7.4.x/connectors/translator-loopback/pom.xml
branches/7.4.x/connectors/translator-olap/pom.xml
branches/7.4.x/connectors/translator-salesforce/pom.xml
branches/7.4.x/connectors/translator-ws/pom.xml
branches/7.4.x/console/pom.xml
branches/7.4.x/documentation/admin-guide/pom.xml
branches/7.4.x/documentation/caching-guide/pom.xml
branches/7.4.x/documentation/client-developers-guide/pom.xml
branches/7.4.x/documentation/developer-guide/pom.xml
branches/7.4.x/documentation/pom.xml
branches/7.4.x/documentation/quick-start-example/pom.xml
branches/7.4.x/documentation/reference/pom.xml
branches/7.4.x/engine/pom.xml
branches/7.4.x/hibernate-dialect/pom.xml
branches/7.4.x/jboss-integration/pom.xml
branches/7.4.x/metadata/pom.xml
branches/7.4.x/pom.xml
branches/7.4.x/runtime/pom.xml
branches/7.4.x/test-integration/common/pom.xml
branches/7.4.x/test-integration/db/pom.xml
branches/7.4.x/test-integration/pom.xml
Log:
BZ836574: update of pom version numbers and release notes
Modified: branches/7.4.x/adminshell/pom.xml
===================================================================
--- branches/7.4.x/adminshell/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/adminshell/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-adminshell</artifactId>
Modified: branches/7.4.x/api/pom.xml
===================================================================
--- branches/7.4.x/api/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/api/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-api</artifactId>
Modified: branches/7.4.x/build/kits/jboss-container/teiid-releasenotes.html
===================================================================
--- branches/7.4.x/build/kits/jboss-container/teiid-releasenotes.html 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/build/kits/jboss-container/teiid-releasenotes.html 2012-08-16 15:15:36 UTC (rev 4331)
@@ -255,6 +255,21 @@
</h2>
<h4>From ${project.version}</h4>
<ul>
+<li>[<a href='https://issues.jboss.org/browse/TEIID-2069'>TEIID-2069</a>] - Optimze add LIMIT clause to SELECT within a Virtual Procedure using Oracle</li>
+<li>[<a href='https://issues.jboss.org/browse/TEIID-2074'>TEIID-2074</a>] - NPE with multi-column dependent join</li>
+<li>[<a href='https://issues.jboss.org/browse/TEIID-2087'>TEIID-2087</a>] - Order by clause causes org.teiid.core.TeiidException</li>
+<li>[<a href='https://issues.jboss.org/browse/TEIID-2093'>TEIID-2093</a>] - MAKEDEP causes AssertionError (backport for 7.4.x)</li>
+<li>[<a href='https://issues.jboss.org/browse/TEIID-2089'>TEIID-2089</a>] - Issue with enhanced merge join and additional logging enhancements (slimmed for backport)</li>
+<li>[<a href='https://issues.jboss.org/browse/TEIID-2107'>TEIID-2107</a>] - fix for left outer join with index issue</li>
+<li>[<a href='https://issues.jboss.org/browse/TEIID-2112'>TEIID-2112</a>] - backport: using the local timezone for saxon calendarvalues, consistent handling of local timezone on xsd:date, xsd:datetime, and xsd:time values that have no timezone specified.</li>
+<li>[<a href='https://issues.jboss.org/browse/TEIID-2120'>TEIID-2120</a>] - fix for batchiterator early termination</li>
+<li>[<a href='https://issues.jboss.org/browse/TEIID-2146'>TEIID-2146</a>] - Dependent join independent dup removal issue</li>
+<li>[<a href='https://issues.jboss.org/browse/TEIID-1956'>TEIID-1956</a>] - (updated) an additional fix for having the same element repeated in equi-join criteria</li>
+</ul>
+
+
+<h4>From 7.4.4</h4>
+<ul>
<li>[<a href='https://issues.jboss.org/browse/TEIID-832'>TEIID-832</a>] - (modified to only support TEIID-2005 changes) added support for calling oracle stored procedures returning cursor/resultsets</li>
<li>[<a href='https://issues.jboss.org/browse/TEIID-1533'>TEIID-1533</a>] - additional controls for dependent joins</li>
<li>[<a href='https://issues.jboss.org/browse/TEIID-1868'>TEIID-1868</a>] - Internal Materialized View - Load/Refresh and Assertion Failed</li>
Modified: branches/7.4.x/build/pom.xml
===================================================================
--- branches/7.4.x/build/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/build/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -2,7 +2,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid</artifactId>
Modified: branches/7.4.x/cache-jbosscache/pom.xml
===================================================================
--- branches/7.4.x/cache-jbosscache/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/cache-jbosscache/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-cache-jbosscache</artifactId>
Modified: branches/7.4.x/client/pom.xml
===================================================================
--- branches/7.4.x/client/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/client/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-client</artifactId>
Modified: branches/7.4.x/client-jdk15/pom.xml
===================================================================
--- branches/7.4.x/client-jdk15/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/client-jdk15/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-client-jdk15</artifactId>
Modified: branches/7.4.x/common-core/pom.xml
===================================================================
--- branches/7.4.x/common-core/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/common-core/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-common-core</artifactId>
Modified: branches/7.4.x/connectors/connector-file/pom.xml
===================================================================
--- branches/7.4.x/connectors/connector-file/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/connectors/connector-file/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-file</artifactId>
Modified: branches/7.4.x/connectors/connector-ldap/pom.xml
===================================================================
--- branches/7.4.x/connectors/connector-ldap/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/connectors/connector-ldap/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -2,7 +2,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-ldap</artifactId>
Modified: branches/7.4.x/connectors/connector-salesforce/pom.xml
===================================================================
--- branches/7.4.x/connectors/connector-salesforce/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/connectors/connector-salesforce/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-salesforce</artifactId>
Modified: branches/7.4.x/connectors/connector-ws/pom.xml
===================================================================
--- branches/7.4.x/connectors/connector-ws/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/connectors/connector-ws/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-ws</artifactId>
Modified: branches/7.4.x/connectors/pom.xml
===================================================================
--- branches/7.4.x/connectors/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/connectors/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
Modified: branches/7.4.x/connectors/salesforce-api/pom.xml
===================================================================
--- branches/7.4.x/connectors/salesforce-api/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/connectors/salesforce-api/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -2,7 +2,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>salesforce-api</artifactId>
Modified: branches/7.4.x/connectors/sandbox/pom.xml
===================================================================
--- branches/7.4.x/connectors/sandbox/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/connectors/sandbox/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid.connectors</groupId>
Modified: branches/7.4.x/connectors/sandbox/translator-yahoo/pom.xml
===================================================================
--- branches/7.4.x/connectors/sandbox/translator-yahoo/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/connectors/sandbox/translator-yahoo/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>sandbox</artifactId>
<groupId>org.jboss.teiid.connectors</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-yahoo</artifactId>
Modified: branches/7.4.x/connectors/translator-file/pom.xml
===================================================================
--- branches/7.4.x/connectors/translator-file/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/connectors/translator-file/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-file</artifactId>
Modified: branches/7.4.x/connectors/translator-jdbc/pom.xml
===================================================================
--- branches/7.4.x/connectors/translator-jdbc/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/connectors/translator-jdbc/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-jdbc</artifactId>
Modified: branches/7.4.x/connectors/translator-ldap/pom.xml
===================================================================
--- branches/7.4.x/connectors/translator-ldap/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/connectors/translator-ldap/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -2,7 +2,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-ldap</artifactId>
Modified: branches/7.4.x/connectors/translator-loopback/pom.xml
===================================================================
--- branches/7.4.x/connectors/translator-loopback/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/connectors/translator-loopback/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-loopback</artifactId>
Modified: branches/7.4.x/connectors/translator-olap/pom.xml
===================================================================
--- branches/7.4.x/connectors/translator-olap/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/connectors/translator-olap/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-olap</artifactId>
Modified: branches/7.4.x/connectors/translator-salesforce/pom.xml
===================================================================
--- branches/7.4.x/connectors/translator-salesforce/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/connectors/translator-salesforce/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-salesforce</artifactId>
Modified: branches/7.4.x/connectors/translator-ws/pom.xml
===================================================================
--- branches/7.4.x/connectors/translator-ws/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/connectors/translator-ws/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-ws</artifactId>
Modified: branches/7.4.x/console/pom.xml
===================================================================
--- branches/7.4.x/console/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/console/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: branches/7.4.x/documentation/admin-guide/pom.xml
===================================================================
--- branches/7.4.x/documentation/admin-guide/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/documentation/admin-guide/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>admin-guide</artifactId>
Modified: branches/7.4.x/documentation/caching-guide/pom.xml
===================================================================
--- branches/7.4.x/documentation/caching-guide/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/documentation/caching-guide/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>caching-guide</artifactId>
Modified: branches/7.4.x/documentation/client-developers-guide/pom.xml
===================================================================
--- branches/7.4.x/documentation/client-developers-guide/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/documentation/client-developers-guide/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>client-developers-guide</artifactId>
Modified: branches/7.4.x/documentation/developer-guide/pom.xml
===================================================================
--- branches/7.4.x/documentation/developer-guide/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/documentation/developer-guide/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>developer-guide</artifactId>
Modified: branches/7.4.x/documentation/pom.xml
===================================================================
--- branches/7.4.x/documentation/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/documentation/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -2,7 +2,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
Modified: branches/7.4.x/documentation/quick-start-example/pom.xml
===================================================================
--- branches/7.4.x/documentation/quick-start-example/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/documentation/quick-start-example/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>quick-start-example</artifactId>
Modified: branches/7.4.x/documentation/reference/pom.xml
===================================================================
--- branches/7.4.x/documentation/reference/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/documentation/reference/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>reference</artifactId>
Modified: branches/7.4.x/engine/pom.xml
===================================================================
--- branches/7.4.x/engine/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/engine/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-engine</artifactId>
Modified: branches/7.4.x/hibernate-dialect/pom.xml
===================================================================
--- branches/7.4.x/hibernate-dialect/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/hibernate-dialect/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -2,7 +2,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-hibernate-dialect</artifactId>
Modified: branches/7.4.x/jboss-integration/pom.xml
===================================================================
--- branches/7.4.x/jboss-integration/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/jboss-integration/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -2,7 +2,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
Modified: branches/7.4.x/metadata/pom.xml
===================================================================
--- branches/7.4.x/metadata/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/metadata/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-metadata</artifactId>
Modified: branches/7.4.x/pom.xml
===================================================================
--- branches/7.4.x/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -5,7 +5,7 @@
<artifactId>teiid-parent</artifactId>
<packaging>pom</packaging>
<name>Teiid</name>
- <version>7.4.4</version>
+ <version>7.4.5</version>
<description>Federated SQL and XML query engine.</description>
<properties>
<ant.version>1.7.0</ant.version>
Modified: branches/7.4.x/runtime/pom.xml
===================================================================
--- branches/7.4.x/runtime/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/runtime/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
Modified: branches/7.4.x/test-integration/common/pom.xml
===================================================================
--- branches/7.4.x/test-integration/common/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/test-integration/common/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-test-integration</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>test-integration-common</artifactId>
Modified: branches/7.4.x/test-integration/db/pom.xml
===================================================================
--- branches/7.4.x/test-integration/db/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/test-integration/db/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -9,7 +9,7 @@
<parent>
<artifactId>teiid-test-integration</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: branches/7.4.x/test-integration/pom.xml
===================================================================
--- branches/7.4.x/test-integration/pom.xml 2012-08-16 15:15:12 UTC (rev 4330)
+++ branches/7.4.x/test-integration/pom.xml 2012-08-16 15:15:36 UTC (rev 4331)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.4.4</version>
+ <version>7.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-test-integration</artifactId>
12 years, 5 months