package org.jbpm.gd.jpdl.deployment; import java.util.ArrayList; import org.eclipse.core.resources.IFile; import org.eclipse.jface.preference.IPreferenceStore; import org.jbpm.gd.jpdl.Plugin; import org.jbpm.gd.jpdl.prefs.PreferencesConstants; public class DeploymentInfo implements PreferencesConstants { private IFile processInfoFile = null; private IFile graphicalInfoFile = null; private IFile imageFile = null; private String serverName = null; private String serverPort = null; private String serverDeployer = null; private ArrayList<Object> classesAndResources = new ArrayList<Object>(); private ArrayList<Object> additionalFiles = new ArrayList<Object>(); private Boolean useCredentials = null; private String userName = null; private String password = null; public void setProcessInfoFile(IFile processInfoFile) { this.processInfoFile = processInfoFile; } public IFile getProcessInfoFile() { return processInfoFile; } public void setGraphicalInfoFile(IFile graphicalInfoFile) { this.graphicalInfoFile = graphicalInfoFile; } public IFile getGraphicalInfoFile() { return graphicalInfoFile; } public void setImageFile(IFile imageFile) { this.imageFile = imageFile; } public IFile getImageFile() { return imageFile; } public void setServerName(String serverName) { this.serverName = serverName; } public String getServerName() { if (serverName == null) { serverName = getPrefs().getString(SERVER_NAME); } return serverName; } public void setServerPort(String serverPort) { this.serverPort = serverPort; } public String getServerPort() { if (serverPort == null) { serverPort = getPrefs().getString(SERVER_PORT); } return serverPort; } public void setServerDeployer(String serverDeployer) { this.serverDeployer = serverDeployer; } public String getServerDeployer() { if (serverDeployer == null) { serverDeployer = getPrefs().getString(SERVER_DEPLOYER); } return serverDeployer; } public void addToClassesAndResources(Object element) { classesAndResources.add(element); } public void removeFromClassesAndResources(Object element) { classesAndResources.remove(element); } public Object[] getClassesAndResources() { return classesAndResources.toArray(new Object[classesAndResources.size()]); } public void addToAdditionalFiles(Object element) { additionalFiles.add(element); } public void removeFromAdditionalFiles(Object element) { additionalFiles.remove(element); } public Object[] getAdditionalFiles() { return additionalFiles.toArray(new Object[additionalFiles.size()]); } public boolean getUseCredentials() { if (useCredentials == null) { useCredentials = getPrefs().getBoolean(USE_CREDENTIALS); if (useCredentials == null) { useCredentials = false; } } return useCredentials; } public void setUseCredentials(boolean useCredentials) { this.useCredentials = useCredentials; } public String getUserName() { if (userName == null) { userName = getPrefs().getString(USER_NAME); } return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { if (password == null) { password = getPrefs().getString(PASSWORD); } return password; } public void setPassword(String password) { this.password = password; } public boolean isEmpty() { return graphicalInfoFile == null && imageFile == null && isServerNameDefault() && isServerPortDefault() && isServerDeployerDefault() && classesAndResources.isEmpty() && additionalFiles.isEmpty(); } private boolean isServerNameDefault() { return serverName == null || serverName.equals(getPrefs().getString(SERVER_NAME)); } private boolean isServerPortDefault() { return serverPort == null || serverPort.equals(getPrefs().getString(SERVER_PORT)); } private boolean isServerDeployerDefault() { return serverDeployer == null || serverDeployer.equals(getPrefs().getString(SERVER_DEPLOYER)); } private IPreferenceStore getPrefs() { return Plugin.getDefault().getPreferenceStore(); } }