Salvatore La Manna
3 anni fa
19 ha cambiato i file con 365 aggiunte e 180 eliminazioni
@ -0,0 +1,123 @@
|
||||
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.mwg.sicilia.sue.api.v1.parameter.Parameter.TYPES; |
||||
import it.tref.liferay.portos.bo.model.DettPratica; |
||||
import it.tref.liferay.portos.bo.model.IntPratica; |
||||
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.util.ArrayList; |
||||
import java.util.Date; |
||||
import java.util.List; |
||||
import java.util.Map; |
||||
import java.util.Map.Entry; |
||||
|
||||
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; |
||||
.portal.kernel.util.MapUtil; |
||||
|
||||
public class SetFields extends Command { |
||||
|
||||
private static final List<Parameter> INPUT_PARAMETERS = new ArrayList<>(); |
||||
static { |
||||
INPUT_PARAMETERS.add(new Parameter(Parameters.APPLICATION_ID, TYPES.INTEGER, "Id dell'istanza")); |
||||
Parameter p = new Parameter(Parameters.FIELDS, TYPES.ARRAY, "Elenco di campi da impostare"); |
||||
p.addSubParameter(new Parameter(Parameters.NAME, TYPES.STRING, "Nome del campo")); |
||||
p.addSubParameter(new Parameter(Parameters.VALUE, TYPES.VARYING, "Valore da impostare per il campo")); |
||||
} |
||||
|
||||
public SetFields(String description, String... methods) { |
||||
super(description, methods); |
||||
} |
||||
|
||||
@Override |
||||
public void run(HttpServletRequest request, HttpServletResponse response) throws Exception { |
||||
|
||||
if (verifyAccessToken(request, response)) { |
||||
List<String> additionalInfo = new ArrayList<String>(); |
||||
if (!parameters.containsKey(Parameters.APPLICATION_ID)) { |
||||
additionalInfo.add("Parametro " + Parameters.APPLICATION_ID + " mancante"); |
||||
ServletResponseUtil.write(response, Response.get(Status.MALFORMED_REQUEST, additionalInfo)); |
||||
return; |
||||
} |
||||
if (!parameters.containsKey(Parameters.FIELDS)) { |
||||
additionalInfo.add("Parametro " + Parameters.FIELDS + " mancante"); |
||||
ServletResponseUtil.write(response, Response.get(Status.MALFORMED_REQUEST, additionalInfo)); |
||||
return; |
||||
} |
||||
Object mapObj = parameters.get(Parameters.FIELDS); |
||||
if (!(mapObj instanceof Map<?, ?>)) { |
||||
additionalInfo.add("Formato del parametro " + Parameters.FIELDS + " errato"); |
||||
ServletResponseUtil.write(response, Response.get(Status.MALFORMED_REQUEST, additionalInfo)); |
||||
return; |
||||
} |
||||
@SuppressWarnings("unchecked") |
||||
Map<Object, Object> mapMap = (Map<Object, Object>) mapObj; |
||||
if (mapMap.size() > 0) { |
||||
Entry<Object, Object> i = mapMap.entrySet().iterator().next(); |
||||
System.out.println("====== " + i.getValue().getClass().getName()); |
||||
if (!(i.getKey() instanceof String) || !(i.getValue() instanceof Serializable)) { |
||||
System.out.println("****** " + i.getValue().getClass().getName()); |
||||
} |
||||
if (i.getValue() instanceof String) { |
||||
System.out.println("String"); |
||||
} |
||||
if (i.getValue() instanceof Date) { |
||||
System.out.println("Date"); |
||||
} |
||||
if (i.getValue() instanceof Long) { |
||||
System.out.println("Long"); |
||||
} |
||||
System.out.println(i.getValue() + "!!!"); |
||||
} |
||||
long applicationId = MapUtil.getLong(parameters, Parameters.APPLICATION_ID); |
||||
IntPratica intPratica = null; |
||||
Object obj = parameters.get(Parameters.FIELDS); |
||||
try { |
||||
intPratica = IntPraticaLocalServiceUtil.getIntPratica(applicationId); |
||||
} catch (PortalException | SystemException e) { |
||||
additionalInfo.add("Istanza " + applicationId + " non trovata"); |
||||
ServletResponseUtil.write(response, Response.get(Status.INVALID_INPUT, additionalInfo)); |
||||
return; |
||||
} |
||||
DettPratica dettPratica = null; |
||||
try { |
||||
Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(intPratica.getTerritorioId()); |
||||
if (territorio.getComuneId() != sportello.getComuneId() || !intPratica.isInLavorazioneSue()) { |
||||
additionalInfo.add("Istanza " + applicationId + " non modificabile"); |
||||
ServletResponseUtil.write(response, Response.get(Status.INVALID_INPUT, additionalInfo)); |
||||
return; |
||||
} |
||||
dettPratica = DettPraticaLocalServiceUtil.getLastEditableByIntPratica(applicationId); |
||||
} catch (PortalException | SystemException e) { |
||||
additionalInfo.add("Errore del server durante il caricamento dell'istanza"); |
||||
ServletResponseUtil.write(response, Response.get(Status.INVALID_INPUT, additionalInfo)); |
||||
return; |
||||
} |
||||
ServletResponseUtil.write(response, Response.get(Status.OK)); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public List<Parameter> getInputParameters() { |
||||
return INPUT_PARAMETERS; |
||||
} |
||||
|
||||
@Override |
||||
public List<Parameter> getOutputParameters() { |
||||
return BASE_OUTPUT_PARAMETERS; |
||||
} |
||||
|
||||
} |
Caricamento…
Reference in new issue