From adcd0669646348f3b0267c26f08abe52a4a0e8a2 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Wed, 18 Sep 2019 15:26:29 +0000 Subject: [PATCH] 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 --- distro/changelog.xml | 3 + .../create/ProjectSetupSelectionCard.java | 2 +- .../client/project/ProjectManager.java | 2 +- .../client/rpc/StatAlgoImporterService.java | 2 +- .../rpc/StatAlgoImporterServiceAsync.java | 2 +- .../server/StatAlgoImporterServiceImpl.java | 139 ++++++++---------- .../server/is/BuildSAIDescriptor.java | 72 ++------- .../server/is/InformationSystemUtils.java | 37 +++-- 8 files changed, 106 insertions(+), 153 deletions(-) diff --git a/distro/changelog.xml b/distro/changelog.xml index 3c6fc56..6717c8c 100644 --- a/distro/changelog.xml +++ b/distro/changelog.xml @@ -1,4 +1,7 @@ + + Updated the resources check on IS [ticket #17569] + Updated resource selection how workaround for WorkspaceExplorer widget [ticket #16157] diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/create/ProjectSetupSelectionCard.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/create/ProjectSetupSelectionCard.java index 50373aa..bbeaa5a 100644 --- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/create/ProjectSetupSelectionCard.java +++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/create/ProjectSetupSelectionCard.java @@ -76,7 +76,7 @@ public class ProjectSetupSelectionCard extends WizardCard { final WaitDialog waitDialog = new WaitDialog(getZIndex()); waitDialog.show(); - StatAlgoImporterServiceAsync.INSTANCE.getSAIDescripor(new AsyncCallback() { + StatAlgoImporterServiceAsync.INSTANCE.getSAIDescriptor(new AsyncCallback() { @Override public void onFailure(Throwable caught) { diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/project/ProjectManager.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/project/ProjectManager.java index 49ecc10..ae625bb 100644 --- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/project/ProjectManager.java +++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/project/ProjectManager.java @@ -871,7 +871,7 @@ public class ProjectManager { } private void retrieveSAIDescriptor(final String restoreValue) { - StatAlgoImporterServiceAsync.INSTANCE.getSAIDescripor(new AsyncCallback() { + StatAlgoImporterServiceAsync.INSTANCE.getSAIDescriptor(new AsyncCallback() { @Override public void onFailure(Throwable caught) { diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/rpc/StatAlgoImporterService.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/rpc/StatAlgoImporterService.java index c754771..85e62d6 100644 --- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/rpc/StatAlgoImporterService.java +++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/rpc/StatAlgoImporterService.java @@ -39,7 +39,7 @@ public interface StatAlgoImporterService extends RemoteService { * @throws StatAlgoImporterServiceException * Exception */ - public SAIDescriptor getSAIDescripor() throws StatAlgoImporterServiceException; + public SAIDescriptor getSAIDescriptor() throws StatAlgoImporterServiceException; // File Upload Monitor /** diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/rpc/StatAlgoImporterServiceAsync.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/rpc/StatAlgoImporterServiceAsync.java index 8867dfc..4b9b1ee 100644 --- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/rpc/StatAlgoImporterServiceAsync.java +++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/rpc/StatAlgoImporterServiceAsync.java @@ -30,7 +30,7 @@ public interface StatAlgoImporterServiceAsync { void hello(AsyncCallback callback); - void getSAIDescripor(AsyncCallback callback); + void getSAIDescriptor(AsyncCallback callback); void getFileUploadMonitor(AsyncCallback callback); diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/StatAlgoImporterServiceImpl.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/StatAlgoImporterServiceImpl.java index d85d7ff..43d567f 100644 --- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/StatAlgoImporterServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/StatAlgoImporterServiceImpl.java @@ -113,18 +113,17 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements logger.debug("UserInfo: " + userInfo); return userInfo; } catch (StatAlgoImporterServiceException e) { - e.printStackTrace(); + logger.error("hello(): " + e.getLocalizedMessage(), e); throw e; } catch (Throwable e) { - e.printStackTrace(); - logger.error("Hello(): " + e.getLocalizedMessage(), e); + logger.error("hello(): " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); } } @Override - public SAIDescriptor getSAIDescripor() throws StatAlgoImporterServiceException { + public SAIDescriptor getSAIDescriptor() throws StatAlgoImporterServiceException { HttpServletRequest httpRequest = null; try { httpRequest = this.getThreadLocalRequest(); @@ -154,11 +153,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements Project project = SessionUtil.getProjectSession(httpRequest, serviceCredentials); return project; } catch (StatAlgoImporterServiceException e) { - e.printStackTrace(); + logger.error("Error in restoreUISession(): " + e.getLocalizedMessage(), e); throw e; } catch (Throwable e) { - logger.error("getCode(): " + e.getLocalizedMessage(), e); - e.printStackTrace(); + logger.error("Error in restoreUISession(): " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); } @@ -209,11 +207,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements return codeList; } catch (StatAlgoImporterServiceException e) { - e.printStackTrace(); + logger.error("getCode(): " + e.getLocalizedMessage(), e); throw e; } catch (Throwable e) { logger.error("getCode(): " + e.getLocalizedMessage(), e); - e.printStackTrace(); throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); } @@ -266,11 +263,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements logger.debug("Create Project: " + project); return project; } catch (StatAlgoImporterServiceException e) { - e.printStackTrace(); + logger.error("Error in createProjectOnWorkspace(): " + e.getLocalizedMessage(), e); throw e; } catch (Throwable e) { - logger.error("createProjectOnWorkspace(): " + e.getLocalizedMessage(), e); - e.printStackTrace(); + logger.error("Error in createProjectOnWorkspace(): " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); } } @@ -296,11 +292,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements return project; } catch (StatAlgoImporterServiceException e) { - e.printStackTrace(); + logger.error("Error in openProjectOnWorkspace(): " + e.getLocalizedMessage(), e); throw e; } catch (Throwable e) { - logger.error("openProjectOnWorkspace(): " + e.getLocalizedMessage(), e); - e.printStackTrace(); + logger.error("Error in openProjectOnWorkspace(): " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); } @@ -318,8 +313,8 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements String pLink = filesStorage.getPublicLink(serviceCredentials.getUserName(), itemDescription.getId()); itemDescription.setPublicLink(pLink); project.setMainCode(new MainCode(itemDescription)); - InputData inputData=project.getInputData(); - if(inputData!=null){ + InputData inputData = project.getInputData(); + if (inputData != null) { inputData.setListInputOutputVariables(null); } project.setProjectTarget(null); @@ -333,11 +328,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements return project; } catch (StatAlgoImporterServiceException e) { - e.printStackTrace(); + logger.error("Error in setMainCode(): " + e.getLocalizedMessage(), e); throw e; } catch (Throwable e) { - logger.error("setMainCode(): " + e.getLocalizedMessage(), e); - e.printStackTrace(); + logger.error("Error in setMainCode(): " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); } @@ -356,8 +350,8 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements ProjectSupportBlackBox projectSupportBlackBox = (ProjectSupportBlackBox) project .getProjectConfig().getProjectSupport(); FilesStorage filesStorage = new FilesStorage(); - itemDescription = filesStorage.getFileInfoOnWorkspace( - serviceCredentials.getUserName(), itemDescription.getId()); + itemDescription = filesStorage.getFileInfoOnWorkspace(serviceCredentials.getUserName(), + itemDescription.getId()); String pLink = filesStorage.getPublicLink(serviceCredentials.getUserName(), itemDescription.getId()); itemDescription.setPublicLink(pLink); @@ -369,8 +363,8 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements ProjectSupportBashEdit projectSupportBashEdit = (ProjectSupportBashEdit) project .getProjectConfig().getProjectSupport(); FilesStorage filesStorage = new FilesStorage(); - itemDescription = filesStorage.getFileInfoOnWorkspace( - serviceCredentials.getUserName(), itemDescription.getId()); + itemDescription = filesStorage.getFileInfoOnWorkspace(serviceCredentials.getUserName(), + itemDescription.getId()); String pLink = filesStorage.getPublicLink(serviceCredentials.getUserName(), itemDescription.getId()); itemDescription.setPublicLink(pLink); @@ -390,11 +384,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements return project; } catch (StatAlgoImporterServiceException e) { - e.printStackTrace(); + logger.error("Error in setBinaryCode(): " + e.getLocalizedMessage(), e); throw e; } catch (Throwable e) { - logger.error("setBinaryCode(): " + e.getLocalizedMessage(), e); - e.printStackTrace(); + logger.error("Error in setBinaryCode(): " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); } @@ -423,11 +416,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements return; } catch (StatAlgoImporterServiceException e) { - e.printStackTrace(); + logger.error("Error in addResourceToProject(): " + e.getLocalizedMessage(), e); throw e; } catch (Throwable e) { - logger.error("addResourceToProject(): " + e.getLocalizedMessage(), e); - e.printStackTrace(); + logger.error("Error in addResourceToProject(): " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); } @@ -452,11 +444,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements return project; } catch (StatAlgoImporterServiceException e) { - e.printStackTrace(); + logger.error("Error in deleteResourceOnProject(): " + e.getLocalizedMessage(), e); throw e; } catch (Throwable e) { - logger.error("deleteResourceOnProject(): " + e.getLocalizedMessage(), e); - e.printStackTrace(); + logger.error("Error in deleteResourceOnProject(): " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); } @@ -526,7 +517,8 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements Project project = SessionUtil.getProjectSession(httpRequest, serviceCredentials); if (project != null) { project.setInputData(inputData); - ProjectShareInfoBuilder projectShareInfoBuilder=new ProjectShareInfoBuilder(serviceCredentials, project); + ProjectShareInfoBuilder projectShareInfoBuilder = new ProjectShareInfoBuilder(serviceCredentials, + project); projectShareInfoBuilder.create(); SessionUtil.setProjectSession(httpRequest, serviceCredentials, project); ProjectArchiver.archive(project, serviceCredentials); @@ -536,11 +528,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements return; } catch (StatAlgoImporterServiceException e) { - e.printStackTrace(); + logger.error("Error in saveProject(): " + e.getLocalizedMessage(), e); throw e; } catch (Throwable e) { - logger.error("saveProject(): " + e.getLocalizedMessage(), e); - e.printStackTrace(); + logger.error("Error in saveProject(): " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); } @@ -591,26 +582,26 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements } catch ( StatAlgoImporterServiceException e) { - e.printStackTrace(); + logger.error("Error in saveCode(): " + e.getLocalizedMessage(), e); throw e; } catch (Throwable e) { - logger.error("saveCode(): " + e.getLocalizedMessage(), e); - e.printStackTrace(); + logger.error("Error in saveCode(): " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); } } @Override - public Project setNewCode(InputData inputData,ItemDescription fileDescription, String code) throws StatAlgoImporterServiceException { + public Project setNewCode(InputData inputData, ItemDescription fileDescription, String code) + throws StatAlgoImporterServiceException { try { HttpServletRequest httpRequest = this.getThreadLocalRequest(); ServiceCredentials serviceCredentials = SessionUtil.getServiceCredentials(httpRequest); - logger.debug("setNewCode(): "+inputData+", " + fileDescription + ", " + code); + logger.debug("setNewCode(): " + inputData + ", " + fileDescription + ", " + code); Project project = SessionUtil.getProjectSession(httpRequest, serviceCredentials); if (project != null && project.getProjectFolder() != null && project.getProjectFolder().getFolder() != null) { - + if (project.getProjectConfig() != null && project.getProjectConfig().getProjectSupport() != null) { if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportREdit) { @@ -619,7 +610,7 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements code, project.getProjectFolder().getFolder().getId()); MainCode mainCode = new MainCode(mainCodeItemDescription); project.setMainCode(mainCode); - if(inputData!=null){ + if (inputData != null) { inputData.setListInputOutputVariables(null); project.setInputData(inputData); } @@ -653,18 +644,15 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements } } catch (StatAlgoImporterServiceException e) { - e.printStackTrace(); + logger.error("Error in setNewCode(): " + e.getLocalizedMessage(), e); throw e; } catch (Throwable e) { - logger.error("saveCode(): " + e.getLocalizedMessage(), e); - e.printStackTrace(); + logger.error("Error in setNewCode(): " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); } } - - @Override public String getPublicLink(ItemDescription itemDescription) throws StatAlgoImporterServiceException { try { @@ -676,15 +664,14 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements return link; } catch (StatAlgoImporterServiceException e) { - e.printStackTrace(); + logger.error("Error in getPublicLink(): " + e.getLocalizedMessage(), e); throw e; } catch (Throwable e) { - logger.error("getPublicLink(): " + e.getLocalizedMessage(), e); - e.printStackTrace(); + logger.error("Error in getPublicLink(): " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); } } - + @Override public Project createSoftware(InputData inputData) throws StatAlgoImporterServiceException { try { @@ -707,11 +694,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements } } catch (StatAlgoImporterServiceException e) { - e.printStackTrace(); + logger.error("Error in createSoftware(): " + e.getLocalizedMessage(), e); throw e; } catch (Throwable e) { - logger.error("createSoftware(): " + e.getLocalizedMessage(), e); - e.printStackTrace(); + logger.error("Error in createSoftware(): " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); } @@ -734,17 +720,17 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements DeploySave deploySave = projectDeploy.deploy(); if (saiDescriptor != null && saiDescriptor.getPoolManagerConfig() != null && saiDescriptor.getPoolManagerConfig().isEnable()) { - logger.info("Deploy On PoolManager"); + logger.info("Deploy On DMPoolManager"); ItemDescription codeJar = project.getProjectTarget().getProjectDeploy().getCodeJar(); - logger.debug("CodeJarAdminCopy for PoolManager: " + codeJar); + logger.debug("CodeJarAdminCopy for DMPoolManager: " + codeJar); DataMinerPoolManager poolManager = new DataMinerPoolManager(serviceCredentials); - String operationId = poolManager.deployAlgorithm(project, deploySave.getInfoData(), - codeJar); + String operationId = poolManager.deployAlgorithm(project, deploySave.getInfoData(), codeJar); logger.info("Deploy operationId: " + operationId); return operationId; } else { - logger.info("Deploy On PoolManager disabled"); - return null; + logger.info("Deploy On DMPoolManager disabled, check the resources in the scope!"); + throw new StatAlgoImporterServiceException( + "Deploy On DMPoolManager disabled, check the resources in the scope!"); } } else { throw new StatAlgoImporterServiceException( @@ -752,11 +738,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements } } catch (StatAlgoImporterServiceException e) { - e.printStackTrace(); + logger.error("Error in publishSoftware(): " + e.getLocalizedMessage(), e); throw e; } catch (Throwable e) { - logger.error("publishSoftware(): " + e.getLocalizedMessage(), e); - e.printStackTrace(); + logger.error("Error in publishSoftware(): " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); } @@ -776,16 +761,16 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements SessionUtil.setProjectSession(httpRequest, serviceCredentials, project); ProjectArchiver.archive(project, serviceCredentials); } else { + logger.error("The script was not packaged correctly!"); throw new StatAlgoImporterServiceException("The script was not packaged correctly!"); } return; } catch (StatAlgoImporterServiceException e) { - logger.error("repackageSoftware(): " + e.getLocalizedMessage(), e); + logger.error("Error in repackageSoftware(): " + e.getLocalizedMessage(), e); throw e; } catch (Throwable e) { - logger.error("repackageSoftware(): " + e.getLocalizedMessage(), e); - e.printStackTrace(); + logger.error("Error in repackageSoftware(): " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); } @@ -803,11 +788,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements return deployOperationStatus; } catch (StatAlgoImporterServiceException e) { - e.printStackTrace(); + logger.error("Error in getDeployOperationStatus(): " + e.getLocalizedMessage(), e); throw e; } catch (Throwable e) { - logger.error("getDeployOperationStatus(): " + e.getLocalizedMessage(), e); - e.printStackTrace(); + logger.error("Error in getDeployOperationStatus(): " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); } } @@ -824,11 +808,10 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements return deployOperationLogsLink; } catch (StatAlgoImporterServiceException e) { - e.printStackTrace(); + logger.error("Error in getDeployOperationLogs(): " + e.getLocalizedMessage(), e); throw e; } catch (Throwable e) { - logger.error("getDeployOperationLogs(): " + e.getLocalizedMessage(), e); - e.printStackTrace(); + logger.error("Error in getDeployOperationLogs(): " + e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(e.getLocalizedMessage()); } } @@ -844,11 +827,13 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements logger.debug("ItemDescription info: " + itemDownloadInfo); return itemDownloadInfo; } catch (StatAlgoImporterServiceException e) { - logger.error(e.getLocalizedMessage(), e); + logger.error("Error in getItemDescription(): " + e.getLocalizedMessage(), e); + throw e; } catch (Throwable e) { - logger.error("Error retrieving item description: " + e.getLocalizedMessage(), e); - throw new StatAlgoImporterServiceException("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); } } diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/is/BuildSAIDescriptor.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/is/BuildSAIDescriptor.java index 5804b22..7c5d1f0 100644 --- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/is/BuildSAIDescriptor.java +++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/is/BuildSAIDescriptor.java @@ -59,11 +59,8 @@ public class BuildSAIDescriptor { } else { logger.info("Production Mode"); SAIDescriptorJAXB saiDescriptorJAXB = null; - try { - saiDescriptorJAXB = InformationSystemUtils.retrieveSAIDescriptor(scope); - } catch (StatAlgoImporterServiceException e) { - logger.info(e.getLocalizedMessage()); - } + saiDescriptorJAXB = InformationSystemUtils.retrieveSAIDescriptor(scope); + PoolManagerConfig poolManagerConfig; String remoteTemplateFile; String ecologicalEngineJarUrl; @@ -117,67 +114,16 @@ public class BuildSAIDescriptor { } } else { - logger.info("Available Project Configuration use default configuration, scope: " + scope); - - 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); + logger.error("Error reading SAI resource on IS in scope: "+scope); + logger.error("Invalid Available Project Configuration in the resource"); + throw new StatAlgoImporterServiceException("Invalid configuration set in SAI resource in scope: "+scope); + } } else { - logger.info("Production Mode Default"); - logger.info("SAIDescriptorJAXB use default configuration for scope: " + scope); - poolManagerConfig = new PoolManagerConfig(false); - 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); - + logger.error("Error retrieving SAI configuration resource in scope: " + scope); + throw new StatAlgoImporterServiceException( + "The SAI configuration resource is not available in scope: " + scope); } saiDescriptor = new SAIDescriptor(poolManagerConfig, remoteTemplateFile, ecologicalEngineJarUrl, diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/is/InformationSystemUtils.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/is/InformationSystemUtils.java index f11b0c4..6e28264 100644 --- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/is/InformationSystemUtils.java +++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/is/InformationSystemUtils.java @@ -35,7 +35,7 @@ public class InformationSystemUtils { return null; 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); query.addCondition("$resource/Profile/SecondaryType/text() eq '" + Constants.SAI_CATEGORY + "'") @@ -73,8 +73,7 @@ public class InformationSystemUtils { + ". " + "Resource parsing failed!"; logger.error(error); logger.error( - "Error {resource=" + genericResource + ", error=" + e.getLocalizedMessage() + "}"); - e.printStackTrace(); + "Error {resource=" + genericResource + ", error=" + e.getLocalizedMessage() + "}",e); throw new StatAlgoImporterServiceException(error, e); } 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; } catch (StatAlgoImporterServiceException e) { throw 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: " + e.getLocalizedMessage(), e); + logger.error(e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(error, e); } } public static String retrieveDataMinerPoolManager(String scope) throws StatAlgoImporterServiceException { try { - logger.debug("Retrieve dataminer-pool-manager"); + logger.info("Retrieve dataminer-pool-manager in scope: "+scope); if (scope == null || scope.length() == 0) return null; @@ -160,6 +165,12 @@ public class InformationSystemUtils { } 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; } catch (StatAlgoImporterServiceException e) { @@ -167,14 +178,14 @@ public class InformationSystemUtils { } catch (Throwable e) { String error = "Error in discovery DataMiner PoolManager gCubeEndpoint resource on IS in scope : " + scope; logger.error(error); - logger.error("Error: " + e.getLocalizedMessage(), e); + logger.error(e.getLocalizedMessage(), e); throw new StatAlgoImporterServiceException(error, e); } } public static String retrieveSocialNetworkingService(String scope) throws StatAlgoImporterServiceException { try { - logger.debug("Retrieve SocialNetworkingService"); + logger.info("Retrieve SocialNetworkingService in scope: "+scope); if (scope == null || scope.length() == 0) return null; @@ -233,6 +244,14 @@ public class InformationSystemUtils { } 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; } catch (StatAlgoImporterServiceException e) {