1452: Implement a GUI for StatMan Algorithms Importer

Task-Url: https://support.d4science.org/issues/1452

Added Repackage

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/statistical-algorithms-importer@122526 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2016-01-26 15:31:34 +00:00
parent a0ded9b2ba
commit f0ad8e6d42
24 changed files with 894 additions and 241 deletions

View File

@ -278,6 +278,9 @@ public class StatAlgoImporterController {
case SOFTWARE_PUBLISH:
softwarePublish();
break;
case SOFTWARE_REPACKAGE:
softwareRepackage();
break;
case HELP:
showHelp();
break;
@ -372,6 +375,11 @@ public class StatAlgoImporterController {
pm.softwarePublish();
}
private void softwareRepackage() {
pm.softwareRepackage();
}
private void showCreateProjectDialog() {
pm.createProject();

View File

@ -645,6 +645,67 @@ public class ProjectManager {
});
}
public void softwareRepackage() {
if (project != null) {
final ConfirmMessageBox mb = new ConfirmMessageBox(
"Attention",
"This operation repackages the script only without recreating the Java software. The already deployed Java software will use the new script package. Do you want to proceed?");
mb.addDialogHideHandler(new DialogHideHandler() {
@Override
public void onDialogHide(DialogHideEvent event) {
switch (event.getHideButton()) {
case NO:
break;
case YES:
softwareRepackageOnServer();
break;
default:
break;
}
}
});
mb.setWidth(300);
mb.show();
} else {
Log.error("Project not open: " + project);
UtilsGXT3.alert("Error", "Project not open!");
}
}
private void softwareRepackageOnServer() {
final StatAlgoImporterMonitor monitor = new StatAlgoImporterMonitor();
StatAlgoImporterServiceAsync.INSTANCE
.repackageSoftware(new AsyncCallback<Void>() {
public void onFailure(Throwable caught) {
monitor.hide();
if (caught instanceof StatAlgoImporterSessionExpiredException) {
eventBus.fireEvent(new SessionExpiredEvent(
SessionExpiredType.EXPIREDONSERVER));
} else {
UtilsGXT3.alert("Error",
caught.getLocalizedMessage());
}
}
public void onSuccess(Void result) {
monitor.hide();
UtilsGXT3.info("Repackage",
"The script has been repackaged!");
}
});
}
public void softwarePublish() {
if (project != null) {
@ -704,4 +765,6 @@ public class ProjectManager {
});
}
}

View File

@ -21,32 +21,31 @@ public interface StatAlgoImporterResources extends ClientBundle {
@Source("SAIStyles.css")
SAIStyles saiStyles();
@Source("WikiLink.txt")
ExternalTextResource wikiLink();
@Source("help_32.png")
ImageResource help32();
@Source("help_24.png")
ImageResource help24();
@Source("download_32.png")
ImageResource download32();
@Source("download_24.png")
ImageResource download24();
@Source("download_16.png")
ImageResource download16();
@Source("upload_32.png")
ImageResource upload32();
@Source("upload_24.png")
ImageResource upload24();
@Source("job_32.png")
ImageResource job32();
@ -55,7 +54,7 @@ public interface StatAlgoImporterResources extends ClientBundle {
@Source("reload_24.png")
ImageResource reload24();
@Source("reload_16.png")
ImageResource reload16();
@ -67,22 +66,28 @@ public interface StatAlgoImporterResources extends ClientBundle {
@Source("cancel_32.png")
ImageResource cancel32();
@Source("cancel_24.png")
ImageResource cancel24();
@Source("algorithm_32.png")
ImageResource algorithm32();
@Source("algorithm_24.png")
ImageResource algorithm24();
@Source("publish_32.png")
ImageResource publish32();
@Source("publish_24.png")
ImageResource publish24();
@Source("zip_32.png")
ImageResource zip32();
@Source("zip_24.png")
ImageResource zip24();
@Source("project-create_32.png")
ImageResource projectCreate32();
@ -91,31 +96,31 @@ public interface StatAlgoImporterResources extends ClientBundle {
@Source("project-open_32.png")
ImageResource projectOpen32();
@Source("project-open_24.png")
ImageResource projectOpen24();
@Source("project-save_32.png")
ImageResource projectSave32();
@Source("project-save_24.png")
ImageResource projectSave24();
@Source("add_24.png")
ImageResource add24();
@Source("add_16.png")
ImageResource add16();
@Source("delete_24.png")
ImageResource delete24();
@Source("delete_16.png")
ImageResource delete16();
@Source("save_24.png")
ImageResource save24();
@Source("save_16.png")
ImageResource save16();
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 897 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -50,7 +50,7 @@ public class HomeToolBar {
//Software
private TextButton btnCreateSoftware;
private TextButton btnPublishSoftware;
private TextButton btnRepackageSoftware;
// Help
private TextButton btnHelp;
@ -196,6 +196,7 @@ public class HomeToolBar {
btnCreateSoftware.setIconAlign(IconAlign.LEFT);
btnCreateSoftware.setArrowAlign(ButtonArrowAlign.BOTTOM);
btnCreateSoftware.setToolTip(msgs.btnCreateSoftwareToolTip());
btnCreateSoftware.getElement().setMargins(new Margins(0, 4, 0, 0));
btnCreateSoftware.disable();
btnCreateSoftware.addSelectHandler(new SelectHandler() {
@ -215,6 +216,7 @@ public class HomeToolBar {
btnPublishSoftware.setIconAlign(IconAlign.LEFT);
btnPublishSoftware.setArrowAlign(ButtonArrowAlign.BOTTOM);
btnPublishSoftware.setToolTip(msgs.btnPublishSoftwareToolTip());
btnPublishSoftware.getElement().setMargins(new Margins(0, 4, 0, 0));
btnPublishSoftware.disable();
btnPublishSoftware.addSelectHandler(new SelectHandler() {
@ -227,6 +229,27 @@ public class HomeToolBar {
softwareLayout.setWidget(0, 1, btnPublishSoftware);
softwareLayout.getFlexCellFormatter().setRowSpan(0, 1, 2);
btnRepackageSoftware = new TextButton(msgs.btnRepackageSoftwareText(),
StatAlgoImporterResources.INSTANCE.zip24());
btnRepackageSoftware.setId("publishSofwareButton");
btnRepackageSoftware.setScale(ButtonScale.SMALL);
btnRepackageSoftware.setIconAlign(IconAlign.LEFT);
btnRepackageSoftware.setArrowAlign(ButtonArrowAlign.BOTTOM);
btnRepackageSoftware.setToolTip(msgs.btnRepackageSoftwareToolTip());
btnRepackageSoftware.disable();
btnRepackageSoftware.addSelectHandler(new SelectHandler() {
public void onSelect(SelectEvent event) {
eventBus.fireEvent(new StatAlgoImporterRibbonEvent(
StatAlgoImporterRibbonType.SOFTWARE_REPACKAGE));
}
});
softwareLayout.setWidget(0, 2, btnRepackageSoftware);
softwareLayout.getFlexCellFormatter().setRowSpan(0, 2, 2);
// Help
ButtonGroup helpGroup = new ButtonGroup();
@ -373,6 +396,7 @@ public class HomeToolBar {
btnAddResource.disable();
btnCreateSoftware.disable();
btnPublishSoftware.disable();
btnRepackageSoftware.disable();
btnHelp.enable();
break;
case OPEN:
@ -387,6 +411,7 @@ public class HomeToolBar {
btnAddResource.enable();
btnCreateSoftware.enable();
btnPublishSoftware.enable();
btnRepackageSoftware.enable();
btnHelp.enable();
break;
default:

View File

@ -75,6 +75,13 @@ public interface HomeToolBarMessages extends Messages {
@DefaultMessage("Publish Software")
String btnPublishSoftwareToolTip();
@DefaultMessage("Repackage")
String btnRepackageSoftwareText();
@DefaultMessage("Script Repackage")
String btnRepackageSoftwareToolTip();
//
@DefaultMessage("Help")
String helpGroupHeadingText();
@ -84,5 +91,6 @@ public interface HomeToolBarMessages extends Messages {
@DefaultMessage("Help")
String helpButtonToolTip();
}

View File

@ -78,4 +78,6 @@ public interface StatAlgoImporterService extends RemoteService {
public void publishSoftware() throws StatAlgoImporterServiceException;
public void repackageSoftware() throws StatAlgoImporterServiceException;
}

View File

@ -66,4 +66,6 @@ public interface StatAlgoImporterServiceAsync {
void publishSoftware(AsyncCallback<Void> asyncCallback);
void repackageSoftware(AsyncCallback<Void> asyncCallback);
}

View File

@ -133,7 +133,7 @@ public class ExplorerProjectPanel extends ContentPanel {
try {
wsResourcesExplorerPanel = new WorkspaceResourcesExplorerPanel(
event.getProject().getProjectFolder().getItemDescription()
event.getProject().getProjectFolder().getFolder()
.getId(), false);
@ -177,7 +177,7 @@ public class ExplorerProjectPanel extends ContentPanel {
dnd = new MultipleDNDUpload();
dnd.setParameters(event.getProject().getProjectFolder()
.getItemDescription().getId(), UPLOAD_TYPE.File);
.getFolder().getId(), UPLOAD_TYPE.File);
dnd.addUniqueContainer(vResourcesExplorerContainer);
WorskpaceUploadNotificationListener workspaceUploaderListener = new WorskpaceUploadNotificationListener() {

View File

@ -13,5 +13,6 @@ public enum StatAlgoImporterRibbonType {
RESOURCE_ADD,
SOFTWARE_CREATE,
SOFTWARE_PUBLISH,
SOFTWARE_REPACKAGE,
HELP;
}

View File

@ -20,6 +20,7 @@ import org.gcube.portlets.user.statisticalalgorithmsimporter.server.storage.Main
import org.gcube.portlets.user.statisticalalgorithmsimporter.server.storage.ProjectArchiver;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.code.CodeData;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.exception.StatAlgoImporterServiceException;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.exception.StatAlgoImporterSessionExpiredException;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.file.FileUploadMonitor;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.InputData;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.MainCode;
@ -300,11 +301,11 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
Project project = SessionUtil.getProjectSession(session);
if (project != null && project.getProjectFolder() != null
&& project.getProjectFolder().getItemDescription() != null) {
&& project.getProjectFolder().getFolder() != null) {
FilesStorage fileStorage = new FilesStorage();
fileStorage.copyItemOnFolder(aslSession.getUsername(),
itemDescription.getId(), project.getProjectFolder()
.getItemDescription().getId());
.getFolder().getId());
} else {
throw new StatAlgoImporterServiceException("No project open!");
}
@ -336,27 +337,12 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
}
Project project = SessionUtil.getProjectSession(session);
if (project != null) {
if (project.getMainCode() != null
&& project.getMainCode().getItemDescription() != null
&& project.getMainCode().getItemDescription().getId()
.compareTo(itemDescription.getId()) == 0) {
project.setMainCode(null);
project.setInputData(null);
project.setProjectTarget(null);
FilesStorage fileStorage = new FilesStorage();
fileStorage.deleteItemOnFolder(aslSession.getUsername(),
itemDescription.getId());
SessionUtil.setProjectSession(session, project);
} else {
FilesStorage fileStorage = new FilesStorage();
fileStorage.deleteItemOnFolder(aslSession.getUsername(),
itemDescription.getId());
}
return project;
} else {
throw new StatAlgoImporterServiceException("No project open!");
}
checkProjectInfoForDelete(itemDescription,aslSession, session, project);
FilesStorage fileStorage = new FilesStorage();
fileStorage.deleteItemOnFolder(
aslSession.getUsername(),
itemDescription.getId());
return project;
} catch (StatAlgoImporterServiceException e) {
e.printStackTrace();
@ -370,6 +356,86 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
}
private void checkProjectInfoForDelete(ItemDescription itemDescription,
ASLSession aslSession, HttpSession session, Project project)
throws StatAlgoImporterSessionExpiredException,
StatAlgoImporterServiceException {
if (project != null) {
if (project.getMainCode() != null
&& project.getMainCode().getItemDescription() != null
&& project.getMainCode().getItemDescription().getId()
.compareTo(itemDescription.getId()) == 0) {
project.setMainCode(null);
project.setInputData(null);
project.setProjectTarget(null);
SessionUtil.setProjectSession(session, project);
ProjectArchiver.archive(project, aslSession);
} else {
if (project.getProjectTarget() != null
&& project.getProjectTarget().getFolder() != null
&& project.getProjectTarget().getFolder().getId()
.compareTo(itemDescription.getId()) == 0) {
project.setProjectTarget(null);
SessionUtil.setProjectSession(session, project);
ProjectArchiver.archive(project, aslSession);
} else {
if (project.getProjectTarget() != null
&& project.getProjectTarget()
.getProjectCompile() != null
&& project.getProjectTarget()
.getProjectCompile().getFolder() != null
&& project.getProjectTarget()
.getProjectCompile().getFolder()
.getId()
.compareTo(itemDescription.getId()) == 0) {
project.getProjectTarget().setProjectCompile(null);
SessionUtil.setProjectSession(session, project);
ProjectArchiver.archive(project, aslSession);
} else {
if (project.getProjectTarget() != null
&& project.getProjectTarget()
.getProjectDeploy() != null
&& project.getProjectTarget()
.getProjectDeploy().getFolder() != null
&& project.getProjectTarget()
.getProjectDeploy().getFolder()
.getId()
.compareTo(itemDescription.getId()) == 0) {
project.getProjectTarget().setProjectDeploy(
null);
SessionUtil.setProjectSession(session, project);
ProjectArchiver.archive(project, aslSession);
} else {
if (project.getProjectTarget() != null
&& project.getProjectTarget()
.getProjectDeploy() != null
&& project.getProjectTarget()
.getProjectDeploy()
.getPackageProject() != null
&& project
.getProjectTarget()
.getProjectDeploy()
.getPackageProject()
.getId()
.compareTo(
itemDescription.getId()) == 0) {
project.getProjectTarget()
.getProjectDeploy()
.setPackageProject(null);
SessionUtil.setProjectSession(session, project);
ProjectArchiver.archive(project, aslSession);
} else {
}
}
}
}
}
} else {
throw new StatAlgoImporterServiceException("No project open!");
}
}
@Override
public void saveProject(InputData inputData)
throws StatAlgoImporterServiceException {
@ -441,7 +507,7 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
+ ", code:" + code);
Project project = SessionUtil.getProjectSession(session);
if (project != null && project.getProjectFolder() != null
&& project.getProjectFolder().getItemDescription() != null) {
&& project.getProjectFolder().getFolder() != null) {
MainCodeSave mainCodeSave = new MainCodeSave();
ItemDescription mainCodeItemDescription = mainCodeSave.saveNew(
aslSession, fileDescription, code, project);
@ -476,8 +542,8 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
project.setInputData(inputData);
SessionUtil.setProjectSession(session, project);
ProjectBuilder projectBuilder = new ProjectBuilder(project,
aslSession, session);
project = projectBuilder.build();
aslSession);
project = projectBuilder.buildTarget();
SessionUtil.setProjectSession(session, project);
ProjectArchiver.archive(project, aslSession);
} else {
@ -527,12 +593,12 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
ArrayList<Recipient> recipients = SessionUtil.getRecipients(session
.getServletContext());
Project project = SessionUtil.getProjectSession(session);
if (project != null && project.getProjectTarget() != null
&& project.getProjectTarget().getTargetFolder() != null
&& project.getProjectTarget().getCodeJar() != null
&& project.getProjectTarget().getCodeSource() != null
&& project.getProjectTarget().getIntegrationInfo() != null
&& project.getProjectTarget().getPackageUrl() != null) {
if (project != null) {
ProjectBuilder projectBuilder = new ProjectBuilder(project,
aslSession);
project = projectBuilder.buildDeploy();
SessionUtil.setProjectSession(session, project);
ProjectArchiver.archive(project, aslSession);
AlgorithmNotification notify = new AlgorithmNotification(
aslSession, project, recipients);
notify.run();
@ -553,4 +619,34 @@ public class StatAlgoImporterServiceImpl extends RemoteServiceServlet implements
}
@Override
public void repackageSoftware() throws StatAlgoImporterServiceException {
try {
HttpSession session = this.getThreadLocalRequest().getSession();
ASLSession aslSession = SessionUtil.getAslSession(session);
logger.debug("RepackageSoftware()");
Project project = SessionUtil.getProjectSession(session);
if (project != null) {
ProjectBuilder projectBuilder = new ProjectBuilder(project,
aslSession);
project = projectBuilder.buildRepackage();
SessionUtil.setProjectSession(session, project);
ProjectArchiver.archive(project, aslSession);
} else {
throw new StatAlgoImporterServiceException(
"The script was not packaged correctly!");
}
return;
} catch (StatAlgoImporterServiceException e) {
e.printStackTrace();
throw e;
} catch (Throwable e) {
logger.error("repackageSoftware(): " + e.getLocalizedMessage(), e);
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
}
}
}

View File

@ -271,12 +271,12 @@ public class AlgorithmGenerator {
}
private String retrieveMainScriptRelativePath() {
String projectPath = project.getProjectFolder().getItemDescription()
String projectPath = project.getProjectFolder().getFolder()
.getPath();
String mainCodePath = project.getMainCode().getItemDescription()
.getPath();
String relativePath = project.getProjectFolder().getItemDescription()
String relativePath = project.getProjectFolder().getFolder()
.getName()
+ mainCodePath.substring(projectPath.length());
return relativePath;
@ -285,10 +285,11 @@ public class AlgorithmGenerator {
private String retrievePackageUrl() {
String packageUrl = "";
if (project.getProjectTarget() != null
&& project.getProjectTarget().getPackageUrl() != null) {
if (project.getProjectTarget().getPackageUrl().getPublicLink() != null) {
packageUrl = project.getProjectTarget().getPackageUrl()
if (project.getProjectTarget()!=null&&
project.getProjectTarget().getProjectDeploy() != null
&& project.getProjectTarget().getProjectDeploy().getPackageProject() != null) {
if (project.getProjectTarget().getProjectDeploy().getPackageProject().getPublicLink() != null) {
packageUrl = project.getProjectTarget().getProjectDeploy().getPackageProject()
.getPublicLink();
}
}

View File

@ -12,8 +12,6 @@ import java.nio.file.StandardOpenOption;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpSession;
import org.apache.commons.io.FileUtils;
import org.gcube.application.framework.core.session.ASLSession;
import org.gcube.common.homelibrary.home.exceptions.InternalErrorException;
@ -22,6 +20,8 @@ import org.gcube.common.homelibrary.home.workspace.WorkspaceItem;
import org.gcube.portlets.user.statisticalalgorithmsimporter.server.storage.FilesStorage;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.exception.StatAlgoImporterServiceException;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.Project;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectCompile;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectDeploy;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectTarget;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.workspace.ItemDescription;
import org.slf4j.Logger;
@ -34,6 +34,13 @@ import org.slf4j.LoggerFactory;
*
*/
public class ProjectBuilder {
private static final String STATISTICAL_ALGORITHM_TARGET_FOLDER_NAME = "Target";
private static final String STATISTICAL_ALGORITHM_TARGET_FOLDER_DESCRIPTION = "Project Target";
private static final String STATISTICAL_ALGORITHM_DEPLOY_FOLDER_NAME = "Deploy";
private static final String STATISTICAL_ALGORITHM_DEPLOY_FOLDER_DESCRIPTION = "Project Deploy";
private static final String STATISTICAL_ALGORITHM_COMPILE_FOLDER_NAME = "Compile";
private static final String STATISTICAL_ALGORITHM_COMPILE_FOLDER_DESCRIPTION = "Project Compile";
private static final String ALGORITHM_MIMETYPE = "text/plain";
private static final String ALGORITHM_DESCRIPTION = "Statistical Algorithm Java Code";
private static final String ALGORITHM_EXTENTION = ".java";
@ -60,17 +67,142 @@ public class ProjectBuilder {
private Project project;
private ASLSession aslSession;
private ProjectTarget projectTarget;
private Path algorithmJava;
private Path infoTXT;
public ProjectBuilder(Project project, ASLSession aslSession,
HttpSession session) {
public ProjectBuilder(Project project, ASLSession aslSession) {
this.project = project;
this.aslSession = aslSession;
}
private void checkInfo() throws StatAlgoImporterServiceException {
public Project buildTarget() throws StatAlgoImporterServiceException {
checkInfoForBuild();
createTargetFolder();
createDeployFolder();
createProjectPackage();
createCompileFolder();
createAlgorithm();
createIntegrationInfo();
createProjectJarFile();
return project;
}
public Project buildDeploy() throws StatAlgoImporterServiceException {
checkInfoForDeploy();
copyJarInDeploy();
return project;
}
public Project buildRepackage() throws StatAlgoImporterServiceException {
checkInfoForRepackage();
repackageProjectPackage();
return project;
}
private void repackageProjectPackage()
throws StatAlgoImporterServiceException {
FilesStorage filesStorage = new FilesStorage();
List<String> idsToExclude = new ArrayList<String>();
if (project.getProjectTarget() != null
&& project.getProjectTarget().getFolder() != null
&& project.getProjectTarget().getFolder().getId() != null
&& !project.getProjectTarget().getFolder().getId().isEmpty()) {
idsToExclude.add(project.getProjectTarget().getFolder().getId());
}
File projectPackageFile = filesStorage.zipFolder(
aslSession.getUsername(), project.getProjectFolder()
.getFolder().getId(), idsToExclude);
InputStream inputStream;
try {
inputStream = Files.newInputStream(projectPackageFile.toPath(),
StandardOpenOption.READ);
} catch (IOException e) {
logger.error("Error input stream generation for project package file: "
+ e.getLocalizedMessage());
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
}
filesStorage.saveInputStreamInItem(
aslSession.getUsername(), project.getProjectTarget()
.getProjectDeploy().getPackageProject().getId(),
inputStream);
WorkspaceItem packageProject=filesStorage.retrieveItemInfoOnWorkspace(aslSession.getUsername(), project.getProjectTarget()
.getProjectDeploy().getPackageProject().getId());
ItemDescription packageProjectItemDescription;
try {
packageProjectItemDescription = new ItemDescription(packageProject.getId(),
packageProject.getName(), packageProject
.getOwner().getPortalLogin(),
packageProject.getPath(), packageProject
.getType().name());
packageProjectItemDescription.setPublicLink(packageProject.getPublicLink(true));
} catch (InternalErrorException e) {
logger.error(e.getLocalizedMessage());
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
}
project.getProjectTarget().getProjectDeploy().setPackageProject(packageProjectItemDescription);
logger.debug("ProjectDeploy: "
+ project.getProjectTarget().getProjectDeploy());
}
private void copyJarInDeploy() throws StatAlgoImporterServiceException {
FilesStorage filesStorage = new FilesStorage();
if (project.getProjectTarget().getProjectDeploy().getCodeJar() != null
&& project.getProjectTarget().getProjectDeploy().getCodeJar()
.getId() != null
&& !project.getProjectTarget().getProjectDeploy().getCodeJar()
.getId().isEmpty()) {
filesStorage
.deleteItemOnFolder(aslSession.getUsername(), project
.getProjectTarget().getProjectDeploy().getCodeJar()
.getId());
}
WorkspaceItem deployableCodeJarItem = filesStorage.copyItemOnFolder(
aslSession.getUsername(), project.getProjectTarget()
.getProjectCompile().getCodeJar().getId(), project
.getProjectTarget().getProjectDeploy().getFolder()
.getId());
logger.debug("DeployableCodeJarItem:" + deployableCodeJarItem);
ItemDescription dCodeJar;
try {
dCodeJar = new ItemDescription(deployableCodeJarItem.getId(),
deployableCodeJarItem.getName(), deployableCodeJarItem
.getOwner().getPortalLogin(),
deployableCodeJarItem.getPath(), deployableCodeJarItem
.getType().name());
dCodeJar.setPublicLink(deployableCodeJarItem.getPublicLink(true));
} catch (InternalErrorException e) {
logger.error(e.getLocalizedMessage());
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
}
project.getProjectTarget().getProjectDeploy().setCodeJar(dCodeJar);
logger.debug("ProjectDeploy: "
+ project.getProjectTarget().getProjectDeploy());
}
private void checkInfoForRepackage()
throws StatAlgoImporterServiceException {
if (project == null) {
throw new StatAlgoImporterServiceException(
"Attention No Project Found!");
@ -81,6 +213,139 @@ public class ProjectBuilder {
"Attention No Project Folder Found!");
}
if (project.getProjectTarget() == null) {
throw new StatAlgoImporterServiceException(
"Attention No Project Target Found!");
}
if (project.getProjectTarget().getFolder() == null) {
throw new StatAlgoImporterServiceException(
"Attention No Target Folder Found!");
}
if (project.getProjectTarget().getProjectDeploy() == null) {
throw new StatAlgoImporterServiceException(
"Attention No Project Deploy Found!");
}
if (project.getProjectTarget().getProjectDeploy().getFolder() == null) {
throw new StatAlgoImporterServiceException(
"Attention No Deploy Folder Found!");
}
if (project.getProjectTarget().getProjectDeploy().getPackageProject() == null
|| project.getProjectTarget().getProjectDeploy()
.getPackageProject().getId() == null
|| project.getProjectTarget().getProjectDeploy()
.getPackageProject().getId().isEmpty()) {
throw new StatAlgoImporterServiceException(
"Attention No Project Package Found. Try to create software before!");
}
}
private void checkInfoForDeploy() throws StatAlgoImporterServiceException {
if (project == null) {
throw new StatAlgoImporterServiceException(
"Attention No Project Found!");
}
if (project.getProjectFolder() == null) {
throw new StatAlgoImporterServiceException(
"Attention No Project Folder Found!");
}
if (project.getProjectTarget() == null) {
throw new StatAlgoImporterServiceException(
"Attention No Project Target Found!");
}
if (project.getProjectTarget().getFolder() == null) {
throw new StatAlgoImporterServiceException(
"Attention No Target Folder Found!");
}
if (project.getProjectTarget().getProjectDeploy() == null) {
throw new StatAlgoImporterServiceException(
"Attention No Project Deploy Found!");
}
if (project.getProjectTarget().getProjectDeploy().getFolder() == null) {
throw new StatAlgoImporterServiceException(
"Attention No Deploy Folder Found!");
}
if (project.getProjectTarget().getProjectDeploy().getPackageProject() == null) {
throw new StatAlgoImporterServiceException(
"Attention No Project Package Found!");
}
if (project.getProjectTarget().getProjectCompile().getFolder() == null) {
throw new StatAlgoImporterServiceException(
"Attention No Compile Folder Found!");
}
if (project.getProjectTarget().getProjectCompile().getCodeSource() == null) {
throw new StatAlgoImporterServiceException(
"Attention No Source Code Found!");
}
if (project.getProjectTarget().getProjectCompile().getCodeJar() == null) {
throw new StatAlgoImporterServiceException(
"Attention No Jar Code Found!");
}
if (project.getProjectTarget().getProjectCompile().getIntegrationInfo() == null) {
throw new StatAlgoImporterServiceException(
"Attention No Integration Info Found!");
}
}
private void createDeployFolder() throws StatAlgoImporterServiceException {
FilesStorage filesStorage = new FilesStorage();
filesStorage.deleteFolder(aslSession.getUsername(), project
.getProjectTarget().getFolder().getId(),
STATISTICAL_ALGORITHM_DEPLOY_FOLDER_NAME);
WorkspaceFolder deployFolder = filesStorage.createFolder(
aslSession.getUsername(), project.getProjectTarget()
.getFolder().getId(),
STATISTICAL_ALGORITHM_DEPLOY_FOLDER_NAME,
STATISTICAL_ALGORITHM_DEPLOY_FOLDER_DESCRIPTION);
logger.debug("PublicFolder:" + deployFolder);
ItemDescription pFolder;
try {
pFolder = new ItemDescription(deployFolder.getId(),
deployFolder.getName(), deployFolder.getOwner()
.getPortalLogin(), deployFolder.getPath(),
deployFolder.getType().name());
} catch (InternalErrorException e) {
logger.error(e.getLocalizedMessage());
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
}
ProjectDeploy projectDeploy = new ProjectDeploy(pFolder);
project.getProjectTarget().setProjectDeploy(projectDeploy);
}
private void checkInfoForBuild() throws StatAlgoImporterServiceException {
if (project == null) {
throw new StatAlgoImporterServiceException(
"Attention No Project Found!");
}
if (project.getProjectFolder() == null
|| project.getProjectFolder().getFolder() == null
|| project.getProjectFolder().getFolder().getId() == null
|| project.getProjectFolder().getFolder().getId().isEmpty()) {
throw new StatAlgoImporterServiceException(
"Attention No Project Folder Found!");
}
if (project.getInputData() == null) {
throw new StatAlgoImporterServiceException(
"Attention No Input Set!");
@ -131,18 +396,121 @@ public class ProjectBuilder {
}
public Project build() throws StatAlgoImporterServiceException {
checkInfo();
createProjectPackage();
createAlgorithm();
createIntegrationInfo();
createProjectJarFile();
private void createProjectPackage() throws StatAlgoImporterServiceException {
FilesStorage filesStorage = new FilesStorage();
return project;
List<String> idsToExclude = new ArrayList<String>();
if (project.getProjectTarget() != null
&& project.getProjectTarget().getFolder() != null
&& project.getProjectTarget().getFolder().getId() != null
&& !project.getProjectTarget().getFolder().getId().isEmpty()) {
idsToExclude.add(project.getProjectTarget().getFolder().getId());
}
File projectPackageFile = filesStorage.zipFolder(
aslSession.getUsername(), project.getProjectFolder()
.getFolder().getId(), idsToExclude);
InputStream inputStream;
try {
inputStream = Files.newInputStream(projectPackageFile.toPath(),
StandardOpenOption.READ);
} catch (IOException e) {
logger.error("Error input stream generation for project package file: "
+ e.getLocalizedMessage());
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
}
WorkspaceItem projectPackageItem;
projectPackageItem = filesStorage.createItemOnWorkspace(
aslSession.getUsername(), inputStream, project.getInputData()
.getProjectInfo().getAlgorithmNameToClassName()
+ PROJECT_PACKAGE_EXTENTION,
PROJECT_PACKAGE_DESCRIPTION, PROJECT_PACKAGE_MIMETYPE, project
.getProjectTarget().getProjectDeploy().getFolder()
.getId());
logger.debug("ProjectPackageItem:" + projectPackageItem);
ItemDescription packageUrl;
try {
packageUrl = new ItemDescription(projectPackageItem.getId(),
projectPackageItem.getName(), projectPackageItem.getOwner()
.getPortalLogin(), projectPackageItem.getPath(),
projectPackageItem.getType().name());
packageUrl.setPublicLink(projectPackageItem.getPublicLink(true));
} catch (InternalErrorException e) {
logger.error(e.getLocalizedMessage());
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
}
project.getProjectTarget().getProjectDeploy().setPackageProject(packageUrl);
}
private void createTargetFolder() throws StatAlgoImporterServiceException {
FilesStorage filesStorage = new FilesStorage();
filesStorage.deleteFolder(aslSession.getUsername(), project
.getProjectFolder().getFolder().getId(),
STATISTICAL_ALGORITHM_TARGET_FOLDER_NAME);
WorkspaceFolder targetFolder = filesStorage.createFolder(
aslSession.getUsername(), project.getProjectFolder()
.getFolder().getId(),
STATISTICAL_ALGORITHM_TARGET_FOLDER_NAME,
STATISTICAL_ALGORITHM_TARGET_FOLDER_DESCRIPTION);
logger.debug("TargetFolder:" + targetFolder);
ItemDescription tFolder;
try {
tFolder = new ItemDescription(targetFolder.getId(),
targetFolder.getName(), targetFolder.getOwner()
.getPortalLogin(), targetFolder.getPath(),
targetFolder.getType().name());
} catch (InternalErrorException e) {
logger.error(e.getLocalizedMessage());
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
}
ProjectTarget projectTarget = new ProjectTarget(tFolder);
project.setProjectTarget(projectTarget);
}
protected void createAlgorithm() throws StatAlgoImporterServiceException {
private void createCompileFolder() throws StatAlgoImporterServiceException {
FilesStorage filesStorage = new FilesStorage();
filesStorage.deleteFolder(aslSession.getUsername(), project
.getProjectTarget().getFolder().getId(),
STATISTICAL_ALGORITHM_COMPILE_FOLDER_NAME);
WorkspaceFolder compileFolder = filesStorage.createFolder(
aslSession.getUsername(), project.getProjectTarget()
.getFolder().getId(),
STATISTICAL_ALGORITHM_COMPILE_FOLDER_NAME,
STATISTICAL_ALGORITHM_COMPILE_FOLDER_DESCRIPTION);
logger.debug("CompileFolder:" + compileFolder);
ItemDescription cFolder;
try {
cFolder = new ItemDescription(compileFolder.getId(),
compileFolder.getName(), compileFolder.getOwner()
.getPortalLogin(), compileFolder.getPath(),
compileFolder.getType().name());
} catch (InternalErrorException e) {
logger.error(e.getLocalizedMessage());
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
}
ProjectCompile projectCompile = new ProjectCompile(cFolder);
project.getProjectTarget().setProjectCompile(projectCompile);
}
private void createAlgorithm() throws StatAlgoImporterServiceException {
AlgorithmGenerator algorithmGenerator = new AlgorithmGenerator(project);
algorithmJava = algorithmGenerator.createAlgorithm();
@ -156,7 +524,7 @@ public class ProjectBuilder {
.getProjectInfo().getAlgorithmNameToClassName()
+ ALGORITHM_EXTENTION, ALGORITHM_DESCRIPTION,
ALGORITHM_MIMETYPE, project.getProjectTarget()
.getTargetFolder().getId());
.getProjectCompile().getFolder().getId());
} catch (IOException e) {
logger.error(e.getLocalizedMessage());
e.printStackTrace();
@ -178,84 +546,10 @@ public class ProjectBuilder {
}
projectTarget.setCodeSource(codeSource);
logger.debug("ProjectTarget: " + projectTarget);
project.setProjectTarget(projectTarget);
}
private void createProjectPackage() throws StatAlgoImporterServiceException {
FilesStorage filesStorage = new FilesStorage();
filesStorage.deleteTargetFolder(aslSession.getUsername(), project
.getProjectFolder().getItemDescription().getId());
File projectPackageFile = filesStorage.zipFolder(
aslSession.getUsername(), project.getProjectFolder()
.getItemDescription().getId());
WorkspaceFolder targetFolder = filesStorage.createTargetFolder(
aslSession.getUsername(), project.getProjectFolder()
.getItemDescription().getId());
logger.debug("TargetFolder:" + targetFolder);
ItemDescription tFolder;
try {
tFolder = new ItemDescription(targetFolder.getId(),
targetFolder.getName(), targetFolder.getOwner()
.getPortalLogin(), targetFolder.getPath(),
targetFolder.getType().name());
} catch (InternalErrorException e) {
logger.error(e.getLocalizedMessage());
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
}
projectTarget = new ProjectTarget(tFolder);
InputStream inputStream;
try {
inputStream = Files.newInputStream(projectPackageFile.toPath(),
StandardOpenOption.READ);
} catch (IOException e) {
logger.error("Error input stream generation: "
+ e.getLocalizedMessage());
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
}
WorkspaceItem projectPackageItem;
try {
projectPackageItem = filesStorage.createItemOnWorkspace(
aslSession.getUsername(), inputStream, project
.getInputData().getProjectInfo()
.getAlgorithmNameToClassName()
+ PROJECT_PACKAGE_EXTENTION,
PROJECT_PACKAGE_DESCRIPTION, PROJECT_PACKAGE_MIMETYPE,
targetFolder.getId());
} catch (InternalErrorException e) {
logger.error(e.getLocalizedMessage());
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
}
logger.debug("ProjectPackageItem:" + projectPackageItem);
ItemDescription packageUrl;
try {
packageUrl = new ItemDescription(projectPackageItem.getId(),
projectPackageItem.getName(), projectPackageItem.getOwner()
.getPortalLogin(), projectPackageItem.getPath(),
projectPackageItem.getType().name());
packageUrl.setPublicLink(projectPackageItem.getPublicLink(true));
} catch (InternalErrorException e) {
logger.error(e.getLocalizedMessage());
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
}
projectTarget.setPackageUrl(packageUrl);
project.setProjectTarget(projectTarget);
project.getProjectTarget().getProjectCompile()
.setCodeSource(codeSource);
logger.debug("ProjectCompile: "
+ project.getProjectTarget().getProjectCompile());
}
@ -272,8 +566,8 @@ public class ProjectBuilder {
aslSession.getUsername(),
Files.newInputStream(infoTXT, StandardOpenOption.READ),
INFO_NAME + INFO_EXTENTION, INFO_DESCRIPTION,
INFO_MIMETYPE, project.getProjectTarget().getTargetFolder()
.getId());
INFO_MIMETYPE, project.getProjectTarget()
.getProjectCompile().getFolder().getId());
} catch (IOException e) {
logger.error(e.getLocalizedMessage());
e.printStackTrace();
@ -295,9 +589,10 @@ public class ProjectBuilder {
}
projectTarget.setIntegrationInfo(integrationItemDescription);
logger.debug("ProjectTarget: " + projectTarget);
project.setProjectTarget(projectTarget);
project.getProjectTarget().getProjectCompile()
.setIntegrationInfo(integrationItemDescription);
logger.debug("ProjectCompile: "
+ project.getProjectTarget().getProjectCompile());
}
@ -406,7 +701,7 @@ public class ProjectBuilder {
.getAlgorithmNameToClassName()
+ JAR_EXTENTION, CODE_JAR_DESCRIPTION,
CODE_JAR_MIMETYPE, project.getProjectTarget()
.getTargetFolder().getId());
.getProjectCompile().getFolder().getId());
} catch (IOException e) {
logger.error(e.getLocalizedMessage());
e.printStackTrace();
@ -429,9 +724,10 @@ public class ProjectBuilder {
}
projectTarget.setCodeJar(codeJarItemDescription);
logger.debug("ProjectTarget: " + projectTarget);
project.setProjectTarget(projectTarget);
project.getProjectTarget().getProjectCompile()
.setCodeJar(codeJarItemDescription);
logger.debug("ProjectCompile: "
+ project.getProjectTarget().getProjectCompile());
}
@ -527,4 +823,5 @@ public class ProjectBuilder {
}
}
}

View File

@ -81,7 +81,7 @@ public class AlgorithmNotification extends Thread {
+ "\n\n has requested to publish the algorithm "
+ project.getInputData().getProjectInfo()
.getAlgorithmName() + " with the following jar "
+ project.getProjectTarget().getCodeJar().getPublicLink();
+ project.getProjectTarget().getProjectDeploy().getCodeJar().getPublicLink();
String messageId;

View File

@ -42,8 +42,9 @@ public class FilesStorage {
private static final String STATISTICAL_ALGORITHM_PROJECT_MIMETYPE = "text/xml";
private static final String STATISTICAL_ALGORITHM_PROJECT_FILE_DESCRIPTION = "Statistical Algorithm Project File";
private static final String STATISTICAL_ALGORITHM_PROJECT_FILE_NAME = "stat_algo.project";
private static final String STATISTICAL_ALGORITHM_TARGET_FOLDER_NAME = "Target";
public static final Logger logger = LoggerFactory
.getLogger(FilesStorage.class);
@ -93,7 +94,7 @@ public class FilesStorage {
* Folder id
* @throws StatAlgoImporterServiceException
*/
public void copyItemOnFolder(String user, String itemId, String folderId)
public WorkspaceItem copyItemOnFolder(String user, String itemId, String folderId)
throws StatAlgoImporterServiceException {
Workspace ws;
try {
@ -105,9 +106,9 @@ public class FilesStorage {
"Destination is not a folder!");
}
ws.copy(itemId, folderId);
WorkspaceItem item=ws.copy(itemId, folderId);
return;
return item;
} catch (WrongDestinationException | ItemAlreadyExistException
| InsufficientPrivilegesException
| WorkspaceFolderNotFoundException | InternalErrorException
@ -145,28 +146,29 @@ public class FilesStorage {
}
/**
*
* @param user
* User
* @param folderId
* @param parentId
* Foler id
* @throws StatAlgoImporterServiceException
*/
public void deleteTargetFolder(String user, String folderId)
public void deleteFolder(String user, String parentId,String folderName)
throws StatAlgoImporterServiceException {
Workspace ws;
try {
ws = HomeLibrary.getUserWorkspace(user);
WorkspaceItem workSpaceItem = ws.getItem(folderId);
WorkspaceItem workSpaceItem = ws.getItem(parentId);
if (!workSpaceItem.isFolder()) {
throw new StatAlgoImporterServiceException(
"No valid project folder!");
}
WorkspaceItem target = ws.find(
STATISTICAL_ALGORITHM_TARGET_FOLDER_NAME, folderId);
folderName, parentId);
if (target != null) {
ws.removeItems(target.getId());
@ -182,30 +184,34 @@ public class FilesStorage {
}
}
/**
*
* @param user
* User
* @param folderId
* @param parentId
* Destination folder id
* @return Folder
* @throws StatAlgoImporterServiceException
*/
public WorkspaceFolder createTargetFolder(String user, String folderId)
public WorkspaceFolder createFolder(String user, String parentId, String folderName, String folderDescription)
throws StatAlgoImporterServiceException {
Workspace ws;
try {
ws = HomeLibrary.getUserWorkspace(user);
WorkspaceItem workSpaceItem = ws.getItem(folderId);
WorkspaceItem workSpaceItem = ws.getItem(parentId);
if (!workSpaceItem.isFolder()) {
throw new StatAlgoImporterServiceException(
"No valid project folder!");
}
WorkspaceFolder projectTargetFolder = ws.createFolder("Target",
"Project Target", folderId);
WorkspaceFolder projectTargetFolder = ws.createFolder(folderName,
folderDescription, parentId);
return projectTargetFolder;
} catch (WorkspaceFolderNotFoundException | InternalErrorException
@ -535,7 +541,7 @@ public class FilesStorage {
* String to save
* @throws StatAlgoImporterServiceException
*/
public void saveItem(String user, String itemId, String data)
public void saveStringInItem(String user, String itemId, String data)
throws StatAlgoImporterServiceException {
Workspace ws;
try {
@ -548,7 +554,7 @@ public class FilesStorage {
} else {
if (workSpaceItem.isFolder()) {
throw new StatAlgoImporterServiceException(
"Item is not valid folder!");
"Item is a folder!");
} else {
}
@ -568,6 +574,40 @@ public class FilesStorage {
throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
}
}
public void saveInputStreamInItem(String user, String itemId, InputStream is)
throws StatAlgoImporterServiceException {
Workspace ws;
try {
ws = HomeLibrary.getUserWorkspace(user);
WorkspaceItem workSpaceItem = ws.getItem(itemId);
if (workSpaceItem == null) {
throw new StatAlgoImporterServiceException(
"No item retrieved on workspace!");
} else {
if (workSpaceItem.isFolder()) {
throw new StatAlgoImporterServiceException(
"Item is a folder!");
} else {
}
}
// convert String into InputStream
ws.updateItem(itemId, is);
return;
} catch (WorkspaceFolderNotFoundException | InternalErrorException
| HomeNotFoundException | ItemNotFoundException
| InsufficientPrivilegesException | ItemAlreadyExistException
| WrongDestinationException e) {
e.printStackTrace();
throw new StatAlgoImporterServiceException(e.getLocalizedMessage());
}
}
public File zipFolder(String user, String folderId)
throws StatAlgoImporterServiceException {
@ -650,4 +690,6 @@ public class FilesStorage {
out.close();
}
}

View File

@ -42,7 +42,7 @@ public class MainCodeSave {
public void save(ASLSession aslSession, ItemDescription file,
String code, Project project) throws StatAlgoImporterServiceException{
FilesStorage filesStorage = new FilesStorage();
filesStorage.saveItem(aslSession.getUsername(), file.getId(), code);
filesStorage.saveStringInItem(aslSession.getUsername(), file.getId(), code);
}
@ -94,7 +94,7 @@ public class MainCodeSave {
aslSession.getUsername(),
Files.newInputStream(tempFile, StandardOpenOption.READ),
file.getName(), ALGORITHM_DESCRIPTION, ALGORITHM_MIMETYPE,
project.getProjectFolder().getItemDescription().getId());
project.getProjectFolder().getFolder().getId());
} catch (IOException e) {
logger.error(e.getLocalizedMessage());
e.printStackTrace();

View File

@ -42,7 +42,7 @@ public class ProjectArchiver {
FilesStorage filesStorage = new FilesStorage();
filesStorage.saveStatisticalAlgorithmProject(aslSession.getUsername(),
byteArrayInputStream, project.getProjectFolder()
.getItemDescription().getId());
.getFolder().getId());
}
@ -85,7 +85,7 @@ public class ProjectArchiver {
if (project != null
&& project.getProjectFolder() != null
&& newProjectFolder.compareInfo(project.getProjectFolder()
.getItemDescription())) {
.getFolder())) {
} else {
project.setProjectFolder(new ProjectFolder(newProjectFolder));

View File

@ -0,0 +1,70 @@
package org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project;
import java.io.Serializable;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.workspace.ItemDescription;
/**
*
* @author Giancarlo Panichi email: <a
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class ProjectCompile implements Serializable {
private static final long serialVersionUID = 4603210015575691417L;
private ItemDescription folder;
private ItemDescription codeSource;
private ItemDescription integrationInfo;
private ItemDescription codeJar;
public ProjectCompile() {
super();
}
public ProjectCompile(ItemDescription folder) {
super();
this.folder = folder;
}
public ItemDescription getFolder() {
return folder;
}
public void setFolder(ItemDescription folder) {
this.folder = folder;
}
public ItemDescription getCodeSource() {
return codeSource;
}
public void setCodeSource(ItemDescription codeSource) {
this.codeSource = codeSource;
}
public ItemDescription getCodeJar() {
return codeJar;
}
public void setCodeJar(ItemDescription codeJar) {
this.codeJar = codeJar;
}
public ItemDescription getIntegrationInfo() {
return integrationInfo;
}
public void setIntegrationInfo(ItemDescription integrationInfo) {
this.integrationInfo = integrationInfo;
}
@Override
public String toString() {
return "ProjectCompile [folder=" + folder + ", codeSource="
+ codeSource + ", integrationInfo=" + integrationInfo
+ ", codeJar=" + codeJar + "]";
}
}

View File

@ -0,0 +1,59 @@
package org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project;
import java.io.Serializable;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.workspace.ItemDescription;
/**
*
* @author Giancarlo Panichi email: <a
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class ProjectDeploy implements Serializable {
private static final long serialVersionUID = -3403842661465451760L;
private ItemDescription folder;
private ItemDescription packageProject;
private ItemDescription codeJar;
public ProjectDeploy() {
super();
}
public ProjectDeploy(ItemDescription folder) {
super();
this.folder = folder;
}
public ItemDescription getFolder() {
return folder;
}
public void setFolder(ItemDescription folder) {
this.folder = folder;
}
public ItemDescription getPackageProject() {
return packageProject;
}
public void setPackageProject(ItemDescription packageProject) {
this.packageProject = packageProject;
}
public ItemDescription getCodeJar() {
return codeJar;
}
public void setCodeJar(ItemDescription codeJar) {
this.codeJar = codeJar;
}
@Override
public String toString() {
return "ProjectDeploy [folder=" + folder + ", packageProject="
+ packageProject + ", codeJar=" + codeJar + "]";
}
}

View File

@ -13,31 +13,28 @@ import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.workspace.It
public class ProjectFolder implements Serializable {
private static final long serialVersionUID = 3698120963507381801L;
private ItemDescription itemDescription;
public ProjectFolder(){
private ItemDescription folder;
public ProjectFolder() {
super();
}
public ProjectFolder(ItemDescription itemDescription) {
public ProjectFolder(ItemDescription folder) {
super();
this.itemDescription = itemDescription;
this.folder = folder;
}
public ItemDescription getItemDescription() {
return itemDescription;
public ItemDescription getFolder() {
return folder;
}
public void setItemDescription(ItemDescription itemDescription) {
this.itemDescription = itemDescription;
public void setFolder(ItemDescription folder) {
this.folder = folder;
}
@Override
public String toString() {
return "ProjectFolder [itemDescription=" + itemDescription + "]";
return "ProjectFolder [folder=" + folder + "]";
}
}

View File

@ -13,72 +13,49 @@ import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.workspace.It
public class ProjectTarget implements Serializable {
private static final long serialVersionUID = 480665662744105383L;
private ItemDescription targetFolder;
private ItemDescription packageUrl;
private ItemDescription codeSource;
private ItemDescription integrationInfo;
private ItemDescription codeJar;
private ItemDescription folder;
private ProjectCompile projectCompile;
private ProjectDeploy projectDeploy;
public ProjectTarget() {
super();
}
public ProjectTarget(ItemDescription targetFolder) {
public ProjectTarget(ItemDescription folder) {
super();
this.targetFolder = targetFolder;
this.folder = folder;
}
public ItemDescription getTargetFolder() {
return targetFolder;
public ItemDescription getFolder() {
return folder;
}
public void setTargetFolder(ItemDescription targetFolder) {
this.targetFolder = targetFolder;
public void setFolder(ItemDescription folder) {
this.folder = folder;
}
public ItemDescription getPackageUrl() {
return packageUrl;
public ProjectCompile getProjectCompile() {
return projectCompile;
}
public void setPackageUrl(ItemDescription packageUrl) {
this.packageUrl = packageUrl;
public void setProjectCompile(ProjectCompile projectCompile) {
this.projectCompile = projectCompile;
}
public ItemDescription getCodeSource() {
return codeSource;
public ProjectDeploy getProjectDeploy() {
return projectDeploy;
}
public void setCodeSource(ItemDescription codeSource) {
this.codeSource = codeSource;
}
public ItemDescription getCodeJar() {
return codeJar;
}
public void setCodeJar(ItemDescription codeJar) {
this.codeJar = codeJar;
}
public ItemDescription getIntegrationInfo() {
return integrationInfo;
}
public void setIntegrationInfo(ItemDescription integrationInfo) {
this.integrationInfo = integrationInfo;
public void setProjectDeploy(ProjectDeploy projectDeploy) {
this.projectDeploy = projectDeploy;
}
@Override
public String toString() {
return "ProjectTarget [targetFolder=" + targetFolder + ", packageUrl="
+ packageUrl + ", codeSource=" + codeSource
+ ", integrationInfo=" + integrationInfo + ", codeJar="
+ codeJar + "]";
return "ProjectTarget [folder=" + folder + ", projectCompile="
+ projectCompile + ", projectDeploy=" + projectDeploy + "]";
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 897 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB