Added FileUtil to remove uplaoded files
This commit is contained in:
parent
c4ba087512
commit
9e3b1ea064
|
@ -6,12 +6,6 @@
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
|
||||||
<attribute name="test" value="true"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="test" value="true"/>
|
<attribute name="test" value="true"/>
|
||||||
|
|
|
@ -373,6 +373,7 @@ public class CreateMetadataForm extends Composite implements HasGenericFormListe
|
||||||
private void prepareMetadataList(final List<MetaDataProfileBean> profiles) {
|
private void prepareMetadataList(final List<MetaDataProfileBean> profiles) {
|
||||||
|
|
||||||
if(profiles != null && !profiles.isEmpty()){
|
if(profiles != null && !profiles.isEmpty()){
|
||||||
|
GWT.log("Building form/s for profile/s: "+profiles);
|
||||||
|
|
||||||
if(profiles.size()>1)
|
if(profiles.size()>1)
|
||||||
showChooseProfileForm(true);
|
showChooseProfileForm(true);
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
package org.gcube.portlets.widgets.mpformbuilder.server;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Class FileUtil.
|
||||||
|
*
|
||||||
|
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
||||||
|
*
|
||||||
|
* Oct 21, 2020
|
||||||
|
*/
|
||||||
|
public class FileUtil {
|
||||||
|
|
||||||
|
private static final Logger LOG = LoggerFactory.getLogger(FileUtil.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete file.
|
||||||
|
*
|
||||||
|
* @param path the path
|
||||||
|
* @return true, if successful
|
||||||
|
*/
|
||||||
|
public static boolean deleteFile(String path) {
|
||||||
|
LOG.info("called deleteFile for path: "+path);
|
||||||
|
boolean deleted = false;
|
||||||
|
if(path!=null) {
|
||||||
|
try {
|
||||||
|
File file = new File(path);
|
||||||
|
deleted = Files.deleteIfExists(file.toPath());
|
||||||
|
LOG.info("File "+path+" deleted? "+deleted);
|
||||||
|
}catch (Exception e) {
|
||||||
|
LOG.warn("Error on deleting file: "+path, e);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
LOG.warn("I cannot delete the file. NullPointer parameter 'path'");
|
||||||
|
}
|
||||||
|
|
||||||
|
return deleted;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -100,7 +100,8 @@ public class MetadataDiscovery {
|
||||||
MetadataProfileReader reader = new MetadataProfileReader(gRSecondaryType);
|
MetadataProfileReader reader = new MetadataProfileReader(gRSecondaryType);
|
||||||
|
|
||||||
List<MetadataProfile> profiles = reader.getListOfMetadataProfiles();
|
List<MetadataProfile> profiles = reader.getListOfMetadataProfiles();
|
||||||
LOG.debug("Profiles are " + profiles);
|
prettyPrintProfiles(profiles);
|
||||||
|
LOG.info("Profiles are " + profiles.size());
|
||||||
|
|
||||||
List<NamespaceCategory> categories = reader.getListOfNamespaceCategories();
|
List<NamespaceCategory> categories = reader.getListOfNamespaceCategories();
|
||||||
if (categories == null)
|
if (categories == null)
|
||||||
|
@ -109,17 +110,14 @@ public class MetadataDiscovery {
|
||||||
LOG.debug("All Categories are " + categories);
|
LOG.debug("All Categories are " + categories);
|
||||||
|
|
||||||
for (MetadataProfile profile : profiles) {
|
for (MetadataProfile profile : profiles) {
|
||||||
|
LOG.debug("Wrapping profile with name " + profile.getName() + " and type " + profile.getMetadataType());
|
||||||
LOG.debug(
|
|
||||||
"Wrapping profile with name " + profile.getName() + " and type " + profile.getMetadataType());
|
|
||||||
|
|
||||||
MetadataFormat metadata = reader.getMetadataFormatForMetadataProfile(profile);
|
MetadataFormat metadata = reader.getMetadataFormatForMetadataProfile(profile);
|
||||||
|
|
||||||
MetaDataProfileBean bean = toMetaDataProfileBean(metadata, categories, profile.getName());
|
MetaDataProfileBean bean = toMetaDataProfileBean(metadata, categories, profile.getName());
|
||||||
beans.add(bean);
|
beans.add(bean);
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG.debug("List of beans is " + beans);
|
prettyPrintList(beans);
|
||||||
|
LOG.info("Returning " + beans.size() + " profile/s");
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("Error while retrieving metadata beans ", e);
|
LOG.error("Error while retrieving metadata beans ", e);
|
||||||
|
@ -131,6 +129,27 @@ public class MetadataDiscovery {
|
||||||
return beans;
|
return beans;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void prettyPrintProfiles(List<MetadataProfile> profiles) {
|
||||||
|
|
||||||
|
if(LOG.isDebugEnabled() && profiles!=null) {
|
||||||
|
LOG.debug("Pretty print list of profiles: ");
|
||||||
|
for (MetadataProfile profile : profiles) {
|
||||||
|
LOG.debug(profile.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static void prettyPrintList(List<MetaDataProfileBean> beans) {
|
||||||
|
|
||||||
|
if(LOG.isDebugEnabled() && beans!=null) {
|
||||||
|
LOG.debug("Pretty print list of beans: ");
|
||||||
|
for (MetaDataProfileBean metaDataProfileBean : beans) {
|
||||||
|
LOG.debug(metaDataProfileBean.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -196,6 +215,7 @@ public class MetadataDiscovery {
|
||||||
wrapperObj.setMandatory(metadataField.getMandatory());
|
wrapperObj.setMandatory(metadataField.getMandatory());
|
||||||
wrapperObj.setNote(metadataField.getNote());
|
wrapperObj.setNote(metadataField.getNote());
|
||||||
MetadataValidator validator = metadataField.getValidator();
|
MetadataValidator validator = metadataField.getValidator();
|
||||||
|
LOG.debug(metadataField.getFieldName() +" validator is: "+validator);
|
||||||
if (validator != null)
|
if (validator != null)
|
||||||
wrapperObj.setValidator(validator.getRegularExpression());
|
wrapperObj.setValidator(validator.getRegularExpression());
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package org.gcube.portlets.widgets.mpformbuilder.server;
|
package org.gcube.portlets.widgets.mpformbuilder.server;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.nio.file.Files;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.servlet.annotation.WebListener;
|
import javax.servlet.annotation.WebListener;
|
||||||
|
@ -21,20 +19,17 @@ public class UploadedFileHttpSessionListener implements HttpSessionListener {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sessionDestroyed(HttpSessionEvent event) {
|
public void sessionDestroyed(HttpSessionEvent event) {
|
||||||
LOG.info("sessionDestroyed called. Session id is: "+event.getSession().getId());
|
LOG.info("sessionDestroyed called");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
HttpSession httpSession = event.getSession();
|
HttpSession httpSession = event.getSession();
|
||||||
|
if(httpSession!=null) {
|
||||||
|
LOG.info("Sesson id is: "+httpSession.getId());
|
||||||
List<FileUploaded> listFileUploaded = (List<FileUploaded>) httpSession.getAttribute(ConstantsMPFormBuilder.FILE_UPLOADED_SESSION_ATTR);
|
List<FileUploaded> listFileUploaded = (List<FileUploaded>) httpSession.getAttribute(ConstantsMPFormBuilder.FILE_UPLOADED_SESSION_ATTR);
|
||||||
if(listFileUploaded!=null) {
|
if(listFileUploaded!=null) {
|
||||||
LOG.info("found file uploded in session, removin it");
|
LOG.info("found file uploded in session, removing it");
|
||||||
for (FileUploaded fileUploaded : listFileUploaded) {
|
for (FileUploaded fileUploaded : listFileUploaded) {
|
||||||
try {
|
FileUtil.deleteFile(fileUploaded.getTempSystemPath());
|
||||||
File file = new File(fileUploaded.getTempSystemPath());
|
|
||||||
boolean result = Files.deleteIfExists(file.toPath());
|
|
||||||
LOG.info("File "+fileUploaded.getTempSystemPath() +" deleted? "+result);
|
|
||||||
}catch (Exception e) {
|
|
||||||
LOG.warn("Error on deleting file: "+fileUploaded, e);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -47,8 +42,5 @@ public class UploadedFileHttpSessionListener implements HttpSessionListener {
|
||||||
@Override
|
@Override
|
||||||
public void sessionCreated(HttpSessionEvent arg0) {
|
public void sessionCreated(HttpSessionEvent arg0) {
|
||||||
LOG.info("sessionCreated called. Session id is: "+arg0.getSession().getId());
|
LOG.info("sessionCreated called. Session id is: "+arg0.getSession().getId());
|
||||||
|
|
||||||
//session.setMaxInactiveInterval(5);//in seconds
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,10 +5,6 @@
|
||||||
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
|
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
|
||||||
version="3.0">
|
version="3.0">
|
||||||
|
|
||||||
<listener>
|
|
||||||
<listener-class>org.gcube.portlets.widgets.mpformbuilder.server.UploadedFileHttpSessionListener</listener-class>
|
|
||||||
</listener>
|
|
||||||
|
|
||||||
<!-- Servlets -->
|
<!-- Servlets -->
|
||||||
<servlet>
|
<servlet>
|
||||||
<servlet-name>mpformbuilderServlet</servlet-name>
|
<servlet-name>mpformbuilderServlet</servlet-name>
|
||||||
|
@ -36,4 +32,9 @@
|
||||||
<welcome-file>MetadataProfileFormBuilder.html</welcome-file>
|
<welcome-file>MetadataProfileFormBuilder.html</welcome-file>
|
||||||
</welcome-file-list>
|
</welcome-file-list>
|
||||||
|
|
||||||
|
<listener>
|
||||||
|
<listener-class>org.gcube.portlets.widgets.mpformbuilder.server.UploadedFileHttpSessionListener</listener-class>
|
||||||
|
</listener>
|
||||||
|
|
||||||
|
|
||||||
</web-app>
|
</web-app>
|
||||||
|
|
Loading…
Reference in New Issue