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"?> |
||||
|
||||
<ivy-module |
||||
version="2.0" |
||||
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" |
||||
> |
||||
<ivy-module version="2.0" 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"> |
||||
<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> |
||||
|
||||
<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-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 name="httpmime" org="org.apache.httpcomponents" rev="4.5"/> |
||||
<dependency name="itextpdf" org="com.itextpdf" rev="5.5.9"/> |
||||
</dependencies> |
||||
</ivy-module> |
@ -1 +1 @@
|
||||
69711437a490d849efa50a10f33cd0e9 |
||||
2ca84fda03feca53b6ee9dc91aeed605 |
||||
|
Caricamento…
Reference in new issue