Added the parameter "FIELD_NAME" (as hidden parameter) in the form
uploader
This commit is contained in:
parent
0887144f9c
commit
1b79e7bf74
|
@ -0,0 +1,7 @@
|
|||
<root>
|
||||
<facet id="jst.jaxrs">
|
||||
<node name="libprov">
|
||||
<attribute name="provider-id" value="jaxrs-no-op-library-provider"/>
|
||||
</node>
|
||||
</facet>
|
||||
</root>
|
|
@ -10,6 +10,7 @@ public class ConstantsMPFormBuilder {
|
|||
//public static final String CURR_USER_ID = "currUserId";
|
||||
public static final String IS_OVERWRITE = "isOverwrite";
|
||||
public static final String UPLOAD_TYPE = "uploadType";
|
||||
public static final String FIELD_NAME = "fieldName";
|
||||
public static enum THE_UPLOAD_TYPE {File, Archive};
|
||||
public static final String ID_FOLDER = "idFolder";
|
||||
public static final String UPLOAD_FORM_ELEMENT = "uploadFormElement";
|
||||
|
|
|
@ -384,7 +384,7 @@ public class MetaDataFieldSkeleton extends Composite {
|
|||
|
||||
case File:
|
||||
|
||||
holder = new MultipleDilaogUpload();
|
||||
holder = new MultipleDilaogUpload(field.getFieldName());
|
||||
|
||||
break;
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package org.gcube.portlets.widgets.mpformbuilder.client.ui.upload;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -25,58 +24,56 @@ import com.google.gwt.user.client.ui.Hidden;
|
|||
import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
|
||||
|
||||
// TODO: Auto-generated Javadoc
|
||||
/**
|
||||
* The Class DialogUploadStream.
|
||||
*
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||
* Sep 24, 2015
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it Sep 24, 2015
|
||||
*/
|
||||
public class DialogUpload extends FormPanel implements HasWorskpaceUploadNotificationListener{
|
||||
public class DialogUpload extends FormPanel implements HasWorskpaceUploadNotificationListener {
|
||||
|
||||
/** The file upload. */
|
||||
//protected final FormPanel formPanel = new FormPanel();
|
||||
// protected final FormPanel formPanel = new FormPanel();
|
||||
protected FileUpload fileUpload;
|
||||
|
||||
|
||||
/** The json client keys. */
|
||||
protected Hidden jsonClientKeys;
|
||||
|
||||
|
||||
/** The fake uploaders. */
|
||||
protected List<FileUploadingState> fakeUploaders = new ArrayList<FileUploadingState>();
|
||||
|
||||
|
||||
/** The controller. */
|
||||
protected WorkspaceUploaderListenerController controller = new WorkspaceUploaderListenerController();
|
||||
|
||||
|
||||
/** The timer. */
|
||||
protected TimerUpload timer;
|
||||
|
||||
private String fieldName;
|
||||
|
||||
/**
|
||||
* The Enum UPLOAD_TYPE.
|
||||
*
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||
* Sep 11, 2015
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it Sep 11, 2015
|
||||
*/
|
||||
private HTML UPLOADING = new HTML("Uploading...");
|
||||
|
||||
|
||||
/** The vertical main panel. */
|
||||
protected VerticalPanel verticalMainPanel;
|
||||
// private MonitorPanel monitorPanel;
|
||||
//protected String clientUploadKey;
|
||||
|
||||
// protected String clientUploadKey;
|
||||
|
||||
/** The purged uploading file name. */
|
||||
private String purgedUploadingFileName;
|
||||
|
||||
|
||||
/** The upv. */
|
||||
private UploaderProgressView upv;
|
||||
|
||||
/**
|
||||
* Instantiates a new dialog upload stream.
|
||||
*/
|
||||
public DialogUpload(){
|
||||
//setWidth("400px");
|
||||
public DialogUpload() {
|
||||
fileUpload = new FileUpload();
|
||||
//fileUpload.getElement().setAttribute("multiple", "multiple");
|
||||
// fileUpload.getElement().setAttribute("multiple", "multiple");
|
||||
setAction(ConstantsMPFormBuilder.METADATA_FORM_BUILDER_UPLOADING_SERVLET);
|
||||
setEncoding(FormPanel.ENCODING_MULTIPART);
|
||||
setMethod(FormPanel.METHOD_POST);
|
||||
|
@ -89,8 +86,12 @@ public class DialogUpload extends FormPanel implements HasWorskpaceUploadNotific
|
|||
fileUpload.setName(ConstantsMPFormBuilder.UPLOAD_FORM_ELEMENT);
|
||||
|
||||
// Add hidden parameters
|
||||
verticalMainPanel.add(new Hidden(ConstantsMPFormBuilder.CURR_GROUP_ID, GCubeClientContext.getCurrentContextId()));
|
||||
verticalMainPanel.add(new Hidden(ConstantsMPFormBuilder.UPLOAD_TYPE, ConstantsMPFormBuilder.THE_UPLOAD_TYPE.File.name()));
|
||||
verticalMainPanel
|
||||
.add(new Hidden(ConstantsMPFormBuilder.CURR_GROUP_ID, GCubeClientContext.getCurrentContextId()));
|
||||
verticalMainPanel.add(
|
||||
new Hidden(ConstantsMPFormBuilder.UPLOAD_TYPE, ConstantsMPFormBuilder.THE_UPLOAD_TYPE.File.name()));
|
||||
|
||||
verticalMainPanel.add(new Hidden(ConstantsMPFormBuilder.FIELD_NAME, fieldName));
|
||||
|
||||
initJsonClientKeys();
|
||||
verticalMainPanel.add(jsonClientKeys);
|
||||
|
@ -105,6 +106,24 @@ public class DialogUpload extends FormPanel implements HasWorskpaceUploadNotific
|
|||
verticalMainPanel.add(hp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the field name.
|
||||
*
|
||||
* @param fieldName the new field name
|
||||
*/
|
||||
public void setFieldName(String fieldName) {
|
||||
this.fieldName = fieldName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the field name.
|
||||
*
|
||||
* @return the field name
|
||||
*/
|
||||
public String getFieldName() {
|
||||
return fieldName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the panel.
|
||||
*
|
||||
|
@ -117,14 +136,14 @@ public class DialogUpload extends FormPanel implements HasWorskpaceUploadNotific
|
|||
/**
|
||||
* Inits the json client keys.
|
||||
*/
|
||||
protected void initJsonClientKeys(){
|
||||
jsonClientKeys = new Hidden(ConstantsMPFormBuilder.CLIENT_UPLOAD_KEYS,"");
|
||||
protected void initJsonClientKeys() {
|
||||
jsonClientKeys = new Hidden(ConstantsMPFormBuilder.CLIENT_UPLOAD_KEYS, "");
|
||||
}
|
||||
|
||||
/**
|
||||
* Bind events.
|
||||
*/
|
||||
public void bindEvents(){
|
||||
public void bindEvents() {
|
||||
this.addHandlers();
|
||||
// this.addListeners();
|
||||
}
|
||||
|
@ -143,10 +162,11 @@ public class DialogUpload extends FormPanel implements HasWorskpaceUploadNotific
|
|||
// isStatusCompleted = true;
|
||||
String result = event.getResults();
|
||||
|
||||
if (result == null) {
|
||||
if (result == null) {
|
||||
removeLoading();
|
||||
Window.alert("An error occurred during file upload");
|
||||
//new DialogResult(null, "Error during upload", "An error occurred during file upload.").center();
|
||||
// new DialogResult(null, "Error during upload", "An error occurred during file
|
||||
// upload.").center();
|
||||
return;
|
||||
}
|
||||
String strippedResult = new HTML(result).getText();
|
||||
|
@ -155,25 +175,25 @@ public class DialogUpload extends FormPanel implements HasWorskpaceUploadNotific
|
|||
switch (resultMessage.getStatus()) {
|
||||
case ERROR:
|
||||
removeLoading();
|
||||
//timer.cancel();
|
||||
GWT.log("Error during upload "+resultMessage.getMessage());
|
||||
// timer.cancel();
|
||||
GWT.log("Error during upload " + resultMessage.getMessage());
|
||||
break;
|
||||
case UNKNOWN:
|
||||
removeLoading();
|
||||
//timer.cancel();
|
||||
GWT.log("Error during upload "+resultMessage.getMessage());
|
||||
// timer.cancel();
|
||||
GWT.log("Error during upload " + resultMessage.getMessage());
|
||||
break;
|
||||
case WARN: {
|
||||
GWT.log("Upload completed with warnings "+resultMessage.getMessage());
|
||||
GWT.log("Upload completed with warnings " + resultMessage.getMessage());
|
||||
removeLoading();
|
||||
//timer.cancel();
|
||||
// timer.cancel();
|
||||
break;
|
||||
}
|
||||
case SESSION_EXPIRED:{
|
||||
GWT.log("Upload aborted due to session expired: "+ resultMessage.getMessage());
|
||||
case SESSION_EXPIRED: {
|
||||
GWT.log("Upload aborted due to session expired: " + resultMessage.getMessage());
|
||||
Window.alert("Session expired, please reload the page");
|
||||
removeLoading();
|
||||
//timer.cancel();
|
||||
// timer.cancel();
|
||||
break;
|
||||
}
|
||||
case OK: {
|
||||
|
@ -193,7 +213,7 @@ public class DialogUpload extends FormPanel implements HasWorskpaceUploadNotific
|
|||
}
|
||||
});
|
||||
|
||||
//TODO NEVER USED, WE ARE USING MULTIPLE DIALOG UPLOAD
|
||||
// TODO NEVER USED, WE ARE USING MULTIPLE DIALOG UPLOAD
|
||||
addSubmitHandler(new SubmitHandler() {
|
||||
|
||||
@Override
|
||||
|
@ -209,41 +229,45 @@ public class DialogUpload extends FormPanel implements HasWorskpaceUploadNotific
|
|||
public void onChange(ChangeEvent event) {
|
||||
|
||||
GWT.log("btnSubmit click");
|
||||
if (fileUpload.getFilename()==null || !(fileUpload.getFilename().length()>2)) {
|
||||
if (fileUpload.getFilename() == null || !(fileUpload.getFilename().length() > 2)) {
|
||||
GWT.log("No file specified ");
|
||||
return;
|
||||
}
|
||||
|
||||
GWT.log("fileUpload.getFilename() "+fileUpload.getFilename());
|
||||
GWT.log("fileUpload.getFilename() " + fileUpload.getFilename());
|
||||
/*
|
||||
* TODO: recall: Some browser would write in fileUploadField.getValue() C:\fakepath\$fileName
|
||||
* TODO: recall: Some browser would write in fileUploadField.getValue()
|
||||
* C:\fakepath\$fileName
|
||||
*/
|
||||
String normalizedFileName = fileUpload.getFilename();
|
||||
if (normalizedFileName.contains("\\")) {
|
||||
normalizedFileName = normalizedFileName.substring(normalizedFileName.lastIndexOf("\\")+1); //remove C:\fakepath\ if exists
|
||||
normalizedFileName = normalizedFileName.substring(normalizedFileName.lastIndexOf("\\") + 1); // remove
|
||||
// C:\fakepath\
|
||||
// if
|
||||
// exists
|
||||
}
|
||||
|
||||
|
||||
purgedUploadingFileName = normalizedFileName;
|
||||
submitForm();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* On submit action.
|
||||
*/
|
||||
protected void onSubmitAction() {
|
||||
GWT.log("SubmitEvent");
|
||||
try {
|
||||
if(upv!=null)
|
||||
if (upv != null)
|
||||
verticalMainPanel.remove(upv.getPanel());
|
||||
}catch (Exception e) {
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
addLoading();
|
||||
enableButtons(false);
|
||||
//Only the first, just to manage single uploading
|
||||
FileUploadingState workspaceUploaderItem = fakeUploaders.get(0);
|
||||
// Only the first, just to manage single uploading
|
||||
FileUploadingState workspaceUploaderItem = fakeUploaders.get(0);
|
||||
upv = new UploaderProgressView(workspaceUploaderItem, workspaceUploaderItem.getFile().getFileName(), null);
|
||||
verticalMainPanel.add(upv.getPanel());
|
||||
removeLoading();
|
||||
|
@ -252,33 +276,32 @@ public class DialogUpload extends FormPanel implements HasWorskpaceUploadNotific
|
|||
fakeUploaders.clear();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets the file uploading state.
|
||||
*
|
||||
* @return the file uploading state
|
||||
*/
|
||||
public FileUploadingState getFileUploadingState() {
|
||||
if(timer!=null)
|
||||
if (timer != null)
|
||||
return timer.getLastWorkspaceUploader();
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the loading.
|
||||
*/
|
||||
protected void addLoading(){
|
||||
protected void addLoading() {
|
||||
verticalMainPanel.add(UPLOADING);
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes the loading.
|
||||
*/
|
||||
protected void removeLoading(){
|
||||
try{
|
||||
protected void removeLoading() {
|
||||
try {
|
||||
verticalMainPanel.remove(UPLOADING);
|
||||
}catch(Exception e){
|
||||
} catch (Exception e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -288,7 +311,7 @@ public class DialogUpload extends FormPanel implements HasWorskpaceUploadNotific
|
|||
*
|
||||
* @param bool the bool
|
||||
*/
|
||||
protected void enableButtons(boolean bool){
|
||||
protected void enableButtons(boolean bool) {
|
||||
// btnUpload.setEnabled(bool);
|
||||
// btnCancel.setEnabled(bool);
|
||||
// upload.setEnabled(bool);
|
||||
|
@ -297,37 +320,33 @@ public class DialogUpload extends FormPanel implements HasWorskpaceUploadNotific
|
|||
/**
|
||||
* Submit form.
|
||||
*/
|
||||
public void submitForm(){
|
||||
public void submitForm() {
|
||||
submit();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Removes the item and submit form.
|
||||
*
|
||||
* @param itemId the item id
|
||||
*/
|
||||
protected void removeItemAndSubmitForm(String itemId){
|
||||
protected void removeItemAndSubmitForm(String itemId) {
|
||||
/*
|
||||
AppControllerExplorer.rpcWorkspaceService.removeItem(itemId, new AsyncCallback<Boolean>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
Info.display("Error", caught.getMessage());
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Boolean result) {
|
||||
if(result){
|
||||
hiddenOverwrite.setValue("true");
|
||||
submitForm();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});*/
|
||||
* AppControllerExplorer.rpcWorkspaceService.removeItem(itemId, new
|
||||
* AsyncCallback<Boolean>() {
|
||||
*
|
||||
* @Override public void onFailure(Throwable caught) { Info.display("Error",
|
||||
* caught.getMessage());
|
||||
*
|
||||
*
|
||||
* }
|
||||
*
|
||||
* @Override public void onSuccess(Boolean result) { if(result){
|
||||
* hiddenOverwrite.setValue("true"); submitForm(); }
|
||||
*
|
||||
* }
|
||||
*
|
||||
* });
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -335,8 +354,8 @@ public class DialogUpload extends FormPanel implements HasWorskpaceUploadNotific
|
|||
*
|
||||
* @param itemId the item id
|
||||
*/
|
||||
protected void updateItemSubmitForm(String itemId){
|
||||
//hiddenOverwrite.setValue("true");
|
||||
protected void updateItemSubmitForm(String itemId) {
|
||||
// hiddenOverwrite.setValue("true");
|
||||
submitForm();
|
||||
}
|
||||
|
||||
|
@ -345,8 +364,14 @@ public class DialogUpload extends FormPanel implements HasWorskpaceUploadNotific
|
|||
*
|
||||
* @param handler the handler
|
||||
*/
|
||||
/* (non-Javadoc)
|
||||
* @see org.gcube.portlets.widgets.workspaceuploader.client.WorkspaceUploadNotification.HasWorskpaceUploadNotificationListener#addWorkspaceUploadNotificationListener(org.gcube.portlets.widgets.workspaceuploader.client.WorkspaceUploadNotification.WorskpaceUploadNotificationListener)
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.gcube.portlets.widgets.workspaceuploader.client.
|
||||
* WorkspaceUploadNotification.HasWorskpaceUploadNotificationListener#
|
||||
* addWorkspaceUploadNotificationListener(org.gcube.portlets.widgets.
|
||||
* workspaceuploader.client.WorkspaceUploadNotification.
|
||||
* WorskpaceUploadNotificationListener)
|
||||
*/
|
||||
@Override
|
||||
public void addWorkspaceUploadNotificationListener(WorskpaceUploadNotificationListener handler) {
|
||||
|
@ -358,22 +383,26 @@ public class DialogUpload extends FormPanel implements HasWorskpaceUploadNotific
|
|||
*
|
||||
* @param handler the handler
|
||||
*/
|
||||
/* (non-Javadoc)
|
||||
* @see org.gcube.portlets.widgets.workspaceuploader.client.WorkspaceUploadNotification.HasWorskpaceUploadNotificationListener#removeWorkspaceUploadNotificationListener(org.gcube.portlets.widgets.workspaceuploader.client.WorkspaceUploadNotification.WorskpaceUploadNotificationListener)
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.gcube.portlets.widgets.workspaceuploader.client.
|
||||
* WorkspaceUploadNotification.HasWorskpaceUploadNotificationListener#
|
||||
* removeWorkspaceUploadNotificationListener(org.gcube.portlets.widgets.
|
||||
* workspaceuploader.client.WorkspaceUploadNotification.
|
||||
* WorskpaceUploadNotificationListener)
|
||||
*/
|
||||
@Override
|
||||
public void removeWorkspaceUploadNotificationListener(WorskpaceUploadNotificationListener handler) {
|
||||
controller.removeWorkspaceUploadListener(handler);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Enable upload.
|
||||
*
|
||||
* @param bool the bool
|
||||
*/
|
||||
public void enableUpload(boolean bool){
|
||||
public void enableUpload(boolean bool) {
|
||||
fileUpload.setEnabled(bool);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -16,9 +16,9 @@ public class FileUpload extends Composite {
|
|||
|
||||
@UiField HTMLPanel fileUploadPanel;
|
||||
|
||||
public FileUpload() {
|
||||
public FileUpload(String fielName) {
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
fileUploadPanel.add(new MultipleDilaogUpload());
|
||||
fileUploadPanel.add(new MultipleDilaogUpload(fielName));
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -49,9 +49,10 @@ public class MultipleDilaogUpload extends DialogUpload {
|
|||
/**
|
||||
* Instantiates a new multiple dilaog upload.
|
||||
*/
|
||||
public MultipleDilaogUpload() {
|
||||
fileUploadID = GenerateUUID.get(10, 16); // is tagID
|
||||
fileUpload.getElement().setId(fileUploadID);
|
||||
public MultipleDilaogUpload(String fieldName) {
|
||||
this.fileUploadID = GenerateUUID.get(10, 16); // is tagID
|
||||
this.fileUpload.getElement().setId(fileUploadID);
|
||||
super.setFieldName(fieldName);
|
||||
this.addHandlers();
|
||||
}
|
||||
|
||||
|
@ -165,7 +166,7 @@ public class MultipleDilaogUpload extends DialogUpload {
|
|||
|
||||
@Override
|
||||
public void onChange(ChangeEvent event) {
|
||||
GWT.log("file upload change handler, browse return...");
|
||||
GWT.log("file upload change handler, browse returns...");
|
||||
if (fileUpload.getFilename() == null || fileUpload.getFilename().isEmpty()) {
|
||||
GWT.log("No file specified ");
|
||||
//MultipleDilaogUpload.this.hide();
|
||||
|
|
|
@ -33,6 +33,7 @@ import org.gcube.common.portal.PortalContext;
|
|||
import org.gcube.portlets.widgets.mpformbuilder.client.ConstantsMPFormBuilder;
|
||||
import org.gcube.portlets.widgets.mpformbuilder.server.util.WsUtil;
|
||||
import org.gcube.portlets.widgets.mpformbuilder.shared.upload.AbstractUploadProgressListener;
|
||||
import org.gcube.portlets.widgets.mpformbuilder.shared.upload.FilePath;
|
||||
import org.gcube.portlets.widgets.mpformbuilder.shared.upload.FileUploaded;
|
||||
import org.gcube.portlets.widgets.mpformbuilder.shared.upload.FileUploadingState;
|
||||
import org.gcube.portlets.widgets.mpformbuilder.shared.upload.FileUploadingState.UPLOAD_STATUS;
|
||||
|
@ -54,9 +55,9 @@ import org.slf4j.LoggerFactory;
|
|||
*
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it at ISTI-CNR
|
||||
*
|
||||
* Oct 5, 2020
|
||||
* Oct 5, 2020
|
||||
*/
|
||||
public class MetadataProfileFormBuilderUploadServlet extends HttpServlet implements Servlet{
|
||||
public class MetadataProfileFormBuilderUploadServlet extends HttpServlet implements Servlet {
|
||||
|
||||
/** The Constant UNKNOWN_UNKNOWN. */
|
||||
public static final String UNKNOWN_UNKNOWN = "unknown/unknown";
|
||||
|
@ -69,11 +70,12 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
|
||||
/** The Constant VRE_ID_ATTR_NAME. */
|
||||
public static final String VRE_ID_ATTR_NAME = "gcube-vreid";
|
||||
|
||||
|
||||
/** The Constant CURR_GROUP_ID. */
|
||||
public static final String CURR_GROUP_ID = ConstantsMPFormBuilder.CURR_GROUP_ID;
|
||||
|
||||
//public static final String CURR_USER_ID = ConstantsWorkspaceUploader.CURR_USER_ID;
|
||||
// public static final String CURR_USER_ID =
|
||||
// ConstantsWorkspaceUploader.CURR_USER_ID;
|
||||
|
||||
/** The Constant UPLOAD_FORM_ELEMENT. */
|
||||
public static final String UPLOAD_FORM_ELEMENT = ConstantsMPFormBuilder.UPLOAD_FORM_ELEMENT;
|
||||
|
@ -90,12 +92,14 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
/** The Constant UPLOAD_TYPE. */
|
||||
public static final String UPLOAD_TYPE = ConstantsMPFormBuilder.UPLOAD_TYPE;
|
||||
|
||||
public static final String FIELD_NAME = ConstantsMPFormBuilder.FIELD_NAME;
|
||||
|
||||
/** The logger. */
|
||||
public static Logger logger = LoggerFactory.getLogger(MetadataProfileFormBuilderUploadServlet.class);
|
||||
|
||||
/** The app engine. */
|
||||
private static boolean appEngine = false;
|
||||
|
||||
|
||||
public static final String JAVA_IO_TMPDIR = System.getProperty("java.io.tmpdir");
|
||||
|
||||
/**
|
||||
|
@ -119,7 +123,7 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
appEngine = isAppEngine();
|
||||
}
|
||||
|
||||
logger.debug("init: appEngine is "+appEngine);
|
||||
logger.debug("init: appEngine is " + appEngine);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -127,32 +131,32 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
*/
|
||||
@Override
|
||||
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
||||
logger.debug("GET method in "+MetadataProfileFormBuilderUploadServlet.class.getName()+" is running");
|
||||
logger.debug("GET method in " + MetadataProfileFormBuilderUploadServlet.class.getName() + " is running");
|
||||
String clientUploadKey = request.getParameter(CLIENT_UPLOAD_KEYS);
|
||||
if (clientUploadKey == null){
|
||||
sendError(response, "Internal error: UPLOAD KEY NOT FOUND");
|
||||
return;
|
||||
}
|
||||
logger.debug("GET method CLIENT_UPLOAD_KEY "+clientUploadKey);
|
||||
if (clientUploadKey == null) {
|
||||
sendError(response, "Internal error: UPLOAD KEY NOT FOUND");
|
||||
return;
|
||||
}
|
||||
logger.debug("GET method CLIENT_UPLOAD_KEY " + clientUploadKey);
|
||||
|
||||
boolean cancelUpload = Boolean.parseBoolean(request.getParameter(CANCEL_UPLOAD));
|
||||
logger.debug("GET method CANCEL_UPLOAD "+cancelUpload);
|
||||
if (cancelUpload) {
|
||||
boolean cancelled = cancelUpload(request.getSession(), clientUploadKey);
|
||||
if(cancelled){
|
||||
sendMessage(response, "Upload aborted "+clientUploadKey);
|
||||
boolean cancelUpload = Boolean.parseBoolean(request.getParameter(CANCEL_UPLOAD));
|
||||
logger.debug("GET method CANCEL_UPLOAD " + cancelUpload);
|
||||
if (cancelUpload) {
|
||||
boolean cancelled = cancelUpload(request.getSession(), clientUploadKey);
|
||||
if (cancelled) {
|
||||
sendMessage(response, "Upload aborted " + clientUploadKey);
|
||||
// try {
|
||||
//// removeCurrentListener(request.getSession(), clientUploadKey);
|
||||
// WsUtil.eraseWorkspaceUploaderInSession(request.getSession(), clientUploadKey);
|
||||
// }catch (Exception e) {
|
||||
// logger.warn("An error occurred during removing cancelled upload from session ");
|
||||
// }
|
||||
}
|
||||
else
|
||||
sendWarnMessage(response, "Upload aborted for id: "+clientUploadKey +" has skipped, already aborted or completed?");
|
||||
}else
|
||||
logger.debug(CANCEL_UPLOAD + " param not found");
|
||||
return;
|
||||
} else
|
||||
sendWarnMessage(response,
|
||||
"Upload aborted for id: " + clientUploadKey + " has skipped, already aborted or completed?");
|
||||
} else
|
||||
logger.debug(CANCEL_UPLOAD + " param not found");
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -160,8 +164,9 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
*/
|
||||
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
||||
logger.info("POST on UploadServlet");
|
||||
boolean requestIsNull = request==null;
|
||||
logger.trace("[1] HttpServletRequest is: null? "+requestIsNull+", URI: "+request.getRequestURI() +", ServerName: "+request.getServerName());
|
||||
boolean requestIsNull = request == null;
|
||||
logger.trace("[1] HttpServletRequest is: null? " + requestIsNull + ", URI: " + request.getRequestURI()
|
||||
+ ", ServerName: " + request.getServerName());
|
||||
|
||||
if (!ServletFileUpload.isMultipartContent(request)) {
|
||||
logger.error("ERROR: multipart request not found");
|
||||
|
@ -172,41 +177,46 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
try {
|
||||
|
||||
logger.info("UPLOAD-SERVLET starting");
|
||||
HttpSession session = request.getSession();
|
||||
logger.info("UPLOAD-SERVLET session: "+session);
|
||||
logger.debug("UPLOAD-SERVLET (" + session.getId() + ") new upload request received.");
|
||||
HttpSession session = request.getSession();
|
||||
logger.info("UPLOAD-SERVLET session: " + session);
|
||||
logger.debug("UPLOAD-SERVLET (" + session.getId() + ") new upload request received.");
|
||||
|
||||
if(WsUtil.isSessionExpired(request)){
|
||||
logger.error("SESSION_EXPIRED: session is expired");
|
||||
sendSessionExpired(response, "SESSION_EXPIRED: session is expired");
|
||||
return;
|
||||
}
|
||||
if (WsUtil.isSessionExpired(request)) {
|
||||
logger.error("SESSION_EXPIRED: session is expired");
|
||||
sendSessionExpired(response, "SESSION_EXPIRED: session is expired");
|
||||
return;
|
||||
}
|
||||
|
||||
String uploadType = null;
|
||||
// String clientUploadKey = null;
|
||||
String fieldName = null;
|
||||
// String clientUploadKey = null;
|
||||
FileItemStream uploadItem = null;
|
||||
ArrayList<String> listClientUploadKeys = null;
|
||||
|
||||
|
||||
GCubeUser user = PortalContext.getConfiguration().getCurrentUser(request);
|
||||
FileItemFactory factory = new DiskFileItemFactory();
|
||||
ServletFileUpload servletFileUpload = new ServletFileUpload(factory);
|
||||
|
||||
/**
|
||||
* An iterator to instances of <code>FileItemStream</code>
|
||||
* parsed from the request, in the order that they were
|
||||
*transmitted.
|
||||
* An iterator to instances of <code>FileItemStream</code> parsed from the
|
||||
* request, in the order that they were transmitted.
|
||||
*/
|
||||
FileItemIterator fileItemIterator = servletFileUpload.getItemIterator(request);
|
||||
|
||||
int uploadItemsCnt = 0;
|
||||
String scopeGroupId = "";
|
||||
//GET FILE STREAM
|
||||
// GET FILE STREAM
|
||||
while (fileItemIterator.hasNext()) {
|
||||
FileItemStream item = fileItemIterator.next();
|
||||
|
||||
if (item.isFormField() && UPLOAD_TYPE.equals(item.getFieldName())){
|
||||
if (item.isFormField() && UPLOAD_TYPE.equals(item.getFieldName())) {
|
||||
uploadType = Streams.asString(item.openStream());
|
||||
logger.debug("UPLOAD_TYPE OK " +uploadType);
|
||||
logger.debug(UPLOAD_TYPE + " OK " + uploadType);
|
||||
}
|
||||
|
||||
if (item.isFormField() && FIELD_NAME.equals(item.getFieldName())) {
|
||||
fieldName = Streams.asString(item.openStream());
|
||||
logger.debug(FIELD_NAME + " OK " + fieldName);
|
||||
}
|
||||
|
||||
// if (item.isFormField() && IS_OVERWRITE.equals(item.getFieldName())){
|
||||
|
@ -218,24 +228,27 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
// }
|
||||
// }
|
||||
|
||||
if(item.isFormField() && CLIENT_UPLOAD_KEYS.equals(item.getFieldName())){
|
||||
if (item.isFormField() && CLIENT_UPLOAD_KEYS.equals(item.getFieldName())) {
|
||||
String jsonClientUploadKey = Streams.asString(item.openStream());
|
||||
logger.debug("CLIENT_UPLOAD_KEY OK "+jsonClientUploadKey);
|
||||
logger.debug(CLIENT_UPLOAD_KEYS + " OK " + jsonClientUploadKey);
|
||||
LinkedHashMap<String, String> mapKeys = parseJSONClientUploadKeys(jsonClientUploadKey);
|
||||
listClientUploadKeys = new ArrayList<String>(mapKeys.keySet());
|
||||
removeListenersIfDone(session, listClientUploadKeys);
|
||||
for (String clientUploadKey : listClientUploadKeys) {
|
||||
String fileName = mapKeys.get(clientUploadKey);
|
||||
FileUploadingState workspaceUploader = createNewWorkspaceUploader(clientUploadKey,fileName, user.getUsername());
|
||||
logger.debug("created "+workspaceUploader);
|
||||
saveWorkspaceUploaderStatus(workspaceUploader, UPLOAD_STATUS.WAIT, "Uploading "+fileName+" at 0%", request.getSession());
|
||||
FileUploadingState workspaceUploader = createNewWorkspaceUploader(clientUploadKey, fileName,
|
||||
user.getUsername(), fieldName);
|
||||
logger.debug("created " + workspaceUploader);
|
||||
saveWorkspaceUploaderStatus(workspaceUploader, UPLOAD_STATUS.WAIT,
|
||||
"Uploading " + fileName + " at 0%", request.getSession());
|
||||
}
|
||||
}
|
||||
|
||||
if (item.isFormField() && CURR_GROUP_ID.equals(item.getFieldName())){
|
||||
if (item.isFormField() && CURR_GROUP_ID.equals(item.getFieldName())) {
|
||||
scopeGroupId = Streams.asString(item.openStream());
|
||||
logger.debug("currentGroupId passed as parameter = " + scopeGroupId);
|
||||
logger.debug("currentGroupId into PortalContext scope= " + PortalContext.getConfiguration().getCurrentScope(scopeGroupId));
|
||||
logger.debug("currentGroupId into PortalContext scope= "
|
||||
+ PortalContext.getConfiguration().getCurrentScope(scopeGroupId));
|
||||
}
|
||||
|
||||
// if (item.isFormField() && CURR_USER_ID.equals(item.getFieldName())){
|
||||
|
@ -244,12 +257,13 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
// logger.debug("currUserinto PortalContext = " + PortalContext.getConfiguration().getCurrentUser(request));
|
||||
// }
|
||||
|
||||
//MUST BE THE LAST PARAMETER TRASMITTED
|
||||
if (UPLOAD_FORM_ELEMENT.equals(item.getFieldName())){
|
||||
// MUST BE THE LAST PARAMETER TRASMITTED
|
||||
if (UPLOAD_FORM_ELEMENT.equals(item.getFieldName())) {
|
||||
uploadItem = item;
|
||||
logger.debug("UPLOAD_FORM_ELEMENT OK "+uploadItem.getName() + " scopeGroupId="+scopeGroupId);
|
||||
logger.debug("UPLOAD_FORM_ELEMENT OK " + uploadItem.getName() + " scopeGroupId=" + scopeGroupId);
|
||||
// break;
|
||||
uploadData(user, scopeGroupId, request, response, uploadItem, uploadType, listClientUploadKeys.get(uploadItemsCnt));
|
||||
uploadData(user, scopeGroupId, request, response, uploadItem, uploadType,
|
||||
listClientUploadKeys.get(uploadItemsCnt), fieldName);
|
||||
uploadItemsCnt++;
|
||||
}
|
||||
}
|
||||
|
@ -265,26 +279,25 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Removes the listener if done.
|
||||
*
|
||||
* @param session the session
|
||||
* @param keys the keys
|
||||
* @param keys the keys
|
||||
*/
|
||||
private void removeListenersIfDone(HttpSession session, List<String> keys){
|
||||
private void removeListenersIfDone(HttpSession session, List<String> keys) {
|
||||
|
||||
for (String key : keys) {
|
||||
|
||||
AbstractUploadProgressListener listener = getCurrentListener(session, key);
|
||||
if (listener != null) {
|
||||
logger.debug("Listener found");
|
||||
if (listener.isCanceled() || listener.getPercentage() >= 100){
|
||||
logger.debug("Listener isCanceled or 100%, removing");
|
||||
removeCurrentListener(session, key);
|
||||
}
|
||||
}else
|
||||
logger.debug("Session id: "+session.getId() +" - "+key+" - Listener not found");
|
||||
AbstractUploadProgressListener listener = getCurrentListener(session, key);
|
||||
if (listener != null) {
|
||||
logger.debug("Listener found");
|
||||
if (listener.isCanceled() || listener.getPercentage() >= 100) {
|
||||
logger.debug("Listener isCanceled or 100%, removing");
|
||||
removeCurrentListener(session, key);
|
||||
}
|
||||
} else
|
||||
logger.debug("Session id: " + session.getId() + " - " + key + " - Listener not found");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -297,7 +310,8 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
* @throws FileUploadException the file upload exception
|
||||
*/
|
||||
@SuppressWarnings("rawtypes")
|
||||
private static LinkedHashMap<String, String> parseJSONClientUploadKeys(final String jsonClientUploadKeys) throws FileUploadException{
|
||||
private static LinkedHashMap<String, String> parseJSONClientUploadKeys(final String jsonClientUploadKeys)
|
||||
throws FileUploadException {
|
||||
JSONTokener tokener = new JSONTokener(jsonClientUploadKeys);
|
||||
JSONObject root;
|
||||
LinkedHashMap<String, String> keyFiles = null;
|
||||
|
@ -306,147 +320,157 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
root = new JSONObject(tokener);
|
||||
JSONArray jsonArray = root.getJSONArray(JSON_CLIENT_KEYS);
|
||||
keyFiles = new LinkedHashMap<String, String>(jsonArray.length());
|
||||
logger.debug("jsonArray :"+jsonArray.toString());
|
||||
for (int i=0; i<jsonArray.length(); i++) {
|
||||
logger.debug("jsonArray :" + jsonArray.toString());
|
||||
for (int i = 0; i < jsonArray.length(); i++) {
|
||||
JSONObject object = jsonArray.getJSONObject(i);
|
||||
logger.debug("object :"+object);
|
||||
logger.debug("object :" + object);
|
||||
String key = (String) object.keys().next();
|
||||
String value = object.getString(key);
|
||||
logger.debug("key :"+key+", value: "+value);
|
||||
logger.debug("key :" + key + ", value: " + value);
|
||||
keyFiles.put(key, value);
|
||||
}
|
||||
|
||||
} catch (JSONException e) {
|
||||
logger.error("An error occurred during parsing file names: "+keyFiles, e);
|
||||
logger.error("An error occurred during parsing file names: " + keyFiles, e);
|
||||
throw new FileUploadException("An error occurred during parsing file names");
|
||||
}
|
||||
|
||||
logger.debug("keyFiles: "+keyFiles);
|
||||
logger.debug("keyFiles: " + keyFiles);
|
||||
return keyFiles;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Upload data.
|
||||
*
|
||||
* @param user the user
|
||||
* @param scopeGroupId the scope group id
|
||||
* @param request the request
|
||||
* @param response the response
|
||||
* @param uploadItem the upload item
|
||||
* @param uploadType the upload type
|
||||
* @param user the user
|
||||
* @param scopeGroupId the scope group id
|
||||
* @param request the request
|
||||
* @param response the response
|
||||
* @param uploadItem the upload item
|
||||
* @param uploadType the upload type
|
||||
* @param clientUploadKey the client upload key
|
||||
* @param fieldName the field name
|
||||
* @throws ServletException the servlet exception
|
||||
* @throws IOException Signals that an I/O exception has occurred.
|
||||
* @throws IOException Signals that an I/O exception has occurred.
|
||||
*/
|
||||
private void uploadData(GCubeUser user, String scopeGroupId, HttpServletRequest request, final HttpServletResponse response, final FileItemStream uploadItem, String uploadType,String clientUploadKey) throws ServletException, IOException{
|
||||
private void uploadData(GCubeUser user, String scopeGroupId, HttpServletRequest request,
|
||||
final HttpServletResponse response, final FileItemStream uploadItem, String uploadType,
|
||||
String clientUploadKey, String fieldName) throws ServletException, IOException {
|
||||
|
||||
String fileName = uploadItem.getName();
|
||||
logger.info("Upload servlet parameters: [fileName: "+fileName+ ", uploadType: "+uploadType+", clientUploadKey: "+clientUploadKey+"]");
|
||||
logger.info("Upload servlet parameters: [fileName: " + fileName + ", uploadType: " + uploadType
|
||||
+ ", clientUploadKey: " + clientUploadKey + "]");
|
||||
|
||||
if (uploadType == null || uploadType.isEmpty()) {
|
||||
logger.error("Error processing request in upload servlet for: "+fileName+". No upload type found");
|
||||
logger.error("Error processing request in upload servlet for: " + fileName + ". No upload type found");
|
||||
sendError(response, "Internal error: No upload type found");
|
||||
return;
|
||||
}
|
||||
|
||||
if(clientUploadKey==null || clientUploadKey.isEmpty()){
|
||||
logger.error("Error processing request in upload servlet for: "+fileName+". No client upload key found");
|
||||
if (clientUploadKey == null || clientUploadKey.isEmpty()) {
|
||||
logger.error(
|
||||
"Error processing request in upload servlet for: " + fileName + ". No client upload key found");
|
||||
sendError(response, "Internal error: No client upload key found");
|
||||
return;
|
||||
}
|
||||
|
||||
//CLIENT UPLOAD IS THE KEY
|
||||
|
||||
// CLIENT UPLOAD IS THE KEY
|
||||
// WorkspaceUploaderItem workspaceUploader = createNewWorkspaceUploader(clientUploadKey,destinationId,fileName);
|
||||
// saveWorkspaceUploaderStatus(workspaceUploader, UPLOAD_STATUS.WAIT, "Uploading "+fileName+" at 0%", request.getSession());
|
||||
|
||||
//RETRIVE WORKSPACE UPLOADER FROM SESSION
|
||||
// RETRIVE WORKSPACE UPLOADER FROM SESSION
|
||||
|
||||
FileUploadingState workspaceUploader = null;
|
||||
try {
|
||||
workspaceUploader = WsUtil.getWorkspaceUploaderInSession(request, clientUploadKey);
|
||||
} catch (Exception e) {
|
||||
logger.error("Error during workspace uploader retrieving", e);
|
||||
saveWorkspaceUploaderStatus(workspaceUploader, UPLOAD_STATUS.FAILED, "An error occurred during upload: "+fileName+". Error processing request in upload servlet", request.getSession());
|
||||
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Error processing request in upload servlet");
|
||||
saveWorkspaceUploaderStatus(workspaceUploader, UPLOAD_STATUS.FAILED,
|
||||
"An error occurred during upload: " + fileName + ". Error processing request in upload servlet",
|
||||
request.getSession());
|
||||
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
|
||||
"Error processing request in upload servlet");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
|
||||
//Removing path from fileName
|
||||
// Removing path from fileName
|
||||
String itemName = fileName;
|
||||
//Getting extension
|
||||
// Getting extension
|
||||
String extension = FilenameUtils.getExtension(itemName);
|
||||
logger.debug("extension: "+extension);
|
||||
//Getting base name
|
||||
String baseName = FilenameUtils.getBaseName(itemName); //Using base name in order to avoid Task #12470
|
||||
|
||||
//Task #17152
|
||||
extension = extension.isEmpty()?"":"."+extension;
|
||||
|
||||
itemName = baseName+extension;
|
||||
logger.debug("purged item name is: "+itemName);
|
||||
//SIZE
|
||||
logger.debug("extension: " + extension);
|
||||
// Getting base name
|
||||
String baseName = FilenameUtils.getBaseName(itemName); // Using base name in order to avoid Task #12470
|
||||
|
||||
// Task #17152
|
||||
extension = extension.isEmpty() ? "" : "." + extension;
|
||||
|
||||
itemName = baseName + extension;
|
||||
logger.debug("purged item name is: " + itemName);
|
||||
// SIZE
|
||||
Long size = getContentLength(request);
|
||||
logger.debug("size: " + size + " bytes");
|
||||
|
||||
//Instancing the progress listener
|
||||
final AbstractUploadProgressListener uploadProgressListener = createNewListener(request.getSession(), clientUploadKey);
|
||||
|
||||
// Instancing the progress listener
|
||||
final AbstractUploadProgressListener uploadProgressListener = createNewListener(request.getSession(),
|
||||
clientUploadKey);
|
||||
final UploadProgressInputStream inputStream = new UploadProgressInputStream(uploadItem.openStream(), size);
|
||||
inputStream.addListener(uploadProgressListener);
|
||||
workspaceUploader.setUploadProgress(uploadProgressListener.getUploadProgress());
|
||||
|
||||
|
||||
saveWorkspaceUploaderInSession(workspaceUploader, request.getSession());
|
||||
|
||||
|
||||
String contentType = uploadItem.getContentType();
|
||||
logger.debug("Stream content type: "+contentType);
|
||||
|
||||
//UPLOAD FILE. IT IS DEFAULT CASE
|
||||
logger.debug("Stream content type: " + contentType);
|
||||
|
||||
// UPLOAD FILE. IT IS DEFAULT CASE
|
||||
logger.debug("Uploading file in the TEMP system folder...");
|
||||
workspaceUploader = createStreamToTempFile(request, workspaceUploader, inputStream, user.getUsername(), clientUploadKey, fileName, extension);
|
||||
|
||||
workspaceUploader = createStreamToTempFile(request, workspaceUploader, inputStream, user.getUsername(),
|
||||
clientUploadKey, fileName, extension);
|
||||
|
||||
saveWorkspaceUploaderInSession(workspaceUploader, request.getSession());
|
||||
|
||||
if(workspaceUploader==null)
|
||||
|
||||
if (workspaceUploader == null)
|
||||
throw new Exception("Error when creating uploader, it is null!");
|
||||
|
||||
|
||||
/*
|
||||
* Incident #10095. Commented OK as response
|
||||
* in order to avoid downloading of .dms file by Safari
|
||||
* from MAC
|
||||
* Incident #10095. Commented OK as response in order to avoid downloading of
|
||||
* .dms file by Safari from MAC
|
||||
*/
|
||||
//sendMessage(response, workspaceUploader.getIdentifier());
|
||||
|
||||
} catch (IOException e){
|
||||
// sendMessage(response, workspaceUploader.getIdentifier());
|
||||
|
||||
} catch (IOException e) {
|
||||
logger.error("Error creating elements, is it cancel?", e);
|
||||
saveWorkspaceUploaderStatus(workspaceUploader, UPLOAD_STATUS.FAILED, "Uploading error", request.getSession());
|
||||
saveWorkspaceUploaderStatus(workspaceUploader, UPLOAD_STATUS.FAILED, "Uploading error",
|
||||
request.getSession());
|
||||
sendError(response, "Internal error: An item with that name already exists");
|
||||
return;
|
||||
// sendError(response, "Internal error: An item with that name already exists");
|
||||
// return;
|
||||
}catch (Exception e) {
|
||||
} catch (Exception e) {
|
||||
logger.error("Error creating elements", e);
|
||||
saveWorkspaceUploaderStatus(workspaceUploader, UPLOAD_STATUS.FAILED, "Uploading error. "+e.getMessage(), request.getSession());
|
||||
saveWorkspaceUploaderStatus(workspaceUploader, UPLOAD_STATUS.FAILED, "Uploading error. " + e.getMessage(),
|
||||
request.getSession());
|
||||
// sendError(response, "Internal error: An error occurred on uploading the file, try again later");
|
||||
// return;
|
||||
}finally{
|
||||
//TODO
|
||||
} finally {
|
||||
// TODO
|
||||
removeCurrentListener(request.getSession(), clientUploadKey);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Save workspace uploader status.
|
||||
*
|
||||
* @param workspaceUploader the workspace uploader
|
||||
* @param status the status
|
||||
* @param description the description
|
||||
* @param session the session
|
||||
* @param status the status
|
||||
* @param description the description
|
||||
* @param session the session
|
||||
* @return the workspace uploader item
|
||||
*/
|
||||
private synchronized FileUploadingState saveWorkspaceUploaderStatus(FileUploadingState workspaceUploader, UPLOAD_STATUS status, String description, HttpSession session){
|
||||
private synchronized FileUploadingState saveWorkspaceUploaderStatus(FileUploadingState workspaceUploader,
|
||||
UPLOAD_STATUS status, String description, HttpSession session) {
|
||||
workspaceUploader.setUploadStatus(status);
|
||||
workspaceUploader.setStatusDescription(description);
|
||||
try {
|
||||
|
@ -457,20 +481,21 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
return workspaceUploader;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Creates the new workspace uploader.
|
||||
*
|
||||
* @param clientUploadKey the client upload key
|
||||
* @param fileName the file name
|
||||
* @param fileName the file name
|
||||
* @param user the user
|
||||
* @param formFieldName the form field name
|
||||
* @return the workspace uploader item
|
||||
*/
|
||||
private FileUploadingState createNewWorkspaceUploader(String clientUploadKey, String fileName, String user){
|
||||
//CLIENT UPLOAD IS THE KEY
|
||||
private FileUploadingState createNewWorkspaceUploader(String clientUploadKey, String fileName, String user, String formFieldName) {
|
||||
// CLIENT UPLOAD IS THE KEY
|
||||
FileUploadingState workspaceUploader = new FileUploadingState(clientUploadKey);
|
||||
workspaceUploader.setClientUploadKey(clientUploadKey);
|
||||
//Create File
|
||||
FileUploaded wsUploadFile = new FileUploaded(fileName, null, user);
|
||||
// Create File
|
||||
FileUploaded wsUploadFile = new FileUploaded(fileName, null, user, new FilePath(formFieldName));
|
||||
workspaceUploader.setFile(wsUploadFile);
|
||||
return workspaceUploader;
|
||||
}
|
||||
|
@ -479,39 +504,43 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
* Save workspace uploader in session.
|
||||
*
|
||||
* @param workspaceUploader the workspace uploader
|
||||
* @param httpSession the http session
|
||||
* @param httpSession the http session
|
||||
* @return the workspace uploader item
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
public static void saveWorkspaceUploaderInSession(FileUploadingState workspaceUploader, HttpSession httpSession) throws Exception {
|
||||
public static void saveWorkspaceUploaderInSession(FileUploadingState workspaceUploader, HttpSession httpSession)
|
||||
throws Exception {
|
||||
|
||||
if(workspaceUploader!=null){
|
||||
if (workspaceUploader != null) {
|
||||
try {
|
||||
WsUtil.putWorkspaceUploaderInSession(httpSession, workspaceUploader);
|
||||
} catch (Exception e) {
|
||||
logger.error("Error during WorkspaceUploaderItem save in session workspace uploader: "+workspaceUploader,e);
|
||||
logger.error(
|
||||
"Error during WorkspaceUploaderItem save in session workspace uploader: " + workspaceUploader,
|
||||
e);
|
||||
throw new Exception("An error occurred in the upload. Try again");
|
||||
}
|
||||
}else
|
||||
} else
|
||||
throw new Exception("An error occurred in the upload. Workspace Uploader not found. Abort and try again");
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Creates the stream to temp file.
|
||||
* @param request
|
||||
*
|
||||
* @param request the request
|
||||
* @param workspaceUploader the workspace uploader
|
||||
* @param in the in
|
||||
* @param username the username
|
||||
* @param clientUploadKey the client upload key
|
||||
* @param fileName the file name
|
||||
* @param fileExtension the file extension
|
||||
* @param in the in
|
||||
* @param username the username
|
||||
* @param clientUploadKey the client upload key
|
||||
* @param fileName the file name
|
||||
* @param fileExtension the file extension
|
||||
* @return the workspace uploader item
|
||||
* @throws IOException Signals that an I/O exception has occurred.
|
||||
*/
|
||||
public FileUploadingState createStreamToTempFile(HttpServletRequest request, FileUploadingState workspaceUploader, InputStream in, String username, String clientUploadKey, String fileName, String fileExtension) throws IOException{
|
||||
|
||||
public FileUploadingState createStreamToTempFile(HttpServletRequest request, FileUploadingState workspaceUploader,
|
||||
InputStream in, String username, String clientUploadKey, String fileName, String fileExtension)
|
||||
throws IOException {
|
||||
|
||||
if (fileExtension == null)
|
||||
fileExtension = "";
|
||||
if (username == null)
|
||||
|
@ -523,8 +552,8 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
String uniqueFileName = String.format("%s_%s", clientUploadKey, fileName);
|
||||
File tempFile = File.createTempFile(uniqueFileName, fileExtension);
|
||||
tempFile.deleteOnExit();
|
||||
//File tempFile = File.createTempFile(uniqueFileName, fileExtension);
|
||||
//File tempFile = tempFilePath.toFile();
|
||||
// File tempFile = File.createTempFile(uniqueFileName, fileExtension);
|
||||
// File tempFile = tempFilePath.toFile();
|
||||
FileOutputStream out = new FileOutputStream(tempFile);
|
||||
IOUtils.copy(in, out);
|
||||
workspaceUploader.getFile().setTempSystemPath(tempFile.getAbsolutePath());
|
||||
|
@ -532,110 +561,112 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
workspaceUploader.setUploadStatus(UPLOAD_STATUS.COMPLETED);
|
||||
saveWorkspaceUploaderInSession(workspaceUploader, request.getSession());
|
||||
saveFileUplodedInSession(workspaceUploader.getFile(), request.getSession());
|
||||
logger.info("File uploaded at: "+tempFile.getAbsolutePath());
|
||||
}catch (Exception e) {
|
||||
workspaceUploader.setStatusDescription("Error on uploading: "+fileName+". "+e.getMessage());
|
||||
logger.info("File uploaded at: " + tempFile.getAbsolutePath());
|
||||
} catch (Exception e) {
|
||||
workspaceUploader.setStatusDescription("Error on uploading: " + fileName + ". " + e.getMessage());
|
||||
workspaceUploader.setUploadStatus(UPLOAD_STATUS.FAILED);
|
||||
}finally {
|
||||
} finally {
|
||||
try {
|
||||
WsUtil.setErasableWorkspaceUploaderInSession(request, workspaceUploader.getIdentifier());
|
||||
} catch (Exception e2) {
|
||||
logger.error("Error during setErasableWorkspaceUploaderInSession session update: ",e2);
|
||||
logger.error("Error during setErasableWorkspaceUploaderInSession session update: ", e2);
|
||||
}
|
||||
}
|
||||
return workspaceUploader;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Save file uploded in session.
|
||||
*
|
||||
* @param fileUploaded the file uploaded
|
||||
* @param httpSession the http session
|
||||
* @param httpSession the http session
|
||||
*/
|
||||
private void saveFileUplodedInSession(FileUploaded fileUploaded, HttpSession httpSession) {
|
||||
if(fileUploaded!=null){
|
||||
List<FileUploaded> listFiles = (List<FileUploaded>) httpSession.getAttribute(ConstantsMPFormBuilder.FILE_UPLOADED_SESSION_ATTR);
|
||||
|
||||
if(listFiles==null)
|
||||
if (fileUploaded != null) {
|
||||
List<FileUploaded> listFiles = (List<FileUploaded>) httpSession
|
||||
.getAttribute(ConstantsMPFormBuilder.FILE_UPLOADED_SESSION_ATTR);
|
||||
|
||||
if (listFiles == null)
|
||||
listFiles = new ArrayList<FileUploaded>();
|
||||
|
||||
|
||||
listFiles.add(fileUploaded);
|
||||
httpSession.setAttribute(ConstantsMPFormBuilder.FILE_UPLOADED_SESSION_ATTR, listFiles);
|
||||
logger.info("Added: "+fileUploaded +" in session");
|
||||
logger.info("Added: " + fileUploaded + " in session");
|
||||
}
|
||||
}
|
||||
|
||||
//TEST TIME
|
||||
// TEST TIME
|
||||
/**
|
||||
* Prints the start time.
|
||||
*
|
||||
* @return the long
|
||||
*/
|
||||
public static Long printStartTime(){
|
||||
Long startTime = System.currentTimeMillis();
|
||||
logger.debug("Start time: "+startTime);
|
||||
public static Long printStartTime() {
|
||||
Long startTime = System.currentTimeMillis();
|
||||
logger.debug("Start time: " + startTime);
|
||||
return startTime;
|
||||
}
|
||||
//TEST TIME
|
||||
|
||||
// TEST TIME
|
||||
/**
|
||||
* Prints the elapsed time.
|
||||
*
|
||||
* @param startTime the start time
|
||||
*/
|
||||
public static void printElapsedTime(long startTime){
|
||||
public static void printElapsedTime(long startTime) {
|
||||
Long endTime = System.currentTimeMillis() - startTime;
|
||||
String time = String.format("%d msc %d sec", endTime, TimeUnit.MILLISECONDS.toSeconds(endTime));
|
||||
logger.debug("Elapsed Time: "+time);
|
||||
logger.debug("Elapsed Time: " + time);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send error.
|
||||
*
|
||||
* @param response the response
|
||||
* @param message the message
|
||||
* @param message the message
|
||||
* @throws IOException Signals that an I/O exception has occurred.
|
||||
*/
|
||||
protected void sendError(HttpServletResponse response, String message) throws IOException{
|
||||
protected void sendError(HttpServletResponse response, String message) throws IOException {
|
||||
try {
|
||||
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
|
||||
HandlerResultMessage resultMessage = HandlerResultMessage.errorResult(message);
|
||||
response.getWriter().write(resultMessage.toString());
|
||||
//5.6 Closure of Response Object:
|
||||
//When a response is closed, the container must immediately flush all remaining content in the response buffer to the client
|
||||
// 5.6 Closure of Response Object:
|
||||
// When a response is closed, the container must immediately flush all remaining
|
||||
// content in the response buffer to the client
|
||||
// response.flushBuffer();
|
||||
} catch (IOException e){
|
||||
logger.warn("IOException class name: "+e.getClass().getSimpleName());
|
||||
} catch (IOException e) {
|
||||
logger.warn("IOException class name: " + e.getClass().getSimpleName());
|
||||
if (e.getClass().getSimpleName().equals("ClientAbortException"))
|
||||
logger.warn("Skipping ClientAbortException: "+e.getMessage());
|
||||
logger.warn("Skipping ClientAbortException: " + e.getMessage());
|
||||
else
|
||||
throw e; //Sending Exceptions
|
||||
throw e; // Sending Exceptions
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Send session expired.
|
||||
*
|
||||
* @param response the response
|
||||
* @param message the message
|
||||
* @param message the message
|
||||
* @throws IOException Signals that an I/O exception has occurred.
|
||||
*/
|
||||
protected void sendSessionExpired(HttpServletResponse response, String message) throws IOException{
|
||||
protected void sendSessionExpired(HttpServletResponse response, String message) throws IOException {
|
||||
try {
|
||||
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
|
||||
HandlerResultMessage resultMessage = HandlerResultMessage.sessionExpiredResult(message);
|
||||
response.getWriter().write(resultMessage.toString());
|
||||
//5.6 Closure of Response Object:
|
||||
//When a response is closed, the container must immediately flush all remaining content in the response buffer to the client
|
||||
// 5.6 Closure of Response Object:
|
||||
// When a response is closed, the container must immediately flush all remaining
|
||||
// content in the response buffer to the client
|
||||
// response.flushBuffer();
|
||||
} catch (IOException e){
|
||||
logger.warn("IOException class name: "+e.getClass().getSimpleName());
|
||||
} catch (IOException e) {
|
||||
logger.warn("IOException class name: " + e.getClass().getSimpleName());
|
||||
if (e.getClass().getSimpleName().equals("ClientAbortException"))
|
||||
logger.warn("Skipping ClientAbortException: "+e.getMessage());
|
||||
logger.warn("Skipping ClientAbortException: " + e.getMessage());
|
||||
else
|
||||
throw e; //Sending Exceptions
|
||||
throw e; // Sending Exceptions
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -643,24 +674,25 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
* Send message.
|
||||
*
|
||||
* @param response the response
|
||||
* @param message the message
|
||||
* @param message the message
|
||||
* @throws IOException Signals that an I/O exception has occurred.
|
||||
*/
|
||||
protected void sendMessage(HttpServletResponse response, String message) throws IOException{
|
||||
protected void sendMessage(HttpServletResponse response, String message) throws IOException {
|
||||
try {
|
||||
response.setStatus(HttpServletResponse.SC_ACCEPTED);
|
||||
message = message.replaceAll(":", "");
|
||||
HandlerResultMessage resultMessage = HandlerResultMessage.okResult(message);
|
||||
response.getWriter().write(resultMessage.toString());
|
||||
//5.6 Closure of Response Object:
|
||||
//When a response is closed, the container must immediately flush all remaining content in the response buffer to the client
|
||||
// 5.6 Closure of Response Object:
|
||||
// When a response is closed, the container must immediately flush all remaining
|
||||
// content in the response buffer to the client
|
||||
// response.flushBuffer();
|
||||
} catch (IOException e){
|
||||
logger.warn("IOException class name: "+e.getClass().getSimpleName());
|
||||
} catch (IOException e) {
|
||||
logger.warn("IOException class name: " + e.getClass().getSimpleName());
|
||||
if (e.getClass().getSimpleName().equals("ClientAbortException"))
|
||||
logger.warn("Skipping ClientAbortException: "+e.getMessage());
|
||||
logger.warn("Skipping ClientAbortException: " + e.getMessage());
|
||||
else
|
||||
throw e; //Sending Exceptions
|
||||
throw e; // Sending Exceptions
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -668,41 +700,42 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
* Send warn message.
|
||||
*
|
||||
* @param response the response
|
||||
* @param message the message
|
||||
* @param message the message
|
||||
* @throws IOException Signals that an I/O exception has occurred.
|
||||
*/
|
||||
protected void sendWarnMessage(HttpServletResponse response, String message) throws IOException{
|
||||
protected void sendWarnMessage(HttpServletResponse response, String message) throws IOException {
|
||||
try {
|
||||
response.setStatus(HttpServletResponse.SC_ACCEPTED);
|
||||
HandlerResultMessage resultMessage = HandlerResultMessage.warnResult(message);
|
||||
response.getWriter().write(resultMessage.toString());
|
||||
//5.6 Closure of Response Object:
|
||||
//When a response is closed, the container must immediately flush all remaining content in the response buffer to the client
|
||||
// 5.6 Closure of Response Object:
|
||||
// When a response is closed, the container must immediately flush all remaining
|
||||
// content in the response buffer to the client
|
||||
// response.flushBuffer();
|
||||
} catch (IOException e){
|
||||
logger.warn("IOException class name: "+e.getClass().getSimpleName());
|
||||
} catch (IOException e) {
|
||||
logger.warn("IOException class name: " + e.getClass().getSimpleName());
|
||||
if (e.getClass().getSimpleName().equals("ClientAbortException"))
|
||||
logger.warn("Skipping ClientAbortException: "+e.getMessage());
|
||||
logger.warn("Skipping ClientAbortException: " + e.getMessage());
|
||||
else
|
||||
throw e; //Sending Exceptions
|
||||
throw e; // Sending Exceptions
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark the current upload process to be canceled.
|
||||
*
|
||||
* @param session the session
|
||||
* @param session the session
|
||||
* @param clientUploadKey the client upload key
|
||||
* @return true, if successful
|
||||
*/
|
||||
public boolean cancelUpload(HttpSession session, String clientUploadKey) {
|
||||
logger.debug("UPLOAD-SERVLET (" + session.getId()+ ") cancelling Upload: "+clientUploadKey);
|
||||
logger.debug("UPLOAD-SERVLET (" + session.getId() + ") cancelling Upload: " + clientUploadKey);
|
||||
AbstractUploadProgressListener listener = getCurrentListener(session, clientUploadKey);
|
||||
if (listener != null && !listener.isCanceled()) {
|
||||
logger.info("CancelUpload listener is "+listener.toString());
|
||||
logger.info("CancelUpload listener is " + listener.toString());
|
||||
listener.setException(new UploadCanceledException());
|
||||
return true;
|
||||
}else{
|
||||
} else {
|
||||
logger.info("Skipping cancel upload: listener is null or is cancel");
|
||||
return false;
|
||||
}
|
||||
|
@ -711,7 +744,7 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
/**
|
||||
* Get the listener active in this session.
|
||||
*
|
||||
* @param session the session
|
||||
* @param session the session
|
||||
* @param clientUploadKey the client upload key
|
||||
* @return the listener active
|
||||
*/
|
||||
|
@ -724,8 +757,8 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
}
|
||||
|
||||
/**
|
||||
* Just a method to detect whether the web container is running with
|
||||
* appengine restrictions.
|
||||
* Just a method to detect whether the web container is running with appengine
|
||||
* restrictions.
|
||||
*
|
||||
* @return true if the case of the application is running in appengine
|
||||
*/
|
||||
|
@ -736,7 +769,7 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
/**
|
||||
* Create a new listener for this session.
|
||||
*
|
||||
* @param session the session
|
||||
* @param session the session
|
||||
* @param clientUploadKey the client upload key
|
||||
* @return the appropriate listener
|
||||
*/
|
||||
|
@ -748,7 +781,6 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets the content length.
|
||||
*
|
||||
|
@ -758,8 +790,7 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
private long getContentLength(HttpServletRequest request) {
|
||||
long size = -1;
|
||||
try {
|
||||
size = Long.parseLong(request
|
||||
.getHeader(FileUploadBase.CONTENT_LENGTH));
|
||||
size = Long.parseLong(request.getHeader(FileUploadBase.CONTENT_LENGTH));
|
||||
} catch (NumberFormatException e) {
|
||||
}
|
||||
return size;
|
||||
|
@ -768,17 +799,17 @@ public class MetadataProfileFormBuilderUploadServlet extends HttpServlet impleme
|
|||
/**
|
||||
* Remove the listener active in this session.
|
||||
*
|
||||
* @param session the session
|
||||
* @param session the session
|
||||
* @param clientUploadKey the client upload key
|
||||
*/
|
||||
protected void removeCurrentListener(HttpSession session, String clientUploadKey) {
|
||||
logger.debug("RemoveCurrentListener: "+clientUploadKey);
|
||||
logger.debug("RemoveCurrentListener: " + clientUploadKey);
|
||||
AbstractUploadProgressListener listener = getCurrentListener(session, clientUploadKey);
|
||||
|
||||
if (listener != null) {
|
||||
logger.debug("Removing listener: "+listener.getClientUploadKey());
|
||||
logger.debug("Removing listener: " + listener.getClientUploadKey());
|
||||
listener.remove();
|
||||
}else
|
||||
logger.warn("Listener "+clientUploadKey+ "is null");
|
||||
} else
|
||||
logger.warn("Listener " + clientUploadKey + "is null");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,6 @@ package org.gcube.portlets.widgets.mpformbuilder.shared;
|
|||
import java.io.Serializable;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.gcube.portlets.widgets.mpformbuilder.shared.metadata.MetaDataProfileBean;
|
||||
import org.gcube.portlets.widgets.mpformbuilder.shared.upload.FileUploaded;
|
||||
|
|
|
@ -38,7 +38,7 @@ public class MetadataFieldWrapper implements UpdatableField, Serializable {
|
|||
}
|
||||
|
||||
/**
|
||||
* Instantiates a new metadata field.
|
||||
* Instantiates a new metadata field wrapper.
|
||||
*
|
||||
* @param fieldName the field name
|
||||
* @param mandatory the mandatory
|
||||
|
@ -83,7 +83,7 @@ public class MetadataFieldWrapper implements UpdatableField, Serializable {
|
|||
/**
|
||||
* Gets the field name.
|
||||
*
|
||||
* @return the fieldName
|
||||
* @return the serviceFieldName
|
||||
*/
|
||||
public String getFieldName() {
|
||||
|
||||
|
@ -143,7 +143,7 @@ public class MetadataFieldWrapper implements UpdatableField, Serializable {
|
|||
/**
|
||||
* Sets the field name.
|
||||
*
|
||||
* @param fieldName the fieldName to set
|
||||
* @param fieldName the new field name
|
||||
*/
|
||||
public void setFieldName(String fieldName) {
|
||||
|
||||
|
@ -339,7 +339,7 @@ public class MetadataFieldWrapper implements UpdatableField, Serializable {
|
|||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
return "MetadataFieldWrapper [" + (fieldName != null ? "fieldName=" + fieldName + ", " : "")
|
||||
return "MetadataFieldWrapper [" + (fieldName != null ? "serviceFieldName=" + fieldName + ", " : "")
|
||||
+ (fieldNameFromCategory != null ? "fieldNameFromCategory=" + fieldNameFromCategory + ", " : "")
|
||||
+ (mandatory != null ? "mandatory=" + mandatory + ", " : "")
|
||||
+ (maxOccurs != null ? "maxOccurs=" + maxOccurs + ", " : "")
|
||||
|
|
|
@ -0,0 +1,67 @@
|
|||
package org.gcube.portlets.widgets.mpformbuilder.shared.upload;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* The Class FilePath.
|
||||
*
|
||||
* @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it
|
||||
*
|
||||
* Mar 21, 2022
|
||||
*/
|
||||
public class FilePath implements Serializable {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 5321133561716734223L;
|
||||
String formFieldLabel; // is the gcubeProfileFieldName in the UCD of Geoportal
|
||||
|
||||
/**
|
||||
* Instantiates a new file paths.
|
||||
*/
|
||||
public FilePath() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Instantiates a new file path.
|
||||
*
|
||||
* @param formFieldLabel the form field label
|
||||
*/
|
||||
public FilePath(String formFieldLabel) {
|
||||
this.formFieldLabel = formFieldLabel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the form field label.
|
||||
*
|
||||
* @return the form field label
|
||||
*/
|
||||
public String getFormFieldLabel() {
|
||||
return formFieldLabel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the form field label.
|
||||
*
|
||||
* @param formFieldLabel the new form field label
|
||||
*/
|
||||
public void setFormFieldLabel(String formFieldLabel) {
|
||||
this.formFieldLabel = formFieldLabel;
|
||||
}
|
||||
|
||||
/**
|
||||
* To string.
|
||||
*
|
||||
* @return the string
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("FilePath [formFieldLabel=");
|
||||
builder.append(formFieldLabel);
|
||||
builder.append("]");
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
}
|
|
@ -7,49 +7,50 @@ import java.io.Serializable;
|
|||
|
||||
import com.google.gwt.user.client.rpc.IsSerializable;
|
||||
|
||||
|
||||
/**
|
||||
* The Class FileUploaded.
|
||||
*
|
||||
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
||||
*
|
||||
* Oct 8, 2020
|
||||
* Oct 8, 2020
|
||||
*/
|
||||
public class FileUploaded implements Serializable, IsSerializable{
|
||||
|
||||
public class FileUploaded implements Serializable, IsSerializable {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = -7869956386977214114L;
|
||||
private static final long serialVersionUID = -6666006742990360875L;
|
||||
|
||||
/** The file name. */
|
||||
private String fileName;
|
||||
|
||||
|
||||
/** The item id. */
|
||||
private String tempSystemPath;
|
||||
|
||||
|
||||
private String createdByUser;
|
||||
|
||||
private FilePath filePath;
|
||||
|
||||
/**
|
||||
* Instantiates a new workspace upload file.
|
||||
*/
|
||||
public FileUploaded() {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Instantiates a new workspace upload file.
|
||||
* Instantiates a new file uploaded.
|
||||
*
|
||||
* @param fileName the file name
|
||||
* @param fileName the file name
|
||||
* @param tempSystemPath the temp system path
|
||||
* @param createdByUser the created by user
|
||||
* @param createdByUser the created by user
|
||||
* @param filePath the file path
|
||||
*/
|
||||
public FileUploaded(String fileName, String tempSystemPath, String createdByUser) {
|
||||
public FileUploaded(String fileName, String tempSystemPath, String createdByUser, FilePath filePath) {
|
||||
super();
|
||||
this.fileName = fileName;
|
||||
this.tempSystemPath = tempSystemPath;
|
||||
this.createdByUser = createdByUser;
|
||||
this.filePath = filePath;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -61,8 +62,6 @@ public class FileUploaded implements Serializable, IsSerializable{
|
|||
return fileName;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Sets the file name.
|
||||
*
|
||||
|
@ -72,8 +71,6 @@ public class FileUploaded implements Serializable, IsSerializable{
|
|||
this.fileName = fileName;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Gets the temp system path.
|
||||
*
|
||||
|
@ -83,8 +80,6 @@ public class FileUploaded implements Serializable, IsSerializable{
|
|||
return tempSystemPath;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Sets the temp system path.
|
||||
*
|
||||
|
@ -94,8 +89,6 @@ public class FileUploaded implements Serializable, IsSerializable{
|
|||
this.tempSystemPath = tempSystemPath;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Gets the created by user.
|
||||
*
|
||||
|
@ -105,8 +98,6 @@ public class FileUploaded implements Serializable, IsSerializable{
|
|||
return createdByUser;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Sets the created by user.
|
||||
*
|
||||
|
@ -116,7 +107,29 @@ public class FileUploaded implements Serializable, IsSerializable{
|
|||
this.createdByUser = createdByUser;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the file paths.
|
||||
*
|
||||
* @return the file paths
|
||||
*/
|
||||
public FilePath getFilePath() {
|
||||
return filePath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the file paths.
|
||||
*
|
||||
* @param filePaths the new file paths
|
||||
*/
|
||||
public void setFilePaths(FilePath filePaths) {
|
||||
this.filePath = filePaths;
|
||||
}
|
||||
|
||||
/**
|
||||
* To string.
|
||||
*
|
||||
* @return the string
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
@ -126,8 +139,10 @@ public class FileUploaded implements Serializable, IsSerializable{
|
|||
builder.append(tempSystemPath);
|
||||
builder.append(", createdByUser=");
|
||||
builder.append(createdByUser);
|
||||
builder.append(", filePath=");
|
||||
builder.append(filePath);
|
||||
builder.append("]");
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue