1 19 20 package com.sslexplorer.applications.wizards.forms; 21 22 import java.util.ArrayList ; 23 import java.util.Iterator ; 24 import java.util.List ; 25 26 import javax.servlet.http.HttpServletRequest ; 27 28 import org.apache.commons.logging.Log; 29 import org.apache.commons.logging.LogFactory; 30 31 import com.sslexplorer.applications.ApplicationsPlugin; 32 import com.sslexplorer.extensions.ExtensionBundle; 33 import com.sslexplorer.extensions.ExtensionDescriptor; 34 import com.sslexplorer.extensions.ExtensionBundle.ExtensionBundleStatus; 35 import com.sslexplorer.extensions.store.ExtensionStore; 36 import com.sslexplorer.wizard.AbstractWizardSequence; 37 import com.sslexplorer.wizard.forms.DefaultWizardForm; 38 39 45 public class ApplicationShortcutWizardApplicationForm extends DefaultWizardForm { 46 47 final static Log log = LogFactory.getLog(ApplicationShortcutWizardApplicationForm.class); 48 49 52 public final static String ATTR_SELECTED_APPLICATION = "selectedApplication"; 53 54 56 private List availableApplications; 57 private String selectedApplication; 58 59 62 public ApplicationShortcutWizardApplicationForm() { 63 super(true, false, "/WEB-INF/jsp/content/applications/applicationShortcutWizard/application.jspf", "resourceName", true, 64 false, "applicationShortcutApplication", ApplicationsPlugin.MESSAGE_RESOURCES_KEY, "applicationShortcutWizard.applicationShortcutApplication", 1); 65 } 66 67 72 public String getSelectedApplication() { 73 return selectedApplication; 74 } 75 76 81 public void setSelectedApplication(String selectedApplication) { 82 this.selectedApplication = selectedApplication; 83 } 84 85 91 public List getAvailableApplications() { 92 return availableApplications; 93 } 94 95 101 public void setParameterItems(List availableApplications) { 102 this.availableApplications = availableApplications; 103 } 104 105 108 public void init(AbstractWizardSequence wizardSequence, HttpServletRequest request) throws Exception { 109 super.init(wizardSequence, request); 110 availableApplications = new ArrayList (); 111 selectedApplication = (String )wizardSequence.getAttribute(ATTR_SELECTED_APPLICATION, null); 112 for (Iterator i = ExtensionStore.getInstance().getAllAvailableExtensionBundles().iterator(); i.hasNext();) { 113 ExtensionBundle b = (ExtensionBundle)i.next(); 114 if(b.getStatus() == ExtensionBundleStatus.ACTIVATED) { 115 for(Iterator j = b.iterator(); j.hasNext(); ) { 116 ExtensionDescriptor d = (ExtensionDescriptor)j.next(); 117 118 if(!d.isHidden() && !d.getExtensionType().isHidden()) { 120 availableApplications.add(d); 121 } 122 } 123 } 124 } 125 this.setNextAvailable(true); 126 if(selectedApplication == null && availableApplications.size() > 0) { 127 selectedApplication = ((ExtensionDescriptor)availableApplications.get(0)).getId(); 128 } else if (availableApplications.isEmpty()) { 129 this.setNextAvailable(false); 130 } 131 } 132 133 136 public void apply(AbstractWizardSequence sequence) throws Exception { 137 super.apply(sequence); 138 String oldVal = (String )sequence.putAttribute(ATTR_SELECTED_APPLICATION, selectedApplication); 139 if(!selectedApplication.equals(oldVal)) { 140 sequence.removeAttribute(ApplicationShortcutWizardAdditionalDetailsForm.ATTR_PARAMETERS); 141 } 142 } 143 } 144 | Popular Tags |