Author: rareddy
Date: 2012-05-07 13:48:51 -0400 (Mon, 07 May 2012)
New Revision: 4061
Modified:
trunk/api/src/main/java/org/teiid/CommandContext.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java
trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java
trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java
Log:
TEIID-2030: Make the the VDB classloader available though command context for use by the
translators
Modified: trunk/api/src/main/java/org/teiid/CommandContext.java
===================================================================
--- trunk/api/src/main/java/org/teiid/CommandContext.java 2012-05-07 14:27:22 UTC (rev
4060)
+++ trunk/api/src/main/java/org/teiid/CommandContext.java 2012-05-07 17:48:51 UTC (rev
4061)
@@ -150,5 +150,11 @@
* @return
*/
long getReuseCount();
+
+ /**
+ * Get class loader for VDB.
+ * @return
+ */
+ ClassLoader getVDBClassLoader();
}
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-05-07
14:27:22 UTC (rev 4060)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java 2012-05-07
17:48:51 UTC (rev 4061)
@@ -250,6 +250,7 @@
this.context.setDQPWorkContext(this.workContext);
this.context.setTransactionService(this.transactionService);
this.context.setTransactionContext(this.transactionContext);
+
this.context.setVDBClassLoader(workContext.getVDB().getAttachment(ClassLoader.class));
}
@Override
Modified: trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java 2012-05-07
14:27:22 UTC (rev 4060)
+++ trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java 2012-05-07
17:48:51 UTC (rev 4061)
@@ -150,6 +150,7 @@
private LRUCache<String, DecimalFormat> decimalFormatCache;
private LRUCache<String, SimpleDateFormat> dateFormatCache;
private AtomicLong reuseCount = new AtomicLong();
+ private ClassLoader classLoader;
}
private GlobalState globalState = new GlobalState();
@@ -755,6 +756,14 @@
@Override
public long getReuseCount() {
return globalState.reuseCount.get();
+ }
+
+ @Override
+ public ClassLoader getVDBClassLoader() {
+ return this.globalState.classLoader;
}
+ public void setVDBClassLoader(ClassLoader classLoader) {
+ this.globalState.classLoader = classLoader;
+ }
}
Modified: trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java
===================================================================
--- trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java 2012-05-07
14:27:22 UTC (rev 4060)
+++ trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java 2012-05-07
17:48:51 UTC (rev 4061)
@@ -126,8 +126,11 @@
}
}
}
- }
+ }
+ // add VDB module's classloader as an attachment
+ deployment.addAttchment(ClassLoader.class,
deploymentUnit.getAttachment(Attachments.MODULE).getClassLoader());
+
// check if this is a VDB with index files, if there are then build the
TransformationMetadata
UDFMetaData udf = deploymentUnit.removeAttachment(TeiidAttachments.UDF_METADATA);
if (udf != null) {
Show replies by date