added handler for special folder name
git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace-tree-widget@92708 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
59c0b2af0a
commit
493beb0ab1
17
pom.xml
17
pom.xml
|
@ -60,6 +60,7 @@
|
||||||
<artifactId>gwt-user</artifactId>
|
<artifactId>gwt-user</artifactId>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.sencha.gxt</groupId>
|
<groupId>com.sencha.gxt</groupId>
|
||||||
<artifactId>gxt</artifactId>
|
<artifactId>gxt</artifactId>
|
||||||
|
@ -117,17 +118,23 @@
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.gcube.applicationsupportlayer</groupId>
|
||||||
|
<artifactId>accesslogger</artifactId>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- <dependency> -->
|
<!-- <dependency> -->
|
||||||
<!-- <groupId>org.apache.directory.studio</groupId> -->
|
<!-- <groupId>org.apache.directory.studio</groupId> -->
|
||||||
<!-- <artifactId>org.apache.commons.io</artifactId> -->
|
<!-- <artifactId>org.apache.commons.io</artifactId> -->
|
||||||
<!-- <version>2.1</version> -->
|
<!-- <version>2.1</version> -->
|
||||||
<!-- </dependency> -->
|
<!-- </dependency> -->
|
||||||
|
|
||||||
<!-- <dependency> -->
|
<!-- <dependency> -->
|
||||||
<!-- <groupId>commons-io</groupId> -->
|
<!-- <groupId>commons-io</groupId> -->
|
||||||
<!-- <artifactId>commons-io</artifactId> -->
|
<!-- <artifactId>commons-io</artifactId> -->
|
||||||
<!-- <version>2.4</version> -->
|
<!-- <version>2.4</version> -->
|
||||||
<!-- </dependency> -->
|
<!-- </dependency> -->
|
||||||
|
|
||||||
<!-- HOME LIBRARY -->
|
<!-- HOME LIBRARY -->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
@ -1,13 +1,19 @@
|
||||||
package org.gcube.portlets.user.workspace.server;
|
package org.gcube.portlets.user.workspace.server;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Properties;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import javax.servlet.ServletContext;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.gcube.application.framework.core.session.ASLSession;
|
import org.gcube.application.framework.core.session.ASLSession;
|
||||||
import org.gcube.common.homelibrary.home.Home;
|
import org.gcube.common.homelibrary.home.Home;
|
||||||
|
@ -130,7 +136,19 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
||||||
}
|
}
|
||||||
|
|
||||||
protected PropertySpecialFolderReader getPropertySpecialFolderReader() {
|
protected PropertySpecialFolderReader getPropertySpecialFolderReader() {
|
||||||
return WsUtil.getPropertySpecialFolderReader(this.getThreadLocalRequest().getSession());
|
String absolutePathProperty = getSpecialFolderPath();
|
||||||
|
return WsUtil.getPropertySpecialFolderReader(this.getThreadLocalRequest().getSession(),absolutePathProperty);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param type the type to look for
|
||||||
|
* @return the Category if there is correspodance, null otherwise
|
||||||
|
*/
|
||||||
|
private String getSpecialFolderPath() {
|
||||||
|
ServletContext servletContext = getServletContext();
|
||||||
|
String contextPath = servletContext.getRealPath(File.separator);
|
||||||
|
return contextPath + File.separator +"conf" + File.separator + ConstantsExplorer.SPECIALFOLDERNAMEPROPERTIESFILE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -308,6 +326,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
||||||
|
|
||||||
return sfReader.getSpecialFolderName();
|
return sfReader.getSpecialFolderName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<FileGridModel> getFolderChildrenForFileGrid(FileModel folder) throws Exception, SessionExpiredException {
|
public List<FileGridModel> getFolderChildrenForFileGrid(FileModel folder) throws Exception, SessionExpiredException {
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
*/
|
*/
|
||||||
package org.gcube.portlets.user.workspace.server.util;
|
package org.gcube.portlets.user.workspace.server.util;
|
||||||
|
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
|
||||||
import javax.servlet.http.HttpSession;
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
@ -23,6 +25,7 @@ import org.gcube.portlets.user.workspace.server.GWTWorkspaceBuilder;
|
||||||
import org.gcube.portlets.user.workspace.server.notifications.NotificationsProducer;
|
import org.gcube.portlets.user.workspace.server.notifications.NotificationsProducer;
|
||||||
import org.gcube.portlets.user.workspace.server.resolver.UriResolverReaderParameter;
|
import org.gcube.portlets.user.workspace.server.resolver.UriResolverReaderParameter;
|
||||||
import org.gcube.portlets.user.workspace.server.shortener.UrlShortener;
|
import org.gcube.portlets.user.workspace.server.shortener.UrlShortener;
|
||||||
|
import org.gcube.portlets.user.workspace.server.util.resource.PropertySpecialFolderReader;
|
||||||
import org.gcube.portlets.user.workspace.server.util.scope.ScopeUtilFilter;
|
import org.gcube.portlets.user.workspace.server.util.scope.ScopeUtilFilter;
|
||||||
|
|
||||||
|
|
||||||
|
@ -45,6 +48,7 @@ public class WsUtil {
|
||||||
public static final String WORKSPACE_SCOPE_UTIL = "WORKSPACE_SCOPE_UTIL";
|
public static final String WORKSPACE_SCOPE_UTIL = "WORKSPACE_SCOPE_UTIL";
|
||||||
public static final String URL_SHORTENER_SERVICE = "URL_SHORTENER_SERVICE";
|
public static final String URL_SHORTENER_SERVICE = "URL_SHORTENER_SERVICE";
|
||||||
public static final String URI_RESOLVER_SERVICE = "URI_RESOLVER_SERVICE";
|
public static final String URI_RESOLVER_SERVICE = "URI_RESOLVER_SERVICE";
|
||||||
|
public static final String PROPERTY_SPECIAL_FOLDER = "PROPERTY_SPECIAL_FOLDER";
|
||||||
public static final String NOTIFICATION_PORTLET_CLASS_ID = "org.gcube.portlets.user.workspace.server.GWTWorkspaceServiceImpl"; //IN DEV
|
public static final String NOTIFICATION_PORTLET_CLASS_ID = "org.gcube.portlets.user.workspace.server.GWTWorkspaceServiceImpl"; //IN DEV
|
||||||
|
|
||||||
// public static final String TEST_SCOPE = "/gcube/devsec";
|
// public static final String TEST_SCOPE = "/gcube/devsec";
|
||||||
|
@ -353,10 +357,33 @@ public class WsUtil {
|
||||||
}
|
}
|
||||||
|
|
||||||
}catch (Exception e) {
|
}catch (Exception e) {
|
||||||
logger.error("an error occurred in instancing uri resolver ",e);
|
logger.error("an error occurred instancing URI Resolver ",e);
|
||||||
}
|
}
|
||||||
|
|
||||||
return uriResolver;
|
return uriResolver;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param session
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static PropertySpecialFolderReader getPropertySpecialFolderReader(HttpSession httpSession, String pathProperty) {
|
||||||
|
ASLSession session = getAslSession(httpSession);
|
||||||
|
|
||||||
|
PropertySpecialFolderReader psFolderReader = null;
|
||||||
|
try{
|
||||||
|
psFolderReader = (PropertySpecialFolderReader) session.getAttribute(WsUtil.PROPERTY_SPECIAL_FOLDER);
|
||||||
|
|
||||||
|
if(psFolderReader==null){
|
||||||
|
psFolderReader = new PropertySpecialFolderReader(pathProperty);
|
||||||
|
session.setAttribute(PROPERTY_SPECIAL_FOLDER, psFolderReader);
|
||||||
|
}
|
||||||
|
|
||||||
|
}catch (Exception e) {
|
||||||
|
logger.error("an error occurred instancing PropertySpecialFolderReader ",e);
|
||||||
|
}
|
||||||
|
|
||||||
|
return psFolderReader;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,8 +5,6 @@ package org.gcube.portlets.user.workspace.server.util.resource;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.InputStream;
|
|
||||||
import java.net.URL;
|
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
@ -23,29 +21,31 @@ public class PropertySpecialFolderReader {
|
||||||
protected static Logger logger = Logger.getLogger(PropertySpecialFolderReader.class);
|
protected static Logger logger = Logger.getLogger(PropertySpecialFolderReader.class);
|
||||||
protected String specialFolderName = "";
|
protected String specialFolderName = "";
|
||||||
|
|
||||||
public PropertySpecialFolderReader() throws PropertyFileReadingErrorException {
|
public PropertySpecialFolderReader(String absolutePath) throws PropertyFileReadingErrorException {
|
||||||
|
|
||||||
try{
|
try{
|
||||||
logger.info("Instancing new PropertySpecialFolderReader..");
|
logger.info("Instancing new PropertySpecialFolderReader with path: "+absolutePath);
|
||||||
// URL resource = PropertySpecialFolderReader.class.getResource(ConstantsExplorer.SPECIALFOLDERNAMEPROPERTIESFILE);
|
// URL resource = PropertySpecialFolderReader.class.getResource(ConstantsExplorer.SPECIALFOLDERNAMEPROPERTIESFILE);
|
||||||
// File file = new File(resource.toURI());
|
// File file = new File(resource.toURI());
|
||||||
// FileInputStream input = new FileInputStream(file);
|
// FileInputStream input = new FileInputStream(file);
|
||||||
|
|
||||||
InputStream input = PropertySpecialFolderReader.class.getResourceAsStream(ConstantsExplorer.SPECIALFOLDERNAMEPROPERTIESFILE);
|
// InputStream input = PropertySpecialFolderReader.class.getResourceAsStream(ConstantsExplorer.SPECIALFOLDERNAMEPROPERTIESFILE);
|
||||||
|
File propsFile = new File(absolutePath);
|
||||||
|
if(!propsFile.exists()){
|
||||||
|
throw new Exception("File not found in path: "+absolutePath);
|
||||||
|
}
|
||||||
|
FileInputStream fis = new FileInputStream(propsFile);
|
||||||
Properties properties = new Properties();
|
Properties properties = new Properties();
|
||||||
properties.load(input);
|
properties.load(fis);
|
||||||
specialFolderName = properties.getProperty(ConstantsExplorer.SPECIALFOLDERNAME);
|
specialFolderName = properties.getProperty(ConstantsExplorer.SPECIALFOLDERNAME);
|
||||||
|
|
||||||
logger.info("PropertySpecialFolderReader read for key: "+ConstantsExplorer.SPECIALFOLDERNAME + " value: "+specialFolderName);
|
logger.info("PropertySpecialFolderReader read for key: "+ConstantsExplorer.SPECIALFOLDERNAME + " value: "+specialFolderName);
|
||||||
|
|
||||||
}catch (Exception e) {
|
}catch (Exception e) {
|
||||||
logger.error("Error on loading property to read special folder name: ",e);
|
logger.error("Error on loading property to read special folder name: ",e);
|
||||||
throw new PropertyFileReadingErrorException("Error on reading property file: "+ConstantsExplorer.SPECIALFOLDERNAMEPROPERTIESFILE);
|
throw new PropertyFileReadingErrorException("Error on reading property file: "+ConstantsExplorer.SPECIALFOLDERNAMEPROPERTIESFILE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public String getSpecialFolderName() {
|
public String getSpecialFolderName() {
|
||||||
return specialFolderName;
|
return specialFolderName;
|
||||||
}
|
}
|
||||||
|
@ -55,15 +55,15 @@ public class PropertySpecialFolderReader {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
// public static void main(String[] args) {
|
||||||
|
//
|
||||||
try {
|
// try {
|
||||||
new PropertySpecialFolderReader();
|
//// new PropertySpecialFolderReader();
|
||||||
|
//
|
||||||
} catch (PropertyFileReadingErrorException e) {
|
// } catch (PropertyFileReadingErrorException e) {
|
||||||
e.printStackTrace();
|
// e.printStackTrace();
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
#Property file - Special Folder Name
|
|
||||||
#2014-05-03
|
|
||||||
SPECIALFOLDERNAME=myspecialfolder
|
|
Loading…
Reference in New Issue