This commit is contained in:
Lucio Lelii 2009-02-20 18:29:41 +00:00
parent f4361863b7
commit f7ededc5c1
5 changed files with 23 additions and 13 deletions

View File

@ -16,7 +16,7 @@ CREATE MEMORY TABLE VRERELATEDCOLLECTION(VREID VARCHAR NOT NULL,COLLID VARCHAR N
CREATE MEMORY TABLE VRERELATEDGHN(VREID VARCHAR NOT NULL,GHNID VARCHAR NOT NULL,PRIMARY KEY(VREID,GHNID))
CREATE MEMORY TABLE VRERELATEDCS(VREID VARCHAR NOT NULL,CSID VARCHAR NOT NULL,PRIMARY KEY(VREID,CSID))
CREATE MEMORY TABLE VRERELATEDMETADATAFORMAT(VREID VARCHAR,COLLID VARCHAR,MFID VARCHAR)
CREATE MEMORY TABLE SERVICES(ID INTEGER NOT NULL,NAME VARCHAR NOT NULL,CLASS VARCHAR NOT NULL, VERSION VARCHAR NOT NULL, PRIMARY KEY(NAME,CLASS),CONSTRAINT SYS_FK_189 FOREIGN KEY(ID) REFERENCES FUNCTIONALITY(ID))
CREATE MEMORY TABLE SERVICES(ID INTEGER NOT NULL,NAME VARCHAR NOT NULL,CLASS VARCHAR NOT NULL, VERSION VARCHAR NOT NULL, PRIMARY KEY(ID,NAME,CLASS),CONSTRAINT SYS_FK_189 FOREIGN KEY(ID) REFERENCES FUNCTIONALITY(ID))
CREATE MEMORY TABLE VRERELATEDFUNCT(VREID VARCHAR NOT NULL,FUNCID VARCHAR NOT NULL,PRIMARY KEY(VREID,FUNCID))
CREATE MEMORY TABLE RELATEDSERVICEID(ID VARCHAR NOT NULL PRIMARY KEY,NAME VARCHAR NOT NULL,CLASS VARCHAR NOT NULL)
CREATE MEMORY TABLE PORTLETRELTOFUNCT(FUNCID INTEGER NOT NULL,PORTLETCLASS VARCHAR NOT NULL, FOREIGN KEY(FUNCID) REFERENCES FUNCTIONALITY(ID) )

View File

@ -61,11 +61,6 @@ public class ModelFactoryService extends GCUBEStartupPortType{
res= DBInterface.queryDB("select VRE.name from VRE;");
while (res.next())
toReturn.add(res.getString(1));
//String customXquery="for $query in collection(\"/db/Profiles/VDL\")//Document/Data/child::*[local-name()='Profile']/DILIGENTResource return <name>$query/Profile/Name/string()</name>";
//String queryResult= DISHLSClient.getGeneralQueryManager(cred, factoryEPR).queryDISIC(customXquery,cred, factoryEPR);
//logger.debug("VDL get Name QUERY: "+queryResult);
}catch(Exception e) {logger.error("VRE Model: error on DB"); throw new GCUBEFault(e);}
GetExistingNamesResponseMessage response = new GetExistingNamesResponseMessage();
response.setNames(toReturn.toArray(new String[0]));

View File

@ -139,19 +139,22 @@ public class DeployVRE extends Thread{
Couple<String, String> ghnId=null;
for (Couple<String, String> cpl: getParameter().second){
if (this.getCachedEPR().getAddress().getHost().contains(cpl.second)){
if (this.usedhost.contains(cpl.second)){
ghnId=cpl;
break;
}
}
if (ghnId==null) ghnId=getParameter().second.get(0);
logger.debug("deploying the VREManager for the vre on "+ ghnId.second);
services.setGHN(new String[]{ghnId.first});
arp.setServices(services);
arp.setTargetScope(this.scope+"/"+this.getParameter().first);
String reportId=mbportType.addResources(arp);
getParameter().second.remove(ghnId);
String reportId=mbportType.addResources(arp);
int attempt=0;
do{
Thread.currentThread().sleep(20000);
@ -160,6 +163,7 @@ public class DeployVRE extends Thread{
getResource().setFirstReport(report);
getResource().store();
}while (!isDeploymentStatusFinished(report) && attempt<10);
}catch(Exception e){e.printStackTrace(); throw e;}
logger.trace("report step 1: "+report);
logger.info("is something failed in the first step?"+isSomethingFailed(report));
@ -257,6 +261,7 @@ public class DeployVRE extends Thread{
while (resRelatedCol.next()){
resItem= new ResourceItem();
resItem.setID(resRelatedCol.getString(1));
logger.debug("selected collection:"+ resItem.getID());
resItem.setType(GCUBECollection.TYPE);
resItemList.add(resItem);
}
@ -269,7 +274,7 @@ public class DeployVRE extends Thread{
while (resMdColNative.next()){
resItem= new ResourceItem();
resItem.setID(resMdColNative.getString(1));
//System.out.println(resItem.getID());
logger.debug("selected MetadataCollection:"+ resItem.getID());
resItem.setType(GCUBEMCollection.TYPE);
resItemList.add(resItem);
}
@ -309,12 +314,13 @@ public class DeployVRE extends Thread{
try{
ServiceItem servItem;
List<ServiceItem> listService= new ArrayList<ServiceItem>();
ResultSet resService =DBInterface.queryDB("select s.name, s.class, s.version from VRERELATEDFUNCT AS vrf, SERVICES AS s where vrf.vreid='"+this.getParameter().second+"' AND s.id=vrf.funcid;");
ResultSet resService =DBInterface.queryDB("select DISTINCT s.name, s.class, s.version from VRERELATEDFUNCT AS vrf, SERVICES AS s where vrf.vreid='"+this.getParameter().second+"' AND s.id=vrf.funcid;");
while (resService.next()){
servItem= new ServiceItem();
servItem.setServiceClass(resService.getString("class"));
servItem.setServiceName(resService.getString("name"));
servItem.setServiceVersion(resService.getString("version"));
logger.debug("selected services:"+ servItem.getServiceClass()+" "+servItem.getServiceName()+" "+servItem.getServiceVersion());
listService.add(servItem);
}
serviceList.setService(listService.toArray(new ServiceItem[0]));
@ -323,11 +329,15 @@ public class DeployVRE extends Thread{
//sets the GHNs
serviceList.setGHN(this.getParameter().first.toArray(new String[0]));
arp.setServices(serviceList);
for (String ghn: this.getParameter().first){
logger.debug(ghn);
}
String report= "ok";
String reportId=vreManPortType.addResources(arp);
String report;
int attempt=0;
do{
Thread.currentThread().sleep(20000);
@ -336,6 +346,8 @@ public class DeployVRE extends Thread{
getResource().setSecondReport(report);
getResource().store();
}while (!isDeploymentStatusFinished(report) && attempt<20);
logger.info("is something failed in the second step?"+isSomethingFailed(report));
logger.trace("report step 2: "+report);
return isSomethingFailed(report);

View File

@ -22,6 +22,8 @@ public abstract class VREManagerServiceHandler<T, P> extends GCUBEServiceHandler
private P parameter;
protected String usedhost="";
public GCUBEScope scope= ServiceContext.getContext().getScope();
public String relatedGhnId=null;
public T getReturnValue(){
@ -72,6 +74,7 @@ public abstract class VREManagerServiceHandler<T, P> extends GCUBEServiceHandler
VREManagerServiceAddressingLocator mbsal= new VREManagerServiceAddressingLocator();
mbpt= mbsal.getVREManagerPortTypePort(arg0);
mbpt = GCUBERemotePortTypeContext.getProxy(mbpt,scope, 120000);
this.usedhost= arg0.getAddress().getHost();
this.setReturnValue(this.makeCall(mbpt));
}catch(Exception e){e.printStackTrace();throw e; }
}

View File

@ -22,7 +22,7 @@ public class GenericResourcePortlet {
GCUBEGenericResource resource= GHNContext.getImplementation(GCUBEGenericResource.class);
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
DBInterface.connect();
ResultSet rs= DBInterface.queryDB("select pf.PORTLETCLASS from PORTLETRELTOFUNCT as pf, VRERELATEDFUNCT as vf where vf.vreid='"+vreId+"' and pf.FUNCID=vf.FUNCID");
ResultSet rs= DBInterface.queryDB("select DISTINCT pf.PORTLETCLASS from PORTLETRELTOFUNCT as pf, VRERELATEDFUNCT as vf where vf.vreid='"+vreId+"' and pf.FUNCID=vf.FUNCID");
Element root= doc.createElement("ListPortlets");
while(rs.next())
root.appendChild(XMLUtil.createTextElement(doc, "Portlet", rs.getString(1)));