git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/vre-management/VREModeler@6483 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
63ad88d371
commit
3a0a4da776
|
@ -16,12 +16,24 @@
|
|||
<Dependency>
|
||||
<Service>
|
||||
<Class>VREManagement</Class>
|
||||
<Name>VREModeler</Name>
|
||||
<Name>VREModeler</Name>
|
||||
<Version>1.0.0</Version>
|
||||
</Service>
|
||||
<Package>VREModeler-stubs</Package>
|
||||
<Version>1.0.0</Version>
|
||||
<Scope level="GHN"/>
|
||||
<Optional>false</Optional>
|
||||
</Dependency>
|
||||
<Dependency>
|
||||
<Service>
|
||||
<Class>VREManagement</Class>
|
||||
<Name>VREManager</Name>
|
||||
<Version>1.0.0</Version>
|
||||
</Service>
|
||||
<Package>VREManager-stubs</Package>
|
||||
<Version>1.00.02</Version>
|
||||
<Scope level="GHN"/>
|
||||
<Optional>false</Optional>
|
||||
</Dependency>
|
||||
</Dependencies>
|
||||
<GARArchive>org.gcube.vremanagement.vremodeler.gar</GARArchive>
|
||||
|
|
|
@ -3,9 +3,13 @@ package org.gcube.vremanagement.vremodeler.impl;
|
|||
import java.rmi.RemoteException;
|
||||
import java.sql.Date;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Hashtable;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.rpc.ServiceException;
|
||||
|
||||
import org.gcube.common.core.contexts.GHNContext;
|
||||
import org.gcube.common.core.faults.GCUBEFault;
|
||||
import org.gcube.common.core.informationsystem.client.AtomicCondition;
|
||||
|
@ -14,6 +18,7 @@ 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.vremanagement.vremanager.stubs.vremanager.AddResourcesParameters;
|
||||
|
@ -38,11 +43,11 @@ import org.globus.wsrf.encoding.SerializationException;
|
|||
public class ModelerService {
|
||||
|
||||
private static final GCUBELog logger = new GCUBELog(ModelerService.class.getName());
|
||||
|
||||
|
||||
protected ModelerResource getResource() throws ResourceException{
|
||||
return (ModelerResource) ModelerContext.getPortTypeContext().getWSHome().find();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param request void
|
||||
|
@ -51,7 +56,7 @@ public class ModelerService {
|
|||
*
|
||||
*/
|
||||
public void setVREModel(VRERequest request) throws GCUBEFault{
|
||||
|
||||
|
||||
Date dateFrom=null, dateTo=null;
|
||||
ResultSet res=null;
|
||||
try {
|
||||
|
@ -60,33 +65,33 @@ public class ModelerService {
|
|||
{
|
||||
dateFrom=new Date(request.getStartTime());
|
||||
dateTo=new Date(request.getEndTime());
|
||||
DBInterface.queryDB("update VRE set name='"+request.getVREName()+"', description='"+request.getVREDescription()+"', dldesigner='"+request.getVREDesigner()+"', dlmanager= '"+request.getVREManager()+"', intervalfrom='"+dateFrom+"', intervalto='"+dateTo+"' where DL.id='"+getResource().getID()+"'; ");
|
||||
DBInterface.queryDB("update VRE set name='"+request.getVREName()+"', description='"+request.getVREDescription()+"', vredesigner='"+request.getVREDesigner()+"', vremanager= '"+request.getVREManager()+"', intervalfrom='"+dateFrom+"', intervalto='"+dateTo+"' where VRE.id='"+getResource().getID()+"'; ");
|
||||
}else{
|
||||
dateFrom=new Date(request.getStartTime());
|
||||
dateTo=new Date(request.getEndTime());
|
||||
String eprToString;
|
||||
try {
|
||||
eprToString = ObjectSerializer.toString(getResource().getEPR());
|
||||
//logger.debug("EPR: "+eprToString);
|
||||
//logger.debug("EPR: "+eprToString);
|
||||
} catch (SerializationException e) {
|
||||
//logger.error("VDL Model Service: error serializing EPR");
|
||||
throw new RemoteException("VDL Model Service: error serializing EPR",e);
|
||||
}
|
||||
|
||||
|
||||
DBInterface.ExecuteUpdate("insert into VRE values('"+getResource().getID()+"','"+request.getVREName()+"','"+request.getVREDescription()+"','"+request.getVREDesigner()+"','"+request.getVREManager()+"','"+dateFrom+"','"+dateTo+"','"+eprToString+"','In Progress'); ");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
//logger.error(e.getMessage());
|
||||
//e.printStackTrace();
|
||||
throw new GCUBEFault(e);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
|
@ -95,11 +100,11 @@ public class ModelerService {
|
|||
* @throws RemoteException -
|
||||
*/
|
||||
public String getVREModel(VOID var) throws GCUBEFault{
|
||||
|
||||
|
||||
|
||||
|
||||
String toReturn =null;
|
||||
ResultSet res=null;
|
||||
|
||||
|
||||
//logger.debug("Request DL with ID "+ID);
|
||||
try {
|
||||
String ID=getResource().getId();
|
||||
|
@ -112,7 +117,7 @@ public class ModelerService {
|
|||
}
|
||||
return toReturn;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* return an XML containing the DHN list
|
||||
*
|
||||
|
@ -127,19 +132,19 @@ public class ModelerService {
|
|||
try{
|
||||
DBInterface.connect();
|
||||
res= DBInterface.queryDB("select * from GHN;");
|
||||
|
||||
|
||||
ResultSet resRelated= DBInterface.queryDB("select ghnid from VRERELATEDGHN where VRERELATEDGHN.vreid='"+getResource().getId()+"';");
|
||||
while(resRelated.next())
|
||||
relatedGHN.add(resRelated.getString(1));
|
||||
|
||||
|
||||
|
||||
|
||||
}catch(Exception e) {
|
||||
logger.error("VDL Model: error retreiving GHNs"+e);
|
||||
throw new GCUBEFault(e);}
|
||||
return XMLUtil.PrepareGHNsXML(res, relatedGHN);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Set the selected DHN
|
||||
*
|
||||
|
@ -151,9 +156,9 @@ public class ModelerService {
|
|||
try{
|
||||
String instanceID=(String) getResource().getId();
|
||||
DBInterface.ExecuteUpdate("DELETE FROM VRERELATEDDHN WHERE VRERELATEDDHN.vreid='"+instanceID+"';");
|
||||
|
||||
|
||||
String dlKey=instanceID;
|
||||
|
||||
|
||||
ArrayList<List<String>> values= new ArrayList<List<String>>(request.getGHNElement().length);
|
||||
ArrayList<String> row=null;
|
||||
for (int i=0; i<request.getGHNElement().length; i++)
|
||||
|
@ -163,13 +168,13 @@ public class ModelerService {
|
|||
row.add(request.getGHNElement()[i]);
|
||||
values.add(row);
|
||||
}
|
||||
|
||||
|
||||
DBInterface.InsertInto("VRERELATEDGHN", values);
|
||||
}catch(Exception e){throw new GCUBEFault(e);}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* Return an XML with all the collection selectable
|
||||
|
@ -184,18 +189,18 @@ public class ModelerService {
|
|||
try{
|
||||
DBInterface.connect();
|
||||
res= DBInterface.queryDB("select * from COLLECTION;");
|
||||
|
||||
|
||||
ResultSet resRelated= DBInterface.queryDB("select collid from VRERELATEDCOLLECTION where VRERELATEDCOLLECTION.dlid='"+getResource().getId()+"';");
|
||||
while(resRelated.next()){
|
||||
relatedCollection.add(resRelated.getString(1));
|
||||
}
|
||||
|
||||
|
||||
}catch(Exception e) {//logger.error("VDL Model: error on DB");
|
||||
throw new GCUBEFault(e);}
|
||||
|
||||
|
||||
return XMLUtil.PrepareCollectionXML(res, relatedCollection);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* Insert in the DB the selected collection
|
||||
|
@ -208,9 +213,9 @@ public class ModelerService {
|
|||
try{
|
||||
DBInterface.connect();
|
||||
DBInterface.ExecuteUpdate("DELETE FROM VRERELATEDCOLLECTION WHERE VRERELATEDCOLLECTION.vreid='"+getResource().getID()+"';");
|
||||
|
||||
|
||||
String dlKey=(String) getResource().getId();
|
||||
|
||||
|
||||
ArrayList<List<String>> values= new ArrayList<List<String>>(request.getCollectionElement().length);
|
||||
ArrayList<String> row=null;
|
||||
for (int i=0; i<request.getCollectionElement().length; i++)
|
||||
|
@ -222,9 +227,9 @@ public class ModelerService {
|
|||
DBInterface.connect();
|
||||
DBInterface.InsertInto("VRERELATEDCOLLECTION", values);
|
||||
}catch(Exception e){throw new GCUBEFault(e);}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return the possibles metadata format for selected collection
|
||||
*
|
||||
|
@ -235,12 +240,12 @@ public class ModelerService {
|
|||
public String getMetadataRelatedToCollection() throws GCUBEFault {
|
||||
ResultSet resDerivable, resNative, collectionRelated, totalMF;
|
||||
String preparedWhere="";
|
||||
|
||||
|
||||
Hashtable<String, ArrayList<String>> selectedMetadataStructure= new Hashtable<String, ArrayList<String>>();
|
||||
boolean enter=false;
|
||||
try{
|
||||
DBInterface.connect();
|
||||
|
||||
|
||||
collectionRelated= DBInterface.queryDB("select VRERELATEDCOLLECTION.collid from VRERELATEDCOLLECTION where DLRELATEDCOLLECTION.dlid='"+getResource().getId()+"';");
|
||||
//select only the resuls related with selected collection
|
||||
preparedWhere= " and ( ";
|
||||
|
@ -248,9 +253,9 @@ public class ModelerService {
|
|||
enter=true;
|
||||
preparedWhere+= " mdc.collid='"+collectionRelated.getString(1)+"' or ";
|
||||
}
|
||||
|
||||
|
||||
ResultSet metadataSelected= DBInterface.queryDB("select collid, mfid from VRERELATEDMETADATAFORMAT where vreid='"+getResource().getID()+"';");
|
||||
|
||||
|
||||
//recovering possible previsious selection for metadataFormat
|
||||
while (metadataSelected.next()){
|
||||
if(selectedMetadataStructure.containsKey(metadataSelected.getString(1)))
|
||||
|
@ -261,30 +266,30 @@ public class ModelerService {
|
|||
selectedMetadataStructure.put(metadataSelected.getString(1), temp);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(!enter) throw new RemoteException("no collection selected for this DL");
|
||||
else preparedWhere=preparedWhere.substring(0, preparedWhere.length()-4)+") ";
|
||||
|
||||
|
||||
totalMF = DBInterface.queryDB("select MDFORMAT.id, MDFORMAT.name, MDFORMAT.schemauri, MDFORMAT.language from MDFORMAT;");
|
||||
|
||||
|
||||
|
||||
|
||||
resDerivable= DBInterface.queryDB("select mdc.collid, mdc.collname, mdc.colldesc , collmdf.id as mdfid from (select * from DERIVABLEMDF INNER JOIN MDFORMAT on DERIVABLEMDF.mdfid= MDFORMAT.id) " +
|
||||
"as COLLMDF,(select COLLECTION.id as collid, COLLECTION.name as collname, COLLECTION.description as colldesc, MDCOLLECTION.id as mdid from COLLECTION INNER JOIN MDCOLLECTION " +
|
||||
"ON COLLECTION.id = MDCOLLECTION.relatedcollectionid) as MDC where COLLMDF.mdcollid= MDC.mdid "+preparedWhere+";");
|
||||
|
||||
|
||||
resNative= DBInterface.queryDB("select mdc.collid, mdc.collname, mdc.colldesc , collmdf.id as mdfid from (select * from NATIVEMDF INNER JOIN MDFORMAT on NATIVEMDF.mdfid= MDFORMAT.id) " +
|
||||
"as COLLMDF,(select COLLECTION.id as collid, COLLECTION.name as collname, COLLECTION.description as colldesc, MDCOLLECTION.id as mdid from COLLECTION INNER JOIN MDCOLLECTION " +
|
||||
"ON COLLECTION.id = MDCOLLECTION.relatedcollectionid) as MDC where COLLMDF.mdcollid= MDC.mdid "+preparedWhere+";");
|
||||
|
||||
"ON COLLECTION.id = MDCOLLECTION.relatedcollectionid) as MDC where COLLMDF.mdcollid= MDC.mdid "+preparedWhere+";");
|
||||
|
||||
}catch(Exception e) {//logger.error("ModelService: "+e.getMessage());
|
||||
throw new GCUBEFault(e);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return XMLUtil.PrepareMCFormatXML(null, null, null, selectedMetadataStructure);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* Sets selected Metadata Format
|
||||
|
@ -298,7 +303,7 @@ public class ModelerService {
|
|||
DBInterface.ExecuteUpdate("DELETE FROM VRERELATEDMETADATAFORMAT WHERE VRERELATEDMETADATAFORMAT.vreid='"+getResource().getId()+"';");
|
||||
//String[] singleElement;
|
||||
String key=(String) getResource().getId();
|
||||
|
||||
|
||||
//logger.debug(request.getCollectionIDArray().length+" "+request.getMdFormatIDArray().length+" "+request.getCheckedArray().length+" "+request.getCheckedArray(0).getCheckedRowElement().length);
|
||||
ArrayList<List<String>> values= new ArrayList<List<String>>(request.getCollectionIDArray().length);
|
||||
ArrayList<String> row=null;
|
||||
|
@ -311,15 +316,15 @@ public class ModelerService {
|
|||
row.add(request.getCollectionIDArray(i));
|
||||
row.add(request.getMdFormatIDArray(j));
|
||||
values.add(row);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
DBInterface.InsertInto("VRERELATEDMETADATAFORMAT", values);
|
||||
}catch(Exception e){throw new GCUBEFault(e);}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Return an xml with the selectable functionalities
|
||||
* String
|
||||
|
@ -329,13 +334,13 @@ public class ModelerService {
|
|||
* @throws RemoteException -
|
||||
*/
|
||||
public String getFunctionality(VOID var) throws GCUBEFault {
|
||||
|
||||
|
||||
ResultSet resFunct=null;
|
||||
ResultSet selectedFuncRes=null;
|
||||
ResultSet selectedCSRes=null;
|
||||
ArrayList<Integer> selectedFunctionality= new ArrayList<Integer>();
|
||||
ArrayList<String> selectedCS= new ArrayList<String>();
|
||||
|
||||
|
||||
try {
|
||||
DBInterface.connect();
|
||||
resFunct= DBInterface.queryDB("select * from functionality where father is null;");
|
||||
|
@ -350,11 +355,11 @@ public class ModelerService {
|
|||
e.printStackTrace();
|
||||
throw new GCUBEFault(e);
|
||||
}
|
||||
|
||||
|
||||
return XMLUtil.PrepareFunctionalityXML(resFunct, selectedFunctionality, selectedCS);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
|
@ -366,11 +371,11 @@ public class ModelerService {
|
|||
try{
|
||||
DBInterface.ExecuteUpdate("DELETE FROM VRERELATEDFUNCT WHERE VRERELATEDFUNCT.vreid='"+getResource().getId()+"';");
|
||||
DBInterface.ExecuteUpdate("DELETE FROM VRERELATEDCS WHERE VRERELATEDCS.vreid='"+getResource().getId()+"';");
|
||||
|
||||
|
||||
|
||||
|
||||
String dlKey=(String) getResource().getId();
|
||||
//logger.debug("KEY: "+dlKey);
|
||||
|
||||
|
||||
if (request.getFunctionalityIDElement()!=null){
|
||||
ArrayList<List<String>> values= new ArrayList<List<String>>(request.getFunctionalityIDElement().length);
|
||||
ArrayList<String> row=null;
|
||||
|
@ -381,15 +386,15 @@ public class ModelerService {
|
|||
row.add(request.getFunctionalityIDElement()[i]);
|
||||
values.add(row);
|
||||
}
|
||||
|
||||
|
||||
DBInterface.InsertInto("VRERELATEDFUNCT", values);
|
||||
}
|
||||
|
||||
|
||||
if (request.getCsIDElement()!=null)
|
||||
{
|
||||
ArrayList<List<String>> values= new ArrayList<List<String>>(request.getCsIDElement().length);
|
||||
ArrayList<String> row=null;
|
||||
|
||||
|
||||
for (int i=0; i<request.getCsIDElement().length; i++)
|
||||
{
|
||||
row= new ArrayList<String>(2);
|
||||
|
@ -397,13 +402,13 @@ public class ModelerService {
|
|||
row.add(request.getCsIDElement()[i]);
|
||||
values.add(row);
|
||||
}
|
||||
|
||||
|
||||
DBInterface.InsertInto("VRERELATEDCS", values);
|
||||
}
|
||||
}catch(Exception e){throw new GCUBEFault(e);}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return an XML with Quality parameter to insert
|
||||
*
|
||||
|
@ -414,8 +419,8 @@ public class ModelerService {
|
|||
public String getQuality(VOID var) throws GCUBEFault{
|
||||
return XMLUtil.PrepareQualityXML();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Sets Quality parameters
|
||||
*
|
||||
|
@ -423,9 +428,9 @@ public class ModelerService {
|
|||
* @throws RemoteException -
|
||||
*/
|
||||
public void setQuality(String request) throws GCUBEFault{
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* set the DL state to Pending
|
||||
|
@ -439,7 +444,7 @@ public class ModelerService {
|
|||
DBInterface.ExecuteUpdate("UPDATE VRE SET STATUS='Pending' WHERE VRE.id='"+getResource().getId()+"';");
|
||||
}catch(Exception e){throw new GCUBEFault(e);}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param request
|
||||
|
@ -447,103 +452,121 @@ public class ModelerService {
|
|||
* @throws RemoteException -
|
||||
*/
|
||||
public void deployVRE(VOID var) throws GCUBEFault{
|
||||
boolean contactedVRE= false;
|
||||
try {
|
||||
DBInterface.ExecuteUpdate("UPDATE VRE SET STATUS='Deploying' WHERE VRE.id='"+getResource().getId()+"';");
|
||||
} catch (ResourceException e1) {
|
||||
throw new GCUBEFault(e1);
|
||||
}
|
||||
|
||||
|
||||
VREManagerServiceAddressingLocator vreManAL= new VREManagerServiceAddressingLocator();
|
||||
VREManagerPortType vreManagerPT= null;
|
||||
try {
|
||||
|
||||
List<GCUBERunningInstance> ris= null;
|
||||
try{
|
||||
ISClient client= GHNContext.getImplementation(ISClient.class);
|
||||
GCUBERIQuery query=client.getQuery(GCUBERIQuery.class);
|
||||
query.addAtomicConditions(new AtomicCondition("//ServiceName", "VREManager"));
|
||||
query.addAtomicConditions(new AtomicCondition("//ServiceClass", "VREManagement"));
|
||||
List<GCUBERunningInstance> ris= client.execute(query, ServiceContext.getContext().getScope());
|
||||
ris = client.execute(query, ServiceContext.getContext().getScope());
|
||||
}catch (Exception e) { logger.error("Error Excecuting Query"); throw new GCUBEFault(e);}
|
||||
|
||||
for (GCUBERunningInstance ri: ris){
|
||||
try{
|
||||
vreManagerPT=vreManAL.getVREManagerPortTypePort(ri.getAccessPoint().getEndpoint("gcube/vremanagement/VREManager"));
|
||||
|
||||
|
||||
|
||||
//TODO: set properties values
|
||||
OptionsParameters ops=new OptionsParameters();
|
||||
ScopeOption[] scopeOptionList= new ScopeOption[6];
|
||||
ScopeOption soDesigner= new ScopeOption();
|
||||
soDesigner.setName("DESIGNER");
|
||||
scopeOptionList[0]= soDesigner;
|
||||
|
||||
ScopeOption soCreator= new ScopeOption();
|
||||
soCreator.setName("CREATOR");
|
||||
scopeOptionList[1]= soCreator;
|
||||
|
||||
ScopeOption soEndtime= new ScopeOption();
|
||||
soEndtime.setName("ENDTIME");
|
||||
scopeOptionList[2]= soEndtime;
|
||||
|
||||
ScopeOption soStarttime= new ScopeOption();
|
||||
soStarttime.setName("STARTTIME");
|
||||
scopeOptionList[3]= soStarttime;
|
||||
|
||||
ScopeOption soDescription= new ScopeOption();
|
||||
soDescription.setName("DESCRIPTION");
|
||||
scopeOptionList[4]= soDescription;
|
||||
|
||||
ScopeOption soDisplayname= new ScopeOption();
|
||||
soDisplayname.setName("DISPLAYNAME");
|
||||
scopeOptionList[5]= soDisplayname;
|
||||
|
||||
ops.setScopeOptionList(scopeOptionList);
|
||||
|
||||
vreManagerPT.setScopeOptions(ops);
|
||||
|
||||
//ResourceItem resItem= new ResourceItem();
|
||||
|
||||
AddResourcesParameters arp= new AddResourcesParameters();
|
||||
ResourceList rl= new ResourceList();
|
||||
List<ResourceItem> resItemList= new ArrayList<ResourceItem>();
|
||||
ResourceItem resItem= null;
|
||||
|
||||
//retrieving Collection
|
||||
ResultSet resRelatedCol =DBInterface.queryDB("select DLRELATEDCOLLECTION.collid from DLRELATEDCOLLECTION where DLRELATEDCOLLECTION.dlid='"+getResource().getId()+"';");
|
||||
while (resRelatedCol.next()){
|
||||
resItem= new ResourceItem();
|
||||
resItem.setID(resRelatedCol.getString(1));
|
||||
resItem.setType(GCUBECollection.TYPE);
|
||||
}
|
||||
|
||||
|
||||
ResultSet resRelatedMetadataCol =DBInterface.queryDB("select VRERELATEDCOLLECTION.collid from DLRELATEDCOLLECTION where VRERELATEDCOLLECTION.dlid='"+getResource().getId()+"';");
|
||||
while (resRelatedCol.next()){
|
||||
resItem= new ResourceItem();
|
||||
resItem.setID(resRelatedCol.getString(1));
|
||||
resItem.setType(GCUBEMCollection.TYPE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//retrieving MetadataCollection
|
||||
|
||||
|
||||
|
||||
|
||||
//vreManagerPT.addResources(arg0)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}catch(Exception e){logger.debug("trying next ri");}
|
||||
}
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
throw new GCUBEFault("cannot retrieve VREManager");
|
||||
String resourceID;
|
||||
try {
|
||||
resourceID = getResource().getId();
|
||||
} catch (ResourceException e) {
|
||||
logger.error("Error retrieving the Resource Query"); throw new GCUBEFault(e);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
for (GCUBERunningInstance ri: ris){
|
||||
try{
|
||||
vreManagerPT=vreManAL.getVREManagerPortTypePort(ri.getAccessPoint().getEndpoint("gcube/vremanagement/VREManager"));
|
||||
|
||||
OptionsParameters ops;
|
||||
try{
|
||||
ResultSet resGenericInfo=DBInterface.queryDB("select * from VRE where VRE.id='"+resourceID+"'; ");
|
||||
|
||||
if (!resGenericInfo.next()) throw new GCUBEFault("The VRE with ID "+resourceID+" cannot be retrieved");
|
||||
//TODO: set properties values
|
||||
ops=new OptionsParameters();
|
||||
ScopeOption[] scopeOptionList= new ScopeOption[6];
|
||||
ScopeOption soDesigner= new ScopeOption();
|
||||
soDesigner.setName("DESIGNER");
|
||||
soDesigner.setValue(resGenericInfo.getString("vredesigner"));
|
||||
scopeOptionList[0]= soDesigner;
|
||||
|
||||
ScopeOption soCreator= new ScopeOption();
|
||||
soCreator.setName("CREATOR");
|
||||
soCreator.setValue(resGenericInfo.getString("vremanager"));
|
||||
scopeOptionList[1]= soCreator;
|
||||
|
||||
ScopeOption soEndtime= new ScopeOption();
|
||||
soEndtime.setName("ENDTIME");
|
||||
soEndtime.setValue(KGCUBEResource.toXMLDateAndTime(resGenericInfo.getDate("IntervalTo")));
|
||||
scopeOptionList[2]= soEndtime;
|
||||
|
||||
ScopeOption soStarttime= new ScopeOption();
|
||||
soStarttime.setName("STARTTIME");
|
||||
soStarttime.setValue(KGCUBEResource.toXMLDateAndTime(resGenericInfo.getDate("IntervalFrom")));
|
||||
scopeOptionList[3]= soStarttime;
|
||||
|
||||
ScopeOption soDescription= new ScopeOption();
|
||||
soDescription.setName("DESCRIPTION");
|
||||
soDescription.setValue(resGenericInfo.getString("description"));
|
||||
scopeOptionList[4]= soDescription;
|
||||
|
||||
ScopeOption soDisplayname= new ScopeOption();
|
||||
soDisplayname.setName("DISPLAYNAME");
|
||||
soDisplayname.setValue(resGenericInfo.getString("name"));
|
||||
scopeOptionList[5]= soDisplayname;
|
||||
|
||||
ops.setScopeOptionList(scopeOptionList);
|
||||
}catch(SQLException e) {logger.error("cannot retreive the VRE"); throw new GCUBEFault(e);}
|
||||
//sending scope options
|
||||
vreManagerPT.setScopeOptions(ops);
|
||||
|
||||
|
||||
AddResourcesParameters arp= new AddResourcesParameters();
|
||||
ResourceList rl= new ResourceList();
|
||||
List<ResourceItem> resItemList= new ArrayList<ResourceItem>();
|
||||
ResourceItem resItem= null;
|
||||
|
||||
//retrieving Collection
|
||||
try{
|
||||
ResultSet resRelatedCol =DBInterface.queryDB("select VRERELATEDCOLLECTION.collid from VRERELATEDCOLLECTION where VRERELATEDCOLLECTION.dlid='"+resourceID+"';");
|
||||
while (resRelatedCol.next()){
|
||||
resItem= new ResourceItem();
|
||||
resItem.setID(resRelatedCol.getString(1));
|
||||
resItem.setType(GCUBECollection.TYPE);
|
||||
resItemList.add(resItem);
|
||||
}
|
||||
}catch(SQLException sqle){logger.error("Error contacting HSQLDB");}
|
||||
|
||||
/*
|
||||
ResultSet resRelatedMetadataCol =DBInterface.queryDB("select VRERELATEDCOLLECTION.collid from DLRELATEDCOLLECTION where VRERELATEDCOLLECTION.dlid='"+getResource().getId()+"';");
|
||||
while (resRelatedCol.next()){
|
||||
resItem= new ResourceItem();
|
||||
resItem.setID(resRelatedCol.getString(1));
|
||||
resItem.setType(GCUBEMCollection.TYPE);
|
||||
}
|
||||
*/
|
||||
|
||||
contactedVRE= true;
|
||||
}catch(RemoteException re){logger.warn("Error Contacting VREManager, trying next RI"); contactedVRE= false;}
|
||||
catch(ServiceException se1){logger.warn("Error Contacting VREManager, trying next RI"); contactedVRE= false;}
|
||||
}
|
||||
|
||||
if (!contactedVRE) {
|
||||
logger.error("Error Contacting VREManager");
|
||||
throw new GCUBEFault("Error Contacting VREManager");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
DLManagementFactoryServiceAddressingLocator dlMan=new DLManagementFactoryServiceAddressingLocator();
|
||||
try {
|
||||
//retreive and connect to the DLManagement
|
||||
|
@ -558,7 +581,7 @@ public class ModelerService {
|
|||
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));
|
||||
|
@ -571,29 +594,29 @@ public class ModelerService {
|
|||
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;");
|
||||
|
@ -602,38 +625,38 @@ public class ModelerService {
|
|||
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);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue