dataminer-pool-manager/src/main/java/org/gcube/dataanalysis/dataminer/poolmanager/util/CheckMethod.java

97 lines
3.6 KiB
Java

package org.gcube.dataanalysis.dataminer.poolmanager.util;
***REMOVED***
import java.io.File;
import java.io.FileWriter;
***REMOVED***
***REMOVED***
import org.gcube.dataanalysis.dataminer.poolmanager.datamodel.Algorithm;
public class CheckMethod {
public CheckMethod() {
***REMOVED***
public boolean checkMethod(String machine, String token) throws Exception {
try {
System.out.println("Machine: " + machine);
String getCapabilitesRequest = new String();
String getCapabilitesResponse = new String();
System.out.println(" Token: " + token);
String request = "http:***REMOVED***" + machine
+ "/wps/WebProcessingService?Request=GetCapabilities&Service=WPS&gcube-token=" + token;
String response = machine + "___" + token + ".xml";
getCapabilitesRequest = request;
getCapabilitesResponse = response;
String baseDescriptionRequest = "http:***REMOVED***" + machine
+ "/wps/WebProcessingService?Request=DescribeProcess&Service=WPS&Version=1.0.0" + "&gcube-token="
+ token + "&Identifier=";
URL requestURL = new URL(request);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(requestURL.openStream()));
FileWriter fileWriter = new FileWriter(response);
String line;
boolean flag = true;
while (flag && (line = bufferedReader.readLine()) != null) {
fileWriter.write(line);
fileWriter.write(System.lineSeparator());
if (line.contains("ows:Identifier")) {
String operatorName = line.substring(line.indexOf(">") + 1);
operatorName = operatorName.substring(0, operatorName.indexOf("<"));
System.out.println(" " + operatorName);
URL innerRequestURL = new URL(baseDescriptionRequest + operatorName);
BufferedReader innerBufferedReader = new BufferedReader(
new InputStreamReader(innerRequestURL.openStream()));
String innerLine = innerBufferedReader.readLine();
boolean innerFlag = true;
while (innerFlag && (innerLine = innerBufferedReader.readLine()) != null) {
if (innerLine.contains("ows:Abstract")) {
String operatorDescription = innerLine.substring(innerLine.indexOf(">") + 1);
operatorDescription = operatorDescription.substring(0, operatorDescription.indexOf("<"));
System.out.println(" " + operatorDescription);
innerFlag = false;
***REMOVED*** else if (innerLine.contains("ows:ExceptionText")) {
System.out.println(" " + "error retrieving operator description");
innerFlag = false;
flag = false;
***REMOVED*** else
innerLine = innerBufferedReader.readLine();
***REMOVED***
***REMOVED***
***REMOVED***
fileWriter.close();
***REMOVED*** catch (Exception a) {
a.getMessage();
return false;
***REMOVED***
return true;
***REMOVED***
public boolean algoExists(Algorithm a){
File file = new File("/home/gcube/wps_algorithms/algorithms/"+a.getName()+".jar");
File file2 = new File("/home/gcube/wps_algorithms/algorithms/"+a.getName()+"_interface.jar");
if (file.exists()&&(file2.exists())){
return true;
***REMOVED***
else
System.out.println("Algorithm"+a.getName()+".jar"+ " and "+a.getName()+"interface_.jar files are not present at the expected path");
return false;
***REMOVED***
public static void main(String[] args) throws Exception {
***REMOVED*** ServiceConfiguration a = new ServiceConfiguration();
***REMOVED*** System.out.println(a.getStagingHost());
CheckMethod a = new CheckMethod();
if (!a.checkMethod("dataminer1-devnext.d4science.org", "708e7eb8-11a7-4e9a-816b-c9ed7e7e99fe-98187548")){
System.out.println("ciao");***REMOVED***
***REMOVED***
***REMOVED***