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 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 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 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 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 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) ) 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;"); res= DBInterface.queryDB("select VRE.name from VRE;");
while (res.next()) while (res.next())
toReturn.add(res.getString(1)); 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);} }catch(Exception e) {logger.error("VRE Model: error on DB"); throw new GCUBEFault(e);}
GetExistingNamesResponseMessage response = new GetExistingNamesResponseMessage(); GetExistingNamesResponseMessage response = new GetExistingNamesResponseMessage();
response.setNames(toReturn.toArray(new String[0])); response.setNames(toReturn.toArray(new String[0]));

View File

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

View File

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

View File

@ -22,7 +22,7 @@ public class GenericResourcePortlet {
GCUBEGenericResource resource= GHNContext.getImplementation(GCUBEGenericResource.class); GCUBEGenericResource resource= GHNContext.getImplementation(GCUBEGenericResource.class);
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
DBInterface.connect(); 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"); Element root= doc.createElement("ListPortlets");
while(rs.next()) while(rs.next())
root.appendChild(XMLUtil.createTextElement(doc, "Portlet", rs.getString(1))); root.appendChild(XMLUtil.createTextElement(doc, "Portlet", rs.getString(1)));