1 19 20 package com.sslexplorer.tunnels.forms; 21 22 import java.util.List ; 23 24 import javax.servlet.http.HttpServletRequest ; 25 26 import org.apache.struts.util.LabelValueBean; 27 28 import com.sslexplorer.boot.Util; 29 import com.sslexplorer.core.CoreUtil; 30 import com.sslexplorer.navigation.AbstractFavoriteItem; 31 import com.sslexplorer.policyframework.LaunchSession; 32 import com.sslexplorer.security.LogonControllerFactory; 33 import com.sslexplorer.security.SessionInfo; 34 import com.sslexplorer.tunnels.TransportType; 35 import com.sslexplorer.tunnels.Tunnel; 36 37 44 public class TunnelItem extends AbstractFavoriteItem { 45 46 private LaunchSession launchSession; 47 48 56 public TunnelItem(Tunnel tunnel, List policies, LaunchSession launchSession) { 57 super(tunnel, policies); 58 this.launchSession = launchSession; 59 } 60 61 67 public String getTransport() { 68 return ((Tunnel) this.getResource()).getTransport(); 69 } 70 71 77 public String getSourcePort() { 78 return String.valueOf(((Tunnel) this.getResource()).getSourcePort()); 79 } 80 81 87 public String getDestinationHost() { 88 return ((Tunnel) this.getResource()).getDestination().getHost(); 89 } 90 91 97 public String getTunnelType() { 98 return ((LabelValueBean) TransportType.TYPES.get(((Tunnel) this.getResource()).getType())).getLabel(); 99 } 100 101 107 public String getDestinationPort() { 108 return String.valueOf(((Tunnel) this.getResource()).getDestination().getPort()); 109 } 110 111 116 public String getSourceInterface() { 117 return ((Tunnel) this.getResource()).getSourceInterface(); 118 } 119 120 126 public String getAutoStart() { 127 return ((Tunnel) this.getResource()).isAutoStart() ? "Yes" : "No"; 128 } 129 130 135 public String getOpen() { 136 return launchSession != null ? "true" : "false"; 137 } 138 139 146 public Tunnel getTunnel() { 147 return ((Tunnel) this.getResource()); 148 } 149 150 155 public String getOnClick(int policy, HttpServletRequest request) { 156 return "return true"; 157 } 158 159 164 public String getLink(int policy, String referer, HttpServletRequest request) { 165 if (new Boolean (getOpen()).booleanValue()) { 166 return getCloseLink(referer, request); 167 } else { 168 return getOpenLink(policy, referer, request); 169 } 170 } 171 172 178 public String getCloseLink(String referer, HttpServletRequest request) { 179 String encodedReferer = Util.urlEncode(referer == null ? "" : referer); 180 SessionInfo info = LogonControllerFactory.getInstance().getSessionInfo(request); 181 if(null != info) { 182 if(info.getNavigationContext() == SessionInfo.MANAGEMENT_CONSOLE_CONTEXT) { 183 return "/showTunnels.do?actionTarget=stop&" + LaunchSession.LAUNCH_ID + "=" + launchSession.getId() 184 + (encodedReferer.equals("") ? "" : "&returnTo=" + encodedReferer); 185 } else if (info.getNavigationContext() == SessionInfo.USER_CONSOLE_CONTEXT) { 186 return "/showUserTunnels.do?actionTarget=stop&" + LaunchSession.LAUNCH_ID + "=" + launchSession.getId() 187 + (encodedReferer.equals("") ? "" : "&returnTo=" + encodedReferer); 188 } 189 } 190 return ""; 191 } 192 193 201 public String getOpenLink(int policy, String referer, HttpServletRequest request) { 202 return "launchTunnel.do?policy=" + policy + "&resourceId=" + getResource().getResourceId() + "&returnTo=" 203 + Util.urlEncode(Util.isNullOrTrimmedBlank(referer) ? CoreUtil.getRealRequestURI(request) : referer); 204 205 } 206 207 212 public String getFavoriteName() { 213 return getSourcePort() + ":" + getDestinationHost() + ":" + getDestinationPort(); 214 } 215 216 221 public String getTarget() { 222 return "_self"; 223 } 224 225 230 public String getFavoriteSubType() { 231 return getTunnel().getType() == TransportType.LOCAL_TUNNEL_ID ? "Local" : "Remote"; 232 } 233 234 239 public String getSmallIconPath(HttpServletRequest request) { 240 return CoreUtil.getThemePath(request.getSession()) + "/images/actions/runTunnel.gif"; 241 } 242 243 248 public String getLargeIconPath(HttpServletRequest request) { 249 return CoreUtil.getThemePath(request.getSession()) + "/images/actions/runTunnelLarge.gif"; 250 } 251 252 257 public String getLargeIconAdditionalIcon(HttpServletRequest request) { 258 return CoreUtil.getThemePath(request.getSession()) 259 + "/images/actions/" + (launchSession != null ? "switchOn.gif" : "switchOff.gif"); 260 } 261 } 262 | Popular Tags |