diff --git a/JAVA/CEP/jParmFacade/src/nl_astron_lofar_java_cep_jparmfacade_jParmFacade.cc b/JAVA/CEP/jParmFacade/src/nl_astron_lofar_java_cep_jparmfacade_jParmFacade.cc
index aba16f98da5cf3e8c39a0cafb6240b60fbd73ca8..7528f00348f68a963bccc66d2fea40e6f7937c9b 100644
--- a/JAVA/CEP/jParmFacade/src/nl_astron_lofar_java_cep_jparmfacade_jParmFacade.cc
+++ b/JAVA/CEP/jParmFacade/src/nl_astron_lofar_java_cep_jparmfacade_jParmFacade.cc
@@ -25,6 +25,7 @@
 
 #include <jni.h>
 #include <jParmFacade/nl_astron_lofar_java_cep_jparmfacade_jParmFacade.h>
+#include <jParmFacade/nl_astron_lofar_java_cep_jparmfacade_jCommon.h>
 #include <ParmFacade/ParmFacade.h>
 #include <iostream>
 #include <string>
@@ -34,35 +35,20 @@ using namespace std;
 
 ParmFacade* theirPF;
 
-/*
- * Class:     nl_astron_lofar_java_cep_jparmfacade_jParmFacade
- * Method:    initParmFacade
- * Signature: (Ljava/lang/String;)V
- */
-JNIEXPORT void JNICALL Java_nl_astron_lofar_java_cep_jparmfacade_jParmFacade_initParmFacade(JNIEnv *env, jobject, jstring tableName) {
-  const char* tablename = env->GetStringUTFChars(tableName, 0);
-  const string t(tablename);
-
-  try {
-    theirPF = new ParmFacade(t);
-  } catch (exception &ex) {
-    cout << "Exception during new ParmFacade(" << t << ") : "<< ex.what() << endl;
-    
-    env->ThrowNew(env->FindClass("java/lang/Exception"),ex.what());
-  }
-  env->ReleaseStringUTFChars(tableName,tablename);
-}
 
 /*
  * Class:     nl_astron_lofar_java_cep_jparmfacade_jParmFacade
  * Method:    getRange
  * Signature: (Ljava/lang/String;)Ljava/util/Vector;
  */
-JNIEXPORT jobject JNICALL Java_nl_astron_lofar_java_cep_jparmfacade_jParmFacade_getRange  (JNIEnv *env, jobject, jstring parmNamePattern) {
+JNIEXPORT jobject JNICALL Java_nl_astron_lofar_java_cep_jparmfacade_jParmFacade_getRange  (JNIEnv *env, jobject obj, jstring parmNamePattern) {
 
   jboolean isCopy;
   jobject rangeVector;
 
+  // create the connection with the ParmDB
+  setParmDBConnection(env,obj);
+
   const char* pattern = env->GetStringUTFChars (parmNamePattern, &isCopy);
   vector<double> rangeList;
   try {
@@ -104,11 +90,14 @@ JNIEXPORT jobject JNICALL Java_nl_astron_lofar_java_cep_jparmfacade_jParmFacade_
  * Method:    getNames
  * Signature: (Ljava/lang/String;)Ljava/util/Vector;
  */
-JNIEXPORT jobject JNICALL Java_nl_astron_lofar_java_cep_jparmfacade_jParmFacade_getNames  (JNIEnv *env, jobject, jstring parmNamePattern) {
+JNIEXPORT jobject JNICALL Java_nl_astron_lofar_java_cep_jparmfacade_jParmFacade_getNames  (JNIEnv *env, jobject obj, jstring parmNamePattern) {
 
   jboolean isCopy;
   jobject nameVector;
 
+  // create the connection with the ParmDB
+  setParmDBConnection(env,obj);
+
   const char* pattern = env->GetStringUTFChars (parmNamePattern, &isCopy);
   vector<string> nameList;
   try {
@@ -145,11 +134,15 @@ JNIEXPORT jobject JNICALL Java_nl_astron_lofar_java_cep_jparmfacade_jParmFacade_
  * Method:    getValues
  * Signature: (Ljava/lang/String;DDIDDI)Ljava/util/HashMap;
  */
-JNIEXPORT jobject JNICALL Java_nl_astron_lofar_java_cep_jparmfacade_jParmFacade_getValues (JNIEnv *env, jobject, jstring parmNamePattern, jdouble startx, jdouble endx, jint nx, jdouble starty, jdouble endy, jint ny) {
+JNIEXPORT jobject JNICALL Java_nl_astron_lofar_java_cep_jparmfacade_jParmFacade_getValues (JNIEnv *env, jobject obj, jstring parmNamePattern, jdouble startx, jdouble endx, jint nx, jdouble starty, jdouble endy, jint ny) {
 
   jboolean isCopy;
   jobject result;
 
+  // create the connection with the ParmDB
+  setParmDBConnection(env,obj);
+
+
   const char* pattern = env->GetStringUTFChars (parmNamePattern, &isCopy);
   map<string,vector<double> > valMap;
   try {
@@ -209,9 +202,30 @@ JNIEXPORT jobject JNICALL Java_nl_astron_lofar_java_cep_jparmfacade_jParmFacade_
       //      env->ReleaseStringUTFChars (parmNamePattern, pattern);
       return result;
     }
+
     env->ThrowNew(newExcCls,aStr.c_str());
   }
   
   return result;
 }
 
+
+void  setParmDBConnection(JNIEnv *env, jobject callerObject) {
+
+  // get the  callerclass
+  jclass jPF=env->GetObjectClass(callerObject);
+
+  // get the methodID
+  jfieldID id_PFID = env->GetFieldID (jPF, "itsParmFacadeDB","Ljava/lang/String;");
+
+  // get the value
+  jstring nstr = (jstring)env->GetObjectField (callerObject, id_PFID);
+
+  const char* n = env->GetStringUTFChars (nstr, 0);
+  const string name (n);
+  // create the connection with the c++ ParmFacade
+  cout << "Connect to :" << name << endl;
+  theirPF=new ParmFacade(name);
+  env->ReleaseStringUTFChars (nstr, n);
+}
+