git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/data-analysis/dataminer-pool-manager@158031 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
563f70cfca
commit
e81ec8230a
|
@ -0,0 +1,462 @@
|
||||||
|
package org.gcube.dataanalysis.dataminer.poolmanager.clients;
|
||||||
|
|
||||||
|
import static org.gcube.resources.discovery.icclient.ICFactory.client;
|
||||||
|
import static org.gcube.resources.discovery.icclient.ICFactory.clientFor;
|
||||||
|
import static org.gcube.resources.discovery.icclient.ICFactory.queryFor;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.io.PrintStream;
|
||||||
|
import java.io.StringWriter;
|
||||||
|
import java.net.MalformedURLException;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Scanner;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.TreeMap;
|
||||||
|
import java.util.TreeSet;
|
||||||
|
import java.util.Vector;
|
||||||
|
|
||||||
|
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
||||||
|
import org.gcube.common.resources.gcore.GenericResource;
|
||||||
|
import org.gcube.common.resources.gcore.Resources;
|
||||||
|
import org.gcube.common.resources.gcore.ServiceEndpoint;
|
||||||
|
import org.gcube.common.scope.api.ScopeProvider;
|
||||||
|
import org.gcube.dataanalysis.dataminer.poolmanager.datamodel.Algorithm;
|
||||||
|
import org.gcube.dataanalysis.dataminer.poolmanager.datamodel.Cluster;
|
||||||
|
import org.gcube.dataanalysis.dataminer.poolmanager.datamodel.Dependency;
|
||||||
|
import org.gcube.dataanalysis.dataminer.poolmanager.datamodel.Domain;
|
||||||
|
import org.gcube.dataanalysis.dataminer.poolmanager.datamodel.Host;
|
||||||
|
import org.gcube.dataanalysis.dataminer.poolmanager.datamodel.comparator.HostComparator;
|
||||||
|
import org.gcube.dataanalysis.dataminer.poolmanager.service.DataminerPoolManager;
|
||||||
|
import org.gcube.informationsystem.publisher.AdvancedScopedPublisher;
|
||||||
|
import org.gcube.informationsystem.publisher.RegistryPublisherFactory;
|
||||||
|
import org.gcube.informationsystem.publisher.ScopedPublisher;
|
||||||
|
import org.gcube.informationsystem.publisher.exception.RegistryNotFoundException;
|
||||||
|
import org.gcube.resources.discovery.client.api.DiscoveryClient;
|
||||||
|
import org.gcube.resources.discovery.client.queries.api.SimpleQuery;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.tmatesoft.svn.core.SVNDepth;
|
||||||
|
import org.tmatesoft.svn.core.SVNException;
|
||||||
|
import org.tmatesoft.svn.core.SVNURL;
|
||||||
|
import org.tmatesoft.svn.core.auth.ISVNAuthenticationManager;
|
||||||
|
import org.tmatesoft.svn.core.internal.io.dav.DAVRepositoryFactory;
|
||||||
|
import org.tmatesoft.svn.core.io.SVNRepository;
|
||||||
|
import org.tmatesoft.svn.core.io.SVNRepositoryFactory;
|
||||||
|
import org.tmatesoft.svn.core.wc.ISVNOptions;
|
||||||
|
import org.tmatesoft.svn.core.wc.SVNClientManager;
|
||||||
|
import org.tmatesoft.svn.core.wc.SVNRevision;
|
||||||
|
import org.tmatesoft.svn.core.wc.SVNUpdateClient;
|
||||||
|
import org.tmatesoft.svn.core.wc.SVNWCUtil;
|
||||||
|
|
||||||
|
import au.com.bytecode.opencsv.CSVReader;
|
||||||
|
|
||||||
|
public class DMPMClientConfigurator {
|
||||||
|
private static final Logger LOGGER = LoggerFactory.getLogger(DMPMClientConfigurator.class);
|
||||||
|
|
||||||
|
public String getStagingHost() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/stage/ghost/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProdHost() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/prod/ghost/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNStagingAlgorithmsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/stage/svn.stage.algorithms-list/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStageRepository() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/stage/svn.stage.software.repo/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGhostAlgoDirectory() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/stage/svn.stage.algo.ghost.repo/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNStagingLinuxCompiledDepsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/stage/svn.stage.deps-linux-compiled/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNStagingPreInstalledDepsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/stage/svn.stage.deps-pre-installed/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNStagingRBDepsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/stage/svn.stage.deps-r-blackbox/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNStagingCRANDepsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/stage/svn.stage.deps-r/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNStagingJavaDepsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/stage/svn.stage.deps-java/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNStagingKWDepsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/stage/svn.stage.deps-knime-workflow/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNStagingOctaveDepsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/stage/svn.stage.deps-octave/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNStagingPythonDepsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/stage/svn.stage.deps-python/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNStagingWCDepsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/stage/svn.stage.deps-windows-compiled/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdAlgorithmsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/prod/svn.prod.algorithms-list/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProdRepository() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/prod/svn.prod.software.repo/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProdGhostAlgoDirectory() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/prod/svn.prod.algo.ghost.repo/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdLinuxCompiledDepsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/prod/svn.prod.deps-linux-compiled/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdPreInstalledDepsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/prod/svn.prod.deps-pre-installed/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdRBDepsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/prod/svn.prod.deps-r-blackbox/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdCRANDepsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/prod/svn.prod.deps-r/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdJavaDepsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/prod/svn.prod.deps-java/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdKWDepsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/prod/svn.prod.deps-knime-workflow/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdOctaveDepsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/prod/svn.prod.deps-octave/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdPythonDepsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/prod/svn.prod.deps-python/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdWCDepsList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource/Profile/Body/prod/svn.prod.deps-windows-compiled/text()");
|
||||||
|
DiscoveryClient<String> client = client();
|
||||||
|
List<String> ds = client.submit(query);
|
||||||
|
for (String a : ds) {
|
||||||
|
ghost = a;
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNRepository() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource");
|
||||||
|
DiscoveryClient<GenericResource> client = clientFor(GenericResource.class);
|
||||||
|
List<GenericResource> ds = client.submit(query);
|
||||||
|
for (GenericResource a : ds) {
|
||||||
|
ghost = a.profile().body().getElementsByTagName("svn.repository").item(0).getTextContent();
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
// public String getSVNRepo() {
|
||||||
|
// // TODO Auto-generated method stub
|
||||||
|
//
|
||||||
|
// String ghost = "";
|
||||||
|
// SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
// query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource");
|
||||||
|
// DiscoveryClient<GenericResource> client = clientFor(GenericResource.class);
|
||||||
|
// List<GenericResource> ds = client.submit(query);
|
||||||
|
// for (GenericResource a : ds) {
|
||||||
|
// ghost = a.profile().body().getElementsByTagName("svn_repo").item(0).getTextContent();
|
||||||
|
// }
|
||||||
|
// return ghost;
|
||||||
|
// }
|
||||||
|
|
||||||
|
public String getSVNMainAlgoRepo() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
String ghost = "";
|
||||||
|
SimpleQuery query = queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq 'DMPMConfigurator'").setResult("$resource");
|
||||||
|
DiscoveryClient<GenericResource> client = clientFor(GenericResource.class);
|
||||||
|
List<GenericResource> ds = client.submit(query);
|
||||||
|
for (GenericResource a : ds) {
|
||||||
|
ghost = a.profile().body().getElementsByTagName("svn.algo.main.repo").item(0).getTextContent();
|
||||||
|
}
|
||||||
|
return ghost.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void main(String[] args) throws IOException, SVNException {
|
||||||
|
DMPMClientConfigurator a = new DMPMClientConfigurator();
|
||||||
|
ScopeProvider.instance.set("/gcube/devNext/NextNext");
|
||||||
|
//SecurityTokenProvider.instance.set("708e7eb8-11a7-4e9a-816b-c9ed7e7e99fe-98187548");
|
||||||
|
|
||||||
|
System.out.println(a.getSVNProdCRANDepsList());
|
||||||
|
//System.out.println(a.getRepo());
|
||||||
|
//System.out.println(a.getAlgoRepo());
|
||||||
|
//System.out.println(a.getSVNRepo());
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -98,38 +98,6 @@ public class ISClient {
|
||||||
return h.getName();
|
return h.getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
// return the Cluster hostname from the IS
|
|
||||||
// to develop
|
|
||||||
// public Cluster getCluster(){
|
|
||||||
// Cluster cl = new Cluster();
|
|
||||||
// String HProxy = this.getHProxy();
|
|
||||||
// SimpleQuery query = queryFor(ServiceEndpoint.class);
|
|
||||||
// query.addCondition("$resource/Profile/Platform/Name/text() eq
|
|
||||||
// 'DataMiner'");
|
|
||||||
// DiscoveryClient<ServiceEndpoint> client =
|
|
||||||
// clientFor(ServiceEndpoint.class);
|
|
||||||
// List<ServiceEndpoint> resources = client.submit(query);
|
|
||||||
// cl.setName(resources.get(0).profile().runtime().hostedOn());
|
|
||||||
// return null;
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
|
|
||||||
// return the dataminer hostnames from the IS
|
|
||||||
// to develop
|
|
||||||
// public List<Host> getDM(){
|
|
||||||
// Cluster cl = new Cluster();
|
|
||||||
// String HProxy = this.getHProxy();
|
|
||||||
// SimpleQuery query = queryFor(ServiceEndpoint.class);
|
|
||||||
// query.addCondition("$resource/Profile/Platform/Name/text() eq
|
|
||||||
// 'DataMiner'");
|
|
||||||
// DiscoveryClient<ServiceEndpoint> client =
|
|
||||||
// clientFor(ServiceEndpoint.class);
|
|
||||||
// List<ServiceEndpoint> resources = client.submit(query);
|
|
||||||
// cl.setName(resources.get(0).profile().runtime().hostedOn());
|
|
||||||
// return null;
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
public Collection<Host> listDataminersInVRE() {
|
public Collection<Host> listDataminersInVRE() {
|
||||||
|
|
||||||
|
@ -251,7 +219,7 @@ public class ISClient {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// public Set<Algorithm> getAlgoFromIs() {
|
// public Set<Algorithm> getAlgoFromIs() {
|
||||||
// // TODO Auto-generated method stub
|
// // TODO Auto-generated method stub
|
||||||
//
|
//
|
||||||
|
@ -290,7 +258,7 @@ public class ISClient {
|
||||||
// return out;
|
// return out;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static void main(String[] args) throws IOException, SVNException {
|
public static void main(String[] args) throws IOException, SVNException {
|
||||||
ISClient a = new ISClient();
|
ISClient a = new ISClient();
|
||||||
|
@ -307,7 +275,7 @@ public class ISClient {
|
||||||
// list.add(aa);
|
// list.add(aa);
|
||||||
|
|
||||||
// a.checkSVNdep();
|
// a.checkSVNdep();
|
||||||
System.out.println(a.getDataminer("dataminer1-d-d4s.d4science.org").getDomain());
|
//System.out.println(a.getDataminer("dataminer1-d-d4s.d4science.org").getDomain());
|
||||||
// System.out.println(a.listDataminersInVRE());
|
// System.out.println(a.listDataminersInVRE());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -156,7 +156,7 @@ public class StagingJob extends DMPMJob {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public String buildInfo(){
|
public String buildInfo() throws UnsupportedEncodingException{
|
||||||
ServiceConfiguration a = new ServiceConfiguration();
|
ServiceConfiguration a = new ServiceConfiguration();
|
||||||
return
|
return
|
||||||
"\n"+
|
"\n"+
|
||||||
|
|
|
@ -485,9 +485,9 @@ public class CheckMethod {
|
||||||
// "2eceaf27-0e22-4dbe-8075-e09eff199bf9-98187548"));
|
// "2eceaf27-0e22-4dbe-8075-e09eff199bf9-98187548"));
|
||||||
|
|
||||||
//System.out.println(a.checkMethod("dataminer-proto-ghost.d4science.org",
|
//System.out.println(a.checkMethod("dataminer-proto-ghost.d4science.org",
|
||||||
// "3a23bfa4-4dfe-44fc-988f-194b91071dd2-843339462"));
|
// "3a23bfa4-4dfe-44fc-988f-194b91071dd2-843339462"));
|
||||||
|
|
||||||
System.out.println(a.checkMethod("dataminer-ghost-d.dev.d4science.org",
|
System.out.println(a.checkMethod("dataminer-ghost-d.dev.d4science.org",
|
||||||
"708e7eb8-11a7-4e9a-816b-c9ed7e7e99fe-98187548"));
|
"708e7eb8-11a7-4e9a-816b-c9ed7e7e99fe-98187548"));
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ import org.gcube.dataanalysis.dataminer.poolmanager.datamodel.Algorithm;
|
||||||
import org.gcube.dataanalysis.dataminer.poolmanager.datamodel.Dependency;
|
import org.gcube.dataanalysis.dataminer.poolmanager.datamodel.Dependency;
|
||||||
import org.tmatesoft.svn.core.SVNException;
|
import org.tmatesoft.svn.core.SVNException;
|
||||||
import org.tmatesoft.svn.core.SVNNodeKind;
|
import org.tmatesoft.svn.core.SVNNodeKind;
|
||||||
|
import org.tmatesoft.svn.core.SVNProperty;
|
||||||
import org.tmatesoft.svn.core.SVNURL;
|
import org.tmatesoft.svn.core.SVNURL;
|
||||||
import org.tmatesoft.svn.core.auth.ISVNAuthenticationManager;
|
import org.tmatesoft.svn.core.auth.ISVNAuthenticationManager;
|
||||||
import org.tmatesoft.svn.core.internal.wc.SVNFileUtil;
|
import org.tmatesoft.svn.core.internal.wc.SVNFileUtil;
|
||||||
|
@ -159,7 +160,6 @@ public String getDependencyFileProd(String language/*, String env*/){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void updateAlgorithmFiles(File a) throws SVNException{
|
public void updateAlgorithmFiles(File a) throws SVNException{
|
||||||
//this.updateAlgorithmList(this.configuration.getSVNMainAlgoRepo(), a);
|
//this.updateAlgorithmList(this.configuration.getSVNMainAlgoRepo(), a);
|
||||||
this.updateAlgorithmList(this.configuration.getStageRepository(), a);
|
this.updateAlgorithmList(this.configuration.getStageRepository(), a);
|
||||||
|
@ -276,7 +276,6 @@ public String getDependencyFileProd(String language/*, String env*/){
|
||||||
final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
||||||
svnRepository.getFile(file, SVNRepository.INVALID_REVISION, null, byteArrayOutputStream);
|
svnRepository.getFile(file, SVNRepository.INVALID_REVISION, null, byteArrayOutputStream);
|
||||||
String lines[] = byteArrayOutputStream.toString().split("\\r?\\n");
|
String lines[] = byteArrayOutputStream.toString().split("\\r?\\n");
|
||||||
|
|
||||||
|
|
||||||
List<String> newContent = new LinkedList<>(Arrays.asList(lines));
|
List<String> newContent = new LinkedList<>(Arrays.asList(lines));
|
||||||
|
|
||||||
|
@ -303,7 +302,7 @@ public String getDependencyFileProd(String language/*, String env*/){
|
||||||
|
|
||||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||||
|
|
||||||
for (String line : newContent) {
|
for (String line : newContent) {
|
||||||
baos.write(line.getBytes());
|
baos.write(line.getBytes());
|
||||||
baos.write("\n".getBytes());
|
baos.write("\n".getBytes());
|
||||||
}
|
}
|
||||||
|
@ -506,6 +505,7 @@ public String getDependencyFileProd(String language/*, String env*/){
|
||||||
for (String line : aa) {
|
for (String line : aa) {
|
||||||
baos.write(line.getBytes());
|
baos.write(line.getBytes());
|
||||||
baos.write("\n".getBytes());
|
baos.write("\n".getBytes());
|
||||||
|
|
||||||
}
|
}
|
||||||
byte[] bytes = baos.toByteArray();
|
byte[] bytes = baos.toByteArray();
|
||||||
|
|
||||||
|
@ -513,6 +513,8 @@ public String getDependencyFileProd(String language/*, String env*/){
|
||||||
|
|
||||||
final String checksum = deltaGenerator.sendDelta(file, new ByteArrayInputStream(originalContents), 0,
|
final String checksum = deltaGenerator.sendDelta(file, new ByteArrayInputStream(originalContents), 0,
|
||||||
new ByteArrayInputStream(bytes), commitEditor, true);
|
new ByteArrayInputStream(bytes), commitEditor, true);
|
||||||
|
|
||||||
|
|
||||||
commitEditor.closeFile(file, checksum);
|
commitEditor.closeFile(file, checksum);
|
||||||
commitEditor.closeEdit();
|
commitEditor.closeEdit();
|
||||||
|
|
||||||
|
@ -562,7 +564,7 @@ public String getDependencyFileProd(String language/*, String env*/){
|
||||||
|
|
||||||
public static void main(String[] args) throws SVNException, ParseException {
|
public static void main(String[] args) throws SVNException, ParseException {
|
||||||
|
|
||||||
ServiceConfiguration sc = new ServiceConfiguration("/home/ngalante/workspace/dataminer-pool-manager/src/main/resources/service.properties");
|
ServiceConfiguration sc = new ServiceConfiguration();
|
||||||
|
|
||||||
SVNUpdater c = new SVNUpdater(sc);
|
SVNUpdater c = new SVNUpdater(sc);
|
||||||
|
|
||||||
|
|
|
@ -5,336 +5,342 @@ import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
public class ServiceConfiguration {
|
import org.gcube.common.scope.api.ScopeProvider;
|
||||||
public static String home = System.getProperty("user.home");
|
import org.gcube.dataanalysis.dataminer.poolmanager.clients.DMPMClientConfigurator;
|
||||||
|
import org.gcube.dataanalysis.dataminer.poolmanager.clients.ISClient;
|
||||||
|
|
||||||
private Properties props;
|
public class ServiceConfiguration {
|
||||||
|
// public static String home = System.getProperty("user.home");
|
||||||
|
DMPMClientConfigurator dmpc = new DMPMClientConfigurator();
|
||||||
|
// private Properties props;
|
||||||
|
|
||||||
public ServiceConfiguration() {
|
public ServiceConfiguration() {
|
||||||
this(home+"/dataminer-pool-manager/dpmConfig/service.properties");
|
// this(home+"/dataminer-pool-manager/dpmConfig/service.properties");
|
||||||
}
|
}
|
||||||
|
|
||||||
public ServiceConfiguration(String configFile) {
|
// public ServiceConfiguration(String configFile) {
|
||||||
this.props = new Properties();
|
// this.props = new Properties();
|
||||||
|
//
|
||||||
|
// FileInputStream input;
|
||||||
|
//
|
||||||
|
// try {
|
||||||
|
// input = new FileInputStream(configFile);
|
||||||
|
// // loading properites from properties file
|
||||||
|
// try {
|
||||||
|
// props.load(input);
|
||||||
|
// } catch (IOException e) {
|
||||||
|
// // TODO Auto-generated catch block
|
||||||
|
// e.printStackTrace();
|
||||||
|
// }
|
||||||
|
// } catch (FileNotFoundException e1) {
|
||||||
|
// // TODO Auto-generated catch block
|
||||||
|
// e1.printStackTrace();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
FileInputStream input;
|
public String getSVNRepository() {
|
||||||
|
// return props.getProperty("svn.repository");
|
||||||
try {
|
return dmpc.getSVNRepository();
|
||||||
input = new FileInputStream(configFile);
|
|
||||||
// loading properites from properties file
|
|
||||||
try {
|
|
||||||
props.load(input);
|
|
||||||
} catch (IOException e) {
|
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
} catch (FileNotFoundException e1) {
|
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e1.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getSVNMainAlgoRepo() {
|
||||||
|
// return props.getProperty("svn.algo.main.repo");
|
||||||
public String getSVNRepository(){
|
return dmpc.getSVNMainAlgoRepo();
|
||||||
return props.getProperty("svn.repository");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public String getSVNMainAlgoRepo(){
|
|
||||||
return props.getProperty("svn.algo.main.repo");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public String getStageRepository(){
|
|
||||||
return props.getProperty("svn.stage.software.repo");
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getProdRepository(){
|
|
||||||
return props.getProperty("svn.prod.software.repo");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public String getGhostAlgoDirectory(){
|
|
||||||
return props.getProperty("svn.stage.algo.ghost.repo");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public String getProdGhostAlgoDirectory(){
|
|
||||||
return props.getProperty("svn.prod.algo.ghost.repo");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//RProto
|
|
||||||
// public String getSVNRProtoAlgorithmsList(){
|
|
||||||
// return props.getProperty("svn.rproto.algorithms-list");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNRProtoLinuxCompiledDepsList(){
|
|
||||||
// return props.getProperty("svn.rproto.deps-linux-compiled");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNRProtoCRANDepsList(){
|
|
||||||
// return props.getProperty("svn.rproto.deps-r");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNRProtoPreInstalledDepsList(){
|
|
||||||
// return props.getProperty("svn.rproto.deps-pre-installed");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNRProtoRBDepsList(){
|
|
||||||
// return props.getProperty("svn.rproto.deps-r-blackbox");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNRProtoJavaDepsList(){
|
|
||||||
// return props.getProperty("svn.rproto.deps-java");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNRProtoKWDepsList(){
|
|
||||||
// return props.getProperty("svn.rproto.deps-knime-workflow");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNRProtoOctaveDepsList(){
|
|
||||||
// return props.getProperty("svn.rproto.deps-octave");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNRProtoPythonDepsList(){
|
|
||||||
// return props.getProperty("svn.rproto.deps-python");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNRProtoWCDepsList(){
|
|
||||||
// return props.getProperty("svn.rproto.deps-windows-compiled");
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
//Prod
|
|
||||||
public String getSVNProdAlgorithmsList(){
|
|
||||||
return props.getProperty("svn.prod.algorithms-list");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSVNProdLinuxCompiledDepsList(){
|
public String getStageRepository() {
|
||||||
return props.getProperty("svn.prod.deps-linux-compiled");
|
// return props.getProperty("svn.stage.software.repo");
|
||||||
|
return dmpc.getStageRepository();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSVNProdCRANDepsList(){
|
public String getProdRepository() {
|
||||||
return props.getProperty("svn.prod.deps-r");
|
// return props.getProperty("svn.prod.software.repo");
|
||||||
|
return dmpc.getProdRepository();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSVNProdPreInstalledDepsList(){
|
public String getGhostAlgoDirectory() {
|
||||||
return props.getProperty("svn.prod.deps-pre-installed");
|
// return props.getProperty("svn.stage.algo.ghost.repo");
|
||||||
|
return dmpc.getGhostAlgoDirectory();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSVNProdRBDepsList(){
|
|
||||||
return props.getProperty("svn.prod.deps-r-blackbox");
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSVNProdJavaDepsList(){
|
|
||||||
return props.getProperty("svn.prod.deps-java");
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSVNProdKWDepsList(){
|
|
||||||
return props.getProperty("svn.prod.deps-knime-workflow");
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSVNProdOctaveDepsList(){
|
|
||||||
return props.getProperty("svn.prod.deps-octave");
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSVNProdPythonDepsList(){
|
|
||||||
return props.getProperty("svn.prod.deps-python");
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSVNProdWCDepsList(){
|
|
||||||
return props.getProperty("svn.prod.deps-windows-compiled");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//PreProd
|
|
||||||
// public String getSVNPreProdAlgorithmsList(){
|
|
||||||
// return props.getProperty("svn.preprod.algorithms-list");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNPreProdLinuxCompiledDepsList(){
|
|
||||||
// return props.getProperty("svn.preprod.deps-linux-compiled");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNPreProdCRANDepsList(){
|
|
||||||
// return props.getProperty("svn.preprod.deps-r");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNPreProdPreInstalledDepsList(){
|
|
||||||
// return props.getProperty("svn.preprod.deps-pre-installed");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNPreProdRBDepsList(){
|
|
||||||
// return props.getProperty("svn.preprod.deps-r-blackbox");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNPreProdJavaDepsList(){
|
|
||||||
// return props.getProperty("svn.preprod.deps-java");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNPreProdKWDepsList(){
|
|
||||||
// return props.getProperty("svn.preprod.deps-knime-workflow");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNPreProdOctaveDepsList(){
|
|
||||||
// return props.getProperty("svn.preprod.deps-octave");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNPreProdPythonDepsList(){
|
|
||||||
// return props.getProperty("svn.preprod.deps-python");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNPreProdWCDepsList(){
|
|
||||||
// return props.getProperty("svn.preprod.deps-windows-compiled");
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//dev
|
|
||||||
// public String getSVNDevAlgorithmsList(){
|
|
||||||
// return props.getProperty("svn.dev.algorithms-list");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNDevLinuxCompiledDepsList(){
|
|
||||||
// return props.getProperty("svn.dev.deps-linux-compiled");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNDevCRANDepsList(){
|
|
||||||
// return props.getProperty("svn.dev.deps-r");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNDevPreInstalledDepsList(){
|
|
||||||
// return props.getProperty("svn.dev.deps-pre-installed");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNDevRBDepsList(){
|
|
||||||
// return props.getProperty("svn.dev.deps-r-blackbox");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNDevJavaDepsList(){
|
|
||||||
// return props.getProperty("svn.dev.deps-java");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNDevKWDepsList(){
|
|
||||||
// return props.getProperty("svn.dev.deps-knime-workflow");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNDevOctaveDepsList(){
|
|
||||||
// return props.getProperty("svn.dev.deps-octave");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNDevPythonDepsList(){
|
|
||||||
// return props.getProperty("svn.dev.deps-python");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public String getSVNDevWCDepsList(){
|
|
||||||
// return props.getProperty("svn.dev.deps-windows-compiled");
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// public String getCSVUrl() {
|
public String getProdGhostAlgoDirectory() {
|
||||||
// return props.getProperty("HAPROXY_CSV");
|
// return props.getProperty("svn.prod.algo.ghost.repo");
|
||||||
// }
|
return dmpc.getProdGhostAlgoDirectory();
|
||||||
|
}
|
||||||
|
|
||||||
|
// RProto
|
||||||
|
// public String getSVNRProtoAlgorithmsList(){
|
||||||
|
// return props.getProperty("svn.rproto.algorithms-list");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNRProtoLinuxCompiledDepsList(){
|
||||||
|
// return props.getProperty("svn.rproto.deps-linux-compiled");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNRProtoCRANDepsList(){
|
||||||
|
// return props.getProperty("svn.rproto.deps-r");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNRProtoPreInstalledDepsList(){
|
||||||
|
// return props.getProperty("svn.rproto.deps-pre-installed");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNRProtoRBDepsList(){
|
||||||
|
// return props.getProperty("svn.rproto.deps-r-blackbox");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNRProtoJavaDepsList(){
|
||||||
|
// return props.getProperty("svn.rproto.deps-java");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNRProtoKWDepsList(){
|
||||||
|
// return props.getProperty("svn.rproto.deps-knime-workflow");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNRProtoOctaveDepsList(){
|
||||||
|
// return props.getProperty("svn.rproto.deps-octave");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNRProtoPythonDepsList(){
|
||||||
|
// return props.getProperty("svn.rproto.deps-python");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNRProtoWCDepsList(){
|
||||||
|
// return props.getProperty("svn.rproto.deps-windows-compiled");
|
||||||
|
// }
|
||||||
|
|
||||||
|
// Prod
|
||||||
|
public String getSVNProdAlgorithmsList() {
|
||||||
|
// return props.getProperty("svn.prod.algorithms-list");
|
||||||
|
return dmpc.getSVNProdAlgorithmsList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdLinuxCompiledDepsList() {
|
||||||
|
// return props.getProperty("svn.prod.deps-linux-compiled");
|
||||||
|
return dmpc.getSVNProdLinuxCompiledDepsList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdCRANDepsList() {
|
||||||
|
// return props.getProperty("svn.prod.deps-r");
|
||||||
|
return dmpc.getSVNProdCRANDepsList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdPreInstalledDepsList() {
|
||||||
|
// return props.getProperty("svn.prod.deps-pre-installed");
|
||||||
|
return dmpc.getSVNProdPreInstalledDepsList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdRBDepsList() {
|
||||||
|
// return props.getProperty("svn.prod.deps-r-blackbox");
|
||||||
|
return dmpc.getSVNProdRBDepsList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdJavaDepsList() {
|
||||||
|
// return props.getProperty("svn.prod.deps-java");
|
||||||
|
return dmpc.getSVNProdJavaDepsList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdKWDepsList() {
|
||||||
|
// return props.getProperty("svn.prod.deps-knime-workflow");
|
||||||
|
return dmpc.getSVNProdKWDepsList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdOctaveDepsList() {
|
||||||
|
// return props.getProperty("svn.prod.deps-octave");
|
||||||
|
return dmpc.getSVNProdOctaveDepsList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdPythonDepsList() {
|
||||||
|
// return props.getProperty("svn.prod.deps-python");
|
||||||
|
return dmpc.getSVNProdPythonDepsList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNProdWCDepsList() {
|
||||||
|
// return props.getProperty("svn.prod.deps-windows-compiled");
|
||||||
|
return dmpc.getSVNProdWCDepsList();
|
||||||
|
}
|
||||||
|
|
||||||
|
// PreProd
|
||||||
|
// public String getSVNPreProdAlgorithmsList(){
|
||||||
|
// return props.getProperty("svn.preprod.algorithms-list");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNPreProdLinuxCompiledDepsList(){
|
||||||
|
// return props.getProperty("svn.preprod.deps-linux-compiled");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNPreProdCRANDepsList(){
|
||||||
|
// return props.getProperty("svn.preprod.deps-r");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNPreProdPreInstalledDepsList(){
|
||||||
|
// return props.getProperty("svn.preprod.deps-pre-installed");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNPreProdRBDepsList(){
|
||||||
|
// return props.getProperty("svn.preprod.deps-r-blackbox");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNPreProdJavaDepsList(){
|
||||||
|
// return props.getProperty("svn.preprod.deps-java");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNPreProdKWDepsList(){
|
||||||
|
// return props.getProperty("svn.preprod.deps-knime-workflow");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNPreProdOctaveDepsList(){
|
||||||
|
// return props.getProperty("svn.preprod.deps-octave");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNPreProdPythonDepsList(){
|
||||||
|
// return props.getProperty("svn.preprod.deps-python");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNPreProdWCDepsList(){
|
||||||
|
// return props.getProperty("svn.preprod.deps-windows-compiled");
|
||||||
|
// }
|
||||||
|
|
||||||
|
// dev
|
||||||
|
// public String getSVNDevAlgorithmsList(){
|
||||||
|
// return props.getProperty("svn.dev.algorithms-list");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNDevLinuxCompiledDepsList(){
|
||||||
|
// return props.getProperty("svn.dev.deps-linux-compiled");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNDevCRANDepsList(){
|
||||||
|
// return props.getProperty("svn.dev.deps-r");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNDevPreInstalledDepsList(){
|
||||||
|
// return props.getProperty("svn.dev.deps-pre-installed");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNDevRBDepsList(){
|
||||||
|
// return props.getProperty("svn.dev.deps-r-blackbox");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNDevJavaDepsList(){
|
||||||
|
// return props.getProperty("svn.dev.deps-java");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNDevKWDepsList(){
|
||||||
|
// return props.getProperty("svn.dev.deps-knime-workflow");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNDevOctaveDepsList(){
|
||||||
|
// return props.getProperty("svn.dev.deps-octave");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNDevPythonDepsList(){
|
||||||
|
// return props.getProperty("svn.dev.deps-python");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public String getSVNDevWCDepsList(){
|
||||||
|
// return props.getProperty("svn.dev.deps-windows-compiled");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
|
|
||||||
|
// public String getCSVUrl() {
|
||||||
|
// return props.getProperty("HAPROXY_CSV");
|
||||||
|
// }
|
||||||
|
|
||||||
|
// public String getHost(String env){
|
||||||
|
// String a = "";
|
||||||
|
//
|
||||||
|
// if (env.equals("Dev")||(env.equals("Preprod"))){
|
||||||
|
// a = this.getDevStagingHost().trim();
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if (env.equals("Prod")||(env.equals("Proto"))){
|
||||||
|
// a = this.getProtoProdStagingHost().trim();
|
||||||
|
// }
|
||||||
|
// return a;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// public String getDevStagingHost() {
|
||||||
|
// return props.getProperty("DEV_STAGING_HOST");
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
// public String getHost(String env){
|
|
||||||
// String a = "";
|
|
||||||
//
|
|
||||||
// if (env.equals("Dev")||(env.equals("Preprod"))){
|
|
||||||
// a = this.getDevStagingHost().trim();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// if (env.equals("Prod")||(env.equals("Proto"))){
|
|
||||||
// a = this.getProtoProdStagingHost().trim();
|
|
||||||
// }
|
|
||||||
// return a;
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// public String getDevStagingHost() {
|
|
||||||
// return props.getProperty("DEV_STAGING_HOST");
|
|
||||||
// }
|
|
||||||
|
|
||||||
public String getStagingHost() {
|
public String getStagingHost() {
|
||||||
return props.getProperty("STAGE_GHOST");
|
// return props.getProperty("STAGE_GHOST");
|
||||||
|
return dmpc.getStagingHost();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public String getProdHost() {
|
public String getProdHost() {
|
||||||
return props.getProperty("PROD_GHOST");
|
// return props.getProperty("PROD_GHOST");
|
||||||
|
return dmpc.getProdHost();
|
||||||
}
|
}
|
||||||
|
|
||||||
// public String getProtoProdStagingHost() {
|
|
||||||
// return props.getProperty("PROTO_PROD_STAGING_HOST");
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Staging
|
|
||||||
public String getSVNStagingAlgorithmsList(){
|
|
||||||
return props.getProperty("svn.stage.algorithms-list");
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSVNStagingLinuxCompiledDepsList(){
|
// public String getProtoProdStagingHost() {
|
||||||
return props.getProperty("svn.stage.deps-linux-compiled");
|
// return props.getProperty("PROTO_PROD_STAGING_HOST");
|
||||||
}
|
// }
|
||||||
|
|
||||||
public String getSVNStagingCRANDepsList(){
|
// Staging
|
||||||
return props.getProperty("svn.stage.deps-r");
|
public String getSVNStagingAlgorithmsList() {
|
||||||
}
|
// return props.getProperty("svn.stage.algorithms-list");
|
||||||
|
return dmpc.getSVNStagingAlgorithmsList();
|
||||||
|
}
|
||||||
|
|
||||||
public String getSVNStagingPreInstalledDepsList(){
|
public String getSVNStagingLinuxCompiledDepsList() {
|
||||||
return props.getProperty("svn.stage.deps-pre-installed");
|
// return props.getProperty("svn.stage.deps-linux-compiled");
|
||||||
}
|
return dmpc.getSVNStagingLinuxCompiledDepsList();
|
||||||
|
}
|
||||||
public String getSVNStagingRBDepsList(){
|
|
||||||
return props.getProperty("svn.stage.deps-r-blackbox");
|
public String getSVNStagingCRANDepsList() {
|
||||||
}
|
// return props.getProperty("svn.stage.deps-r");
|
||||||
|
return dmpc.getSVNStagingCRANDepsList();
|
||||||
public String getSVNStagingJavaDepsList(){
|
}
|
||||||
return props.getProperty("svn.stage.deps-java");
|
|
||||||
}
|
public String getSVNStagingPreInstalledDepsList() {
|
||||||
|
// return props.getProperty("svn.stage.deps-pre-installed");
|
||||||
public String getSVNStagingKWDepsList(){
|
return dmpc.getSVNStagingPreInstalledDepsList();
|
||||||
return props.getProperty("svn.stage.deps-knime-workflow");
|
}
|
||||||
}
|
|
||||||
|
public String getSVNStagingRBDepsList() {
|
||||||
public String getSVNStagingOctaveDepsList(){
|
// return props.getProperty("svn.stage.deps-r-blackbox");
|
||||||
return props.getProperty("svn.stage.deps-octave");
|
return dmpc.getSVNStagingRBDepsList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSVNStagingPythonDepsList(){
|
public String getSVNStagingJavaDepsList() {
|
||||||
return props.getProperty("svn.stage.deps-python");
|
// return props.getProperty("svn.stage.deps-java");
|
||||||
}
|
return dmpc.getSVNStagingJavaDepsList();
|
||||||
|
}
|
||||||
public String getSVNStagingWCDepsList(){
|
|
||||||
return props.getProperty("svn.stage.deps-windows-compiled");
|
public String getSVNStagingKWDepsList() {
|
||||||
}
|
// return props.getProperty("svn.stage.deps-knime-workflow");
|
||||||
|
return dmpc.getSVNStagingKWDepsList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNStagingOctaveDepsList() {
|
||||||
|
// return props.getProperty("svn.stage.deps-octave");
|
||||||
|
return dmpc.getSVNStagingOctaveDepsList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNStagingPythonDepsList() {
|
||||||
|
// return props.getProperty("svn.stage.deps-python");
|
||||||
|
return dmpc.getSVNStagingPythonDepsList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSVNStagingWCDepsList() {
|
||||||
|
// return props.getProperty("svn.stage.deps-windows-compiled");
|
||||||
|
return dmpc.getSVNStagingWCDepsList();
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args) throws FileNotFoundException {
|
public static void main(String[] args) throws FileNotFoundException {
|
||||||
ServiceConfiguration a = new ServiceConfiguration();
|
//ServiceConfiguration a = new ServiceConfiguration();
|
||||||
//System.out.println(a.getStagingHost());
|
ScopeProvider.instance.set("/gcube/devNext/NextNext");
|
||||||
//System.out.println(a.getDevStagingHost());
|
// System.out.println(a.getStagingHost());
|
||||||
//System.out.println(a.getProtoProdStagingHost());
|
// System.out.println(a.getDevStagingHost());
|
||||||
//System.out.println(a.getCSVUrl());
|
// System.out.println(a.getProtoProdStagingHost());
|
||||||
//System.out.println(a.getSVNMainAlgoRepo());
|
// System.out.println(a.getCSVUrl());
|
||||||
//System.out.println(a.getSVNRProtoCRANDepsList());
|
// System.out.println(a.getSVNMainAlgoRepo());
|
||||||
//System.out.println(a.getProdHost());
|
// System.out.println(a.getSVNRProtoCRANDepsList());
|
||||||
System.out.println(a.getSVNProdRBDepsList());
|
// System.out.println(a.getProdHost());
|
||||||
|
//System.out.println(a.getSVNProdRBDepsList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,30 +1,56 @@
|
||||||
package org.gcube.dataanalysis.dataminerpoolmanager;
|
package org.gcube.dataanalysis.dataminerpoolmanager;
|
||||||
|
|
||||||
|
import org.gcube.dataanalysis.dataminer.poolmanager.clients.DMPMClientConfigurator;
|
||||||
import org.gcube.dataanalysis.dataminer.poolmanager.datamodel.Algorithm;
|
import org.gcube.dataanalysis.dataminer.poolmanager.datamodel.Algorithm;
|
||||||
import org.gcube.dataanalysis.dataminer.poolmanager.util.AlgorithmBuilder;
|
import org.gcube.dataanalysis.dataminer.poolmanager.util.AlgorithmBuilder;
|
||||||
import org.gcube.dataanalysis.dataminer.poolmanager.util.SVNUpdater;
|
import org.gcube.dataanalysis.dataminer.poolmanager.util.SVNUpdater;
|
||||||
import org.gcube.dataanalysis.dataminer.poolmanager.util.ServiceConfiguration;
|
import org.gcube.dataanalysis.dataminer.poolmanager.util.ServiceConfiguration;
|
||||||
import org.tmatesoft.svn.core.SVNException;
|
import org.tmatesoft.svn.core.SVNException;
|
||||||
|
import org.tmatesoft.svn.core.SVNURL;
|
||||||
|
import org.tmatesoft.svn.core.auth.ISVNAuthenticationManager;
|
||||||
|
import org.tmatesoft.svn.core.internal.wc.SVNFileUtil;
|
||||||
|
import org.tmatesoft.svn.core.internal.wc.admin.SVNChecksumInputStream;
|
||||||
|
import org.tmatesoft.svn.core.io.ISVNEditor;
|
||||||
|
import org.tmatesoft.svn.core.io.SVNRepository;
|
||||||
|
import org.tmatesoft.svn.core.io.SVNRepositoryFactory;
|
||||||
|
import org.tmatesoft.svn.core.io.diff.SVNDeltaGenerator;
|
||||||
|
import org.tmatesoft.svn.core.wc.SVNWCUtil;
|
||||||
|
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.text.DateFormat;
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.TimeZone;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by ggiammat on 5/17/17.
|
* Created by ggiammat on 5/17/17.
|
||||||
*/
|
*/
|
||||||
public class SVNTests {
|
public class SVNTests {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static void main(String[] args) throws SVNException, IOException, InterruptedException {
|
public static void main(String[] args) throws SVNException, IOException, InterruptedException {
|
||||||
|
|
||||||
|
|
||||||
SVNUpdater svnUpdater = new SVNUpdater(new ServiceConfiguration("/home/ngalante/workspace/dataminer-pool-manager/src/main/resources/service.properties"));
|
SVNUpdater svnUpdater = new SVNUpdater(new ServiceConfiguration());
|
||||||
|
|
||||||
Algorithm algo = AlgorithmBuilder.create("http://data.d4science.org/cnFLNHYxR1ZDa1VNdEhrTUQyQlZjaWRBVVZlUHloUitHbWJQNStIS0N6Yz0");
|
Algorithm algo = AlgorithmBuilder.create("http://data.d4science.org/YjJ3TmJab1dqYzVoTmppdjlsK0l0b1ZXWGtzWlQ1NHNHbWJQNStIS0N6Yz0");
|
||||||
//algo.setClazz(algo.getClazz() + "TEST");
|
//algo.setClazz(algo.getClazz() + "TEST");
|
||||||
System.out.println(algo.getAlgorithmType());
|
algo.setAlgorithmType("transducerers");
|
||||||
System.out.println(algo.getCategory());
|
algo.setCategory("NLP");
|
||||||
System.out.println(algo.getSkipJava());
|
algo.setFullname("Ondřej Košarko");
|
||||||
|
//System.out.println(algo.getCategory());
|
||||||
|
//System.out.println(algo.getSkipJava());
|
||||||
|
|
||||||
|
svnUpdater.updateSVNAlgorithmList("/trunk/data-analysis/DataMinerConfiguration/algorithms/dev/algorithms", algo, "/gcube/devNext/NextNext", algo.getCategory(), algo.getAlgorithmType(), "");
|
||||||
|
|
||||||
//svnUpdater.updateSVNRProtoAlgorithmList(algo, "/d4science.research-infrastructures.eu/gCubeApps/RPrototypingLab", "Dataminer Pool Manager", "Proto");
|
//svnUpdater.updateSVNRProtoAlgorithmList(algo, "/d4science.research-infrastructures.eu/gCubeApps/RPrototypingLab", "Dataminer Pool Manager", "Proto");
|
||||||
//svnUpdater.readRPRotoDeps(algo);
|
//svnUpdater.readRPRotoDeps(algo);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue