This commit is contained in:
Lucio Lelii 2008-12-14 19:32:33 +00:00
parent b40330fe4f
commit 0336584610
2 changed files with 78 additions and 8 deletions

View File

@ -17,17 +17,26 @@ import org.gcube.common.core.informationsystem.client.AtomicCondition;
import org.gcube.common.core.informationsystem.client.ISClient;
import org.gcube.common.core.informationsystem.client.queries.GCUBERIQuery;
import org.gcube.common.core.resources.GCUBECollection;
import org.gcube.common.core.resources.GCUBEMCollection;
import org.gcube.common.core.resources.GCUBERunningInstance;
import org.gcube.common.core.resources.impl.kxml.KGCUBEResource;
import org.gcube.common.core.types.VOID;
import org.gcube.common.core.utils.logging.GCUBELog;
import org.gcube.metadatamanagement.metadatabroker.stubs.FindPossibleTransformationPrograms;
import org.gcube.metadatamanagement.metadatabroker.stubs.FindPossibleTransformationProgramsResponse;
import org.gcube.metadatamanagement.metadatabroker.stubs.MetadataBrokerFormat;
import org.gcube.metadatamanagement.metadatabroker.stubs.MetadataBrokerPortType;
import org.gcube.metadatamanagement.metadatabroker.stubs.Transform;
import org.gcube.vremanagement.vremanager.stubs.vremanager.AddResourcesParameters;
import org.gcube.vremanagement.vremanager.stubs.vremanager.ResourceItem;
import org.gcube.vremanagement.vremanager.stubs.vremanager.ResourceList;
import org.gcube.vremanagement.vremanager.stubs.vremanager.ScopeOption;
import org.gcube.vremanagement.vremanager.stubs.vremanager.ServiceList;
import org.gcube.vremanagement.vremanager.stubs.vremanager.VREManagerPortType;
import org.gcube.vremanagement.vremanager.stubs.vremanager.service.VREManagerServiceAddressingLocator;
import org.gcube.vremanagement.vremodeler.db.DBInterface;
import org.gcube.vremanagement.vremodeler.impl.util.MBrokerServiceHandler;
import org.gcube.vremanagement.vremodeler.impl.util.MetadataFormat;
import org.gcube.vremanagement.vremodeler.impl.util.XMLUtil;
import org.gcube.vremanagement.vremodeler.stubs.CollectionArray;
import org.gcube.vremanagement.vremodeler.stubs.FunctionalityIDArray;
@ -156,7 +165,7 @@ public class ModelerService {
public void setGHNs(GHNArray request) throws GCUBEFault{
try{
String instanceID=(String) getResource().getId();
DBInterface.ExecuteUpdate("DELETE FROM VRERELATEDDHN WHERE VRERELATEDDHN.vreid='"+instanceID+"';");
DBInterface.ExecuteUpdate("DELETE FROM VRERELATEDGHN WHERE VRERELATEDDHN.vreid='"+instanceID+"';");
String dlKey=instanceID;
@ -462,6 +471,7 @@ public class ModelerService {
public void setVREtoPendingState(VOID var) throws GCUBEFault{
try{
DBInterface.ExecuteUpdate("UPDATE VRE SET STATUS='Pending' WHERE VRE.id='"+getResource().getId()+"';");
}catch(Exception e){throw new GCUBEFault(e);}
}
@ -554,7 +564,7 @@ public class ModelerService {
//retrieving Collection
try{
ResultSet resRelatedCol =DBInterface.queryDB("select VRERELATEDCOLLECTION.collid from VRERELATEDCOLLECTION where VRERELATEDCOLLECTION.dlid='"+resourceID+"';");
ResultSet resRelatedCol =DBInterface.queryDB("select VRERELATEDCOLLECTION.collid from VRERELATEDCOLLECTION where VRERELATEDCOLLECTION.vreid='"+resourceID+"';");
while (resRelatedCol.next()){
resItem= new ResourceItem();
resItem.setID(resRelatedCol.getString(1));
@ -563,6 +573,47 @@ public class ModelerService {
}
}catch(SQLException sqle){logger.error("Error contacting HSQLDB");}
//retrieving MDCollection with native MDFormat
try{
ResultSet resMdColNative =DBInterface.queryDB("select mdcollid from SELECTEDNATIVEMDFROMAT AS s where s.vreid='"+resourceID+"';");
while (resMdColNative.next()){
resItem= new ResourceItem();
resItem.setID(resMdColNative.getString(1));
System.out.println(resItem.getID());
resItem.setType(GCUBEMCollection.TYPE);
resItemList.add(resItem);
}
}catch(SQLException sqle){logger.error("Error contacting HSQLDB");}
//retrieve and create MDCollection with Broker
try{
ResultSet resMdColDerivate =DBInterface.queryDB("select mdcollid, tpid from SELECTEDDERIVATEMDFROMAT AS s where s.vreid='"+resourceID+"';");
MBrokerServiceHandler<String, Couple> sHandler= new MBrokerServiceHandler<String,Couple>(){
@Override
protected String makeCall(MetadataBrokerPortType mbportType) throws Exception {
FindPossibleTransformationPrograms fptp= new FindPossibleTransformationPrograms();
Transform t= new Transform();
t.setTransformationProgramID(this.getParameter().tpID);
String toReturn= mbportType.transform(t);
return toReturn;
}
};
while (resMdColDerivate.next()){
}
}catch(SQLException sqle){logger.error("Error contacting HSQLDB");}
//adding Services
ServiceList sl = new ServiceList();
/*
ResultSet resRelatedMetadataCol =DBInterface.queryDB("select VRERELATEDCOLLECTION.collid from DLRELATEDCOLLECTION where VRERELATEDCOLLECTION.dlid='"+getResource().getId()+"';");
while (resRelatedCol.next()){
@ -675,9 +726,24 @@ public class ModelerService {
*/
}
}
/**
* inner class for couple
* @author lucio
*
*/
public class Couple{
public String collectioID;
public String tpID;
public Couple(String collid, String tpid){
this.collectioID=collid;
this.tpID= tpID;
}
}
}

View File

@ -169,7 +169,9 @@ public class XMLUtil {
temp.append("</Id><Selectable>True</Selectable><Selected>False</Selected></MetadataFormat>");
}
//logger.debug("MDFProva: "+keyTemp+" "+temp);
if(MDFHash.get(keyTemp.toString())!=null) MDFHash.get(keyTemp).add(temp.toString());
if(MDFHash.contains(keyTemp.toString())) MDFHash.get(keyTemp.toString()).add(temp.toString());
else{
tempArray=new ArrayList<String>();
tempArray.add(temp.toString());
@ -199,7 +201,7 @@ public class XMLUtil {
temp.append("</Id><Selectable>True</Selectable><Selected>False</Selected></MetadataFormat>");
}
//logger.debug("MDFProva: Derivable "+keyTemp+" "+temp);
if(MDFHash.get(keyTemp.toString())!=null) MDFHash.get(keyTemp.toString()).add(temp.toString());
if(MDFHash.contains(keyTemp.toString())) MDFHash.get(keyTemp.toString()).add(temp.toString());
else{
tempArray=new ArrayList<String>();
tempArray.add(temp.toString());
@ -207,7 +209,10 @@ public class XMLUtil {
}
}
}catch(SQLException e){//logger.error("database error");
}catch(SQLException e){logger.error("hsqldb error");
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
StringBuilder resultString= new StringBuilder();
@ -350,7 +355,6 @@ public class XMLUtil {
}
toReturn.append("</Resultset>");
System.out.println(toReturn);
return toReturn.toString();
}