git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/vre-management/VREModeler@7893 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
a8337ffc47
commit
7e17f8c6bd
|
@ -22,6 +22,7 @@ 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.common.vremanagement.ghnmanager.impl.contexts.ServiceContext;
|
||||
import org.gcube.metadatamanagement.metadatabroker.stubs.FindPossibleTransformationPrograms;
|
||||
import org.gcube.metadatamanagement.metadatabroker.stubs.FindPossibleTransformationProgramsResponse;
|
||||
import org.gcube.metadatamanagement.metadatabroker.stubs.MetadataBrokerFormat;
|
||||
|
@ -31,12 +32,14 @@ import org.gcube.vremanagement.vremanager.stubs.vremanager.AddResourcesParameter
|
|||
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.ServiceItem;
|
||||
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.VREManagerServiceHandler;
|
||||
import org.gcube.vremanagement.vremodeler.impl.util.XMLUtil;
|
||||
import org.gcube.vremanagement.vremodeler.stubs.CollectionArray;
|
||||
import org.gcube.vremanagement.vremodeler.stubs.FunctionalityIDArray;
|
||||
|
@ -482,6 +485,27 @@ public class ModelerService {
|
|||
* @throws RemoteException -
|
||||
*/
|
||||
public void deployVRE(VOID var) throws GCUBEFault{
|
||||
|
||||
// couple: first String is the VREName, second string is the GHNId
|
||||
VREManagerServiceHandler<String, Couple<String, String>> vreManagerHandler= new VREManagerServiceHandler<String,Couple<String, String>>(){
|
||||
|
||||
@Override
|
||||
protected String makeCall(VREManagerPortType mbportType)
|
||||
throws Exception {
|
||||
AddResourcesParameters arp= new AddResourcesParameters();
|
||||
ServiceList services= new ServiceList();
|
||||
ServiceItem[] service= new ServiceItem[1];
|
||||
service[0].setServiceClass("VREManagement");
|
||||
service[0].setServiceName("VREManager");
|
||||
service[0].setServiceVersion("1.00.00");
|
||||
services.setService(service);
|
||||
services.setGHN(new String[]{this.getParameter().second});
|
||||
arp.setServices(services);
|
||||
arp.setTargetScope(ServiceContext.getContext().getScope().toString()+"/"+this.getParameter().first);
|
||||
return mbportType.addResources(arp);
|
||||
}
|
||||
};
|
||||
|
||||
boolean contactedVRE= false;
|
||||
try {
|
||||
DBInterface.ExecuteUpdate("UPDATE VRE SET STATUS='Deploying' WHERE VRE.id='"+getResource().getId()+"';");
|
||||
|
@ -590,13 +614,13 @@ public class ModelerService {
|
|||
try{
|
||||
ResultSet resMdColDerivate =DBInterface.queryDB("select mdcollid, tpid from SELECTEDDERIVATEMDFROMAT AS s where s.vreid='"+resourceID+"';");
|
||||
|
||||
MBrokerServiceHandler<String, Couple> sHandler= new MBrokerServiceHandler<String,Couple>(){
|
||||
MBrokerServiceHandler<String, Couple<String, String>> sHandler= new MBrokerServiceHandler<String,Couple<String, String>>(){
|
||||
|
||||
@Override
|
||||
protected String makeCall(MetadataBrokerPortType mbportType) throws Exception {
|
||||
FindPossibleTransformationPrograms fptp= new FindPossibleTransformationPrograms();
|
||||
Transform t= new Transform();
|
||||
t.setTransformationProgramID(this.getParameter().tpID);
|
||||
t.setTransformationProgramID(this.getParameter().second);
|
||||
String toReturn= mbportType.transform(t);
|
||||
return toReturn;
|
||||
}
|
||||
|
@ -633,114 +657,22 @@ public class ModelerService {
|
|||
throw new GCUBEFault("Error Contacting VREManager");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
DLManagementFactoryServiceAddressingLocator dlMan=new DLManagementFactoryServiceAddressingLocator();
|
||||
try {
|
||||
//retreive and connect to the DLManagement
|
||||
EndpointReferenceType eprDLMan= new EndpointReferenceType(new AttributedURI(DISHLSClient.getRunningInstanceManager(null, getMyEPR()).getEPRsRIFromClassAndName("Keeper", "DLManagement", "diligentproject/keeperservice/dlmanagement/DLManagementFactoryService", null, getMyEPR())[0]));
|
||||
DLManagementFactoryPortType dlManagementFactory= dlMan.getDLManagementFactoryPortTypePort(eprDLMan);
|
||||
// authorization control (if in the container the security is enabled)
|
||||
if (ModelFactoryService.isSecurityEnabled){
|
||||
CredentialManager cred= new CredentialManager();
|
||||
ConfigureSecurity.setSecurity(((javax.xml.rpc.Stub)dlManagementFactory), cred.getCredentials());
|
||||
}
|
||||
logger.debug("DLManagement retreived");
|
||||
String dlId=(String)getResource().getId();
|
||||
CreateDLMessage createDLMessage= new CreateDLMessage();
|
||||
createDLMessage.setVDLUniqueID(dlId);
|
||||
|
||||
ResultSet dlGenRes= DBInterface.queryDB("select name, description, dldesigner, dlmanager, intervalto, id from DL where DL.id='"+dlId+"';");
|
||||
if (dlGenRes.next()){
|
||||
createDLMessage.setDLName((new NAL().getDefaultVO())+"/"+dlGenRes.getString(1));
|
||||
createDLMessage.setDescription(dlGenRes.getString(2));
|
||||
createDLMessage.setDLDesigner(dlGenRes.getString(3));
|
||||
createDLMessage.setDLManager(dlGenRes.getString(4));
|
||||
Calendar terminationTime=Calendar.getInstance();
|
||||
terminationTime.setTime(dlGenRes.getDate(5));
|
||||
createDLMessage.setDLTerminationTime(terminationTime);
|
||||
createDLMessage.setVDLUniqueID(dlGenRes.getString(6));
|
||||
createDLMessage.setIsSecurityEnabled(ModelFactoryService.isSecurityEnabled);
|
||||
}else throw new RemoteException("VDLModel Service: impossible to retreive specific DL");
|
||||
|
||||
//logger.debug("Setted first parameters");
|
||||
|
||||
ArrayList<String> tempArray= new ArrayList<String>();
|
||||
|
||||
//retreive and set collection ids
|
||||
ResultSet dlCollRes= DBInterface.queryDB("select collid from DLRELATEDCOLLECTION where DLRELATEDCOLLECTION.dlid='"+dlId+"';");
|
||||
for (int i=0; dlCollRes.next(); i++)
|
||||
tempArray.add(dlCollRes.getString(1));
|
||||
|
||||
createDLMessage.setColIDsList(tempArray.toArray(new String[0]));
|
||||
|
||||
|
||||
tempArray= new ArrayList<String>();
|
||||
//retreive Metadata IDs
|
||||
ResultSet dlMetadataRes=DBInterface.queryDB("select DISTINCT NATIVEMDF.MDCOLLID from DLRELATEDMETADATAFORMAT, NATIVEMDF where DLRELATEDMETADATAFORMAT.mfid=NATIVEMDF.mdfid and DLRELATEDMETADATAFORMAT.dlid='"+dlId+"';");
|
||||
for (int i=0; dlMetadataRes.next(); i++)
|
||||
tempArray.add(dlMetadataRes.getString(1));
|
||||
|
||||
createDLMessage.setMcIDsList(tempArray.toArray(new String[0]));
|
||||
|
||||
//TODO: TP retriving is a mistery :)
|
||||
|
||||
//adding functionality to DLManagement request
|
||||
tempArray= new ArrayList<String>();
|
||||
ResultSet dlRelatedFunctionality=DBInterface.queryDB("select RELATEDSERVICEID.id from RELATEDSERVICEID, SERVICES, DLRELATEDFUNCT where DLRELATEDFUNCT.dlid='"+dlId+"' and SERVICES.id=DLRELATEDFUNCT.funcid and SERVICES.class=RELATEDSERVICEID.class and SERVICES.name=RELATEDSERVICEID.name;");
|
||||
for (int i=0; dlRelatedFunctionality.next(); i++){
|
||||
tempArray.add(dlRelatedFunctionality.getString(1));
|
||||
logger.debug("ServiceID: "+dlRelatedFunctionality.getString(1));
|
||||
}
|
||||
createDLMessage.setServiceIDsList(tempArray.toArray(new String[0]));
|
||||
|
||||
//adding DHN to DLManagement request
|
||||
tempArray= new ArrayList<String>();
|
||||
ResultSet dlRelatedDHN=DBInterface.queryDB("select DLRELATEDDHN.dhnid from DLRELATEDDHN where DLRELATEDDHN.dlid='"+dlId+"'");
|
||||
for (int i=0; dlRelatedDHN.next(); i++)
|
||||
tempArray.add(dlRelatedDHN.getString(1));
|
||||
|
||||
createDLMessage.setDhnIDsList(tempArray.toArray(new String[0]));
|
||||
|
||||
|
||||
//adding cs to DLManagement request
|
||||
tempArray= new ArrayList<String>();
|
||||
ResultSet dlCSRes= DBInterface.queryDB("select csid from DLRELATEDCS where DLRELATEDCS.dlid='"+getResource().getId()+"';");
|
||||
for (int i=0; dlCSRes.next(); i++)
|
||||
tempArray.add(dlCSRes.getString(1));
|
||||
createDLMessage.setCsIDsList(tempArray.toArray(new String[0]));
|
||||
|
||||
|
||||
//DLManagement invocation
|
||||
dlManagementFactory.createDL(createDLMessage);
|
||||
|
||||
} catch (Exception e) {
|
||||
logger.error("VDLModel Service: Error Deploying DL "+e.getMessage());
|
||||
e.printStackTrace();
|
||||
DBInterface.ExecuteUpdate("UPDATE DL SET STATUS='Failed' WHERE DL.id='"+getResource().getId()+"';");
|
||||
throw new RemoteException("VDLModel Service: Error Deploying DL" ,e);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* inner class for couple
|
||||
* @author lucio
|
||||
*
|
||||
*/
|
||||
public class Couple{
|
||||
public class Couple<F,S>{
|
||||
|
||||
public String collectioID;
|
||||
public String tpID;
|
||||
public F first;
|
||||
public S second;
|
||||
|
||||
public Couple(String collid, String tpid){
|
||||
this.collectioID=collid;
|
||||
this.tpID= tpID;
|
||||
public Couple(F first, S second){
|
||||
this.first=first;
|
||||
this.second= second;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue