From 157b95e91e018fb524aadf98872dfb5117867f64 Mon Sep 17 00:00:00 2001 From: m.veroni Date: Tue, 24 Jun 2014 14:41:07 +0000 Subject: [PATCH] Chiamate completate,manca autenticazione --- WebContent/form/upload.jsp | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ lib/common/local/kahuna5j_4.2.3.jar | Bin 402022 -> 0 bytes src/it/softecspa/fileproxy/proxyservices/HttpFileProxyService.java | 15 +++++++++++++++ src/it/softecspa/fileproxy/proxyservices/manager/AbstractHttpFileProxyManager.java | 39 +++++++++++++++++++++++++-------------- src/it/softecspa/fileproxy/proxyservices/manager/DeleteManager.java | 2 ++ src/it/softecspa/fileproxy/proxyservices/manager/DownloadManager.java | 3 ++- src/it/softecspa/fileproxy/proxyservices/manager/ListManager.java | 3 ++- src/it/softecspa/fileproxy/proxyservices/manager/MakeFolderManager.java | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ src/it/softecspa/fileproxy/proxyservices/manager/UploadManager.java | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------- src/it/softecspa/fileproxy/proxyservices/request/AbstractHttpFileProxyRequest.java | 29 ++--------------------------- src/it/softecspa/fileproxy/proxyservices/request/MakeFolderRequestType.java | 17 +++++++++++++++++ src/it/softecspa/fileproxy/proxyservices/request/UploadRequestType.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++------ src/it/softecspa/fileproxy/proxyservices/response/MakeFolderResponseType.java | 5 +++++ src/it/softecspa/fileproxy/proxyservices/xml/output/list/ResponseROOT.java | 2 +- src/it/softecspa/fileproxy/services/common/ResponseOutcome.java | 21 +++++++++------------ src/it/softecspa/fileproxy/services/common/core/UniversalStatementHttpServlet.java | 32 ++++++++++++++++++++------------ src/it/softecspa/fileproxy/services/common/core/request/InputStreamReaderJSON.java | 2 +- src/it/softecspa/fileproxy/services/common/core/request/InputStreamReaderXML.java | 2 +- src/it/softecspa/fileproxy/services/common/core/request/MethodPostMandatory.java | 5 +++++ src/it/softecspa/fileproxy/services/common/core/request/MultipartFormDataRequestReader.java | 2 +- src/it/softecspa/fileproxy/services/common/core/request/TrackRequestCustomInfo.java | 15 +++++++++++++++ src/it/softecspa/fileproxy/services/common/core/response/XMLResponseKO.java | 2 +- 22 files changed, 442 insertions(+), 95 deletions(-) create mode 100644 WebContent/form/upload.jsp create mode 100644 src/it/softecspa/fileproxy/proxyservices/manager/MakeFolderManager.java create mode 100644 src/it/softecspa/fileproxy/proxyservices/request/MakeFolderRequestType.java create mode 100644 src/it/softecspa/fileproxy/proxyservices/response/MakeFolderResponseType.java create mode 100644 src/it/softecspa/fileproxy/services/common/core/request/MethodPostMandatory.java create mode 100644 src/it/softecspa/fileproxy/services/common/core/request/TrackRequestCustomInfo.java diff --git a/WebContent/form/upload.jsp b/WebContent/form/upload.jsp new file mode 100644 index 0000000..ab1fe3c --- /dev/null +++ b/WebContent/form/upload.jsp @@ -0,0 +1,117 @@ +<%@page import="it.softecspa.portal.ApplicationClusterInfo"%> +<%@page import="it.softecspa.portal.Parameters"%> +<% + Parameters parameters = Parameters.getInstance(); + String url = request.getScheme()+"://"+parameters.getChannelInfo().getDomainName(); + + url += parameters.getChannelInfo().getPortHTTP()+parameters.getChannelInfo().getContextName()+"/proxy-services/statement?upload"; +%> + + + Upload file + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Simulazione traferimento file
+
    +
  • Incollare XML nella text area
  • +
  • La login e la password devono essere quelle di un utente abilitato all'import dei dati (ad esempio un amministratore)
  • +
  • Alla fine dell'importazione verrà visualizzato nell'area esito il risultato dell'importazione:
  • +
+
login
password
path
fileName
overwrite
append
bufferLength
+
+
+ Invio
+ +
+
+ Esito
+ +
+
+
+ +
+ + diff --git a/lib/common/local/kahuna5j_4.2.3.jar b/lib/common/local/kahuna5j_4.2.3.jar index fa7278d..2c227d5 100644 Binary files a/lib/common/local/kahuna5j_4.2.3.jar and b/lib/common/local/kahuna5j_4.2.3.jar differ diff --git a/src/it/softecspa/fileproxy/proxyservices/HttpFileProxyService.java b/src/it/softecspa/fileproxy/proxyservices/HttpFileProxyService.java index 1cd226b..dde321f 100644 --- a/src/it/softecspa/fileproxy/proxyservices/HttpFileProxyService.java +++ b/src/it/softecspa/fileproxy/proxyservices/HttpFileProxyService.java @@ -4,14 +4,17 @@ import it.softecspa.fileproxy.proxyservices.core.HttpFileProxyServiceInterfaceSe import it.softecspa.fileproxy.proxyservices.manager.DeleteManager; import it.softecspa.fileproxy.proxyservices.manager.DownloadManager; import it.softecspa.fileproxy.proxyservices.manager.ListManager; +import it.softecspa.fileproxy.proxyservices.manager.MakeFolderManager; import it.softecspa.fileproxy.proxyservices.manager.UploadManager; import it.softecspa.fileproxy.proxyservices.request.DeleteRequestType; import it.softecspa.fileproxy.proxyservices.request.DownloadRequestType; import it.softecspa.fileproxy.proxyservices.request.ListRequestType; +import it.softecspa.fileproxy.proxyservices.request.MakeFolderRequestType; import it.softecspa.fileproxy.proxyservices.request.UploadRequestType; import it.softecspa.fileproxy.proxyservices.response.DeleteResponseType; import it.softecspa.fileproxy.proxyservices.response.DownloadResponseType; import it.softecspa.fileproxy.proxyservices.response.ListResponseType; +import it.softecspa.fileproxy.proxyservices.response.MakeFolderResponseType; import it.softecspa.fileproxy.proxyservices.response.UploadResponseType; import javax.servlet.ServletConfig; @@ -76,4 +79,16 @@ public class HttpFileProxyService extends HttpFileProxyServiceInterfaceServlet { return service.process(_request); } + + + /** + * Creazione di una cartella + * @param _request + * @return + */ + public MakeFolderResponseType makeFolder(MakeFolderRequestType _request) { + MakeFolderManager service = new MakeFolderManager(); + return service.process(_request); + } + } diff --git a/src/it/softecspa/fileproxy/proxyservices/manager/AbstractHttpFileProxyManager.java b/src/it/softecspa/fileproxy/proxyservices/manager/AbstractHttpFileProxyManager.java index 7ab9867..565f57c 100644 --- a/src/it/softecspa/fileproxy/proxyservices/manager/AbstractHttpFileProxyManager.java +++ b/src/it/softecspa/fileproxy/proxyservices/manager/AbstractHttpFileProxyManager.java @@ -1,30 +1,18 @@ package it.softecspa.fileproxy.proxyservices.manager; -import it.softecspa.database.dbconnect.ConnectionManager; import it.softecspa.fileproxy.proxyservices.manager.core.NullSession; import it.softecspa.fileproxy.proxyservices.request.AbstractHttpFileProxyRequest; import it.softecspa.fileproxy.proxyservices.response.AbstractHttpFileProxyResponse; import it.softecspa.fileproxy.services.ServerCacheFactory; import it.softecspa.fileproxy.services.common.CheckerException; import it.softecspa.fileproxy.services.common.ManagerException; +import it.softecspa.fileproxy.services.common.ResponseOutcome; import it.softecspa.fileproxy.services.common.core.UniversalManager; -import it.softecspa.kahuna.lang.XString; -import it.softecspa.kahuna.services.PostmanPat; -import it.softecspa.kahuna.sql.SqlWriter; -import it.softecspa.kahuna.util.calendar.EnterpriseCalendar; - -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.sql.SQLException; +import it.softecspa.kahuna.io.File; public abstract class AbstractHttpFileProxyManager extends UniversalManager > { - public static final String NULL_VERSION = "0.0.0"; - - // Variabile utilizzata per permetter di saltare i controlli di sessione - boolean jumpSessionValidate; - boolean forceStageMode; boolean logRequestInfo; @@ -71,6 +59,29 @@ public abstract class AbstractHttpFileProxyManager files = File.dir(path, request.getOnlyFile().booleanValue()); if (files==null) { throw new ManagerException(new CheckerException(ResponseOutcome.PATH_NOT_VALID)); diff --git a/src/it/softecspa/fileproxy/proxyservices/manager/MakeFolderManager.java b/src/it/softecspa/fileproxy/proxyservices/manager/MakeFolderManager.java new file mode 100644 index 0000000..1f7361e --- /dev/null +++ b/src/it/softecspa/fileproxy/proxyservices/manager/MakeFolderManager.java @@ -0,0 +1,49 @@ +package it.softecspa.fileproxy.proxyservices.manager; + +import it.softecspa.fileproxy.proxyservices.request.MakeFolderRequestType; +import it.softecspa.fileproxy.proxyservices.response.MakeFolderResponseType; +import it.softecspa.fileproxy.services.common.CheckerException; +import it.softecspa.fileproxy.services.common.ManagerException; +import it.softecspa.fileproxy.services.common.ResponseOutcome; +import it.softecspa.kahuna.io.File; + +public class MakeFolderManager extends AbstractHttpFileProxyManager { + + private File dir_to_create; + + + @Override + protected void validateRequest() throws CheckerException, ManagerException { + + // Non si possono scaricare le cartelle + checkRequestMandatory("path"); + String path = normalizePath(request.getPath()); + checkWildecard(path); + + dir_to_create = new File (path); + if (dir_to_create.exists()) { + log.warn("Directory just exist: '"+dir_to_create.getAbsolutePath()+"'"); + throw new CheckerException(ResponseOutcome.DIRECTORY_JUST_EXIST); + } + + + } + + + + @Override + protected void doService(MakeFolderRequestType request, MakeFolderResponseType response) throws ManagerException { + log.info("Request CREATE of folder '"+dir_to_create.getAbsolutePath()+"'"); + + if (!dir_to_create.mkdirs()) { + log.error("Error in create folder '"+dir_to_create.getAbsolutePath()+"'"); + throw new ManagerException(new CheckerException(ResponseOutcome.ERROR_CREATING_DIR)); + } + + + // Risposta POSITIVA + new ResponseBuilder(response).setReturn(ResponseOutcome.OK); + } + + +} diff --git a/src/it/softecspa/fileproxy/proxyservices/manager/UploadManager.java b/src/it/softecspa/fileproxy/proxyservices/manager/UploadManager.java index d1ae682..14c54e2 100644 --- a/src/it/softecspa/fileproxy/proxyservices/manager/UploadManager.java +++ b/src/it/softecspa/fileproxy/proxyservices/manager/UploadManager.java @@ -4,37 +4,126 @@ import it.softecspa.fileproxy.proxyservices.request.UploadRequestType; import it.softecspa.fileproxy.proxyservices.response.UploadResponseType; import it.softecspa.fileproxy.services.common.CheckerException; import it.softecspa.fileproxy.services.common.ManagerException; +import it.softecspa.fileproxy.services.common.ResponseOutcome; +import it.softecspa.kahuna.io.File; + +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; public class UploadManager extends AbstractHttpFileProxyManager { - @Override - protected void initialize() throws ManagerException { - // TODO Auto-generated method stub - - } + private File file_to_upload; @Override protected void validateRequest() throws CheckerException, ManagerException { - // TODO Auto-generated method stub + // Non si possono sovrascrivere le cartelle + + checkRequestMandatory("fileName"); + checkWildecard(request.getPath()); + String path = normalizePath(request.getPath()); + + checkRequestIfNullSetDefault("overwrite", Boolean.FALSE); + checkRequestIfNullSetDefault("append", Boolean.FALSE); + checkRequestIfNullSetDefault("bufferLength", 4096); + + checkWildecard(request.getFileName()); + file_to_upload = new File (path, request.getFileName()); + if (file_to_upload.exists()) { + if (!request.getOverwrite().booleanValue() && !request.getAppend().booleanValue()) { + log.warn("File just not exist: '"+file_to_upload.getAbsolutePath()+"', overwrite or append are FALSE"); + throw new CheckerException(ResponseOutcome.FILE_JUST_EXIST); + } + + if (file_to_upload.isDirectory()) { + log.warn("File just not exist: '"+file_to_upload.getAbsolutePath()+"', but is a directory"); + throw new CheckerException(ResponseOutcome.FILE_IS_DIRECTORY); + } + } + + } @Override protected void doService(UploadRequestType request, UploadResponseType response) throws ManagerException { - // TODO Auto-generated method stub + log.info("Request UPLOAD file '"+ file_to_upload.getAbsolutePath()+"'" + + (request.getOverwrite().booleanValue()?" (overwrite = TRUE)":"") + + (request.getAppend().booleanValue()?" (append = TRUE)":"") + + " (bufferLength = "+request.getBufferLength()+") "); - } - - @Override - protected void completeWithSuccess(boolean stage) throws ManagerException { - // TODO Auto-generated method stub + // Prendo input stream e lo salvo su un file (prima temporaneo) + File file_temp = new File(file_to_upload.getAbsoluteFile()+".tmp"); + // Provo a cancellare il file temporaneo + file_temp.delete(); + + if (request.getAppend().booleanValue()) { + // Devo fare una copia del file per farlo diventara temporaneo + if (file_to_upload.exists()) { + // ...naturalmente se il file esite! + try { + + log.info("Creating temporay copy of file '"+ file_to_upload.getAbsolutePath()+"'"); + file_to_upload.copyTo(file_temp); + } catch (IOException e) { + throw new ManagerException(new CheckerException(ResponseOutcome.ERROR_COPY_FILE_TEMP)); + } + } + } + + + InputStream input = request.takeInputStream(); + OutputStream output = null; + int BUFFER_LENGTH = request.getBufferLength(); + + try { + output = new FileOutputStream(file_temp, request.getAppend().booleanValue()); + + byte[] buffer = new byte[BUFFER_LENGTH]; + int bytesRead; + while ((bytesRead = input.read(buffer)) != -1) { + output.write(buffer, 0, bytesRead); + output.flush(); + } + + } catch (FileNotFoundException e) { + log.error("File '"+file_temp.getAbsolutePath()+"' not found"); + throw new ManagerException(new CheckerException(ResponseOutcome.FILE_NOT_FOUND)); + + } catch (IOException e) { + log.error("IOException writing file '"+file_temp.getAbsolutePath()+"'", e); + throw new ManagerException(e); + + } finally { + if (output!=null) { + try { + output.close(); + } catch (IOException e) { + log.error("IOException close file '"+file_temp.getAbsolutePath()+"'",e); + } + } + } + + log.info("Copy completed, rename temp file to '"+ file_to_upload.getAbsolutePath()+"'"); + if (request.getOverwrite().booleanValue()) { + if (file_to_upload.exists() && !file_to_upload.delete()) { + log.info("Impossibility to delete file '"+ file_to_upload.getAbsolutePath()+"' with override flag"); + } + } else if (request.getAppend().booleanValue()) { + if (file_to_upload.exists() && !file_to_upload.delete()) { + log.info("Impossibility to delete old file '"+ file_to_upload.getAbsolutePath()+"' with append flag"); + } + } + + file_temp.renameTo(file_to_upload); - } - - @Override - protected void checkAndTraceCheckerExceptionErrorIfExist(CheckerException e) { - // TODO Auto-generated method stub + + // Risposta POSITIVA + new ResponseBuilder(response).setReturn(ResponseOutcome.OK); } + } diff --git a/src/it/softecspa/fileproxy/proxyservices/request/AbstractHttpFileProxyRequest.java b/src/it/softecspa/fileproxy/proxyservices/request/AbstractHttpFileProxyRequest.java index 3789e30..81c6f04 100644 --- a/src/it/softecspa/fileproxy/proxyservices/request/AbstractHttpFileProxyRequest.java +++ b/src/it/softecspa/fileproxy/proxyservices/request/AbstractHttpFileProxyRequest.java @@ -9,7 +9,7 @@ import it.softecspa.fileproxy.services.common.core.request.TrackRequestInfo; import it.softecspa.fileproxy.services.common.core.request.UniversalAuthenticatedRequest; -public abstract class AbstractHttpFileProxyRequest implements GlobalHttpProxyRequest, RemoteHostRequestInfo, TrackRequestInfo, UniversalAuthenticatedRequest { +public abstract class AbstractHttpFileProxyRequest implements GlobalHttpProxyRequest, RemoteHostRequestInfo, TrackRequestInfo { // UniversalRequest private String language; @@ -21,53 +21,28 @@ public abstract class AbstractHttpFileProxyRequest implements GlobalHttpProxyReq // TrackRequestInfo private boolean traceRequestInfo; - // UniversalAuthenticatedRequest + private String username; private String password; - private String organization; - - private String accessToken; - @Override public String getUsername() { return username; } - @Override public void setUsername(String username) { this.username = username; } - @Override public String getPassword() { return password; } - @Override public void setPassword(String password) { this.password = password; } - @Override - public String getOrganization() { - return organization; - } - - @Override - public void setOrganization(String organization) { - this.organization = organization; - } - @Override - public String getAccessToken() { - return accessToken; - } - - @Override - public void setAccessToken(String authToken) { - this.accessToken = authToken; - } @Override diff --git a/src/it/softecspa/fileproxy/proxyservices/request/MakeFolderRequestType.java b/src/it/softecspa/fileproxy/proxyservices/request/MakeFolderRequestType.java new file mode 100644 index 0000000..2d79663 --- /dev/null +++ b/src/it/softecspa/fileproxy/proxyservices/request/MakeFolderRequestType.java @@ -0,0 +1,17 @@ +package it.softecspa.fileproxy.proxyservices.request; + + +public class MakeFolderRequestType extends AbstractHttpFileProxyRequest{ + + private String path; + + public String getPath() { + return path; + } + + public void setPath(String filename) { + this.path = filename; + } + + +} diff --git a/src/it/softecspa/fileproxy/proxyservices/request/UploadRequestType.java b/src/it/softecspa/fileproxy/proxyservices/request/UploadRequestType.java index d00b9e1..d0059e4 100644 --- a/src/it/softecspa/fileproxy/proxyservices/request/UploadRequestType.java +++ b/src/it/softecspa/fileproxy/proxyservices/request/UploadRequestType.java @@ -3,13 +3,20 @@ package it.softecspa.fileproxy.proxyservices.request; import java.io.InputStream; import it.softecspa.fileproxy.services.common.core.request.InputStreamReaderXML; +import it.softecspa.fileproxy.services.common.core.request.MethodPostMandatory; import it.softecspa.kahuna.util.xml.XmlRoot; -public class UploadRequestType extends AbstractHttpFileProxyRequest implements InputStreamReaderXML{ +public class UploadRequestType extends AbstractHttpFileProxyRequest implements InputStreamReaderXML, MethodPostMandatory { private Boolean overwrite; - private String filename; + private Boolean append; + private String path; + private String fileName; + + private String encoding; + private Integer bufferLength; + // InputStreamReaderXML private InputStream inputStream; @@ -44,12 +51,45 @@ public class UploadRequestType extends AbstractHttpFileProxyRequest implements I } - public String getFilename() { - return filename; + + public String getFileName() { + return fileName; + } + + public void setFileName(String filename) { + this.fileName = filename; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getEncoding() { + return encoding; + } + + public void setEncoding(String encoding) { + this.encoding = encoding; + } + + public Integer getBufferLength() { + return bufferLength; + } + + public void setBufferLength(Integer bufferLength) { + this.bufferLength = bufferLength; + } + + public Boolean getAppend() { + return append; } - public void setFilename(String filename) { - this.filename = filename; + public void setAppend(Boolean append) { + this.append = append; } } diff --git a/src/it/softecspa/fileproxy/proxyservices/response/MakeFolderResponseType.java b/src/it/softecspa/fileproxy/proxyservices/response/MakeFolderResponseType.java new file mode 100644 index 0000000..a9ac7b1 --- /dev/null +++ b/src/it/softecspa/fileproxy/proxyservices/response/MakeFolderResponseType.java @@ -0,0 +1,5 @@ +package it.softecspa.fileproxy.proxyservices.response; + +public class MakeFolderResponseType extends AbstractHttpFileProxyResponse { + +} diff --git a/src/it/softecspa/fileproxy/proxyservices/xml/output/list/ResponseROOT.java b/src/it/softecspa/fileproxy/proxyservices/xml/output/list/ResponseROOT.java index 3c949db..c7501ee 100644 --- a/src/it/softecspa/fileproxy/proxyservices/xml/output/list/ResponseROOT.java +++ b/src/it/softecspa/fileproxy/proxyservices/xml/output/list/ResponseROOT.java @@ -15,7 +15,7 @@ public class ResponseROOT extends XmlRoot { public ResponseROOT() { - super("list"); + super("response"); this.files = new XmlList(null); } diff --git a/src/it/softecspa/fileproxy/services/common/ResponseOutcome.java b/src/it/softecspa/fileproxy/services/common/ResponseOutcome.java index 73e4c71..da7cb82 100644 --- a/src/it/softecspa/fileproxy/services/common/ResponseOutcome.java +++ b/src/it/softecspa/fileproxy/services/common/ResponseOutcome.java @@ -405,6 +405,7 @@ public enum ResponseOutcome { // Classe 90900 , DEVICE_LOCKED (90970,false,false,"Application locked on this device") + , REQUEST_METHOD_NOT_VALID (90979,"Http request method not valid (POST mandatory)") , REQUEST_NOT_IMPL_ISREADER (90980,"Internal error, request must implements interface to perform operation") , DB_COMPARE_CLASS_NOT_MAPPED (90981,"Class not managed from database field comparator") , DB_FILED_NOT_MAPPED (90982,"Database filed not mapped") @@ -425,23 +426,19 @@ public enum ResponseOutcome { , SESSION_NOT_VALID (90997,"Session null or not valid") , REQUEST_NOT_VALID (90998,"Request is not valid") , RESPONSE_NOT_VALID (90999,"Response is not valid") // Valore di default - // APP IN BICI CUSTOM - , PHONE_NUMBER_NOT_VALID (71000,"Phone number not valid") - , DATE_INVALID_MISSING (71001,"Date invalid or missing") - , MANDATORY_KM_USEFUL (71002,"Km Useful is a mandatory field") - , MANDATORY_KM_USELESS (71003,"Km Useless is a mandatory field") - , MANDATORY_KM_OUT_THRESHOLD (71004,"Km Out Threshold is a mandatory field") - , MANDATORY_TYPE (71005,"Type is a mandatory field") - , MANDATORY_DATE_START (71006,"Date start is a mandatory field") - , MANDATORY_DATE_END (71007,"Date end is a mandatory field") - , SESSION_TOKEN_INVALID (71008,"Invalid Session Token") - //----------------- - + // FILE PROXY CUSTOM , PATH_NOT_VALID (30001,"Path not valid or not found") , FILE_NOT_EXIST (30002,"File do not exist") , FILE_IS_DIRECTORY (30003,"This is not a file") , ERROR_DELETING_FILE (30004,"Error deleting file") + , FILE_JUST_EXIST (30005,"File just exist") + , FILE_NOT_FOUND (30006,"File not found") + , ERROR_COPY_FILE_TEMP (30007,"Error creating temp file for append") + , DIRECTORY_JUST_EXIST (30008,"Directory just exist") + , ERROR_CREATING_DIR (30009,"Error creating directory") + , FOUND_NOT_VALID_CHAR (30010,"Found not valid char in path or filename") + //----------------- diff --git a/src/it/softecspa/fileproxy/services/common/core/UniversalStatementHttpServlet.java b/src/it/softecspa/fileproxy/services/common/core/UniversalStatementHttpServlet.java index c5eb36d..5d2a220 100644 --- a/src/it/softecspa/fileproxy/services/common/core/UniversalStatementHttpServlet.java +++ b/src/it/softecspa/fileproxy/services/common/core/UniversalStatementHttpServlet.java @@ -13,10 +13,12 @@ import it.softecspa.fileproxy.services.common.comunicator.http.HttpRemote; import it.softecspa.fileproxy.services.common.core.request.InputStreamReaderJSON; import it.softecspa.fileproxy.services.common.core.request.InputStreamReaderXML; import it.softecspa.fileproxy.services.common.core.request.JsonMapper; +import it.softecspa.fileproxy.services.common.core.request.MethodPostMandatory; import it.softecspa.fileproxy.services.common.core.request.MultipartFormDataRequestReader; import it.softecspa.fileproxy.services.common.core.request.OutputPrintWriter; import it.softecspa.fileproxy.services.common.core.request.OutputStreamWriter; import it.softecspa.fileproxy.services.common.core.request.RemoteHostRequestInfo; +import it.softecspa.fileproxy.services.common.core.request.TrackRequestCustomInfo; import it.softecspa.fileproxy.services.common.core.request.TrackRequestInfo; import it.softecspa.fileproxy.services.common.core.request.UniversalRequest; import it.softecspa.fileproxy.services.common.core.response.AbstractDummyResponse; @@ -330,7 +332,7 @@ public abstract class UniversalStatementHttpServlet { +public interface InputStreamReaderJSON extends MethodPostMandatory { /** * Restituisce l'input stream della request diff --git a/src/it/softecspa/fileproxy/services/common/core/request/InputStreamReaderXML.java b/src/it/softecspa/fileproxy/services/common/core/request/InputStreamReaderXML.java index c48f829..610826a 100644 --- a/src/it/softecspa/fileproxy/services/common/core/request/InputStreamReaderXML.java +++ b/src/it/softecspa/fileproxy/services/common/core/request/InputStreamReaderXML.java @@ -4,7 +4,7 @@ import it.softecspa.kahuna.util.xml.XmlRoot; import java.io.InputStream; -public interface InputStreamReaderXML { +public interface InputStreamReaderXML extends MethodPostMandatory { /** * Restituisce l'input stream della request diff --git a/src/it/softecspa/fileproxy/services/common/core/request/MethodPostMandatory.java b/src/it/softecspa/fileproxy/services/common/core/request/MethodPostMandatory.java new file mode 100644 index 0000000..7fbb21b --- /dev/null +++ b/src/it/softecspa/fileproxy/services/common/core/request/MethodPostMandatory.java @@ -0,0 +1,5 @@ +package it.softecspa.fileproxy.services.common.core.request; + +public interface MethodPostMandatory { + +} diff --git a/src/it/softecspa/fileproxy/services/common/core/request/MultipartFormDataRequestReader.java b/src/it/softecspa/fileproxy/services/common/core/request/MultipartFormDataRequestReader.java index 2ce30c5..25e2b54 100644 --- a/src/it/softecspa/fileproxy/services/common/core/request/MultipartFormDataRequestReader.java +++ b/src/it/softecspa/fileproxy/services/common/core/request/MultipartFormDataRequestReader.java @@ -2,7 +2,7 @@ package it.softecspa.fileproxy.services.common.core.request; import javazoom.upload.MultipartFormDataRequest; -public interface MultipartFormDataRequestReader { +public interface MultipartFormDataRequestReader extends MethodPostMandatory { /** * Restituisce l'istanza della MultipartFormDataRequest diff --git a/src/it/softecspa/fileproxy/services/common/core/request/TrackRequestCustomInfo.java b/src/it/softecspa/fileproxy/services/common/core/request/TrackRequestCustomInfo.java new file mode 100644 index 0000000..84cfb66 --- /dev/null +++ b/src/it/softecspa/fileproxy/services/common/core/request/TrackRequestCustomInfo.java @@ -0,0 +1,15 @@ +package it.softecspa.fileproxy.services.common.core.request; + +import it.softecspa.fileproxy.services.common.core.response.Entry; + + +/** + * Interfaccia universale che tutte le classi response devono estendere + * - lingua + * - versione protocollo + */ +public interface TrackRequestCustomInfo extends TrackRequestInfo { + + public Entry[] takeCustomEntry(); + +} diff --git a/src/it/softecspa/fileproxy/services/common/core/response/XMLResponseKO.java b/src/it/softecspa/fileproxy/services/common/core/response/XMLResponseKO.java index f0cf8b4..fa43aff 100644 --- a/src/it/softecspa/fileproxy/services/common/core/response/XMLResponseKO.java +++ b/src/it/softecspa/fileproxy/services/common/core/response/XMLResponseKO.java @@ -44,7 +44,7 @@ public class XMLResponseKO extends XmlRoot { public XMLResponseKO() { - super("error"); + super("response"); } public XMLResponseKO(String code, String message) { -- libgit2 0.21.4