1 19 20 package com.sslexplorer.networkplaces.itemactions; 21 22 import com.sslexplorer.core.BrowserChecker; 23 import com.sslexplorer.core.CoreUtil; 24 import com.sslexplorer.networkplaces.NetworkPlaceItem; 25 import com.sslexplorer.networkplaces.NetworkPlacePlugin; 26 import com.sslexplorer.policyframework.ResourceItem; 27 import com.sslexplorer.properties.Property; 28 import com.sslexplorer.properties.impl.systemconfig.SystemConfigKey; 29 import com.sslexplorer.security.WebDAVAuthenticationModule; 30 import com.sslexplorer.table.AvailableTableItemAction; 31 import com.sslexplorer.table.TableItemAction; 32 33 public class OpenWebFolderAction extends TableItemAction { 34 35 public static final String TABLE_ITEM_ACTION_ID = "addToFavorites"; 36 37 public OpenWebFolderAction(String messageResourcesKey) { 38 super("openWebFolder", messageResourcesKey, 100, "_self", false); 39 } 40 41 public ResourceItem getResourceItem(AvailableTableItemAction availableItem) { 42 return (ResourceItem)availableItem.getRowItem(); 43 } 44 45 46 public boolean isEnabled(AvailableTableItemAction availableItem) { 47 ResourceItem item = getResourceItem(availableItem); 48 try { 49 BrowserChecker checker = new BrowserChecker(availableItem.getRequest().getHeader("user-agent")); 50 if (item.getResource().getResourceType().equals( 51 NetworkPlacePlugin.NETWORK_PLACE_RESOURCE_TYPE) 52 && CoreUtil 53 .isAuthenticationModuleInUse(WebDAVAuthenticationModule.MODULE_NAME) 54 && ( checker.isBrowserVersionExpression(BrowserChecker.BROWSER_IE, "+=5") || 55 ( Property.getPropertyBoolean( 56 new SystemConfigKey("ui.allowOpenWebFolderInFirefox")) && checker.isBrowserVersion(BrowserChecker.BROWSER_FIREFOX, -1) ) ) ) { 57 return true; 58 } 59 } catch (Exception e) { 60 } 61 return false; 62 } 63 64 public String getPath(AvailableTableItemAction availableItem) { 65 NetworkPlaceItem npi = (NetworkPlaceItem)getResourceItem(availableItem); 66 return npi.getWebFolderPath(-1, availableItem.getRequest()); 67 } 68 69 public String getAdditionalAttributeName() { 70 return "folder"; 71 } 72 73 public String getAdditionalAttributeValue(AvailableTableItemAction availableItem) { 74 return getPath(availableItem); 76 } 77 } | Popular Tags |