1 19 20 package com.sslexplorer.tunnels.forms; 21 22 import java.util.Iterator ; 23 import java.util.List ; 24 import java.util.Set ; 25 26 import com.sslexplorer.agent.DefaultAgentManager; 27 import com.sslexplorer.policyframework.LaunchSession; 28 import com.sslexplorer.policyframework.LaunchSessionFactory; 29 import com.sslexplorer.policyframework.PolicyDatabaseFactory; 30 import com.sslexplorer.policyframework.ResourceUtil; 31 import com.sslexplorer.policyframework.forms.AbstractResourcesForm; 32 import com.sslexplorer.security.SessionInfo; 33 import com.sslexplorer.security.User; 34 import com.sslexplorer.tunnels.Tunnel; 35 import com.sslexplorer.tunnels.TunnelDatabase; 36 import com.sslexplorer.tunnels.TunnelDatabaseFactory; 37 import com.sslexplorer.tunnels.TunnelItemModel; 38 import com.sslexplorer.tunnels.TunnelPlugin; 39 import com.sslexplorer.tunnels.TunnelingService; 40 41 47 public class TunnelsForm extends AbstractResourcesForm { 48 49 53 public TunnelsForm() { 54 super(new TunnelItemModel("tunnel")); 55 } 56 57 65 public void initialise(SessionInfo session, User user, String defaultSortColumnId) throws Exception { 66 super.initialize(session.getHttpSession(), defaultSortColumnId); 67 TunnelDatabase sdb = TunnelDatabaseFactory.getInstance(); 68 List tunnels = session.getNavigationContext() == SessionInfo.MANAGEMENT_CONSOLE_CONTEXT ? sdb.getTunnels(session.getUser() 69 .getRealm().getRealmID()) : ResourceUtil.getGrantedResource(session, TunnelPlugin.SSL_TUNNEL_RESOURCE_TYPE); 70 71 if (DefaultAgentManager.getInstance().hasActiveAgent(session)) { 72 Set activeTunnels = ((TunnelingService) DefaultAgentManager.getInstance().getService(TunnelingService.class)) 73 .getActiveTunnels(session); 74 for (Iterator it = tunnels.iterator(); it.hasNext();) { 75 Tunnel tunnel = (Tunnel) it.next(); 76 if (tunnel != null && tunnel.getResourceId() >= 0) { 77 Integer id = new Integer (tunnel.getResourceId()); 78 LaunchSession launchSession = activeTunnels.contains(id) ? LaunchSessionFactory.getInstance() 79 .getFirstLaunchSessionForResource(session, tunnel) : null; 80 TunnelItem ti = new TunnelItem(tunnel, PolicyDatabaseFactory.getInstance().getPoliciesAttachedToResource( 81 tunnel, user.getRealm()), launchSession); 82 ti.setFavoriteType(getFavoriteType(tunnel.getResourceId())); 83 getModel().addItem(ti); 84 } 85 } 86 } else { 87 Iterator i = tunnels.iterator(); 88 while (i.hasNext()) { 89 Tunnel tunnel = (Tunnel) i.next(); 90 if (tunnel != null) { 91 TunnelItem ti = new TunnelItem(tunnel, PolicyDatabaseFactory.getInstance().getPoliciesAttachedToResource( 92 tunnel, user.getRealm()), null); 93 ti.setFavoriteType(getFavoriteType(ti.getTunnel().getResourceId())); 94 getModel().addItem(ti); 95 } 96 } 97 } 98 99 checkSort(); 100 getPager().rebuild(getFilterText()); 101 } 102 } 103 | Popular Tags |