From 1fee548a91d34e971bdbb7f25bc8f1b9d6e4de70 Mon Sep 17 00:00:00 2001 From: Salvatore La Manna Date: Wed, 23 Jun 2021 12:05:26 +0200 Subject: [PATCH] PreMerge --- .../html/fascicolofe/edit_modal_fascicolo.jsp | 2 +- .../sicilia-sue-connector-portlet-service.jar | Bin 71676 -> 71829 bytes .../it/mwg/sicilia/sue/model/Sportello.java | 4 + .../mwg/sicilia/sue/model/SportelloClp.java | 19 ++ .../sicilia/sue/model/SportelloWrapper.java | 7 + .../it/mwg/sicilia/sue/api/v1/Parameters.java | 7 + .../it/mwg/sicilia/sue/api/v1/Response.java | 26 ++- .../src/it/mwg/sicilia/sue/api/v1/Status.java | 12 +- .../sicilia/sue/api/v1/bean/Application.java | 27 +-- .../sue/api/v1/bean/ApplicationType.java | 26 +++ .../mwg/sicilia/sue/api/v1/bean/Document.java | 3 +- .../sicilia/sue/api/v1/command/Command.java | 48 ++++- .../sue/api/v1/command/CommandList.java | 28 +-- .../api/v1/command/impl/AddApplication.java | 186 ++++++++++++++++++ .../sue/api/v1/command/impl/Applications.java | 18 +- .../sue/api/v1/command/impl/Documents.java | 11 +- .../api/v1/command/impl/ListApplications.java | 75 +++++++ .../sue/api/v1/command/impl/Login.java | 11 +- .../sue/api/v1/command/impl/Manual.java | 4 +- .../sue/api/v1/command/impl/ManualHtml.java | 8 +- .../sicilia/sue/api/v1/command/impl/Nop.java | 11 +- .../sue/api/v1/parameter/Parameter.java | 2 +- .../sicilia/sue/model/impl/SportelloImpl.java | 2 +- .../docroot/WEB-INF/src/service.properties | 4 +- 24 files changed, 463 insertions(+), 78 deletions(-) create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/bean/ApplicationType.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/AddApplication.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/ListApplications.java diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/edit_modal_fascicolo.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/edit_modal_fascicolo.jsp index b416f3d5..90a3b037 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/edit_modal_fascicolo.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/edit_modal_fascicolo.jsp @@ -1,5 +1,5 @@ -<%@page import="it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil"%> <%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@page import="it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil"%> <%@ include file="/html/fascicolofe/init.jsp" %> <% String formName = ParamUtil.getString(request, "formName","fm"); %>
diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/lib/sicilia-sue-connector-portlet-service.jar b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/lib/sicilia-sue-connector-portlet-service.jar index 1f0d9a1b9943283c07340f7f18bc1d6ee06397e1..a677f5b8709cd92cd4fb925c0d8aa2da0b481c84 100644 GIT binary patch delta 14492 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

}8jvDF$i$n1U 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 diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/Sportello.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/Sportello.java index 36771fc1..31cd5faa 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/Sportello.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/Sportello.java @@ -49,4 +49,8 @@ public interface Sportello extends SportelloModel, PersistedModel { public java.lang.String getNomeProvincia() throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; + + public it.tref.liferay.portos.bo.model.Comune getComune() + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloClp.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloClp.java index ba601ab2..7db95aa9 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloClp.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloClp.java @@ -712,6 +712,25 @@ public class SportelloClp extends BaseModelImpl implements Sportello } } + @Override + public it.tref.liferay.portos.bo.model.Comune getComune() { + try { + String methodName = "getComune"; + + Class[] parameterTypes = new Class[] { }; + + Object[] parameterValues = new Object[] { }; + + it.tref.liferay.portos.bo.model.Comune returnObj = (it.tref.liferay.portos.bo.model.Comune)invokeOnRemoteModel(methodName, + parameterTypes, parameterValues); + + return returnObj; + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + @Override public boolean checkPassword(java.lang.String password) { try { diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloWrapper.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloWrapper.java index 01ba294e..12def0da 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloWrapper.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloWrapper.java @@ -756,6 +756,13 @@ public class SportelloWrapper implements Sportello, ModelWrapper { return _sportello.getNomeProvincia(); } + @Override + public it.tref.liferay.portos.bo.model.Comune getComune() + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + return _sportello.getComune(); + } + @Override public boolean equals(Object obj) { if (this == obj) { diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Parameters.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Parameters.java index 2d4e7bdd..d0695d15 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Parameters.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Parameters.java @@ -2,15 +2,22 @@ package it.mwg.sicilia.sue.api.v1; public class Parameters { + public static final String ADDITIONAL_INFO = "additionalInfo"; public static final String APPLICATION = "application"; + public static final String APPLICATION_ID = "applicationId"; public static final String APPLICATIONS = "applications"; public static final String CODE = "code"; public static final String DESCRIPTION = "description"; public static final String DOCUMENTS = "documents"; + public static final String FIRST_NAME = "firstName"; + public static final String LAST_NAME = "lastName"; public static final String PASSWORD = "password"; public static final String STATUS_CODE = "statusCode"; public static final String STATUS_MESSAGE = "statusMessage"; + public static final String SUE_ID = "sueId"; public static final String TOKEN = "token"; + public static final String TYPE = "type"; public static final String USERNAME = "username"; + public static final String VAT_ID = "vatId"; public static final String X_AUTH_TOKEN = "X-Auth-Token"; } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Response.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Response.java index ea974c4c..48052488 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Response.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Response.java @@ -3,21 +3,20 @@ package it.mwg.sicilia.sue.api.v1; import java.io.IOException; import java.io.Serializable; import java.util.LinkedHashMap; +import java.util.List; import java.util.Map; +import org.apache.commons.lang.StringUtils; + import com.liferay.portal.kernel.json.JSONFactoryUtil; import com.liferay.portal.kernel.json.JSONSerializer; +import com.liferay.portal.kernel.util.StringPool; public class Response { private static final JSONSerializer serializer = JSONFactoryUtil.createJSONSerializer().exclude("*.class"); - public static String get(int statusCode) throws IOException { - - return get(statusCode, null); - } - - public static String get(int statusCode, Map extraData) { + public static String get(int statusCode, Map extraData, List additionalInfo) { Map map = new LinkedHashMap<>(); map.put(Parameters.STATUS_CODE, statusCode); @@ -25,6 +24,21 @@ public class Response { if (null != extraData) { map.putAll(extraData); } + if (null != additionalInfo) { + map.put(Parameters.ADDITIONAL_INFO, StringUtils.join(additionalInfo, StringPool.NEW_LINE)); + } return serializer.serializeDeep(map); } + + public static String get(int statusCode) throws IOException { + return get(statusCode, null, null); + } + + public static String get(int statusCode, Map extraData) { + return get(statusCode, extraData, null); + } + + public static String get(int statusCode, List additionalInfo) { + return get(statusCode, null, additionalInfo); + } } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Status.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Status.java index b1da8912..211ad188 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Status.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Status.java @@ -17,12 +17,12 @@ public class Status { private static final Map messages = new HashMap() { { put(OK, "OK"); - put(EXPIRED_TOKEN, "This token has expired"); - put(INACTIVE_USER, "Inactive user"); - put(INVALID_TOKEN, "Invalid token"); - put(MALFORMED_REQUEST, "Malformed request"); - put(SERVER_ERROR, "Internal server error"); - put(WRONG_USERNAME_OR_PASSWORD, "Wrong user name or password"); + put(EXPIRED_TOKEN, "Questo token è scaduto"); + put(INACTIVE_USER, "L'utente non è attivo"); + put(INVALID_TOKEN, "Token non valido"); + put(MALFORMED_REQUEST, "Richiesta non corretta"); + put(SERVER_ERROR, "Errore interno del server"); + put(WRONG_USERNAME_OR_PASSWORD, "Nome utente o password errati"); } }; diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/bean/Application.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/bean/Application.java index 503ae9b5..642acb44 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/bean/Application.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/bean/Application.java @@ -2,26 +2,29 @@ package it.mwg.sicilia.sue.api.v1.bean; import java.io.Serializable; +@SuppressWarnings("serial") public class Application implements Serializable { - private static final long serialVersionUID = -5683688958577468949L; + private long applicationId; + private String type; + private String vatId; - private String code; - private String description; + public Application(long applicationId, String type, String vatId) { - public Application(String code, String description) { - - this.code = code; - this.description = description; + this.applicationId = applicationId; + this.type = type; + this.vatId = vatId; } - public String getCode() { - - return code; + public long getApplicationId() { + return applicationId; } - public String getDescription() { + public String getType() { + return type; + } - return description; + public String getVatId() { + return vatId; } } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/bean/ApplicationType.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/bean/ApplicationType.java new file mode 100644 index 00000000..8e1f2dc5 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/bean/ApplicationType.java @@ -0,0 +1,26 @@ +package it.mwg.sicilia.sue.api.v1.bean; + +import java.io.Serializable; + +@SuppressWarnings("serial") +public class ApplicationType implements Serializable { + + private String code; + private String description; + + public ApplicationType(String code, String description) { + + this.code = code; + this.description = description; + } + + public String getCode() { + + return code; + } + + public String getDescription() { + + return description; + } +} diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/bean/Document.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/bean/Document.java index 8701da44..3c08430b 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/bean/Document.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/bean/Document.java @@ -2,10 +2,9 @@ package it.mwg.sicilia.sue.api.v1.bean; import java.io.Serializable; +@SuppressWarnings("serial") public class Document implements Serializable { - private static final long serialVersionUID = -5986191295042945520L; - private String code; private String description; diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/Command.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/Command.java index d7e8e59b..5779956e 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/Command.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/Command.java @@ -1,13 +1,14 @@ package it.mwg.sicilia.sue.api.v1.command; import it.mwg.sicilia.sue.ExpiredTokenException; -import it.mwg.sicilia.sue.InactiveSportelloException; import it.mwg.sicilia.sue.InvalidTokenException; import it.mwg.sicilia.sue.api.v1.AccessToken; import it.mwg.sicilia.sue.api.v1.Parameters; import it.mwg.sicilia.sue.api.v1.Response; import it.mwg.sicilia.sue.api.v1.Status; import it.mwg.sicilia.sue.api.v1.parameter.Parameter; +import it.mwg.sicilia.sue.model.Sportello; +import it.mwg.sicilia.sue.service.SportelloLocalServiceUtil; import java.io.IOException; import java.io.InputStreamReader; @@ -21,6 +22,8 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.liferay.portal.kernel.exception.PortalException; +import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.json.JSONDeserializer; import com.liferay.portal.kernel.json.JSONFactoryUtil; import com.liferay.portal.kernel.log.Log; @@ -35,20 +38,29 @@ public abstract class Command { protected static final Log _log = LogFactoryUtil.getLog(Command.class); protected static final List EMPTY_PARAMETERS = new ArrayList<>(); + @SuppressWarnings("serial") + protected static final List BASE_OUTPUT_PARAMETERS = new ArrayList() { + { + add(new Parameter(Parameters.STATUS_CODE, Parameter.TYPES.INTEGER, "Codice di stato")); + add(new Parameter(Parameters.STATUS_MESSAGE, Parameter.TYPES.STRING, "Breve descrizione dello stato")); + } + }; protected Map parameters = null; + protected Sportello sportello = null; private String verb; private List methods; private String description; + private AccessToken accessToken; private static final String[] defaultMethods = { HttpMethods.POST }; private static final JSONDeserializer> deserializer = JSONFactoryUtil .createJSONDeserializer(); - public Command(String verb, String description, String... methods) { + public Command(String description, String... methods) { - this.verb = verb; + this.verb = getCommandName(); this.methods = Arrays.asList(methods.length > 0 ? methods : defaultMethods); this.description = description; } @@ -66,7 +78,9 @@ public abstract class Command { } public abstract void run(HttpServletRequest request, HttpServletResponse response) throws Exception; + public abstract List getInputParameters(); + public abstract List getOutputParameters(); public boolean isSecure() { @@ -90,6 +104,18 @@ public abstract class Command { return parameters; } + protected String getCommandName() { + return getCommandName(getClass().getSimpleName()); + } + + protected static String getCommandName(Class clazz) { + return getCommandName(clazz.getSimpleName()); + } + + protected static String getCommandName(String simpleName) { + return simpleName.replaceAll("([A-Z])", "_$1").substring(1).toLowerCase(); + } + protected void setJson(HttpServletResponse response) { response.setContentType(ContentTypes.APPLICATION_JSON); @@ -114,12 +140,13 @@ public abstract class Command { } else { try { try { - new AccessToken(token); + accessToken = new AccessToken(token); + sportello = SportelloLocalServiceUtil.getSportello(accessToken.getSportelloId()); } catch (InvalidTokenException e) { ServletResponseUtil.write(response, Response.get(Status.INVALID_TOKEN)); } catch (ExpiredTokenException e) { ServletResponseUtil.write(response, Response.get(Status.EXPIRED_TOKEN)); - } catch (InactiveSportelloException e) { + } catch (PortalException | SystemException e) { ServletResponseUtil.write(response, Response.get(Status.INACTIVE_USER)); } catch (Exception e) { ServletResponseUtil.write(response, Response.get(Status.SERVER_ERROR)); @@ -130,4 +157,15 @@ public abstract class Command { } return false; } + + protected Sportello getSportello() { + + if (null == sportello) { + try { + sportello = SportelloLocalServiceUtil.getSportello(accessToken.getSportelloId()); + } catch (PortalException | SystemException e) { + } + } + return sportello; + } } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/CommandList.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/CommandList.java index ebb58d62..c6d8ca5c 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/CommandList.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/CommandList.java @@ -1,7 +1,9 @@ package it.mwg.sicilia.sue.api.v1.command; +import it.mwg.sicilia.sue.api.v1.command.impl.AddApplication; import it.mwg.sicilia.sue.api.v1.command.impl.Applications; import it.mwg.sicilia.sue.api.v1.command.impl.Documents; +import it.mwg.sicilia.sue.api.v1.command.impl.ListApplications; import it.mwg.sicilia.sue.api.v1.command.impl.Login; import it.mwg.sicilia.sue.api.v1.command.impl.Manual; import it.mwg.sicilia.sue.api.v1.command.impl.ManualHtml; @@ -12,26 +14,24 @@ import java.util.LinkedHashMap; import java.util.Map; import com.liferay.portal.kernel.servlet.HttpMethods; -import com.liferay.portal.kernel.util.StringPool; public class CommandList { private static final Map commands = new LinkedHashMap<>(); static { - addCommand(new Manual("manual", "Restituisce la documentazione dell'API generata automaticamente", - HttpMethods.GET, HttpMethods.POST)); - addCommand(new ManualHtml("manual_html", - "Restituisce la documentazione dell'API generata automaticamente in versione HTML", HttpMethods.GET, - HttpMethods.POST)); - addCommand(new Login("login", "Esegue l'accesso con nome email e password e restituisce un token di accesso")); - addCommand(new Applications("applications", - "Riceve l'elenco delle istanze valide contenenti codice e descrizione", HttpMethods.GET, - HttpMethods.POST)); - addCommand(new Documents("documents", - "Riceve l'elenco dei documenti riconosciuti dal portale con codice e descrizione", HttpMethods.GET, - HttpMethods.POST)); - addCommand(new Nop(StringPool.BLANK, "NOP verifica la connettività senza eseguire operazioni", HttpMethods.GET, + addCommand(new Manual("Restituisce la documentazione dell'API generata automaticamente", HttpMethods.GET, HttpMethods.POST)); + addCommand(new ManualHtml("Restituisce la documentazione dell'API generata automaticamente in versione HTML", + HttpMethods.GET, HttpMethods.POST)); + addCommand(new Login("Esegue l'accesso con nome email e password e restituisce un token di accesso")); + addCommand(new Applications("Riceve l'elenco delle istanze valide contenenti codice e descrizione", + HttpMethods.GET, HttpMethods.POST)); + addCommand(new AddApplication( + "(IN SVILUPPO) Crea una nuova istanza di endoprocedimento, crea l'utente se non esiste ancora sul portale")); + addCommand(new ListApplications("Elenca le istanze inserite da questo SUE", HttpMethods.GET, HttpMethods.POST)); + addCommand(new Documents("Riceve l'elenco dei documenti riconosciuti dal portale con codice e descrizione", + HttpMethods.GET, HttpMethods.POST)); + addCommand(new Nop("NOP verifica la connettività senza eseguire operazioni", HttpMethods.GET, HttpMethods.POST)); } private static void addCommand(Command command) { diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/AddApplication.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/AddApplication.java new file mode 100644 index 00000000..612c75e0 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/AddApplication.java @@ -0,0 +1,186 @@ +package it.mwg.sicilia.sue.api.v1.command.impl; + +import it.mwg.sicilia.sue.api.v1.Parameters; +import it.mwg.sicilia.sue.api.v1.Response; +import it.mwg.sicilia.sue.api.v1.Status; +import it.mwg.sicilia.sue.api.v1.command.Command; +import it.mwg.sicilia.sue.api.v1.parameter.Parameter; +import it.tref.liferay.portos.bo.model.Comune; +import it.tref.liferay.portos.bo.model.DettPratica; +import it.tref.liferay.portos.bo.model.Territorio; +import it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil; +import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; +import it.tref.liferay.portos.bo.service.TerritorioLocalServiceUtil; + +import java.io.Serializable; +import java.security.SecureRandom; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.liferay.portal.kernel.exception.PortalException; +import com.liferay.portal.kernel.exception.SystemException; +import com.liferay.portal.kernel.servlet.ServletResponseUtil; +import com.liferay.portal.kernel.util.MapUtil; +import com.liferay.portal.kernel.util.StringPool; +import com.liferay.portal.kernel.util.Validator; +import com.liferay.portal.model.User; +import com.liferay.portal.service.ServiceContext; +import com.liferay.portal.service.UserLocalServiceUtil; + +public class AddApplication extends Command { + + @SuppressWarnings("serial") + private static final List INPUT_PARAMETERS = new ArrayList() { + { + add(new Parameter(Parameters.VAT_ID, Parameter.TYPES.STRING, "Codice fiscale del titolare digitale")); + add(new Parameter(Parameters.FIRST_NAME, Parameter.TYPES.STRING, "Nome del titolare digitale", false)); + add(new Parameter(Parameters.LAST_NAME, Parameter.TYPES.STRING, "Cognome del titolare digitale", false)); + add(new Parameter(Parameters.TYPE, Parameter.TYPES.STRING, + "Codice del tipo di istanza, come restituito da /" + getCommandName(Applications.class))); + add(new Parameter(Parameters.SUE_ID, Parameter.TYPES.STRING, "Estremi pratica SUE/SUAP", false)); + } + }; + + @SuppressWarnings("serial") + private static final List OUTPUT_PARAMETERS = new ArrayList() { + { + addAll(BASE_OUTPUT_PARAMETERS); + add(new Parameter(Parameters.APPLICATION_ID, Parameter.TYPES.INTEGER, + "Identificatore del procedimento creato, da utilizzare nelle successive operazioni")); + add(new Parameter(Parameters.ADDITIONAL_INFO, Parameter.TYPES.STRING, + "Eventuali informazioni aggiuntive sull'operazione o sugli errori incontrati")); + } + }; + + public AddApplication(String description, String... methods) { + super(description, methods); + } + + @Override + public void run(HttpServletRequest request, HttpServletResponse response) throws Exception { + + if (verifyAccessToken(request, response)) { + List additionalInfo = new ArrayList<>(); + String screenName = MapUtil.getString(parameters, Parameters.VAT_ID); + if (Validator.isNull(screenName)) { + additionalInfo.add("Parametro " + Parameters.VAT_ID + " mancante"); + ServletResponseUtil.write(response, Response.get(Status.MALFORMED_REQUEST, additionalInfo)); + return; + } + String tipoProcedura = MapUtil.getString(parameters, Parameters.TYPE); + if (Validator.isNull(tipoProcedura) + || !IntPraticaLocalServiceUtil.getTipiProcedure().containsKey(tipoProcedura)) { + additionalInfo.add("Tipo pratica non specificato o non valido"); + ServletResponseUtil.write(response, Response.get(Status.MALFORMED_REQUEST, additionalInfo)); + return; + } + String lastName = MapUtil.getString(parameters, Parameters.LAST_NAME, screenName); + String firstName = MapUtil.getString(parameters, Parameters.FIRST_NAME, lastName); + Comune comune = null; + Territorio territorio = null; + try { + comune = sportello.getComune(); + territorio = TerritorioLocalServiceUtil.findByComuneId(comune.getComuneId(), 0, 1).get(0); + } catch (PortalException | SystemException e) { + additionalInfo.add("Errore del server durante il caricamento del comune"); + ServletResponseUtil.write(response, Response.get(Status.INACTIVE_USER, additionalInfo)); + return; + } + Date date = new Date(); + long companyId = comune.getCompanyId(); + User user = null; + try { + user = UserLocalServiceUtil.fetchUserByScreenName(companyId, screenName); + if (Validator.isNull(user)) { + long creatorUserId = UserLocalServiceUtil.getDefaultUserId(companyId); + boolean autoPassword = true; + String password = randomPassword(24); + boolean autoScreenName = false; + String emailAddress = screenName + "@no-email.regione.sicilia.it"; + long facebookId = 0; + String openId = StringPool.BLANK; + Locale locale = Locale.ITALY; + String middleName = StringPool.BLANK; + int prefixId = 0; + int suffixId = 0; + boolean male = true; + int birthdayMonth = 0; + int birthdayDay = 1; + int birthdayYear = 1970; + String jobTitle = StringPool.BLANK; + long[] groupIds = null; + long[] organizationIds = null; + long[] roleIds = null; + long[] userGroupIds = null; + boolean sendEmail = false; + ServiceContext serviceContext = new ServiceContext(); + user = UserLocalServiceUtil.addUser(creatorUserId, companyId, autoPassword, password, password, + autoScreenName, screenName, emailAddress, facebookId, openId, locale, firstName, + middleName, lastName, prefixId, suffixId, male, birthdayMonth, birthdayDay, birthdayYear, + jobTitle, groupIds, organizationIds, roleIds, userGroupIds, sendEmail, serviceContext); + user.setPasswordModified(true); + user.setPasswordModifiedDate(date); + user.setPasswordReset(false); + UserLocalServiceUtil.updateUser(user); + additionalInfo.add("L'utente " + screenName + " è stato creato"); + } else { + additionalInfo.add("L'utente " + screenName + " esiste"); + } + } catch (PortalException | SystemException e) { + additionalInfo.add("Errore durante la creazione dell'utente " + screenName); + ServletResponseUtil.write(response, Response.get(Status.SERVER_ERROR, additionalInfo)); + return; + } + ServiceContext serviceContext = new ServiceContext(); + serviceContext.setCompanyId(sportello.getCompanyId()); + serviceContext.setScopeGroupId(sportello.getGroupId()); + serviceContext.setUserId(user.getUserId()); + serviceContext.setCreateDate(date); + serviceContext.setModifiedDate(date); + DettPratica dettPratica = null; + try { + dettPratica = DettPraticaLocalServiceUtil.addDettPratica(territorio.getTerritorioId(), tipoProcedura, + serviceContext); + String sueId = MapUtil.getString(parameters, Parameters.SUE_ID); + if (Validator.isNotNull(sueId)) { + dettPratica.setEstremiPratCom(sueId); + DettPraticaLocalServiceUtil.updateDettPratica(dettPratica); + } + } catch (PortalException | SystemException e) { + additionalInfo.add("Errore durante la creazione dell'istanza"); + ServletResponseUtil.write(response, Response.get(Status.SERVER_ERROR, additionalInfo)); + return; + } + Map result = new HashMap<>(); + result.put(Parameters.APPLICATION_ID, dettPratica.getIntPraticaId()); + ServletResponseUtil.write(response, Response.get(Status.OK, result, additionalInfo)); + } + } + + private String randomPassword(int length) { + + SecureRandom rnd = new SecureRandom(); + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < length; i++) { + sb.append((char) (32 + rnd.nextInt(95))); + } + return sb.toString(); + } + + @Override + public List getInputParameters() { + return INPUT_PARAMETERS; + } + + @Override + public List getOutputParameters() { + return OUTPUT_PARAMETERS; + } +} diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Applications.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Applications.java index 3c1adb17..9fb10228 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Applications.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Applications.java @@ -3,7 +3,7 @@ package it.mwg.sicilia.sue.api.v1.command.impl; import it.mwg.sicilia.sue.api.v1.Parameters; import it.mwg.sicilia.sue.api.v1.Response; import it.mwg.sicilia.sue.api.v1.Status; -import it.mwg.sicilia.sue.api.v1.bean.Application; +import it.mwg.sicilia.sue.api.v1.bean.ApplicationType; import it.mwg.sicilia.sue.api.v1.command.Command; import it.mwg.sicilia.sue.api.v1.parameter.Parameter; import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; @@ -25,15 +25,15 @@ public class Applications extends Command { private static final List OUTPUT_PARAMETERS = new ArrayList(); static { - Parameter p = new Parameter(Parameters.DOCUMENTS, Parameter.TYPES.ARRAY, "elenco di istanze presentabili"); - p.addSubParameter(new Parameter(Parameters.CODE, Parameter.TYPES.STRING, "codice dell'istanza")); - p.addSubParameter(new Parameter(Parameters.DESCRIPTION, Parameter.TYPES.STRING, "descrizione dell'istanza")); + OUTPUT_PARAMETERS.addAll(BASE_OUTPUT_PARAMETERS); + Parameter p = new Parameter(Parameters.DOCUMENTS, Parameter.TYPES.ARRAY, "Elenco di istanze presentabili"); + p.addSubParameter(new Parameter(Parameters.CODE, Parameter.TYPES.STRING, "Codice dell'istanza")); + p.addSubParameter(new Parameter(Parameters.DESCRIPTION, Parameter.TYPES.STRING, "Descrizione dell'istanza")); OUTPUT_PARAMETERS.add(p); }; - public Applications(String verb, String description, String... methods) { - - super(verb, description, methods); + public Applications(String description, String... methods) { + super(description, methods); } @Override @@ -41,9 +41,9 @@ public class Applications extends Command { if (verifyAccessToken(request, response)) { Map procedure = IntPraticaLocalServiceUtil.getTipiProcedure(); - List list = new ArrayList<>(procedure.size()); + List list = new ArrayList<>(procedure.size()); for (Entry entry : procedure.entrySet()) { - list.add(new Application(entry.getKey(), entry.getValue().replaceAll("^[0-9\\.]+\\)\\s*", + list.add(new ApplicationType(entry.getKey(), entry.getValue().replaceAll("^[0-9\\.]+\\)\\s*", StringPool.BLANK))); } Map result = new HashMap<>(); diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Documents.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Documents.java index 801998d8..8e6bdbaa 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Documents.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Documents.java @@ -25,14 +25,15 @@ public class Documents extends Command { private static final List OUTPUT_PARAMETERS = new ArrayList(); static { - Parameter p = new Parameter(Parameters.DOCUMENTS, Parameter.TYPES.ARRAY, "elenco di documenti"); - p.addSubParameter(new Parameter(Parameters.CODE, Parameter.TYPES.STRING, "codice del documento")); - p.addSubParameter(new Parameter(Parameters.DESCRIPTION, Parameter.TYPES.STRING, "descrizione del documento")); + OUTPUT_PARAMETERS.addAll(BASE_OUTPUT_PARAMETERS); + Parameter p = new Parameter(Parameters.DOCUMENTS, Parameter.TYPES.ARRAY, "Elenco di documenti"); + p.addSubParameter(new Parameter(Parameters.CODE, Parameter.TYPES.STRING, "Codice del documento")); + p.addSubParameter(new Parameter(Parameters.DESCRIPTION, Parameter.TYPES.STRING, "Descrizione del documento")); OUTPUT_PARAMETERS.add(p); }; - public Documents(String verb, String description, String... methods) { - super(verb, description, methods); + public Documents(String description, String... methods) { + super(description, methods); } @Override diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/ListApplications.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/ListApplications.java new file mode 100644 index 00000000..d15b6254 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/ListApplications.java @@ -0,0 +1,75 @@ +package it.mwg.sicilia.sue.api.v1.command.impl; + +import it.mwg.sicilia.sue.api.v1.Parameters; +import it.mwg.sicilia.sue.api.v1.Response; +import it.mwg.sicilia.sue.api.v1.Status; +import it.mwg.sicilia.sue.api.v1.bean.Application; +import it.mwg.sicilia.sue.api.v1.command.Command; +import it.mwg.sicilia.sue.api.v1.parameter.Parameter; +import it.tref.liferay.portos.bo.model.IntPratica; +import it.tref.liferay.portos.bo.model.Territorio; +import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; +import it.tref.liferay.portos.bo.service.TerritorioLocalServiceUtil; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.liferay.portal.kernel.dao.orm.QueryUtil; +import com.liferay.portal.kernel.servlet.ServletResponseUtil; +import com.liferay.portal.model.User; +import com.liferay.portal.service.UserLocalServiceUtil; + +public class ListApplications extends Command { + + private static final List OUTPUT_PARAMETERS = new ArrayList(); + static { + OUTPUT_PARAMETERS.addAll(BASE_OUTPUT_PARAMETERS); + Parameter p = new Parameter(Parameters.APPLICATIONS, Parameter.TYPES.ARRAY, "Elenco di istanze presentate"); + p.addSubParameter(new Parameter(Parameters.APPLICATION_ID, Parameter.TYPES.INTEGER, + "Identificatore dell'istanza")); + p.addSubParameter(new Parameter(Parameters.TYPE, Parameter.TYPES.STRING, "Tipo dell'istanza")); + p.addSubParameter(new Parameter(Parameters.VAT_ID, Parameter.TYPES.STRING, + "Codice fiscale del titolare digitale")); + OUTPUT_PARAMETERS.add(p); + }; + + public ListApplications(String description, String... methods) { + super(description, methods); + } + + @Override + public void run(HttpServletRequest request, HttpServletResponse response) throws Exception { + + if (verifyAccessToken(request, response)) { + List applications = new ArrayList<>(); + for (Territorio territorio : TerritorioLocalServiceUtil.findByComuneId(sportello.getComuneId(), + QueryUtil.ALL_POS, QueryUtil.ALL_POS)) { + for (IntPratica intPratica : IntPraticaLocalServiceUtil + .findByTerritorioId(territorio.getTerritorioId())) { + User user = UserLocalServiceUtil.getUser(intPratica.getUserId()); + applications.add(new Application(intPratica.getIntPraticaId(), intPratica.getTipoProcedura(), user + .getScreenName())); + } + } + Map result = new HashMap<>(); + result.put(Parameters.APPLICATIONS, (Serializable) applications); + ServletResponseUtil.write(response, Response.get(Status.OK, result)); + } + } + + @Override + public List getInputParameters() { + return EMPTY_PARAMETERS; + } + + @Override + public List getOutputParameters() { + return OUTPUT_PARAMETERS; + } +} diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Login.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Login.java index 82af23e7..a7e1f22d 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Login.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Login.java @@ -28,19 +28,20 @@ public class Login extends Command { @SuppressWarnings("serial") private static final List INPUT_PARAMETERS = new ArrayList() { { - add(new Parameter(Parameters.USERNAME, Parameter.TYPES.STRING, "nome utente")); - add(new Parameter(Parameters.PASSWORD, Parameter.TYPES.STRING, "password")); + add(new Parameter(Parameters.USERNAME, Parameter.TYPES.STRING, "Nome utente")); + add(new Parameter(Parameters.PASSWORD, Parameter.TYPES.STRING, "Password")); } }; @SuppressWarnings("serial") private static final List OUTPUT_PARAMETERS = new ArrayList() { { - add(new Parameter(Parameters.TOKEN, Parameter.TYPES.STRING, "token di autorizzazione")); + addAll(BASE_OUTPUT_PARAMETERS); + add(new Parameter(Parameters.TOKEN, Parameter.TYPES.STRING, "Token di autorizzazione")); } }; - public Login(String verb, String description, String... methods) { - super(verb, description, methods); + public Login(String description, String... methods) { + super(description, methods); } @Override diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Manual.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Manual.java index 93053927..41259c89 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Manual.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Manual.java @@ -37,8 +37,8 @@ public class Manual extends Command { private static final JSONSerializer serializer = JSONFactoryUtil.createJSONSerializer(); - public Manual(String verb, String description, String... methods) { - super(verb, description, methods); + public Manual(String description, String... methods) { + super(description, methods); } @Override diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/ManualHtml.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/ManualHtml.java index 84909437..6a528ee7 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/ManualHtml.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/ManualHtml.java @@ -37,8 +37,8 @@ public class ManualHtml extends Command { private static final JSONSerializer serializer = JSONFactoryUtil.createJSONSerializer(); - public ManualHtml(String verb, String description, String... methods) { - super(verb, description, methods); + public ManualHtml(String description, String... methods) { + super(description, methods); } @Override @@ -57,7 +57,7 @@ public class ManualHtml extends Command { if (command.isSecure()) { result.append(" [T]"); } - result.append("

").append(command.getDescription()).append("
"); + result.append("
").append(command.getDescription()).append(".
"); result.append("
Metodi: ") .append(StringUtils.join(command.getMethods(), StringPool.COMMA_AND_SPACE)).append("
"); result.append("
Parametri:"); @@ -90,8 +90,8 @@ public class ManualHtml extends Command { } result.append("
"); } + result.append("
"); } - result.append(""); result.append("
Esempio:
").append(getCurlExample(command, getBaseUrl(request)))
 					.append("
"); result.append(""); // class="command" diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Nop.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Nop.java index 6f3d4c7d..81621868 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Nop.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/Nop.java @@ -11,12 +11,17 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.liferay.portal.kernel.servlet.ServletResponseUtil; +import com.liferay.portal.kernel.util.StringPool; public class Nop extends Command { - public Nop(String verb, String description, String... methods) { + public Nop(String description, String... methods) { + super(description, methods); + } - super(verb, description, methods); + @Override + protected String getCommandName() { + return StringPool.BLANK; } @Override @@ -34,6 +39,6 @@ public class Nop extends Command { @Override public List getOutputParameters() { - return EMPTY_PARAMETERS; + return BASE_OUTPUT_PARAMETERS; } } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/parameter/Parameter.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/parameter/Parameter.java index 8c88fd1f..07ab89cf 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/parameter/Parameter.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/parameter/Parameter.java @@ -56,6 +56,6 @@ public class Parameter { } public static enum TYPES { - ARRAY, BOOLEAN, STRING, TEXT_HTML, TEXT_PLAIN + ARRAY, BOOLEAN, INTEGER, STRING, TEXT_HTML, TEXT_PLAIN } } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloImpl.java index 69fc9d1a..c29ccb3e 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloImpl.java @@ -106,7 +106,7 @@ public class SportelloImpl extends SportelloBaseImpl { return getProvincia().getProvincia(); } - private synchronized Comune getComune() throws PortalException, SystemException { + public synchronized Comune getComune() throws PortalException, SystemException { if (Validator.isNull(comune)) { comune = ComuneLocalServiceUtil.getComune(getComuneId()); diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/service.properties b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/service.properties index c22d2279..504a75f0 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/service.properties +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/service.properties @@ -13,8 +13,8 @@ ## build.namespace=sicilia_sue - build.number=61 - build.date=1623771128700 + build.number=62 + build.date=1624370773646 build.auto.upgrade=true ##