ref 17569: SAI - Improve the resources check to avoid error in algorithms publishing

https://support.d4science.org/issues/17569

Updated resources check.

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/statistical-algorithms-importer@181734 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2019-09-18 15:26:29 +00:00
parent 0186d6a0b9
commit adcd066964
8 changed files with 106 additions and 153 deletions

View File

@ -1,4 +1,7 @@
<ReleaseNotes> <ReleaseNotes>
<Changeset component="${groupId}.${artifactId}.1-14-0" date="2019-09-18">
<Change>Updated the resources check on IS [ticket #17569]</Change>
</Changeset>
<Changeset component="${groupId}.${artifactId}.1-13-2" date="2019-02-26"> <Changeset component="${groupId}.${artifactId}.1-13-2" date="2019-02-26">
<Change>Updated resource selection how workaround for <Change>Updated resource selection how workaround for
WorkspaceExplorer widget [ticket #16157] WorkspaceExplorer widget [ticket #16157]

View File

@ -76,7 +76,7 @@ public class ProjectSetupSelectionCard extends WizardCard {
final WaitDialog waitDialog = new WaitDialog(getZIndex()); final WaitDialog waitDialog = new WaitDialog(getZIndex());
waitDialog.show(); waitDialog.show();
StatAlgoImporterServiceAsync.INSTANCE.getSAIDescripor(new AsyncCallback<SAIDescriptor>() { StatAlgoImporterServiceAsync.INSTANCE.getSAIDescriptor(new AsyncCallback<SAIDescriptor>() {
@Override @Override
public void onFailure(Throwable caught) { public void onFailure(Throwable caught) {

View File

@ -871,7 +871,7 @@ public class ProjectManager {
} }
private void retrieveSAIDescriptor(final String restoreValue) { private void retrieveSAIDescriptor(final String restoreValue) {
StatAlgoImporterServiceAsync.INSTANCE.getSAIDescripor(new AsyncCallback<SAIDescriptor>() { StatAlgoImporterServiceAsync.INSTANCE.getSAIDescriptor(new AsyncCallback<SAIDescriptor>() {
@Override @Override
public void onFailure(Throwable caught) { public void onFailure(Throwable caught) {

View File

@ -39,7 +39,7 @@ public interface StatAlgoImporterService extends RemoteService {
* @throws StatAlgoImporterServiceException * @throws StatAlgoImporterServiceException
* Exception * Exception
*/ */
public SAIDescriptor getSAIDescripor() throws StatAlgoImporterServiceException; public SAIDescriptor getSAIDescriptor() throws StatAlgoImporterServiceException;
// File Upload Monitor // File Upload Monitor
/** /**

View File

@ -30,7 +30,7 @@ public interface StatAlgoImporterServiceAsync {
void hello(AsyncCallback<UserInfo> callback); void hello(AsyncCallback<UserInfo> callback);
void getSAIDescripor(AsyncCallback<SAIDescriptor> callback); void getSAIDescriptor(AsyncCallback<SAIDescriptor> callback);
void getFileUploadMonitor(AsyncCallback<FileUploadMonitor> callback); void getFileUploadMonitor(AsyncCallback<FileUploadMonitor> callback);

View File

@ -113,18 +113,17 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
logger.debug("UserInfo: " + userInfo); logger.debug("UserInfo: " + userInfo);
return userInfo; return userInfo;
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
e.printStackTrace(); logger.error("hello(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
e.printStackTrace(); logger.error("hello(): " + e.getLocalizedMessage(), e);
logger.error("Hello(): " + e.getLocalizedMessage(), e);
throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
} }
} }
@Override @Override
public SAIDescriptor getSAIDescripor() throws StatAlgoImporterServiceException { public SAIDescriptor getSAIDescriptor() throws StatAlgoImporterServiceException {
HttpServletRequest httpRequest = null; HttpServletRequest httpRequest = null;
try { try {
httpRequest = this.getThreadLocalRequest(); httpRequest = this.getThreadLocalRequest();
@ -154,11 +153,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
Project project = SessionUtil.getProjectSession(httpRequest, serviceCredentials); Project project = SessionUtil.getProjectSession(httpRequest, serviceCredentials);
return project; return project;
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
e.printStackTrace(); logger.error("Error in restoreUISession(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
logger.error("getCode(): " + e.getLocalizedMessage(), e); logger.error("Error in restoreUISession(): " + e.getLocalizedMessage(), e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
} }
@ -209,11 +207,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
return codeList; return codeList;
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
e.printStackTrace(); logger.error("getCode(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
logger.error("getCode(): " + e.getLocalizedMessage(), e); logger.error("getCode(): " + e.getLocalizedMessage(), e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
} }
@ -266,11 +263,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
logger.debug("Create Project: " + project); logger.debug("Create Project: " + project);
return project; return project;
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
e.printStackTrace(); logger.error("Error in createProjectOnWorkspace(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
logger.error("createProjectOnWorkspace(): " + e.getLocalizedMessage(), e); logger.error("Error in createProjectOnWorkspace(): " + e.getLocalizedMessage(), e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
} }
} }
@ -296,11 +292,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
return project; return project;
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
e.printStackTrace(); logger.error("Error in openProjectOnWorkspace(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
logger.error("openProjectOnWorkspace(): " + e.getLocalizedMessage(), e); logger.error("Error in openProjectOnWorkspace(): " + e.getLocalizedMessage(), e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
} }
@ -318,8 +313,8 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
String pLink = filesStorage.getPublicLink(serviceCredentials.getUserName(), itemDescription.getId()); String pLink = filesStorage.getPublicLink(serviceCredentials.getUserName(), itemDescription.getId());
itemDescription.setPublicLink(pLink); itemDescription.setPublicLink(pLink);
project.setMainCode(new MainCode(itemDescription)); project.setMainCode(new MainCode(itemDescription));
InputData inputData=project.getInputData(); InputData inputData = project.getInputData();
if(inputData!=null){ if (inputData != null) {
inputData.setListInputOutputVariables(null); inputData.setListInputOutputVariables(null);
} }
project.setProjectTarget(null); project.setProjectTarget(null);
@ -333,11 +328,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
return project; return project;
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
e.printStackTrace(); logger.error("Error in setMainCode(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
logger.error("setMainCode(): " + e.getLocalizedMessage(), e); logger.error("Error in setMainCode(): " + e.getLocalizedMessage(), e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
} }
@ -356,8 +350,8 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
ProjectSupportBlackBox projectSupportBlackBox = (ProjectSupportBlackBox) project ProjectSupportBlackBox projectSupportBlackBox = (ProjectSupportBlackBox) project
.getProjectConfig().getProjectSupport(); .getProjectConfig().getProjectSupport();
FilesStorage filesStorage = new FilesStorage(); FilesStorage filesStorage = new FilesStorage();
itemDescription = filesStorage.getFileInfoOnWorkspace( itemDescription = filesStorage.getFileInfoOnWorkspace(serviceCredentials.getUserName(),
serviceCredentials.getUserName(), itemDescription.getId()); itemDescription.getId());
String pLink = filesStorage.getPublicLink(serviceCredentials.getUserName(), String pLink = filesStorage.getPublicLink(serviceCredentials.getUserName(),
itemDescription.getId()); itemDescription.getId());
itemDescription.setPublicLink(pLink); itemDescription.setPublicLink(pLink);
@ -369,8 +363,8 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
ProjectSupportBashEdit projectSupportBashEdit = (ProjectSupportBashEdit) project ProjectSupportBashEdit projectSupportBashEdit = (ProjectSupportBashEdit) project
.getProjectConfig().getProjectSupport(); .getProjectConfig().getProjectSupport();
FilesStorage filesStorage = new FilesStorage(); FilesStorage filesStorage = new FilesStorage();
itemDescription = filesStorage.getFileInfoOnWorkspace( itemDescription = filesStorage.getFileInfoOnWorkspace(serviceCredentials.getUserName(),
serviceCredentials.getUserName(), itemDescription.getId()); itemDescription.getId());
String pLink = filesStorage.getPublicLink(serviceCredentials.getUserName(), String pLink = filesStorage.getPublicLink(serviceCredentials.getUserName(),
itemDescription.getId()); itemDescription.getId());
itemDescription.setPublicLink(pLink); itemDescription.setPublicLink(pLink);
@ -390,11 +384,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
return project; return project;
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
e.printStackTrace(); logger.error("Error in setBinaryCode(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
logger.error("setBinaryCode(): " + e.getLocalizedMessage(), e); logger.error("Error in setBinaryCode(): " + e.getLocalizedMessage(), e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
} }
@ -423,11 +416,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
return; return;
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
e.printStackTrace(); logger.error("Error in addResourceToProject(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
logger.error("addResourceToProject(): " + e.getLocalizedMessage(), e); logger.error("Error in addResourceToProject(): " + e.getLocalizedMessage(), e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
} }
@ -452,11 +444,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
return project; return project;
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
e.printStackTrace(); logger.error("Error in deleteResourceOnProject(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
logger.error("deleteResourceOnProject(): " + e.getLocalizedMessage(), e); logger.error("Error in deleteResourceOnProject(): " + e.getLocalizedMessage(), e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
} }
@ -526,7 +517,8 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
Project project = SessionUtil.getProjectSession(httpRequest, serviceCredentials); Project project = SessionUtil.getProjectSession(httpRequest, serviceCredentials);
if (project != null) { if (project != null) {
project.setInputData(inputData); project.setInputData(inputData);
ProjectShareInfoBuilder projectShareInfoBuilder=new ProjectShareInfoBuilder(serviceCredentials, project); ProjectShareInfoBuilder projectShareInfoBuilder = new ProjectShareInfoBuilder(serviceCredentials,
project);
projectShareInfoBuilder.create(); projectShareInfoBuilder.create();
SessionUtil.setProjectSession(httpRequest, serviceCredentials, project); SessionUtil.setProjectSession(httpRequest, serviceCredentials, project);
ProjectArchiver.archive(project, serviceCredentials); ProjectArchiver.archive(project, serviceCredentials);
@ -536,11 +528,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
return; return;
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
e.printStackTrace(); logger.error("Error in saveProject(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
logger.error("saveProject(): " + e.getLocalizedMessage(), e); logger.error("Error in saveProject(): " + e.getLocalizedMessage(), e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
} }
@ -591,26 +582,26 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
} catch ( } catch (
StatAlgoImporterServiceException e) { StatAlgoImporterServiceException e) {
e.printStackTrace(); logger.error("Error in saveCode(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
logger.error("saveCode(): " + e.getLocalizedMessage(), e); logger.error("Error in saveCode(): " + e.getLocalizedMessage(), e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
} }
} }
@Override @Override
public Project setNewCode(InputData inputData,ItemDescription fileDescription, String code) throws StatAlgoImporterServiceException { public Project setNewCode(InputData inputData, ItemDescription fileDescription, String code)
throws StatAlgoImporterServiceException {
try { try {
HttpServletRequest httpRequest = this.getThreadLocalRequest(); HttpServletRequest httpRequest = this.getThreadLocalRequest();
ServiceCredentials serviceCredentials = SessionUtil.getServiceCredentials(httpRequest); ServiceCredentials serviceCredentials = SessionUtil.getServiceCredentials(httpRequest);
logger.debug("setNewCode(): "+inputData+", " + fileDescription + ", " + code); logger.debug("setNewCode(): " + inputData + ", " + fileDescription + ", " + code);
Project project = SessionUtil.getProjectSession(httpRequest, serviceCredentials); Project project = SessionUtil.getProjectSession(httpRequest, serviceCredentials);
if (project != null && project.getProjectFolder() != null if (project != null && project.getProjectFolder() != null
&& project.getProjectFolder().getFolder() != null) { && project.getProjectFolder().getFolder() != null) {
if (project.getProjectConfig() != null && project.getProjectConfig().getProjectSupport() != null) { if (project.getProjectConfig() != null && project.getProjectConfig().getProjectSupport() != null) {
if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportREdit) { if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportREdit) {
@ -619,7 +610,7 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
code, project.getProjectFolder().getFolder().getId()); code, project.getProjectFolder().getFolder().getId());
MainCode mainCode = new MainCode(mainCodeItemDescription); MainCode mainCode = new MainCode(mainCodeItemDescription);
project.setMainCode(mainCode); project.setMainCode(mainCode);
if(inputData!=null){ if (inputData != null) {
inputData.setListInputOutputVariables(null); inputData.setListInputOutputVariables(null);
project.setInputData(inputData); project.setInputData(inputData);
} }
@ -653,18 +644,15 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
} }
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
e.printStackTrace(); logger.error("Error in setNewCode(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
logger.error("saveCode(): " + e.getLocalizedMessage(), e); logger.error("Error in setNewCode(): " + e.getLocalizedMessage(), e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
} }
} }
@Override @Override
public String getPublicLink(ItemDescription itemDescription) throws StatAlgoImporterServiceException { public String getPublicLink(ItemDescription itemDescription) throws StatAlgoImporterServiceException {
try { try {
@ -676,15 +664,14 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
return link; return link;
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
e.printStackTrace(); logger.error("Error in getPublicLink(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
logger.error("getPublicLink(): " + e.getLocalizedMessage(), e); logger.error("Error in getPublicLink(): " + e.getLocalizedMessage(), e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
} }
} }
@Override @Override
public Project createSoftware(InputData inputData) throws StatAlgoImporterServiceException { public Project createSoftware(InputData inputData) throws StatAlgoImporterServiceException {
try { try {
@ -707,11 +694,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
} }
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
e.printStackTrace(); logger.error("Error in createSoftware(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
logger.error("createSoftware(): " + e.getLocalizedMessage(), e); logger.error("Error in createSoftware(): " + e.getLocalizedMessage(), e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
} }
@ -734,17 +720,17 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
DeploySave deploySave = projectDeploy.deploy(); DeploySave deploySave = projectDeploy.deploy();
if (saiDescriptor != null && saiDescriptor.getPoolManagerConfig() != null if (saiDescriptor != null && saiDescriptor.getPoolManagerConfig() != null
&& saiDescriptor.getPoolManagerConfig().isEnable()) { && saiDescriptor.getPoolManagerConfig().isEnable()) {
logger.info("Deploy On PoolManager"); logger.info("Deploy On DMPoolManager");
ItemDescription codeJar = project.getProjectTarget().getProjectDeploy().getCodeJar(); ItemDescription codeJar = project.getProjectTarget().getProjectDeploy().getCodeJar();
logger.debug("CodeJarAdminCopy for PoolManager: " + codeJar); logger.debug("CodeJarAdminCopy for DMPoolManager: " + codeJar);
DataMinerPoolManager poolManager = new DataMinerPoolManager(serviceCredentials); DataMinerPoolManager poolManager = new DataMinerPoolManager(serviceCredentials);
String operationId = poolManager.deployAlgorithm(project, deploySave.getInfoData(), String operationId = poolManager.deployAlgorithm(project, deploySave.getInfoData(), codeJar);
codeJar);
logger.info("Deploy operationId: " + operationId); logger.info("Deploy operationId: " + operationId);
return operationId; return operationId;
} else { } else {
logger.info("Deploy On PoolManager disabled"); logger.info("Deploy On DMPoolManager disabled, check the resources in the scope!");
return null; throw new StatAlgoImporterServiceException(
"Deploy On DMPoolManager disabled, check the resources in the scope!");
} }
} else { } else {
throw new StatAlgoImporterServiceException( throw new StatAlgoImporterServiceException(
@ -752,11 +738,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
} }
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
e.printStackTrace(); logger.error("Error in publishSoftware(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
logger.error("publishSoftware(): " + e.getLocalizedMessage(), e); logger.error("Error in publishSoftware(): " + e.getLocalizedMessage(), e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
} }
@ -776,16 +761,16 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
SessionUtil.setProjectSession(httpRequest, serviceCredentials, project); SessionUtil.setProjectSession(httpRequest, serviceCredentials, project);
ProjectArchiver.archive(project, serviceCredentials); ProjectArchiver.archive(project, serviceCredentials);
} else { } else {
logger.error("The script was not packaged correctly!");
throw new StatAlgoImporterServiceException("The script was not packaged correctly!"); throw new StatAlgoImporterServiceException("The script was not packaged correctly!");
} }
return; return;
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
logger.error("repackageSoftware(): " + e.getLocalizedMessage(), e); logger.error("Error in repackageSoftware(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
logger.error("repackageSoftware(): " + e.getLocalizedMessage(), e); logger.error("Error in repackageSoftware(): " + e.getLocalizedMessage(), e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
} }
@ -803,11 +788,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
return deployOperationStatus; return deployOperationStatus;
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
e.printStackTrace(); logger.error("Error in getDeployOperationStatus(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
logger.error("getDeployOperationStatus(): " + e.getLocalizedMessage(), e); logger.error("Error in getDeployOperationStatus(): " + e.getLocalizedMessage(), e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
} }
} }
@ -824,11 +808,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
return deployOperationLogsLink; return deployOperationLogsLink;
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
e.printStackTrace(); logger.error("Error in getDeployOperationLogs(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
logger.error("getDeployOperationLogs(): " + e.getLocalizedMessage(), e); logger.error("Error in getDeployOperationLogs(): " + e.getLocalizedMessage(), e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
} }
} }
@ -844,11 +827,13 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
logger.debug("ItemDescription info: " + itemDownloadInfo); logger.debug("ItemDescription info: " + itemDownloadInfo);
return itemDownloadInfo; return itemDownloadInfo;
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
logger.error(e.getLocalizedMessage(), e); logger.error("Error in getItemDescription(): " + e.getLocalizedMessage(), e);
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
logger.error("Error retrieving item description: " + e.getLocalizedMessage(), e); logger.error("Error in getItemDescription(): " + e.getLocalizedMessage(), e);
throw new StatAlgoImporterServiceException("Error retrieving item description: " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException("Error retrieving item description: " + e.getLocalizedMessage(),
e);
} }
} }

View File

@ -59,11 +59,8 @@ public class BuildSAIDescriptor {
} else { } else {
logger.info("Production Mode"); logger.info("Production Mode");
SAIDescriptorJAXB saiDescriptorJAXB = null; SAIDescriptorJAXB saiDescriptorJAXB = null;
try { saiDescriptorJAXB = InformationSystemUtils.retrieveSAIDescriptor(scope);
saiDescriptorJAXB = InformationSystemUtils.retrieveSAIDescriptor(scope);
} catch (StatAlgoImporterServiceException e) {
logger.info(e.getLocalizedMessage());
}
PoolManagerConfig poolManagerConfig; PoolManagerConfig poolManagerConfig;
String remoteTemplateFile; String remoteTemplateFile;
String ecologicalEngineJarUrl; String ecologicalEngineJarUrl;
@ -117,67 +114,16 @@ public class BuildSAIDescriptor {
} }
} else { } else {
logger.info("Available Project Configuration use default configuration, scope: " + scope); logger.error("Error reading SAI resource on IS in scope: "+scope);
logger.error("Invalid Available Project Configuration in the resource");
ProjectSetup r = new ProjectSetup(ProjectLanguageType.R.getId(), ProjectSupportType.REDIT); throw new StatAlgoImporterServiceException("Invalid configuration set in SAI resource in scope: "+scope);
availableProjectConfigurations.add(r);
ProjectSetup rBlackBox = new ProjectSetup(ProjectLanguageType.R_BLACKBOX.getId(),
ProjectSupportType.BLACKBOX);
availableProjectConfigurations.add(rBlackBox);
ProjectSetup java = new ProjectSetup(ProjectLanguageType.JAVA.getId(), ProjectSupportType.BLACKBOX);
availableProjectConfigurations.add(java);
ProjectSetup knimeWorkflow = new ProjectSetup(ProjectLanguageType.KNIME_WORKFLOW.getId(),
ProjectSupportType.BLACKBOX);
availableProjectConfigurations.add(knimeWorkflow);
ProjectSetup linuxCompiled = new ProjectSetup(ProjectLanguageType.LINUX_COMPILED.getId(),
ProjectSupportType.BLACKBOX);
availableProjectConfigurations.add(linuxCompiled);
ProjectSetup octave = new ProjectSetup(ProjectLanguageType.OCTAVE.getId(),
ProjectSupportType.BLACKBOX);
availableProjectConfigurations.add(octave);
ProjectSetup python = new ProjectSetup(ProjectLanguageType.PYTHON.getId(),
ProjectSupportType.BLACKBOX);
availableProjectConfigurations.add(python);
ProjectSetup windowsCompiled = new ProjectSetup(ProjectLanguageType.WINDOWS_COMPILED.getId(),
ProjectSupportType.BLACKBOX);
availableProjectConfigurations.add(windowsCompiled);
ProjectSetup preInstalled = new ProjectSetup(ProjectLanguageType.PRE_INSTALLED.getId(),
ProjectSupportType.BASHEDIT);
availableProjectConfigurations.add(preInstalled);
} }
} else { } else {
logger.info("Production Mode Default"); logger.error("Error retrieving SAI configuration resource in scope: " + scope);
logger.info("SAIDescriptorJAXB use default configuration for scope: " + scope); throw new StatAlgoImporterServiceException(
poolManagerConfig = new PoolManagerConfig(false); "The SAI configuration resource is not available in scope: " + scope);
remoteTemplateFile = Constants.REMOTE_TEMPLATE_FILE;
ecologicalEngineJarUrl = Constants.ECOLOGICAL_ENGINE_JAR_URL;
ecologicalEngineSmartExecutorJarUrl = Constants.ECOLOGICAL_ENGINE_SMART_EXECUTOR_JAR_URL;
ProjectSetup r = new ProjectSetup(ProjectLanguageType.R.getId(), ProjectSupportType.REDIT);
availableProjectConfigurations.add(r);
ProjectSetup rBlackBox = new ProjectSetup(ProjectLanguageType.R_BLACKBOX.getId(),
ProjectSupportType.BLACKBOX);
availableProjectConfigurations.add(rBlackBox);
ProjectSetup java = new ProjectSetup(ProjectLanguageType.JAVA.getId(), ProjectSupportType.BLACKBOX);
availableProjectConfigurations.add(java);
ProjectSetup knimeWorkflow = new ProjectSetup(ProjectLanguageType.KNIME_WORKFLOW.getId(),
ProjectSupportType.BLACKBOX);
availableProjectConfigurations.add(knimeWorkflow);
ProjectSetup linuxCompiled = new ProjectSetup(ProjectLanguageType.LINUX_COMPILED.getId(),
ProjectSupportType.BLACKBOX);
availableProjectConfigurations.add(linuxCompiled);
ProjectSetup octave = new ProjectSetup(ProjectLanguageType.OCTAVE.getId(), ProjectSupportType.BLACKBOX);
availableProjectConfigurations.add(octave);
ProjectSetup python = new ProjectSetup(ProjectLanguageType.PYTHON.getId(), ProjectSupportType.BLACKBOX);
availableProjectConfigurations.add(python);
ProjectSetup windowsCompiled = new ProjectSetup(ProjectLanguageType.WINDOWS_COMPILED.getId(),
ProjectSupportType.BLACKBOX);
availableProjectConfigurations.add(windowsCompiled);
ProjectSetup preInstalled = new ProjectSetup(ProjectLanguageType.PRE_INSTALLED.getId(),
ProjectSupportType.BASHEDIT);
availableProjectConfigurations.add(preInstalled);
} }
saiDescriptor = new SAIDescriptor(poolManagerConfig, remoteTemplateFile, ecologicalEngineJarUrl, saiDescriptor = new SAIDescriptor(poolManagerConfig, remoteTemplateFile, ecologicalEngineJarUrl,

View File

@ -35,7 +35,7 @@ public class InformationSystemUtils {
return null; return null;
ScopeProvider.instance.set(scope); ScopeProvider.instance.set(scope);
logger.debug("Retrieve SAI descriptor in scope: " + scope); logger.info("Retrieve SAI descriptor in scope: " + scope);
SimpleQuery query = ICFactory.queryFor(GenericResource.class); SimpleQuery query = ICFactory.queryFor(GenericResource.class);
query.addCondition("$resource/Profile/SecondaryType/text() eq '" + Constants.SAI_CATEGORY + "'") query.addCondition("$resource/Profile/SecondaryType/text() eq '" + Constants.SAI_CATEGORY + "'")
@ -73,8 +73,7 @@ public class InformationSystemUtils {
+ ". " + "Resource parsing failed!"; + ". " + "Resource parsing failed!";
logger.error(error); logger.error(error);
logger.error( logger.error(
"Error {resource=" + genericResource + ", error=" + e.getLocalizedMessage() + "}"); "Error {resource=" + genericResource + ", error=" + e.getLocalizedMessage() + "}",e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(error, e); throw new StatAlgoImporterServiceException(error, e);
} }
break; break;
@ -83,22 +82,28 @@ public class InformationSystemUtils {
} }
} }
if(saiDescriptorJaxB==null){
String error = "Error in discovery SAI generic resource on IS in scope " + scope;
logger.error(error);
throw new StatAlgoImporterServiceException(error);
}
return saiDescriptorJaxB; return saiDescriptorJaxB;
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
throw e; throw e;
} catch (Throwable e) { } catch (Throwable e) {
String error = "Error in discovery SAI profile generic resource on IS in scope : " + scope; String error = "Error in discovery SAI generic resource on IS in scope " + scope;
logger.error(error); logger.error(error);
logger.error("Error: " + e.getLocalizedMessage(), e); logger.error(e.getLocalizedMessage(), e);
throw new StatAlgoImporterServiceException(error, e); throw new StatAlgoImporterServiceException(error, e);
} }
} }
public static String retrieveDataMinerPoolManager(String scope) throws StatAlgoImporterServiceException { public static String retrieveDataMinerPoolManager(String scope) throws StatAlgoImporterServiceException {
try { try {
logger.debug("Retrieve dataminer-pool-manager"); logger.info("Retrieve dataminer-pool-manager in scope: "+scope);
if (scope == null || scope.length() == 0) if (scope == null || scope.length() == 0)
return null; return null;
@ -160,6 +165,12 @@ public class InformationSystemUtils {
} }
logger.debug("DataMiner PoolManager URI: " + poolManagerURI); logger.debug("DataMiner PoolManager URI: " + poolManagerURI);
if(poolManagerURI==null||poolManagerURI.isEmpty()){
String error = "Error in discovery DataMiner PoolManager gCubeEndpoint resource on IS in scope: "
+ scope;
logger.error(error);
throw new StatAlgoImporterServiceException(error);
}
return poolManagerURI; return poolManagerURI;
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {
@ -167,14 +178,14 @@ public class InformationSystemUtils {
} catch (Throwable e) { } catch (Throwable e) {
String error = "Error in discovery DataMiner PoolManager gCubeEndpoint resource on IS in scope : " + scope; String error = "Error in discovery DataMiner PoolManager gCubeEndpoint resource on IS in scope : " + scope;
logger.error(error); logger.error(error);
logger.error("Error: " + e.getLocalizedMessage(), e); logger.error(e.getLocalizedMessage(), e);
throw new StatAlgoImporterServiceException(error, e); throw new StatAlgoImporterServiceException(error, e);
} }
} }
public static String retrieveSocialNetworkingService(String scope) throws StatAlgoImporterServiceException { public static String retrieveSocialNetworkingService(String scope) throws StatAlgoImporterServiceException {
try { try {
logger.debug("Retrieve SocialNetworkingService"); logger.info("Retrieve SocialNetworkingService in scope: "+scope);
if (scope == null || scope.length() == 0) if (scope == null || scope.length() == 0)
return null; return null;
@ -233,6 +244,14 @@ public class InformationSystemUtils {
} }
logger.debug("SocialNetworking URI: " + socialNetworkingURI); logger.debug("SocialNetworking URI: " + socialNetworkingURI);
if(socialNetworkingURI==null||socialNetworkingResources.isEmpty()){
String error = "Error in discovery SocialNetworking gCubeEndpoint resource on IS in scope: "
+ scope;
logger.error(error);
throw new StatAlgoImporterServiceException(error);
}
return socialNetworkingURI; return socialNetworkingURI;
} catch (StatAlgoImporterServiceException e) { } catch (StatAlgoImporterServiceException e) {