Salvatore La Manna
4 anni fa
55 ha cambiato i file con 405 aggiunte e 379 eliminazioni
@ -0,0 +1 @@ |
|||||||
|
/classes/ |
File binario non mostrato.
File binario non mostrato.
File binario non mostrato.
@ -0,0 +1,14 @@ |
|||||||
|
package it.mwg.sicilia.sue.api.v1.bean; |
||||||
|
|
||||||
|
public class Description { |
||||||
|
|
||||||
|
private final String description; |
||||||
|
|
||||||
|
public Description(String description) { |
||||||
|
this.description = description; |
||||||
|
} |
||||||
|
|
||||||
|
public String getDescription() { |
||||||
|
return description; |
||||||
|
} |
||||||
|
} |
@ -1,153 +0,0 @@ |
|||||||
package it.mwg.sicilia.sue.api.v1.command.impl; |
|
||||||
|
|
||||||
import it.mwg.sicilia.sue.api.v1.Parameters; |
|
||||||
import it.mwg.sicilia.sue.api.v1.command.Command; |
|
||||||
import it.mwg.sicilia.sue.api.v1.command.CommandList; |
|
||||||
import it.mwg.sicilia.sue.api.v1.parameter.Parameter; |
|
||||||
import it.mwg.sicilia.sue.api.v1.parameter.Parameter.TYPES; |
|
||||||
import it.mwg.sicilia.sue.api.v1.util.ApiUtil; |
|
||||||
|
|
||||||
import java.io.File; |
|
||||||
import java.util.ArrayList; |
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
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 ManualHtml extends Manual { |
|
||||||
|
|
||||||
@SuppressWarnings("serial") |
|
||||||
private static final List<Parameter> OUTPUT_PARAMETERS = new ArrayList<Parameter>() { |
|
||||||
{ |
|
||||||
add(new Parameter(StringPool.BLANK, TYPES.TEXT_HTML, "Il testo del manuale (questa pagina)")); |
|
||||||
} |
|
||||||
}; |
|
||||||
|
|
||||||
public ManualHtml(String description, String... methods) { |
|
||||||
super(description, methods); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void run(HttpServletRequest request, HttpServletResponse response) throws Exception { |
|
||||||
|
|
||||||
String cssFile = "/css/api/v1/api.css"; |
|
||||||
String bootstrapFile = "/css/bootstrap.css"; |
|
||||||
StringBuilder result = new StringBuilder(); |
|
||||||
result.append("<!doctype html><meta charset=\"utf-8\">") |
|
||||||
.append("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">") |
|
||||||
.append("<head><title>Manual</title><link rel=\"stylesheet\" href=\"").append(request.getContextPath()) |
|
||||||
.append(cssFile).append("?v=") |
|
||||||
.append(new File(request.getServletContext().getRealPath(cssFile)).lastModified()).append("\">") |
|
||||||
.append("<link rel=\"stylesheet\" href=\"").append(request.getContextPath()).append(bootstrapFile) |
|
||||||
.append("\"></head><body class=''>"); |
|
||||||
result.append("<div class='container'>"); |
|
||||||
result.append("<div class='row'>"); |
|
||||||
result.append("<div class='col-12 pt-4'>"); |
|
||||||
result.append("<h1>Sicilia SUE API v1</h1>"); |
|
||||||
result.append("</div>"); |
|
||||||
result.append("</div>"); |
|
||||||
for (Command command : CommandList.getList()) { |
|
||||||
result.append("<div class='row'>"); |
|
||||||
result.append("<div class='col-12 mb-5'>"); |
|
||||||
result.append("<h2 class='mb-3 mt-2'>/").append(command.getVerb()); |
|
||||||
if (command.isSecure()) |
|
||||||
result.append(" <small>[T]</small>"); |
|
||||||
result.append("</h2>"); |
|
||||||
result.append("<p class='description text-secondary mb-3'>").append(command.getDescription()) |
|
||||||
.append(".</p>"); |
|
||||||
for (String method : command.getMethods()) { |
|
||||||
result.append("<div class='w-100 mb-2'>"); |
|
||||||
result.append("<span class='badge badge-success mr-2 py-1 px-2' data-type='") |
|
||||||
.append(method.toLowerCase()).append("'>").append(method).append("</span>"); |
|
||||||
result.append("</div>"); |
|
||||||
result.append("<div class='d-flex w-100 mb-3'><pre class='container-fluid py-2'>"); |
|
||||||
result.append(getCurlExample(command, method, ApiUtil.getBaseUrl(request))); |
|
||||||
result.append("</pre></div>"); |
|
||||||
} |
|
||||||
List<Parameter> parameters = command.getInputParameters(); |
|
||||||
result.append("<div class='w-100 mb-3 mt-4'>"); |
|
||||||
result.append("<h4 class='w-100'>Parametri</h4>"); |
|
||||||
if (parameters.isEmpty()) { |
|
||||||
result.append("<p>Nessuno</p>"); |
|
||||||
} else { |
|
||||||
result.append("<table class='table table-sm table-bordered'>"); |
|
||||||
result.append("<thead class='thead-light font-weight-bold'>"); |
|
||||||
result.append("<tr>"); |
|
||||||
result.append("<th>Campo</th>"); |
|
||||||
result.append("<th>Opzionale</th>"); |
|
||||||
result.append("<th>Tipo</th>"); |
|
||||||
result.append("<th>Descrizione</th>"); |
|
||||||
result.append("</tr>"); |
|
||||||
result.append("</thead>"); |
|
||||||
result.append("<tbody>"); |
|
||||||
result.append(printTableParameters(parameters, 0)); |
|
||||||
result.append("</tbody>"); |
|
||||||
result.append("</table>"); |
|
||||||
} |
|
||||||
result.append("</div>"); |
|
||||||
parameters = command.getOutputParameters(); |
|
||||||
result.append("<div class='w-100 mb-3 mt-4'>"); |
|
||||||
result.append("<h4 clsas='w-100'>Risposta</h4>"); |
|
||||||
if (parameters.isEmpty()) { |
|
||||||
result.append("<p>Nessuno</p>"); |
|
||||||
} else { |
|
||||||
result.append("<table class='table table-sm table-bordered'>"); |
|
||||||
result.append("<thead class='thead-light font-weight-bold'>"); |
|
||||||
result.append("<tr>"); |
|
||||||
result.append("<th>Campo</th>"); |
|
||||||
result.append("<th>Opzionale</th>"); |
|
||||||
result.append("<th>Tipo</th>"); |
|
||||||
result.append("<th>Descrizione</th>"); |
|
||||||
result.append("</tr>"); |
|
||||||
result.append("</thead>"); |
|
||||||
result.append("<tbody>"); |
|
||||||
result.append(printTableParameters(parameters, 0)); |
|
||||||
result.append("</tbody>"); |
|
||||||
result.append("</table>"); |
|
||||||
} |
|
||||||
result.append("</div>"); |
|
||||||
result.append("</div>"); |
|
||||||
result.append("</div>"); |
|
||||||
} |
|
||||||
result.append("<div class='row'>"); |
|
||||||
result.append("<div class='col-12 pt-4'>"); |
|
||||||
result.append("<p>"); |
|
||||||
result.append("<b>Note</b><br/>[T] = Richiede token di autenticazione: header di richiesta \""); |
|
||||||
result.append(Parameters.X_AUTH_TOKEN).append("\" oppure per il metodo POST parametro JSON \"") |
|
||||||
.append(Parameters.TOKEN); |
|
||||||
result.append("\"</p>"); |
|
||||||
result.append("</div>"); |
|
||||||
result.append("</div>"); |
|
||||||
result.append("</div>"); |
|
||||||
result.append("</body></html>"); |
|
||||||
setTextHtml(response); |
|
||||||
ServletResponseUtil.write(response, result.toString()); |
|
||||||
} |
|
||||||
|
|
||||||
private String printTableParameters(List<Parameter> parameters, int level) { |
|
||||||
|
|
||||||
StringBuilder result = new StringBuilder(); |
|
||||||
for (Parameter parameter : parameters) { |
|
||||||
result.append("<tr><td style='padding-left:").append(0.75 + 2 * level).append("rem'>"); |
|
||||||
for (int i = 0; i < level; i++) { |
|
||||||
result.append(">"); |
|
||||||
} |
|
||||||
result.append(StringPool.SPACE).append(parameter.getName()).append("</td><td>") |
|
||||||
.append(parameter.isRequired() ? "No" : "Sì").append("</td><td>") |
|
||||||
.append(parameter.getType().toString()).append("</td><td>").append(parameter.getDescription()) |
|
||||||
.append("</td></tr>"); |
|
||||||
if (parameter.getType().equals(TYPES.ARRAY)) { |
|
||||||
result.append(printTableParameters(parameter.getSubParameters(), level + 1)); |
|
||||||
} |
|
||||||
} |
|
||||||
return result.toString(); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public List<Parameter> getOutputParameters() { |
|
||||||
return OUTPUT_PARAMETERS; |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1,97 @@ |
|||||||
|
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.Description; |
||||||
|
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.service.DettPraticaLocalServiceUtil; |
||||||
|
import it.tref.liferay.portos.bo.shared.util.SezioniUtil; |
||||||
|
import it.tref.liferay.portos.bo.util.ValidazionePraticaUtil; |
||||||
|
|
||||||
|
import java.io.Serializable; |
||||||
|
import java.util.ArrayList; |
||||||
|
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.language.LanguageUtil; |
||||||
|
import com.liferay.portal.kernel.util.Validator; |
||||||
|
|
||||||
|
public class ValidateApplication extends Command { |
||||||
|
|
||||||
|
@SuppressWarnings("serial") |
||||||
|
private static final List<Parameter> INPUT_PARAMETERS = new ArrayList<Parameter>() { |
||||||
|
{ |
||||||
|
add(new Parameter(Parameters.APPLICATION_ID, TYPES.INT, "Id dell'istanza")); |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
@SuppressWarnings("serial") |
||||||
|
private static final List<Parameter> OUTPUT_PARAMETERS = new ArrayList<Parameter>() { |
||||||
|
{ |
||||||
|
addAll(BASE_OUTPUT_PARAMETERS); |
||||||
|
Parameter p = new Parameter(Parameters.DESCRIPTIONS, TYPES.ARRAY, "Elenco di informazioni mancanti"); |
||||||
|
p.addSubParameter(new Parameter(Parameters.DESCRIPTION, TYPES.STRING, |
||||||
|
"Descrizione dell'informazione mancante")); |
||||||
|
add(p); |
||||||
|
add(new Parameter(Parameters.ADDITIONAL_INFO, TYPES.STRING, |
||||||
|
"Eventuali informazioni aggiuntive sull'operazione o sugli errori incontrati", false)); |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
public ValidateApplication(String description, String... methods) { |
||||||
|
super(description, methods); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void run(HttpServletRequest request, HttpServletResponse response) throws Exception { |
||||||
|
|
||||||
|
if (verifyAccessToken(request, response)) { |
||||||
|
IntPratica intPratica = getSecureIntPratica(response); |
||||||
|
if (Validator.isNotNull(intPratica)) { |
||||||
|
List<String> additionalInfo = new ArrayList<>(); |
||||||
|
try { |
||||||
|
DettPratica dettPratica = DettPraticaLocalServiceUtil.getLastEditableByIntPratica(intPratica |
||||||
|
.getIntPraticaId()); |
||||||
|
List<Description> notCompleted = new ArrayList<>(); |
||||||
|
setAdministratorPermissions(); |
||||||
|
for (String section : new String[] { SezioniUtil.SEZIONE_DETTAGLI_PRINCIPALI, |
||||||
|
SezioniUtil.SEZIONE_ANAGRAFE_SOGGETTI, SezioniUtil.SEZIONE_DESCRIZIONE_EDIFICIO, |
||||||
|
SezioniUtil.SEZIONE_GEOLOGICA, SezioniUtil.SEZIONE_ALLEGATI }) { |
||||||
|
for (String nc : ValidazionePraticaUtil.notCompletedSection(section, |
||||||
|
dettPratica.getDettPraticaId())) { |
||||||
|
nc = LanguageUtil.get(Locale.ITALIAN, nc); |
||||||
|
notCompleted.add(new Description(nc)); |
||||||
|
} |
||||||
|
} |
||||||
|
Map<String, Serializable> result = new HashMap<>(); |
||||||
|
result.put(Parameters.DESCRIPTIONS, (Serializable) notCompleted); |
||||||
|
Response.write(response, Status.OK, result, additionalInfo); |
||||||
|
} catch (Exception e) { |
||||||
|
additionalInfo.add("Errore durante l'esecuzione: " + e.getMessage()); |
||||||
|
Response.write(response, Status.SERVER_ERROR, additionalInfo); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public List<Parameter> getInputParameters() { |
||||||
|
return INPUT_PARAMETERS; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public List<Parameter> getOutputParameters() { |
||||||
|
return OUTPUT_PARAMETERS; |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -1,62 +0,0 @@ |
|||||||
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.IntPratica; |
|
||||||
|
|
||||||
import java.util.ArrayList; |
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest; |
|
||||||
import javax.servlet.http.HttpServletResponse; |
|
||||||
|
|
||||||
import com.liferay.portal.kernel.util.Validator; |
|
||||||
|
|
||||||
public class VerifyApplication extends Command { |
|
||||||
|
|
||||||
@SuppressWarnings("serial") |
|
||||||
private static final List<Parameter> INPUT_PARAMETERS = new ArrayList<Parameter>() { |
|
||||||
{ |
|
||||||
add(new Parameter(Parameters.APPLICATION_ID, TYPES.INT, "Id dell'istanza")); |
|
||||||
} |
|
||||||
}; |
|
||||||
|
|
||||||
@SuppressWarnings("serial") |
|
||||||
private static final List<Parameter> OUTPUT_PARAMETERS = new ArrayList<Parameter>() { |
|
||||||
{ |
|
||||||
addAll(BASE_OUTPUT_PARAMETERS); |
|
||||||
add(new Parameter(Parameters.ADDITIONAL_INFO, TYPES.STRING, |
|
||||||
"Eventuali informazioni aggiuntive sull'operazione o sugli errori incontrati", false)); |
|
||||||
} |
|
||||||
}; |
|
||||||
|
|
||||||
public VerifyApplication(String description, String... methods) { |
|
||||||
super(description, methods); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void run(HttpServletRequest request, HttpServletResponse response) throws Exception { |
|
||||||
|
|
||||||
if (verifyAccessToken(request, response)) { |
|
||||||
IntPratica intPratica = getSecureIntPratica(response); |
|
||||||
if (Validator.isNotNull(intPratica)) { |
|
||||||
Response.write(response, Status.OK); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public List<Parameter> getInputParameters() { |
|
||||||
return INPUT_PARAMETERS; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public List<Parameter> getOutputParameters() { |
|
||||||
return OUTPUT_PARAMETERS; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,20 +1,17 @@ |
|||||||
<?xml version="1.0"?> |
<?xml version="1.0"?> |
||||||
|
|
||||||
<ivy-module |
<ivy-module version="2.0" xmlns:m2="http://ant.apache.org/ivy/maven" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||||
version="2.0" |
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"> |
||||||
xmlns:m2="http://ant.apache.org/ivy/maven" |
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|
||||||
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd" |
|
||||||
> |
|
||||||
<info module="sicilia-sue-connector-portlet" organisation="com.liferay"> |
<info module="sicilia-sue-connector-portlet" organisation="com.liferay"> |
||||||
<extends extendType="configurations,description,info" location="../../ivy.xml" module="com.liferay.sdk" organisation="com.liferay" revision="latest.integration" /> |
<extends extendType="configurations,description,info" location="../../ivy.xml" module="com.liferay.sdk" |
||||||
|
organisation="com.liferay" revision="latest.integration" /> |
||||||
</info> |
</info> |
||||||
|
|
||||||
<dependencies defaultconf="default"> |
<dependencies defaultconf="default"> |
||||||
<dependency conf="test->default" name="arquillian-junit-container" org="org.jboss.arquillian.junit" rev="1.1.6.Final" /> |
<dependency conf="test->default" name="arquillian-junit-container" org="org.jboss.arquillian.junit" rev="1.1.6.Final" /> |
||||||
<dependency conf="test->default" name="arquillian-tomcat-remote-7" org="org.jboss.arquillian.container" rev="1.0.0.CR6" /> |
<dependency conf="test->default" name="arquillian-tomcat-remote-7" org="org.jboss.arquillian.container" rev="1.0.0.CR6" /> |
||||||
<dependency conf="test->default" name="com.liferay.ant.arquillian" org="com.liferay" rev="1.0.0" /> |
<dependency conf="test->default" name="com.liferay.ant.arquillian" org="com.liferay" rev="1.0.0" /> |
||||||
|
|
||||||
|
<dependency name="httpmime" org="org.apache.httpcomponents" rev="4.5"/> |
||||||
<dependency name="itextpdf" org="com.itextpdf" rev="5.5.9"/> |
<dependency name="itextpdf" org="com.itextpdf" rev="5.5.9"/> |
||||||
</dependencies> |
</dependencies> |
||||||
</ivy-module> |
</ivy-module> |
@ -1 +1 @@ |
|||||||
69711437a490d849efa50a10f33cd0e9 |
2ca84fda03feca53b6ee9dc91aeed605 |
||||||
|
Caricamento…
Reference in new issue