1 19 20 package com.sslexplorer.networkplaces.forms; 21 22 import java.util.ArrayList ; 23 import java.util.Iterator ; 24 import java.util.List ; 25 26 import org.apache.commons.logging.Log; 27 import org.apache.commons.logging.LogFactory; 28 29 import com.sslexplorer.networkplaces.NetworkPlace; 30 import com.sslexplorer.networkplaces.NetworkPlaceDatabaseFactory; 31 import com.sslexplorer.networkplaces.NetworkPlaceItem; 32 import com.sslexplorer.networkplaces.NetworkPlaceUtil; 33 import com.sslexplorer.policyframework.PolicyDatabaseFactory; 34 import com.sslexplorer.policyframework.forms.AbstractResourcesForm; 35 import com.sslexplorer.security.Constants; 36 import com.sslexplorer.security.SessionInfo; 37 import com.sslexplorer.util.TicketGenerator; 38 import com.sslexplorer.vfs.VFSProvider; 39 import com.sslexplorer.vfs.VFSProviderManager; 40 import com.sslexplorer.vfs.VFSStore; 41 import com.sslexplorer.vfs.utils.URI; 42 import com.sslexplorer.vfs.webdav.DAVProcessor; 43 44 public class ShowNetworkPlacesForm extends AbstractResourcesForm { 45 46 List networkPlaceItems; 47 48 static Log log = LogFactory.getLog(ShowNetworkPlacesForm.class); 49 50 public ShowNetworkPlacesForm() { 51 super("networkPlace"); 52 } 53 54 59 public void initialize(DAVProcessor processor, SessionInfo session) throws Exception { 60 super.initialize(session.getHttpSession(), "name"); 61 if (session.getNavigationContext() == SessionInfo.USER_CONSOLE_CONTEXT) { 62 List networkPlaceItems = NetworkPlaceUtil.refreshNetworkMounts(processor.getRepository(), session); 63 for (Iterator i = networkPlaceItems.iterator(); i.hasNext();) { 64 NetworkPlaceItem npi = (NetworkPlaceItem) i.next(); 65 npi.setFavoriteType(getFavoriteType(npi.getResource().getResourceId())); 66 getModel().addItem(npi); 67 } 68 } else if (session.getNavigationContext() == SessionInfo.MANAGEMENT_CONSOLE_CONTEXT) { 69 networkPlaceItems = new ArrayList (); 70 List resources = NetworkPlaceDatabaseFactory.getInstance().getNetworkPlaces(session.getUser().getRealm().getRealmID()); 72 for (Iterator i = resources.iterator(); i.hasNext();) { 73 NetworkPlace np = (NetworkPlace) i.next(); 74 VFSProvider provider = VFSProviderManager.getInstance().getProvider(np.getScheme()); 75 if (provider == null) { 76 try { 77 if(np.getScheme().equals("")) { 78 URI uri = NetworkPlaceUtil.createURIForPath(np.getPath()); 79 provider = VFSProviderManager.getInstance().getProvider(uri.getScheme()); 80 } 81 if(provider == null) { 82 log.warn("Provider that handles '" + np.getScheme() + "' cannot be found."); 83 } 84 } catch(Exception ex) { 85 log.error("Could not get provider for network place " + np.getPath(), ex); 86 continue; 87 } 88 } 89 90 if(provider != null) { 91 VFSStore store = processor.getRepository().getStore(provider.getScheme()); 93 if(store == null) { 94 log.warn("No store for " + provider.getScheme()); 95 } 96 else { 97 NetworkPlaceItem npi = new NetworkPlaceItem(np, store.getMountPath(np.getResourceName()), PolicyDatabaseFactory.getInstance() 98 .getPoliciesAttachedToResource(np, session.getUser().getRealm()), np 99 .sessionPasswordRequired(session)); 100 npi.setFavoriteType(getFavoriteType(np.getResourceId())); 101 getModel().addItem(npi); 102 } 103 } 104 } 105 } 106 checkSort(); 107 getPager().rebuild(getFilterText()); 108 109 113 if (session.getHttpSession().getAttribute(Constants.WEB_FOLDER_LAUNCH_TICKET) == null) { 114 session.getHttpSession().setAttribute(Constants.WEB_FOLDER_LAUNCH_TICKET, 115 TicketGenerator.getInstance().generateUniqueTicket("W", 6)); 116 } 117 } 118 } | Popular Tags |