1 19 20 package com.sslexplorer.applications.forms; 21 22 import java.util.Iterator ; 23 import java.util.List ; 24 25 import javax.servlet.http.HttpServletRequest ; 26 27 import org.apache.commons.logging.Log; 28 import org.apache.commons.logging.LogFactory; 29 30 import com.sslexplorer.applications.ApplicationShortcut; 31 import com.sslexplorer.applications.ApplicationShortcutItem; 32 import com.sslexplorer.extensions.ExtensionDescriptor; 33 import com.sslexplorer.extensions.ExtensionBundle.ExtensionBundleStatus; 34 import com.sslexplorer.extensions.store.ExtensionStore; 35 import com.sslexplorer.policyframework.PolicyDatabaseFactory; 36 import com.sslexplorer.policyframework.ResourceItemModel; 37 import com.sslexplorer.policyframework.forms.AbstractResourcesForm; 38 import com.sslexplorer.security.SessionInfo; 39 40 47 public class ApplicationShortcutsForm extends AbstractResourcesForm { 48 49 static Log log = LogFactory.getLog(ApplicationShortcutsForm.class); 50 51 53 56 public ApplicationShortcutsForm() { 57 super(new ResourceItemModel("applicationShortcuts")); 58 } 59 60 68 public void initialise(List applicationShortcuts, SessionInfo session, String defaultSortColumnId, HttpServletRequest request) { 69 super.initialize(session.getHttpSession(), defaultSortColumnId); 70 if (selectedView == null) { 71 selectedView = session.getNavigationContext() == SessionInfo.USER_CONSOLE_CONTEXT ? ICONS_VIEW : LIST_VIEW; 72 } else if (session.getNavigationContext() == SessionInfo.MANAGEMENT_CONSOLE_CONTEXT) { 73 selectedView = LIST_VIEW; 74 } 75 try { 76 for (Iterator i = applicationShortcuts.iterator(); i.hasNext();) { 77 ApplicationShortcut applicationShortcut = (ApplicationShortcut) i.next(); 78 List policies = PolicyDatabaseFactory.getInstance().getPoliciesAttachedToResource(applicationShortcut, 79 session.getUser().getRealm()); 80 ExtensionDescriptor ed = ExtensionStore.getInstance().getExtensionDescriptor(applicationShortcut.getApplication()); 81 if (ed == null) { 82 log.warn("Found shortcut with an application ID '" + applicationShortcut.getApplication() 83 + "' that does not exist. An extension may have been removed."); 84 } else { 85 if(ed.getApplicationBundle().getStatus() != ExtensionBundleStatus.ACTIVATED) { 86 log.warn("Found shortcut with an application ID '" + applicationShortcut.getApplication() 87 + "' that uses an application contained in an extension bundle that is not activated (its status is '" + ed.getApplicationBundle().getStatus().getName() + "'). Ignoring."); 88 } 89 else { 90 ApplicationShortcutItem item = new ApplicationShortcutItem(ed, applicationShortcut, policies, session 91 .getNavigationContext(), applicationShortcut.sessionPasswordRequired(session)); 92 item.setFavoriteType(getFavoriteType(applicationShortcut.getResourceId())); 93 getModel().addItem(item); 94 } 95 } 96 } 97 checkSort(); 98 getPager().rebuild(getFilterText()); 99 } catch (Throwable t) { 100 log.error("Failed to initialise resources form.", t); 101 } 102 } 103 } 104 | Popular Tags |