From 776c1681613a8fcc84afa0b5311125dc3e574b3b Mon Sep 17 00:00:00 2001 From: Salvatore La Manna Date: Tue, 25 May 2021 17:05:30 +0200 Subject: [PATCH 01/11] Merge --- .../AllegatoManualePersistenceImpl.java | 1 + .../AsseverazionePersistenceImpl.java | 1 + .../persistence/AvvisoPersistenceImpl.java | 1 + .../persistence/CollaudoPersistenceImpl.java | 1 + .../persistence/ComunePersistenceImpl.java | 1 + .../ComunicazionePersistenceImpl.java | 1 + .../ConfigurazionePersistenceImpl.java | 1 + .../ControlloPraticaPersistenceImpl.java | 1 + .../persistence/DelegaPersistenceImpl.java | 1 + .../DettPraticaPersistenceImpl.java | 1 + .../DocAggiuntivaPersistenceImpl.java | 1 + .../DocPraticaPersistenceImpl.java | 1 + .../FineLavoriPersistenceImpl.java | 1 + .../HistoryWorkflowActionPersistenceImpl.java | 1 + .../IntPraticaPersistenceImpl.java | 1 + .../persistence/PagamentoPersistenceImpl.java | 1 + .../ParereGeologoPersistenceImpl.java | 1 + .../persistence/ProvinciaPersistenceImpl.java | 1 + .../persistence/SoggettoPersistenceImpl.java | 1 + ...StoricoSoggettoPraticaPersistenceImpl.java | 1 + .../TempisticaPersistenceImpl.java | 1 + .../TerritorioPersistenceImpl.java | 1 + .../docroot/WEB-INF/src/service.properties | 4 ++-- .../asset/controllopratica/full_content.jsp | 19 +++++-------------- .../org.eclipse.wst.common.component | 3 +++ 25 files changed, 32 insertions(+), 16 deletions(-) diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AllegatoManualePersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AllegatoManualePersistenceImpl.java index 73a46094..3e5128f0 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AllegatoManualePersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AllegatoManualePersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchAllegatoManualeException; import it.tref.liferay.portos.bo.model.AllegatoManuale; import it.tref.liferay.portos.bo.model.impl.AllegatoManualeImpl; import it.tref.liferay.portos.bo.model.impl.AllegatoManualeModelImpl; +import it.tref.liferay.portos.bo.service.persistence.AllegatoManualePersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AsseverazionePersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AsseverazionePersistenceImpl.java index 63caa01d..15633d6f 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AsseverazionePersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AsseverazionePersistenceImpl.java @@ -46,6 +46,7 @@ import it.tref.liferay.portos.bo.NoSuchAsseverazioneException; import it.tref.liferay.portos.bo.model.Asseverazione; import it.tref.liferay.portos.bo.model.impl.AsseverazioneImpl; import it.tref.liferay.portos.bo.model.impl.AsseverazioneModelImpl; +import it.tref.liferay.portos.bo.service.persistence.AsseverazionePersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AvvisoPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AvvisoPersistenceImpl.java index 8f8bd310..d73613ab 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AvvisoPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AvvisoPersistenceImpl.java @@ -46,6 +46,7 @@ import it.tref.liferay.portos.bo.NoSuchAvvisoException; import it.tref.liferay.portos.bo.model.Avviso; import it.tref.liferay.portos.bo.model.impl.AvvisoImpl; import it.tref.liferay.portos.bo.model.impl.AvvisoModelImpl; +import it.tref.liferay.portos.bo.service.persistence.AvvisoPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/CollaudoPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/CollaudoPersistenceImpl.java index 0b546e1a..02dcaba3 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/CollaudoPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/CollaudoPersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchCollaudoException; import it.tref.liferay.portos.bo.model.Collaudo; import it.tref.liferay.portos.bo.model.impl.CollaudoImpl; import it.tref.liferay.portos.bo.model.impl.CollaudoModelImpl; +import it.tref.liferay.portos.bo.service.persistence.CollaudoPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunePersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunePersistenceImpl.java index b0b64b21..4a23bffd 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunePersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunePersistenceImpl.java @@ -46,6 +46,7 @@ import it.tref.liferay.portos.bo.NoSuchComuneException; import it.tref.liferay.portos.bo.model.Comune; import it.tref.liferay.portos.bo.model.impl.ComuneImpl; import it.tref.liferay.portos.bo.model.impl.ComuneModelImpl; +import it.tref.liferay.portos.bo.service.persistence.ComunePersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunicazionePersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunicazionePersistenceImpl.java index 0b7f9ee2..f5b8166f 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunicazionePersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunicazionePersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchComunicazioneException; import it.tref.liferay.portos.bo.model.Comunicazione; import it.tref.liferay.portos.bo.model.impl.ComunicazioneImpl; import it.tref.liferay.portos.bo.model.impl.ComunicazioneModelImpl; +import it.tref.liferay.portos.bo.service.persistence.ComunicazionePersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ConfigurazionePersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ConfigurazionePersistenceImpl.java index 66507dd0..32809343 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ConfigurazionePersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ConfigurazionePersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchConfigurazioneException; import it.tref.liferay.portos.bo.model.Configurazione; import it.tref.liferay.portos.bo.model.impl.ConfigurazioneImpl; import it.tref.liferay.portos.bo.model.impl.ConfigurazioneModelImpl; +import it.tref.liferay.portos.bo.service.persistence.ConfigurazionePersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ControlloPraticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ControlloPraticaPersistenceImpl.java index 48cf51eb..a4fa6f91 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ControlloPraticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ControlloPraticaPersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchControlloPraticaException; import it.tref.liferay.portos.bo.model.ControlloPratica; import it.tref.liferay.portos.bo.model.impl.ControlloPraticaImpl; import it.tref.liferay.portos.bo.model.impl.ControlloPraticaModelImpl; +import it.tref.liferay.portos.bo.service.persistence.ControlloPraticaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DelegaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DelegaPersistenceImpl.java index 402cecd0..8c56fb32 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DelegaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DelegaPersistenceImpl.java @@ -46,6 +46,7 @@ import it.tref.liferay.portos.bo.NoSuchDelegaException; import it.tref.liferay.portos.bo.model.Delega; import it.tref.liferay.portos.bo.model.impl.DelegaImpl; import it.tref.liferay.portos.bo.model.impl.DelegaModelImpl; +import it.tref.liferay.portos.bo.service.persistence.DelegaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DettPraticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DettPraticaPersistenceImpl.java index cc3c5dbf..58c7d8f5 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DettPraticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DettPraticaPersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchDettPraticaException; import it.tref.liferay.portos.bo.model.DettPratica; import it.tref.liferay.portos.bo.model.impl.DettPraticaImpl; import it.tref.liferay.portos.bo.model.impl.DettPraticaModelImpl; +import it.tref.liferay.portos.bo.service.persistence.DettPraticaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocAggiuntivaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocAggiuntivaPersistenceImpl.java index 689264dd..3adff95b 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocAggiuntivaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocAggiuntivaPersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchDocAggiuntivaException; import it.tref.liferay.portos.bo.model.DocAggiuntiva; import it.tref.liferay.portos.bo.model.impl.DocAggiuntivaImpl; import it.tref.liferay.portos.bo.model.impl.DocAggiuntivaModelImpl; +import it.tref.liferay.portos.bo.service.persistence.DocAggiuntivaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocPraticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocPraticaPersistenceImpl.java index f4a4b84a..13bd7b4f 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocPraticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocPraticaPersistenceImpl.java @@ -46,6 +46,7 @@ import it.tref.liferay.portos.bo.NoSuchDocPraticaException; import it.tref.liferay.portos.bo.model.DocPratica; import it.tref.liferay.portos.bo.model.impl.DocPraticaImpl; import it.tref.liferay.portos.bo.model.impl.DocPraticaModelImpl; +import it.tref.liferay.portos.bo.service.persistence.DocPraticaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/FineLavoriPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/FineLavoriPersistenceImpl.java index 41c1b2be..15f0504f 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/FineLavoriPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/FineLavoriPersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchFineLavoriException; import it.tref.liferay.portos.bo.model.FineLavori; import it.tref.liferay.portos.bo.model.impl.FineLavoriImpl; import it.tref.liferay.portos.bo.model.impl.FineLavoriModelImpl; +import it.tref.liferay.portos.bo.service.persistence.FineLavoriPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/HistoryWorkflowActionPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/HistoryWorkflowActionPersistenceImpl.java index ad50d7ea..f80406ab 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/HistoryWorkflowActionPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/HistoryWorkflowActionPersistenceImpl.java @@ -42,6 +42,7 @@ import it.tref.liferay.portos.bo.NoSuchHistoryWorkflowActionException; import it.tref.liferay.portos.bo.model.HistoryWorkflowAction; import it.tref.liferay.portos.bo.model.impl.HistoryWorkflowActionImpl; import it.tref.liferay.portos.bo.model.impl.HistoryWorkflowActionModelImpl; +import it.tref.liferay.portos.bo.service.persistence.HistoryWorkflowActionPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/IntPraticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/IntPraticaPersistenceImpl.java index 4c9f980c..fc5b994d 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/IntPraticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/IntPraticaPersistenceImpl.java @@ -48,6 +48,7 @@ import it.tref.liferay.portos.bo.NoSuchIntPraticaException; import it.tref.liferay.portos.bo.model.IntPratica; import it.tref.liferay.portos.bo.model.impl.IntPraticaImpl; import it.tref.liferay.portos.bo.model.impl.IntPraticaModelImpl; +import it.tref.liferay.portos.bo.service.persistence.IntPraticaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/PagamentoPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/PagamentoPersistenceImpl.java index 12fb36d2..863e32df 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/PagamentoPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/PagamentoPersistenceImpl.java @@ -46,6 +46,7 @@ import it.tref.liferay.portos.bo.NoSuchPagamentoException; import it.tref.liferay.portos.bo.model.Pagamento; import it.tref.liferay.portos.bo.model.impl.PagamentoImpl; import it.tref.liferay.portos.bo.model.impl.PagamentoModelImpl; +import it.tref.liferay.portos.bo.service.persistence.PagamentoPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistenceImpl.java index c6ce3907..e4133c60 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchParereGeologoException; import it.tref.liferay.portos.bo.model.ParereGeologo; import it.tref.liferay.portos.bo.model.impl.ParereGeologoImpl; import it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl; +import it.tref.liferay.portos.bo.service.persistence.ParereGeologoPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ProvinciaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ProvinciaPersistenceImpl.java index daa33e1b..2c7a846f 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ProvinciaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ProvinciaPersistenceImpl.java @@ -43,6 +43,7 @@ import it.tref.liferay.portos.bo.NoSuchProvinciaException; import it.tref.liferay.portos.bo.model.Provincia; import it.tref.liferay.portos.bo.model.impl.ProvinciaImpl; import it.tref.liferay.portos.bo.model.impl.ProvinciaModelImpl; +import it.tref.liferay.portos.bo.service.persistence.ProvinciaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/SoggettoPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/SoggettoPersistenceImpl.java index 35a48fdf..90251acb 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/SoggettoPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/SoggettoPersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchSoggettoException; import it.tref.liferay.portos.bo.model.Soggetto; import it.tref.liferay.portos.bo.model.impl.SoggettoImpl; import it.tref.liferay.portos.bo.model.impl.SoggettoModelImpl; +import it.tref.liferay.portos.bo.service.persistence.SoggettoPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/StoricoSoggettoPraticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/StoricoSoggettoPraticaPersistenceImpl.java index da5af496..26f13dda 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/StoricoSoggettoPraticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/StoricoSoggettoPraticaPersistenceImpl.java @@ -42,6 +42,7 @@ import it.tref.liferay.portos.bo.NoSuchStoricoSoggettoPraticaException; import it.tref.liferay.portos.bo.model.StoricoSoggettoPratica; import it.tref.liferay.portos.bo.model.impl.StoricoSoggettoPraticaImpl; import it.tref.liferay.portos.bo.model.impl.StoricoSoggettoPraticaModelImpl; +import it.tref.liferay.portos.bo.service.persistence.StoricoSoggettoPraticaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TempisticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TempisticaPersistenceImpl.java index 90d5b692..de92727b 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TempisticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TempisticaPersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchTempisticaException; import it.tref.liferay.portos.bo.model.Tempistica; import it.tref.liferay.portos.bo.model.impl.TempisticaImpl; import it.tref.liferay.portos.bo.model.impl.TempisticaModelImpl; +import it.tref.liferay.portos.bo.service.persistence.TempisticaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TerritorioPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TerritorioPersistenceImpl.java index 6e60848d..030778b4 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TerritorioPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TerritorioPersistenceImpl.java @@ -44,6 +44,7 @@ import it.tref.liferay.portos.bo.NoSuchTerritorioException; import it.tref.liferay.portos.bo.model.Territorio; import it.tref.liferay.portos.bo.model.impl.TerritorioImpl; import it.tref.liferay.portos.bo.model.impl.TerritorioModelImpl; +import it.tref.liferay.portos.bo.service.persistence.TerritorioPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties index c1d47a26..bed90e50 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties @@ -13,8 +13,8 @@ ## build.namespace=portos_bo - build.number=3144 - build.date=1621580624659 + build.number=3145 + build.date=1621866062117 build.auto.upgrade=true ## diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/asset/controllopratica/full_content.jsp b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/asset/controllopratica/full_content.jsp index 7d6d52df..e8a96564 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/asset/controllopratica/full_content.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/asset/controllopratica/full_content.jsp @@ -1,6 +1,5 @@ -<%@page import="com.liferay.portal.kernel.util.MapUtil"%> <%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@page import="it.tref.liferay.portos.bo.util.AvvisoUtil"%> +<%@page import="com.liferay.portal.kernel.util.MapUtil"%> <%@page import="com.liferay.portlet.documentlibrary.util.DLUtil"%> <%@page import="com.liferay.portlet.documentlibrary.service.DLAppLocalServiceUtil"%> <%@page import="com.liferay.portal.kernel.repository.model.FileEntry"%> @@ -143,17 +142,17 @@ List nascosti = Arrays.asList(new String[] { "base64" }); <% - List avvisi = AvvisoLocalServiceUtil.getAvvisiRifiutatiByControlloPraticaId(controlloPratica.getControlloPraticaId()); +List avvisi = AvvisoLocalServiceUtil.getAvvisiRifiutatiByControlloPraticaId(controlloPratica.getControlloPraticaId()); %>

Dettagli Avvisi Rifiutati

    <% - for(Avviso avviso : avvisi){ + for (Avviso avviso : avvisi) { String tipoDocumento = avviso.translateTipoDocumento(); - out.print("
  • "+dateFormatDateTime.format(avviso.getDtRifiuto())+" - "+LanguageUtil.get(pageContext, tipoDocumento)+":
    " - +(Validator.isNotNull(avviso.getCommentoRifiuto()) ? avviso.getCommentoRifiuto() : "Nessun Commento")+"
  • "); + out.print("
  • " + dateFormatDateTime.format(avviso.getDtRifiuto()) + " - " + LanguageUtil.get(pageContext, tipoDocumento) + ":
    " + + (Validator.isNull(avviso.getCommentoRifiuto()) ? "Nessun Commento" : avviso.getCommentoRifiuto()) + "
  • "); } %>
@@ -176,7 +175,6 @@ List nascosti = Arrays.asList(new String[] { "base64" }); -ms-flex-align: center; align-items: center; } - .list-geo, .list-workflow { margin-left: 50px!important; } @@ -203,14 +201,12 @@ List nascosti = Arrays.asList(new String[] { "base64" }); color: #555; margin: 5px 7px 5px 0px; } - .container_header_text_attivita .text_attivita, .columns-max .control-group.field-wrapper > .control-group { margin: 0; } .text-local { margin-left: 35px; } - #updateComments .control-group.field-wrapper, #updateComments .columns-max .control-group.field-wrapper > .control-group { display: -webkit-box; display: -ms-flexbox; @@ -220,11 +216,9 @@ List nascosti = Arrays.asList(new String[] { "base64" }); align-items: center; width: 100%; } - #updateComments .control-group.field-wrapper, #updateComments .columns-max .control-group.field-wrapper > .control-group[data-fieldname="esito"] { display: block; } - #updateComments .control-group.field-wrapper textarea, #updateComments .control-group.field-wrapper input[type="text"] { width: 80%; margin-bottom: 0px!important; @@ -235,18 +229,15 @@ List nascosti = Arrays.asList(new String[] { "base64" }); #updateComments .control-group.field-wrapper label, #updateComments .columns-max .control-group.field-wrapper > .control-group label, #updateComments .control-group.field-wrapper span.control-label { width: 20%; } - #updateComments .control-group.field-wrapper .lfr-input-date.input-large, #updateComments .columns-max .control-group.field-wrapper > .control-group select { margin-left: -4px; } #updateComments .control-group.field-wrapper label, #updateComments .control-group.field-wrapper .control-group.input-text-wrapper { margin-bottom: 0!important; } - #updateComments .separator { border-top: 1px solid #812121; } - #updateComments .radio { width: auto!important; } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/.settings/org.eclipse.wst.common.component b/liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/.settings/org.eclipse.wst.common.component index d5f205ee..c01cc188 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/.settings/org.eclipse.wst.common.component +++ b/liferay-plugins-sdk-6.2/portlets/portos-kaleo-controller-portlet/.settings/org.eclipse.wst.common.component @@ -5,6 +5,9 @@ uses + + uses + From 4a86477701b20013561dbaa911b2c8cd9e89d4df Mon Sep 17 00:00:00 2001 From: Salvatore La Manna Date: Tue, 8 Jun 2021 11:19:31 +0200 Subject: [PATCH 02/11] Inizio --- .../WEB-INF/liferay-plugin-package.properties | 3 +- .../docroot/WEB-INF/src/service.properties | 4 +- .../portos/firma/servlet/FirmaServlet.java | 4 +- .../portos-mail-manager-portlet/.tern-project | 1 + .../.tern-project | 1 + .../sicilia-sue-connector-portlet-service.jar | Bin 34581 -> 36085 bytes .../docroot/WEB-INF/liferay-display.xml | 3 + .../WEB-INF/liferay-plugin-package.properties | 8 +- .../docroot/WEB-INF/liferay-portlet.xml | 9 + .../docroot/WEB-INF/portlet.xml | 31 ++ .../docroot/WEB-INF/service.xml | 6 + .../mwg/sicilia/sue/model/SportelloClp.java | 118 ++++++- .../mwg/sicilia/sue/model/SportelloModel.java | 45 +++ .../mwg/sicilia/sue/model/SportelloSoap.java | 30 ++ .../sicilia/sue/model/SportelloWrapper.java | 81 +++++ .../persistence/SportelloPersistence.java | 58 ++++ .../service/persistence/SportelloUtil.java | 68 ++++ .../docroot/WEB-INF/sql/indexes.properties | 3 + .../docroot/WEB-INF/sql/indexes.sql | 2 + .../docroot/WEB-INF/sql/tables.sql | 5 +- .../WEB-INF/src/META-INF/portlet-hbm.xml | 3 + .../src/META-INF/portlet-model-hints.xml | 3 + .../WEB-INF/src/META-INF/portlet-orm.xml | 5 + .../it/mwg/sicilia/sue/api/common/Action.java | 6 + .../sicilia/sue/api/common/ApiResponse.java | 39 --- .../it/mwg/sicilia/sue/api/v1/ApiServlet.java | 81 ++++- .../it/mwg/sicilia/sue/api/v1/Commands.java | 5 + .../it/mwg/sicilia/sue/api/v1/Parameters.java | 7 + .../it/mwg/sicilia/sue/api/v1/Response.java | 31 ++ .../src/it/mwg/sicilia/sue/api/v1/Status.java | 28 ++ .../sue/model/impl/SportelloCacheModel.java | 56 ++- .../sue/model/impl/SportelloModelImpl.java | 158 ++++++++- .../sue/portlet/SueAdministrationPortlet.java | 7 + .../persistence/SportelloPersistenceImpl.java | 321 +++++++++++++++++- .../docroot/WEB-INF/src/service.properties | 4 +- .../html/administration/edit_sportello.jsp | 3 + .../docroot/html/administration/view.jsp | 25 ++ .../docroot/html/init.jsp | 19 ++ .../themes/provatema-theme/build.xml | 9 - .../docroot/META-INF/MANIFEST.MF | 3 - .../docroot/WEB-INF/lib/commons-logging.jar | Bin 60841 -> 0 bytes .../docroot/WEB-INF/lib/log4j.jar | Bin 489883 -> 0 bytes .../docroot/WEB-INF/lib/util-bridges.jar | Bin 70578 -> 0 bytes .../docroot/WEB-INF/lib/util-java.jar | Bin 213058 -> 0 bytes .../docroot/WEB-INF/lib/util-taglib.jar | Bin 434678 -> 0 bytes .../docroot/WEB-INF/liferay-look-and-feel.xml | 11 - .../WEB-INF/liferay-plugin-package.properties | 16 - .../WEB-INF/src/resources-importer/readme.txt | 2 - .../src/resources-importer/sitemap.json | 22 -- .../workflow_tasks/edit_workflow_task.jsp | 2 - .../docroot/WEB-INF/src/service.properties | 4 +- 51 files changed, 1214 insertions(+), 136 deletions(-) create mode 100644 liferay-plugins-sdk-6.2/portlets/portos-mail-manager-portlet/.tern-project create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/.tern-project delete mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/common/ApiResponse.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Commands.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Parameters.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Response.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Status.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/portlet/SueAdministrationPortlet.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/edit_sportello.jsp create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/view.jsp create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/init.jsp delete mode 100644 liferay-plugins-sdk-6.2/themes/provatema-theme/build.xml delete mode 100644 liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/META-INF/MANIFEST.MF delete mode 100644 liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/lib/commons-logging.jar delete mode 100644 liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/lib/log4j.jar delete mode 100644 liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/lib/util-bridges.jar delete mode 100644 liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/lib/util-java.jar delete mode 100644 liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/lib/util-taglib.jar delete mode 100644 liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/liferay-look-and-feel.xml delete mode 100644 liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/liferay-plugin-package.properties delete mode 100644 liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/src/resources-importer/readme.txt delete mode 100644 liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/src/resources-importer/sitemap.json diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/liferay-plugin-package.properties b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/liferay-plugin-package.properties index 7c7658ac..044bac22 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/liferay-plugin-package.properties +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/liferay-plugin-package.properties @@ -15,7 +15,8 @@ portal-dependency-jars=\ jstl-api.jar,\ jstl-impl.jar,\ wsdl4j.jar,\ - xml-apis.jar + xml-apis.jar,\ + commons-io.jar portal-dependency-tlds=\ c.tld required-deployment-contexts=\ diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties index bed90e50..eddf0a24 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties @@ -13,8 +13,8 @@ ## build.namespace=portos_bo - build.number=3145 - build.date=1621866062117 + build.number=3146 + build.date=1622551721804 build.auto.upgrade=true ## diff --git a/liferay-plugins-sdk-6.2/portlets/portos-firma-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/firma/servlet/FirmaServlet.java b/liferay-plugins-sdk-6.2/portlets/portos-firma-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/firma/servlet/FirmaServlet.java index 6cbf032f..c242e8a7 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-firma-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/firma/servlet/FirmaServlet.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-firma-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/firma/servlet/FirmaServlet.java @@ -22,6 +22,7 @@ import com.liferay.portal.kernel.json.JSONSerializer; import com.liferay.portal.kernel.log.Log; import com.liferay.portal.kernel.log.LogFactoryUtil; import com.liferay.portal.kernel.servlet.ServletResponseUtil; +import com.liferay.portal.kernel.util.ContentTypes; import com.liferay.portal.kernel.util.StreamUtil; import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.kernel.util.StringUtil; @@ -151,7 +152,8 @@ public class FirmaServlet extends HttpServlet { JSONSerializer jsonSerializer = JSONFactoryUtil.createJSONSerializer(); jsonSerializer.exclude("*.class"); String jsonResponse = jsonSerializer.serialize(risposta); - response.setContentType("application/json; charset=UTF-8"); + response.setContentType(ContentTypes.APPLICATION_JSON); + response.setCharacterEncoding(StringPool.UTF8); ServletResponseUtil.write(response, jsonResponse); } } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mail-manager-portlet/.tern-project b/liferay-plugins-sdk-6.2/portlets/portos-mail-manager-portlet/.tern-project new file mode 100644 index 00000000..a185ba0d --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/portos-mail-manager-portlet/.tern-project @@ -0,0 +1 @@ +{"ide":{"scriptPaths":[]},"plugins":{"aui":{},"liferay":{},"yui":{}},"libs":["ecma5","browser"]} \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/.tern-project b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/.tern-project new file mode 100644 index 00000000..a185ba0d --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/.tern-project @@ -0,0 +1 @@ +{"ide":{"scriptPaths":[]},"plugins":{"aui":{},"liferay":{},"yui":{}},"libs":["ecma5","browser"]} \ No newline at end of file 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 b48d49000dc65a1c4efaf26696daadb3916ab2e6..985e89cfbfbb6661d654326eec2dacc0bd27d57b 100644 GIT binary patch delta 15215 zcmZX519W9g({5}V6Wg|J+qUhToEQ_^w(U$N#>BQKwv$Qb&O6_KzyH4Lp0(F`YS(_M zclFxpuC7Xr1AEK_LsXUnhkyeCfdK)Lh#O2qqy`uN1Kd&Me?S%F|M`Lck!{?W{+Ip_ z?}+ptdNLd+?O)^qW&DfQpzMD!AC&Viu7V2xMSL*Pf3VpYYz6eMf)`>3^`8^D;G0j7 zV}gJPaDsr)B?FDHl7%600Xne$DNC(F$8wbS7I$G5(m@T>y z2MGwwteH`4=qT!&&h55a617FGtD;-5)TyQc@oi5Yjmv-jd>&f^0$OLTYU_0`e{VXC zr)M%#m}`!i$$`w{FF0zr>E<7i|SjSX5m^dTB_JZ45-s=Go#RNH8o*Yk9T!x=`a9(rigS z{7M;R-y@o|WL;18EN@JX(qcZn+(5t0b3BDwZ?yKJZj<8ue9ANDCNX+FvolbF*!f-- zBib#xG^cFu=V3<+K#g*!Z^X?KGcYL&eu@+4PJv_kE>uQB>8C`CR*MCf0l!hGVXjBM zY10I;UVM9*n8CyMt(PxF{wj{DLEX@gp70!`u|w&UW3SG8f<4DZbs-3c=O)s#Hu17i zxrz!@MXfnQRZk^CXKCV$xp%0A{7aJB5*;g&!rM>LJf# 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 O@?$t2)X(65j{G0^tep`6 delta 13682 zcmZX51#nwk(xuGI3^8NO%y!Jo%*-(}%FHaYV`gTCm>Cjtj4?Aa#hdZWKmUHaDpj3U z*Xiyn>AiYg=ia`{08fbnM^ci7fP@DCU;zLv--bja8VJq5z#U2P7gPZM*9+pWZSBhR zzx03c_Q?K42f>4V{y;7;#t*atWBi-D(a-PsR3Wo~jZ-~SaMzvUE-p^DRUA<>WYelqx%g1n+}yHy?%uhszq-)z ze&e_4n=vVOdU*Xp>2e|Pu;w!JlxSa1W{omWLeuR!z# z)H32fEV+g9z4mo1o;yXd?d@}}?)kC7LruEgJ> zU6%(F37&#jfQBu-S_JZlnY@qXK3G<_H!qIeP5ylh!7x8l129Wo992* z3I4vQ(~|K~=Uv*wiqp1$8|Hk74lwOHU&lX0d@{L$6_+11krrK$tHJMT5m;V7j)(N^ z>*WL%u^dKAKm{kouu1O{Cdo8H?s7qj1TM=7+l%k93LB7{`y>LR6QReM`(u@Zq7acu z<+8xf{AFZTx&c8yp~Fnl^V)b&uUiK@7oW&w{Z4}X#rfCH5g2b0vrMznaaK_yD*Cjc zk_$GD;xq17OOR{ICXG&ixK@~-=Lt?QD54w z*SSdFWyo-#qdvI*5J+dHm!9izy1<}1Yam|%!qS8@Wn&j%_$_*g&K?0&twGe!#+=!r zsV%-=Js*OXZfPV)#o`@|Stl1-X>5s?UJ!=m{*c1K-be!+mgr|_Gz|gj^Y1UwC}>&d zbchSOy&sh~g}E+KDz{aB7vS{UcjdxXHM$sY^!@GfHj0H#O&L~;ZiZ%5V(6MT2^7CK z`n2VKo#hO4!@Z8WyLHt=&)*?=i`L)MxQI^&72vuLi`b+L!vhha&ppJ4*2{PMPoF z_wr=Aofwh3O|_WVYCM^w*D{|~I2Y%+tGDUwl-uQiru&~ER87+`h^oa zhI^a6le?6u!INL*A^4KNih=ZMFy4)fN)<50FznrTpovb^^iv)rAh@5p2wJI9XnHYlSGXj#ce3GcrN&$&(;2HTU8vul#~|sFQ(VNk(t=> zYP%c*yP;*6m!n^<^tt}j$LnKTK@;^thBZr+SlFVJU@a?j?C;u0G&; z!lLMo7$*v~kWM!FSU^u`maa37#YH_X!L(avQwAchMvts{CgXJo5kUy`?(nAv{wTQ= zZ+ebF%&+6EJajA!$FXE;XTXg0$jYcNb>cz*hHH@!X0{fuZ&rU|y59;gID)ymmqKrG z6{YCPadqWM=VbQ5+RJ${{JyR2N z#M~;LyY2E|Ly6Xkf*%kuP4i$nT`v(Jf?XX;jkK=!=1UI=XXL)A|I*IDDpco3ioS1M z4~hEfK1Z*Uf>df>Iw{JkIUig-(8xU>4)k`{DCO#Gq_i57$UM%-{=%ft{~hnqqZ=a1 z1kI2J-)z@m6;!8lyU@7J<)((0>Tt2e{$Inr#pU z!Lwd1-rC2bzyAiVKhn(@5AQ(>4q00K+CQnIJ95gn_Q&_P89fO5f<)_%s7)B3kphfg zl0jJ%SD8PHuEW?t2zY2Rs60B)Lk*wcSJIia3`lktle1)!-b)3%XL(|Xc?b8kSXq6h z4Lq*%XEq-!J~gowEQ_bThhW)0uw^hS4NO9W)6ugZGZ!BDN{A$OWR*x7mRvES7ibj? zY}5>s&d?1*DDmwhnBZ}?IGeLko&ttYknciLQ5Z@}&dzxni(|*rdUGOBEjSdBQXer6 zU7aI)^I8`cXn7hmtuLKjNXhVOOSw(p;;#Xr4G$hdk1a+pW)B=aQ<>(`ZY8@|b%w98 zK~A*hGTXlyZpI!{M;--NCl%>mu8-Ug+; z2`$@@veJuIrgWDV1zifZrtp!AyG1~sdlMs_g|-dxIaTdA&+YI5X>y#7@Kn}o@{3V* zOKzr(iG8aZ-&xKPBwoOLuvF!>a@~q87G>TMw|@0%rur)}yP(gMQDe8DN9#U{RX_0& zHE10S+AYl_ur1s*-hr*FwF4)~W9dxl79my?Uhe2UyEsXqib_7+WJMg8J+MCCas=!?ts zw&s^g$|ux{_h_+sHGibdJ5efn%6nb&#jak9)1@72*dkj02sc(pjt9;}8Y*zwMTTm+ zLNQcG(il4ii| z+NXU!P|(3rh)d1bfC-$R3YV1-*5Ed$4Q<{2=3i`uX+aw<-n%ww!PA#jTqGa#ghxpU zW1ZU2!u+sIIxxt_jBStb1gc@2O28p#P`7FJC?_o}>dGxzDk3ywD^gI{Dz`@(AwT=` z1oj5bLh~fMC#Fxkyaue#`g7MwnpMQ_;?1dtI~7fy_RiQ-;|#oIqv&nvweNQ4>$QJE zXI&-h+%x_A-2BCmyOzu`c$#(%qzU8M*(x*oj!6FK15V2(W$G0HrvBn&qCO`5qV%V1 zj63YRxEj1(0(GuZq|CR;MB{o>`r&$WtU$QkmJrQ!GFxf&oHg_%14*?W=?Z!D#FL0J zv6Sj5+WXm8bWI>ig{r2af=>2D)qaX~ZB3({le$3M7)mj{pn!G#gf>4^>91%@71CzT z?>1^ECHE$I$YA(w7Gbo;WjqRBYrEMFvDG_?=IpdVcH;aMqhRbs_^f==IPrxOgzPIP z2PzorLuD0$QFsFBtHDs^_*11Q*c8@g-1vA_{UWM`jX!~>j~0ovPj0&zYXm5T=6nA1 z)-{Ygr4=yMYS$#GdnR6PV_t;0x$O5&YdP!&Ggo0nSK@>ol+f#hV(7v0gkS4neB|RR zpLg(<@@$AI*a;aBGl$Z{D7g_1@{kTpKIx!Y)Gjr}wpbHEIg*YY9~*~nKF$m z5t`O2neG9t&&zxSM95LL#|cp<#W_ZBPdKPbRIR@TZKzb<>VW(?VikUz+>Bqx{X{eO z+MnmL`p&lZ*(F1j(dC#|#8^?^FxM~@hzO-_{v_~-tz3W9I^Q|5Mzy{kyb7Bj`jG4; z*HH@NQC4~*SEhjmc;j#+ioeJ2cLU4Uk{n&ZyFUTqB@*CrfCb?V!iS8aQE>#(m@Efz z2mT8Bv>ZkNJ6lb-t{BlH=}0uJPStgweaW486MSW{LRxlqPNI6nkRUbx-wLi z16JTMN8-I1c9>d=oQT;=31K8f8YaauJWe79>f;s-LoG0V`%<)Y{Z3F|he!HMf>nUQ zD&lHs5g{lQe3&)@R^Tkc9)|i;4o@-SGpsTeX$6%S#!H~p%~imm=<9g75HK5hL7-eo zejIi|@-dct*Hm>hX&2Ek-XZ|Fwt+}e`g5iH%`9LubEbFWvm9-4iOlzb?jl4u(b*oax2pf z)d!x(4Qi8pqO-k-JA+Q3;`N}o*?ODk^)FS5i6I6e??<%|FW>Nb&3L5kJ(lSMz8}&DQi|F{Ws4nUQd0(NKH?cjRSP9A)NczJ?yKVRo43CGYww*deT; zYRuZ>iDmxDACCR*DCH&_o=}Xw@keWIxl)|}Dj7XSs&jGWG@Y>;c%0bR`Dn&VBI?B~ z@KsT7gCLvId$Ks2=qT?z`&NpCc0<+<^MX_S08_Qgf1n;TXrfcBM}9}%OMI66+eU!C zP*dY94TLiKSSa<}VB}wvz(^E=8rE>OZeg~qB^^7z((llmyXb-}s&SqcIkoWoy3m>@ z=yP{gI-~D*c+_1DtmXCFIHprDY(be*<9rHO_0qDa zBGl?KwBXQ0N#zk>^=QYkab9#rpH@JfZiS0R4{^_`;}%{v!kCsu?UFQ`uRLc43nzyMEVF*txB7RU z$qmsODe5IhX_^$!VYLp5abtZS92{07#K8Ee#*cwqVzsTMR_QHg_lw5!uhF!5R^wmM-=ZM z+mX6Ju?kwJxmy741q<~O?>V`5Fx>XnqnxEVxSz9Sy*|C1Z~^H1Ea0IDN8!&xH!E|{ zdtf1N)cU)XG(3N&*s?D2!|t}^)8e|4+=Tj>8uS)aJXky+Jh;J!eFCQ6nIA%Jv&Cz# zvq{j`F=}LNFM1CKwv*p2nr6&W zua@KbOr!KENO?XFAU03R8b&RSx2UB?U9n+cJ9s#c$a}vm1H(z*P%O6+gxiNn`?pExz+%Twg>{w>q%9ms<%$C1Izl%KC zB}>L2@<*7ap5RghQ+kR94FfiCpCG-h98L9y|pA)jO$YJgz(D4yg<+Y zlk75veiL`rxEN$#8Yk_EuD?|^WZ6fD)GfV0i-&&9@vboNz6z>!KMLRITAY&v5Y8z%C)%X+MLb1Tky$0tI?m@Ai-nS^d zSn=YhC#L+HX$u&=ohIoiM*l3dVS!R!LM--aFRq`2rD<+Hv9&uT%7RA?WfF4KEL5zU z@e9|l@OT?18h?O>v%_EOEfMvy9r_PS^r53!XMGJpeF?;)5gr>k!+cPy3HMVRF;70y z>hJGZDKmE5%nc*+252Z&wo1$;lnkNzfnVbjn{=G=BCc9r=Jd{~8?kP=es-x(*>wei zJ=YCQ%{o(W+qIDEa54&QC@~0y34>x&&Cy?c}AKEOX_9-eLezDzt;o~{demp1}%!) z-<(^Y+GN`lARn0b{bB?FC=o(U*ODReTX4oisc^ad@LO!28x3?MhM{C*hFbK-^3Y3& z1=GB5-9&x#8BdYxv# zG&{C~#cI7`PU94pp`*+l?LFseEw)ln1c8?KEWh3UxP=?5htX@1`gM{N?%|?JXDXde zoL%Y}+rH;7*1X|09*8G6h+#p9Y*UazwID-$dA&+CtDT1BE-8shO>rl9XbqaGK@>y^_ht1}0`?z?M+DM4$geb!#Q2AA?$Pi9ZF9Zb(i3!? zGlWQI7$}uki$)AsYY8I!jWZr@Y5lw`i3O42ZyBk91el!Ty~(Sn(eAk-8ckThW{)XK z(c24+Ws2uzV2- z*8%GpvR6%l(b$osY;lNV~9u$^V+Eft$NaJDb|4>YG( zH?mg#W#u`8i{$WL_05BJev;C_z8al@yYaR?{(YvPy-=Mo`uKD`Twmmn=+FKvHMXVL z<^~5Rt=ZQ|pH(@qdTf6iSu|D8I!Ma;B$U&9rXO&|_M^OP=wYB%iITTEd)ehQxk&CD0Ai-xHX7)s!A#+JG< zaZRgLHg2yCs-|N?u!sMy;@GQm*d#E)(w%8)WImxX4RamHe(cE_Ij5)B+N16X&&ICX zoO9jZ84EN+ifApx@{hFyMwlwdg}7&Ysk|tA^itUJdJTh_Pd-An1tI<})AAJF5`Rr~ z=*rB2V3cR9)149<)rn`wc7$H-P@a^VvBQ1uJ={uNxRppsHstT~GZ1L_trCblUYSK?D;K*W1do!Vf<9eBd$#bbrB72A`yHp=-a zR#B~q`cJP6CQ2-DF|CE^%qN^!O-Ff@arV-AtHmAq!hYu=P0oC|f(6~UtHFl-+|HlY zL;sv2Rk2=bzG``Q17~%ax?^sii(9q5A7m~BkL*Aj$VYE_-krq{j_;N$JA!{UzW{%` zrCqREv2iW^q-*YZtojgq#yZU8qOU7Q$VR7=J*cO9wPeJ;IN`|N2Fzm6|=} z{x#!`I&KJlDdG6=N4Ldrz0|Nlc7q+ox`G3Q))3u*&FQY1z#zi3!iM5K`;|R;?U*~7 z0~XvubUeDsr=2k z7g8nXI)E#&)^SAXef`@C0XN2gF?=qEpNV+%cVMDq~1rl}=No)(g^z=S4k8+PBV*{T2 z01b@jyCOi`T``K$VXFiL;{*_)iw#&pD|o_JiqTc$1RILc603yP0TSeqHiUpKf`By) zxN8I4T~~_HMXQ8|eiBRW{UfL^j8G)6M%DqiNC^|UpAt?4cNAH1w6UGUR zgg5=*B*fQ_Xd|ypk$`q|XdWE6ew1vQ1Ulmc%{$?As|2BIHH;A-a^adV;f)B$G09*( zq+q?@>Cp%QuRMS!sraYI_kTXZ^a;`{Ob`G7WD)>?>7zj;q51^W@-iY+$9wOl$XfqO zH1)HDoy7T0iqlTjDsd&mC~HH0R%WFsmQaCn&UM_vqmylwlW=doAV5V7^-`p$05b}f zb_-oBI_NjUHbXd90ZE$1@0X3qX(Bd=M4@YoO^@!sZ}Rvarx^&qeiW^7G8{XB#>wS< zzQ$Yx0i38UMo$gScASu5Yt-%Lke&inU|{kHPVUUx^2822ju+B` zJytTmT`{i!6rr44C{cjl48A8n<)@BXmR2UBmRB+%bqo~vwFM^7s6ilgICvy8)GU^p z%HnyBN>?=%M*D*`&g~NpoP&B`bU5NsYSb4?5w@|}!IJ$N-#n~D4)56fA`5f2rd_jI zF`ug7kmD%1JF5W-{&K0drE%P`{1%$H!Jo#2;s&X>N!-wqupwhf)rPr^?LWxY1FMQL zhC9CftTG2G{b^!n@He5YUhlNmw1#SSYYJrvM%?E}v)#9tjWgl3A&Y=h>+I8E!7YZI zN=^^`1&#r$?T}N<+Qu5i!z~!I6OnCLNtZ&HlpgK1yUfXuxS;8<&0R|$gE-NozT=lp zJRF&vLZ(Tv5f9b$h1V8t(&4&etC-zK8m-C2jIA8_b>+TDbldEnLMDg4aSV;V$V|1e zsChSnVS%fzR|1|O?j zyb)40@yuanF;j_9DxY`(j_uj_sVk2fyf~f(e!EyTMfr5Be3)Q5Tb-~8IYC*y?a1Cw z869CD)`F*vm9tZLY>|t;dw=I=hM=#{Y7Ty?WBpyklMddRvg{8|Q;1T7eOOY+2yzd! zsJYI+Rn{q3ie^*uu1|JmcOUW4bsecv>a}2%O0BHgnNY?3 zh{v|kcd_R*m zwuMk}rf4Lb&4i-k)ceM2>##Hz3yi!famhtL=;*x4jTftm>CM=(4%emPX&1+< zk%z>~>h*6~rVo9apk!1BQ|L4Ut54Eq^J4Zq{B4{bu0S-)Pk+!i$@QzFN;oo_@fX?> za4t1bCev7tiFxUOnO}8=;;8M1OHy?=c}X!!XXe*O7xY|ZhOhh8Y;V!%xd-3M{b$fR zy_Wk1X!%cfjUiBQ;6o4_B{ysCC;h3`$(-1FWOU*2G-9Gk{Ap{yfua zg#9WX;yMYgsMXq5h~(2sn`jPcHr!^^0M^7E98p-M%TBhXGNN{An#9=6WA8=qiW|w; zud=9Ack|jI!R^p1SP`7~scs9dDSDSk*4B?1PPv~LN5Wj8wu2ZKGf!*H$aNcnb!?cM zX-pB3m4&A$&59%C4zY`sB6$vgiAmsZ0+A4&V!xRi2hFw^#Wgc}3FgSA=G719fs0rK z@f4e=UuSX?JTc>c8Zam9TnX3`+M<;>F;XzkL?307nHIj#7QV3Ti8ICBIlZ?E1pev? z%t!uZG3YkU1mshdmfbYwnGhP95GuE6Pnf{zy2>iJkD3cRZ};ON5URc5i!|Kf>biRi zyvSwsIJCTNE_X6C)vPN%pvW0!1I|BZ9c>S$=`74g-Qh$EZ7aGGYSAvFDKuC0oJU-MMb$0*LwqXTX=5+?W0gVE8Y_9HV@3{t zywLQkO4+=>DGUm~i0nsj8|S9~w8qfMW(kX-*z7ulHc`PGgrudgX%{ry-x>;Ft}@zp zVULhjQFB=<>@NRGRl~&b2pqJd@q3xHzyQa25;GzkL#Y|+r{3kRM3cn0bxu|uAGocI zG4y-oEZLloXD1SAEEZ!bbYO2G#xP;<$Ui?}ryCH%r%vEJY*!03mG<~d_48{3LoD<& z)ZK}aW5gk*DESq#>Pk4>Y9r<+np%|gbNp(xA}Vvam9Hb|y*`d15J20wLLF^l{2?FN zW=kw9&5o53^g+S^>+x|AWcHSQH_jZ_xumM5te?wQOa_laH$>`WQ$JZhf+@w%>A-;f zX!w0utDY*Oo}_*K_A#4GUuG_CNzmQ&uKOM~M2KyCL(JI z9w7zGKig@b7SVMjxIc-kpu<|X;>_AV8{h$G_rLJ+zyfDe45XG`L}Z{vo|AEAIPCTzNB_YA-C2{MJ&%77y#>h2y1cFqRQ?BqWe%YD3Oj~gd?YCK{SAM zIYeZR`(UR=b62k$GPg49c_Vo7>YHlM??ax$pvD_am^s*+HuTk8bnXo5&eyQe$fqk||3#z& z<>5uwvp4G*8pn-+Cj1Vfi@Fr!r3B9Eua$!>0)J$DW z`Qoz{reOf6&dR%k{PF_kujOdjNGqiB`|ua>?>EJ+jfYuuTZq(0JpXfCU)J8=OkL1i zNx;58fZ*?gwaLQX^?cBLqlOYfM+UP^qR+b1hE_uUhWN{K2;h8UNc7#mKIu}Y1^Bc~ zsybc)jM_(_y071EUM(H2?C+=81jg6--`8hmZ#JUv?wiFFU0`IhFp4^S6aG;C#>kfo z%;#PDA?sjyxY-ld@`CS8dARGna5Bf!BM9s!GTRa|K)`v_;g<5apDpzBudjZGQ&c_| zNogBg+Q{lkZfMA&csgexUu=NMkLqS<3fBu)dfG^ZDaZJAEBD-~8)2KF+p~1GV0x&7 z?1U$9&m^g(7YJvNij}fYxpAg6s zAw7v!5ap~%RUnfi+`?NEhO1~jXisy=oP3k;p7q=Fv1Q!HH-$1(_YqQ?a2x5G0du!| zgJg-Z2!8VJg&n8Atcx-9DNmnbaocc{Z38gVF& z45U*Q#GmK>W$)s2sQW*yIn;-E+jzpdi2QMKaZtDg;=}M0zd`*lTr`AXK8#lV6zC5_ z(F_Uv!!WdXfc!ADZK)tX&N<#7GX`V*6@mZ!6@j_`_W0BwlxWPx2?yeTCp~lC_;=*A zTR!+lz>y8X-%AAmh=KwDg#QK*fqG-GKo&7*z-qNs`@gDjHUp*o3iwf|YD)mLV0FQ9~ z#I#$;Hdc-QbWc)4ynp|K#j=h?gqj*?BAj?Hp?WvvZt3KL%m0p0)lQ7qvijB|c~uNk zQ{Aq(d%4M{3Qx2`x?=EWQ7p2qA8+-p?Z>-#Sl9WsaLRX-ni z^=Pi5n^@b#JcG#?mMOjxFwWGO>*$8)U76`u*Lf{+EazK=PFCnMk#q4UW|{A%Qafjn zdHg;P`op-!7p=7M#`@A1b9afOg!7+cyZ_!?z*ZaTn)oY!4r77*HAw$nBgDWV%@b7& zP0V+FgTT5xG7~J>6dk0;2=z;>V~8K{WMs;x1CnV|l=SuuM;5_iFS9+in-02`&nQiw zR;QbOOuN3$Pv0^f691ezYgL%())wLHv?`dsg*csRe|VjKS#x=Rd^j)!JME1He8%l? z<@?r#i&E+)&*jSTZTiwNQ+E#7F+4zPUwqdz1!{^bk(<~LGtOynBMcX=+$V`0ffklYBv8Kkg8NzYlPRLQpG6Fea-=sD*gPve-Ym$M z8-#nXDDAdJ5-BfQQi5+J$7Gp1yeKHlXs{E}@?#0fA#(4{8 zU;e9(yBHr?u{LvmWbiYYh;mv^xRI7&6iFCXW`^`ishdxOP?j1-hdbFoHT?jxVLnb< z3PnJ=O_)3#8lzdHE20We4tdIo-~7aa^;7RaNCP)?t`J_F#h7>`e<|}D8Wf5#gSq`= z@qCN3n~7D<4-iYOSNC2P7X<>H=ok)BK_0rhzFIuBI-jX>s{96YFD)pRGbPy^p z?(+mTFY|BHk$JxWTG1ED(0g6Hin$gWWgioWc^OaEVP-#^sI@Sl=x2|$D5pxURZA+B zisF@$J)ALu_vqiOzAd_sRawRv+A-sG-M;c=k(Mef3nhb}=&Q+7oTX?w6onyQD8JIm zS0;;s5t> zYP4h@COq4NI@{Txv2F4xHoq^4oUeo=3bb3$)d4YIj;rs^fvuQ6#~)BSwk~KjV8LD} zzyDJYXH6SQ5q{pN1`!6GRx}}3*%4V_7um`7&O(x2AYbPfu#lgQlLM;aw>D>=on3>c zhlsG;DKzAX@IYQ9&F&SFJ{z4l6r54@yL}EIgx0N!;+#0j63ZRRqqZ3V?|<#GcLe z9*?%dNT1^tD7&WO2&HKqS6Hu^+}vkZS{1$kiIeYqn#dGXW_L8^NfDuWsRO8;t?H>; zvMjS^{p}WrO~T$sJebvn-K&eZ9{u9$oT@^h=(g<0Pzo8&+zm(=M{9(2by?QAfUP`DE^WKD~=NALI(^m7R{HK zh4P12p0kZusc_#)&vfoUb<=y`+X=YXQ@v&r9fiHWNgfKVEE}5dB(m!(%cy7f*Gjvf zUDCCx{DE^q6Z!cFN?KB!>Zc85^^vf|`^lkZdQVKxLbed;<0ppCc|YFqr4jQ3|IoEV zSPh~-0~aH4q6fOf&r$8LC-&=tjKN5x46p2~#nT|m9kn!hsyZXd(t`(Ac)}O3h&H-i z8CCMWprRDW7yKXyP^c<&!#Zn{?PBEGc!u{?HIu7Fu!Z21p~p`j6GG6+PO=3N@9)E} z(f1STLAq3;SZJ9bqstG9qNP{c?$=e12ji!d0c~9l2-WIW6#kewFNjyd)0VGF&MMGG zs*YA1t|ow*%#k}Q5X72)a5{!9&m=9oB%@nK`b$KePqOTbbM1KwC<5S8!yPRv#zEDGgS`7rsqTz3348O&_mOmVprMQ}2H@Q~)+y3QTg1{IzA{qB;rjq$?a61xIT@h;VRs)A7sUH5QJHI;+(sM;Pq$XU;BPw;Fu8qomlzDj0zk8@;?(R zs34?Zl7IDHAm(794|ERx_iRdGFzd(XkhW|lUCHo+gP!WQ1!x2ALSQAbF4$k=3{Rwm!PW<75k01bF<^SuV0tG}O zg0v&hKiu|z-N|46>+TVU1L;H|epI}~4njEn+fh_t006xIs2HXE-vEk8?2kMGkp$q= zTK{oVe#8@w_>}bhZCtbdcDpS9h_^8OOJo3DN1}fa%W04r%KrXsO>h7J`#*^8#vjBi zi;q=(6ta#Y0C%+baQ{#3$-k})o4+nzP)6jx*Z$nDO%VnT03iNtng#xm64L%J@e_z7 z6dvRrP4SU3JDLD|&k+>p$qGVoCj`O9{5!`#8t;GPh;;c&76m>2r`Z3tUjOe8wc`dN R_2CC?#-Kt&`~54${{dMzuyp_c diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/liferay-display.xml b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/liferay-display.xml index 79d2513c..95b5240a 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/liferay-display.xml +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/liferay-display.xml @@ -5,4 +5,7 @@ + + + \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/liferay-plugin-package.properties b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/liferay-plugin-package.properties index 066b9eef..ce76ffaa 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/liferay-plugin-package.properties +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/liferay-plugin-package.properties @@ -9,4 +9,10 @@ page-url=http://www.liferay.com author=Liferay, Inc. licenses=LGPL liferay-versions=6.2.0+ -required-deployment-contexts=portos-bo-portlet \ No newline at end of file +portal-dependency-jars=\ + commons-codec.jar,\ + commons-io.jar,\ + jstl-api.jar,\ + jstl-impl.jar +portal-dependency-tlds=c.tld +required-deployment-contexts=portos-bo-portlet diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/liferay-portlet.xml b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/liferay-portlet.xml index 93887f16..1c7b9263 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/liferay-portlet.xml +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/liferay-portlet.xml @@ -9,6 +9,15 @@ /js/main.js sicilia-sue-connector + + sicilia-sue-administration + /icon.png + configuration + 1.6 + /css/main.css + /js/main.js + sicilia-sue-administration + administrator Administrator diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/portlet.xml b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/portlet.xml index 95c83383..49ff4f07 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/portlet.xml +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/portlet.xml @@ -31,4 +31,35 @@ user + + sicilia-sue-administration + Amministrazione Connettore SUE + it.mwg.sicilia.sue.portlet.SueAdministrationPortlet + + view-template + /html/administration/view.jsp + + 0 + + text/html + view + + + Amministrazione Connettore SUE + Amministrazione Connettore SUE + + + + administrator + + + guest + + + power-user + + + user + + \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service.xml b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service.xml index 9f7dbf0f..4a3af20e 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service.xml +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service.xml @@ -15,7 +15,13 @@ + + + + + + \ 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 8cd21861..c4561e05 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 @@ -81,6 +81,9 @@ public class SportelloClp extends BaseModelImpl implements Sportello attributes.put("userName", getUserName()); attributes.put("createDate", getCreateDate()); attributes.put("modifiedDate", getModifiedDate()); + attributes.put("loginName", getLoginName()); + attributes.put("password", getPassword()); + attributes.put("nonce", getNonce()); return attributes; } @@ -128,6 +131,24 @@ public class SportelloClp extends BaseModelImpl implements Sportello if (modifiedDate != null) { setModifiedDate(modifiedDate); } + + String loginName = (String)attributes.get("loginName"); + + if (loginName != null) { + setLoginName(loginName); + } + + String password = (String)attributes.get("password"); + + if (password != null) { + setPassword(password); + } + + String nonce = (String)attributes.get("nonce"); + + if (nonce != null) { + setNonce(nonce); + } } @Override @@ -301,6 +322,75 @@ public class SportelloClp extends BaseModelImpl implements Sportello } } + @Override + public String getLoginName() { + return _loginName; + } + + @Override + public void setLoginName(String loginName) { + _loginName = loginName; + + if (_sportelloRemoteModel != null) { + try { + Class clazz = _sportelloRemoteModel.getClass(); + + Method method = clazz.getMethod("setLoginName", String.class); + + method.invoke(_sportelloRemoteModel, loginName); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + + @Override + public String getPassword() { + return _password; + } + + @Override + public void setPassword(String password) { + _password = password; + + if (_sportelloRemoteModel != null) { + try { + Class clazz = _sportelloRemoteModel.getClass(); + + Method method = clazz.getMethod("setPassword", String.class); + + method.invoke(_sportelloRemoteModel, password); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + + @Override + public String getNonce() { + return _nonce; + } + + @Override + public void setNonce(String nonce) { + _nonce = nonce; + + if (_sportelloRemoteModel != null) { + try { + Class clazz = _sportelloRemoteModel.getClass(); + + Method method = clazz.getMethod("setNonce", String.class); + + method.invoke(_sportelloRemoteModel, nonce); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + public BaseModel getSportelloRemoteModel() { return _sportelloRemoteModel; } @@ -377,6 +467,9 @@ public class SportelloClp extends BaseModelImpl implements Sportello clone.setUserName(getUserName()); clone.setCreateDate(getCreateDate()); clone.setModifiedDate(getModifiedDate()); + clone.setLoginName(getLoginName()); + clone.setPassword(getPassword()); + clone.setNonce(getNonce()); return clone; } @@ -429,7 +522,7 @@ public class SportelloClp extends BaseModelImpl implements Sportello @Override public String toString() { - StringBundler sb = new StringBundler(15); + StringBundler sb = new StringBundler(21); sb.append("{sportelloId="); sb.append(getSportelloId()); @@ -445,6 +538,12 @@ public class SportelloClp extends BaseModelImpl implements Sportello sb.append(getCreateDate()); sb.append(", modifiedDate="); sb.append(getModifiedDate()); + sb.append(", loginName="); + sb.append(getLoginName()); + sb.append(", password="); + sb.append(getPassword()); + sb.append(", nonce="); + sb.append(getNonce()); sb.append("}"); return sb.toString(); @@ -452,7 +551,7 @@ public class SportelloClp extends BaseModelImpl implements Sportello @Override public String toXmlString() { - StringBundler sb = new StringBundler(25); + StringBundler sb = new StringBundler(34); sb.append(""); sb.append("it.mwg.sicilia.sue.model.Sportello"); @@ -486,6 +585,18 @@ public class SportelloClp extends BaseModelImpl implements Sportello "modifiedDate"); + sb.append( + "loginName"); + sb.append( + "password"); + sb.append( + "nonce"); sb.append(""); @@ -500,6 +611,9 @@ public class SportelloClp extends BaseModelImpl implements Sportello private String _userName; private Date _createDate; private Date _modifiedDate; + private String _loginName; + private String _password; + private String _nonce; private BaseModel _sportelloRemoteModel; private Class _clpSerializerClass = it.mwg.sicilia.sue.service.ClpSerializer.class; } \ 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/SportelloModel.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloModel.java index d443d45c..bbe670cf 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloModel.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloModel.java @@ -189,6 +189,51 @@ public interface SportelloModel extends BaseModel, GroupedModel { @Override public void setModifiedDate(Date modifiedDate); + /** + * Returns the login name of this sportello. + * + * @return the login name of this sportello + */ + @AutoEscape + public String getLoginName(); + + /** + * Sets the login name of this sportello. + * + * @param loginName the login name of this sportello + */ + public void setLoginName(String loginName); + + /** + * Returns the password of this sportello. + * + * @return the password of this sportello + */ + @AutoEscape + public String getPassword(); + + /** + * Sets the password of this sportello. + * + * @param password the password of this sportello + */ + public void setPassword(String password); + + /** + * Returns the nonce of this sportello. + * + * @return the nonce of this sportello + */ + @AutoEscape + public String getNonce(); + + /** + * Sets the nonce of this sportello. + * + * @param nonce the nonce of this sportello + */ + public void setNonce(String nonce); + @Override public boolean isNew(); diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloSoap.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloSoap.java index b1174da7..1dc57500 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloSoap.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloSoap.java @@ -38,6 +38,9 @@ public class SportelloSoap implements Serializable { soapModel.setUserName(model.getUserName()); soapModel.setCreateDate(model.getCreateDate()); soapModel.setModifiedDate(model.getModifiedDate()); + soapModel.setLoginName(model.getLoginName()); + soapModel.setPassword(model.getPassword()); + soapModel.setNonce(model.getNonce()); return soapModel; } @@ -146,6 +149,30 @@ public class SportelloSoap implements Serializable { _modifiedDate = modifiedDate; } + public String getLoginName() { + return _loginName; + } + + public void setLoginName(String loginName) { + _loginName = loginName; + } + + public String getPassword() { + return _password; + } + + public void setPassword(String password) { + _password = password; + } + + public String getNonce() { + return _nonce; + } + + public void setNonce(String nonce) { + _nonce = nonce; + } + private long _sportelloId; private long _groupId; private long _companyId; @@ -153,4 +180,7 @@ public class SportelloSoap implements Serializable { private String _userName; private Date _createDate; private Date _modifiedDate; + private String _loginName; + private String _password; + private String _nonce; } \ 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/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 69fcbad7..db1e12c2 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 @@ -56,6 +56,9 @@ public class SportelloWrapper implements Sportello, ModelWrapper { attributes.put("userName", getUserName()); attributes.put("createDate", getCreateDate()); attributes.put("modifiedDate", getModifiedDate()); + attributes.put("loginName", getLoginName()); + attributes.put("password", getPassword()); + attributes.put("nonce", getNonce()); return attributes; } @@ -103,6 +106,24 @@ public class SportelloWrapper implements Sportello, ModelWrapper { if (modifiedDate != null) { setModifiedDate(modifiedDate); } + + String loginName = (String)attributes.get("loginName"); + + if (loginName != null) { + setLoginName(loginName); + } + + String password = (String)attributes.get("password"); + + if (password != null) { + setPassword(password); + } + + String nonce = (String)attributes.get("nonce"); + + if (nonce != null) { + setNonce(nonce); + } } /** @@ -287,6 +308,66 @@ public class SportelloWrapper implements Sportello, ModelWrapper { _sportello.setModifiedDate(modifiedDate); } + /** + * Returns the login name of this sportello. + * + * @return the login name of this sportello + */ + @Override + public java.lang.String getLoginName() { + return _sportello.getLoginName(); + } + + /** + * Sets the login name of this sportello. + * + * @param loginName the login name of this sportello + */ + @Override + public void setLoginName(java.lang.String loginName) { + _sportello.setLoginName(loginName); + } + + /** + * Returns the password of this sportello. + * + * @return the password of this sportello + */ + @Override + public java.lang.String getPassword() { + return _sportello.getPassword(); + } + + /** + * Sets the password of this sportello. + * + * @param password the password of this sportello + */ + @Override + public void setPassword(java.lang.String password) { + _sportello.setPassword(password); + } + + /** + * Returns the nonce of this sportello. + * + * @return the nonce of this sportello + */ + @Override + public java.lang.String getNonce() { + return _sportello.getNonce(); + } + + /** + * Sets the nonce of this sportello. + * + * @param nonce the nonce of this sportello + */ + @Override + public void setNonce(java.lang.String nonce) { + _sportello.setNonce(nonce); + } + @Override public boolean isNew() { return _sportello.isNew(); diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloPersistence.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloPersistence.java index 2ba88c26..a30c21ec 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloPersistence.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloPersistence.java @@ -37,6 +37,64 @@ public interface SportelloPersistence extends BasePersistence { * Never modify or reference this interface directly. Always use {@link SportelloUtil} to access the sportello persistence. Modify service.xml and rerun ServiceBuilder to regenerate this interface. */ + /** + * Returns the sportello where loginName = ? or throws a {@link it.mwg.sicilia.sue.NoSuchSportelloException} if it could not be found. + * + * @param loginName the login name + * @return the matching sportello + * @throws it.mwg.sicilia.sue.NoSuchSportelloException if a matching sportello could not be found + * @throws SystemException if a system exception occurred + */ + public it.mwg.sicilia.sue.model.Sportello findByLoginName( + java.lang.String loginName) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchSportelloException; + + /** + * Returns the sportello where loginName = ? or returns null if it could not be found. Uses the finder cache. + * + * @param loginName the login name + * @return the matching sportello, or null if a matching sportello could not be found + * @throws SystemException if a system exception occurred + */ + public it.mwg.sicilia.sue.model.Sportello fetchByLoginName( + java.lang.String loginName) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns the sportello where loginName = ? or returns null if it could not be found, optionally using the finder cache. + * + * @param loginName the login name + * @param retrieveFromCache whether to use the finder cache + * @return the matching sportello, or null if a matching sportello could not be found + * @throws SystemException if a system exception occurred + */ + public it.mwg.sicilia.sue.model.Sportello fetchByLoginName( + java.lang.String loginName, boolean retrieveFromCache) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Removes the sportello where loginName = ? from the database. + * + * @param loginName the login name + * @return the sportello that was removed + * @throws SystemException if a system exception occurred + */ + public it.mwg.sicilia.sue.model.Sportello removeByLoginName( + java.lang.String loginName) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchSportelloException; + + /** + * Returns the number of sportellos where loginName = ?. + * + * @param loginName the login name + * @return the number of matching sportellos + * @throws SystemException if a system exception occurred + */ + public int countByLoginName(java.lang.String loginName) + throws com.liferay.portal.kernel.exception.SystemException; + /** * Caches the sportello in the entity cache if it is enabled. * diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloUtil.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloUtil.java index b3be8d28..b0cc8a25 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloUtil.java @@ -110,6 +110,74 @@ public class SportelloUtil { return getPersistence().update(sportello, serviceContext); } + /** + * Returns the sportello where loginName = ? or throws a {@link it.mwg.sicilia.sue.NoSuchSportelloException} if it could not be found. + * + * @param loginName the login name + * @return the matching sportello + * @throws it.mwg.sicilia.sue.NoSuchSportelloException if a matching sportello could not be found + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.Sportello findByLoginName( + java.lang.String loginName) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchSportelloException { + return getPersistence().findByLoginName(loginName); + } + + /** + * Returns the sportello where loginName = ? or returns null if it could not be found. Uses the finder cache. + * + * @param loginName the login name + * @return the matching sportello, or null if a matching sportello could not be found + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.Sportello fetchByLoginName( + java.lang.String loginName) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence().fetchByLoginName(loginName); + } + + /** + * Returns the sportello where loginName = ? or returns null if it could not be found, optionally using the finder cache. + * + * @param loginName the login name + * @param retrieveFromCache whether to use the finder cache + * @return the matching sportello, or null if a matching sportello could not be found + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.Sportello fetchByLoginName( + java.lang.String loginName, boolean retrieveFromCache) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence().fetchByLoginName(loginName, retrieveFromCache); + } + + /** + * Removes the sportello where loginName = ? from the database. + * + * @param loginName the login name + * @return the sportello that was removed + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.Sportello removeByLoginName( + java.lang.String loginName) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchSportelloException { + return getPersistence().removeByLoginName(loginName); + } + + /** + * Returns the number of sportellos where loginName = ?. + * + * @param loginName the login name + * @return the number of matching sportellos + * @throws SystemException if a system exception occurred + */ + public static int countByLoginName(java.lang.String loginName) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence().countByLoginName(loginName); + } + /** * Caches the sportello in the entity cache if it is enabled. * diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.properties b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.properties index e69de29b..fed69cef 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.properties +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.properties @@ -0,0 +1,3 @@ +IX_9824D813=sicilia_sue_Sportello.LoginName +IX_9824D813=sicilia_sue_Sportello.loginName +IX_F4E738BB=sicilia_sue_Sportello.userName \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.sql b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.sql index e69de29b..924eb0ad 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.sql +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.sql @@ -0,0 +1,2 @@ +create index IX_9824D813 on sicilia_sue_Sportello (loginName); +create index IX_F4E738BB on sicilia_sue_Sportello (userName); \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/tables.sql b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/tables.sql index bb349f0f..7116a560 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/tables.sql +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/tables.sql @@ -5,5 +5,8 @@ create table sicilia_sue_Sportello ( userId LONG, userName VARCHAR(75) null, createDate DATE null, - modifiedDate DATE null + modifiedDate DATE null, + loginName VARCHAR(75) null, + password_ VARCHAR(75) null, + nonce VARCHAR(75) null ); \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml index ced55db3..a56874b8 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml @@ -14,5 +14,8 @@ + + + \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml index 351e85b8..dbf41d21 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml @@ -9,5 +9,8 @@ + + + \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml index 1dfb8bf5..1c997821 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml @@ -20,6 +20,11 @@ TIMESTAMP + + + + + diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/common/Action.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/common/Action.java index 1336daa7..071e786b 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/common/Action.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/common/Action.java @@ -15,26 +15,32 @@ public class Action { } public String getName() { + return name; } public void setName(String name) { + this.name = name; } public String getDescription() { + return description; } public void setDescription(String description) { + this.description = description; } public String getMethod() { + return method; } public void setMethod(String method) { + this.method = method; } } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/common/ApiResponse.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/common/ApiResponse.java deleted file mode 100644 index 03892ab5..00000000 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/common/ApiResponse.java +++ /dev/null @@ -1,39 +0,0 @@ -package it.mwg.sicilia.sue.api.common; - -import com.liferay.portal.kernel.json.JSONFactoryUtil; -import com.liferay.portal.kernel.json.JSONSerializer; - -public class ApiResponse { - - private int code; - private String message; - - private static final JSONSerializer serializer = JSONFactoryUtil.createJSONSerializer().exclude("class"); - - public ApiResponse(int code, String message) { - - this.setCode(code); - this.setMessage(message); - } - - public int getCode() { - return code; - } - - public void setCode(int code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - @Override - public String toString() { - return serializer.serialize(this); - } -} diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiServlet.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiServlet.java index ea256770..22753952 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiServlet.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiServlet.java @@ -1,15 +1,33 @@ package it.mwg.sicilia.sue.api.v1; -import it.mwg.sicilia.sue.api.common.ApiResponse; +import it.mwg.sicilia.sue.NoSuchSportelloException; +import it.mwg.sicilia.sue.model.Sportello; +import it.mwg.sicilia.sue.service.SportelloLocalServiceUtil; +import it.mwg.sicilia.sue.service.persistence.SportelloUtil; import java.io.IOException; +import java.io.InputStreamReader; +import java.io.Serializable; +import java.security.SecureRandom; +import java.util.LinkedHashMap; +import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.commons.codec.digest.DigestUtils; + +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; +import com.liferay.portal.kernel.log.LogFactoryUtil; import com.liferay.portal.kernel.servlet.ServletResponseUtil; +import com.liferay.portal.kernel.util.ContentTypes; +import com.liferay.portal.kernel.util.StringPool; +import com.liferay.portal.kernel.util.Validator; /** * @author Manifattura Web Group Srl @@ -17,27 +35,64 @@ import com.liferay.portal.kernel.servlet.ServletResponseUtil; @SuppressWarnings("serial") public class ApiServlet extends HttpServlet { + private static final Log _log = LogFactoryUtil.getLog(ApiServlet.class); + private static final JSONDeserializer> deserializer = JSONFactoryUtil + .createJSONDeserializer(); + @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - String path = request.getPathInfo().substring(1); - switch (path) { - case "login": - ServletResponseUtil.write(response, new ApiResponse(0, "Ok").toString()); - break; - default: - response.sendError(HttpServletResponse.SC_NOT_FOUND, request.getRequestURI()); - } + response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - String path = request.getPathInfo().substring(1); - switch (path) { - default: - response.sendError(HttpServletResponse.SC_NOT_FOUND, request.getRequestURI()); + String info = request.getPathInfo(); + if (Validator.isNotNull(info) && !info.equals(StringPool.FORWARD_SLASH)) { + response.sendError(HttpServletResponse.SC_NOT_FOUND); + return; + } + Map parameters = deserializer + .deserialize(new InputStreamReader(request.getInputStream())); + response.setContentType(ContentTypes.APPLICATION_JSON); + response.setCharacterEncoding(StringPool.UTF8); + ServletResponseUtil.write(response, process(parameters)); + } + + private String process(Map parameters) throws IOException { + if (Validator.isNull(parameters)) { + return Response.get(Status.PARSE_ERROR); + } else if (!parameters.containsKey(Parameters.COMMAND)) { + return Response.get(Status.NO_COMMAND_GIVEN); + } else { + switch ((String) parameters.get(Parameters.COMMAND)) { + case Parameters.COMMAND_LOGIN: + return login(parameters); + } + } + return Response.get(Status.INVALID_COMMAND); + } + + private String login(Map parameters) throws IOException { + if (!parameters.containsKey(Parameters.USERNAME)) { + return Response.get(Status.NO_USERNAME_GIVEN); + } + Map extraData = new LinkedHashMap<>(); + String loginName = (String) parameters.get(Parameters.USERNAME); + byte[] bytes = new byte[32]; + SecureRandom rnd = new SecureRandom(); + rnd.nextBytes(bytes); + String nonce = DigestUtils.sha256Hex(bytes); + extraData.put(Parameters.NONCE, nonce); + Sportello sportello = null; + try { + sportello = SportelloUtil.findByLoginName(loginName); + sportello.setNonce(nonce); + SportelloLocalServiceUtil.updateSportello(sportello); + } catch (NoSuchSportelloException | SystemException e) { } + return Response.get(Status.OK, extraData); } } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Commands.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Commands.java new file mode 100644 index 00000000..b3e8f605 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Commands.java @@ -0,0 +1,5 @@ +package it.mwg.sicilia.sue.api.v1; + +public class Commands { + +} 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 new file mode 100644 index 00000000..e7c23741 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Parameters.java @@ -0,0 +1,7 @@ +package it.mwg.sicilia.sue.api.v1; + +public class Parameters { + + public static final String STATUS_CODE = "status"; + public static final String STATUS_DESCRIPTION = "description"; +} 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 new file mode 100644 index 00000000..8ab5294a --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Response.java @@ -0,0 +1,31 @@ +package it.mwg.sicilia.sue.api.v1; + +import java.io.IOException; +import java.io.Serializable; +import java.util.LinkedHashMap; +import java.util.Map; + +import com.liferay.portal.kernel.json.JSONFactoryUtil; +import com.liferay.portal.kernel.json.JSONSerializer; +import com.liferay.portal.kernel.util.Validator; + +public class Response { + + private static final JSONSerializer serializer = JSONFactoryUtil.createJSONSerializer(); + + public static String get(int statusCode) throws IOException { + + return get(statusCode, null); + } + + public static String get(int statusCode, Map extraData) { + + Map map = new LinkedHashMap<>(); + map.put(Parameters.STATUS_CODE, statusCode); + map.put(Parameters.STATUS_DESCRIPTION, Status.getStatusDescription(statusCode)); + if (Validator.isNotNull(extraData)) { + map.putAll(extraData); + } + return serializer.serialize(map); + } +} 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 new file mode 100644 index 00000000..f0f3ca4b --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Status.java @@ -0,0 +1,28 @@ +package it.mwg.sicilia.sue.api.v1; + +import java.util.HashMap; +import java.util.Map; + +public class Status { + + public static final int OK = 0; + public static final int INVALID_COMMAND = 1; + public static final int NO_COMMAND_GIVEN = 2; + public static final int NO_USERNAME_GIVEN = 3; + public static final int PARSE_ERROR = 4; + + @SuppressWarnings("serial") + private static final Map messages = new HashMap() { + { + put(OK, "OK"); + put(INVALID_COMMAND, "Invalid command"); + put(NO_COMMAND_GIVEN, "No command given"); + put(NO_USERNAME_GIVEN, "No username given"); + put(PARSE_ERROR, "Parse error"); + } + }; + + public static String getStatusDescription(int statusCode) { + return messages.get(statusCode); + } +} diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloCacheModel.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloCacheModel.java index 433694e4..bf50585a 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloCacheModel.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloCacheModel.java @@ -38,7 +38,7 @@ public class SportelloCacheModel implements CacheModel, Externalizable { @Override public String toString() { - StringBundler sb = new StringBundler(15); + StringBundler sb = new StringBundler(21); sb.append("{sportelloId="); sb.append(sportelloId); @@ -54,6 +54,12 @@ public class SportelloCacheModel implements CacheModel, sb.append(createDate); sb.append(", modifiedDate="); sb.append(modifiedDate); + sb.append(", loginName="); + sb.append(loginName); + sb.append(", password="); + sb.append(password); + sb.append(", nonce="); + sb.append(nonce); sb.append("}"); return sb.toString(); @@ -89,6 +95,27 @@ public class SportelloCacheModel implements CacheModel, sportelloImpl.setModifiedDate(new Date(modifiedDate)); } + if (loginName == null) { + sportelloImpl.setLoginName(StringPool.BLANK); + } + else { + sportelloImpl.setLoginName(loginName); + } + + if (password == null) { + sportelloImpl.setPassword(StringPool.BLANK); + } + else { + sportelloImpl.setPassword(password); + } + + if (nonce == null) { + sportelloImpl.setNonce(StringPool.BLANK); + } + else { + sportelloImpl.setNonce(nonce); + } + sportelloImpl.resetOriginalValues(); return sportelloImpl; @@ -103,6 +130,9 @@ public class SportelloCacheModel implements CacheModel, userName = objectInput.readUTF(); createDate = objectInput.readLong(); modifiedDate = objectInput.readLong(); + loginName = objectInput.readUTF(); + password = objectInput.readUTF(); + nonce = objectInput.readUTF(); } @Override @@ -122,6 +152,27 @@ public class SportelloCacheModel implements CacheModel, objectOutput.writeLong(createDate); objectOutput.writeLong(modifiedDate); + + if (loginName == null) { + objectOutput.writeUTF(StringPool.BLANK); + } + else { + objectOutput.writeUTF(loginName); + } + + if (password == null) { + objectOutput.writeUTF(StringPool.BLANK); + } + else { + objectOutput.writeUTF(password); + } + + if (nonce == null) { + objectOutput.writeUTF(StringPool.BLANK); + } + else { + objectOutput.writeUTF(nonce); + } } public long sportelloId; @@ -131,4 +182,7 @@ public class SportelloCacheModel implements CacheModel, public String userName; public long createDate; public long modifiedDate; + public String loginName; + public String password; + public String nonce; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloModelImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloModelImpl.java index 9d5542bc..75ef949f 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloModelImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloModelImpl.java @@ -72,9 +72,12 @@ public class SportelloModelImpl extends BaseModelImpl { "userId", Types.BIGINT }, { "userName", Types.VARCHAR }, { "createDate", Types.TIMESTAMP }, - { "modifiedDate", Types.TIMESTAMP } + { "modifiedDate", Types.TIMESTAMP }, + { "loginName", Types.VARCHAR }, + { "password_", Types.VARCHAR }, + { "nonce", Types.VARCHAR } }; - public static final String TABLE_SQL_CREATE = "create table sicilia_sue_Sportello (sportelloId LONG not null primary key,groupId LONG,companyId LONG,userId LONG,userName VARCHAR(75) null,createDate DATE null,modifiedDate DATE null)"; + public static final String TABLE_SQL_CREATE = "create table sicilia_sue_Sportello (sportelloId LONG not null primary key,groupId LONG,companyId LONG,userId LONG,userName VARCHAR(75) null,createDate DATE null,modifiedDate DATE null,loginName VARCHAR(75) null,password_ VARCHAR(75) null,nonce VARCHAR(75) null)"; public static final String TABLE_SQL_DROP = "drop table sicilia_sue_Sportello"; public static final String ORDER_BY_JPQL = " ORDER BY sportello.sportelloId ASC"; public static final String ORDER_BY_SQL = " ORDER BY sicilia_sue_Sportello.sportelloId ASC"; @@ -87,7 +90,11 @@ public class SportelloModelImpl extends BaseModelImpl public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.util.service.ServiceProps.get( "value.object.finder.cache.enabled.it.mwg.sicilia.sue.model.Sportello"), true); - public static final boolean COLUMN_BITMASK_ENABLED = false; + public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.util.service.ServiceProps.get( + "value.object.column.bitmask.enabled.it.mwg.sicilia.sue.model.Sportello"), + true); + public static long LOGINNAME_COLUMN_BITMASK = 1L; + public static long SPORTELLOID_COLUMN_BITMASK = 2L; /** * Converts the soap model instance into a normal model instance. @@ -109,6 +116,9 @@ public class SportelloModelImpl extends BaseModelImpl model.setUserName(soapModel.getUserName()); model.setCreateDate(soapModel.getCreateDate()); model.setModifiedDate(soapModel.getModifiedDate()); + model.setLoginName(soapModel.getLoginName()); + model.setPassword(soapModel.getPassword()); + model.setNonce(soapModel.getNonce()); return model; } @@ -180,6 +190,9 @@ public class SportelloModelImpl extends BaseModelImpl attributes.put("userName", getUserName()); attributes.put("createDate", getCreateDate()); attributes.put("modifiedDate", getModifiedDate()); + attributes.put("loginName", getLoginName()); + attributes.put("password", getPassword()); + attributes.put("nonce", getNonce()); return attributes; } @@ -227,6 +240,24 @@ public class SportelloModelImpl extends BaseModelImpl if (modifiedDate != null) { setModifiedDate(modifiedDate); } + + String loginName = (String)attributes.get("loginName"); + + if (loginName != null) { + setLoginName(loginName); + } + + String password = (String)attributes.get("password"); + + if (password != null) { + setPassword(password); + } + + String nonce = (String)attributes.get("nonce"); + + if (nonce != null) { + setNonce(nonce); + } } @JSON @@ -321,6 +352,68 @@ public class SportelloModelImpl extends BaseModelImpl _modifiedDate = modifiedDate; } + @JSON + @Override + public String getLoginName() { + if (_loginName == null) { + return StringPool.BLANK; + } + else { + return _loginName; + } + } + + @Override + public void setLoginName(String loginName) { + _columnBitmask |= LOGINNAME_COLUMN_BITMASK; + + if (_originalLoginName == null) { + _originalLoginName = _loginName; + } + + _loginName = loginName; + } + + public String getOriginalLoginName() { + return GetterUtil.getString(_originalLoginName); + } + + @JSON + @Override + public String getPassword() { + if (_password == null) { + return StringPool.BLANK; + } + else { + return _password; + } + } + + @Override + public void setPassword(String password) { + _password = password; + } + + @JSON + @Override + public String getNonce() { + if (_nonce == null) { + return StringPool.BLANK; + } + else { + return _nonce; + } + } + + @Override + public void setNonce(String nonce) { + _nonce = nonce; + } + + public long getColumnBitmask() { + return _columnBitmask; + } + @Override public ExpandoBridge getExpandoBridge() { return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(), @@ -355,6 +448,9 @@ public class SportelloModelImpl extends BaseModelImpl sportelloImpl.setUserName(getUserName()); sportelloImpl.setCreateDate(getCreateDate()); sportelloImpl.setModifiedDate(getModifiedDate()); + sportelloImpl.setLoginName(getLoginName()); + sportelloImpl.setPassword(getPassword()); + sportelloImpl.setNonce(getNonce()); sportelloImpl.resetOriginalValues(); @@ -405,6 +501,11 @@ public class SportelloModelImpl extends BaseModelImpl @Override public void resetOriginalValues() { + SportelloModelImpl sportelloModelImpl = this; + + sportelloModelImpl._originalLoginName = sportelloModelImpl._loginName; + + sportelloModelImpl._columnBitmask = 0; } @Override @@ -445,12 +546,36 @@ public class SportelloModelImpl extends BaseModelImpl sportelloCacheModel.modifiedDate = Long.MIN_VALUE; } + sportelloCacheModel.loginName = getLoginName(); + + String loginName = sportelloCacheModel.loginName; + + if ((loginName != null) && (loginName.length() == 0)) { + sportelloCacheModel.loginName = null; + } + + sportelloCacheModel.password = getPassword(); + + String password = sportelloCacheModel.password; + + if ((password != null) && (password.length() == 0)) { + sportelloCacheModel.password = null; + } + + sportelloCacheModel.nonce = getNonce(); + + String nonce = sportelloCacheModel.nonce; + + if ((nonce != null) && (nonce.length() == 0)) { + sportelloCacheModel.nonce = null; + } + return sportelloCacheModel; } @Override public String toString() { - StringBundler sb = new StringBundler(15); + StringBundler sb = new StringBundler(21); sb.append("{sportelloId="); sb.append(getSportelloId()); @@ -466,6 +591,12 @@ public class SportelloModelImpl extends BaseModelImpl sb.append(getCreateDate()); sb.append(", modifiedDate="); sb.append(getModifiedDate()); + sb.append(", loginName="); + sb.append(getLoginName()); + sb.append(", password="); + sb.append(getPassword()); + sb.append(", nonce="); + sb.append(getNonce()); sb.append("}"); return sb.toString(); @@ -473,7 +604,7 @@ public class SportelloModelImpl extends BaseModelImpl @Override public String toXmlString() { - StringBundler sb = new StringBundler(25); + StringBundler sb = new StringBundler(34); sb.append(""); sb.append("it.mwg.sicilia.sue.model.Sportello"); @@ -507,6 +638,18 @@ public class SportelloModelImpl extends BaseModelImpl "modifiedDate"); + sb.append( + "loginName"); + sb.append( + "password"); + sb.append( + "nonce"); sb.append(""); @@ -525,5 +668,10 @@ public class SportelloModelImpl extends BaseModelImpl private String _userName; private Date _createDate; private Date _modifiedDate; + private String _loginName; + private String _originalLoginName; + private String _password; + private String _nonce; + private long _columnBitmask; private Sportello _escapedModel; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/portlet/SueAdministrationPortlet.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/portlet/SueAdministrationPortlet.java new file mode 100644 index 00000000..3a4b43c8 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/portlet/SueAdministrationPortlet.java @@ -0,0 +1,7 @@ +package it.mwg.sicilia.sue.portlet; + +import com.liferay.util.bridges.mvc.MVCPortlet; + +public class SueAdministrationPortlet extends MVCPortlet { + +} diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/persistence/SportelloPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/persistence/SportelloPersistenceImpl.java index 693b50c7..05b7183b 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/persistence/SportelloPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/persistence/SportelloPersistenceImpl.java @@ -19,6 +19,7 @@ import com.liferay.portal.kernel.dao.orm.EntityCacheUtil; import com.liferay.portal.kernel.dao.orm.FinderCacheUtil; import com.liferay.portal.kernel.dao.orm.FinderPath; import com.liferay.portal.kernel.dao.orm.Query; +import com.liferay.portal.kernel.dao.orm.QueryPos; import com.liferay.portal.kernel.dao.orm.QueryUtil; import com.liferay.portal.kernel.dao.orm.Session; import com.liferay.portal.kernel.exception.SystemException; @@ -29,9 +30,12 @@ import com.liferay.portal.kernel.util.InstanceFactory; import com.liferay.portal.kernel.util.OrderByComparator; import com.liferay.portal.kernel.util.PropsKeys; import com.liferay.portal.kernel.util.PropsUtil; +import com.liferay.portal.kernel.util.SetUtil; import com.liferay.portal.kernel.util.StringBundler; +import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.kernel.util.StringUtil; import com.liferay.portal.kernel.util.UnmodifiableList; +import com.liferay.portal.kernel.util.Validator; import com.liferay.portal.model.CacheModel; import com.liferay.portal.model.ModelListener; import com.liferay.portal.service.persistence.impl.BasePersistenceImpl; @@ -47,6 +51,7 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Set; /** * The persistence implementation for the sportello service. @@ -81,6 +86,255 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(SportelloModelImpl.ENTITY_CACHE_ENABLED, SportelloModelImpl.FINDER_CACHE_ENABLED, Long.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countAll", new String[0]); + public static final FinderPath FINDER_PATH_FETCH_BY_LOGINNAME = new FinderPath(SportelloModelImpl.ENTITY_CACHE_ENABLED, + SportelloModelImpl.FINDER_CACHE_ENABLED, SportelloImpl.class, + FINDER_CLASS_NAME_ENTITY, "fetchByLoginName", + new String[] { String.class.getName() }, + SportelloModelImpl.LOGINNAME_COLUMN_BITMASK); + public static final FinderPath FINDER_PATH_COUNT_BY_LOGINNAME = new FinderPath(SportelloModelImpl.ENTITY_CACHE_ENABLED, + SportelloModelImpl.FINDER_CACHE_ENABLED, Long.class, + FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByLoginName", + new String[] { String.class.getName() }); + + /** + * Returns the sportello where loginName = ? or throws a {@link it.mwg.sicilia.sue.NoSuchSportelloException} if it could not be found. + * + * @param loginName the login name + * @return the matching sportello + * @throws it.mwg.sicilia.sue.NoSuchSportelloException if a matching sportello could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public Sportello findByLoginName(String loginName) + throws NoSuchSportelloException, SystemException { + Sportello sportello = fetchByLoginName(loginName); + + if (sportello == null) { + StringBundler msg = new StringBundler(4); + + msg.append(_NO_SUCH_ENTITY_WITH_KEY); + + msg.append("loginName="); + msg.append(loginName); + + msg.append(StringPool.CLOSE_CURLY_BRACE); + + if (_log.isWarnEnabled()) { + _log.warn(msg.toString()); + } + + throw new NoSuchSportelloException(msg.toString()); + } + + return sportello; + } + + /** + * Returns the sportello where loginName = ? or returns null if it could not be found. Uses the finder cache. + * + * @param loginName the login name + * @return the matching sportello, or null if a matching sportello could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public Sportello fetchByLoginName(String loginName) + throws SystemException { + return fetchByLoginName(loginName, true); + } + + /** + * Returns the sportello where loginName = ? or returns null if it could not be found, optionally using the finder cache. + * + * @param loginName the login name + * @param retrieveFromCache whether to use the finder cache + * @return the matching sportello, or null if a matching sportello could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public Sportello fetchByLoginName(String loginName, + boolean retrieveFromCache) throws SystemException { + Object[] finderArgs = new Object[] { loginName }; + + Object result = null; + + if (retrieveFromCache) { + result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_LOGINNAME, + finderArgs, this); + } + + if (result instanceof Sportello) { + Sportello sportello = (Sportello)result; + + if (!Validator.equals(loginName, sportello.getLoginName())) { + result = null; + } + } + + if (result == null) { + StringBundler query = new StringBundler(3); + + query.append(_SQL_SELECT_SPORTELLO_WHERE); + + boolean bindLoginName = false; + + if (loginName == null) { + query.append(_FINDER_COLUMN_LOGINNAME_LOGINNAME_1); + } + else if (loginName.equals(StringPool.BLANK)) { + query.append(_FINDER_COLUMN_LOGINNAME_LOGINNAME_3); + } + else { + bindLoginName = true; + + query.append(_FINDER_COLUMN_LOGINNAME_LOGINNAME_2); + } + + String sql = query.toString(); + + Session session = null; + + try { + session = openSession(); + + Query q = session.createQuery(sql); + + QueryPos qPos = QueryPos.getInstance(q); + + if (bindLoginName) { + qPos.add(loginName); + } + + List list = q.list(); + + if (list.isEmpty()) { + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_LOGINNAME, + finderArgs, list); + } + else { + if ((list.size() > 1) && _log.isWarnEnabled()) { + _log.warn( + "SportelloPersistenceImpl.fetchByLoginName(String, boolean) with parameters (" + + StringUtil.merge(finderArgs) + + ") yields a result set with more than 1 result. This violates the logical unique restriction. There is no order guarantee on which result is returned by this finder."); + } + + Sportello sportello = list.get(0); + + result = sportello; + + cacheResult(sportello); + + if ((sportello.getLoginName() == null) || + !sportello.getLoginName().equals(loginName)) { + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_LOGINNAME, + finderArgs, sportello); + } + } + } + catch (Exception e) { + FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_LOGINNAME, + finderArgs); + + throw processException(e); + } + finally { + closeSession(session); + } + } + + if (result instanceof List) { + return null; + } + else { + return (Sportello)result; + } + } + + /** + * Removes the sportello where loginName = ? from the database. + * + * @param loginName the login name + * @return the sportello that was removed + * @throws SystemException if a system exception occurred + */ + @Override + public Sportello removeByLoginName(String loginName) + throws NoSuchSportelloException, SystemException { + Sportello sportello = findByLoginName(loginName); + + return remove(sportello); + } + + /** + * Returns the number of sportellos where loginName = ?. + * + * @param loginName the login name + * @return the number of matching sportellos + * @throws SystemException if a system exception occurred + */ + @Override + public int countByLoginName(String loginName) throws SystemException { + FinderPath finderPath = FINDER_PATH_COUNT_BY_LOGINNAME; + + Object[] finderArgs = new Object[] { loginName }; + + Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs, + this); + + if (count == null) { + StringBundler query = new StringBundler(2); + + query.append(_SQL_COUNT_SPORTELLO_WHERE); + + boolean bindLoginName = false; + + if (loginName == null) { + query.append(_FINDER_COLUMN_LOGINNAME_LOGINNAME_1); + } + else if (loginName.equals(StringPool.BLANK)) { + query.append(_FINDER_COLUMN_LOGINNAME_LOGINNAME_3); + } + else { + bindLoginName = true; + + query.append(_FINDER_COLUMN_LOGINNAME_LOGINNAME_2); + } + + String sql = query.toString(); + + Session session = null; + + try { + session = openSession(); + + Query q = session.createQuery(sql); + + QueryPos qPos = QueryPos.getInstance(q); + + if (bindLoginName) { + qPos.add(loginName); + } + + count = (Long)q.uniqueResult(); + + FinderCacheUtil.putResult(finderPath, finderArgs, count); + } + catch (Exception e) { + FinderCacheUtil.removeResult(finderPath, finderArgs); + + throw processException(e); + } + finally { + closeSession(session); + } + } + + return count.intValue(); + } + + private static final String _FINDER_COLUMN_LOGINNAME_LOGINNAME_1 = "sportello.loginName IS NULL"; + private static final String _FINDER_COLUMN_LOGINNAME_LOGINNAME_2 = "sportello.loginName = ?"; + private static final String _FINDER_COLUMN_LOGINNAME_LOGINNAME_3 = "(sportello.loginName IS NULL OR sportello.loginName = '')"; public SportelloPersistenceImpl() { setModelClass(Sportello.class); @@ -96,6 +350,9 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl EntityCacheUtil.putResult(SportelloModelImpl.ENTITY_CACHE_ENABLED, SportelloImpl.class, sportello.getPrimaryKey(), sportello); + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_LOGINNAME, + new Object[] { sportello.getLoginName() }, sportello); + sportello.resetOriginalValues(); } @@ -152,6 +409,8 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION); FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION); + + clearUniqueFindersCache(sportello); } @Override @@ -162,6 +421,49 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl for (Sportello sportello : sportellos) { EntityCacheUtil.removeResult(SportelloModelImpl.ENTITY_CACHE_ENABLED, SportelloImpl.class, sportello.getPrimaryKey()); + + clearUniqueFindersCache(sportello); + } + } + + protected void cacheUniqueFindersCache(Sportello sportello) { + if (sportello.isNew()) { + Object[] args = new Object[] { sportello.getLoginName() }; + + FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_LOGINNAME, args, + Long.valueOf(1)); + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_LOGINNAME, args, + sportello); + } + else { + SportelloModelImpl sportelloModelImpl = (SportelloModelImpl)sportello; + + if ((sportelloModelImpl.getColumnBitmask() & + FINDER_PATH_FETCH_BY_LOGINNAME.getColumnBitmask()) != 0) { + Object[] args = new Object[] { sportello.getLoginName() }; + + FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_LOGINNAME, args, + Long.valueOf(1)); + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_LOGINNAME, args, + sportello); + } + } + } + + protected void clearUniqueFindersCache(Sportello sportello) { + SportelloModelImpl sportelloModelImpl = (SportelloModelImpl)sportello; + + Object[] args = new Object[] { sportello.getLoginName() }; + + FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_LOGINNAME, args); + FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_LOGINNAME, args); + + if ((sportelloModelImpl.getColumnBitmask() & + FINDER_PATH_FETCH_BY_LOGINNAME.getColumnBitmask()) != 0) { + args = new Object[] { sportelloModelImpl.getOriginalLoginName() }; + + FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_LOGINNAME, args); + FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_LOGINNAME, args); } } @@ -299,13 +601,16 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION); - if (isNew) { + if (isNew || !SportelloModelImpl.COLUMN_BITMASK_ENABLED) { FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION); } EntityCacheUtil.putResult(SportelloModelImpl.ENTITY_CACHE_ENABLED, SportelloImpl.class, sportello.getPrimaryKey(), sportello); + clearUniqueFindersCache(sportello); + cacheUniqueFindersCache(sportello); + return sportello; } @@ -326,6 +631,9 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl sportelloImpl.setUserName(sportello.getUserName()); sportelloImpl.setCreateDate(sportello.getCreateDate()); sportelloImpl.setModifiedDate(sportello.getModifiedDate()); + sportelloImpl.setLoginName(sportello.getLoginName()); + sportelloImpl.setPassword(sportello.getPassword()); + sportelloImpl.setNonce(sportello.getNonce()); return sportelloImpl; } @@ -603,6 +911,11 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl return count.intValue(); } + @Override + protected Set getBadColumnNames() { + return _badColumnNames; + } + /** * Initializes the sportello persistence. */ @@ -636,12 +949,18 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl } private static final String _SQL_SELECT_SPORTELLO = "SELECT sportello FROM Sportello sportello"; + private static final String _SQL_SELECT_SPORTELLO_WHERE = "SELECT sportello FROM Sportello sportello WHERE "; private static final String _SQL_COUNT_SPORTELLO = "SELECT COUNT(sportello) FROM Sportello sportello"; + private static final String _SQL_COUNT_SPORTELLO_WHERE = "SELECT COUNT(sportello) FROM Sportello sportello WHERE "; private static final String _ORDER_BY_ENTITY_ALIAS = "sportello."; private static final String _NO_SUCH_ENTITY_WITH_PRIMARY_KEY = "No Sportello exists with the primary key "; + private static final String _NO_SUCH_ENTITY_WITH_KEY = "No Sportello exists with the key {"; private static final boolean _HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE = GetterUtil.getBoolean(PropsUtil.get( PropsKeys.HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE)); private static Log _log = LogFactoryUtil.getLog(SportelloPersistenceImpl.class); + private static Set _badColumnNames = SetUtil.fromArray(new String[] { + "password" + }); private static Sportello _nullSportello = new SportelloImpl() { @Override public Object clone() { 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 a546194e..c0e63051 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=4 - build.date=1621344885196 + build.number=8 + build.date=1622735407837 build.auto.upgrade=true ## diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/edit_sportello.jsp b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/edit_sportello.jsp new file mode 100644 index 00000000..a515b324 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/edit_sportello.jsp @@ -0,0 +1,3 @@ +<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@page import="it.mwg.sicilia.sue.model.Sportello"%> +

Edit

\ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/view.jsp b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/view.jsp new file mode 100644 index 00000000..ffe03a28 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/view.jsp @@ -0,0 +1,25 @@ +<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@page import="it.mwg.sicilia.sue.model.Sportello"%> +<%@page import="it.mwg.sicilia.sue.service.SportelloLocalServiceUtil"%> +<%@page import="java.util.List"%> +<%@include file="/html/init.jsp"%> +<% +%> +

Amministrazione

+ + + + + + + + + + + + + + + diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/init.jsp b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/init.jsp new file mode 100644 index 00000000..1497071d --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/init.jsp @@ -0,0 +1,19 @@ +<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> + +<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> +<%@taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%> +<%@taglib uri="http://liferay.com/tld/aui" prefix="aui"%> +<%@taglib uri="http://liferay.com/tld/portlet" prefix="liferay-portlet"%> +<%@taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme"%> +<%@taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui"%> + +<%@page import="com.liferay.portal.kernel.portlet.LiferayWindowState"%> +<%@page import="com.liferay.portlet.PortletURLUtil"%> +<%@page import="javax.portlet.PortletURL"%> + + + +<% +PortletURL portletURL = PortletURLUtil.getCurrent(liferayPortletRequest, liferayPortletResponse); +PortletURL iteratorURL = liferayPortletResponse.createRenderURL(); +%> \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/themes/provatema-theme/build.xml b/liferay-plugins-sdk-6.2/themes/provatema-theme/build.xml deleted file mode 100644 index e21a3b23..00000000 --- a/liferay-plugins-sdk-6.2/themes/provatema-theme/build.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/META-INF/MANIFEST.MF b/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/META-INF/MANIFEST.MF deleted file mode 100644 index 254272e1..00000000 --- a/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/META-INF/MANIFEST.MF +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -Class-Path: - diff --git a/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/lib/commons-logging.jar b/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/lib/commons-logging.jar deleted file mode 100644 index 8758a96b70cfba9466bacca19c0d99b87cf53734..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60841 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
    {@^= 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�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 diff --git a/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/lib/util-java.jar b/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/lib/util-java.jar deleted file mode 100644 index 6b5d95f809264fc39b70a46646976290b3a243f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213058 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

    k8iVsVRER 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 ZdSNGmBPMlUNUCn+YXtU@O%_B{y% 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�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

    Uh=xqy7 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 diff --git a/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/liferay-look-and-feel.xml b/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/liferay-look-and-feel.xml deleted file mode 100644 index fbc576b2..00000000 --- a/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/liferay-look-and-feel.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - 6.2.5+ - - - ftl - - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/liferay-plugin-package.properties b/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/liferay-plugin-package.properties deleted file mode 100644 index 822b7e75..00000000 --- a/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/liferay-plugin-package.properties +++ /dev/null @@ -1,16 +0,0 @@ -name=Provatema -module-group-id=liferay -module-incremental-version=1 -tags= -short-description= -long-description= -change-log= -page-url=http://www.liferay.com -author=Liferay, Inc. -licenses=LGPL -liferay-versions=6.2.0+ - -#required-deployment-contexts=\ -# resources-importer-web - -resources-importer-developer-mode-enabled=true \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/src/resources-importer/readme.txt b/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/src/resources-importer/readme.txt deleted file mode 100644 index bc25439f..00000000 --- a/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/src/resources-importer/readme.txt +++ /dev/null @@ -1,2 +0,0 @@ -See http://www.liferay.com/community/wiki/-/wiki/Main/Resources+Importer+Web -for more information about the Resources Importer. \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/src/resources-importer/sitemap.json b/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/src/resources-importer/sitemap.json deleted file mode 100644 index e4f13d46..00000000 --- a/liferay-plugins-sdk-6.2/themes/provatema-theme/docroot/WEB-INF/src/resources-importer/sitemap.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "layoutTemplateId": "2_columns_ii", - "privatePages": [ - { - "columns": [ - [ - { - "portletId": "58" - } - ], - [ - { - "portletId": "47" - } - ] - ], - "friendlyURL": "/home", - "name": "Welcome", - "title": "Welcome" - } - ] -} \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/META-INF/custom_jsps/html/portlet/workflow_tasks/edit_workflow_task.jsp b/liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/META-INF/custom_jsps/html/portlet/workflow_tasks/edit_workflow_task.jsp index 26534e11..0839d88f 100644 --- a/liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/META-INF/custom_jsps/html/portlet/workflow_tasks/edit_workflow_task.jsp +++ b/liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/META-INF/custom_jsps/html/portlet/workflow_tasks/edit_workflow_task.jsp @@ -29,12 +29,10 @@ WorkflowTask workflowTask = (WorkflowTask)request.getAttribute(WebKeys.WORKFLOW_ WorkflowInstance workflowInstance = WorkflowInstanceManagerUtil.getWorkflowInstance(company.getCompanyId(), workflowTask.getWorkflowInstanceId()); Map workflowContext = workflowInstance.getWorkflowContext(); - long companyId = GetterUtil.getLong((String)workflowContext.get(WorkflowConstants.CONTEXT_COMPANY_ID)); long groupId = GetterUtil.getLong((String)workflowContext.get(WorkflowConstants.CONTEXT_GROUP_ID)); String className = (String)workflowContext.get(WorkflowConstants.CONTEXT_ENTRY_CLASS_NAME); long classPK = GetterUtil.getLong((String)workflowContext.get(WorkflowConstants.CONTEXT_ENTRY_CLASS_PK)); - WorkflowHandler workflowHandler = WorkflowHandlerRegistryUtil.getWorkflowHandler(className); AssetRenderer assetRenderer = workflowHandler.getAssetRenderer(classPK); diff --git a/liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/WEB-INF/src/service.properties b/liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/WEB-INF/src/service.properties index 3dcbf4f5..0293566c 100644 --- a/liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/WEB-INF/src/service.properties +++ b/liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/WEB-INF/src/service.properties @@ -13,8 +13,8 @@ ## build.namespace=Kaleo - build.number=47 - build.date=1621850598948 + build.number=48 + build.date=1622551982657 build.auto.upgrade=true ## From a5d358da8b8c26c3f62ae1c3448b7ca55dd209c8 Mon Sep 17 00:00:00 2001 From: Salvatore La Manna Date: Mon, 14 Jun 2021 12:44:18 +0200 Subject: [PATCH 03/11] Cambio branch --- .../html/fascicolofe/edit_modal_fascicolo.jsp | 2 - .../docroot/html/init.jsp | 2 - .../docroot/WEB-INF/.gitignore | 1 + .../sicilia-sue-connector-portlet-service.jar | Bin 36085 -> 65546 bytes .../docroot/WEB-INF/liferay-hook.xml | 5 + .../docroot/WEB-INF/portlet.xml | 2 + .../docroot/WEB-INF/service.xml | 21 +- .../sue/NoSuchApiSettingException.java | 40 + .../it/mwg/sicilia/sue/model/ApiSetting.java | 34 + .../mwg/sicilia/sue/model/ApiSettingClp.java | 379 +++++++ .../sicilia/sue/model/ApiSettingModel.java | 173 ++++ .../mwg/sicilia/sue/model/ApiSettingSoap.java | 125 +++ .../sicilia/sue/model/ApiSettingWrapper.java | 327 ++++++ .../it/mwg/sicilia/sue/model/Sportello.java | 11 + .../mwg/sicilia/sue/model/SportelloClp.java | 200 +++- .../mwg/sicilia/sue/model/SportelloModel.java | 58 +- .../mwg/sicilia/sue/model/SportelloSoap.java | 50 +- .../sicilia/sue/model/SportelloWrapper.java | 130 ++- .../sue/service/ApiSettingLocalService.java | 259 +++++ .../service/ApiSettingLocalServiceClp.java | 770 ++++++++++++++ .../service/ApiSettingLocalServiceUtil.java | 314 ++++++ .../ApiSettingLocalServiceWrapper.java | 324 ++++++ .../sue/service/ApiSettingService.java | 66 ++ .../sue/service/ApiSettingServiceClp.java | 91 ++ .../sue/service/ApiSettingServiceUtil.java | 96 ++ .../sue/service/ApiSettingServiceWrapper.java | 84 ++ .../sicilia/sue/service/ClpSerializer.java | 66 ++ .../service/messaging/ClpMessageListener.java | 5 + .../ApiSettingActionableDynamicQuery.java | 37 + .../persistence/ApiSettingPersistence.java | 223 ++++ .../service/persistence/ApiSettingUtil.java | 352 +++++++ .../persistence/SportelloPersistence.java | 35 +- .../service/persistence/SportelloUtil.java | 48 +- .../docroot/WEB-INF/sql/indexes.properties | 6 +- .../docroot/WEB-INF/sql/indexes.sql | 5 +- .../docroot/WEB-INF/sql/tables.sql | 16 +- .../WEB-INF/src/META-INF/portlet-hbm.xml | 17 +- .../src/META-INF/portlet-model-hints.xml | 23 +- .../WEB-INF/src/META-INF/portlet-orm.xml | 28 +- .../WEB-INF/src/META-INF/portlet-spring.xml | 3 + .../WEB-INF/src/content/Language.properties | 3 + .../it/mwg/sicilia/sue/api/common/Action.java | 46 - .../it/mwg/sicilia/sue/api/v1/Actions.java | 22 - .../mwg/sicilia/sue/api/v1/ApiConstants.java | 8 + .../it/mwg/sicilia/sue/api/v1/ApiServlet.java | 91 +- .../it/mwg/sicilia/sue/api/v1/ApiUtil.java | 66 ++ .../it/mwg/sicilia/sue/api/v1/Command.java | 41 + .../it/mwg/sicilia/sue/api/v1/Commands.java | 23 + .../it/mwg/sicilia/sue/api/v1/Parameters.java | 3 + .../src/it/mwg/sicilia/sue/api/v1/Status.java | 10 +- .../sue/api/v1/command/CommandNop.java | 31 + .../sue/model/impl/ApiSettingBaseImpl.java | 50 + .../sue/model/impl/ApiSettingCacheModel.java | 101 ++ .../sue/model/impl/ApiSettingImpl.java | 36 + .../sue/model/impl/ApiSettingModelImpl.java | 460 +++++++++ .../sue/model/impl/SportelloCacheModel.java | 68 +- .../sicilia/sue/model/impl/SportelloImpl.java | 58 +- .../sue/model/impl/SportelloModelImpl.java | 191 ++-- .../sue/portlet/SueAdministrationPortlet.java | 115 +++ .../base/ApiSettingLocalServiceBaseImpl.java | 598 +++++++++++ .../ApiSettingLocalServiceClpInvoker.java | 286 ++++++ .../base/ApiSettingServiceBaseImpl.java | 362 +++++++ .../base/ApiSettingServiceClpInvoker.java | 57 ++ .../base/SportelloLocalServiceBaseImpl.java | 64 ++ .../base/SportelloLocalServiceClpInvoker.java | 24 +- .../base/SportelloServiceBaseImpl.java | 64 ++ .../base/SportelloServiceClpInvoker.java | 24 +- .../service/http/ApiSettingServiceSoap.java | 58 ++ .../impl/ApiSettingLocalServiceImpl.java | 65 ++ .../service/impl/ApiSettingServiceImpl.java | 39 + .../ApiSettingPersistenceImpl.java | 967 ++++++++++++++++++ .../persistence/SportelloPersistenceImpl.java | 173 ++-- .../it/mwg/sicilia/sue/startup/Startup.java | 75 ++ .../docroot/WEB-INF/src/portal.properties | 1 + .../docroot/WEB-INF/src/service.properties | 4 +- .../html/administration/edit_sportello.jsp | 97 +- .../docroot/html/administration/view.jsp | 22 +- .../docroot/html/init.jsp | 1 + 78 files changed, 8249 insertions(+), 583 deletions(-) create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/.gitignore create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/liferay-hook.xml create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/NoSuchApiSettingException.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/ApiSetting.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/ApiSettingClp.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/ApiSettingModel.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/ApiSettingSoap.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/ApiSettingWrapper.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingLocalService.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingLocalServiceClp.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingLocalServiceUtil.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingLocalServiceWrapper.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingService.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingServiceClp.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingServiceUtil.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingServiceWrapper.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/ApiSettingActionableDynamicQuery.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/ApiSettingPersistence.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/ApiSettingUtil.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/content/Language.properties delete mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/common/Action.java delete mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Actions.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiConstants.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiUtil.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.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/CommandNop.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/ApiSettingBaseImpl.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/ApiSettingCacheModel.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/ApiSettingImpl.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/ApiSettingModelImpl.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/ApiSettingLocalServiceBaseImpl.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/ApiSettingLocalServiceClpInvoker.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/ApiSettingServiceBaseImpl.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/ApiSettingServiceClpInvoker.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/http/ApiSettingServiceSoap.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/ApiSettingLocalServiceImpl.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/ApiSettingServiceImpl.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/persistence/ApiSettingPersistenceImpl.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/startup/Startup.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/portal.properties 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 4d7a70e3..e7f25572 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 @@ -165,7 +165,6 @@ selectId: 'provinciaId', selectSort: true, selectVal: '0' - }, { select: 'comune', @@ -174,7 +173,6 @@ selectId: 'comuneId', selectSort: true, selectVal: '0' - }/*, { select: 'territorioId', diff --git a/liferay-plugins-sdk-6.2/portlets/portos-mail-manager-portlet/docroot/html/init.jsp b/liferay-plugins-sdk-6.2/portlets/portos-mail-manager-portlet/docroot/html/init.jsp index 51c865d9..f7a89418 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-mail-manager-portlet/docroot/html/init.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-mail-manager-portlet/docroot/html/init.jsp @@ -28,8 +28,6 @@ <%@page import="it.tref.liferay.portos.mailmanager.shared.util.MailManagerConstants"%> -<%@ page contentType="text/html; charset=UTF-8" %> - <%@page import="com.liferay.portal.kernel.util.GetterUtil"%> diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/.gitignore b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/.gitignore new file mode 100644 index 00000000..840e7d31 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/.gitignore @@ -0,0 +1 @@ +/classes/ 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 985e89cfbfbb6661d654326eec2dacc0bd27d57b..e1968be5228098e2538711af8117f01a8bf99955 100644 GIT binary patch delta 48353 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 delta 19911 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 diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/liferay-hook.xml b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/liferay-hook.xml new file mode 100644 index 00000000..812685cb --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/liferay-hook.xml @@ -0,0 +1,5 @@ + + + + portal.properties + \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/portlet.xml b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/portlet.xml index 49ff4f07..438a7819 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/portlet.xml +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/portlet.xml @@ -13,6 +13,7 @@ text/html + content.Language Sicilia SUE Connector Sicilia SUE Connector @@ -44,6 +45,7 @@ text/html view + content.Language Amministrazione Connettore SUE Amministrazione Connettore SUE diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service.xml b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service.xml index 4a3af20e..393d2f60 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service.xml +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service.xml @@ -15,13 +15,24 @@ - - - + + + + - - + + + + + + + + + + + + \ 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/NoSuchApiSettingException.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/NoSuchApiSettingException.java new file mode 100644 index 00000000..4ef11342 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/NoSuchApiSettingException.java @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue; + +import com.liferay.portal.NoSuchModelException; + +/** + * @author Manifattura Web Group Srl + */ +public class NoSuchApiSettingException extends NoSuchModelException { + + public NoSuchApiSettingException() { + super(); + } + + public NoSuchApiSettingException(String msg) { + super(msg); + } + + public NoSuchApiSettingException(String msg, Throwable cause) { + super(msg, cause); + } + + public NoSuchApiSettingException(Throwable cause) { + super(cause); + } + +} \ 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/ApiSetting.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/ApiSetting.java new file mode 100644 index 00000000..d4bc4913 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/ApiSetting.java @@ -0,0 +1,34 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.model; + +import com.liferay.portal.model.PersistedModel; + +/** + * The extended model interface for the ApiSetting service. Represents a row in the "sicilia_sue_ApiSetting" database table, with each column mapped to a property of this class. + * + * @author Manifattura Web Group Srl + * @see ApiSettingModel + * @see it.mwg.sicilia.sue.model.impl.ApiSettingImpl + * @see it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl + * @generated + */ +public interface ApiSetting extends ApiSettingModel, PersistedModel { + /* + * NOTE FOR DEVELOPERS: + * + * Never modify this interface directly. Add methods to {@link it.mwg.sicilia.sue.model.impl.ApiSettingImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface. + */ +} \ 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/ApiSettingClp.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/ApiSettingClp.java new file mode 100644 index 00000000..ce7910b1 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/ApiSettingClp.java @@ -0,0 +1,379 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.model; + +import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler; +import com.liferay.portal.kernel.exception.SystemException; +import com.liferay.portal.kernel.util.ProxyUtil; +import com.liferay.portal.kernel.util.StringBundler; +import com.liferay.portal.model.BaseModel; +import com.liferay.portal.model.impl.BaseModelImpl; + +import it.mwg.sicilia.sue.service.ApiSettingLocalServiceUtil; +import it.mwg.sicilia.sue.service.ClpSerializer; + +import java.io.Serializable; + +import java.lang.reflect.Method; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author Manifattura Web Group Srl + */ +public class ApiSettingClp extends BaseModelImpl + implements ApiSetting { + public ApiSettingClp() { + } + + @Override + public Class getModelClass() { + return ApiSetting.class; + } + + @Override + public String getModelClassName() { + return ApiSetting.class.getName(); + } + + @Override + public long getPrimaryKey() { + return _id; + } + + @Override + public void setPrimaryKey(long primaryKey) { + setId(primaryKey); + } + + @Override + public Serializable getPrimaryKeyObj() { + return _id; + } + + @Override + public void setPrimaryKeyObj(Serializable primaryKeyObj) { + setPrimaryKey(((Long)primaryKeyObj).longValue()); + } + + @Override + public Map getModelAttributes() { + Map attributes = new HashMap(); + + attributes.put("id", getId()); + attributes.put("companyId", getCompanyId()); + attributes.put("key", getKey()); + attributes.put("value", getValue()); + + return attributes; + } + + @Override + public void setModelAttributes(Map attributes) { + Long id = (Long)attributes.get("id"); + + if (id != null) { + setId(id); + } + + Long companyId = (Long)attributes.get("companyId"); + + if (companyId != null) { + setCompanyId(companyId); + } + + Long key = (Long)attributes.get("key"); + + if (key != null) { + setKey(key); + } + + String value = (String)attributes.get("value"); + + if (value != null) { + setValue(value); + } + } + + @Override + public long getId() { + return _id; + } + + @Override + public void setId(long id) { + _id = id; + + if (_apiSettingRemoteModel != null) { + try { + Class clazz = _apiSettingRemoteModel.getClass(); + + Method method = clazz.getMethod("setId", long.class); + + method.invoke(_apiSettingRemoteModel, id); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + + @Override + public long getCompanyId() { + return _companyId; + } + + @Override + public void setCompanyId(long companyId) { + _companyId = companyId; + + if (_apiSettingRemoteModel != null) { + try { + Class clazz = _apiSettingRemoteModel.getClass(); + + Method method = clazz.getMethod("setCompanyId", long.class); + + method.invoke(_apiSettingRemoteModel, companyId); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + + @Override + public long getKey() { + return _key; + } + + @Override + public void setKey(long key) { + _key = key; + + if (_apiSettingRemoteModel != null) { + try { + Class clazz = _apiSettingRemoteModel.getClass(); + + Method method = clazz.getMethod("setKey", long.class); + + method.invoke(_apiSettingRemoteModel, key); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + + @Override + public String getValue() { + return _value; + } + + @Override + public void setValue(String value) { + _value = value; + + if (_apiSettingRemoteModel != null) { + try { + Class clazz = _apiSettingRemoteModel.getClass(); + + Method method = clazz.getMethod("setValue", String.class); + + method.invoke(_apiSettingRemoteModel, value); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + + public BaseModel getApiSettingRemoteModel() { + return _apiSettingRemoteModel; + } + + public void setApiSettingRemoteModel(BaseModel apiSettingRemoteModel) { + _apiSettingRemoteModel = apiSettingRemoteModel; + } + + public Object invokeOnRemoteModel(String methodName, + Class[] parameterTypes, Object[] parameterValues) + throws Exception { + Object[] remoteParameterValues = new Object[parameterValues.length]; + + for (int i = 0; i < parameterValues.length; i++) { + if (parameterValues[i] != null) { + remoteParameterValues[i] = ClpSerializer.translateInput(parameterValues[i]); + } + } + + Class remoteModelClass = _apiSettingRemoteModel.getClass(); + + ClassLoader remoteModelClassLoader = remoteModelClass.getClassLoader(); + + Class[] remoteParameterTypes = new Class[parameterTypes.length]; + + for (int i = 0; i < parameterTypes.length; i++) { + if (parameterTypes[i].isPrimitive()) { + remoteParameterTypes[i] = parameterTypes[i]; + } + else { + String parameterTypeName = parameterTypes[i].getName(); + + remoteParameterTypes[i] = remoteModelClassLoader.loadClass(parameterTypeName); + } + } + + Method method = remoteModelClass.getMethod(methodName, + remoteParameterTypes); + + Object returnValue = method.invoke(_apiSettingRemoteModel, + remoteParameterValues); + + if (returnValue != null) { + returnValue = ClpSerializer.translateOutput(returnValue); + } + + return returnValue; + } + + @Override + public void persist() throws SystemException { + if (this.isNew()) { + ApiSettingLocalServiceUtil.addApiSetting(this); + } + else { + ApiSettingLocalServiceUtil.updateApiSetting(this); + } + } + + @Override + public ApiSetting toEscapedModel() { + return (ApiSetting)ProxyUtil.newProxyInstance(ApiSetting.class.getClassLoader(), + new Class[] { ApiSetting.class }, new AutoEscapeBeanHandler(this)); + } + + @Override + public Object clone() { + ApiSettingClp clone = new ApiSettingClp(); + + clone.setId(getId()); + clone.setCompanyId(getCompanyId()); + clone.setKey(getKey()); + clone.setValue(getValue()); + + return clone; + } + + @Override + public int compareTo(ApiSetting apiSetting) { + long primaryKey = apiSetting.getPrimaryKey(); + + if (getPrimaryKey() < primaryKey) { + return -1; + } + else if (getPrimaryKey() > primaryKey) { + return 1; + } + else { + return 0; + } + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + + if (!(obj instanceof ApiSettingClp)) { + return false; + } + + ApiSettingClp apiSetting = (ApiSettingClp)obj; + + long primaryKey = apiSetting.getPrimaryKey(); + + if (getPrimaryKey() == primaryKey) { + return true; + } + else { + return false; + } + } + + public Class getClpSerializerClass() { + return _clpSerializerClass; + } + + @Override + public int hashCode() { + return (int)getPrimaryKey(); + } + + @Override + public String toString() { + StringBundler sb = new StringBundler(9); + + sb.append("{id="); + sb.append(getId()); + sb.append(", companyId="); + sb.append(getCompanyId()); + sb.append(", key="); + sb.append(getKey()); + sb.append(", value="); + sb.append(getValue()); + sb.append("}"); + + return sb.toString(); + } + + @Override + public String toXmlString() { + StringBundler sb = new StringBundler(16); + + sb.append(""); + sb.append("it.mwg.sicilia.sue.model.ApiSetting"); + sb.append(""); + + sb.append( + "id"); + sb.append( + "companyId"); + sb.append( + "key"); + sb.append( + "value"); + + sb.append(""); + + return sb.toString(); + } + + private long _id; + private long _companyId; + private long _key; + private String _value; + private BaseModel _apiSettingRemoteModel; + private Class _clpSerializerClass = it.mwg.sicilia.sue.service.ClpSerializer.class; +} \ 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/ApiSettingModel.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/ApiSettingModel.java new file mode 100644 index 00000000..c6ea3753 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/ApiSettingModel.java @@ -0,0 +1,173 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.model; + +import com.liferay.portal.kernel.bean.AutoEscape; +import com.liferay.portal.model.BaseModel; +import com.liferay.portal.model.CacheModel; +import com.liferay.portal.service.ServiceContext; + +import com.liferay.portlet.expando.model.ExpandoBridge; + +import java.io.Serializable; + +/** + * The base model interface for the ApiSetting service. Represents a row in the "sicilia_sue_ApiSetting" database table, with each column mapped to a property of this class. + * + *

    + * This interface and its corresponding implementation {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link it.mwg.sicilia.sue.model.impl.ApiSettingImpl}. + *

    + * + * @author Manifattura Web Group Srl + * @see ApiSetting + * @see it.mwg.sicilia.sue.model.impl.ApiSettingImpl + * @see it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl + * @generated + */ +public interface ApiSettingModel extends BaseModel { + /* + * NOTE FOR DEVELOPERS: + * + * Never modify or reference this interface directly. All methods that expect a api setting model instance should use the {@link ApiSetting} interface instead. + */ + + /** + * Returns the primary key of this api setting. + * + * @return the primary key of this api setting + */ + public long getPrimaryKey(); + + /** + * Sets the primary key of this api setting. + * + * @param primaryKey the primary key of this api setting + */ + public void setPrimaryKey(long primaryKey); + + /** + * Returns the ID of this api setting. + * + * @return the ID of this api setting + */ + public long getId(); + + /** + * Sets the ID of this api setting. + * + * @param id the ID of this api setting + */ + public void setId(long id); + + /** + * Returns the company ID of this api setting. + * + * @return the company ID of this api setting + */ + public long getCompanyId(); + + /** + * Sets the company ID of this api setting. + * + * @param companyId the company ID of this api setting + */ + public void setCompanyId(long companyId); + + /** + * Returns the key of this api setting. + * + * @return the key of this api setting + */ + public long getKey(); + + /** + * Sets the key of this api setting. + * + * @param key the key of this api setting + */ + public void setKey(long key); + + /** + * Returns the value of this api setting. + * + * @return the value of this api setting + */ + @AutoEscape + public String getValue(); + + /** + * Sets the value of this api setting. + * + * @param value the value of this api setting + */ + public void setValue(String value); + + @Override + public boolean isNew(); + + @Override + public void setNew(boolean n); + + @Override + public boolean isCachedModel(); + + @Override + public void setCachedModel(boolean cachedModel); + + @Override + public boolean isEscapedModel(); + + @Override + public Serializable getPrimaryKeyObj(); + + @Override + public void setPrimaryKeyObj(Serializable primaryKeyObj); + + @Override + public ExpandoBridge getExpandoBridge(); + + @Override + public void setExpandoBridgeAttributes(BaseModel baseModel); + + @Override + public void setExpandoBridgeAttributes(ExpandoBridge expandoBridge); + + @Override + public void setExpandoBridgeAttributes(ServiceContext serviceContext); + + @Override + public Object clone(); + + @Override + public int compareTo(it.mwg.sicilia.sue.model.ApiSetting apiSetting); + + @Override + public int hashCode(); + + @Override + public CacheModel toCacheModel(); + + @Override + public it.mwg.sicilia.sue.model.ApiSetting toEscapedModel(); + + @Override + public it.mwg.sicilia.sue.model.ApiSetting toUnescapedModel(); + + @Override + public String toString(); + + @Override + public String toXmlString(); +} \ 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/ApiSettingSoap.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/ApiSettingSoap.java new file mode 100644 index 00000000..43988596 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/ApiSettingSoap.java @@ -0,0 +1,125 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.model; + +import java.io.Serializable; + +import java.util.ArrayList; +import java.util.List; + +/** + * This class is used by SOAP remote services, specifically {@link it.mwg.sicilia.sue.service.http.ApiSettingServiceSoap}. + * + * @author Manifattura Web Group Srl + * @see it.mwg.sicilia.sue.service.http.ApiSettingServiceSoap + * @generated + */ +public class ApiSettingSoap implements Serializable { + public static ApiSettingSoap toSoapModel(ApiSetting model) { + ApiSettingSoap soapModel = new ApiSettingSoap(); + + soapModel.setId(model.getId()); + soapModel.setCompanyId(model.getCompanyId()); + soapModel.setKey(model.getKey()); + soapModel.setValue(model.getValue()); + + return soapModel; + } + + public static ApiSettingSoap[] toSoapModels(ApiSetting[] models) { + ApiSettingSoap[] soapModels = new ApiSettingSoap[models.length]; + + for (int i = 0; i < models.length; i++) { + soapModels[i] = toSoapModel(models[i]); + } + + return soapModels; + } + + public static ApiSettingSoap[][] toSoapModels(ApiSetting[][] models) { + ApiSettingSoap[][] soapModels = null; + + if (models.length > 0) { + soapModels = new ApiSettingSoap[models.length][models[0].length]; + } + else { + soapModels = new ApiSettingSoap[0][0]; + } + + for (int i = 0; i < models.length; i++) { + soapModels[i] = toSoapModels(models[i]); + } + + return soapModels; + } + + public static ApiSettingSoap[] toSoapModels(List models) { + List soapModels = new ArrayList(models.size()); + + for (ApiSetting model : models) { + soapModels.add(toSoapModel(model)); + } + + return soapModels.toArray(new ApiSettingSoap[soapModels.size()]); + } + + public ApiSettingSoap() { + } + + public long getPrimaryKey() { + return _id; + } + + public void setPrimaryKey(long pk) { + setId(pk); + } + + public long getId() { + return _id; + } + + public void setId(long id) { + _id = id; + } + + public long getCompanyId() { + return _companyId; + } + + public void setCompanyId(long companyId) { + _companyId = companyId; + } + + public long getKey() { + return _key; + } + + public void setKey(long key) { + _key = key; + } + + public String getValue() { + return _value; + } + + public void setValue(String value) { + _value = value; + } + + private long _id; + private long _companyId; + private long _key; + private String _value; +} \ 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/ApiSettingWrapper.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/ApiSettingWrapper.java new file mode 100644 index 00000000..e9bad735 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/ApiSettingWrapper.java @@ -0,0 +1,327 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.model; + +import com.liferay.portal.kernel.util.Validator; +import com.liferay.portal.model.ModelWrapper; + +import java.util.HashMap; +import java.util.Map; + +/** + *

    + * This class is a wrapper for {@link ApiSetting}. + *

    + * + * @author Manifattura Web Group Srl + * @see ApiSetting + * @generated + */ +public class ApiSettingWrapper implements ApiSetting, ModelWrapper { + public ApiSettingWrapper(ApiSetting apiSetting) { + _apiSetting = apiSetting; + } + + @Override + public Class getModelClass() { + return ApiSetting.class; + } + + @Override + public String getModelClassName() { + return ApiSetting.class.getName(); + } + + @Override + public Map getModelAttributes() { + Map attributes = new HashMap(); + + attributes.put("id", getId()); + attributes.put("companyId", getCompanyId()); + attributes.put("key", getKey()); + attributes.put("value", getValue()); + + return attributes; + } + + @Override + public void setModelAttributes(Map attributes) { + Long id = (Long)attributes.get("id"); + + if (id != null) { + setId(id); + } + + Long companyId = (Long)attributes.get("companyId"); + + if (companyId != null) { + setCompanyId(companyId); + } + + Long key = (Long)attributes.get("key"); + + if (key != null) { + setKey(key); + } + + String value = (String)attributes.get("value"); + + if (value != null) { + setValue(value); + } + } + + /** + * Returns the primary key of this api setting. + * + * @return the primary key of this api setting + */ + @Override + public long getPrimaryKey() { + return _apiSetting.getPrimaryKey(); + } + + /** + * Sets the primary key of this api setting. + * + * @param primaryKey the primary key of this api setting + */ + @Override + public void setPrimaryKey(long primaryKey) { + _apiSetting.setPrimaryKey(primaryKey); + } + + /** + * Returns the ID of this api setting. + * + * @return the ID of this api setting + */ + @Override + public long getId() { + return _apiSetting.getId(); + } + + /** + * Sets the ID of this api setting. + * + * @param id the ID of this api setting + */ + @Override + public void setId(long id) { + _apiSetting.setId(id); + } + + /** + * Returns the company ID of this api setting. + * + * @return the company ID of this api setting + */ + @Override + public long getCompanyId() { + return _apiSetting.getCompanyId(); + } + + /** + * Sets the company ID of this api setting. + * + * @param companyId the company ID of this api setting + */ + @Override + public void setCompanyId(long companyId) { + _apiSetting.setCompanyId(companyId); + } + + /** + * Returns the key of this api setting. + * + * @return the key of this api setting + */ + @Override + public long getKey() { + return _apiSetting.getKey(); + } + + /** + * Sets the key of this api setting. + * + * @param key the key of this api setting + */ + @Override + public void setKey(long key) { + _apiSetting.setKey(key); + } + + /** + * Returns the value of this api setting. + * + * @return the value of this api setting + */ + @Override + public java.lang.String getValue() { + return _apiSetting.getValue(); + } + + /** + * Sets the value of this api setting. + * + * @param value the value of this api setting + */ + @Override + public void setValue(java.lang.String value) { + _apiSetting.setValue(value); + } + + @Override + public boolean isNew() { + return _apiSetting.isNew(); + } + + @Override + public void setNew(boolean n) { + _apiSetting.setNew(n); + } + + @Override + public boolean isCachedModel() { + return _apiSetting.isCachedModel(); + } + + @Override + public void setCachedModel(boolean cachedModel) { + _apiSetting.setCachedModel(cachedModel); + } + + @Override + public boolean isEscapedModel() { + return _apiSetting.isEscapedModel(); + } + + @Override + public java.io.Serializable getPrimaryKeyObj() { + return _apiSetting.getPrimaryKeyObj(); + } + + @Override + public void setPrimaryKeyObj(java.io.Serializable primaryKeyObj) { + _apiSetting.setPrimaryKeyObj(primaryKeyObj); + } + + @Override + public com.liferay.portlet.expando.model.ExpandoBridge getExpandoBridge() { + return _apiSetting.getExpandoBridge(); + } + + @Override + public void setExpandoBridgeAttributes( + com.liferay.portal.model.BaseModel baseModel) { + _apiSetting.setExpandoBridgeAttributes(baseModel); + } + + @Override + public void setExpandoBridgeAttributes( + com.liferay.portlet.expando.model.ExpandoBridge expandoBridge) { + _apiSetting.setExpandoBridgeAttributes(expandoBridge); + } + + @Override + public void setExpandoBridgeAttributes( + com.liferay.portal.service.ServiceContext serviceContext) { + _apiSetting.setExpandoBridgeAttributes(serviceContext); + } + + @Override + public java.lang.Object clone() { + return new ApiSettingWrapper((ApiSetting)_apiSetting.clone()); + } + + @Override + public int compareTo(it.mwg.sicilia.sue.model.ApiSetting apiSetting) { + return _apiSetting.compareTo(apiSetting); + } + + @Override + public int hashCode() { + return _apiSetting.hashCode(); + } + + @Override + public com.liferay.portal.model.CacheModel toCacheModel() { + return _apiSetting.toCacheModel(); + } + + @Override + public it.mwg.sicilia.sue.model.ApiSetting toEscapedModel() { + return new ApiSettingWrapper(_apiSetting.toEscapedModel()); + } + + @Override + public it.mwg.sicilia.sue.model.ApiSetting toUnescapedModel() { + return new ApiSettingWrapper(_apiSetting.toUnescapedModel()); + } + + @Override + public java.lang.String toString() { + return _apiSetting.toString(); + } + + @Override + public java.lang.String toXmlString() { + return _apiSetting.toXmlString(); + } + + @Override + public void persist() + throws com.liferay.portal.kernel.exception.SystemException { + _apiSetting.persist(); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + + if (!(obj instanceof ApiSettingWrapper)) { + return false; + } + + ApiSettingWrapper apiSettingWrapper = (ApiSettingWrapper)obj; + + if (Validator.equals(_apiSetting, apiSettingWrapper._apiSetting)) { + return true; + } + + return false; + } + + /** + * @deprecated As of 6.1.0, replaced by {@link #getWrappedModel} + */ + public ApiSetting getWrappedApiSetting() { + return _apiSetting; + } + + @Override + public ApiSetting getWrappedModel() { + return _apiSetting; + } + + @Override + public void resetOriginalValues() { + _apiSetting.resetOriginalValues(); + } + + private ApiSetting _apiSetting; +} \ 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/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 9f52c59f..898c8f84 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 @@ -31,4 +31,15 @@ public interface Sportello extends SportelloModel, PersistedModel { * * Never modify this interface directly. Add methods to {@link it.mwg.sicilia.sue.model.impl.SportelloImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface. */ + public java.lang.String getCodiceProvincia() + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException; + + public java.lang.String getNomeComune() + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException; + + public java.lang.String getNomeProvincia() + 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 c4561e05..597e5b92 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 @@ -81,9 +81,10 @@ public class SportelloClp extends BaseModelImpl implements Sportello attributes.put("userName", getUserName()); attributes.put("createDate", getCreateDate()); attributes.put("modifiedDate", getModifiedDate()); - attributes.put("loginName", getLoginName()); - attributes.put("password", getPassword()); - attributes.put("nonce", getNonce()); + attributes.put("email", getEmail()); + attributes.put("comuneId", getComuneId()); + attributes.put("apiKey", getApiKey()); + attributes.put("attivo", getAttivo()); return attributes; } @@ -132,22 +133,28 @@ public class SportelloClp extends BaseModelImpl implements Sportello setModifiedDate(modifiedDate); } - String loginName = (String)attributes.get("loginName"); + String email = (String)attributes.get("email"); - if (loginName != null) { - setLoginName(loginName); + if (email != null) { + setEmail(email); } - String password = (String)attributes.get("password"); + Long comuneId = (Long)attributes.get("comuneId"); - if (password != null) { - setPassword(password); + if (comuneId != null) { + setComuneId(comuneId); } - String nonce = (String)attributes.get("nonce"); + String apiKey = (String)attributes.get("apiKey"); - if (nonce != null) { - setNonce(nonce); + if (apiKey != null) { + setApiKey(apiKey); + } + + Boolean attivo = (Boolean)attributes.get("attivo"); + + if (attivo != null) { + setAttivo(attivo); } } @@ -323,21 +330,44 @@ public class SportelloClp extends BaseModelImpl implements Sportello } @Override - public String getLoginName() { - return _loginName; + public String getEmail() { + return _email; + } + + @Override + public void setEmail(String email) { + _email = email; + + if (_sportelloRemoteModel != null) { + try { + Class clazz = _sportelloRemoteModel.getClass(); + + Method method = clazz.getMethod("setEmail", String.class); + + method.invoke(_sportelloRemoteModel, email); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + + @Override + public long getComuneId() { + return _comuneId; } @Override - public void setLoginName(String loginName) { - _loginName = loginName; + public void setComuneId(long comuneId) { + _comuneId = comuneId; if (_sportelloRemoteModel != null) { try { Class clazz = _sportelloRemoteModel.getClass(); - Method method = clazz.getMethod("setLoginName", String.class); + Method method = clazz.getMethod("setComuneId", long.class); - method.invoke(_sportelloRemoteModel, loginName); + method.invoke(_sportelloRemoteModel, comuneId); } catch (Exception e) { throw new UnsupportedOperationException(e); @@ -346,21 +376,21 @@ public class SportelloClp extends BaseModelImpl implements Sportello } @Override - public String getPassword() { - return _password; + public String getApiKey() { + return _apiKey; } @Override - public void setPassword(String password) { - _password = password; + public void setApiKey(String apiKey) { + _apiKey = apiKey; if (_sportelloRemoteModel != null) { try { Class clazz = _sportelloRemoteModel.getClass(); - Method method = clazz.getMethod("setPassword", String.class); + Method method = clazz.getMethod("setApiKey", String.class); - method.invoke(_sportelloRemoteModel, password); + method.invoke(_sportelloRemoteModel, apiKey); } catch (Exception e) { throw new UnsupportedOperationException(e); @@ -369,21 +399,26 @@ public class SportelloClp extends BaseModelImpl implements Sportello } @Override - public String getNonce() { - return _nonce; + public boolean getAttivo() { + return _attivo; } @Override - public void setNonce(String nonce) { - _nonce = nonce; + public boolean isAttivo() { + return _attivo; + } + + @Override + public void setAttivo(boolean attivo) { + _attivo = attivo; if (_sportelloRemoteModel != null) { try { Class clazz = _sportelloRemoteModel.getClass(); - Method method = clazz.getMethod("setNonce", String.class); + Method method = clazz.getMethod("setAttivo", boolean.class); - method.invoke(_sportelloRemoteModel, nonce); + method.invoke(_sportelloRemoteModel, attivo); } catch (Exception e) { throw new UnsupportedOperationException(e); @@ -391,6 +426,63 @@ public class SportelloClp extends BaseModelImpl implements Sportello } } + @Override + public java.lang.String getNomeComune() { + try { + String methodName = "getNomeComune"; + + Class[] parameterTypes = new Class[] { }; + + Object[] parameterValues = new Object[] { }; + + java.lang.String returnObj = (java.lang.String)invokeOnRemoteModel(methodName, + parameterTypes, parameterValues); + + return returnObj; + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + + @Override + public java.lang.String getCodiceProvincia() { + try { + String methodName = "getCodiceProvincia"; + + Class[] parameterTypes = new Class[] { }; + + Object[] parameterValues = new Object[] { }; + + java.lang.String returnObj = (java.lang.String)invokeOnRemoteModel(methodName, + parameterTypes, parameterValues); + + return returnObj; + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + + @Override + public java.lang.String getNomeProvincia() { + try { + String methodName = "getNomeProvincia"; + + Class[] parameterTypes = new Class[] { }; + + Object[] parameterValues = new Object[] { }; + + java.lang.String returnObj = (java.lang.String)invokeOnRemoteModel(methodName, + parameterTypes, parameterValues); + + return returnObj; + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + public BaseModel getSportelloRemoteModel() { return _sportelloRemoteModel; } @@ -467,9 +559,10 @@ public class SportelloClp extends BaseModelImpl implements Sportello clone.setUserName(getUserName()); clone.setCreateDate(getCreateDate()); clone.setModifiedDate(getModifiedDate()); - clone.setLoginName(getLoginName()); - clone.setPassword(getPassword()); - clone.setNonce(getNonce()); + clone.setEmail(getEmail()); + clone.setComuneId(getComuneId()); + clone.setApiKey(getApiKey()); + clone.setAttivo(getAttivo()); return clone; } @@ -522,7 +615,7 @@ public class SportelloClp extends BaseModelImpl implements Sportello @Override public String toString() { - StringBundler sb = new StringBundler(21); + StringBundler sb = new StringBundler(23); sb.append("{sportelloId="); sb.append(getSportelloId()); @@ -538,12 +631,14 @@ public class SportelloClp extends BaseModelImpl implements Sportello sb.append(getCreateDate()); sb.append(", modifiedDate="); sb.append(getModifiedDate()); - sb.append(", loginName="); - sb.append(getLoginName()); - sb.append(", password="); - sb.append(getPassword()); - sb.append(", nonce="); - sb.append(getNonce()); + sb.append(", email="); + sb.append(getEmail()); + sb.append(", comuneId="); + sb.append(getComuneId()); + sb.append(", apiKey="); + sb.append(getApiKey()); + sb.append(", attivo="); + sb.append(getAttivo()); sb.append("}"); return sb.toString(); @@ -551,7 +646,7 @@ public class SportelloClp extends BaseModelImpl implements Sportello @Override public String toXmlString() { - StringBundler sb = new StringBundler(34); + StringBundler sb = new StringBundler(37); sb.append(""); sb.append("it.mwg.sicilia.sue.model.Sportello"); @@ -586,16 +681,20 @@ public class SportelloClp extends BaseModelImpl implements Sportello sb.append(getModifiedDate()); sb.append("]]>"); sb.append( - "loginNameemail"); + sb.append( + "comuneId"); sb.append( - "passwordapiKey"); sb.append( - "nonceattivo"); sb.append(""); @@ -611,9 +710,10 @@ public class SportelloClp extends BaseModelImpl implements Sportello private String _userName; private Date _createDate; private Date _modifiedDate; - private String _loginName; - private String _password; - private String _nonce; + private String _email; + private long _comuneId; + private String _apiKey; + private boolean _attivo; private BaseModel _sportelloRemoteModel; private Class _clpSerializerClass = it.mwg.sicilia.sue.service.ClpSerializer.class; } \ 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/SportelloModel.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloModel.java index bbe670cf..3bdf8ef4 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloModel.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloModel.java @@ -190,49 +190,69 @@ public interface SportelloModel extends BaseModel, GroupedModel { public void setModifiedDate(Date modifiedDate); /** - * Returns the login name of this sportello. + * Returns the email of this sportello. * - * @return the login name of this sportello + * @return the email of this sportello */ @AutoEscape - public String getLoginName(); + public String getEmail(); /** - * Sets the login name of this sportello. + * Sets the email of this sportello. * - * @param loginName the login name of this sportello + * @param email the email of this sportello */ - public void setLoginName(String loginName); + public void setEmail(String email); /** - * Returns the password of this sportello. + * Returns the comune ID of this sportello. * - * @return the password of this sportello + * @return the comune ID of this sportello */ - @AutoEscape - public String getPassword(); + public long getComuneId(); /** - * Sets the password of this sportello. + * Sets the comune ID of this sportello. * - * @param password the password of this sportello + * @param comuneId the comune ID of this sportello */ - public void setPassword(String password); + public void setComuneId(long comuneId); /** - * Returns the nonce of this sportello. + * Returns the api key of this sportello. * - * @return the nonce of this sportello + * @return the api key of this sportello */ @AutoEscape - public String getNonce(); + public String getApiKey(); + + /** + * Sets the api key of this sportello. + * + * @param apiKey the api key of this sportello + */ + public void setApiKey(String apiKey); + + /** + * Returns the attivo of this sportello. + * + * @return the attivo of this sportello + */ + public boolean getAttivo(); + + /** + * Returns true if this sportello is attivo. + * + * @return true if this sportello is attivo; false otherwise + */ + public boolean isAttivo(); /** - * Sets the nonce of this sportello. + * Sets whether this sportello is attivo. * - * @param nonce the nonce of this sportello + * @param attivo the attivo of this sportello */ - public void setNonce(String nonce); + public void setAttivo(boolean attivo); @Override public boolean isNew(); diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloSoap.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloSoap.java index 1dc57500..7ec35dff 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloSoap.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloSoap.java @@ -38,9 +38,10 @@ public class SportelloSoap implements Serializable { soapModel.setUserName(model.getUserName()); soapModel.setCreateDate(model.getCreateDate()); soapModel.setModifiedDate(model.getModifiedDate()); - soapModel.setLoginName(model.getLoginName()); - soapModel.setPassword(model.getPassword()); - soapModel.setNonce(model.getNonce()); + soapModel.setEmail(model.getEmail()); + soapModel.setComuneId(model.getComuneId()); + soapModel.setApiKey(model.getApiKey()); + soapModel.setAttivo(model.getAttivo()); return soapModel; } @@ -149,28 +150,40 @@ public class SportelloSoap implements Serializable { _modifiedDate = modifiedDate; } - public String getLoginName() { - return _loginName; + public String getEmail() { + return _email; } - public void setLoginName(String loginName) { - _loginName = loginName; + public void setEmail(String email) { + _email = email; } - public String getPassword() { - return _password; + public long getComuneId() { + return _comuneId; } - public void setPassword(String password) { - _password = password; + public void setComuneId(long comuneId) { + _comuneId = comuneId; } - public String getNonce() { - return _nonce; + public String getApiKey() { + return _apiKey; } - public void setNonce(String nonce) { - _nonce = nonce; + public void setApiKey(String apiKey) { + _apiKey = apiKey; + } + + public boolean getAttivo() { + return _attivo; + } + + public boolean isAttivo() { + return _attivo; + } + + public void setAttivo(boolean attivo) { + _attivo = attivo; } private long _sportelloId; @@ -180,7 +193,8 @@ public class SportelloSoap implements Serializable { private String _userName; private Date _createDate; private Date _modifiedDate; - private String _loginName; - private String _password; - private String _nonce; + private String _email; + private long _comuneId; + private String _apiKey; + private boolean _attivo; } \ 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/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 db1e12c2..3c13c9de 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 @@ -56,9 +56,10 @@ public class SportelloWrapper implements Sportello, ModelWrapper { attributes.put("userName", getUserName()); attributes.put("createDate", getCreateDate()); attributes.put("modifiedDate", getModifiedDate()); - attributes.put("loginName", getLoginName()); - attributes.put("password", getPassword()); - attributes.put("nonce", getNonce()); + attributes.put("email", getEmail()); + attributes.put("comuneId", getComuneId()); + attributes.put("apiKey", getApiKey()); + attributes.put("attivo", getAttivo()); return attributes; } @@ -107,22 +108,28 @@ public class SportelloWrapper implements Sportello, ModelWrapper { setModifiedDate(modifiedDate); } - String loginName = (String)attributes.get("loginName"); + String email = (String)attributes.get("email"); - if (loginName != null) { - setLoginName(loginName); + if (email != null) { + setEmail(email); } - String password = (String)attributes.get("password"); + Long comuneId = (Long)attributes.get("comuneId"); - if (password != null) { - setPassword(password); + if (comuneId != null) { + setComuneId(comuneId); } - String nonce = (String)attributes.get("nonce"); + String apiKey = (String)attributes.get("apiKey"); - if (nonce != null) { - setNonce(nonce); + if (apiKey != null) { + setApiKey(apiKey); + } + + Boolean attivo = (Boolean)attributes.get("attivo"); + + if (attivo != null) { + setAttivo(attivo); } } @@ -309,63 +316,93 @@ public class SportelloWrapper implements Sportello, ModelWrapper { } /** - * Returns the login name of this sportello. + * Returns the email of this sportello. + * + * @return the email of this sportello + */ + @Override + public java.lang.String getEmail() { + return _sportello.getEmail(); + } + + /** + * Sets the email of this sportello. + * + * @param email the email of this sportello + */ + @Override + public void setEmail(java.lang.String email) { + _sportello.setEmail(email); + } + + /** + * Returns the comune ID of this sportello. * - * @return the login name of this sportello + * @return the comune ID of this sportello */ @Override - public java.lang.String getLoginName() { - return _sportello.getLoginName(); + public long getComuneId() { + return _sportello.getComuneId(); } /** - * Sets the login name of this sportello. + * Sets the comune ID of this sportello. * - * @param loginName the login name of this sportello + * @param comuneId the comune ID of this sportello */ @Override - public void setLoginName(java.lang.String loginName) { - _sportello.setLoginName(loginName); + public void setComuneId(long comuneId) { + _sportello.setComuneId(comuneId); } /** - * Returns the password of this sportello. + * Returns the api key of this sportello. * - * @return the password of this sportello + * @return the api key of this sportello */ @Override - public java.lang.String getPassword() { - return _sportello.getPassword(); + public java.lang.String getApiKey() { + return _sportello.getApiKey(); } /** - * Sets the password of this sportello. + * Sets the api key of this sportello. * - * @param password the password of this sportello + * @param apiKey the api key of this sportello */ @Override - public void setPassword(java.lang.String password) { - _sportello.setPassword(password); + public void setApiKey(java.lang.String apiKey) { + _sportello.setApiKey(apiKey); } /** - * Returns the nonce of this sportello. + * Returns the attivo of this sportello. * - * @return the nonce of this sportello + * @return the attivo of this sportello */ @Override - public java.lang.String getNonce() { - return _sportello.getNonce(); + public boolean getAttivo() { + return _sportello.getAttivo(); } /** - * Sets the nonce of this sportello. + * Returns true if this sportello is attivo. * - * @param nonce the nonce of this sportello + * @return true if this sportello is attivo; false otherwise */ @Override - public void setNonce(java.lang.String nonce) { - _sportello.setNonce(nonce); + public boolean isAttivo() { + return _sportello.isAttivo(); + } + + /** + * Sets whether this sportello is attivo. + * + * @param attivo the attivo of this sportello + */ + @Override + public void setAttivo(boolean attivo) { + _sportello.setAttivo(attivo); } @Override @@ -472,6 +509,27 @@ public class SportelloWrapper implements Sportello, ModelWrapper { _sportello.persist(); } + @Override + public java.lang.String getCodiceProvincia() + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + return _sportello.getCodiceProvincia(); + } + + @Override + public java.lang.String getNomeComune() + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + return _sportello.getNomeComune(); + } + + @Override + public java.lang.String getNomeProvincia() + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + return _sportello.getNomeProvincia(); + } + @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/service/it/mwg/sicilia/sue/service/ApiSettingLocalService.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingLocalService.java new file mode 100644 index 00000000..758870e9 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingLocalService.java @@ -0,0 +1,259 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service; + +import com.liferay.portal.kernel.exception.PortalException; +import com.liferay.portal.kernel.exception.SystemException; +import com.liferay.portal.kernel.search.IndexableType; +import com.liferay.portal.kernel.transaction.Isolation; +import com.liferay.portal.kernel.transaction.Propagation; +import com.liferay.portal.kernel.transaction.Transactional; +import com.liferay.portal.service.BaseLocalService; +import com.liferay.portal.service.InvokableLocalService; +import com.liferay.portal.service.PersistedModelLocalService; + +/** + * Provides the local service interface for ApiSetting. Methods of this + * service will not have security checks based on the propagated JAAS + * credentials because this service can only be accessed from within the same + * VM. + * + * @author Manifattura Web Group Srl + * @see ApiSettingLocalServiceUtil + * @see it.mwg.sicilia.sue.service.base.ApiSettingLocalServiceBaseImpl + * @see it.mwg.sicilia.sue.service.impl.ApiSettingLocalServiceImpl + * @generated + */ +@Transactional(isolation = Isolation.PORTAL, rollbackFor = { + PortalException.class, SystemException.class}) +public interface ApiSettingLocalService extends BaseLocalService, + InvokableLocalService, PersistedModelLocalService { + /* + * NOTE FOR DEVELOPERS: + * + * Never modify or reference this interface directly. Always use {@link ApiSettingLocalServiceUtil} to access the api setting local service. Add custom service methods to {@link it.mwg.sicilia.sue.service.impl.ApiSettingLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface. + */ + + /** + * Adds the api setting to the database. Also notifies the appropriate model listeners. + * + * @param apiSetting the api setting + * @return the api setting that was added + * @throws SystemException if a system exception occurred + */ + @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX) + public it.mwg.sicilia.sue.model.ApiSetting addApiSetting( + it.mwg.sicilia.sue.model.ApiSetting apiSetting) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Creates a new api setting with the primary key. Does not add the api setting to the database. + * + * @param id the primary key for the new api setting + * @return the new api setting + */ + public it.mwg.sicilia.sue.model.ApiSetting createApiSetting(long id); + + /** + * Deletes the api setting with the primary key from the database. Also notifies the appropriate model listeners. + * + * @param id the primary key of the api setting + * @return the api setting that was removed + * @throws PortalException if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE) + public it.mwg.sicilia.sue.model.ApiSetting deleteApiSetting(long id) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException; + + /** + * Deletes the api setting from the database. Also notifies the appropriate model listeners. + * + * @param apiSetting the api setting + * @return the api setting that was removed + * @throws SystemException if a system exception occurred + */ + @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE) + public it.mwg.sicilia.sue.model.ApiSetting deleteApiSetting( + it.mwg.sicilia.sue.model.ApiSetting apiSetting) + throws com.liferay.portal.kernel.exception.SystemException; + + public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery(); + + /** + * Performs a dynamic query on the database and returns the matching rows. + * + * @param dynamicQuery the dynamic query + * @return the matching rows + * @throws SystemException if a system exception occurred + */ + @SuppressWarnings("rawtypes") + public java.util.List dynamicQuery( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Performs a dynamic query on the database and returns a range of the matching rows. + * + *

    + * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

    + * + * @param dynamicQuery the dynamic query + * @param start the lower bound of the range of model instances + * @param end the upper bound of the range of model instances (not inclusive) + * @return the range of matching rows + * @throws SystemException if a system exception occurred + */ + @SuppressWarnings("rawtypes") + public java.util.List dynamicQuery( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, + int end) throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Performs a dynamic query on the database and returns an ordered range of the matching rows. + * + *

    + * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

    + * + * @param dynamicQuery the dynamic query + * @param start the lower bound of the range of model instances + * @param end the upper bound of the range of model instances (not inclusive) + * @param orderByComparator the comparator to order the results by (optionally null) + * @return the ordered range of matching rows + * @throws SystemException if a system exception occurred + */ + @SuppressWarnings("rawtypes") + public java.util.List dynamicQuery( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, + int end, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns the number of rows that match the dynamic query. + * + * @param dynamicQuery the dynamic query + * @return the number of rows that match the dynamic query + * @throws SystemException if a system exception occurred + */ + public long dynamicQueryCount( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns the number of rows that match the dynamic query. + * + * @param dynamicQuery the dynamic query + * @param projection the projection to apply to the query + * @return the number of rows that match the dynamic query + * @throws SystemException if a system exception occurred + */ + public long dynamicQueryCount( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, + com.liferay.portal.kernel.dao.orm.Projection projection) + throws com.liferay.portal.kernel.exception.SystemException; + + @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) + public it.mwg.sicilia.sue.model.ApiSetting fetchApiSetting(long id) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns the api setting with the primary key. + * + * @param id the primary key of the api setting + * @return the api setting + * @throws PortalException if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) + public it.mwg.sicilia.sue.model.ApiSetting getApiSetting(long id) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException; + + @Override + @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) + public com.liferay.portal.model.PersistedModel getPersistedModel( + java.io.Serializable primaryKeyObj) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns a range of all the api settings. + * + *

    + * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

    + * + * @param start the lower bound of the range of api settings + * @param end the upper bound of the range of api settings (not inclusive) + * @return the range of api settings + * @throws SystemException if a system exception occurred + */ + @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) + public java.util.List getApiSettings( + int start, int end) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns the number of api settings. + * + * @return the number of api settings + * @throws SystemException if a system exception occurred + */ + @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) + public int getApiSettingsCount() + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Updates the api setting in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. + * + * @param apiSetting the api setting + * @return the api setting that was updated + * @throws SystemException if a system exception occurred + */ + @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX) + public it.mwg.sicilia.sue.model.ApiSetting updateApiSetting( + it.mwg.sicilia.sue.model.ApiSetting apiSetting) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns the Spring bean ID for this bean. + * + * @return the Spring bean ID for this bean + */ + public java.lang.String getBeanIdentifier(); + + /** + * Sets the Spring bean ID for this bean. + * + * @param beanIdentifier the Spring bean ID for this bean + */ + public void setBeanIdentifier(java.lang.String beanIdentifier); + + @Override + public java.lang.Object invokeMethod(java.lang.String name, + java.lang.String[] parameterTypes, java.lang.Object[] arguments) + throws java.lang.Throwable; + + @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) + public java.lang.String get(long companyId, long key) + throws com.liferay.portal.kernel.exception.SystemException; + + public void set(long companyId, long key, java.lang.String value) + throws 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/service/ApiSettingLocalServiceClp.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingLocalServiceClp.java new file mode 100644 index 00000000..c4af2bcc --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingLocalServiceClp.java @@ -0,0 +1,770 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service; + +import com.liferay.portal.service.InvokableLocalService; + +/** + * @author Manifattura Web Group Srl + * @generated + */ +public class ApiSettingLocalServiceClp implements ApiSettingLocalService { + public ApiSettingLocalServiceClp( + InvokableLocalService invokableLocalService) { + _invokableLocalService = invokableLocalService; + + _methodName0 = "addApiSetting"; + + _methodParameterTypes0 = new String[] { + "it.mwg.sicilia.sue.model.ApiSetting" + }; + + _methodName1 = "createApiSetting"; + + _methodParameterTypes1 = new String[] { "long" }; + + _methodName2 = "deleteApiSetting"; + + _methodParameterTypes2 = new String[] { "long" }; + + _methodName3 = "deleteApiSetting"; + + _methodParameterTypes3 = new String[] { + "it.mwg.sicilia.sue.model.ApiSetting" + }; + + _methodName4 = "dynamicQuery"; + + _methodParameterTypes4 = new String[] { }; + + _methodName5 = "dynamicQuery"; + + _methodParameterTypes5 = new String[] { + "com.liferay.portal.kernel.dao.orm.DynamicQuery" + }; + + _methodName6 = "dynamicQuery"; + + _methodParameterTypes6 = new String[] { + "com.liferay.portal.kernel.dao.orm.DynamicQuery", "int", "int" + }; + + _methodName7 = "dynamicQuery"; + + _methodParameterTypes7 = new String[] { + "com.liferay.portal.kernel.dao.orm.DynamicQuery", "int", "int", + "com.liferay.portal.kernel.util.OrderByComparator" + }; + + _methodName8 = "dynamicQueryCount"; + + _methodParameterTypes8 = new String[] { + "com.liferay.portal.kernel.dao.orm.DynamicQuery" + }; + + _methodName9 = "dynamicQueryCount"; + + _methodParameterTypes9 = new String[] { + "com.liferay.portal.kernel.dao.orm.DynamicQuery", + "com.liferay.portal.kernel.dao.orm.Projection" + }; + + _methodName10 = "fetchApiSetting"; + + _methodParameterTypes10 = new String[] { "long" }; + + _methodName11 = "getApiSetting"; + + _methodParameterTypes11 = new String[] { "long" }; + + _methodName12 = "getPersistedModel"; + + _methodParameterTypes12 = new String[] { "java.io.Serializable" }; + + _methodName13 = "getApiSettings"; + + _methodParameterTypes13 = new String[] { "int", "int" }; + + _methodName14 = "getApiSettingsCount"; + + _methodParameterTypes14 = new String[] { }; + + _methodName15 = "updateApiSetting"; + + _methodParameterTypes15 = new String[] { + "it.mwg.sicilia.sue.model.ApiSetting" + }; + + _methodName16 = "getBeanIdentifier"; + + _methodParameterTypes16 = new String[] { }; + + _methodName17 = "setBeanIdentifier"; + + _methodParameterTypes17 = new String[] { "java.lang.String" }; + + _methodName19 = "get"; + + _methodParameterTypes19 = new String[] { "long", "long" }; + + _methodName20 = "set"; + + _methodParameterTypes20 = new String[] { + "long", "long", "java.lang.String" + }; + } + + @Override + public it.mwg.sicilia.sue.model.ApiSetting addApiSetting( + it.mwg.sicilia.sue.model.ApiSetting apiSetting) + throws com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName0, + _methodParameterTypes0, + new Object[] { ClpSerializer.translateInput(apiSetting) }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (it.mwg.sicilia.sue.model.ApiSetting)ClpSerializer.translateOutput(returnObj); + } + + @Override + public it.mwg.sicilia.sue.model.ApiSetting createApiSetting(long id) { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName1, + _methodParameterTypes1, new Object[] { id }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (it.mwg.sicilia.sue.model.ApiSetting)ClpSerializer.translateOutput(returnObj); + } + + @Override + public it.mwg.sicilia.sue.model.ApiSetting deleteApiSetting(long id) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName2, + _methodParameterTypes2, new Object[] { id }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.PortalException) { + throw (com.liferay.portal.kernel.exception.PortalException)t; + } + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (it.mwg.sicilia.sue.model.ApiSetting)ClpSerializer.translateOutput(returnObj); + } + + @Override + public it.mwg.sicilia.sue.model.ApiSetting deleteApiSetting( + it.mwg.sicilia.sue.model.ApiSetting apiSetting) + throws com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName3, + _methodParameterTypes3, + new Object[] { ClpSerializer.translateInput(apiSetting) }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (it.mwg.sicilia.sue.model.ApiSetting)ClpSerializer.translateOutput(returnObj); + } + + @Override + public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery() { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName4, + _methodParameterTypes4, new Object[] { }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (com.liferay.portal.kernel.dao.orm.DynamicQuery)ClpSerializer.translateOutput(returnObj); + } + + @Override + @SuppressWarnings("rawtypes") + public java.util.List dynamicQuery( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) + throws com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName5, + _methodParameterTypes5, + new Object[] { ClpSerializer.translateInput(dynamicQuery) }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (java.util.List)ClpSerializer.translateOutput(returnObj); + } + + @Override + @SuppressWarnings("rawtypes") + public java.util.List dynamicQuery( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, + int end) throws com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName6, + _methodParameterTypes6, + new Object[] { + ClpSerializer.translateInput(dynamicQuery), + + start, + + end + }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (java.util.List)ClpSerializer.translateOutput(returnObj); + } + + @Override + @SuppressWarnings("rawtypes") + public java.util.List dynamicQuery( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, + int end, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName7, + _methodParameterTypes7, + new Object[] { + ClpSerializer.translateInput(dynamicQuery), + + start, + + end, + + ClpSerializer.translateInput(orderByComparator) + }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (java.util.List)ClpSerializer.translateOutput(returnObj); + } + + @Override + public long dynamicQueryCount( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) + throws com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName8, + _methodParameterTypes8, + new Object[] { ClpSerializer.translateInput(dynamicQuery) }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return ((Long)returnObj).longValue(); + } + + @Override + public long dynamicQueryCount( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, + com.liferay.portal.kernel.dao.orm.Projection projection) + throws com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName9, + _methodParameterTypes9, + new Object[] { + ClpSerializer.translateInput(dynamicQuery), + + ClpSerializer.translateInput(projection) + }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return ((Long)returnObj).longValue(); + } + + @Override + public it.mwg.sicilia.sue.model.ApiSetting fetchApiSetting(long id) + throws com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName10, + _methodParameterTypes10, new Object[] { id }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (it.mwg.sicilia.sue.model.ApiSetting)ClpSerializer.translateOutput(returnObj); + } + + @Override + public it.mwg.sicilia.sue.model.ApiSetting getApiSetting(long id) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName11, + _methodParameterTypes11, new Object[] { id }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.PortalException) { + throw (com.liferay.portal.kernel.exception.PortalException)t; + } + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (it.mwg.sicilia.sue.model.ApiSetting)ClpSerializer.translateOutput(returnObj); + } + + @Override + public com.liferay.portal.model.PersistedModel getPersistedModel( + java.io.Serializable primaryKeyObj) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName12, + _methodParameterTypes12, + new Object[] { ClpSerializer.translateInput(primaryKeyObj) }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.PortalException) { + throw (com.liferay.portal.kernel.exception.PortalException)t; + } + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (com.liferay.portal.model.PersistedModel)ClpSerializer.translateOutput(returnObj); + } + + @Override + public java.util.List getApiSettings( + int start, int end) + throws com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName13, + _methodParameterTypes13, new Object[] { start, end }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (java.util.List)ClpSerializer.translateOutput(returnObj); + } + + @Override + public int getApiSettingsCount() + throws com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName14, + _methodParameterTypes14, new Object[] { }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return ((Integer)returnObj).intValue(); + } + + @Override + public it.mwg.sicilia.sue.model.ApiSetting updateApiSetting( + it.mwg.sicilia.sue.model.ApiSetting apiSetting) + throws com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName15, + _methodParameterTypes15, + new Object[] { ClpSerializer.translateInput(apiSetting) }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (it.mwg.sicilia.sue.model.ApiSetting)ClpSerializer.translateOutput(returnObj); + } + + @Override + public java.lang.String getBeanIdentifier() { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName16, + _methodParameterTypes16, new Object[] { }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (java.lang.String)ClpSerializer.translateOutput(returnObj); + } + + @Override + public void setBeanIdentifier(java.lang.String beanIdentifier) { + try { + _invokableLocalService.invokeMethod(_methodName17, + _methodParameterTypes17, + new Object[] { ClpSerializer.translateInput(beanIdentifier) }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + } + + @Override + public java.lang.Object invokeMethod(java.lang.String name, + java.lang.String[] parameterTypes, java.lang.Object[] arguments) + throws java.lang.Throwable { + throw new UnsupportedOperationException(); + } + + @Override + public java.lang.String get(long companyId, long key) + throws com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName19, + _methodParameterTypes19, new Object[] { companyId, key }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (java.lang.String)ClpSerializer.translateOutput(returnObj); + } + + @Override + public void set(long companyId, long key, java.lang.String value) + throws com.liferay.portal.kernel.exception.SystemException { + try { + _invokableLocalService.invokeMethod(_methodName20, + _methodParameterTypes20, + new Object[] { companyId, key, ClpSerializer.translateInput( + value) }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + } + + private InvokableLocalService _invokableLocalService; + private String _methodName0; + private String[] _methodParameterTypes0; + private String _methodName1; + private String[] _methodParameterTypes1; + private String _methodName2; + private String[] _methodParameterTypes2; + private String _methodName3; + private String[] _methodParameterTypes3; + private String _methodName4; + private String[] _methodParameterTypes4; + private String _methodName5; + private String[] _methodParameterTypes5; + private String _methodName6; + private String[] _methodParameterTypes6; + private String _methodName7; + private String[] _methodParameterTypes7; + private String _methodName8; + private String[] _methodParameterTypes8; + private String _methodName9; + private String[] _methodParameterTypes9; + private String _methodName10; + private String[] _methodParameterTypes10; + private String _methodName11; + private String[] _methodParameterTypes11; + private String _methodName12; + private String[] _methodParameterTypes12; + private String _methodName13; + private String[] _methodParameterTypes13; + private String _methodName14; + private String[] _methodParameterTypes14; + private String _methodName15; + private String[] _methodParameterTypes15; + private String _methodName16; + private String[] _methodParameterTypes16; + private String _methodName17; + private String[] _methodParameterTypes17; + private String _methodName19; + private String[] _methodParameterTypes19; + private String _methodName20; + private String[] _methodParameterTypes20; +} \ 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/service/ApiSettingLocalServiceUtil.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingLocalServiceUtil.java new file mode 100644 index 00000000..b650eed0 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingLocalServiceUtil.java @@ -0,0 +1,314 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service; + +import com.liferay.portal.kernel.bean.PortletBeanLocatorUtil; +import com.liferay.portal.kernel.util.ReferenceRegistry; +import com.liferay.portal.service.InvokableLocalService; + +/** + * Provides the local service utility for ApiSetting. This utility wraps + * {@link it.mwg.sicilia.sue.service.impl.ApiSettingLocalServiceImpl} and is the + * primary access point for service operations in application layer code running + * on the local server. Methods of this service will not have security checks + * based on the propagated JAAS credentials because this service can only be + * accessed from within the same VM. + * + * @author Manifattura Web Group Srl + * @see ApiSettingLocalService + * @see it.mwg.sicilia.sue.service.base.ApiSettingLocalServiceBaseImpl + * @see it.mwg.sicilia.sue.service.impl.ApiSettingLocalServiceImpl + * @generated + */ +public class ApiSettingLocalServiceUtil { + /* + * NOTE FOR DEVELOPERS: + * + * Never modify this class directly. Add custom service methods to {@link it.mwg.sicilia.sue.service.impl.ApiSettingLocalServiceImpl} and rerun ServiceBuilder to regenerate this class. + */ + + /** + * Adds the api setting to the database. Also notifies the appropriate model listeners. + * + * @param apiSetting the api setting + * @return the api setting that was added + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.ApiSetting addApiSetting( + it.mwg.sicilia.sue.model.ApiSetting apiSetting) + throws com.liferay.portal.kernel.exception.SystemException { + return getService().addApiSetting(apiSetting); + } + + /** + * Creates a new api setting with the primary key. Does not add the api setting to the database. + * + * @param id the primary key for the new api setting + * @return the new api setting + */ + public static it.mwg.sicilia.sue.model.ApiSetting createApiSetting(long id) { + return getService().createApiSetting(id); + } + + /** + * Deletes the api setting with the primary key from the database. Also notifies the appropriate model listeners. + * + * @param id the primary key of the api setting + * @return the api setting that was removed + * @throws PortalException if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.ApiSetting deleteApiSetting(long id) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + return getService().deleteApiSetting(id); + } + + /** + * Deletes the api setting from the database. Also notifies the appropriate model listeners. + * + * @param apiSetting the api setting + * @return the api setting that was removed + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.ApiSetting deleteApiSetting( + it.mwg.sicilia.sue.model.ApiSetting apiSetting) + throws com.liferay.portal.kernel.exception.SystemException { + return getService().deleteApiSetting(apiSetting); + } + + public static com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery() { + return getService().dynamicQuery(); + } + + /** + * Performs a dynamic query on the database and returns the matching rows. + * + * @param dynamicQuery the dynamic query + * @return the matching rows + * @throws SystemException if a system exception occurred + */ + @SuppressWarnings("rawtypes") + public static java.util.List dynamicQuery( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) + throws com.liferay.portal.kernel.exception.SystemException { + return getService().dynamicQuery(dynamicQuery); + } + + /** + * Performs a dynamic query on the database and returns a range of the matching rows. + * + *

    + * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

    + * + * @param dynamicQuery the dynamic query + * @param start the lower bound of the range of model instances + * @param end the upper bound of the range of model instances (not inclusive) + * @return the range of matching rows + * @throws SystemException if a system exception occurred + */ + @SuppressWarnings("rawtypes") + public static java.util.List dynamicQuery( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, + int end) throws com.liferay.portal.kernel.exception.SystemException { + return getService().dynamicQuery(dynamicQuery, start, end); + } + + /** + * Performs a dynamic query on the database and returns an ordered range of the matching rows. + * + *

    + * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

    + * + * @param dynamicQuery the dynamic query + * @param start the lower bound of the range of model instances + * @param end the upper bound of the range of model instances (not inclusive) + * @param orderByComparator the comparator to order the results by (optionally null) + * @return the ordered range of matching rows + * @throws SystemException if a system exception occurred + */ + @SuppressWarnings("rawtypes") + public static java.util.List dynamicQuery( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, + int end, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException { + return getService() + .dynamicQuery(dynamicQuery, start, end, orderByComparator); + } + + /** + * Returns the number of rows that match the dynamic query. + * + * @param dynamicQuery the dynamic query + * @return the number of rows that match the dynamic query + * @throws SystemException if a system exception occurred + */ + public static long dynamicQueryCount( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) + throws com.liferay.portal.kernel.exception.SystemException { + return getService().dynamicQueryCount(dynamicQuery); + } + + /** + * Returns the number of rows that match the dynamic query. + * + * @param dynamicQuery the dynamic query + * @param projection the projection to apply to the query + * @return the number of rows that match the dynamic query + * @throws SystemException if a system exception occurred + */ + public static long dynamicQueryCount( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, + com.liferay.portal.kernel.dao.orm.Projection projection) + throws com.liferay.portal.kernel.exception.SystemException { + return getService().dynamicQueryCount(dynamicQuery, projection); + } + + public static it.mwg.sicilia.sue.model.ApiSetting fetchApiSetting(long id) + throws com.liferay.portal.kernel.exception.SystemException { + return getService().fetchApiSetting(id); + } + + /** + * Returns the api setting with the primary key. + * + * @param id the primary key of the api setting + * @return the api setting + * @throws PortalException if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.ApiSetting getApiSetting(long id) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + return getService().getApiSetting(id); + } + + public static com.liferay.portal.model.PersistedModel getPersistedModel( + java.io.Serializable primaryKeyObj) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + return getService().getPersistedModel(primaryKeyObj); + } + + /** + * Returns a range of all the api settings. + * + *

    + * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

    + * + * @param start the lower bound of the range of api settings + * @param end the upper bound of the range of api settings (not inclusive) + * @return the range of api settings + * @throws SystemException if a system exception occurred + */ + public static java.util.List getApiSettings( + int start, int end) + throws com.liferay.portal.kernel.exception.SystemException { + return getService().getApiSettings(start, end); + } + + /** + * Returns the number of api settings. + * + * @return the number of api settings + * @throws SystemException if a system exception occurred + */ + public static int getApiSettingsCount() + throws com.liferay.portal.kernel.exception.SystemException { + return getService().getApiSettingsCount(); + } + + /** + * Updates the api setting in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. + * + * @param apiSetting the api setting + * @return the api setting that was updated + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.ApiSetting updateApiSetting( + it.mwg.sicilia.sue.model.ApiSetting apiSetting) + throws com.liferay.portal.kernel.exception.SystemException { + return getService().updateApiSetting(apiSetting); + } + + /** + * Returns the Spring bean ID for this bean. + * + * @return the Spring bean ID for this bean + */ + public static java.lang.String getBeanIdentifier() { + return getService().getBeanIdentifier(); + } + + /** + * Sets the Spring bean ID for this bean. + * + * @param beanIdentifier the Spring bean ID for this bean + */ + public static void setBeanIdentifier(java.lang.String beanIdentifier) { + getService().setBeanIdentifier(beanIdentifier); + } + + public static java.lang.Object invokeMethod(java.lang.String name, + java.lang.String[] parameterTypes, java.lang.Object[] arguments) + throws java.lang.Throwable { + return getService().invokeMethod(name, parameterTypes, arguments); + } + + public static java.lang.String get(long companyId, long key) + throws com.liferay.portal.kernel.exception.SystemException { + return getService().get(companyId, key); + } + + public static void set(long companyId, long key, java.lang.String value) + throws com.liferay.portal.kernel.exception.SystemException { + getService().set(companyId, key, value); + } + + public static void clearService() { + _service = null; + } + + public static ApiSettingLocalService getService() { + if (_service == null) { + InvokableLocalService invokableLocalService = (InvokableLocalService)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(), + ApiSettingLocalService.class.getName()); + + if (invokableLocalService instanceof ApiSettingLocalService) { + _service = (ApiSettingLocalService)invokableLocalService; + } + else { + _service = new ApiSettingLocalServiceClp(invokableLocalService); + } + + ReferenceRegistry.registerReference(ApiSettingLocalServiceUtil.class, + "_service"); + } + + return _service; + } + + /** + * @deprecated As of 6.2.0 + */ + public void setService(ApiSettingLocalService service) { + } + + private static ApiSettingLocalService _service; +} \ 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/service/ApiSettingLocalServiceWrapper.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingLocalServiceWrapper.java new file mode 100644 index 00000000..3143fb5e --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingLocalServiceWrapper.java @@ -0,0 +1,324 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service; + +import com.liferay.portal.service.ServiceWrapper; + +/** + * Provides a wrapper for {@link ApiSettingLocalService}. + * + * @author Manifattura Web Group Srl + * @see ApiSettingLocalService + * @generated + */ +public class ApiSettingLocalServiceWrapper implements ApiSettingLocalService, + ServiceWrapper { + public ApiSettingLocalServiceWrapper( + ApiSettingLocalService apiSettingLocalService) { + _apiSettingLocalService = apiSettingLocalService; + } + + /** + * Adds the api setting to the database. Also notifies the appropriate model listeners. + * + * @param apiSetting the api setting + * @return the api setting that was added + * @throws SystemException if a system exception occurred + */ + @Override + public it.mwg.sicilia.sue.model.ApiSetting addApiSetting( + it.mwg.sicilia.sue.model.ApiSetting apiSetting) + throws com.liferay.portal.kernel.exception.SystemException { + return _apiSettingLocalService.addApiSetting(apiSetting); + } + + /** + * Creates a new api setting with the primary key. Does not add the api setting to the database. + * + * @param id the primary key for the new api setting + * @return the new api setting + */ + @Override + public it.mwg.sicilia.sue.model.ApiSetting createApiSetting(long id) { + return _apiSettingLocalService.createApiSetting(id); + } + + /** + * Deletes the api setting with the primary key from the database. Also notifies the appropriate model listeners. + * + * @param id the primary key of the api setting + * @return the api setting that was removed + * @throws PortalException if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public it.mwg.sicilia.sue.model.ApiSetting deleteApiSetting(long id) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + return _apiSettingLocalService.deleteApiSetting(id); + } + + /** + * Deletes the api setting from the database. Also notifies the appropriate model listeners. + * + * @param apiSetting the api setting + * @return the api setting that was removed + * @throws SystemException if a system exception occurred + */ + @Override + public it.mwg.sicilia.sue.model.ApiSetting deleteApiSetting( + it.mwg.sicilia.sue.model.ApiSetting apiSetting) + throws com.liferay.portal.kernel.exception.SystemException { + return _apiSettingLocalService.deleteApiSetting(apiSetting); + } + + @Override + public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery() { + return _apiSettingLocalService.dynamicQuery(); + } + + /** + * Performs a dynamic query on the database and returns the matching rows. + * + * @param dynamicQuery the dynamic query + * @return the matching rows + * @throws SystemException if a system exception occurred + */ + @Override + @SuppressWarnings("rawtypes") + public java.util.List dynamicQuery( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) + throws com.liferay.portal.kernel.exception.SystemException { + return _apiSettingLocalService.dynamicQuery(dynamicQuery); + } + + /** + * Performs a dynamic query on the database and returns a range of the matching rows. + * + *

    + * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

    + * + * @param dynamicQuery the dynamic query + * @param start the lower bound of the range of model instances + * @param end the upper bound of the range of model instances (not inclusive) + * @return the range of matching rows + * @throws SystemException if a system exception occurred + */ + @Override + @SuppressWarnings("rawtypes") + public java.util.List dynamicQuery( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, + int end) throws com.liferay.portal.kernel.exception.SystemException { + return _apiSettingLocalService.dynamicQuery(dynamicQuery, start, end); + } + + /** + * Performs a dynamic query on the database and returns an ordered range of the matching rows. + * + *

    + * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

    + * + * @param dynamicQuery the dynamic query + * @param start the lower bound of the range of model instances + * @param end the upper bound of the range of model instances (not inclusive) + * @param orderByComparator the comparator to order the results by (optionally null) + * @return the ordered range of matching rows + * @throws SystemException if a system exception occurred + */ + @Override + @SuppressWarnings("rawtypes") + public java.util.List dynamicQuery( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, + int end, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException { + return _apiSettingLocalService.dynamicQuery(dynamicQuery, start, end, + orderByComparator); + } + + /** + * Returns the number of rows that match the dynamic query. + * + * @param dynamicQuery the dynamic query + * @return the number of rows that match the dynamic query + * @throws SystemException if a system exception occurred + */ + @Override + public long dynamicQueryCount( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) + throws com.liferay.portal.kernel.exception.SystemException { + return _apiSettingLocalService.dynamicQueryCount(dynamicQuery); + } + + /** + * Returns the number of rows that match the dynamic query. + * + * @param dynamicQuery the dynamic query + * @param projection the projection to apply to the query + * @return the number of rows that match the dynamic query + * @throws SystemException if a system exception occurred + */ + @Override + public long dynamicQueryCount( + com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, + com.liferay.portal.kernel.dao.orm.Projection projection) + throws com.liferay.portal.kernel.exception.SystemException { + return _apiSettingLocalService.dynamicQueryCount(dynamicQuery, + projection); + } + + @Override + public it.mwg.sicilia.sue.model.ApiSetting fetchApiSetting(long id) + throws com.liferay.portal.kernel.exception.SystemException { + return _apiSettingLocalService.fetchApiSetting(id); + } + + /** + * Returns the api setting with the primary key. + * + * @param id the primary key of the api setting + * @return the api setting + * @throws PortalException if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public it.mwg.sicilia.sue.model.ApiSetting getApiSetting(long id) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + return _apiSettingLocalService.getApiSetting(id); + } + + @Override + public com.liferay.portal.model.PersistedModel getPersistedModel( + java.io.Serializable primaryKeyObj) + throws com.liferay.portal.kernel.exception.PortalException, + com.liferay.portal.kernel.exception.SystemException { + return _apiSettingLocalService.getPersistedModel(primaryKeyObj); + } + + /** + * Returns a range of all the api settings. + * + *

    + * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

    + * + * @param start the lower bound of the range of api settings + * @param end the upper bound of the range of api settings (not inclusive) + * @return the range of api settings + * @throws SystemException if a system exception occurred + */ + @Override + public java.util.List getApiSettings( + int start, int end) + throws com.liferay.portal.kernel.exception.SystemException { + return _apiSettingLocalService.getApiSettings(start, end); + } + + /** + * Returns the number of api settings. + * + * @return the number of api settings + * @throws SystemException if a system exception occurred + */ + @Override + public int getApiSettingsCount() + throws com.liferay.portal.kernel.exception.SystemException { + return _apiSettingLocalService.getApiSettingsCount(); + } + + /** + * Updates the api setting in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. + * + * @param apiSetting the api setting + * @return the api setting that was updated + * @throws SystemException if a system exception occurred + */ + @Override + public it.mwg.sicilia.sue.model.ApiSetting updateApiSetting( + it.mwg.sicilia.sue.model.ApiSetting apiSetting) + throws com.liferay.portal.kernel.exception.SystemException { + return _apiSettingLocalService.updateApiSetting(apiSetting); + } + + /** + * Returns the Spring bean ID for this bean. + * + * @return the Spring bean ID for this bean + */ + @Override + public java.lang.String getBeanIdentifier() { + return _apiSettingLocalService.getBeanIdentifier(); + } + + /** + * Sets the Spring bean ID for this bean. + * + * @param beanIdentifier the Spring bean ID for this bean + */ + @Override + public void setBeanIdentifier(java.lang.String beanIdentifier) { + _apiSettingLocalService.setBeanIdentifier(beanIdentifier); + } + + @Override + public java.lang.Object invokeMethod(java.lang.String name, + java.lang.String[] parameterTypes, java.lang.Object[] arguments) + throws java.lang.Throwable { + return _apiSettingLocalService.invokeMethod(name, parameterTypes, + arguments); + } + + @Override + public java.lang.String get(long companyId, long key) + throws com.liferay.portal.kernel.exception.SystemException { + return _apiSettingLocalService.get(companyId, key); + } + + @Override + public void set(long companyId, long key, java.lang.String value) + throws com.liferay.portal.kernel.exception.SystemException { + _apiSettingLocalService.set(companyId, key, value); + } + + /** + * @deprecated As of 6.1.0, replaced by {@link #getWrappedService} + */ + public ApiSettingLocalService getWrappedApiSettingLocalService() { + return _apiSettingLocalService; + } + + /** + * @deprecated As of 6.1.0, replaced by {@link #setWrappedService} + */ + public void setWrappedApiSettingLocalService( + ApiSettingLocalService apiSettingLocalService) { + _apiSettingLocalService = apiSettingLocalService; + } + + @Override + public ApiSettingLocalService getWrappedService() { + return _apiSettingLocalService; + } + + @Override + public void setWrappedService(ApiSettingLocalService apiSettingLocalService) { + _apiSettingLocalService = apiSettingLocalService; + } + + private ApiSettingLocalService _apiSettingLocalService; +} \ 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/service/ApiSettingService.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingService.java new file mode 100644 index 00000000..3d571148 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingService.java @@ -0,0 +1,66 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service; + +import com.liferay.portal.kernel.exception.PortalException; +import com.liferay.portal.kernel.exception.SystemException; +import com.liferay.portal.kernel.jsonwebservice.JSONWebService; +import com.liferay.portal.kernel.transaction.Isolation; +import com.liferay.portal.kernel.transaction.Transactional; +import com.liferay.portal.security.ac.AccessControlled; +import com.liferay.portal.service.BaseService; +import com.liferay.portal.service.InvokableService; + +/** + * Provides the remote service interface for ApiSetting. Methods of this + * service are expected to have security checks based on the propagated JAAS + * credentials because this service can be accessed remotely. + * + * @author Manifattura Web Group Srl + * @see ApiSettingServiceUtil + * @see it.mwg.sicilia.sue.service.base.ApiSettingServiceBaseImpl + * @see it.mwg.sicilia.sue.service.impl.ApiSettingServiceImpl + * @generated + */ +@AccessControlled +@JSONWebService +@Transactional(isolation = Isolation.PORTAL, rollbackFor = { + PortalException.class, SystemException.class}) +public interface ApiSettingService extends BaseService, InvokableService { + /* + * NOTE FOR DEVELOPERS: + * + * Never modify or reference this interface directly. Always use {@link ApiSettingServiceUtil} to access the api setting remote service. Add custom service methods to {@link it.mwg.sicilia.sue.service.impl.ApiSettingServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface. + */ + + /** + * Returns the Spring bean ID for this bean. + * + * @return the Spring bean ID for this bean + */ + public java.lang.String getBeanIdentifier(); + + /** + * Sets the Spring bean ID for this bean. + * + * @param beanIdentifier the Spring bean ID for this bean + */ + public void setBeanIdentifier(java.lang.String beanIdentifier); + + @Override + public java.lang.Object invokeMethod(java.lang.String name, + java.lang.String[] parameterTypes, java.lang.Object[] arguments) + throws java.lang.Throwable; +} \ 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/service/ApiSettingServiceClp.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingServiceClp.java new file mode 100644 index 00000000..600b99be --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingServiceClp.java @@ -0,0 +1,91 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service; + +import com.liferay.portal.service.InvokableService; + +/** + * @author Manifattura Web Group Srl + * @generated + */ +public class ApiSettingServiceClp implements ApiSettingService { + public ApiSettingServiceClp(InvokableService invokableService) { + _invokableService = invokableService; + + _methodName0 = "getBeanIdentifier"; + + _methodParameterTypes0 = new String[] { }; + + _methodName1 = "setBeanIdentifier"; + + _methodParameterTypes1 = new String[] { "java.lang.String" }; + } + + @Override + public java.lang.String getBeanIdentifier() { + Object returnObj = null; + + try { + returnObj = _invokableService.invokeMethod(_methodName0, + _methodParameterTypes0, new Object[] { }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (java.lang.String)ClpSerializer.translateOutput(returnObj); + } + + @Override + public void setBeanIdentifier(java.lang.String beanIdentifier) { + try { + _invokableService.invokeMethod(_methodName1, + _methodParameterTypes1, + new Object[] { ClpSerializer.translateInput(beanIdentifier) }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + } + + @Override + public java.lang.Object invokeMethod(java.lang.String name, + java.lang.String[] parameterTypes, java.lang.Object[] arguments) + throws java.lang.Throwable { + throw new UnsupportedOperationException(); + } + + private InvokableService _invokableService; + private String _methodName0; + private String[] _methodParameterTypes0; + private String _methodName1; + private String[] _methodParameterTypes1; +} \ 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/service/ApiSettingServiceUtil.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingServiceUtil.java new file mode 100644 index 00000000..9fee48ea --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingServiceUtil.java @@ -0,0 +1,96 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service; + +import com.liferay.portal.kernel.bean.PortletBeanLocatorUtil; +import com.liferay.portal.kernel.util.ReferenceRegistry; +import com.liferay.portal.service.InvokableService; + +/** + * Provides the remote service utility for ApiSetting. This utility wraps + * {@link it.mwg.sicilia.sue.service.impl.ApiSettingServiceImpl} and is the + * primary access point for service operations in application layer code running + * on a remote server. Methods of this service are expected to have security + * checks based on the propagated JAAS credentials because this service can be + * accessed remotely. + * + * @author Manifattura Web Group Srl + * @see ApiSettingService + * @see it.mwg.sicilia.sue.service.base.ApiSettingServiceBaseImpl + * @see it.mwg.sicilia.sue.service.impl.ApiSettingServiceImpl + * @generated + */ +public class ApiSettingServiceUtil { + /* + * NOTE FOR DEVELOPERS: + * + * Never modify this class directly. Add custom service methods to {@link it.mwg.sicilia.sue.service.impl.ApiSettingServiceImpl} and rerun ServiceBuilder to regenerate this class. + */ + + /** + * Returns the Spring bean ID for this bean. + * + * @return the Spring bean ID for this bean + */ + public static java.lang.String getBeanIdentifier() { + return getService().getBeanIdentifier(); + } + + /** + * Sets the Spring bean ID for this bean. + * + * @param beanIdentifier the Spring bean ID for this bean + */ + public static void setBeanIdentifier(java.lang.String beanIdentifier) { + getService().setBeanIdentifier(beanIdentifier); + } + + public static java.lang.Object invokeMethod(java.lang.String name, + java.lang.String[] parameterTypes, java.lang.Object[] arguments) + throws java.lang.Throwable { + return getService().invokeMethod(name, parameterTypes, arguments); + } + + public static void clearService() { + _service = null; + } + + public static ApiSettingService getService() { + if (_service == null) { + InvokableService invokableService = (InvokableService)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(), + ApiSettingService.class.getName()); + + if (invokableService instanceof ApiSettingService) { + _service = (ApiSettingService)invokableService; + } + else { + _service = new ApiSettingServiceClp(invokableService); + } + + ReferenceRegistry.registerReference(ApiSettingServiceUtil.class, + "_service"); + } + + return _service; + } + + /** + * @deprecated As of 6.2.0 + */ + public void setService(ApiSettingService service) { + } + + private static ApiSettingService _service; +} \ 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/service/ApiSettingServiceWrapper.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingServiceWrapper.java new file mode 100644 index 00000000..afbe6285 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ApiSettingServiceWrapper.java @@ -0,0 +1,84 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service; + +import com.liferay.portal.service.ServiceWrapper; + +/** + * Provides a wrapper for {@link ApiSettingService}. + * + * @author Manifattura Web Group Srl + * @see ApiSettingService + * @generated + */ +public class ApiSettingServiceWrapper implements ApiSettingService, + ServiceWrapper { + public ApiSettingServiceWrapper(ApiSettingService apiSettingService) { + _apiSettingService = apiSettingService; + } + + /** + * Returns the Spring bean ID for this bean. + * + * @return the Spring bean ID for this bean + */ + @Override + public java.lang.String getBeanIdentifier() { + return _apiSettingService.getBeanIdentifier(); + } + + /** + * Sets the Spring bean ID for this bean. + * + * @param beanIdentifier the Spring bean ID for this bean + */ + @Override + public void setBeanIdentifier(java.lang.String beanIdentifier) { + _apiSettingService.setBeanIdentifier(beanIdentifier); + } + + @Override + public java.lang.Object invokeMethod(java.lang.String name, + java.lang.String[] parameterTypes, java.lang.Object[] arguments) + throws java.lang.Throwable { + return _apiSettingService.invokeMethod(name, parameterTypes, arguments); + } + + /** + * @deprecated As of 6.1.0, replaced by {@link #getWrappedService} + */ + public ApiSettingService getWrappedApiSettingService() { + return _apiSettingService; + } + + /** + * @deprecated As of 6.1.0, replaced by {@link #setWrappedService} + */ + public void setWrappedApiSettingService(ApiSettingService apiSettingService) { + _apiSettingService = apiSettingService; + } + + @Override + public ApiSettingService getWrappedService() { + return _apiSettingService; + } + + @Override + public void setWrappedService(ApiSettingService apiSettingService) { + _apiSettingService = apiSettingService; + } + + private ApiSettingService _apiSettingService; +} \ 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/service/ClpSerializer.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ClpSerializer.java index 6b4b8f5d..64bec69d 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ClpSerializer.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ClpSerializer.java @@ -25,6 +25,7 @@ import com.liferay.portal.kernel.util.PropsUtil; import com.liferay.portal.kernel.util.Validator; import com.liferay.portal.model.BaseModel; +import it.mwg.sicilia.sue.model.ApiSettingClp; import it.mwg.sicilia.sue.model.SportelloClp; import java.io.ObjectInputStream; @@ -102,6 +103,10 @@ public class ClpSerializer { String oldModelClassName = oldModelClass.getName(); + if (oldModelClassName.equals(ApiSettingClp.class.getName())) { + return translateInputApiSetting(oldModel); + } + if (oldModelClassName.equals(SportelloClp.class.getName())) { return translateInputSportello(oldModel); } @@ -121,6 +126,16 @@ public class ClpSerializer { return newList; } + public static Object translateInputApiSetting(BaseModel oldModel) { + ApiSettingClp oldClpModel = (ApiSettingClp)oldModel; + + BaseModel newModel = oldClpModel.getApiSettingRemoteModel(); + + newModel.setModelAttributes(oldClpModel.getModelAttributes()); + + return newModel; + } + public static Object translateInputSportello(BaseModel oldModel) { SportelloClp oldClpModel = (SportelloClp)oldModel; @@ -148,6 +163,43 @@ public class ClpSerializer { String oldModelClassName = oldModelClass.getName(); + if (oldModelClassName.equals( + "it.mwg.sicilia.sue.model.impl.ApiSettingImpl")) { + return translateOutputApiSetting(oldModel); + } + else if (oldModelClassName.endsWith("Clp")) { + try { + ClassLoader classLoader = ClpSerializer.class.getClassLoader(); + + Method getClpSerializerClassMethod = oldModelClass.getMethod( + "getClpSerializerClass"); + + Class oldClpSerializerClass = (Class)getClpSerializerClassMethod.invoke(oldModel); + + Class newClpSerializerClass = classLoader.loadClass(oldClpSerializerClass.getName()); + + Method translateOutputMethod = newClpSerializerClass.getMethod("translateOutput", + BaseModel.class); + + Class oldModelModelClass = oldModel.getModelClass(); + + Method getRemoteModelMethod = oldModelClass.getMethod("get" + + oldModelModelClass.getSimpleName() + "RemoteModel"); + + Object oldRemoteModel = getRemoteModelMethod.invoke(oldModel); + + BaseModel newModel = (BaseModel)translateOutputMethod.invoke(null, + oldRemoteModel); + + return newModel; + } + catch (Throwable t) { + if (_log.isInfoEnabled()) { + _log.info("Unable to translate " + oldModelClassName, t); + } + } + } + if (oldModelClassName.equals( "it.mwg.sicilia.sue.model.impl.SportelloImpl")) { return translateOutputSportello(oldModel); @@ -265,6 +317,10 @@ public class ClpSerializer { return new SystemException(); } + if (className.equals("it.mwg.sicilia.sue.NoSuchApiSettingException")) { + return new it.mwg.sicilia.sue.NoSuchApiSettingException(); + } + if (className.equals("it.mwg.sicilia.sue.NoSuchSportelloException")) { return new it.mwg.sicilia.sue.NoSuchSportelloException(); } @@ -272,6 +328,16 @@ public class ClpSerializer { return throwable; } + public static Object translateOutputApiSetting(BaseModel oldModel) { + ApiSettingClp newModel = new ApiSettingClp(); + + newModel.setModelAttributes(oldModel.getModelAttributes()); + + newModel.setApiSettingRemoteModel(oldModel); + + return newModel; + } + public static Object translateOutputSportello(BaseModel oldModel) { SportelloClp newModel = new SportelloClp(); diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/messaging/ClpMessageListener.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/messaging/ClpMessageListener.java index 732ec594..553700ea 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/messaging/ClpMessageListener.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/messaging/ClpMessageListener.java @@ -17,6 +17,8 @@ package it.mwg.sicilia.sue.service.messaging; import com.liferay.portal.kernel.messaging.BaseMessageListener; import com.liferay.portal.kernel.messaging.Message; +import it.mwg.sicilia.sue.service.ApiSettingLocalServiceUtil; +import it.mwg.sicilia.sue.service.ApiSettingServiceUtil; import it.mwg.sicilia.sue.service.ClpSerializer; import it.mwg.sicilia.sue.service.SportelloLocalServiceUtil; import it.mwg.sicilia.sue.service.SportelloServiceUtil; @@ -36,6 +38,9 @@ public class ClpMessageListener extends BaseMessageListener { if (command.equals("undeploy") && servletContextName.equals(getServletContextName())) { + ApiSettingLocalServiceUtil.clearService(); + + ApiSettingServiceUtil.clearService(); SportelloLocalServiceUtil.clearService(); SportelloServiceUtil.clearService(); diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/ApiSettingActionableDynamicQuery.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/ApiSettingActionableDynamicQuery.java new file mode 100644 index 00000000..72d8ec57 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/ApiSettingActionableDynamicQuery.java @@ -0,0 +1,37 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service.persistence; + +import com.liferay.portal.kernel.dao.orm.BaseActionableDynamicQuery; +import com.liferay.portal.kernel.exception.SystemException; + +import it.mwg.sicilia.sue.model.ApiSetting; +import it.mwg.sicilia.sue.service.ApiSettingLocalServiceUtil; + +/** + * @author Manifattura Web Group Srl + * @generated + */ +public abstract class ApiSettingActionableDynamicQuery + extends BaseActionableDynamicQuery { + public ApiSettingActionableDynamicQuery() throws SystemException { + setBaseLocalService(ApiSettingLocalServiceUtil.getService()); + setClass(ApiSetting.class); + + setClassLoader(it.mwg.sicilia.sue.service.ClpSerializer.class.getClassLoader()); + + setPrimaryKeyPropertyName("id"); + } +} \ 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/service/persistence/ApiSettingPersistence.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/ApiSettingPersistence.java new file mode 100644 index 00000000..7f227b5a --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/ApiSettingPersistence.java @@ -0,0 +1,223 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service.persistence; + +import com.liferay.portal.service.persistence.BasePersistence; + +import it.mwg.sicilia.sue.model.ApiSetting; + +/** + * The persistence interface for the api setting service. + * + *

    + * Caching information and settings can be found in portal.properties + *

    + * + * @author Manifattura Web Group Srl + * @see ApiSettingPersistenceImpl + * @see ApiSettingUtil + * @generated + */ +public interface ApiSettingPersistence extends BasePersistence { + /* + * NOTE FOR DEVELOPERS: + * + * Never modify or reference this interface directly. Always use {@link ApiSettingUtil} to access the api setting persistence. Modify service.xml and rerun ServiceBuilder to regenerate this interface. + */ + + /** + * Returns the api setting where companyId = ? and key = ? or throws a {@link it.mwg.sicilia.sue.NoSuchApiSettingException} if it could not be found. + * + * @param companyId the company ID + * @param key the key + * @return the matching api setting + * @throws it.mwg.sicilia.sue.NoSuchApiSettingException if a matching api setting could not be found + * @throws SystemException if a system exception occurred + */ + public it.mwg.sicilia.sue.model.ApiSetting findByCompanyIdKey( + long companyId, long key) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchApiSettingException; + + /** + * Returns the api setting where companyId = ? and key = ? or returns null if it could not be found. Uses the finder cache. + * + * @param companyId the company ID + * @param key the key + * @return the matching api setting, or null if a matching api setting could not be found + * @throws SystemException if a system exception occurred + */ + public it.mwg.sicilia.sue.model.ApiSetting fetchByCompanyIdKey( + long companyId, long key) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns the api setting where companyId = ? and key = ? or returns null if it could not be found, optionally using the finder cache. + * + * @param companyId the company ID + * @param key the key + * @param retrieveFromCache whether to use the finder cache + * @return the matching api setting, or null if a matching api setting could not be found + * @throws SystemException if a system exception occurred + */ + public it.mwg.sicilia.sue.model.ApiSetting fetchByCompanyIdKey( + long companyId, long key, boolean retrieveFromCache) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Removes the api setting where companyId = ? and key = ? from the database. + * + * @param companyId the company ID + * @param key the key + * @return the api setting that was removed + * @throws SystemException if a system exception occurred + */ + public it.mwg.sicilia.sue.model.ApiSetting removeByCompanyIdKey( + long companyId, long key) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchApiSettingException; + + /** + * Returns the number of api settings where companyId = ? and key = ?. + * + * @param companyId the company ID + * @param key the key + * @return the number of matching api settings + * @throws SystemException if a system exception occurred + */ + public int countByCompanyIdKey(long companyId, long key) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Caches the api setting in the entity cache if it is enabled. + * + * @param apiSetting the api setting + */ + public void cacheResult(it.mwg.sicilia.sue.model.ApiSetting apiSetting); + + /** + * Caches the api settings in the entity cache if it is enabled. + * + * @param apiSettings the api settings + */ + public void cacheResult( + java.util.List apiSettings); + + /** + * Creates a new api setting with the primary key. Does not add the api setting to the database. + * + * @param id the primary key for the new api setting + * @return the new api setting + */ + public it.mwg.sicilia.sue.model.ApiSetting create(long id); + + /** + * Removes the api setting with the primary key from the database. Also notifies the appropriate model listeners. + * + * @param id the primary key of the api setting + * @return the api setting that was removed + * @throws it.mwg.sicilia.sue.NoSuchApiSettingException if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + public it.mwg.sicilia.sue.model.ApiSetting remove(long id) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchApiSettingException; + + public it.mwg.sicilia.sue.model.ApiSetting updateImpl( + it.mwg.sicilia.sue.model.ApiSetting apiSetting) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns the api setting with the primary key or throws a {@link it.mwg.sicilia.sue.NoSuchApiSettingException} if it could not be found. + * + * @param id the primary key of the api setting + * @return the api setting + * @throws it.mwg.sicilia.sue.NoSuchApiSettingException if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + public it.mwg.sicilia.sue.model.ApiSetting findByPrimaryKey(long id) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchApiSettingException; + + /** + * Returns the api setting with the primary key or returns null if it could not be found. + * + * @param id the primary key of the api setting + * @return the api setting, or null if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + public it.mwg.sicilia.sue.model.ApiSetting fetchByPrimaryKey(long id) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns all the api settings. + * + * @return the api settings + * @throws SystemException if a system exception occurred + */ + public java.util.List findAll() + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns a range of all the api settings. + * + *

    + * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

    + * + * @param start the lower bound of the range of api settings + * @param end the upper bound of the range of api settings (not inclusive) + * @return the range of api settings + * @throws SystemException if a system exception occurred + */ + public java.util.List findAll( + int start, int end) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns an ordered range of all the api settings. + * + *

    + * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

    + * + * @param start the lower bound of the range of api settings + * @param end the upper bound of the range of api settings (not inclusive) + * @param orderByComparator the comparator to order the results by (optionally null) + * @return the ordered range of api settings + * @throws SystemException if a system exception occurred + */ + public java.util.List findAll( + int start, int end, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Removes all the api settings from the database. + * + * @throws SystemException if a system exception occurred + */ + public void removeAll() + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns the number of api settings. + * + * @return the number of api settings + * @throws SystemException if a system exception occurred + */ + public int countAll() + throws 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/service/persistence/ApiSettingUtil.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/ApiSettingUtil.java new file mode 100644 index 00000000..9cf3f1da --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/ApiSettingUtil.java @@ -0,0 +1,352 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service.persistence; + +import com.liferay.portal.kernel.bean.PortletBeanLocatorUtil; +import com.liferay.portal.kernel.dao.orm.DynamicQuery; +import com.liferay.portal.kernel.exception.SystemException; +import com.liferay.portal.kernel.util.OrderByComparator; +import com.liferay.portal.kernel.util.ReferenceRegistry; +import com.liferay.portal.service.ServiceContext; + +import it.mwg.sicilia.sue.model.ApiSetting; + +import java.util.List; + +/** + * The persistence utility for the api setting service. This utility wraps {@link ApiSettingPersistenceImpl} and provides direct access to the database for CRUD operations. This utility should only be used by the service layer, as it must operate within a transaction. Never access this utility in a JSP, controller, model, or other front-end class. + * + *

    + * Caching information and settings can be found in portal.properties + *

    + * + * @author Manifattura Web Group Srl + * @see ApiSettingPersistence + * @see ApiSettingPersistenceImpl + * @generated + */ +public class ApiSettingUtil { + /* + * NOTE FOR DEVELOPERS: + * + * Never modify this class directly. Modify service.xml and rerun ServiceBuilder to regenerate this class. + */ + + /** + * @see com.liferay.portal.service.persistence.BasePersistence#clearCache() + */ + public static void clearCache() { + getPersistence().clearCache(); + } + + /** + * @see com.liferay.portal.service.persistence.BasePersistence#clearCache(com.liferay.portal.model.BaseModel) + */ + public static void clearCache(ApiSetting apiSetting) { + getPersistence().clearCache(apiSetting); + } + + /** + * @see com.liferay.portal.service.persistence.BasePersistence#countWithDynamicQuery(DynamicQuery) + */ + public static long countWithDynamicQuery(DynamicQuery dynamicQuery) + throws SystemException { + return getPersistence().countWithDynamicQuery(dynamicQuery); + } + + /** + * @see com.liferay.portal.service.persistence.BasePersistence#findWithDynamicQuery(DynamicQuery) + */ + public static List findWithDynamicQuery( + DynamicQuery dynamicQuery) throws SystemException { + return getPersistence().findWithDynamicQuery(dynamicQuery); + } + + /** + * @see com.liferay.portal.service.persistence.BasePersistence#findWithDynamicQuery(DynamicQuery, int, int) + */ + public static List findWithDynamicQuery( + DynamicQuery dynamicQuery, int start, int end) + throws SystemException { + return getPersistence().findWithDynamicQuery(dynamicQuery, start, end); + } + + /** + * @see com.liferay.portal.service.persistence.BasePersistence#findWithDynamicQuery(DynamicQuery, int, int, OrderByComparator) + */ + public static List findWithDynamicQuery( + DynamicQuery dynamicQuery, int start, int end, + OrderByComparator orderByComparator) throws SystemException { + return getPersistence() + .findWithDynamicQuery(dynamicQuery, start, end, + orderByComparator); + } + + /** + * @see com.liferay.portal.service.persistence.BasePersistence#update(com.liferay.portal.model.BaseModel) + */ + public static ApiSetting update(ApiSetting apiSetting) + throws SystemException { + return getPersistence().update(apiSetting); + } + + /** + * @see com.liferay.portal.service.persistence.BasePersistence#update(com.liferay.portal.model.BaseModel, ServiceContext) + */ + public static ApiSetting update(ApiSetting apiSetting, + ServiceContext serviceContext) throws SystemException { + return getPersistence().update(apiSetting, serviceContext); + } + + /** + * Returns the api setting where companyId = ? and key = ? or throws a {@link it.mwg.sicilia.sue.NoSuchApiSettingException} if it could not be found. + * + * @param companyId the company ID + * @param key the key + * @return the matching api setting + * @throws it.mwg.sicilia.sue.NoSuchApiSettingException if a matching api setting could not be found + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.ApiSetting findByCompanyIdKey( + long companyId, long key) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchApiSettingException { + return getPersistence().findByCompanyIdKey(companyId, key); + } + + /** + * Returns the api setting where companyId = ? and key = ? or returns null if it could not be found. Uses the finder cache. + * + * @param companyId the company ID + * @param key the key + * @return the matching api setting, or null if a matching api setting could not be found + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.ApiSetting fetchByCompanyIdKey( + long companyId, long key) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence().fetchByCompanyIdKey(companyId, key); + } + + /** + * Returns the api setting where companyId = ? and key = ? or returns null if it could not be found, optionally using the finder cache. + * + * @param companyId the company ID + * @param key the key + * @param retrieveFromCache whether to use the finder cache + * @return the matching api setting, or null if a matching api setting could not be found + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.ApiSetting fetchByCompanyIdKey( + long companyId, long key, boolean retrieveFromCache) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence() + .fetchByCompanyIdKey(companyId, key, retrieveFromCache); + } + + /** + * Removes the api setting where companyId = ? and key = ? from the database. + * + * @param companyId the company ID + * @param key the key + * @return the api setting that was removed + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.ApiSetting removeByCompanyIdKey( + long companyId, long key) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchApiSettingException { + return getPersistence().removeByCompanyIdKey(companyId, key); + } + + /** + * Returns the number of api settings where companyId = ? and key = ?. + * + * @param companyId the company ID + * @param key the key + * @return the number of matching api settings + * @throws SystemException if a system exception occurred + */ + public static int countByCompanyIdKey(long companyId, long key) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence().countByCompanyIdKey(companyId, key); + } + + /** + * Caches the api setting in the entity cache if it is enabled. + * + * @param apiSetting the api setting + */ + public static void cacheResult( + it.mwg.sicilia.sue.model.ApiSetting apiSetting) { + getPersistence().cacheResult(apiSetting); + } + + /** + * Caches the api settings in the entity cache if it is enabled. + * + * @param apiSettings the api settings + */ + public static void cacheResult( + java.util.List apiSettings) { + getPersistence().cacheResult(apiSettings); + } + + /** + * Creates a new api setting with the primary key. Does not add the api setting to the database. + * + * @param id the primary key for the new api setting + * @return the new api setting + */ + public static it.mwg.sicilia.sue.model.ApiSetting create(long id) { + return getPersistence().create(id); + } + + /** + * Removes the api setting with the primary key from the database. Also notifies the appropriate model listeners. + * + * @param id the primary key of the api setting + * @return the api setting that was removed + * @throws it.mwg.sicilia.sue.NoSuchApiSettingException if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.ApiSetting remove(long id) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchApiSettingException { + return getPersistence().remove(id); + } + + public static it.mwg.sicilia.sue.model.ApiSetting updateImpl( + it.mwg.sicilia.sue.model.ApiSetting apiSetting) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence().updateImpl(apiSetting); + } + + /** + * Returns the api setting with the primary key or throws a {@link it.mwg.sicilia.sue.NoSuchApiSettingException} if it could not be found. + * + * @param id the primary key of the api setting + * @return the api setting + * @throws it.mwg.sicilia.sue.NoSuchApiSettingException if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.ApiSetting findByPrimaryKey(long id) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchApiSettingException { + return getPersistence().findByPrimaryKey(id); + } + + /** + * Returns the api setting with the primary key or returns null if it could not be found. + * + * @param id the primary key of the api setting + * @return the api setting, or null if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.ApiSetting fetchByPrimaryKey(long id) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence().fetchByPrimaryKey(id); + } + + /** + * Returns all the api settings. + * + * @return the api settings + * @throws SystemException if a system exception occurred + */ + public static java.util.List findAll() + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence().findAll(); + } + + /** + * Returns a range of all the api settings. + * + *

    + * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

    + * + * @param start the lower bound of the range of api settings + * @param end the upper bound of the range of api settings (not inclusive) + * @return the range of api settings + * @throws SystemException if a system exception occurred + */ + public static java.util.List findAll( + int start, int end) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence().findAll(start, end); + } + + /** + * Returns an ordered range of all the api settings. + * + *

    + * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

    + * + * @param start the lower bound of the range of api settings + * @param end the upper bound of the range of api settings (not inclusive) + * @param orderByComparator the comparator to order the results by (optionally null) + * @return the ordered range of api settings + * @throws SystemException if a system exception occurred + */ + public static java.util.List findAll( + int start, int end, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence().findAll(start, end, orderByComparator); + } + + /** + * Removes all the api settings from the database. + * + * @throws SystemException if a system exception occurred + */ + public static void removeAll() + throws com.liferay.portal.kernel.exception.SystemException { + getPersistence().removeAll(); + } + + /** + * Returns the number of api settings. + * + * @return the number of api settings + * @throws SystemException if a system exception occurred + */ + public static int countAll() + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence().countAll(); + } + + public static ApiSettingPersistence getPersistence() { + if (_persistence == null) { + _persistence = (ApiSettingPersistence)PortletBeanLocatorUtil.locate(it.mwg.sicilia.sue.service.ClpSerializer.getServletContextName(), + ApiSettingPersistence.class.getName()); + + ReferenceRegistry.registerReference(ApiSettingUtil.class, + "_persistence"); + } + + return _persistence; + } + + /** + * @deprecated As of 6.2.0 + */ + public void setPersistence(ApiSettingPersistence persistence) { + } + + private static ApiSettingPersistence _persistence; +} \ 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/service/persistence/SportelloPersistence.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloPersistence.java index a30c21ec..f5fbc933 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloPersistence.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloPersistence.java @@ -38,61 +38,58 @@ public interface SportelloPersistence extends BasePersistence { */ /** - * Returns the sportello where loginName = ? or throws a {@link it.mwg.sicilia.sue.NoSuchSportelloException} if it could not be found. + * Returns the sportello where comuneId = ? or throws a {@link it.mwg.sicilia.sue.NoSuchSportelloException} if it could not be found. * - * @param loginName the login name + * @param comuneId the comune ID * @return the matching sportello * @throws it.mwg.sicilia.sue.NoSuchSportelloException if a matching sportello could not be found * @throws SystemException if a system exception occurred */ - public it.mwg.sicilia.sue.model.Sportello findByLoginName( - java.lang.String loginName) + public it.mwg.sicilia.sue.model.Sportello findByComuneId(long comuneId) throws com.liferay.portal.kernel.exception.SystemException, it.mwg.sicilia.sue.NoSuchSportelloException; /** - * Returns the sportello where loginName = ? or returns null if it could not be found. Uses the finder cache. + * Returns the sportello where comuneId = ? or returns null if it could not be found. Uses the finder cache. * - * @param loginName the login name + * @param comuneId the comune ID * @return the matching sportello, or null if a matching sportello could not be found * @throws SystemException if a system exception occurred */ - public it.mwg.sicilia.sue.model.Sportello fetchByLoginName( - java.lang.String loginName) + public it.mwg.sicilia.sue.model.Sportello fetchByComuneId(long comuneId) throws com.liferay.portal.kernel.exception.SystemException; /** - * Returns the sportello where loginName = ? or returns null if it could not be found, optionally using the finder cache. + * Returns the sportello where comuneId = ? or returns null if it could not be found, optionally using the finder cache. * - * @param loginName the login name + * @param comuneId the comune ID * @param retrieveFromCache whether to use the finder cache * @return the matching sportello, or null if a matching sportello could not be found * @throws SystemException if a system exception occurred */ - public it.mwg.sicilia.sue.model.Sportello fetchByLoginName( - java.lang.String loginName, boolean retrieveFromCache) + public it.mwg.sicilia.sue.model.Sportello fetchByComuneId(long comuneId, + boolean retrieveFromCache) throws com.liferay.portal.kernel.exception.SystemException; /** - * Removes the sportello where loginName = ? from the database. + * Removes the sportello where comuneId = ? from the database. * - * @param loginName the login name + * @param comuneId the comune ID * @return the sportello that was removed * @throws SystemException if a system exception occurred */ - public it.mwg.sicilia.sue.model.Sportello removeByLoginName( - java.lang.String loginName) + public it.mwg.sicilia.sue.model.Sportello removeByComuneId(long comuneId) throws com.liferay.portal.kernel.exception.SystemException, it.mwg.sicilia.sue.NoSuchSportelloException; /** - * Returns the number of sportellos where loginName = ?. + * Returns the number of sportellos where comuneId = ?. * - * @param loginName the login name + * @param comuneId the comune ID * @return the number of matching sportellos * @throws SystemException if a system exception occurred */ - public int countByLoginName(java.lang.String loginName) + public int countByComuneId(long comuneId) throws com.liferay.portal.kernel.exception.SystemException; /** diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloUtil.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloUtil.java index b0cc8a25..344db9c0 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloUtil.java @@ -111,71 +111,71 @@ public class SportelloUtil { } /** - * Returns the sportello where loginName = ? or throws a {@link it.mwg.sicilia.sue.NoSuchSportelloException} if it could not be found. + * Returns the sportello where comuneId = ? or throws a {@link it.mwg.sicilia.sue.NoSuchSportelloException} if it could not be found. * - * @param loginName the login name + * @param comuneId the comune ID * @return the matching sportello * @throws it.mwg.sicilia.sue.NoSuchSportelloException if a matching sportello could not be found * @throws SystemException if a system exception occurred */ - public static it.mwg.sicilia.sue.model.Sportello findByLoginName( - java.lang.String loginName) + public static it.mwg.sicilia.sue.model.Sportello findByComuneId( + long comuneId) throws com.liferay.portal.kernel.exception.SystemException, it.mwg.sicilia.sue.NoSuchSportelloException { - return getPersistence().findByLoginName(loginName); + return getPersistence().findByComuneId(comuneId); } /** - * Returns the sportello where loginName = ? or returns null if it could not be found. Uses the finder cache. + * Returns the sportello where comuneId = ? or returns null if it could not be found. Uses the finder cache. * - * @param loginName the login name + * @param comuneId the comune ID * @return the matching sportello, or null if a matching sportello could not be found * @throws SystemException if a system exception occurred */ - public static it.mwg.sicilia.sue.model.Sportello fetchByLoginName( - java.lang.String loginName) + public static it.mwg.sicilia.sue.model.Sportello fetchByComuneId( + long comuneId) throws com.liferay.portal.kernel.exception.SystemException { - return getPersistence().fetchByLoginName(loginName); + return getPersistence().fetchByComuneId(comuneId); } /** - * Returns the sportello where loginName = ? or returns null if it could not be found, optionally using the finder cache. + * Returns the sportello where comuneId = ? or returns null if it could not be found, optionally using the finder cache. * - * @param loginName the login name + * @param comuneId the comune ID * @param retrieveFromCache whether to use the finder cache * @return the matching sportello, or null if a matching sportello could not be found * @throws SystemException if a system exception occurred */ - public static it.mwg.sicilia.sue.model.Sportello fetchByLoginName( - java.lang.String loginName, boolean retrieveFromCache) + public static it.mwg.sicilia.sue.model.Sportello fetchByComuneId( + long comuneId, boolean retrieveFromCache) throws com.liferay.portal.kernel.exception.SystemException { - return getPersistence().fetchByLoginName(loginName, retrieveFromCache); + return getPersistence().fetchByComuneId(comuneId, retrieveFromCache); } /** - * Removes the sportello where loginName = ? from the database. + * Removes the sportello where comuneId = ? from the database. * - * @param loginName the login name + * @param comuneId the comune ID * @return the sportello that was removed * @throws SystemException if a system exception occurred */ - public static it.mwg.sicilia.sue.model.Sportello removeByLoginName( - java.lang.String loginName) + public static it.mwg.sicilia.sue.model.Sportello removeByComuneId( + long comuneId) throws com.liferay.portal.kernel.exception.SystemException, it.mwg.sicilia.sue.NoSuchSportelloException { - return getPersistence().removeByLoginName(loginName); + return getPersistence().removeByComuneId(comuneId); } /** - * Returns the number of sportellos where loginName = ?. + * Returns the number of sportellos where comuneId = ?. * - * @param loginName the login name + * @param comuneId the comune ID * @return the number of matching sportellos * @throws SystemException if a system exception occurred */ - public static int countByLoginName(java.lang.String loginName) + public static int countByComuneId(long comuneId) throws com.liferay.portal.kernel.exception.SystemException { - return getPersistence().countByLoginName(loginName); + return getPersistence().countByComuneId(comuneId); } /** diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.properties b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.properties index fed69cef..7f94ec66 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.properties +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.properties @@ -1,3 +1,3 @@ -IX_9824D813=sicilia_sue_Sportello.LoginName -IX_9824D813=sicilia_sue_Sportello.loginName -IX_F4E738BB=sicilia_sue_Sportello.userName \ No newline at end of file +IX_7B780A8D=sicilia_sue_ApiSetting.CompanyIdKey + +IX_8B2AB20B=sicilia_sue_Sportello.ComuneId \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.sql b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.sql index 924eb0ad..c1afa6ba 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.sql +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.sql @@ -1,2 +1,3 @@ -create index IX_9824D813 on sicilia_sue_Sportello (loginName); -create index IX_F4E738BB on sicilia_sue_Sportello (userName); \ No newline at end of file +create unique index IX_7B780A8D on sicilia_sue_ApiSetting (companyId, key_); + +create unique index IX_8B2AB20B on sicilia_sue_Sportello (comuneId); \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/tables.sql b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/tables.sql index 7116a560..b98c487c 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/tables.sql +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/tables.sql @@ -1,12 +1,20 @@ +create table sicilia_sue_ApiSetting ( + id_ LONG not null primary key, + companyId LONG, + key_ LONG, + value STRING null +); + create table sicilia_sue_Sportello ( sportelloId LONG not null primary key, groupId LONG, companyId LONG, userId LONG, - userName VARCHAR(75) null, + userName VARCHAR(240) null, createDate DATE null, modifiedDate DATE null, - loginName VARCHAR(75) null, - password_ VARCHAR(75) null, - nonce VARCHAR(75) null + email VARCHAR(240) null, + comuneId LONG, + apiKey VARCHAR(240) null, + attivo BOOLEAN ); \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml index a56874b8..c568aa50 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml @@ -2,7 +2,17 @@ + + + + + + + + + + @@ -14,8 +24,9 @@ - - - + + + + \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml index dbf41d21..b69ced79 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml @@ -1,16 +1,31 @@ + + + + + + 4000 + + - + + 240 + - - - + + 240 + + + + 240 + + \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml index 1c997821..94ff9bfe 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml @@ -7,6 +7,21 @@ PROPERTY + + + + + + + + + + + + + + + @@ -20,17 +35,20 @@ TIMESTAMP - - - - - + + + + + + + +
    diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-spring.xml b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-spring.xml index 04dd3545..2ff6d79a 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-spring.xml +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-spring.xml @@ -1,6 +1,9 @@ + + + diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/content/Language.properties b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/content/Language.properties new file mode 100644 index 00000000..ff9528b9 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/content/Language.properties @@ -0,0 +1,3 @@ +email = Email +nomeComune = Comune +nomeProvincia = Provincia \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/common/Action.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/common/Action.java deleted file mode 100644 index 071e786b..00000000 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/common/Action.java +++ /dev/null @@ -1,46 +0,0 @@ -package it.mwg.sicilia.sue.api.common; - - -public class Action { - - private String name; - private String description; - private String method; - - public Action(String name, String description, String method) { - - this.name = name; - this.description = description; - this.method = method; - } - - public String getName() { - - return name; - } - - public void setName(String name) { - - this.name = name; - } - - public String getDescription() { - - return description; - } - - public void setDescription(String description) { - - this.description = description; - } - - public String getMethod() { - - return method; - } - - public void setMethod(String method) { - - this.method = method; - } -} diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Actions.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Actions.java deleted file mode 100644 index fcbfb4fc..00000000 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Actions.java +++ /dev/null @@ -1,22 +0,0 @@ -package it.mwg.sicilia.sue.api.v1; - -import it.mwg.sicilia.sue.api.common.Action; - -import java.util.ArrayList; -import java.util.List; - -import com.liferay.portal.kernel.servlet.HttpMethods; - -public class Actions { - - @SuppressWarnings("serial") - private static final List ACTIONS = new ArrayList() { - { - add(new Action("login", "Login", HttpMethods.POST)); - } - }; - - public static List getActions() { - return ACTIONS; - } -} diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiConstants.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiConstants.java new file mode 100644 index 00000000..4c2da7a5 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiConstants.java @@ -0,0 +1,8 @@ +package it.mwg.sicilia.sue.api.v1; + +public class ApiConstants { + + public static final long API_SECRET = 1; + public static final long API_PUBLIC_KEY = 2; + public static final long API_PRIVATE_KEY = 3; +} diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiServlet.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiServlet.java index 22753952..2eb22b51 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiServlet.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiServlet.java @@ -1,15 +1,10 @@ package it.mwg.sicilia.sue.api.v1; -import it.mwg.sicilia.sue.NoSuchSportelloException; import it.mwg.sicilia.sue.model.Sportello; -import it.mwg.sicilia.sue.service.SportelloLocalServiceUtil; -import it.mwg.sicilia.sue.service.persistence.SportelloUtil; import java.io.IOException; import java.io.InputStreamReader; import java.io.Serializable; -import java.security.SecureRandom; -import java.util.LinkedHashMap; import java.util.Map; import javax.servlet.ServletException; @@ -17,15 +12,10 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.commons.codec.digest.DigestUtils; - -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; import com.liferay.portal.kernel.log.LogFactoryUtil; -import com.liferay.portal.kernel.servlet.ServletResponseUtil; -import com.liferay.portal.kernel.util.ContentTypes; import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.kernel.util.Validator; @@ -42,57 +32,60 @@ public class ApiServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED); + process(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - String info = request.getPathInfo(); - if (Validator.isNotNull(info) && !info.equals(StringPool.FORWARD_SLASH)) { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - return; - } - Map parameters = deserializer - .deserialize(new InputStreamReader(request.getInputStream())); - response.setContentType(ContentTypes.APPLICATION_JSON); - response.setCharacterEncoding(StringPool.UTF8); - ServletResponseUtil.write(response, process(parameters)); + process(request, response); } - private String process(Map parameters) throws IOException { - if (Validator.isNull(parameters)) { - return Response.get(Status.PARSE_ERROR); - } else if (!parameters.containsKey(Parameters.COMMAND)) { - return Response.get(Status.NO_COMMAND_GIVEN); + @Override + protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + process(request, response); + } + + private void process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + String info = request.getPathInfo(); + if (Validator.isNull(info)) { + info = StringPool.BLANK; + } else { + info = request.getPathInfo().substring(1); + } + Command command = Commands.get(info); + if (Validator.isNull(command)) { + response.sendError(HttpServletResponse.SC_NOT_FOUND); } else { - switch ((String) parameters.get(Parameters.COMMAND)) { - case Parameters.COMMAND_LOGIN: - return login(parameters); + Map parameters = deserializer.deserialize(new InputStreamReader(request + .getInputStream())); + long timestamp = 0; + String uuid = null; + String signature = null; + try { + timestamp = (Long) parameters.get(Parameters.AUTH_TIMESTAMP); + uuid = (String) parameters.get(Parameters.AUTH_USER_ID); + signature = (String) parameters.get(Parameters.AUTH_SIGNATURE); + } catch (ClassCastException e) { + } + if ((0 == timestamp) || Validator.isNull(uuid) || Validator.isNull(signature)) { + response.sendError(HttpServletResponse.SC_BAD_REQUEST); + } else if (!verifySignature(timestamp, signature)) { + response.sendError(HttpServletResponse.SC_FORBIDDEN); + } else if (!command.getMethods().contains(request.getMethod())) { + response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED); + } else { + command.run(request, response); } } - return Response.get(Status.INVALID_COMMAND); } - private String login(Map parameters) throws IOException { - if (!parameters.containsKey(Parameters.USERNAME)) { - return Response.get(Status.NO_USERNAME_GIVEN); - } - Map extraData = new LinkedHashMap<>(); - String loginName = (String) parameters.get(Parameters.USERNAME); - byte[] bytes = new byte[32]; - SecureRandom rnd = new SecureRandom(); - rnd.nextBytes(bytes); - String nonce = DigestUtils.sha256Hex(bytes); - extraData.put(Parameters.NONCE, nonce); - Sportello sportello = null; - try { - sportello = SportelloUtil.findByLoginName(loginName); - sportello.setNonce(nonce); - SportelloLocalServiceUtil.updateSportello(sportello); - } catch (NoSuchSportelloException | SystemException e) { - } - return Response.get(Status.OK, extraData); + private boolean verifySignature(long timestamp, String signature) { + + Sportello sportello; + return false; } } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiUtil.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiUtil.java new file mode 100644 index 00000000..98e01bd2 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiUtil.java @@ -0,0 +1,66 @@ +package it.mwg.sicilia.sue.api.v1; + +import it.mwg.sicilia.sue.service.ApiSettingLocalServiceUtil; + +import java.security.KeyFactory; +import java.security.PrivateKey; +import java.security.PublicKey; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; + +import javax.crypto.Cipher; + +import org.apache.commons.codec.digest.DigestUtils; + +import com.liferay.portal.kernel.json.JSONFactoryUtil; +import com.liferay.portal.kernel.json.JSONObject; +import com.liferay.portal.kernel.log.Log; +import com.liferay.portal.kernel.log.LogFactoryUtil; +import com.liferay.portal.kernel.security.SecureRandom; +import com.liferay.portal.kernel.util.StringPool; +import com.liferay.portal.security.auth.CompanyThreadLocal; +import com.sun.org.apache.xml.internal.security.utils.Base64; + +public class ApiUtil { + + private static final Log _log = LogFactoryUtil.getLog(ApiUtil.class); + + public static String getToken(long companyId, long sportelloId) throws Exception { + + SecureRandom rnd = new SecureRandom(); + + JSONObject object = JSONFactoryUtil.createJSONObject(); + object.put("id", sportelloId); + object.put("rnd", rnd.nextLong()); + _log.info(object.toString()); + + KeyFactory keyFactory = KeyFactory.getInstance("RSA"); + String key = ApiSettingLocalServiceUtil.get(companyId, ApiConstants.API_PRIVATE_KEY); + PKCS8EncodedKeySpec privKeySpec = new PKCS8EncodedKeySpec(Base64.decode(key)); + PrivateKey privateKey = keyFactory.generatePrivate(privKeySpec); + key = ApiSettingLocalServiceUtil.get(companyId, ApiConstants.API_PUBLIC_KEY); + X509EncodedKeySpec pubKeySpec = new X509EncodedKeySpec(Base64.decode(key)); + PublicKey publicKey = keyFactory.generatePublic(pubKeySpec); + + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.ENCRYPT_MODE, privateKey); + String enc = Base64.encode(cipher.doFinal(object.toString().getBytes())); + _log.info("Enc: " + enc); + cipher.init(Cipher.DECRYPT_MODE, publicKey); + String dec = new String(cipher.doFinal(Base64.decode(enc))); + _log.info("Dec: " + dec); + + byte[] bytes = new byte[512]; + rnd.nextBytes(bytes); + String hash = DigestUtils.sha256Hex(bytes); + String secret = ApiSettingLocalServiceUtil.get(companyId, ApiConstants.API_SECRET); + String check = DigestUtils.sha256Hex(hash + secret); + return hash + StringPool.PERIOD + check; + } + + public static String getToken(long sportelloId) throws Exception { + + long companyId = CompanyThreadLocal.getCompanyId(); + return getToken(companyId, sportelloId); + } +} diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Command.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Command.java new file mode 100644 index 00000000..f93ab401 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Command.java @@ -0,0 +1,41 @@ +package it.mwg.sicilia.sue.api.v1; + +import java.io.IOException; +import java.util.Arrays; +import java.util.List; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +public abstract class Command { + + private String verb; + private List methods; + private String description; + + public Command(String verb, String description, String... methods) { + + this.verb = verb; + this.methods = Arrays.asList(methods); + this.description = description; + } + + public String getVerb() { + + return verb; + } + + public List getMethods() { + + return methods; + } + + public String getDescription() { + + return description; + } + + public abstract void run(HttpServletRequest request, HttpServletResponse response) throws ServletException, + IOException; +} diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Commands.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Commands.java index b3e8f605..73bacee6 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Commands.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Commands.java @@ -1,5 +1,28 @@ package it.mwg.sicilia.sue.api.v1; +import it.mwg.sicilia.sue.api.v1.command.CommandNop; + +import java.util.LinkedHashMap; +import java.util.Map; + +import com.liferay.portal.kernel.servlet.HttpMethods; +import com.liferay.portal.kernel.util.StringPool; + public class Commands { + private static final Map commands = new LinkedHashMap<>(); + static { + addCommand(new CommandNop(StringPool.BLANK, "NOP verifica la connettività senza eseguire operazioni", + HttpMethods.GET, HttpMethods.POST)); + } + + private static void addCommand(Command command) { + + commands.put(command.getVerb(), command); + } + + public static Command get(String verb) { + + return commands.get(verb); + } } 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 e7c23741..bca814a7 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,6 +2,9 @@ package it.mwg.sicilia.sue.api.v1; public class Parameters { + public static final String AUTH_TIMESTAMP = "timestamp"; + public static final String AUTH_USER_ID = "userId"; + public static final String AUTH_SIGNATURE = "signature"; public static final String STATUS_CODE = "status"; public static final String STATUS_DESCRIPTION = "description"; } 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 f0f3ca4b..e6435a06 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 @@ -6,19 +6,13 @@ import java.util.Map; public class Status { public static final int OK = 0; - public static final int INVALID_COMMAND = 1; - public static final int NO_COMMAND_GIVEN = 2; - public static final int NO_USERNAME_GIVEN = 3; - public static final int PARSE_ERROR = 4; + public static final int MALFORMED_REQUEST = 1; @SuppressWarnings("serial") private static final Map messages = new HashMap() { { put(OK, "OK"); - put(INVALID_COMMAND, "Invalid command"); - put(NO_COMMAND_GIVEN, "No command given"); - put(NO_USERNAME_GIVEN, "No username given"); - put(PARSE_ERROR, "Parse error"); + put(MALFORMED_REQUEST, "Malformed request"); } }; diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/CommandNop.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/CommandNop.java new file mode 100644 index 00000000..8535142f --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/CommandNop.java @@ -0,0 +1,31 @@ +package it.mwg.sicilia.sue.api.v1.command; + +import it.mwg.sicilia.sue.api.v1.Command; +import it.mwg.sicilia.sue.api.v1.Response; +import it.mwg.sicilia.sue.api.v1.Status; + +import java.io.IOException; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.liferay.portal.kernel.servlet.ServletResponseUtil; +import com.liferay.portal.kernel.util.ContentTypes; +import com.liferay.portal.kernel.util.StringPool; + +public class CommandNop extends Command { + + public CommandNop(String verb, String description, String... methods) { + + super(verb, description, methods); + } + + @Override + public void run(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + response.setContentType(ContentTypes.APPLICATION_JSON); + response.setCharacterEncoding(StringPool.UTF8); + ServletResponseUtil.write(response, Response.get(Status.OK)); + } +} diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/ApiSettingBaseImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/ApiSettingBaseImpl.java new file mode 100644 index 00000000..89584fef --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/ApiSettingBaseImpl.java @@ -0,0 +1,50 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.model.impl; + +import com.liferay.portal.kernel.exception.SystemException; + +import it.mwg.sicilia.sue.model.ApiSetting; +import it.mwg.sicilia.sue.service.ApiSettingLocalServiceUtil; + +/** + * The extended model base implementation for the ApiSetting service. Represents a row in the "sicilia_sue_ApiSetting" database table, with each column mapped to a property of this class. + * + *

    + * This class exists only as a container for the default extended model level methods generated by ServiceBuilder. Helper methods and all application logic should be put in {@link ApiSettingImpl}. + *

    + * + * @author Manifattura Web Group Srl + * @see ApiSettingImpl + * @see it.mwg.sicilia.sue.model.ApiSetting + * @generated + */ +public abstract class ApiSettingBaseImpl extends ApiSettingModelImpl + implements ApiSetting { + /* + * NOTE FOR DEVELOPERS: + * + * Never modify or reference this class directly. All methods that expect a api setting model instance should use the {@link ApiSetting} interface instead. + */ + @Override + public void persist() throws SystemException { + if (this.isNew()) { + ApiSettingLocalServiceUtil.addApiSetting(this); + } + else { + ApiSettingLocalServiceUtil.updateApiSetting(this); + } + } +} \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/ApiSettingCacheModel.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/ApiSettingCacheModel.java new file mode 100644 index 00000000..1f3d3910 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/ApiSettingCacheModel.java @@ -0,0 +1,101 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.model.impl; + +import com.liferay.portal.kernel.util.StringBundler; +import com.liferay.portal.kernel.util.StringPool; +import com.liferay.portal.model.CacheModel; + +import it.mwg.sicilia.sue.model.ApiSetting; + +import java.io.Externalizable; +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; + +/** + * The cache model class for representing ApiSetting in entity cache. + * + * @author Manifattura Web Group Srl + * @see ApiSetting + * @generated + */ +public class ApiSettingCacheModel implements CacheModel, + Externalizable { + @Override + public String toString() { + StringBundler sb = new StringBundler(9); + + sb.append("{id="); + sb.append(id); + sb.append(", companyId="); + sb.append(companyId); + sb.append(", key="); + sb.append(key); + sb.append(", value="); + sb.append(value); + sb.append("}"); + + return sb.toString(); + } + + @Override + public ApiSetting toEntityModel() { + ApiSettingImpl apiSettingImpl = new ApiSettingImpl(); + + apiSettingImpl.setId(id); + apiSettingImpl.setCompanyId(companyId); + apiSettingImpl.setKey(key); + + if (value == null) { + apiSettingImpl.setValue(StringPool.BLANK); + } + else { + apiSettingImpl.setValue(value); + } + + apiSettingImpl.resetOriginalValues(); + + return apiSettingImpl; + } + + @Override + public void readExternal(ObjectInput objectInput) throws IOException { + id = objectInput.readLong(); + companyId = objectInput.readLong(); + key = objectInput.readLong(); + value = objectInput.readUTF(); + } + + @Override + public void writeExternal(ObjectOutput objectOutput) + throws IOException { + objectOutput.writeLong(id); + objectOutput.writeLong(companyId); + objectOutput.writeLong(key); + + if (value == null) { + objectOutput.writeUTF(StringPool.BLANK); + } + else { + objectOutput.writeUTF(value); + } + } + + public long id; + public long companyId; + public long key; + public String value; +} \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/ApiSettingImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/ApiSettingImpl.java new file mode 100644 index 00000000..f85dec6c --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/ApiSettingImpl.java @@ -0,0 +1,36 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.model.impl; + +/** + * The extended model implementation for the ApiSetting service. Represents a row in the + * "sicilia_sue_ApiSetting" database table, with each column mapped to a property of this class. + * + *

    + * Helper methods and all application logic should be put in this class. Whenever methods are added, rerun + * ServiceBuilder to copy their definitions into the {@link it.mwg.sicilia.sue.model.ApiSetting} interface. + *

    + * + * @author Manifattura Web Group Srl + */ +@SuppressWarnings("serial") +public class ApiSettingImpl extends ApiSettingBaseImpl { + /* + * NOTE FOR DEVELOPERS: Never reference this class directly. All methods that expect a api setting model instance + * should use the {@link it.mwg.sicilia.sue.model.ApiSetting} interface instead. + */ + public ApiSettingImpl() { + } +} \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/ApiSettingModelImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/ApiSettingModelImpl.java new file mode 100644 index 00000000..fc4b84bd --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/ApiSettingModelImpl.java @@ -0,0 +1,460 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.model.impl; + +import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler; +import com.liferay.portal.kernel.json.JSON; +import com.liferay.portal.kernel.util.GetterUtil; +import com.liferay.portal.kernel.util.ProxyUtil; +import com.liferay.portal.kernel.util.StringBundler; +import com.liferay.portal.kernel.util.StringPool; +import com.liferay.portal.model.CacheModel; +import com.liferay.portal.model.impl.BaseModelImpl; +import com.liferay.portal.service.ServiceContext; + +import com.liferay.portlet.expando.model.ExpandoBridge; +import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil; + +import it.mwg.sicilia.sue.model.ApiSetting; +import it.mwg.sicilia.sue.model.ApiSettingModel; +import it.mwg.sicilia.sue.model.ApiSettingSoap; + +import java.io.Serializable; + +import java.sql.Types; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * The base model implementation for the ApiSetting service. Represents a row in the "sicilia_sue_ApiSetting" database table, with each column mapped to a property of this class. + * + *

    + * This implementation and its corresponding interface {@link it.mwg.sicilia.sue.model.ApiSettingModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link ApiSettingImpl}. + *

    + * + * @author Manifattura Web Group Srl + * @see ApiSettingImpl + * @see it.mwg.sicilia.sue.model.ApiSetting + * @see it.mwg.sicilia.sue.model.ApiSettingModel + * @generated + */ +@JSON(strict = true) +public class ApiSettingModelImpl extends BaseModelImpl + implements ApiSettingModel { + /* + * NOTE FOR DEVELOPERS: + * + * Never modify or reference this class directly. All methods that expect a api setting model instance should use the {@link it.mwg.sicilia.sue.model.ApiSetting} interface instead. + */ + public static final String TABLE_NAME = "sicilia_sue_ApiSetting"; + public static final Object[][] TABLE_COLUMNS = { + { "id_", Types.BIGINT }, + { "companyId", Types.BIGINT }, + { "key_", Types.BIGINT }, + { "value", Types.VARCHAR } + }; + public static final String TABLE_SQL_CREATE = "create table sicilia_sue_ApiSetting (id_ LONG not null primary key,companyId LONG,key_ LONG,value STRING null)"; + public static final String TABLE_SQL_DROP = "drop table sicilia_sue_ApiSetting"; + public static final String ORDER_BY_JPQL = " ORDER BY apiSetting.id ASC"; + public static final String ORDER_BY_SQL = " ORDER BY sicilia_sue_ApiSetting.id_ ASC"; + public static final String DATA_SOURCE = "liferayDataSource"; + public static final String SESSION_FACTORY = "liferaySessionFactory"; + public static final String TX_MANAGER = "liferayTransactionManager"; + public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.util.service.ServiceProps.get( + "value.object.entity.cache.enabled.it.mwg.sicilia.sue.model.ApiSetting"), + true); + public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.util.service.ServiceProps.get( + "value.object.finder.cache.enabled.it.mwg.sicilia.sue.model.ApiSetting"), + true); + public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.util.service.ServiceProps.get( + "value.object.column.bitmask.enabled.it.mwg.sicilia.sue.model.ApiSetting"), + true); + public static long COMPANYID_COLUMN_BITMASK = 1L; + public static long KEY_COLUMN_BITMASK = 2L; + public static long ID_COLUMN_BITMASK = 4L; + + /** + * Converts the soap model instance into a normal model instance. + * + * @param soapModel the soap model instance to convert + * @return the normal model instance + */ + public static ApiSetting toModel(ApiSettingSoap soapModel) { + if (soapModel == null) { + return null; + } + + ApiSetting model = new ApiSettingImpl(); + + model.setId(soapModel.getId()); + model.setCompanyId(soapModel.getCompanyId()); + model.setKey(soapModel.getKey()); + model.setValue(soapModel.getValue()); + + return model; + } + + /** + * Converts the soap model instances into normal model instances. + * + * @param soapModels the soap model instances to convert + * @return the normal model instances + */ + public static List toModels(ApiSettingSoap[] soapModels) { + if (soapModels == null) { + return null; + } + + List models = new ArrayList(soapModels.length); + + for (ApiSettingSoap soapModel : soapModels) { + models.add(toModel(soapModel)); + } + + return models; + } + + public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.util.service.ServiceProps.get( + "lock.expiration.time.it.mwg.sicilia.sue.model.ApiSetting")); + + public ApiSettingModelImpl() { + } + + @Override + public long getPrimaryKey() { + return _id; + } + + @Override + public void setPrimaryKey(long primaryKey) { + setId(primaryKey); + } + + @Override + public Serializable getPrimaryKeyObj() { + return _id; + } + + @Override + public void setPrimaryKeyObj(Serializable primaryKeyObj) { + setPrimaryKey(((Long)primaryKeyObj).longValue()); + } + + @Override + public Class getModelClass() { + return ApiSetting.class; + } + + @Override + public String getModelClassName() { + return ApiSetting.class.getName(); + } + + @Override + public Map getModelAttributes() { + Map attributes = new HashMap(); + + attributes.put("id", getId()); + attributes.put("companyId", getCompanyId()); + attributes.put("key", getKey()); + attributes.put("value", getValue()); + + return attributes; + } + + @Override + public void setModelAttributes(Map attributes) { + Long id = (Long)attributes.get("id"); + + if (id != null) { + setId(id); + } + + Long companyId = (Long)attributes.get("companyId"); + + if (companyId != null) { + setCompanyId(companyId); + } + + Long key = (Long)attributes.get("key"); + + if (key != null) { + setKey(key); + } + + String value = (String)attributes.get("value"); + + if (value != null) { + setValue(value); + } + } + + @JSON + @Override + public long getId() { + return _id; + } + + @Override + public void setId(long id) { + _id = id; + } + + @JSON + @Override + public long getCompanyId() { + return _companyId; + } + + @Override + public void setCompanyId(long companyId) { + _columnBitmask |= COMPANYID_COLUMN_BITMASK; + + if (!_setOriginalCompanyId) { + _setOriginalCompanyId = true; + + _originalCompanyId = _companyId; + } + + _companyId = companyId; + } + + public long getOriginalCompanyId() { + return _originalCompanyId; + } + + @JSON + @Override + public long getKey() { + return _key; + } + + @Override + public void setKey(long key) { + _columnBitmask |= KEY_COLUMN_BITMASK; + + if (!_setOriginalKey) { + _setOriginalKey = true; + + _originalKey = _key; + } + + _key = key; + } + + public long getOriginalKey() { + return _originalKey; + } + + @JSON + @Override + public String getValue() { + if (_value == null) { + return StringPool.BLANK; + } + else { + return _value; + } + } + + @Override + public void setValue(String value) { + _value = value; + } + + public long getColumnBitmask() { + return _columnBitmask; + } + + @Override + public ExpandoBridge getExpandoBridge() { + return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(), + ApiSetting.class.getName(), getPrimaryKey()); + } + + @Override + public void setExpandoBridgeAttributes(ServiceContext serviceContext) { + ExpandoBridge expandoBridge = getExpandoBridge(); + + expandoBridge.setAttributes(serviceContext); + } + + @Override + public ApiSetting toEscapedModel() { + if (_escapedModel == null) { + _escapedModel = (ApiSetting)ProxyUtil.newProxyInstance(_classLoader, + _escapedModelInterfaces, new AutoEscapeBeanHandler(this)); + } + + return _escapedModel; + } + + @Override + public Object clone() { + ApiSettingImpl apiSettingImpl = new ApiSettingImpl(); + + apiSettingImpl.setId(getId()); + apiSettingImpl.setCompanyId(getCompanyId()); + apiSettingImpl.setKey(getKey()); + apiSettingImpl.setValue(getValue()); + + apiSettingImpl.resetOriginalValues(); + + return apiSettingImpl; + } + + @Override + public int compareTo(ApiSetting apiSetting) { + long primaryKey = apiSetting.getPrimaryKey(); + + if (getPrimaryKey() < primaryKey) { + return -1; + } + else if (getPrimaryKey() > primaryKey) { + return 1; + } + else { + return 0; + } + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + + if (!(obj instanceof ApiSetting)) { + return false; + } + + ApiSetting apiSetting = (ApiSetting)obj; + + long primaryKey = apiSetting.getPrimaryKey(); + + if (getPrimaryKey() == primaryKey) { + return true; + } + else { + return false; + } + } + + @Override + public int hashCode() { + return (int)getPrimaryKey(); + } + + @Override + public void resetOriginalValues() { + ApiSettingModelImpl apiSettingModelImpl = this; + + apiSettingModelImpl._originalCompanyId = apiSettingModelImpl._companyId; + + apiSettingModelImpl._setOriginalCompanyId = false; + + apiSettingModelImpl._originalKey = apiSettingModelImpl._key; + + apiSettingModelImpl._setOriginalKey = false; + + apiSettingModelImpl._columnBitmask = 0; + } + + @Override + public CacheModel toCacheModel() { + ApiSettingCacheModel apiSettingCacheModel = new ApiSettingCacheModel(); + + apiSettingCacheModel.id = getId(); + + apiSettingCacheModel.companyId = getCompanyId(); + + apiSettingCacheModel.key = getKey(); + + apiSettingCacheModel.value = getValue(); + + String value = apiSettingCacheModel.value; + + if ((value != null) && (value.length() == 0)) { + apiSettingCacheModel.value = null; + } + + return apiSettingCacheModel; + } + + @Override + public String toString() { + StringBundler sb = new StringBundler(9); + + sb.append("{id="); + sb.append(getId()); + sb.append(", companyId="); + sb.append(getCompanyId()); + sb.append(", key="); + sb.append(getKey()); + sb.append(", value="); + sb.append(getValue()); + sb.append("}"); + + return sb.toString(); + } + + @Override + public String toXmlString() { + StringBundler sb = new StringBundler(16); + + sb.append(""); + sb.append("it.mwg.sicilia.sue.model.ApiSetting"); + sb.append(""); + + sb.append( + "id"); + sb.append( + "companyId"); + sb.append( + "key"); + sb.append( + "value"); + + sb.append(""); + + return sb.toString(); + } + + private static ClassLoader _classLoader = ApiSetting.class.getClassLoader(); + private static Class[] _escapedModelInterfaces = new Class[] { + ApiSetting.class + }; + private long _id; + private long _companyId; + private long _originalCompanyId; + private boolean _setOriginalCompanyId; + private long _key; + private long _originalKey; + private boolean _setOriginalKey; + private String _value; + private long _columnBitmask; + private ApiSetting _escapedModel; +} \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloCacheModel.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloCacheModel.java index bf50585a..e8fcf146 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloCacheModel.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloCacheModel.java @@ -38,7 +38,7 @@ public class SportelloCacheModel implements CacheModel, Externalizable { @Override public String toString() { - StringBundler sb = new StringBundler(21); + StringBundler sb = new StringBundler(23); sb.append("{sportelloId="); sb.append(sportelloId); @@ -54,12 +54,14 @@ public class SportelloCacheModel implements CacheModel, sb.append(createDate); sb.append(", modifiedDate="); sb.append(modifiedDate); - sb.append(", loginName="); - sb.append(loginName); - sb.append(", password="); - sb.append(password); - sb.append(", nonce="); - sb.append(nonce); + sb.append(", email="); + sb.append(email); + sb.append(", comuneId="); + sb.append(comuneId); + sb.append(", apiKey="); + sb.append(apiKey); + sb.append(", attivo="); + sb.append(attivo); sb.append("}"); return sb.toString(); @@ -95,27 +97,24 @@ public class SportelloCacheModel implements CacheModel, sportelloImpl.setModifiedDate(new Date(modifiedDate)); } - if (loginName == null) { - sportelloImpl.setLoginName(StringPool.BLANK); + if (email == null) { + sportelloImpl.setEmail(StringPool.BLANK); } else { - sportelloImpl.setLoginName(loginName); + sportelloImpl.setEmail(email); } - if (password == null) { - sportelloImpl.setPassword(StringPool.BLANK); - } - else { - sportelloImpl.setPassword(password); - } + sportelloImpl.setComuneId(comuneId); - if (nonce == null) { - sportelloImpl.setNonce(StringPool.BLANK); + if (apiKey == null) { + sportelloImpl.setApiKey(StringPool.BLANK); } else { - sportelloImpl.setNonce(nonce); + sportelloImpl.setApiKey(apiKey); } + sportelloImpl.setAttivo(attivo); + sportelloImpl.resetOriginalValues(); return sportelloImpl; @@ -130,9 +129,10 @@ public class SportelloCacheModel implements CacheModel, userName = objectInput.readUTF(); createDate = objectInput.readLong(); modifiedDate = objectInput.readLong(); - loginName = objectInput.readUTF(); - password = objectInput.readUTF(); - nonce = objectInput.readUTF(); + email = objectInput.readUTF(); + comuneId = objectInput.readLong(); + apiKey = objectInput.readUTF(); + attivo = objectInput.readBoolean(); } @Override @@ -153,26 +153,23 @@ public class SportelloCacheModel implements CacheModel, objectOutput.writeLong(createDate); objectOutput.writeLong(modifiedDate); - if (loginName == null) { + if (email == null) { objectOutput.writeUTF(StringPool.BLANK); } else { - objectOutput.writeUTF(loginName); + objectOutput.writeUTF(email); } - if (password == null) { - objectOutput.writeUTF(StringPool.BLANK); - } - else { - objectOutput.writeUTF(password); - } + objectOutput.writeLong(comuneId); - if (nonce == null) { + if (apiKey == null) { objectOutput.writeUTF(StringPool.BLANK); } else { - objectOutput.writeUTF(nonce); + objectOutput.writeUTF(apiKey); } + + objectOutput.writeBoolean(attivo); } public long sportelloId; @@ -182,7 +179,8 @@ public class SportelloCacheModel implements CacheModel, public String userName; public long createDate; public long modifiedDate; - public String loginName; - public String password; - public String nonce; + public String email; + public long comuneId; + public String apiKey; + public boolean attivo; } \ No newline at end of file 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 395857db..df7f8716 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 @@ -14,11 +14,22 @@ package it.mwg.sicilia.sue.model.impl; +import it.tref.liferay.portos.bo.model.Comune; +import it.tref.liferay.portos.bo.model.Provincia; +import it.tref.liferay.portos.bo.service.ComuneLocalServiceUtil; +import it.tref.liferay.portos.bo.service.ProvinciaLocalServiceUtil; + +import com.liferay.portal.kernel.exception.PortalException; +import com.liferay.portal.kernel.exception.SystemException; +import com.liferay.portal.kernel.util.Validator; + /** - * The extended model implementation for the Sportello service. Represents a row in the "sicilia_sue_Sportello" database table, with each column mapped to a property of this class. + * The extended model implementation for the Sportello service. Represents a row in the + * "sicilia_sue_Sportello" database table, with each column mapped to a property of this class. * *

    - * Helper methods and all application logic should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link it.mwg.sicilia.sue.model.Sportello} interface. + * Helper methods and all application logic should be put in this class. Whenever methods are added, rerun + * ServiceBuilder to copy their definitions into the {@link it.mwg.sicilia.sue.model.Sportello} interface. *

    * * @author Manifattura Web Group Srl @@ -26,10 +37,47 @@ package it.mwg.sicilia.sue.model.impl; @SuppressWarnings("serial") public class SportelloImpl extends SportelloBaseImpl { /* - * NOTE FOR DEVELOPERS: - * - * Never reference this class directly. All methods that expect a sportello model instance should use the {@link it.mwg.sicilia.sue.model.Sportello} interface instead. + * NOTE FOR DEVELOPERS: Never reference this class directly. All methods that expect a sportello model instance + * should use the {@link it.mwg.sicilia.sue.model.Sportello} interface instead. */ + private Comune comune = null; + private Provincia provincia = null; + public SportelloImpl() { } + + @Override + public String getCodiceProvincia() throws PortalException, SystemException { + + return getComune().getCodiceProvincia(); + } + + @Override + public String getNomeComune() throws PortalException, SystemException { + + return getComune().getDenominazione(); + } + + @Override + public String getNomeProvincia() throws SystemException, PortalException { + + return getProvincia().getProvincia(); + } + + private synchronized Comune getComune() throws PortalException, SystemException { + + if (Validator.isNull(comune)) { + comune = ComuneLocalServiceUtil.getComune(getComuneId()); + } + return comune; + } + + private synchronized Provincia getProvincia() throws SystemException, PortalException { + + if (Validator.isNull(provincia)) { + provincia = ProvinciaLocalServiceUtil.fetchByC_C(getComune().getCompanyId(), getComune() + .getCodiceProvincia()); + } + return provincia; + } } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloModelImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloModelImpl.java index 75ef949f..0d5ba76c 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloModelImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloModelImpl.java @@ -73,11 +73,12 @@ public class SportelloModelImpl extends BaseModelImpl { "userName", Types.VARCHAR }, { "createDate", Types.TIMESTAMP }, { "modifiedDate", Types.TIMESTAMP }, - { "loginName", Types.VARCHAR }, - { "password_", Types.VARCHAR }, - { "nonce", Types.VARCHAR } + { "email", Types.VARCHAR }, + { "comuneId", Types.BIGINT }, + { "apiKey", Types.VARCHAR }, + { "attivo", Types.BOOLEAN } }; - public static final String TABLE_SQL_CREATE = "create table sicilia_sue_Sportello (sportelloId LONG not null primary key,groupId LONG,companyId LONG,userId LONG,userName VARCHAR(75) null,createDate DATE null,modifiedDate DATE null,loginName VARCHAR(75) null,password_ VARCHAR(75) null,nonce VARCHAR(75) null)"; + public static final String TABLE_SQL_CREATE = "create table sicilia_sue_Sportello (sportelloId LONG not null primary key,groupId LONG,companyId LONG,userId LONG,userName VARCHAR(240) null,createDate DATE null,modifiedDate DATE null,email VARCHAR(240) null,comuneId LONG,apiKey VARCHAR(240) null,attivo BOOLEAN)"; public static final String TABLE_SQL_DROP = "drop table sicilia_sue_Sportello"; public static final String ORDER_BY_JPQL = " ORDER BY sportello.sportelloId ASC"; public static final String ORDER_BY_SQL = " ORDER BY sicilia_sue_Sportello.sportelloId ASC"; @@ -93,7 +94,7 @@ public class SportelloModelImpl extends BaseModelImpl public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.util.service.ServiceProps.get( "value.object.column.bitmask.enabled.it.mwg.sicilia.sue.model.Sportello"), true); - public static long LOGINNAME_COLUMN_BITMASK = 1L; + public static long COMUNEID_COLUMN_BITMASK = 1L; public static long SPORTELLOID_COLUMN_BITMASK = 2L; /** @@ -116,9 +117,10 @@ public class SportelloModelImpl extends BaseModelImpl model.setUserName(soapModel.getUserName()); model.setCreateDate(soapModel.getCreateDate()); model.setModifiedDate(soapModel.getModifiedDate()); - model.setLoginName(soapModel.getLoginName()); - model.setPassword(soapModel.getPassword()); - model.setNonce(soapModel.getNonce()); + model.setEmail(soapModel.getEmail()); + model.setComuneId(soapModel.getComuneId()); + model.setApiKey(soapModel.getApiKey()); + model.setAttivo(soapModel.getAttivo()); return model; } @@ -190,9 +192,10 @@ public class SportelloModelImpl extends BaseModelImpl attributes.put("userName", getUserName()); attributes.put("createDate", getCreateDate()); attributes.put("modifiedDate", getModifiedDate()); - attributes.put("loginName", getLoginName()); - attributes.put("password", getPassword()); - attributes.put("nonce", getNonce()); + attributes.put("email", getEmail()); + attributes.put("comuneId", getComuneId()); + attributes.put("apiKey", getApiKey()); + attributes.put("attivo", getAttivo()); return attributes; } @@ -241,22 +244,28 @@ public class SportelloModelImpl extends BaseModelImpl setModifiedDate(modifiedDate); } - String loginName = (String)attributes.get("loginName"); + String email = (String)attributes.get("email"); - if (loginName != null) { - setLoginName(loginName); + if (email != null) { + setEmail(email); } - String password = (String)attributes.get("password"); + Long comuneId = (Long)attributes.get("comuneId"); - if (password != null) { - setPassword(password); + if (comuneId != null) { + setComuneId(comuneId); } - String nonce = (String)attributes.get("nonce"); + String apiKey = (String)attributes.get("apiKey"); - if (nonce != null) { - setNonce(nonce); + if (apiKey != null) { + setApiKey(apiKey); + } + + Boolean attivo = (Boolean)attributes.get("attivo"); + + if (attivo != null) { + setAttivo(attivo); } } @@ -354,60 +363,73 @@ public class SportelloModelImpl extends BaseModelImpl @JSON @Override - public String getLoginName() { - if (_loginName == null) { + public String getEmail() { + if (_email == null) { return StringPool.BLANK; } else { - return _loginName; + return _email; } } @Override - public void setLoginName(String loginName) { - _columnBitmask |= LOGINNAME_COLUMN_BITMASK; + public void setEmail(String email) { + _email = email; + } - if (_originalLoginName == null) { - _originalLoginName = _loginName; + @JSON + @Override + public long getComuneId() { + return _comuneId; + } + + @Override + public void setComuneId(long comuneId) { + _columnBitmask |= COMUNEID_COLUMN_BITMASK; + + if (!_setOriginalComuneId) { + _setOriginalComuneId = true; + + _originalComuneId = _comuneId; } - _loginName = loginName; + _comuneId = comuneId; } - public String getOriginalLoginName() { - return GetterUtil.getString(_originalLoginName); + public long getOriginalComuneId() { + return _originalComuneId; } @JSON @Override - public String getPassword() { - if (_password == null) { + public String getApiKey() { + if (_apiKey == null) { return StringPool.BLANK; } else { - return _password; + return _apiKey; } } @Override - public void setPassword(String password) { - _password = password; + public void setApiKey(String apiKey) { + _apiKey = apiKey; } @JSON @Override - public String getNonce() { - if (_nonce == null) { - return StringPool.BLANK; - } - else { - return _nonce; - } + public boolean getAttivo() { + return _attivo; + } + + @Override + public boolean isAttivo() { + return _attivo; } @Override - public void setNonce(String nonce) { - _nonce = nonce; + public void setAttivo(boolean attivo) { + _attivo = attivo; } public long getColumnBitmask() { @@ -448,9 +470,10 @@ public class SportelloModelImpl extends BaseModelImpl sportelloImpl.setUserName(getUserName()); sportelloImpl.setCreateDate(getCreateDate()); sportelloImpl.setModifiedDate(getModifiedDate()); - sportelloImpl.setLoginName(getLoginName()); - sportelloImpl.setPassword(getPassword()); - sportelloImpl.setNonce(getNonce()); + sportelloImpl.setEmail(getEmail()); + sportelloImpl.setComuneId(getComuneId()); + sportelloImpl.setApiKey(getApiKey()); + sportelloImpl.setAttivo(getAttivo()); sportelloImpl.resetOriginalValues(); @@ -503,7 +526,9 @@ public class SportelloModelImpl extends BaseModelImpl public void resetOriginalValues() { SportelloModelImpl sportelloModelImpl = this; - sportelloModelImpl._originalLoginName = sportelloModelImpl._loginName; + sportelloModelImpl._originalComuneId = sportelloModelImpl._comuneId; + + sportelloModelImpl._setOriginalComuneId = false; sportelloModelImpl._columnBitmask = 0; } @@ -546,36 +571,32 @@ public class SportelloModelImpl extends BaseModelImpl sportelloCacheModel.modifiedDate = Long.MIN_VALUE; } - sportelloCacheModel.loginName = getLoginName(); + sportelloCacheModel.email = getEmail(); - String loginName = sportelloCacheModel.loginName; + String email = sportelloCacheModel.email; - if ((loginName != null) && (loginName.length() == 0)) { - sportelloCacheModel.loginName = null; + if ((email != null) && (email.length() == 0)) { + sportelloCacheModel.email = null; } - sportelloCacheModel.password = getPassword(); + sportelloCacheModel.comuneId = getComuneId(); - String password = sportelloCacheModel.password; + sportelloCacheModel.apiKey = getApiKey(); - if ((password != null) && (password.length() == 0)) { - sportelloCacheModel.password = null; - } - - sportelloCacheModel.nonce = getNonce(); - - String nonce = sportelloCacheModel.nonce; + String apiKey = sportelloCacheModel.apiKey; - if ((nonce != null) && (nonce.length() == 0)) { - sportelloCacheModel.nonce = null; + if ((apiKey != null) && (apiKey.length() == 0)) { + sportelloCacheModel.apiKey = null; } + sportelloCacheModel.attivo = getAttivo(); + return sportelloCacheModel; } @Override public String toString() { - StringBundler sb = new StringBundler(21); + StringBundler sb = new StringBundler(23); sb.append("{sportelloId="); sb.append(getSportelloId()); @@ -591,12 +612,14 @@ public class SportelloModelImpl extends BaseModelImpl sb.append(getCreateDate()); sb.append(", modifiedDate="); sb.append(getModifiedDate()); - sb.append(", loginName="); - sb.append(getLoginName()); - sb.append(", password="); - sb.append(getPassword()); - sb.append(", nonce="); - sb.append(getNonce()); + sb.append(", email="); + sb.append(getEmail()); + sb.append(", comuneId="); + sb.append(getComuneId()); + sb.append(", apiKey="); + sb.append(getApiKey()); + sb.append(", attivo="); + sb.append(getAttivo()); sb.append("}"); return sb.toString(); @@ -604,7 +627,7 @@ public class SportelloModelImpl extends BaseModelImpl @Override public String toXmlString() { - StringBundler sb = new StringBundler(34); + StringBundler sb = new StringBundler(37); sb.append(""); sb.append("it.mwg.sicilia.sue.model.Sportello"); @@ -639,16 +662,20 @@ public class SportelloModelImpl extends BaseModelImpl sb.append(getModifiedDate()); sb.append("]]>"); sb.append( - "loginNameemail"); + sb.append( + "comuneId"); sb.append( - "passwordapiKey"); sb.append( - "nonceattivo"); sb.append(""); @@ -668,10 +695,12 @@ public class SportelloModelImpl extends BaseModelImpl private String _userName; private Date _createDate; private Date _modifiedDate; - private String _loginName; - private String _originalLoginName; - private String _password; - private String _nonce; + private String _email; + private long _comuneId; + private long _originalComuneId; + private boolean _setOriginalComuneId; + private String _apiKey; + private boolean _attivo; private long _columnBitmask; private Sportello _escapedModel; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/portlet/SueAdministrationPortlet.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/portlet/SueAdministrationPortlet.java index 3a4b43c8..ed19e566 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/portlet/SueAdministrationPortlet.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/portlet/SueAdministrationPortlet.java @@ -1,7 +1,122 @@ package it.mwg.sicilia.sue.portlet; +import it.mwg.sicilia.sue.model.Sportello; +import it.mwg.sicilia.sue.service.SportelloLocalServiceUtil; +import it.tref.liferay.portos.bo.model.Comune; +import it.tref.liferay.portos.bo.model.Provincia; +import it.tref.liferay.portos.bo.model.Territorio; +import it.tref.liferay.portos.bo.service.ComuneLocalServiceUtil; +import it.tref.liferay.portos.bo.service.ProvinciaLocalServiceUtil; +import it.tref.liferay.portos.bo.service.TerritorioLocalServiceUtil; + +import java.io.IOException; +import java.util.Date; + +import javax.portlet.ActionRequest; +import javax.portlet.ActionResponse; +import javax.portlet.PortletException; +import javax.portlet.ResourceRequest; +import javax.portlet.ResourceResponse; +import javax.servlet.http.HttpServletResponse; + +import com.liferay.counter.service.CounterLocalServiceUtil; +import com.liferay.portal.kernel.exception.PortalException; +import com.liferay.portal.kernel.exception.SystemException; +import com.liferay.portal.kernel.json.JSONArray; +import com.liferay.portal.kernel.json.JSONFactoryUtil; +import com.liferay.portal.kernel.log.Log; +import com.liferay.portal.kernel.log.LogFactoryUtil; +import com.liferay.portal.kernel.portlet.PortletResponseUtil; +import com.liferay.portal.kernel.util.ContentTypes; +import com.liferay.portal.kernel.util.ParamUtil; +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.ServiceContextFactory; +import com.liferay.portal.service.UserLocalServiceUtil; import com.liferay.util.bridges.mvc.MVCPortlet; public class SueAdministrationPortlet extends MVCPortlet { + public static final String RESOURCE_PROVINCE = "province"; + public static final String RESOURCE_COMUNI = "comuni"; + + private static final Log _log = LogFactoryUtil.getLog(SueAdministrationPortlet.class); + + public void editSportello(ActionRequest actionRequest, ActionResponse actionResponse) throws SystemException, + PortalException { + + Date data = new Date(); + ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest); + User user = UserLocalServiceUtil.getUser(serviceContext.getUserId()); + long sportelloId = ParamUtil.getLong(actionRequest, "sportelloId", 0); + long comuneId = ParamUtil.getLong(actionRequest, "comune", 0); + Territorio territorio = TerritorioLocalServiceUtil.findByComuneId(comuneId, 0, 1).get(0); + String email = ParamUtil.getString(actionRequest, "email"); + String apiKey = ParamUtil.getString(actionRequest, "apiKey"); + _log.info("apiKey = " + apiKey); + Sportello sportello = null; + if (sportelloId != 0) { + try { + sportello = SportelloLocalServiceUtil.getSportello(sportelloId); + } catch (PortalException | SystemException e) { + + } + } + if (Validator.isNull(sportello)) { + sportello = SportelloLocalServiceUtil.createSportello(CounterLocalServiceUtil.increment(Sportello.class + .getName())); + sportello.setGroupId(territorio.getGroupId()); + sportello.setCompanyId(territorio.getCompanyId()); + sportello.setCreateDate(data); + } + sportello.setUserId(user.getUserId()); + sportello.setUserName(user.getFullName()); + sportello.setModifiedDate(data); + sportello.setComuneId(comuneId); + sportello.setEmail(email); + sportello.setApiKey(apiKey); + SportelloLocalServiceUtil.updateSportello(sportello); + } + + @Override + public void serveResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws IOException, + PortletException { + + String id = resourceRequest.getResourceID(); + try { + ServiceContext serviceContext = ServiceContextFactory.getInstance(resourceRequest); + long companyId = serviceContext.getCompanyId(); + JSONArray array = JSONFactoryUtil.createJSONArray(); + switch (id) { + case RESOURCE_PROVINCE: + for (String codice : TerritorioLocalServiceUtil.getActiveProvince()) { + Provincia provincia = ProvinciaLocalServiceUtil.fetchByC_C(companyId, codice); + array.put(JSONFactoryUtil.createJSONObject().put("id", codice) + .put("desc", provincia.getSigla() + " - " + provincia.getProvincia())); + } + resourceResponse.setContentType(ContentTypes.APPLICATION_JSON); + resourceResponse.setCharacterEncoding(StringPool.UTF8); + PortletResponseUtil.write(resourceResponse, array.toString()); + break; + case RESOURCE_COMUNI: + String codice = ParamUtil.getString(resourceRequest, "codice"); + for (long comuneId : TerritorioLocalServiceUtil.getActiveComuniByCodiceProvincia(codice)) { + Comune comune = ComuneLocalServiceUtil.getComune(comuneId); + array.put(JSONFactoryUtil.createJSONObject().put("id", comuneId) + .put("desc", comune.getDenominazione())); + } + resourceResponse.setContentType(ContentTypes.APPLICATION_JSON); + resourceResponse.setCharacterEncoding(StringPool.UTF8); + PortletResponseUtil.write(resourceResponse, array.toString()); + break; + default: + resourceResponse.setProperty(ResourceResponse.HTTP_STATUS_CODE, + String.valueOf(HttpServletResponse.SC_NOT_FOUND)); + } + } catch (PortalException | SystemException e) { + throw new IOException(e); + } + } } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/ApiSettingLocalServiceBaseImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/ApiSettingLocalServiceBaseImpl.java new file mode 100644 index 00000000..b3817a3d --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/ApiSettingLocalServiceBaseImpl.java @@ -0,0 +1,598 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service.base; + +import com.liferay.portal.kernel.bean.BeanReference; +import com.liferay.portal.kernel.bean.IdentifiableBean; +import com.liferay.portal.kernel.dao.jdbc.SqlUpdate; +import com.liferay.portal.kernel.dao.jdbc.SqlUpdateFactoryUtil; +import com.liferay.portal.kernel.dao.orm.DynamicQuery; +import com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil; +import com.liferay.portal.kernel.dao.orm.Projection; +import com.liferay.portal.kernel.exception.PortalException; +import com.liferay.portal.kernel.exception.SystemException; +import com.liferay.portal.kernel.search.Indexable; +import com.liferay.portal.kernel.search.IndexableType; +import com.liferay.portal.kernel.util.OrderByComparator; +import com.liferay.portal.model.PersistedModel; +import com.liferay.portal.service.BaseLocalServiceImpl; +import com.liferay.portal.service.PersistedModelLocalServiceRegistryUtil; +import com.liferay.portal.service.persistence.UserPersistence; + +import it.mwg.sicilia.sue.model.ApiSetting; +import it.mwg.sicilia.sue.service.ApiSettingLocalService; +import it.mwg.sicilia.sue.service.persistence.ApiSettingPersistence; +import it.mwg.sicilia.sue.service.persistence.SportelloPersistence; + +import java.io.Serializable; + +import java.util.List; + +import javax.sql.DataSource; + +/** + * Provides the base implementation for the api setting local service. + * + *

    + * This implementation exists only as a container for the default service methods generated by ServiceBuilder. All custom service methods should be put in {@link it.mwg.sicilia.sue.service.impl.ApiSettingLocalServiceImpl}. + *

    + * + * @author Manifattura Web Group Srl + * @see it.mwg.sicilia.sue.service.impl.ApiSettingLocalServiceImpl + * @see it.mwg.sicilia.sue.service.ApiSettingLocalServiceUtil + * @generated + */ +public abstract class ApiSettingLocalServiceBaseImpl + extends BaseLocalServiceImpl implements ApiSettingLocalService, + IdentifiableBean { + /* + * NOTE FOR DEVELOPERS: + * + * Never modify or reference this class directly. Always use {@link it.mwg.sicilia.sue.service.ApiSettingLocalServiceUtil} to access the api setting local service. + */ + + /** + * Adds the api setting to the database. Also notifies the appropriate model listeners. + * + * @param apiSetting the api setting + * @return the api setting that was added + * @throws SystemException if a system exception occurred + */ + @Indexable(type = IndexableType.REINDEX) + @Override + public ApiSetting addApiSetting(ApiSetting apiSetting) + throws SystemException { + apiSetting.setNew(true); + + return apiSettingPersistence.update(apiSetting); + } + + /** + * Creates a new api setting with the primary key. Does not add the api setting to the database. + * + * @param id the primary key for the new api setting + * @return the new api setting + */ + @Override + public ApiSetting createApiSetting(long id) { + return apiSettingPersistence.create(id); + } + + /** + * Deletes the api setting with the primary key from the database. Also notifies the appropriate model listeners. + * + * @param id the primary key of the api setting + * @return the api setting that was removed + * @throws PortalException if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + @Indexable(type = IndexableType.DELETE) + @Override + public ApiSetting deleteApiSetting(long id) + throws PortalException, SystemException { + return apiSettingPersistence.remove(id); + } + + /** + * Deletes the api setting from the database. Also notifies the appropriate model listeners. + * + * @param apiSetting the api setting + * @return the api setting that was removed + * @throws SystemException if a system exception occurred + */ + @Indexable(type = IndexableType.DELETE) + @Override + public ApiSetting deleteApiSetting(ApiSetting apiSetting) + throws SystemException { + return apiSettingPersistence.remove(apiSetting); + } + + @Override + public DynamicQuery dynamicQuery() { + Class clazz = getClass(); + + return DynamicQueryFactoryUtil.forClass(ApiSetting.class, + clazz.getClassLoader()); + } + + /** + * Performs a dynamic query on the database and returns the matching rows. + * + * @param dynamicQuery the dynamic query + * @return the matching rows + * @throws SystemException if a system exception occurred + */ + @Override + @SuppressWarnings("rawtypes") + public List dynamicQuery(DynamicQuery dynamicQuery) + throws SystemException { + return apiSettingPersistence.findWithDynamicQuery(dynamicQuery); + } + + /** + * Performs a dynamic query on the database and returns a range of the matching rows. + * + *

    + * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

    + * + * @param dynamicQuery the dynamic query + * @param start the lower bound of the range of model instances + * @param end the upper bound of the range of model instances (not inclusive) + * @return the range of matching rows + * @throws SystemException if a system exception occurred + */ + @Override + @SuppressWarnings("rawtypes") + public List dynamicQuery(DynamicQuery dynamicQuery, int start, int end) + throws SystemException { + return apiSettingPersistence.findWithDynamicQuery(dynamicQuery, start, + end); + } + + /** + * Performs a dynamic query on the database and returns an ordered range of the matching rows. + * + *

    + * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

    + * + * @param dynamicQuery the dynamic query + * @param start the lower bound of the range of model instances + * @param end the upper bound of the range of model instances (not inclusive) + * @param orderByComparator the comparator to order the results by (optionally null) + * @return the ordered range of matching rows + * @throws SystemException if a system exception occurred + */ + @Override + @SuppressWarnings("rawtypes") + public List dynamicQuery(DynamicQuery dynamicQuery, int start, int end, + OrderByComparator orderByComparator) throws SystemException { + return apiSettingPersistence.findWithDynamicQuery(dynamicQuery, start, + end, orderByComparator); + } + + /** + * Returns the number of rows that match the dynamic query. + * + * @param dynamicQuery the dynamic query + * @return the number of rows that match the dynamic query + * @throws SystemException if a system exception occurred + */ + @Override + public long dynamicQueryCount(DynamicQuery dynamicQuery) + throws SystemException { + return apiSettingPersistence.countWithDynamicQuery(dynamicQuery); + } + + /** + * Returns the number of rows that match the dynamic query. + * + * @param dynamicQuery the dynamic query + * @param projection the projection to apply to the query + * @return the number of rows that match the dynamic query + * @throws SystemException if a system exception occurred + */ + @Override + public long dynamicQueryCount(DynamicQuery dynamicQuery, + Projection projection) throws SystemException { + return apiSettingPersistence.countWithDynamicQuery(dynamicQuery, + projection); + } + + @Override + public ApiSetting fetchApiSetting(long id) throws SystemException { + return apiSettingPersistence.fetchByPrimaryKey(id); + } + + /** + * Returns the api setting with the primary key. + * + * @param id the primary key of the api setting + * @return the api setting + * @throws PortalException if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public ApiSetting getApiSetting(long id) + throws PortalException, SystemException { + return apiSettingPersistence.findByPrimaryKey(id); + } + + @Override + public PersistedModel getPersistedModel(Serializable primaryKeyObj) + throws PortalException, SystemException { + return apiSettingPersistence.findByPrimaryKey(primaryKeyObj); + } + + /** + * Returns a range of all the api settings. + * + *

    + * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

    + * + * @param start the lower bound of the range of api settings + * @param end the upper bound of the range of api settings (not inclusive) + * @return the range of api settings + * @throws SystemException if a system exception occurred + */ + @Override + public List getApiSettings(int start, int end) + throws SystemException { + return apiSettingPersistence.findAll(start, end); + } + + /** + * Returns the number of api settings. + * + * @return the number of api settings + * @throws SystemException if a system exception occurred + */ + @Override + public int getApiSettingsCount() throws SystemException { + return apiSettingPersistence.countAll(); + } + + /** + * Updates the api setting in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. + * + * @param apiSetting the api setting + * @return the api setting that was updated + * @throws SystemException if a system exception occurred + */ + @Indexable(type = IndexableType.REINDEX) + @Override + public ApiSetting updateApiSetting(ApiSetting apiSetting) + throws SystemException { + return apiSettingPersistence.update(apiSetting); + } + + /** + * Returns the api setting local service. + * + * @return the api setting local service + */ + public it.mwg.sicilia.sue.service.ApiSettingLocalService getApiSettingLocalService() { + return apiSettingLocalService; + } + + /** + * Sets the api setting local service. + * + * @param apiSettingLocalService the api setting local service + */ + public void setApiSettingLocalService( + it.mwg.sicilia.sue.service.ApiSettingLocalService apiSettingLocalService) { + this.apiSettingLocalService = apiSettingLocalService; + } + + /** + * Returns the api setting remote service. + * + * @return the api setting remote service + */ + public it.mwg.sicilia.sue.service.ApiSettingService getApiSettingService() { + return apiSettingService; + } + + /** + * Sets the api setting remote service. + * + * @param apiSettingService the api setting remote service + */ + public void setApiSettingService( + it.mwg.sicilia.sue.service.ApiSettingService apiSettingService) { + this.apiSettingService = apiSettingService; + } + + /** + * Returns the api setting persistence. + * + * @return the api setting persistence + */ + public ApiSettingPersistence getApiSettingPersistence() { + return apiSettingPersistence; + } + + /** + * Sets the api setting persistence. + * + * @param apiSettingPersistence the api setting persistence + */ + public void setApiSettingPersistence( + ApiSettingPersistence apiSettingPersistence) { + this.apiSettingPersistence = apiSettingPersistence; + } + + /** + * Returns the sportello local service. + * + * @return the sportello local service + */ + public it.mwg.sicilia.sue.service.SportelloLocalService getSportelloLocalService() { + return sportelloLocalService; + } + + /** + * Sets the sportello local service. + * + * @param sportelloLocalService the sportello local service + */ + public void setSportelloLocalService( + it.mwg.sicilia.sue.service.SportelloLocalService sportelloLocalService) { + this.sportelloLocalService = sportelloLocalService; + } + + /** + * Returns the sportello remote service. + * + * @return the sportello remote service + */ + public it.mwg.sicilia.sue.service.SportelloService getSportelloService() { + return sportelloService; + } + + /** + * Sets the sportello remote service. + * + * @param sportelloService the sportello remote service + */ + public void setSportelloService( + it.mwg.sicilia.sue.service.SportelloService sportelloService) { + this.sportelloService = sportelloService; + } + + /** + * Returns the sportello persistence. + * + * @return the sportello persistence + */ + public SportelloPersistence getSportelloPersistence() { + return sportelloPersistence; + } + + /** + * Sets the sportello persistence. + * + * @param sportelloPersistence the sportello persistence + */ + public void setSportelloPersistence( + SportelloPersistence sportelloPersistence) { + this.sportelloPersistence = sportelloPersistence; + } + + /** + * Returns the counter local service. + * + * @return the counter local service + */ + public com.liferay.counter.service.CounterLocalService getCounterLocalService() { + return counterLocalService; + } + + /** + * Sets the counter local service. + * + * @param counterLocalService the counter local service + */ + public void setCounterLocalService( + com.liferay.counter.service.CounterLocalService counterLocalService) { + this.counterLocalService = counterLocalService; + } + + /** + * Returns the resource local service. + * + * @return the resource local service + */ + public com.liferay.portal.service.ResourceLocalService getResourceLocalService() { + return resourceLocalService; + } + + /** + * Sets the resource local service. + * + * @param resourceLocalService the resource local service + */ + public void setResourceLocalService( + com.liferay.portal.service.ResourceLocalService resourceLocalService) { + this.resourceLocalService = resourceLocalService; + } + + /** + * Returns the user local service. + * + * @return the user local service + */ + public com.liferay.portal.service.UserLocalService getUserLocalService() { + return userLocalService; + } + + /** + * Sets the user local service. + * + * @param userLocalService the user local service + */ + public void setUserLocalService( + com.liferay.portal.service.UserLocalService userLocalService) { + this.userLocalService = userLocalService; + } + + /** + * Returns the user remote service. + * + * @return the user remote service + */ + public com.liferay.portal.service.UserService getUserService() { + return userService; + } + + /** + * Sets the user remote service. + * + * @param userService the user remote service + */ + public void setUserService( + com.liferay.portal.service.UserService userService) { + this.userService = userService; + } + + /** + * Returns the user persistence. + * + * @return the user persistence + */ + public UserPersistence getUserPersistence() { + return userPersistence; + } + + /** + * Sets the user persistence. + * + * @param userPersistence the user persistence + */ + public void setUserPersistence(UserPersistence userPersistence) { + this.userPersistence = userPersistence; + } + + public void afterPropertiesSet() { + Class clazz = getClass(); + + _classLoader = clazz.getClassLoader(); + + PersistedModelLocalServiceRegistryUtil.register("it.mwg.sicilia.sue.model.ApiSetting", + apiSettingLocalService); + } + + public void destroy() { + PersistedModelLocalServiceRegistryUtil.unregister( + "it.mwg.sicilia.sue.model.ApiSetting"); + } + + /** + * Returns the Spring bean ID for this bean. + * + * @return the Spring bean ID for this bean + */ + @Override + public String getBeanIdentifier() { + return _beanIdentifier; + } + + /** + * Sets the Spring bean ID for this bean. + * + * @param beanIdentifier the Spring bean ID for this bean + */ + @Override + public void setBeanIdentifier(String beanIdentifier) { + _beanIdentifier = beanIdentifier; + } + + @Override + public Object invokeMethod(String name, String[] parameterTypes, + Object[] arguments) throws Throwable { + Thread currentThread = Thread.currentThread(); + + ClassLoader contextClassLoader = currentThread.getContextClassLoader(); + + if (contextClassLoader != _classLoader) { + currentThread.setContextClassLoader(_classLoader); + } + + try { + return _clpInvoker.invokeMethod(name, parameterTypes, arguments); + } + finally { + if (contextClassLoader != _classLoader) { + currentThread.setContextClassLoader(contextClassLoader); + } + } + } + + protected Class getModelClass() { + return ApiSetting.class; + } + + protected String getModelClassName() { + return ApiSetting.class.getName(); + } + + /** + * Performs an SQL query. + * + * @param sql the sql query + */ + protected void runSQL(String sql) throws SystemException { + try { + DataSource dataSource = apiSettingPersistence.getDataSource(); + + SqlUpdate sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(dataSource, + sql, new int[0]); + + sqlUpdate.update(); + } + catch (Exception e) { + throw new SystemException(e); + } + } + + @BeanReference(type = it.mwg.sicilia.sue.service.ApiSettingLocalService.class) + protected it.mwg.sicilia.sue.service.ApiSettingLocalService apiSettingLocalService; + @BeanReference(type = it.mwg.sicilia.sue.service.ApiSettingService.class) + protected it.mwg.sicilia.sue.service.ApiSettingService apiSettingService; + @BeanReference(type = ApiSettingPersistence.class) + protected ApiSettingPersistence apiSettingPersistence; + @BeanReference(type = it.mwg.sicilia.sue.service.SportelloLocalService.class) + protected it.mwg.sicilia.sue.service.SportelloLocalService sportelloLocalService; + @BeanReference(type = it.mwg.sicilia.sue.service.SportelloService.class) + protected it.mwg.sicilia.sue.service.SportelloService sportelloService; + @BeanReference(type = SportelloPersistence.class) + protected SportelloPersistence sportelloPersistence; + @BeanReference(type = com.liferay.counter.service.CounterLocalService.class) + protected com.liferay.counter.service.CounterLocalService counterLocalService; + @BeanReference(type = com.liferay.portal.service.ResourceLocalService.class) + protected com.liferay.portal.service.ResourceLocalService resourceLocalService; + @BeanReference(type = com.liferay.portal.service.UserLocalService.class) + protected com.liferay.portal.service.UserLocalService userLocalService; + @BeanReference(type = com.liferay.portal.service.UserService.class) + protected com.liferay.portal.service.UserService userService; + @BeanReference(type = UserPersistence.class) + protected UserPersistence userPersistence; + private String _beanIdentifier; + private ClassLoader _classLoader; + private ApiSettingLocalServiceClpInvoker _clpInvoker = new ApiSettingLocalServiceClpInvoker(); +} \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/ApiSettingLocalServiceClpInvoker.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/ApiSettingLocalServiceClpInvoker.java new file mode 100644 index 00000000..ea185e7d --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/ApiSettingLocalServiceClpInvoker.java @@ -0,0 +1,286 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service.base; + +import it.mwg.sicilia.sue.service.ApiSettingLocalServiceUtil; + +import java.util.Arrays; + +/** + * @author Manifattura Web Group Srl + * @generated + */ +public class ApiSettingLocalServiceClpInvoker { + public ApiSettingLocalServiceClpInvoker() { + _methodName0 = "addApiSetting"; + + _methodParameterTypes0 = new String[] { + "it.mwg.sicilia.sue.model.ApiSetting" + }; + + _methodName1 = "createApiSetting"; + + _methodParameterTypes1 = new String[] { "long" }; + + _methodName2 = "deleteApiSetting"; + + _methodParameterTypes2 = new String[] { "long" }; + + _methodName3 = "deleteApiSetting"; + + _methodParameterTypes3 = new String[] { + "it.mwg.sicilia.sue.model.ApiSetting" + }; + + _methodName4 = "dynamicQuery"; + + _methodParameterTypes4 = new String[] { }; + + _methodName5 = "dynamicQuery"; + + _methodParameterTypes5 = new String[] { + "com.liferay.portal.kernel.dao.orm.DynamicQuery" + }; + + _methodName6 = "dynamicQuery"; + + _methodParameterTypes6 = new String[] { + "com.liferay.portal.kernel.dao.orm.DynamicQuery", "int", "int" + }; + + _methodName7 = "dynamicQuery"; + + _methodParameterTypes7 = new String[] { + "com.liferay.portal.kernel.dao.orm.DynamicQuery", "int", "int", + "com.liferay.portal.kernel.util.OrderByComparator" + }; + + _methodName8 = "dynamicQueryCount"; + + _methodParameterTypes8 = new String[] { + "com.liferay.portal.kernel.dao.orm.DynamicQuery" + }; + + _methodName9 = "dynamicQueryCount"; + + _methodParameterTypes9 = new String[] { + "com.liferay.portal.kernel.dao.orm.DynamicQuery", + "com.liferay.portal.kernel.dao.orm.Projection" + }; + + _methodName10 = "fetchApiSetting"; + + _methodParameterTypes10 = new String[] { "long" }; + + _methodName11 = "getApiSetting"; + + _methodParameterTypes11 = new String[] { "long" }; + + _methodName12 = "getPersistedModel"; + + _methodParameterTypes12 = new String[] { "java.io.Serializable" }; + + _methodName13 = "getApiSettings"; + + _methodParameterTypes13 = new String[] { "int", "int" }; + + _methodName14 = "getApiSettingsCount"; + + _methodParameterTypes14 = new String[] { }; + + _methodName15 = "updateApiSetting"; + + _methodParameterTypes15 = new String[] { + "it.mwg.sicilia.sue.model.ApiSetting" + }; + + _methodName40 = "getBeanIdentifier"; + + _methodParameterTypes40 = new String[] { }; + + _methodName41 = "setBeanIdentifier"; + + _methodParameterTypes41 = new String[] { "java.lang.String" }; + + _methodName46 = "get"; + + _methodParameterTypes46 = new String[] { "long", "long" }; + + _methodName47 = "set"; + + _methodParameterTypes47 = new String[] { + "long", "long", "java.lang.String" + }; + } + + public Object invokeMethod(String name, String[] parameterTypes, + Object[] arguments) throws Throwable { + if (_methodName0.equals(name) && + Arrays.deepEquals(_methodParameterTypes0, parameterTypes)) { + return ApiSettingLocalServiceUtil.addApiSetting((it.mwg.sicilia.sue.model.ApiSetting)arguments[0]); + } + + if (_methodName1.equals(name) && + Arrays.deepEquals(_methodParameterTypes1, parameterTypes)) { + return ApiSettingLocalServiceUtil.createApiSetting(((Long)arguments[0]).longValue()); + } + + if (_methodName2.equals(name) && + Arrays.deepEquals(_methodParameterTypes2, parameterTypes)) { + return ApiSettingLocalServiceUtil.deleteApiSetting(((Long)arguments[0]).longValue()); + } + + if (_methodName3.equals(name) && + Arrays.deepEquals(_methodParameterTypes3, parameterTypes)) { + return ApiSettingLocalServiceUtil.deleteApiSetting((it.mwg.sicilia.sue.model.ApiSetting)arguments[0]); + } + + if (_methodName4.equals(name) && + Arrays.deepEquals(_methodParameterTypes4, parameterTypes)) { + return ApiSettingLocalServiceUtil.dynamicQuery(); + } + + if (_methodName5.equals(name) && + Arrays.deepEquals(_methodParameterTypes5, parameterTypes)) { + return ApiSettingLocalServiceUtil.dynamicQuery((com.liferay.portal.kernel.dao.orm.DynamicQuery)arguments[0]); + } + + if (_methodName6.equals(name) && + Arrays.deepEquals(_methodParameterTypes6, parameterTypes)) { + return ApiSettingLocalServiceUtil.dynamicQuery((com.liferay.portal.kernel.dao.orm.DynamicQuery)arguments[0], + ((Integer)arguments[1]).intValue(), + ((Integer)arguments[2]).intValue()); + } + + if (_methodName7.equals(name) && + Arrays.deepEquals(_methodParameterTypes7, parameterTypes)) { + return ApiSettingLocalServiceUtil.dynamicQuery((com.liferay.portal.kernel.dao.orm.DynamicQuery)arguments[0], + ((Integer)arguments[1]).intValue(), + ((Integer)arguments[2]).intValue(), + (com.liferay.portal.kernel.util.OrderByComparator)arguments[3]); + } + + if (_methodName8.equals(name) && + Arrays.deepEquals(_methodParameterTypes8, parameterTypes)) { + return ApiSettingLocalServiceUtil.dynamicQueryCount((com.liferay.portal.kernel.dao.orm.DynamicQuery)arguments[0]); + } + + if (_methodName9.equals(name) && + Arrays.deepEquals(_methodParameterTypes9, parameterTypes)) { + return ApiSettingLocalServiceUtil.dynamicQueryCount((com.liferay.portal.kernel.dao.orm.DynamicQuery)arguments[0], + (com.liferay.portal.kernel.dao.orm.Projection)arguments[1]); + } + + if (_methodName10.equals(name) && + Arrays.deepEquals(_methodParameterTypes10, parameterTypes)) { + return ApiSettingLocalServiceUtil.fetchApiSetting(((Long)arguments[0]).longValue()); + } + + if (_methodName11.equals(name) && + Arrays.deepEquals(_methodParameterTypes11, parameterTypes)) { + return ApiSettingLocalServiceUtil.getApiSetting(((Long)arguments[0]).longValue()); + } + + if (_methodName12.equals(name) && + Arrays.deepEquals(_methodParameterTypes12, parameterTypes)) { + return ApiSettingLocalServiceUtil.getPersistedModel((java.io.Serializable)arguments[0]); + } + + if (_methodName13.equals(name) && + Arrays.deepEquals(_methodParameterTypes13, parameterTypes)) { + return ApiSettingLocalServiceUtil.getApiSettings(((Integer)arguments[0]).intValue(), + ((Integer)arguments[1]).intValue()); + } + + if (_methodName14.equals(name) && + Arrays.deepEquals(_methodParameterTypes14, parameterTypes)) { + return ApiSettingLocalServiceUtil.getApiSettingsCount(); + } + + if (_methodName15.equals(name) && + Arrays.deepEquals(_methodParameterTypes15, parameterTypes)) { + return ApiSettingLocalServiceUtil.updateApiSetting((it.mwg.sicilia.sue.model.ApiSetting)arguments[0]); + } + + if (_methodName40.equals(name) && + Arrays.deepEquals(_methodParameterTypes40, parameterTypes)) { + return ApiSettingLocalServiceUtil.getBeanIdentifier(); + } + + if (_methodName41.equals(name) && + Arrays.deepEquals(_methodParameterTypes41, parameterTypes)) { + ApiSettingLocalServiceUtil.setBeanIdentifier((java.lang.String)arguments[0]); + + return null; + } + + if (_methodName46.equals(name) && + Arrays.deepEquals(_methodParameterTypes46, parameterTypes)) { + return ApiSettingLocalServiceUtil.get(((Long)arguments[0]).longValue(), + ((Long)arguments[1]).longValue()); + } + + if (_methodName47.equals(name) && + Arrays.deepEquals(_methodParameterTypes47, parameterTypes)) { + ApiSettingLocalServiceUtil.set(((Long)arguments[0]).longValue(), + ((Long)arguments[1]).longValue(), (java.lang.String)arguments[2]); + + return null; + } + + throw new UnsupportedOperationException(); + } + + private String _methodName0; + private String[] _methodParameterTypes0; + private String _methodName1; + private String[] _methodParameterTypes1; + private String _methodName2; + private String[] _methodParameterTypes2; + private String _methodName3; + private String[] _methodParameterTypes3; + private String _methodName4; + private String[] _methodParameterTypes4; + private String _methodName5; + private String[] _methodParameterTypes5; + private String _methodName6; + private String[] _methodParameterTypes6; + private String _methodName7; + private String[] _methodParameterTypes7; + private String _methodName8; + private String[] _methodParameterTypes8; + private String _methodName9; + private String[] _methodParameterTypes9; + private String _methodName10; + private String[] _methodParameterTypes10; + private String _methodName11; + private String[] _methodParameterTypes11; + private String _methodName12; + private String[] _methodParameterTypes12; + private String _methodName13; + private String[] _methodParameterTypes13; + private String _methodName14; + private String[] _methodParameterTypes14; + private String _methodName15; + private String[] _methodParameterTypes15; + private String _methodName40; + private String[] _methodParameterTypes40; + private String _methodName41; + private String[] _methodParameterTypes41; + private String _methodName46; + private String[] _methodParameterTypes46; + private String _methodName47; + private String[] _methodParameterTypes47; +} \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/ApiSettingServiceBaseImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/ApiSettingServiceBaseImpl.java new file mode 100644 index 00000000..ab303383 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/ApiSettingServiceBaseImpl.java @@ -0,0 +1,362 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service.base; + +import com.liferay.portal.kernel.bean.BeanReference; +import com.liferay.portal.kernel.bean.IdentifiableBean; +import com.liferay.portal.kernel.dao.jdbc.SqlUpdate; +import com.liferay.portal.kernel.dao.jdbc.SqlUpdateFactoryUtil; +import com.liferay.portal.kernel.exception.SystemException; +import com.liferay.portal.service.BaseServiceImpl; +import com.liferay.portal.service.persistence.UserPersistence; + +import it.mwg.sicilia.sue.model.ApiSetting; +import it.mwg.sicilia.sue.service.ApiSettingService; +import it.mwg.sicilia.sue.service.persistence.ApiSettingPersistence; +import it.mwg.sicilia.sue.service.persistence.SportelloPersistence; + +import javax.sql.DataSource; + +/** + * Provides the base implementation for the api setting remote service. + * + *

    + * This implementation exists only as a container for the default service methods generated by ServiceBuilder. All custom service methods should be put in {@link it.mwg.sicilia.sue.service.impl.ApiSettingServiceImpl}. + *

    + * + * @author Manifattura Web Group Srl + * @see it.mwg.sicilia.sue.service.impl.ApiSettingServiceImpl + * @see it.mwg.sicilia.sue.service.ApiSettingServiceUtil + * @generated + */ +public abstract class ApiSettingServiceBaseImpl extends BaseServiceImpl + implements ApiSettingService, IdentifiableBean { + /* + * NOTE FOR DEVELOPERS: + * + * Never modify or reference this class directly. Always use {@link it.mwg.sicilia.sue.service.ApiSettingServiceUtil} to access the api setting remote service. + */ + + /** + * Returns the api setting local service. + * + * @return the api setting local service + */ + public it.mwg.sicilia.sue.service.ApiSettingLocalService getApiSettingLocalService() { + return apiSettingLocalService; + } + + /** + * Sets the api setting local service. + * + * @param apiSettingLocalService the api setting local service + */ + public void setApiSettingLocalService( + it.mwg.sicilia.sue.service.ApiSettingLocalService apiSettingLocalService) { + this.apiSettingLocalService = apiSettingLocalService; + } + + /** + * Returns the api setting remote service. + * + * @return the api setting remote service + */ + public it.mwg.sicilia.sue.service.ApiSettingService getApiSettingService() { + return apiSettingService; + } + + /** + * Sets the api setting remote service. + * + * @param apiSettingService the api setting remote service + */ + public void setApiSettingService( + it.mwg.sicilia.sue.service.ApiSettingService apiSettingService) { + this.apiSettingService = apiSettingService; + } + + /** + * Returns the api setting persistence. + * + * @return the api setting persistence + */ + public ApiSettingPersistence getApiSettingPersistence() { + return apiSettingPersistence; + } + + /** + * Sets the api setting persistence. + * + * @param apiSettingPersistence the api setting persistence + */ + public void setApiSettingPersistence( + ApiSettingPersistence apiSettingPersistence) { + this.apiSettingPersistence = apiSettingPersistence; + } + + /** + * Returns the sportello local service. + * + * @return the sportello local service + */ + public it.mwg.sicilia.sue.service.SportelloLocalService getSportelloLocalService() { + return sportelloLocalService; + } + + /** + * Sets the sportello local service. + * + * @param sportelloLocalService the sportello local service + */ + public void setSportelloLocalService( + it.mwg.sicilia.sue.service.SportelloLocalService sportelloLocalService) { + this.sportelloLocalService = sportelloLocalService; + } + + /** + * Returns the sportello remote service. + * + * @return the sportello remote service + */ + public it.mwg.sicilia.sue.service.SportelloService getSportelloService() { + return sportelloService; + } + + /** + * Sets the sportello remote service. + * + * @param sportelloService the sportello remote service + */ + public void setSportelloService( + it.mwg.sicilia.sue.service.SportelloService sportelloService) { + this.sportelloService = sportelloService; + } + + /** + * Returns the sportello persistence. + * + * @return the sportello persistence + */ + public SportelloPersistence getSportelloPersistence() { + return sportelloPersistence; + } + + /** + * Sets the sportello persistence. + * + * @param sportelloPersistence the sportello persistence + */ + public void setSportelloPersistence( + SportelloPersistence sportelloPersistence) { + this.sportelloPersistence = sportelloPersistence; + } + + /** + * Returns the counter local service. + * + * @return the counter local service + */ + public com.liferay.counter.service.CounterLocalService getCounterLocalService() { + return counterLocalService; + } + + /** + * Sets the counter local service. + * + * @param counterLocalService the counter local service + */ + public void setCounterLocalService( + com.liferay.counter.service.CounterLocalService counterLocalService) { + this.counterLocalService = counterLocalService; + } + + /** + * Returns the resource local service. + * + * @return the resource local service + */ + public com.liferay.portal.service.ResourceLocalService getResourceLocalService() { + return resourceLocalService; + } + + /** + * Sets the resource local service. + * + * @param resourceLocalService the resource local service + */ + public void setResourceLocalService( + com.liferay.portal.service.ResourceLocalService resourceLocalService) { + this.resourceLocalService = resourceLocalService; + } + + /** + * Returns the user local service. + * + * @return the user local service + */ + public com.liferay.portal.service.UserLocalService getUserLocalService() { + return userLocalService; + } + + /** + * Sets the user local service. + * + * @param userLocalService the user local service + */ + public void setUserLocalService( + com.liferay.portal.service.UserLocalService userLocalService) { + this.userLocalService = userLocalService; + } + + /** + * Returns the user remote service. + * + * @return the user remote service + */ + public com.liferay.portal.service.UserService getUserService() { + return userService; + } + + /** + * Sets the user remote service. + * + * @param userService the user remote service + */ + public void setUserService( + com.liferay.portal.service.UserService userService) { + this.userService = userService; + } + + /** + * Returns the user persistence. + * + * @return the user persistence + */ + public UserPersistence getUserPersistence() { + return userPersistence; + } + + /** + * Sets the user persistence. + * + * @param userPersistence the user persistence + */ + public void setUserPersistence(UserPersistence userPersistence) { + this.userPersistence = userPersistence; + } + + public void afterPropertiesSet() { + Class clazz = getClass(); + + _classLoader = clazz.getClassLoader(); + } + + public void destroy() { + } + + /** + * Returns the Spring bean ID for this bean. + * + * @return the Spring bean ID for this bean + */ + @Override + public String getBeanIdentifier() { + return _beanIdentifier; + } + + /** + * Sets the Spring bean ID for this bean. + * + * @param beanIdentifier the Spring bean ID for this bean + */ + @Override + public void setBeanIdentifier(String beanIdentifier) { + _beanIdentifier = beanIdentifier; + } + + @Override + public Object invokeMethod(String name, String[] parameterTypes, + Object[] arguments) throws Throwable { + Thread currentThread = Thread.currentThread(); + + ClassLoader contextClassLoader = currentThread.getContextClassLoader(); + + if (contextClassLoader != _classLoader) { + currentThread.setContextClassLoader(_classLoader); + } + + try { + return _clpInvoker.invokeMethod(name, parameterTypes, arguments); + } + finally { + if (contextClassLoader != _classLoader) { + currentThread.setContextClassLoader(contextClassLoader); + } + } + } + + protected Class getModelClass() { + return ApiSetting.class; + } + + protected String getModelClassName() { + return ApiSetting.class.getName(); + } + + /** + * Performs an SQL query. + * + * @param sql the sql query + */ + protected void runSQL(String sql) throws SystemException { + try { + DataSource dataSource = apiSettingPersistence.getDataSource(); + + SqlUpdate sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(dataSource, + sql, new int[0]); + + sqlUpdate.update(); + } + catch (Exception e) { + throw new SystemException(e); + } + } + + @BeanReference(type = it.mwg.sicilia.sue.service.ApiSettingLocalService.class) + protected it.mwg.sicilia.sue.service.ApiSettingLocalService apiSettingLocalService; + @BeanReference(type = it.mwg.sicilia.sue.service.ApiSettingService.class) + protected it.mwg.sicilia.sue.service.ApiSettingService apiSettingService; + @BeanReference(type = ApiSettingPersistence.class) + protected ApiSettingPersistence apiSettingPersistence; + @BeanReference(type = it.mwg.sicilia.sue.service.SportelloLocalService.class) + protected it.mwg.sicilia.sue.service.SportelloLocalService sportelloLocalService; + @BeanReference(type = it.mwg.sicilia.sue.service.SportelloService.class) + protected it.mwg.sicilia.sue.service.SportelloService sportelloService; + @BeanReference(type = SportelloPersistence.class) + protected SportelloPersistence sportelloPersistence; + @BeanReference(type = com.liferay.counter.service.CounterLocalService.class) + protected com.liferay.counter.service.CounterLocalService counterLocalService; + @BeanReference(type = com.liferay.portal.service.ResourceLocalService.class) + protected com.liferay.portal.service.ResourceLocalService resourceLocalService; + @BeanReference(type = com.liferay.portal.service.UserLocalService.class) + protected com.liferay.portal.service.UserLocalService userLocalService; + @BeanReference(type = com.liferay.portal.service.UserService.class) + protected com.liferay.portal.service.UserService userService; + @BeanReference(type = UserPersistence.class) + protected UserPersistence userPersistence; + private String _beanIdentifier; + private ClassLoader _classLoader; + private ApiSettingServiceClpInvoker _clpInvoker = new ApiSettingServiceClpInvoker(); +} \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/ApiSettingServiceClpInvoker.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/ApiSettingServiceClpInvoker.java new file mode 100644 index 00000000..8942d24d --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/ApiSettingServiceClpInvoker.java @@ -0,0 +1,57 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service.base; + +import it.mwg.sicilia.sue.service.ApiSettingServiceUtil; + +import java.util.Arrays; + +/** + * @author Manifattura Web Group Srl + * @generated + */ +public class ApiSettingServiceClpInvoker { + public ApiSettingServiceClpInvoker() { + _methodName24 = "getBeanIdentifier"; + + _methodParameterTypes24 = new String[] { }; + + _methodName25 = "setBeanIdentifier"; + + _methodParameterTypes25 = new String[] { "java.lang.String" }; + } + + public Object invokeMethod(String name, String[] parameterTypes, + Object[] arguments) throws Throwable { + if (_methodName24.equals(name) && + Arrays.deepEquals(_methodParameterTypes24, parameterTypes)) { + return ApiSettingServiceUtil.getBeanIdentifier(); + } + + if (_methodName25.equals(name) && + Arrays.deepEquals(_methodParameterTypes25, parameterTypes)) { + ApiSettingServiceUtil.setBeanIdentifier((java.lang.String)arguments[0]); + + return null; + } + + throw new UnsupportedOperationException(); + } + + private String _methodName24; + private String[] _methodParameterTypes24; + private String _methodName25; + private String[] _methodParameterTypes25; +} \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloLocalServiceBaseImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloLocalServiceBaseImpl.java index 737f1dfe..3c4bbce5 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloLocalServiceBaseImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloLocalServiceBaseImpl.java @@ -33,6 +33,7 @@ import com.liferay.portal.service.persistence.UserPersistence; import it.mwg.sicilia.sue.model.Sportello; import it.mwg.sicilia.sue.service.SportelloLocalService; +import it.mwg.sicilia.sue.service.persistence.ApiSettingPersistence; import it.mwg.sicilia.sue.service.persistence.SportelloPersistence; import java.io.Serializable; @@ -278,6 +279,63 @@ public abstract class SportelloLocalServiceBaseImpl extends BaseLocalServiceImpl return sportelloPersistence.update(sportello); } + /** + * Returns the api setting local service. + * + * @return the api setting local service + */ + public it.mwg.sicilia.sue.service.ApiSettingLocalService getApiSettingLocalService() { + return apiSettingLocalService; + } + + /** + * Sets the api setting local service. + * + * @param apiSettingLocalService the api setting local service + */ + public void setApiSettingLocalService( + it.mwg.sicilia.sue.service.ApiSettingLocalService apiSettingLocalService) { + this.apiSettingLocalService = apiSettingLocalService; + } + + /** + * Returns the api setting remote service. + * + * @return the api setting remote service + */ + public it.mwg.sicilia.sue.service.ApiSettingService getApiSettingService() { + return apiSettingService; + } + + /** + * Sets the api setting remote service. + * + * @param apiSettingService the api setting remote service + */ + public void setApiSettingService( + it.mwg.sicilia.sue.service.ApiSettingService apiSettingService) { + this.apiSettingService = apiSettingService; + } + + /** + * Returns the api setting persistence. + * + * @return the api setting persistence + */ + public ApiSettingPersistence getApiSettingPersistence() { + return apiSettingPersistence; + } + + /** + * Sets the api setting persistence. + * + * @param apiSettingPersistence the api setting persistence + */ + public void setApiSettingPersistence( + ApiSettingPersistence apiSettingPersistence) { + this.apiSettingPersistence = apiSettingPersistence; + } + /** * Returns the sportello local service. * @@ -511,6 +569,12 @@ public abstract class SportelloLocalServiceBaseImpl extends BaseLocalServiceImpl } } + @BeanReference(type = it.mwg.sicilia.sue.service.ApiSettingLocalService.class) + protected it.mwg.sicilia.sue.service.ApiSettingLocalService apiSettingLocalService; + @BeanReference(type = it.mwg.sicilia.sue.service.ApiSettingService.class) + protected it.mwg.sicilia.sue.service.ApiSettingService apiSettingService; + @BeanReference(type = ApiSettingPersistence.class) + protected ApiSettingPersistence apiSettingPersistence; @BeanReference(type = it.mwg.sicilia.sue.service.SportelloLocalService.class) protected it.mwg.sicilia.sue.service.SportelloLocalService sportelloLocalService; @BeanReference(type = it.mwg.sicilia.sue.service.SportelloService.class) diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloLocalServiceClpInvoker.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloLocalServiceClpInvoker.java index e064b6fa..250f23c4 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloLocalServiceClpInvoker.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloLocalServiceClpInvoker.java @@ -106,13 +106,13 @@ public class SportelloLocalServiceClpInvoker { "it.mwg.sicilia.sue.model.Sportello" }; - _methodName34 = "getBeanIdentifier"; + _methodName40 = "getBeanIdentifier"; - _methodParameterTypes34 = new String[] { }; + _methodParameterTypes40 = new String[] { }; - _methodName35 = "setBeanIdentifier"; + _methodName41 = "setBeanIdentifier"; - _methodParameterTypes35 = new String[] { "java.lang.String" }; + _methodParameterTypes41 = new String[] { "java.lang.String" }; } public Object invokeMethod(String name, String[] parameterTypes, @@ -204,13 +204,13 @@ public class SportelloLocalServiceClpInvoker { return SportelloLocalServiceUtil.updateSportello((it.mwg.sicilia.sue.model.Sportello)arguments[0]); } - if (_methodName34.equals(name) && - Arrays.deepEquals(_methodParameterTypes34, parameterTypes)) { + if (_methodName40.equals(name) && + Arrays.deepEquals(_methodParameterTypes40, parameterTypes)) { return SportelloLocalServiceUtil.getBeanIdentifier(); } - if (_methodName35.equals(name) && - Arrays.deepEquals(_methodParameterTypes35, parameterTypes)) { + if (_methodName41.equals(name) && + Arrays.deepEquals(_methodParameterTypes41, parameterTypes)) { SportelloLocalServiceUtil.setBeanIdentifier((java.lang.String)arguments[0]); return null; @@ -251,8 +251,8 @@ public class SportelloLocalServiceClpInvoker { private String[] _methodParameterTypes14; private String _methodName15; private String[] _methodParameterTypes15; - private String _methodName34; - private String[] _methodParameterTypes34; - private String _methodName35; - private String[] _methodParameterTypes35; + private String _methodName40; + private String[] _methodParameterTypes40; + private String _methodName41; + private String[] _methodParameterTypes41; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloServiceBaseImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloServiceBaseImpl.java index 09bad918..c3471ced 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloServiceBaseImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloServiceBaseImpl.java @@ -24,6 +24,7 @@ import com.liferay.portal.service.persistence.UserPersistence; import it.mwg.sicilia.sue.model.Sportello; import it.mwg.sicilia.sue.service.SportelloService; +import it.mwg.sicilia.sue.service.persistence.ApiSettingPersistence; import it.mwg.sicilia.sue.service.persistence.SportelloPersistence; import javax.sql.DataSource; @@ -48,6 +49,63 @@ public abstract class SportelloServiceBaseImpl extends BaseServiceImpl * Never modify or reference this class directly. Always use {@link it.mwg.sicilia.sue.service.SportelloServiceUtil} to access the sportello remote service. */ + /** + * Returns the api setting local service. + * + * @return the api setting local service + */ + public it.mwg.sicilia.sue.service.ApiSettingLocalService getApiSettingLocalService() { + return apiSettingLocalService; + } + + /** + * Sets the api setting local service. + * + * @param apiSettingLocalService the api setting local service + */ + public void setApiSettingLocalService( + it.mwg.sicilia.sue.service.ApiSettingLocalService apiSettingLocalService) { + this.apiSettingLocalService = apiSettingLocalService; + } + + /** + * Returns the api setting remote service. + * + * @return the api setting remote service + */ + public it.mwg.sicilia.sue.service.ApiSettingService getApiSettingService() { + return apiSettingService; + } + + /** + * Sets the api setting remote service. + * + * @param apiSettingService the api setting remote service + */ + public void setApiSettingService( + it.mwg.sicilia.sue.service.ApiSettingService apiSettingService) { + this.apiSettingService = apiSettingService; + } + + /** + * Returns the api setting persistence. + * + * @return the api setting persistence + */ + public ApiSettingPersistence getApiSettingPersistence() { + return apiSettingPersistence; + } + + /** + * Sets the api setting persistence. + * + * @param apiSettingPersistence the api setting persistence + */ + public void setApiSettingPersistence( + ApiSettingPersistence apiSettingPersistence) { + this.apiSettingPersistence = apiSettingPersistence; + } + /** * Returns the sportello local service. * @@ -276,6 +334,12 @@ public abstract class SportelloServiceBaseImpl extends BaseServiceImpl } } + @BeanReference(type = it.mwg.sicilia.sue.service.ApiSettingLocalService.class) + protected it.mwg.sicilia.sue.service.ApiSettingLocalService apiSettingLocalService; + @BeanReference(type = it.mwg.sicilia.sue.service.ApiSettingService.class) + protected it.mwg.sicilia.sue.service.ApiSettingService apiSettingService; + @BeanReference(type = ApiSettingPersistence.class) + protected ApiSettingPersistence apiSettingPersistence; @BeanReference(type = it.mwg.sicilia.sue.service.SportelloLocalService.class) protected it.mwg.sicilia.sue.service.SportelloLocalService sportelloLocalService; @BeanReference(type = it.mwg.sicilia.sue.service.SportelloService.class) diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloServiceClpInvoker.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloServiceClpInvoker.java index 2c3d2b46..4b49ae20 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloServiceClpInvoker.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloServiceClpInvoker.java @@ -24,24 +24,24 @@ import java.util.Arrays; */ public class SportelloServiceClpInvoker { public SportelloServiceClpInvoker() { - _methodName18 = "getBeanIdentifier"; + _methodName24 = "getBeanIdentifier"; - _methodParameterTypes18 = new String[] { }; + _methodParameterTypes24 = new String[] { }; - _methodName19 = "setBeanIdentifier"; + _methodName25 = "setBeanIdentifier"; - _methodParameterTypes19 = new String[] { "java.lang.String" }; + _methodParameterTypes25 = new String[] { "java.lang.String" }; } public Object invokeMethod(String name, String[] parameterTypes, Object[] arguments) throws Throwable { - if (_methodName18.equals(name) && - Arrays.deepEquals(_methodParameterTypes18, parameterTypes)) { + if (_methodName24.equals(name) && + Arrays.deepEquals(_methodParameterTypes24, parameterTypes)) { return SportelloServiceUtil.getBeanIdentifier(); } - if (_methodName19.equals(name) && - Arrays.deepEquals(_methodParameterTypes19, parameterTypes)) { + if (_methodName25.equals(name) && + Arrays.deepEquals(_methodParameterTypes25, parameterTypes)) { SportelloServiceUtil.setBeanIdentifier((java.lang.String)arguments[0]); return null; @@ -50,8 +50,8 @@ public class SportelloServiceClpInvoker { throw new UnsupportedOperationException(); } - private String _methodName18; - private String[] _methodParameterTypes18; - private String _methodName19; - private String[] _methodParameterTypes19; + private String _methodName24; + private String[] _methodParameterTypes24; + private String _methodName25; + private String[] _methodParameterTypes25; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/http/ApiSettingServiceSoap.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/http/ApiSettingServiceSoap.java new file mode 100644 index 00000000..4078f7e1 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/http/ApiSettingServiceSoap.java @@ -0,0 +1,58 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service.http; + +/** + * Provides the SOAP utility for the + * {@link it.mwg.sicilia.sue.service.ApiSettingServiceUtil} service utility. The + * static methods of this class calls the same methods of the service utility. + * However, the signatures are different because it is difficult for SOAP to + * support certain types. + * + *

    + * ServiceBuilder follows certain rules in translating the methods. For example, + * if the method in the service utility returns a {@link java.util.List}, that + * is translated to an array of {@link it.mwg.sicilia.sue.model.ApiSettingSoap}. + * If the method in the service utility returns a + * {@link it.mwg.sicilia.sue.model.ApiSetting}, that is translated to a + * {@link it.mwg.sicilia.sue.model.ApiSettingSoap}. Methods that SOAP cannot + * safely wire are skipped. + *

    + * + *

    + * The benefits of using the SOAP utility is that it is cross platform + * compatible. SOAP allows different languages like Java, .NET, C++, PHP, and + * even Perl, to call the generated services. One drawback of SOAP is that it is + * slow because it needs to serialize all calls into a text format (XML). + *

    + * + *

    + * You can see a list of services at http://localhost:8080/api/axis. Set the + * property axis.servlet.hosts.allowed in portal.properties to configure + * security. + *

    + * + *

    + * The SOAP utility is only generated for remote services. + *

    + * + * @author Manifattura Web Group Srl + * @see ApiSettingServiceHttp + * @see it.mwg.sicilia.sue.model.ApiSettingSoap + * @see it.mwg.sicilia.sue.service.ApiSettingServiceUtil + * @generated + */ +public class ApiSettingServiceSoap { +} \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/ApiSettingLocalServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/ApiSettingLocalServiceImpl.java new file mode 100644 index 00000000..44a98b5a --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/ApiSettingLocalServiceImpl.java @@ -0,0 +1,65 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service.impl; + +import it.mwg.sicilia.sue.model.ApiSetting; +import it.mwg.sicilia.sue.service.base.ApiSettingLocalServiceBaseImpl; + +import com.liferay.counter.service.CounterLocalServiceUtil; +import com.liferay.portal.kernel.exception.SystemException; +import com.liferay.portal.kernel.util.Validator; + +/** + * The implementation of the api setting local service. + * + *

    + * All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy + * their definitions into the {@link it.mwg.sicilia.sue.service.ApiSettingLocalService} interface. + * + *

    + * This is a local service. Methods of this service will not have security checks based on the propagated JAAS + * credentials because this service can only be accessed from within the same VM. + *

    + * + * @author Manifattura Web Group Srl + * @see it.mwg.sicilia.sue.service.base.ApiSettingLocalServiceBaseImpl + * @see it.mwg.sicilia.sue.service.ApiSettingLocalServiceUtil + */ +public class ApiSettingLocalServiceImpl extends ApiSettingLocalServiceBaseImpl { + /* + * NOTE FOR DEVELOPERS: Never reference this interface directly. Always use {@link + * it.mwg.sicilia.sue.service.ApiSettingLocalServiceUtil} to access the api setting local service. + */ + + @Override + public String get(long companyId, long key) throws SystemException { + + ApiSetting apiSetting = apiSettingPersistence.fetchByCompanyIdKey(companyId, key); + return Validator.isNull(apiSetting) ? null : apiSetting.getValue(); + } + + @Override + public void set(long companyId, long key, String value) throws SystemException { + + ApiSetting apiSetting = apiSettingPersistence.fetchByCompanyIdKey(companyId, key); + if (Validator.isNull(apiSetting)) { + apiSetting = createApiSetting(CounterLocalServiceUtil.increment(ApiSetting.class.getName())); + apiSetting.setCompanyId(companyId); + apiSetting.setKey(key); + } + apiSetting.setValue(value); + updateApiSetting(apiSetting); + } +} \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/ApiSettingServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/ApiSettingServiceImpl.java new file mode 100644 index 00000000..0ac73253 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/ApiSettingServiceImpl.java @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service.impl; + +import it.mwg.sicilia.sue.service.base.ApiSettingServiceBaseImpl; + +/** + * The implementation of the api setting remote service. + * + *

    + * All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link it.mwg.sicilia.sue.service.ApiSettingService} interface. + * + *

    + * This is a remote service. Methods of this service are expected to have security checks based on the propagated JAAS credentials because this service can be accessed remotely. + *

    + * + * @author Manifattura Web Group Srl + * @see it.mwg.sicilia.sue.service.base.ApiSettingServiceBaseImpl + * @see it.mwg.sicilia.sue.service.ApiSettingServiceUtil + */ +public class ApiSettingServiceImpl extends ApiSettingServiceBaseImpl { + /* + * NOTE FOR DEVELOPERS: + * + * Never reference this interface directly. Always use {@link it.mwg.sicilia.sue.service.ApiSettingServiceUtil} to access the api setting remote service. + */ +} \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/persistence/ApiSettingPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/persistence/ApiSettingPersistenceImpl.java new file mode 100644 index 00000000..2d332caf --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/persistence/ApiSettingPersistenceImpl.java @@ -0,0 +1,967 @@ +/** + * Copyright (c) 2000-present Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue.service.persistence; + +import com.liferay.portal.kernel.cache.CacheRegistryUtil; +import com.liferay.portal.kernel.dao.orm.EntityCacheUtil; +import com.liferay.portal.kernel.dao.orm.FinderCacheUtil; +import com.liferay.portal.kernel.dao.orm.FinderPath; +import com.liferay.portal.kernel.dao.orm.Query; +import com.liferay.portal.kernel.dao.orm.QueryPos; +import com.liferay.portal.kernel.dao.orm.QueryUtil; +import com.liferay.portal.kernel.dao.orm.Session; +import com.liferay.portal.kernel.exception.SystemException; +import com.liferay.portal.kernel.log.Log; +import com.liferay.portal.kernel.log.LogFactoryUtil; +import com.liferay.portal.kernel.util.GetterUtil; +import com.liferay.portal.kernel.util.InstanceFactory; +import com.liferay.portal.kernel.util.OrderByComparator; +import com.liferay.portal.kernel.util.PropsKeys; +import com.liferay.portal.kernel.util.PropsUtil; +import com.liferay.portal.kernel.util.SetUtil; +import com.liferay.portal.kernel.util.StringBundler; +import com.liferay.portal.kernel.util.StringPool; +import com.liferay.portal.kernel.util.StringUtil; +import com.liferay.portal.kernel.util.UnmodifiableList; +import com.liferay.portal.model.CacheModel; +import com.liferay.portal.model.ModelListener; +import com.liferay.portal.service.persistence.impl.BasePersistenceImpl; + +import it.mwg.sicilia.sue.NoSuchApiSettingException; +import it.mwg.sicilia.sue.model.ApiSetting; +import it.mwg.sicilia.sue.model.impl.ApiSettingImpl; +import it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl; +import it.mwg.sicilia.sue.service.persistence.ApiSettingPersistence; + +import java.io.Serializable; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Set; + +/** + * The persistence implementation for the api setting service. + * + *

    + * Caching information and settings can be found in portal.properties + *

    + * + * @author Manifattura Web Group Srl + * @see ApiSettingPersistence + * @see ApiSettingUtil + * @generated + */ +public class ApiSettingPersistenceImpl extends BasePersistenceImpl + implements ApiSettingPersistence { + /* + * NOTE FOR DEVELOPERS: + * + * Never modify or reference this class directly. Always use {@link ApiSettingUtil} to access the api setting persistence. Modify service.xml and rerun ServiceBuilder to regenerate this class. + */ + public static final String FINDER_CLASS_NAME_ENTITY = ApiSettingImpl.class.getName(); + public static final String FINDER_CLASS_NAME_LIST_WITH_PAGINATION = FINDER_CLASS_NAME_ENTITY + + ".List1"; + public static final String FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION = FINDER_CLASS_NAME_ENTITY + + ".List2"; + public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_ALL = new FinderPath(ApiSettingModelImpl.ENTITY_CACHE_ENABLED, + ApiSettingModelImpl.FINDER_CACHE_ENABLED, ApiSettingImpl.class, + FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findAll", new String[0]); + public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_ALL = new FinderPath(ApiSettingModelImpl.ENTITY_CACHE_ENABLED, + ApiSettingModelImpl.FINDER_CACHE_ENABLED, ApiSettingImpl.class, + FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findAll", new String[0]); + public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(ApiSettingModelImpl.ENTITY_CACHE_ENABLED, + ApiSettingModelImpl.FINDER_CACHE_ENABLED, Long.class, + FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countAll", new String[0]); + public static final FinderPath FINDER_PATH_FETCH_BY_COMPANYIDKEY = new FinderPath(ApiSettingModelImpl.ENTITY_CACHE_ENABLED, + ApiSettingModelImpl.FINDER_CACHE_ENABLED, ApiSettingImpl.class, + FINDER_CLASS_NAME_ENTITY, "fetchByCompanyIdKey", + new String[] { Long.class.getName(), Long.class.getName() }, + ApiSettingModelImpl.COMPANYID_COLUMN_BITMASK | + ApiSettingModelImpl.KEY_COLUMN_BITMASK); + public static final FinderPath FINDER_PATH_COUNT_BY_COMPANYIDKEY = new FinderPath(ApiSettingModelImpl.ENTITY_CACHE_ENABLED, + ApiSettingModelImpl.FINDER_CACHE_ENABLED, Long.class, + FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByCompanyIdKey", + new String[] { Long.class.getName(), Long.class.getName() }); + + /** + * Returns the api setting where companyId = ? and key = ? or throws a {@link it.mwg.sicilia.sue.NoSuchApiSettingException} if it could not be found. + * + * @param companyId the company ID + * @param key the key + * @return the matching api setting + * @throws it.mwg.sicilia.sue.NoSuchApiSettingException if a matching api setting could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public ApiSetting findByCompanyIdKey(long companyId, long key) + throws NoSuchApiSettingException, SystemException { + ApiSetting apiSetting = fetchByCompanyIdKey(companyId, key); + + if (apiSetting == null) { + StringBundler msg = new StringBundler(6); + + msg.append(_NO_SUCH_ENTITY_WITH_KEY); + + msg.append("companyId="); + msg.append(companyId); + + msg.append(", key="); + msg.append(key); + + msg.append(StringPool.CLOSE_CURLY_BRACE); + + if (_log.isWarnEnabled()) { + _log.warn(msg.toString()); + } + + throw new NoSuchApiSettingException(msg.toString()); + } + + return apiSetting; + } + + /** + * Returns the api setting where companyId = ? and key = ? or returns null if it could not be found. Uses the finder cache. + * + * @param companyId the company ID + * @param key the key + * @return the matching api setting, or null if a matching api setting could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public ApiSetting fetchByCompanyIdKey(long companyId, long key) + throws SystemException { + return fetchByCompanyIdKey(companyId, key, true); + } + + /** + * Returns the api setting where companyId = ? and key = ? or returns null if it could not be found, optionally using the finder cache. + * + * @param companyId the company ID + * @param key the key + * @param retrieveFromCache whether to use the finder cache + * @return the matching api setting, or null if a matching api setting could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public ApiSetting fetchByCompanyIdKey(long companyId, long key, + boolean retrieveFromCache) throws SystemException { + Object[] finderArgs = new Object[] { companyId, key }; + + Object result = null; + + if (retrieveFromCache) { + result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_COMPANYIDKEY, + finderArgs, this); + } + + if (result instanceof ApiSetting) { + ApiSetting apiSetting = (ApiSetting)result; + + if ((companyId != apiSetting.getCompanyId()) || + (key != apiSetting.getKey())) { + result = null; + } + } + + if (result == null) { + StringBundler query = new StringBundler(4); + + query.append(_SQL_SELECT_APISETTING_WHERE); + + query.append(_FINDER_COLUMN_COMPANYIDKEY_COMPANYID_2); + + query.append(_FINDER_COLUMN_COMPANYIDKEY_KEY_2); + + String sql = query.toString(); + + Session session = null; + + try { + session = openSession(); + + Query q = session.createQuery(sql); + + QueryPos qPos = QueryPos.getInstance(q); + + qPos.add(companyId); + + qPos.add(key); + + List list = q.list(); + + if (list.isEmpty()) { + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_COMPANYIDKEY, + finderArgs, list); + } + else { + ApiSetting apiSetting = list.get(0); + + result = apiSetting; + + cacheResult(apiSetting); + + if ((apiSetting.getCompanyId() != companyId) || + (apiSetting.getKey() != key)) { + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_COMPANYIDKEY, + finderArgs, apiSetting); + } + } + } + catch (Exception e) { + FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_COMPANYIDKEY, + finderArgs); + + throw processException(e); + } + finally { + closeSession(session); + } + } + + if (result instanceof List) { + return null; + } + else { + return (ApiSetting)result; + } + } + + /** + * Removes the api setting where companyId = ? and key = ? from the database. + * + * @param companyId the company ID + * @param key the key + * @return the api setting that was removed + * @throws SystemException if a system exception occurred + */ + @Override + public ApiSetting removeByCompanyIdKey(long companyId, long key) + throws NoSuchApiSettingException, SystemException { + ApiSetting apiSetting = findByCompanyIdKey(companyId, key); + + return remove(apiSetting); + } + + /** + * Returns the number of api settings where companyId = ? and key = ?. + * + * @param companyId the company ID + * @param key the key + * @return the number of matching api settings + * @throws SystemException if a system exception occurred + */ + @Override + public int countByCompanyIdKey(long companyId, long key) + throws SystemException { + FinderPath finderPath = FINDER_PATH_COUNT_BY_COMPANYIDKEY; + + Object[] finderArgs = new Object[] { companyId, key }; + + Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs, + this); + + if (count == null) { + StringBundler query = new StringBundler(3); + + query.append(_SQL_COUNT_APISETTING_WHERE); + + query.append(_FINDER_COLUMN_COMPANYIDKEY_COMPANYID_2); + + query.append(_FINDER_COLUMN_COMPANYIDKEY_KEY_2); + + String sql = query.toString(); + + Session session = null; + + try { + session = openSession(); + + Query q = session.createQuery(sql); + + QueryPos qPos = QueryPos.getInstance(q); + + qPos.add(companyId); + + qPos.add(key); + + count = (Long)q.uniqueResult(); + + FinderCacheUtil.putResult(finderPath, finderArgs, count); + } + catch (Exception e) { + FinderCacheUtil.removeResult(finderPath, finderArgs); + + throw processException(e); + } + finally { + closeSession(session); + } + } + + return count.intValue(); + } + + private static final String _FINDER_COLUMN_COMPANYIDKEY_COMPANYID_2 = "apiSetting.companyId = ? AND "; + private static final String _FINDER_COLUMN_COMPANYIDKEY_KEY_2 = "apiSetting.key = ?"; + + public ApiSettingPersistenceImpl() { + setModelClass(ApiSetting.class); + } + + /** + * Caches the api setting in the entity cache if it is enabled. + * + * @param apiSetting the api setting + */ + @Override + public void cacheResult(ApiSetting apiSetting) { + EntityCacheUtil.putResult(ApiSettingModelImpl.ENTITY_CACHE_ENABLED, + ApiSettingImpl.class, apiSetting.getPrimaryKey(), apiSetting); + + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_COMPANYIDKEY, + new Object[] { apiSetting.getCompanyId(), apiSetting.getKey() }, + apiSetting); + + apiSetting.resetOriginalValues(); + } + + /** + * Caches the api settings in the entity cache if it is enabled. + * + * @param apiSettings the api settings + */ + @Override + public void cacheResult(List apiSettings) { + for (ApiSetting apiSetting : apiSettings) { + if (EntityCacheUtil.getResult( + ApiSettingModelImpl.ENTITY_CACHE_ENABLED, + ApiSettingImpl.class, apiSetting.getPrimaryKey()) == null) { + cacheResult(apiSetting); + } + else { + apiSetting.resetOriginalValues(); + } + } + } + + /** + * Clears the cache for all api settings. + * + *

    + * The {@link com.liferay.portal.kernel.dao.orm.EntityCache} and {@link com.liferay.portal.kernel.dao.orm.FinderCache} are both cleared by this method. + *

    + */ + @Override + public void clearCache() { + if (_HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE) { + CacheRegistryUtil.clear(ApiSettingImpl.class.getName()); + } + + EntityCacheUtil.clearCache(ApiSettingImpl.class.getName()); + + FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY); + FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION); + FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION); + } + + /** + * Clears the cache for the api setting. + * + *

    + * The {@link com.liferay.portal.kernel.dao.orm.EntityCache} and {@link com.liferay.portal.kernel.dao.orm.FinderCache} are both cleared by this method. + *

    + */ + @Override + public void clearCache(ApiSetting apiSetting) { + EntityCacheUtil.removeResult(ApiSettingModelImpl.ENTITY_CACHE_ENABLED, + ApiSettingImpl.class, apiSetting.getPrimaryKey()); + + FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION); + FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION); + + clearUniqueFindersCache(apiSetting); + } + + @Override + public void clearCache(List apiSettings) { + FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION); + FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION); + + for (ApiSetting apiSetting : apiSettings) { + EntityCacheUtil.removeResult(ApiSettingModelImpl.ENTITY_CACHE_ENABLED, + ApiSettingImpl.class, apiSetting.getPrimaryKey()); + + clearUniqueFindersCache(apiSetting); + } + } + + protected void cacheUniqueFindersCache(ApiSetting apiSetting) { + if (apiSetting.isNew()) { + Object[] args = new Object[] { + apiSetting.getCompanyId(), apiSetting.getKey() + }; + + FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_COMPANYIDKEY, args, + Long.valueOf(1)); + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_COMPANYIDKEY, args, + apiSetting); + } + else { + ApiSettingModelImpl apiSettingModelImpl = (ApiSettingModelImpl)apiSetting; + + if ((apiSettingModelImpl.getColumnBitmask() & + FINDER_PATH_FETCH_BY_COMPANYIDKEY.getColumnBitmask()) != 0) { + Object[] args = new Object[] { + apiSetting.getCompanyId(), apiSetting.getKey() + }; + + FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_COMPANYIDKEY, + args, Long.valueOf(1)); + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_COMPANYIDKEY, + args, apiSetting); + } + } + } + + protected void clearUniqueFindersCache(ApiSetting apiSetting) { + ApiSettingModelImpl apiSettingModelImpl = (ApiSettingModelImpl)apiSetting; + + Object[] args = new Object[] { + apiSetting.getCompanyId(), apiSetting.getKey() + }; + + FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_COMPANYIDKEY, args); + FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_COMPANYIDKEY, args); + + if ((apiSettingModelImpl.getColumnBitmask() & + FINDER_PATH_FETCH_BY_COMPANYIDKEY.getColumnBitmask()) != 0) { + args = new Object[] { + apiSettingModelImpl.getOriginalCompanyId(), + apiSettingModelImpl.getOriginalKey() + }; + + FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_COMPANYIDKEY, args); + FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_COMPANYIDKEY, args); + } + } + + /** + * Creates a new api setting with the primary key. Does not add the api setting to the database. + * + * @param id the primary key for the new api setting + * @return the new api setting + */ + @Override + public ApiSetting create(long id) { + ApiSetting apiSetting = new ApiSettingImpl(); + + apiSetting.setNew(true); + apiSetting.setPrimaryKey(id); + + return apiSetting; + } + + /** + * Removes the api setting with the primary key from the database. Also notifies the appropriate model listeners. + * + * @param id the primary key of the api setting + * @return the api setting that was removed + * @throws it.mwg.sicilia.sue.NoSuchApiSettingException if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public ApiSetting remove(long id) + throws NoSuchApiSettingException, SystemException { + return remove((Serializable)id); + } + + /** + * Removes the api setting with the primary key from the database. Also notifies the appropriate model listeners. + * + * @param primaryKey the primary key of the api setting + * @return the api setting that was removed + * @throws it.mwg.sicilia.sue.NoSuchApiSettingException if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public ApiSetting remove(Serializable primaryKey) + throws NoSuchApiSettingException, SystemException { + Session session = null; + + try { + session = openSession(); + + ApiSetting apiSetting = (ApiSetting)session.get(ApiSettingImpl.class, + primaryKey); + + if (apiSetting == null) { + if (_log.isWarnEnabled()) { + _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + primaryKey); + } + + throw new NoSuchApiSettingException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + + primaryKey); + } + + return remove(apiSetting); + } + catch (NoSuchApiSettingException nsee) { + throw nsee; + } + catch (Exception e) { + throw processException(e); + } + finally { + closeSession(session); + } + } + + @Override + protected ApiSetting removeImpl(ApiSetting apiSetting) + throws SystemException { + apiSetting = toUnwrappedModel(apiSetting); + + Session session = null; + + try { + session = openSession(); + + if (!session.contains(apiSetting)) { + apiSetting = (ApiSetting)session.get(ApiSettingImpl.class, + apiSetting.getPrimaryKeyObj()); + } + + if (apiSetting != null) { + session.delete(apiSetting); + } + } + catch (Exception e) { + throw processException(e); + } + finally { + closeSession(session); + } + + if (apiSetting != null) { + clearCache(apiSetting); + } + + return apiSetting; + } + + @Override + public ApiSetting updateImpl(it.mwg.sicilia.sue.model.ApiSetting apiSetting) + throws SystemException { + apiSetting = toUnwrappedModel(apiSetting); + + boolean isNew = apiSetting.isNew(); + + Session session = null; + + try { + session = openSession(); + + if (apiSetting.isNew()) { + session.save(apiSetting); + + apiSetting.setNew(false); + } + else { + session.merge(apiSetting); + } + } + catch (Exception e) { + throw processException(e); + } + finally { + closeSession(session); + } + + FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION); + + if (isNew || !ApiSettingModelImpl.COLUMN_BITMASK_ENABLED) { + FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION); + } + + EntityCacheUtil.putResult(ApiSettingModelImpl.ENTITY_CACHE_ENABLED, + ApiSettingImpl.class, apiSetting.getPrimaryKey(), apiSetting); + + clearUniqueFindersCache(apiSetting); + cacheUniqueFindersCache(apiSetting); + + return apiSetting; + } + + protected ApiSetting toUnwrappedModel(ApiSetting apiSetting) { + if (apiSetting instanceof ApiSettingImpl) { + return apiSetting; + } + + ApiSettingImpl apiSettingImpl = new ApiSettingImpl(); + + apiSettingImpl.setNew(apiSetting.isNew()); + apiSettingImpl.setPrimaryKey(apiSetting.getPrimaryKey()); + + apiSettingImpl.setId(apiSetting.getId()); + apiSettingImpl.setCompanyId(apiSetting.getCompanyId()); + apiSettingImpl.setKey(apiSetting.getKey()); + apiSettingImpl.setValue(apiSetting.getValue()); + + return apiSettingImpl; + } + + /** + * Returns the api setting with the primary key or throws a {@link com.liferay.portal.NoSuchModelException} if it could not be found. + * + * @param primaryKey the primary key of the api setting + * @return the api setting + * @throws it.mwg.sicilia.sue.NoSuchApiSettingException if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public ApiSetting findByPrimaryKey(Serializable primaryKey) + throws NoSuchApiSettingException, SystemException { + ApiSetting apiSetting = fetchByPrimaryKey(primaryKey); + + if (apiSetting == null) { + if (_log.isWarnEnabled()) { + _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + primaryKey); + } + + throw new NoSuchApiSettingException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + + primaryKey); + } + + return apiSetting; + } + + /** + * Returns the api setting with the primary key or throws a {@link it.mwg.sicilia.sue.NoSuchApiSettingException} if it could not be found. + * + * @param id the primary key of the api setting + * @return the api setting + * @throws it.mwg.sicilia.sue.NoSuchApiSettingException if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public ApiSetting findByPrimaryKey(long id) + throws NoSuchApiSettingException, SystemException { + return findByPrimaryKey((Serializable)id); + } + + /** + * Returns the api setting with the primary key or returns null if it could not be found. + * + * @param primaryKey the primary key of the api setting + * @return the api setting, or null if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public ApiSetting fetchByPrimaryKey(Serializable primaryKey) + throws SystemException { + ApiSetting apiSetting = (ApiSetting)EntityCacheUtil.getResult(ApiSettingModelImpl.ENTITY_CACHE_ENABLED, + ApiSettingImpl.class, primaryKey); + + if (apiSetting == _nullApiSetting) { + return null; + } + + if (apiSetting == null) { + Session session = null; + + try { + session = openSession(); + + apiSetting = (ApiSetting)session.get(ApiSettingImpl.class, + primaryKey); + + if (apiSetting != null) { + cacheResult(apiSetting); + } + else { + EntityCacheUtil.putResult(ApiSettingModelImpl.ENTITY_CACHE_ENABLED, + ApiSettingImpl.class, primaryKey, _nullApiSetting); + } + } + catch (Exception e) { + EntityCacheUtil.removeResult(ApiSettingModelImpl.ENTITY_CACHE_ENABLED, + ApiSettingImpl.class, primaryKey); + + throw processException(e); + } + finally { + closeSession(session); + } + } + + return apiSetting; + } + + /** + * Returns the api setting with the primary key or returns null if it could not be found. + * + * @param id the primary key of the api setting + * @return the api setting, or null if a api setting with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public ApiSetting fetchByPrimaryKey(long id) throws SystemException { + return fetchByPrimaryKey((Serializable)id); + } + + /** + * Returns all the api settings. + * + * @return the api settings + * @throws SystemException if a system exception occurred + */ + @Override + public List findAll() throws SystemException { + return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null); + } + + /** + * Returns a range of all the api settings. + * + *

    + * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

    + * + * @param start the lower bound of the range of api settings + * @param end the upper bound of the range of api settings (not inclusive) + * @return the range of api settings + * @throws SystemException if a system exception occurred + */ + @Override + public List findAll(int start, int end) + throws SystemException { + return findAll(start, end, null); + } + + /** + * Returns an ordered range of all the api settings. + * + *

    + * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.mwg.sicilia.sue.model.impl.ApiSettingModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

    + * + * @param start the lower bound of the range of api settings + * @param end the upper bound of the range of api settings (not inclusive) + * @param orderByComparator the comparator to order the results by (optionally null) + * @return the ordered range of api settings + * @throws SystemException if a system exception occurred + */ + @Override + public List findAll(int start, int end, + OrderByComparator orderByComparator) throws SystemException { + boolean pagination = true; + FinderPath finderPath = null; + Object[] finderArgs = null; + + if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) && + (orderByComparator == null)) { + pagination = false; + finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_ALL; + finderArgs = FINDER_ARGS_EMPTY; + } + else { + finderPath = FINDER_PATH_WITH_PAGINATION_FIND_ALL; + finderArgs = new Object[] { start, end, orderByComparator }; + } + + List list = (List)FinderCacheUtil.getResult(finderPath, + finderArgs, this); + + if (list == null) { + StringBundler query = null; + String sql = null; + + if (orderByComparator != null) { + query = new StringBundler(2 + + (orderByComparator.getOrderByFields().length * 3)); + + query.append(_SQL_SELECT_APISETTING); + + appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, + orderByComparator); + + sql = query.toString(); + } + else { + sql = _SQL_SELECT_APISETTING; + + if (pagination) { + sql = sql.concat(ApiSettingModelImpl.ORDER_BY_JPQL); + } + } + + Session session = null; + + try { + session = openSession(); + + Query q = session.createQuery(sql); + + if (!pagination) { + list = (List)QueryUtil.list(q, getDialect(), + start, end, false); + + Collections.sort(list); + + list = new UnmodifiableList(list); + } + else { + list = (List)QueryUtil.list(q, getDialect(), + start, end); + } + + cacheResult(list); + + FinderCacheUtil.putResult(finderPath, finderArgs, list); + } + catch (Exception e) { + FinderCacheUtil.removeResult(finderPath, finderArgs); + + throw processException(e); + } + finally { + closeSession(session); + } + } + + return list; + } + + /** + * Removes all the api settings from the database. + * + * @throws SystemException if a system exception occurred + */ + @Override + public void removeAll() throws SystemException { + for (ApiSetting apiSetting : findAll()) { + remove(apiSetting); + } + } + + /** + * Returns the number of api settings. + * + * @return the number of api settings + * @throws SystemException if a system exception occurred + */ + @Override + public int countAll() throws SystemException { + Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL, + FINDER_ARGS_EMPTY, this); + + if (count == null) { + Session session = null; + + try { + session = openSession(); + + Query q = session.createQuery(_SQL_COUNT_APISETTING); + + count = (Long)q.uniqueResult(); + + FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, + FINDER_ARGS_EMPTY, count); + } + catch (Exception e) { + FinderCacheUtil.removeResult(FINDER_PATH_COUNT_ALL, + FINDER_ARGS_EMPTY); + + throw processException(e); + } + finally { + closeSession(session); + } + } + + return count.intValue(); + } + + @Override + protected Set getBadColumnNames() { + return _badColumnNames; + } + + /** + * Initializes the api setting persistence. + */ + public void afterPropertiesSet() { + String[] listenerClassNames = StringUtil.split(GetterUtil.getString( + com.liferay.util.service.ServiceProps.get( + "value.object.listener.it.mwg.sicilia.sue.model.ApiSetting"))); + + if (listenerClassNames.length > 0) { + try { + List> listenersList = new ArrayList>(); + + for (String listenerClassName : listenerClassNames) { + listenersList.add((ModelListener)InstanceFactory.newInstance( + getClassLoader(), listenerClassName)); + } + + listeners = listenersList.toArray(new ModelListener[listenersList.size()]); + } + catch (Exception e) { + _log.error(e); + } + } + } + + public void destroy() { + EntityCacheUtil.removeCache(ApiSettingImpl.class.getName()); + FinderCacheUtil.removeCache(FINDER_CLASS_NAME_ENTITY); + FinderCacheUtil.removeCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION); + FinderCacheUtil.removeCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION); + } + + private static final String _SQL_SELECT_APISETTING = "SELECT apiSetting FROM ApiSetting apiSetting"; + private static final String _SQL_SELECT_APISETTING_WHERE = "SELECT apiSetting FROM ApiSetting apiSetting WHERE "; + private static final String _SQL_COUNT_APISETTING = "SELECT COUNT(apiSetting) FROM ApiSetting apiSetting"; + private static final String _SQL_COUNT_APISETTING_WHERE = "SELECT COUNT(apiSetting) FROM ApiSetting apiSetting WHERE "; + private static final String _ORDER_BY_ENTITY_ALIAS = "apiSetting."; + private static final String _NO_SUCH_ENTITY_WITH_PRIMARY_KEY = "No ApiSetting exists with the primary key "; + private static final String _NO_SUCH_ENTITY_WITH_KEY = "No ApiSetting exists with the key {"; + private static final boolean _HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE = GetterUtil.getBoolean(PropsUtil.get( + PropsKeys.HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE)); + private static Log _log = LogFactoryUtil.getLog(ApiSettingPersistenceImpl.class); + private static Set _badColumnNames = SetUtil.fromArray(new String[] { + "id", "key" + }); + private static ApiSetting _nullApiSetting = new ApiSettingImpl() { + @Override + public Object clone() { + return this; + } + + @Override + public CacheModel toCacheModel() { + return _nullApiSettingCacheModel; + } + }; + + private static CacheModel _nullApiSettingCacheModel = new CacheModel() { + @Override + public ApiSetting toEntityModel() { + return _nullApiSetting; + } + }; +} \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/persistence/SportelloPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/persistence/SportelloPersistenceImpl.java index 05b7183b..bf65e96e 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/persistence/SportelloPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/persistence/SportelloPersistenceImpl.java @@ -30,12 +30,10 @@ import com.liferay.portal.kernel.util.InstanceFactory; import com.liferay.portal.kernel.util.OrderByComparator; import com.liferay.portal.kernel.util.PropsKeys; import com.liferay.portal.kernel.util.PropsUtil; -import com.liferay.portal.kernel.util.SetUtil; import com.liferay.portal.kernel.util.StringBundler; import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.kernel.util.StringUtil; import com.liferay.portal.kernel.util.UnmodifiableList; -import com.liferay.portal.kernel.util.Validator; import com.liferay.portal.model.CacheModel; import com.liferay.portal.model.ModelListener; import com.liferay.portal.service.persistence.impl.BasePersistenceImpl; @@ -51,7 +49,6 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.Set; /** * The persistence implementation for the sportello service. @@ -86,36 +83,36 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(SportelloModelImpl.ENTITY_CACHE_ENABLED, SportelloModelImpl.FINDER_CACHE_ENABLED, Long.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countAll", new String[0]); - public static final FinderPath FINDER_PATH_FETCH_BY_LOGINNAME = new FinderPath(SportelloModelImpl.ENTITY_CACHE_ENABLED, + public static final FinderPath FINDER_PATH_FETCH_BY_COMUNEID = new FinderPath(SportelloModelImpl.ENTITY_CACHE_ENABLED, SportelloModelImpl.FINDER_CACHE_ENABLED, SportelloImpl.class, - FINDER_CLASS_NAME_ENTITY, "fetchByLoginName", - new String[] { String.class.getName() }, - SportelloModelImpl.LOGINNAME_COLUMN_BITMASK); - public static final FinderPath FINDER_PATH_COUNT_BY_LOGINNAME = new FinderPath(SportelloModelImpl.ENTITY_CACHE_ENABLED, + FINDER_CLASS_NAME_ENTITY, "fetchByComuneId", + new String[] { Long.class.getName() }, + SportelloModelImpl.COMUNEID_COLUMN_BITMASK); + public static final FinderPath FINDER_PATH_COUNT_BY_COMUNEID = new FinderPath(SportelloModelImpl.ENTITY_CACHE_ENABLED, SportelloModelImpl.FINDER_CACHE_ENABLED, Long.class, - FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByLoginName", - new String[] { String.class.getName() }); + FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByComuneId", + new String[] { Long.class.getName() }); /** - * Returns the sportello where loginName = ? or throws a {@link it.mwg.sicilia.sue.NoSuchSportelloException} if it could not be found. + * Returns the sportello where comuneId = ? or throws a {@link it.mwg.sicilia.sue.NoSuchSportelloException} if it could not be found. * - * @param loginName the login name + * @param comuneId the comune ID * @return the matching sportello * @throws it.mwg.sicilia.sue.NoSuchSportelloException if a matching sportello could not be found * @throws SystemException if a system exception occurred */ @Override - public Sportello findByLoginName(String loginName) + public Sportello findByComuneId(long comuneId) throws NoSuchSportelloException, SystemException { - Sportello sportello = fetchByLoginName(loginName); + Sportello sportello = fetchByComuneId(comuneId); if (sportello == null) { StringBundler msg = new StringBundler(4); msg.append(_NO_SUCH_ENTITY_WITH_KEY); - msg.append("loginName="); - msg.append(loginName); + msg.append("comuneId="); + msg.append(comuneId); msg.append(StringPool.CLOSE_CURLY_BRACE); @@ -130,42 +127,41 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl } /** - * Returns the sportello where loginName = ? or returns null if it could not be found. Uses the finder cache. + * Returns the sportello where comuneId = ? or returns null if it could not be found. Uses the finder cache. * - * @param loginName the login name + * @param comuneId the comune ID * @return the matching sportello, or null if a matching sportello could not be found * @throws SystemException if a system exception occurred */ @Override - public Sportello fetchByLoginName(String loginName) - throws SystemException { - return fetchByLoginName(loginName, true); + public Sportello fetchByComuneId(long comuneId) throws SystemException { + return fetchByComuneId(comuneId, true); } /** - * Returns the sportello where loginName = ? or returns null if it could not be found, optionally using the finder cache. + * Returns the sportello where comuneId = ? or returns null if it could not be found, optionally using the finder cache. * - * @param loginName the login name + * @param comuneId the comune ID * @param retrieveFromCache whether to use the finder cache * @return the matching sportello, or null if a matching sportello could not be found * @throws SystemException if a system exception occurred */ @Override - public Sportello fetchByLoginName(String loginName, - boolean retrieveFromCache) throws SystemException { - Object[] finderArgs = new Object[] { loginName }; + public Sportello fetchByComuneId(long comuneId, boolean retrieveFromCache) + throws SystemException { + Object[] finderArgs = new Object[] { comuneId }; Object result = null; if (retrieveFromCache) { - result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_LOGINNAME, + result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_COMUNEID, finderArgs, this); } if (result instanceof Sportello) { Sportello sportello = (Sportello)result; - if (!Validator.equals(loginName, sportello.getLoginName())) { + if ((comuneId != sportello.getComuneId())) { result = null; } } @@ -175,19 +171,7 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl query.append(_SQL_SELECT_SPORTELLO_WHERE); - boolean bindLoginName = false; - - if (loginName == null) { - query.append(_FINDER_COLUMN_LOGINNAME_LOGINNAME_1); - } - else if (loginName.equals(StringPool.BLANK)) { - query.append(_FINDER_COLUMN_LOGINNAME_LOGINNAME_3); - } - else { - bindLoginName = true; - - query.append(_FINDER_COLUMN_LOGINNAME_LOGINNAME_2); - } + query.append(_FINDER_COLUMN_COMUNEID_COMUNEID_2); String sql = query.toString(); @@ -200,39 +184,29 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl QueryPos qPos = QueryPos.getInstance(q); - if (bindLoginName) { - qPos.add(loginName); - } + qPos.add(comuneId); List list = q.list(); if (list.isEmpty()) { - FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_LOGINNAME, + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_COMUNEID, finderArgs, list); } else { - if ((list.size() > 1) && _log.isWarnEnabled()) { - _log.warn( - "SportelloPersistenceImpl.fetchByLoginName(String, boolean) with parameters (" + - StringUtil.merge(finderArgs) + - ") yields a result set with more than 1 result. This violates the logical unique restriction. There is no order guarantee on which result is returned by this finder."); - } - Sportello sportello = list.get(0); result = sportello; cacheResult(sportello); - if ((sportello.getLoginName() == null) || - !sportello.getLoginName().equals(loginName)) { - FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_LOGINNAME, + if ((sportello.getComuneId() != comuneId)) { + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_COMUNEID, finderArgs, sportello); } } } catch (Exception e) { - FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_LOGINNAME, + FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_COMUNEID, finderArgs); throw processException(e); @@ -251,32 +225,32 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl } /** - * Removes the sportello where loginName = ? from the database. + * Removes the sportello where comuneId = ? from the database. * - * @param loginName the login name + * @param comuneId the comune ID * @return the sportello that was removed * @throws SystemException if a system exception occurred */ @Override - public Sportello removeByLoginName(String loginName) + public Sportello removeByComuneId(long comuneId) throws NoSuchSportelloException, SystemException { - Sportello sportello = findByLoginName(loginName); + Sportello sportello = findByComuneId(comuneId); return remove(sportello); } /** - * Returns the number of sportellos where loginName = ?. + * Returns the number of sportellos where comuneId = ?. * - * @param loginName the login name + * @param comuneId the comune ID * @return the number of matching sportellos * @throws SystemException if a system exception occurred */ @Override - public int countByLoginName(String loginName) throws SystemException { - FinderPath finderPath = FINDER_PATH_COUNT_BY_LOGINNAME; + public int countByComuneId(long comuneId) throws SystemException { + FinderPath finderPath = FINDER_PATH_COUNT_BY_COMUNEID; - Object[] finderArgs = new Object[] { loginName }; + Object[] finderArgs = new Object[] { comuneId }; Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs, this); @@ -286,19 +260,7 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl query.append(_SQL_COUNT_SPORTELLO_WHERE); - boolean bindLoginName = false; - - if (loginName == null) { - query.append(_FINDER_COLUMN_LOGINNAME_LOGINNAME_1); - } - else if (loginName.equals(StringPool.BLANK)) { - query.append(_FINDER_COLUMN_LOGINNAME_LOGINNAME_3); - } - else { - bindLoginName = true; - - query.append(_FINDER_COLUMN_LOGINNAME_LOGINNAME_2); - } + query.append(_FINDER_COLUMN_COMUNEID_COMUNEID_2); String sql = query.toString(); @@ -311,9 +273,7 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl QueryPos qPos = QueryPos.getInstance(q); - if (bindLoginName) { - qPos.add(loginName); - } + qPos.add(comuneId); count = (Long)q.uniqueResult(); @@ -332,9 +292,7 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl return count.intValue(); } - private static final String _FINDER_COLUMN_LOGINNAME_LOGINNAME_1 = "sportello.loginName IS NULL"; - private static final String _FINDER_COLUMN_LOGINNAME_LOGINNAME_2 = "sportello.loginName = ?"; - private static final String _FINDER_COLUMN_LOGINNAME_LOGINNAME_3 = "(sportello.loginName IS NULL OR sportello.loginName = '')"; + private static final String _FINDER_COLUMN_COMUNEID_COMUNEID_2 = "sportello.comuneId = ?"; public SportelloPersistenceImpl() { setModelClass(Sportello.class); @@ -350,8 +308,8 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl EntityCacheUtil.putResult(SportelloModelImpl.ENTITY_CACHE_ENABLED, SportelloImpl.class, sportello.getPrimaryKey(), sportello); - FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_LOGINNAME, - new Object[] { sportello.getLoginName() }, sportello); + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_COMUNEID, + new Object[] { sportello.getComuneId() }, sportello); sportello.resetOriginalValues(); } @@ -428,23 +386,23 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl protected void cacheUniqueFindersCache(Sportello sportello) { if (sportello.isNew()) { - Object[] args = new Object[] { sportello.getLoginName() }; + Object[] args = new Object[] { sportello.getComuneId() }; - FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_LOGINNAME, args, + FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_COMUNEID, args, Long.valueOf(1)); - FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_LOGINNAME, args, + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_COMUNEID, args, sportello); } else { SportelloModelImpl sportelloModelImpl = (SportelloModelImpl)sportello; if ((sportelloModelImpl.getColumnBitmask() & - FINDER_PATH_FETCH_BY_LOGINNAME.getColumnBitmask()) != 0) { - Object[] args = new Object[] { sportello.getLoginName() }; + FINDER_PATH_FETCH_BY_COMUNEID.getColumnBitmask()) != 0) { + Object[] args = new Object[] { sportello.getComuneId() }; - FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_LOGINNAME, args, + FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_COMUNEID, args, Long.valueOf(1)); - FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_LOGINNAME, args, + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_COMUNEID, args, sportello); } } @@ -453,17 +411,17 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl protected void clearUniqueFindersCache(Sportello sportello) { SportelloModelImpl sportelloModelImpl = (SportelloModelImpl)sportello; - Object[] args = new Object[] { sportello.getLoginName() }; + Object[] args = new Object[] { sportello.getComuneId() }; - FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_LOGINNAME, args); - FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_LOGINNAME, args); + FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_COMUNEID, args); + FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_COMUNEID, args); if ((sportelloModelImpl.getColumnBitmask() & - FINDER_PATH_FETCH_BY_LOGINNAME.getColumnBitmask()) != 0) { - args = new Object[] { sportelloModelImpl.getOriginalLoginName() }; + FINDER_PATH_FETCH_BY_COMUNEID.getColumnBitmask()) != 0) { + args = new Object[] { sportelloModelImpl.getOriginalComuneId() }; - FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_LOGINNAME, args); - FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_LOGINNAME, args); + FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_COMUNEID, args); + FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_COMUNEID, args); } } @@ -631,9 +589,10 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl sportelloImpl.setUserName(sportello.getUserName()); sportelloImpl.setCreateDate(sportello.getCreateDate()); sportelloImpl.setModifiedDate(sportello.getModifiedDate()); - sportelloImpl.setLoginName(sportello.getLoginName()); - sportelloImpl.setPassword(sportello.getPassword()); - sportelloImpl.setNonce(sportello.getNonce()); + sportelloImpl.setEmail(sportello.getEmail()); + sportelloImpl.setComuneId(sportello.getComuneId()); + sportelloImpl.setApiKey(sportello.getApiKey()); + sportelloImpl.setAttivo(sportello.isAttivo()); return sportelloImpl; } @@ -911,11 +870,6 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl return count.intValue(); } - @Override - protected Set getBadColumnNames() { - return _badColumnNames; - } - /** * Initializes the sportello persistence. */ @@ -958,9 +912,6 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl private static final boolean _HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE = GetterUtil.getBoolean(PropsUtil.get( PropsKeys.HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE)); private static Log _log = LogFactoryUtil.getLog(SportelloPersistenceImpl.class); - private static Set _badColumnNames = SetUtil.fromArray(new String[] { - "password" - }); private static Sportello _nullSportello = new SportelloImpl() { @Override public Object clone() { diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/startup/Startup.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/startup/Startup.java new file mode 100644 index 00000000..ffbb0da3 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/startup/Startup.java @@ -0,0 +1,75 @@ +package it.mwg.sicilia.sue.startup; + +import it.mwg.sicilia.sue.api.v1.ApiConstants; +import it.mwg.sicilia.sue.service.ApiSettingLocalServiceUtil; + +import java.security.KeyPair; +import java.security.KeyPairGenerator; +import java.security.NoSuchAlgorithmException; + +import org.apache.commons.codec.digest.DigestUtils; + +import com.liferay.portal.kernel.events.ActionException; +import com.liferay.portal.kernel.events.SimpleAction; +import com.liferay.portal.kernel.exception.SystemException; +import com.liferay.portal.kernel.log.Log; +import com.liferay.portal.kernel.log.LogFactoryUtil; +import com.liferay.portal.kernel.security.SecureRandom; +import com.liferay.portal.kernel.util.Base64; +import com.liferay.portal.kernel.util.Validator; + +public class Startup extends SimpleAction { + + private static final Log _log = LogFactoryUtil.getLog(Startup.class); + + @Override + public void run(String[] ids) throws ActionException { + for (String id : ids) { + long companyId = Long.parseLong(id); + String secret = null; + try { + secret = ApiSettingLocalServiceUtil.get(companyId, ApiConstants.API_SECRET); + _log.info("apiSetting = " + secret); + if (Validator.isNull(secret)) { + SecureRandom rnd = new SecureRandom(); + byte[] bytes = new byte[32]; + rnd.nextBytes(bytes); + ApiSettingLocalServiceUtil.set(companyId, ApiConstants.API_SECRET, DigestUtils.sha256Hex(bytes)); + } + } catch (SystemException e) { + _log.error(e, e); + } + chiavi(companyId); + } + } + + private void chiavi(long companyId) { + + String s1 = null; + String s2 = null; + try { + s1 = ApiSettingLocalServiceUtil.get(companyId, ApiConstants.API_PRIVATE_KEY); + s2 = ApiSettingLocalServiceUtil.get(companyId, ApiConstants.API_PUBLIC_KEY); + } catch (SystemException e1) { + } + if (Validator.isNull(s1) || Validator.isNull(s2)) { + KeyPairGenerator generator = null; + try { + generator = KeyPairGenerator.getInstance("RSA"); + } catch (NoSuchAlgorithmException e) { + } + if (Validator.isNotNull(generator)) { + generator.initialize(1024); + KeyPair pair = generator.generateKeyPair(); + try { + ApiSettingLocalServiceUtil.set(companyId, ApiConstants.API_PRIVATE_KEY, + Base64.encode(pair.getPrivate().getEncoded())); + ApiSettingLocalServiceUtil.set(companyId, ApiConstants.API_PUBLIC_KEY, + Base64.encode(pair.getPublic().getEncoded())); + } catch (SystemException e) { + e.printStackTrace(); + } + } + } + } +} diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/portal.properties b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/portal.properties new file mode 100644 index 00000000..5d5ae049 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/portal.properties @@ -0,0 +1 @@ +application.startup.events=it.mwg.sicilia.sue.startup.Startup 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 c0e63051..a9d58c54 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=8 - build.date=1622735407837 + build.number=41 + build.date=1623664988040 build.auto.upgrade=true ## diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/edit_sportello.jsp b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/edit_sportello.jsp index a515b324..bdc5727b 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/edit_sportello.jsp +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/edit_sportello.jsp @@ -1,3 +1,98 @@ <%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@page import="com.liferay.portal.kernel.util.ParamUtil"%> +<%@page import="com.liferay.portal.kernel.util.StringPool"%> +<%@page import="com.liferay.portal.kernel.util.Validator"%> +<%@page import="it.mwg.sicilia.sue.api.v1.ApiUtil"%> <%@page import="it.mwg.sicilia.sue.model.Sportello"%> -

    Edit

    \ No newline at end of file +<%@page import="it.mwg.sicilia.sue.portlet.SueAdministrationPortlet"%> +<%@page import="it.mwg.sicilia.sue.service.SportelloLocalServiceUtil"%> +<%@include file="/html/init.jsp"%> + +<% +long sportelloId = ParamUtil.getLong(request, "sportelloId", 0); +Sportello sportello = sportelloId == 0 ? null : SportelloLocalServiceUtil.getSportello(sportelloId); +%> + + + + + + + + + + + + + + + + + + + + +A.mix( + A.config.FormValidator.RULES, { + requiredSelect: function(value, fieldNode, ruleValue) { + return value !== '0' && value !== '' && value !== undefined; + }, + }, + true +); +new A.FormValidator({ + boundingBox: document.edit, + rules: { + provincia:{ + requiredSelect:'provincia' + }, + comune:{ + requiredSelect:'comune' + }, + }, +}); +var getProvince = function(callback) { + A.io.request('<%= getProvinceURL %>', { + dataType: 'json', + on: { + success: function() { + callback(this.get('responseData')); + }, + }, + }); +}; +var getComuni = function(callback, codice) { + A.io.request('<%= getComuniURL %>', { + data: { + codice: codice, + }, + dataType: 'json', + on: { + success: function() { + callback(this.get('responseData')); + }, + }, + }); +}; +new Liferay.DynamicSelect([ + { + select: 'provincia', + selectData: getProvince, + selectDesc: 'desc', + selectId: 'id', + selectSort: true, + selectVal: '<%= Validator.isNull(sportello) ? "0" : sportello.getCodiceProvincia() %>', + }, + { + select: 'comune', + selectData: getComuni, + selectDesc: 'desc', + selectId: 'id', + selectSort: true, + selectVal: '<%= Validator.isNull(sportello) ? 0 : sportello.getComuneId() %>', + }, +]); + \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/view.jsp b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/view.jsp index ffe03a28..66a03fb0 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/view.jsp +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/view.jsp @@ -1,11 +1,9 @@ +<%@page import="java.text.NumberFormat"%> <%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@page import="it.mwg.sicilia.sue.model.Sportello"%> <%@page import="it.mwg.sicilia.sue.service.SportelloLocalServiceUtil"%> <%@page import="java.util.List"%> <%@include file="/html/init.jsp"%> -<% -%> -

    Amministrazione

    @@ -19,7 +17,25 @@ + <% + NumberFormat format = NumberFormat.getInstance(); + %> + + + + + + + + + + + + + + + diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/init.jsp b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/init.jsp index 1497071d..4fc16bf4 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/init.jsp +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/init.jsp @@ -6,6 +6,7 @@ <%@taglib uri="http://liferay.com/tld/portlet" prefix="liferay-portlet"%> <%@taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme"%> <%@taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui"%> +<%@taglib uri="http://liferay.com/tld/util" prefix="liferay-util"%> <%@page import="com.liferay.portal.kernel.portlet.LiferayWindowState"%> <%@page import="com.liferay.portlet.PortletURLUtil"%> From 7d71fa0d4db080c142ee0d105099b88868581d19 Mon Sep 17 00:00:00 2001 From: Salvatore La Manna Date: Wed, 16 Jun 2021 11:03:58 +0200 Subject: [PATCH 04/11] Fase login --- .../sicilia-sue-connector-portlet-service.jar | Bin 65546 -> 71676 bytes .../docroot/WEB-INF/service.xml | 21 +- .../sicilia/sue/ExpiredTokenException.java | 40 ++ .../sue/InactiveSportelloException.java | 40 ++ .../sicilia/sue/InvalidTokenException.java | 40 ++ .../it/mwg/sicilia/sue/model/Sportello.java | 7 + .../mwg/sicilia/sue/model/SportelloClp.java | 487 +++++++++++++++--- .../mwg/sicilia/sue/model/SportelloModel.java | 216 ++++++-- .../mwg/sicilia/sue/model/SportelloSoap.java | 112 +++- .../sicilia/sue/model/SportelloWrapper.java | 370 ++++++++++--- .../sicilia/sue/service/ClpSerializer.java | 12 + .../sue/service/SportelloLocalService.java | 5 + .../sue/service/SportelloLocalServiceClp.java | 41 ++ .../service/SportelloLocalServiceUtil.java | 7 + .../service/SportelloLocalServiceWrapper.java | 8 + .../sicilia/sue/service/SportelloService.java | 2 + .../sue/service/SportelloServiceClp.java | 29 ++ .../sue/service/SportelloServiceUtil.java | 4 + .../sue/service/SportelloServiceWrapper.java | 5 + .../persistence/SportelloPersistence.java | 58 +++ .../service/persistence/SportelloUtil.java | 68 +++ .../docroot/WEB-INF/sql/indexes.properties | 3 +- .../docroot/WEB-INF/sql/indexes.sql | 3 +- .../docroot/WEB-INF/sql/tables.sql | 14 +- .../WEB-INF/src/META-INF/portlet-hbm.xml | 12 +- .../src/META-INF/portlet-model-hints.xml | 16 +- .../WEB-INF/src/META-INF/portlet-orm.xml | 20 +- .../WEB-INF/src/content/Language.properties | 3 +- .../mwg/sicilia/sue/api/v1/AccessToken.java | 99 ++++ .../it/mwg/sicilia/sue/api/v1/ApiServlet.java | 46 +- .../it/mwg/sicilia/sue/api/v1/ApiUtil.java | 7 - .../it/mwg/sicilia/sue/api/v1/Command.java | 56 +- .../it/mwg/sicilia/sue/api/v1/Commands.java | 3 + .../it/mwg/sicilia/sue/api/v1/Parameters.java | 10 +- .../it/mwg/sicilia/sue/api/v1/Response.java | 2 +- .../src/it/mwg/sicilia/sue/api/v1/Status.java | 13 +- .../sue/api/v1/command/CommandLogin.java | 56 ++ .../sue/api/v1/command/CommandNop.java | 22 +- .../sue/model/impl/SportelloCacheModel.java | 142 +++-- .../sicilia/sue/model/impl/SportelloImpl.java | 42 ++ .../sue/model/impl/SportelloModelImpl.java | 460 +++++++++++++---- .../sue/portlet/SueAdministrationPortlet.java | 27 +- .../base/SportelloLocalServiceClpInvoker.java | 11 + .../base/SportelloServiceClpInvoker.java | 11 + .../service/http/SportelloServiceSoap.java | 22 + .../impl/ApiSettingLocalServiceImpl.java | 3 + .../impl/SportelloLocalServiceImpl.java | 21 +- .../service/impl/SportelloServiceImpl.java | 43 +- .../persistence/SportelloPersistenceImpl.java | 297 ++++++++++- .../it/mwg/sicilia/sue/startup/Startup.java | 2 +- .../docroot/WEB-INF/src/service.properties | 4 +- .../html/administration/edit_sportello.jsp | 37 +- .../docroot/html/administration/view.jsp | 25 +- 53 files changed, 2612 insertions(+), 492 deletions(-) create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/ExpiredTokenException.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/InactiveSportelloException.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/InvalidTokenException.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/AccessToken.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/CommandLogin.java 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 e1968be5228098e2538711af8117f01a8bf99955..1f0d9a1b9943283c07340f7f18bc1d6ee06397e1 100644 GIT binary patch delta 39731 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 F{s-?SVtxPs delta 33934 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 diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service.xml b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service.xml index 393d2f60..daa57a57 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service.xml +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service.xml @@ -10,20 +10,30 @@ - - + + + + + - + + + + + + + + @@ -35,4 +45,9 @@ + + ExpiredToken + InactiveSportello + InvalidToken + \ 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/ExpiredTokenException.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/ExpiredTokenException.java new file mode 100644 index 00000000..934acce0 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/ExpiredTokenException.java @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue; + +import com.liferay.portal.kernel.exception.PortalException; + +/** + * @author Manifattura Web Group Srl + */ +public class ExpiredTokenException extends PortalException { + + public ExpiredTokenException() { + super(); + } + + public ExpiredTokenException(String msg) { + super(msg); + } + + public ExpiredTokenException(String msg, Throwable cause) { + super(msg, cause); + } + + public ExpiredTokenException(Throwable cause) { + super(cause); + } + +} \ 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/InactiveSportelloException.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/InactiveSportelloException.java new file mode 100644 index 00000000..ce3a97c0 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/InactiveSportelloException.java @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue; + +import com.liferay.portal.kernel.exception.PortalException; + +/** + * @author Manifattura Web Group Srl + */ +public class InactiveSportelloException extends PortalException { + + public InactiveSportelloException() { + super(); + } + + public InactiveSportelloException(String msg) { + super(msg); + } + + public InactiveSportelloException(String msg, Throwable cause) { + super(msg, cause); + } + + public InactiveSportelloException(Throwable cause) { + super(cause); + } + +} \ 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/InvalidTokenException.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/InvalidTokenException.java new file mode 100644 index 00000000..5bc738f3 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/InvalidTokenException.java @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or modify it under + * the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +package it.mwg.sicilia.sue; + +import com.liferay.portal.kernel.exception.PortalException; + +/** + * @author Manifattura Web Group Srl + */ +public class InvalidTokenException extends PortalException { + + public InvalidTokenException() { + super(); + } + + public InvalidTokenException(String msg) { + super(msg); + } + + public InvalidTokenException(String msg, Throwable cause) { + super(msg, cause); + } + + public InvalidTokenException(Throwable cause) { + super(cause); + } + +} \ 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/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 898c8f84..36771fc1 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 @@ -31,6 +31,13 @@ public interface Sportello extends SportelloModel, PersistedModel { * * Never modify this interface directly. Add methods to {@link it.mwg.sicilia.sue.model.impl.SportelloImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface. */ + public java.lang.String encryptPassword(java.lang.String password); + + public boolean checkPassword(java.lang.String password); + + public void setEncryptedPassword(java.lang.String password, + com.liferay.portal.model.User user); + public java.lang.String getCodiceProvincia() throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; 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 597e5b92..ba601ab2 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 @@ -77,14 +77,20 @@ public class SportelloClp extends BaseModelImpl implements Sportello attributes.put("sportelloId", getSportelloId()); attributes.put("groupId", getGroupId()); attributes.put("companyId", getCompanyId()); - attributes.put("userId", getUserId()); - attributes.put("userName", getUserName()); attributes.put("createDate", getCreateDate()); + attributes.put("createUserId", getCreateUserId()); + attributes.put("createUserName", getCreateUserName()); attributes.put("modifiedDate", getModifiedDate()); + attributes.put("modifiedUserId", getModifiedUserId()); + attributes.put("modifiedUserName", getModifiedUserName()); + attributes.put("userName", getUserName()); attributes.put("email", getEmail()); attributes.put("comuneId", getComuneId()); - attributes.put("apiKey", getApiKey()); attributes.put("attivo", getAttivo()); + attributes.put("password", getPassword()); + attributes.put("passwordModifiedDate", getPasswordModifiedDate()); + attributes.put("passwordModifiedUserId", getPasswordModifiedUserId()); + attributes.put("passwordModifiedUserName", getPasswordModifiedUserName()); return attributes; } @@ -109,22 +115,22 @@ public class SportelloClp extends BaseModelImpl implements Sportello setCompanyId(companyId); } - Long userId = (Long)attributes.get("userId"); + Date createDate = (Date)attributes.get("createDate"); - if (userId != null) { - setUserId(userId); + if (createDate != null) { + setCreateDate(createDate); } - String userName = (String)attributes.get("userName"); + Long createUserId = (Long)attributes.get("createUserId"); - if (userName != null) { - setUserName(userName); + if (createUserId != null) { + setCreateUserId(createUserId); } - Date createDate = (Date)attributes.get("createDate"); + String createUserName = (String)attributes.get("createUserName"); - if (createDate != null) { - setCreateDate(createDate); + if (createUserName != null) { + setCreateUserName(createUserName); } Date modifiedDate = (Date)attributes.get("modifiedDate"); @@ -133,6 +139,24 @@ public class SportelloClp extends BaseModelImpl implements Sportello setModifiedDate(modifiedDate); } + Long modifiedUserId = (Long)attributes.get("modifiedUserId"); + + if (modifiedUserId != null) { + setModifiedUserId(modifiedUserId); + } + + String modifiedUserName = (String)attributes.get("modifiedUserName"); + + if (modifiedUserName != null) { + setModifiedUserName(modifiedUserName); + } + + String userName = (String)attributes.get("userName"); + + if (userName != null) { + setUserName(userName); + } + String email = (String)attributes.get("email"); if (email != null) { @@ -145,17 +169,37 @@ public class SportelloClp extends BaseModelImpl implements Sportello setComuneId(comuneId); } - String apiKey = (String)attributes.get("apiKey"); - - if (apiKey != null) { - setApiKey(apiKey); - } - Boolean attivo = (Boolean)attributes.get("attivo"); if (attivo != null) { setAttivo(attivo); } + + String password = (String)attributes.get("password"); + + if (password != null) { + setPassword(password); + } + + Date passwordModifiedDate = (Date)attributes.get("passwordModifiedDate"); + + if (passwordModifiedDate != null) { + setPasswordModifiedDate(passwordModifiedDate); + } + + Long passwordModifiedUserId = (Long)attributes.get( + "passwordModifiedUserId"); + + if (passwordModifiedUserId != null) { + setPasswordModifiedUserId(passwordModifiedUserId); + } + + String passwordModifiedUserName = (String)attributes.get( + "passwordModifiedUserName"); + + if (passwordModifiedUserName != null) { + setPasswordModifiedUserName(passwordModifiedUserName); + } } @Override @@ -228,21 +272,21 @@ public class SportelloClp extends BaseModelImpl implements Sportello } @Override - public long getUserId() { - return _userId; + public Date getCreateDate() { + return _createDate; } @Override - public void setUserId(long userId) { - _userId = userId; + public void setCreateDate(Date createDate) { + _createDate = createDate; if (_sportelloRemoteModel != null) { try { Class clazz = _sportelloRemoteModel.getClass(); - Method method = clazz.getMethod("setUserId", long.class); + Method method = clazz.getMethod("setCreateDate", Date.class); - method.invoke(_sportelloRemoteModel, userId); + method.invoke(_sportelloRemoteModel, createDate); } catch (Exception e) { throw new UnsupportedOperationException(e); @@ -251,31 +295,21 @@ public class SportelloClp extends BaseModelImpl implements Sportello } @Override - public String getUserUuid() throws SystemException { - return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid); - } - - @Override - public void setUserUuid(String userUuid) { - _userUuid = userUuid; - } - - @Override - public String getUserName() { - return _userName; + public long getCreateUserId() { + return _createUserId; } @Override - public void setUserName(String userName) { - _userName = userName; + public void setCreateUserId(long createUserId) { + _createUserId = createUserId; if (_sportelloRemoteModel != null) { try { Class clazz = _sportelloRemoteModel.getClass(); - Method method = clazz.getMethod("setUserName", String.class); + Method method = clazz.getMethod("setCreateUserId", long.class); - method.invoke(_sportelloRemoteModel, userName); + method.invoke(_sportelloRemoteModel, createUserId); } catch (Exception e) { throw new UnsupportedOperationException(e); @@ -284,21 +318,33 @@ public class SportelloClp extends BaseModelImpl implements Sportello } @Override - public Date getCreateDate() { - return _createDate; + public String getCreateUserUuid() throws SystemException { + return PortalUtil.getUserValue(getCreateUserId(), "uuid", + _createUserUuid); } @Override - public void setCreateDate(Date createDate) { - _createDate = createDate; + public void setCreateUserUuid(String createUserUuid) { + _createUserUuid = createUserUuid; + } + + @Override + public String getCreateUserName() { + return _createUserName; + } + + @Override + public void setCreateUserName(String createUserName) { + _createUserName = createUserName; if (_sportelloRemoteModel != null) { try { Class clazz = _sportelloRemoteModel.getClass(); - Method method = clazz.getMethod("setCreateDate", Date.class); + Method method = clazz.getMethod("setCreateUserName", + String.class); - method.invoke(_sportelloRemoteModel, createDate); + method.invoke(_sportelloRemoteModel, createUserName); } catch (Exception e) { throw new UnsupportedOperationException(e); @@ -329,6 +375,87 @@ public class SportelloClp extends BaseModelImpl implements Sportello } } + @Override + public long getModifiedUserId() { + return _modifiedUserId; + } + + @Override + public void setModifiedUserId(long modifiedUserId) { + _modifiedUserId = modifiedUserId; + + if (_sportelloRemoteModel != null) { + try { + Class clazz = _sportelloRemoteModel.getClass(); + + Method method = clazz.getMethod("setModifiedUserId", long.class); + + method.invoke(_sportelloRemoteModel, modifiedUserId); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + + @Override + public String getModifiedUserUuid() throws SystemException { + return PortalUtil.getUserValue(getModifiedUserId(), "uuid", + _modifiedUserUuid); + } + + @Override + public void setModifiedUserUuid(String modifiedUserUuid) { + _modifiedUserUuid = modifiedUserUuid; + } + + @Override + public String getModifiedUserName() { + return _modifiedUserName; + } + + @Override + public void setModifiedUserName(String modifiedUserName) { + _modifiedUserName = modifiedUserName; + + if (_sportelloRemoteModel != null) { + try { + Class clazz = _sportelloRemoteModel.getClass(); + + Method method = clazz.getMethod("setModifiedUserName", + String.class); + + method.invoke(_sportelloRemoteModel, modifiedUserName); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + + @Override + public String getUserName() { + return _userName; + } + + @Override + public void setUserName(String userName) { + _userName = userName; + + if (_sportelloRemoteModel != null) { + try { + Class clazz = _sportelloRemoteModel.getClass(); + + Method method = clazz.getMethod("setUserName", String.class); + + method.invoke(_sportelloRemoteModel, userName); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + @Override public String getEmail() { return _email; @@ -376,21 +503,49 @@ public class SportelloClp extends BaseModelImpl implements Sportello } @Override - public String getApiKey() { - return _apiKey; + public boolean getAttivo() { + return _attivo; + } + + @Override + public boolean isAttivo() { + return _attivo; + } + + @Override + public void setAttivo(boolean attivo) { + _attivo = attivo; + + if (_sportelloRemoteModel != null) { + try { + Class clazz = _sportelloRemoteModel.getClass(); + + Method method = clazz.getMethod("setAttivo", boolean.class); + + method.invoke(_sportelloRemoteModel, attivo); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + + @Override + public String getPassword() { + return _password; } @Override - public void setApiKey(String apiKey) { - _apiKey = apiKey; + public void setPassword(String password) { + _password = password; if (_sportelloRemoteModel != null) { try { Class clazz = _sportelloRemoteModel.getClass(); - Method method = clazz.getMethod("setApiKey", String.class); + Method method = clazz.getMethod("setPassword", String.class); - method.invoke(_sportelloRemoteModel, apiKey); + method.invoke(_sportelloRemoteModel, password); } catch (Exception e) { throw new UnsupportedOperationException(e); @@ -399,26 +554,81 @@ public class SportelloClp extends BaseModelImpl implements Sportello } @Override - public boolean getAttivo() { - return _attivo; + public Date getPasswordModifiedDate() { + return _passwordModifiedDate; } @Override - public boolean isAttivo() { - return _attivo; + public void setPasswordModifiedDate(Date passwordModifiedDate) { + _passwordModifiedDate = passwordModifiedDate; + + if (_sportelloRemoteModel != null) { + try { + Class clazz = _sportelloRemoteModel.getClass(); + + Method method = clazz.getMethod("setPasswordModifiedDate", + Date.class); + + method.invoke(_sportelloRemoteModel, passwordModifiedDate); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } } @Override - public void setAttivo(boolean attivo) { - _attivo = attivo; + public long getPasswordModifiedUserId() { + return _passwordModifiedUserId; + } + + @Override + public void setPasswordModifiedUserId(long passwordModifiedUserId) { + _passwordModifiedUserId = passwordModifiedUserId; if (_sportelloRemoteModel != null) { try { Class clazz = _sportelloRemoteModel.getClass(); - Method method = clazz.getMethod("setAttivo", boolean.class); + Method method = clazz.getMethod("setPasswordModifiedUserId", + long.class); - method.invoke(_sportelloRemoteModel, attivo); + method.invoke(_sportelloRemoteModel, passwordModifiedUserId); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + + @Override + public String getPasswordModifiedUserUuid() throws SystemException { + return PortalUtil.getUserValue(getPasswordModifiedUserId(), "uuid", + _passwordModifiedUserUuid); + } + + @Override + public void setPasswordModifiedUserUuid(String passwordModifiedUserUuid) { + _passwordModifiedUserUuid = passwordModifiedUserUuid; + } + + @Override + public String getPasswordModifiedUserName() { + return _passwordModifiedUserName; + } + + @Override + public void setPasswordModifiedUserName(String passwordModifiedUserName) { + _passwordModifiedUserName = passwordModifiedUserName; + + if (_sportelloRemoteModel != null) { + try { + Class clazz = _sportelloRemoteModel.getClass(); + + Method method = clazz.getMethod("setPasswordModifiedUserName", + String.class); + + method.invoke(_sportelloRemoteModel, passwordModifiedUserName); } catch (Exception e) { throw new UnsupportedOperationException(e); @@ -426,6 +636,25 @@ public class SportelloClp extends BaseModelImpl implements Sportello } } + @Override + public java.lang.String encryptPassword(java.lang.String password) { + try { + String methodName = "encryptPassword"; + + Class[] parameterTypes = new Class[] { java.lang.String.class }; + + Object[] parameterValues = new Object[] { password }; + + java.lang.String returnObj = (java.lang.String)invokeOnRemoteModel(methodName, + parameterTypes, parameterValues); + + return returnObj; + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + @Override public java.lang.String getNomeComune() { try { @@ -483,6 +712,44 @@ public class SportelloClp extends BaseModelImpl implements Sportello } } + @Override + public boolean checkPassword(java.lang.String password) { + try { + String methodName = "checkPassword"; + + Class[] parameterTypes = new Class[] { java.lang.String.class }; + + Object[] parameterValues = new Object[] { password }; + + Boolean returnObj = (Boolean)invokeOnRemoteModel(methodName, + parameterTypes, parameterValues); + + return returnObj; + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + + @Override + public void setEncryptedPassword(java.lang.String password, + com.liferay.portal.model.User user) { + try { + String methodName = "setEncryptedPassword"; + + Class[] parameterTypes = new Class[] { + java.lang.String.class, com.liferay.portal.model.User.class + }; + + Object[] parameterValues = new Object[] { password, user }; + + invokeOnRemoteModel(methodName, parameterTypes, parameterValues); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + public BaseModel getSportelloRemoteModel() { return _sportelloRemoteModel; } @@ -555,14 +822,20 @@ public class SportelloClp extends BaseModelImpl implements Sportello clone.setSportelloId(getSportelloId()); clone.setGroupId(getGroupId()); clone.setCompanyId(getCompanyId()); - clone.setUserId(getUserId()); - clone.setUserName(getUserName()); clone.setCreateDate(getCreateDate()); + clone.setCreateUserId(getCreateUserId()); + clone.setCreateUserName(getCreateUserName()); clone.setModifiedDate(getModifiedDate()); + clone.setModifiedUserId(getModifiedUserId()); + clone.setModifiedUserName(getModifiedUserName()); + clone.setUserName(getUserName()); clone.setEmail(getEmail()); clone.setComuneId(getComuneId()); - clone.setApiKey(getApiKey()); clone.setAttivo(getAttivo()); + clone.setPassword(getPassword()); + clone.setPasswordModifiedDate(getPasswordModifiedDate()); + clone.setPasswordModifiedUserId(getPasswordModifiedUserId()); + clone.setPasswordModifiedUserName(getPasswordModifiedUserName()); return clone; } @@ -615,7 +888,7 @@ public class SportelloClp extends BaseModelImpl implements Sportello @Override public String toString() { - StringBundler sb = new StringBundler(23); + StringBundler sb = new StringBundler(35); sb.append("{sportelloId="); sb.append(getSportelloId()); @@ -623,22 +896,34 @@ public class SportelloClp extends BaseModelImpl implements Sportello sb.append(getGroupId()); sb.append(", companyId="); sb.append(getCompanyId()); - sb.append(", userId="); - sb.append(getUserId()); - sb.append(", userName="); - sb.append(getUserName()); sb.append(", createDate="); sb.append(getCreateDate()); + sb.append(", createUserId="); + sb.append(getCreateUserId()); + sb.append(", createUserName="); + sb.append(getCreateUserName()); sb.append(", modifiedDate="); sb.append(getModifiedDate()); + sb.append(", modifiedUserId="); + sb.append(getModifiedUserId()); + sb.append(", modifiedUserName="); + sb.append(getModifiedUserName()); + sb.append(", userName="); + sb.append(getUserName()); sb.append(", email="); sb.append(getEmail()); sb.append(", comuneId="); sb.append(getComuneId()); - sb.append(", apiKey="); - sb.append(getApiKey()); sb.append(", attivo="); sb.append(getAttivo()); + sb.append(", password="); + sb.append(getPassword()); + sb.append(", passwordModifiedDate="); + sb.append(getPasswordModifiedDate()); + sb.append(", passwordModifiedUserId="); + sb.append(getPasswordModifiedUserId()); + sb.append(", passwordModifiedUserName="); + sb.append(getPasswordModifiedUserName()); sb.append("}"); return sb.toString(); @@ -646,7 +931,7 @@ public class SportelloClp extends BaseModelImpl implements Sportello @Override public String toXmlString() { - StringBundler sb = new StringBundler(37); + StringBundler sb = new StringBundler(55); sb.append(""); sb.append("it.mwg.sicilia.sue.model.Sportello"); @@ -665,21 +950,33 @@ public class SportelloClp extends BaseModelImpl implements Sportello sb.append(getCompanyId()); sb.append("]]>"); sb.append( - "userIdcreateDate"); sb.append( - "userNamecreateUserId"); sb.append( - "createDatecreateUserName"); sb.append( "modifiedDate"); + sb.append( + "modifiedUserId"); + sb.append( + "modifiedUserName"); + sb.append( + "userName"); sb.append( "email implements Sportello "comuneId"); - sb.append( - "apiKey"); sb.append( "attivo"); + sb.append( + "password"); + sb.append( + "passwordModifiedDate"); + sb.append( + "passwordModifiedUserId"); + sb.append( + "passwordModifiedUserName"); sb.append(""); @@ -705,15 +1014,23 @@ public class SportelloClp extends BaseModelImpl implements Sportello private long _sportelloId; private long _groupId; private long _companyId; - private long _userId; - private String _userUuid; - private String _userName; private Date _createDate; + private long _createUserId; + private String _createUserUuid; + private String _createUserName; private Date _modifiedDate; + private long _modifiedUserId; + private String _modifiedUserUuid; + private String _modifiedUserName; + private String _userName; private String _email; private long _comuneId; - private String _apiKey; private boolean _attivo; + private String _password; + private Date _passwordModifiedDate; + private long _passwordModifiedUserId; + private String _passwordModifiedUserUuid; + private String _passwordModifiedUserName; private BaseModel _sportelloRemoteModel; private Class _clpSerializerClass = it.mwg.sicilia.sue.service.ClpSerializer.class; } \ 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/SportelloModel.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloModel.java index 3bdf8ef4..10b102b7 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloModel.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloModel.java @@ -18,7 +18,6 @@ import com.liferay.portal.kernel.bean.AutoEscape; import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.model.BaseModel; import com.liferay.portal.model.CacheModel; -import com.liferay.portal.model.GroupedModel; import com.liferay.portal.service.ServiceContext; import com.liferay.portlet.expando.model.ExpandoBridge; @@ -40,7 +39,7 @@ import java.util.Date; * @see it.mwg.sicilia.sue.model.impl.SportelloModelImpl * @generated */ -public interface SportelloModel extends BaseModel, GroupedModel { +public interface SportelloModel extends BaseModel { /* * NOTE FOR DEVELOPERS: * @@ -80,7 +79,6 @@ public interface SportelloModel extends BaseModel, GroupedModel { * * @return the group ID of this sportello */ - @Override public long getGroupId(); /** @@ -88,7 +86,6 @@ public interface SportelloModel extends BaseModel, GroupedModel { * * @param groupId the group ID of this sportello */ - @Override public void setGroupId(long groupId); /** @@ -96,7 +93,6 @@ public interface SportelloModel extends BaseModel, GroupedModel { * * @return the company ID of this sportello */ - @Override public long getCompanyId(); /** @@ -104,81 +100,71 @@ public interface SportelloModel extends BaseModel, GroupedModel { * * @param companyId the company ID of this sportello */ - @Override public void setCompanyId(long companyId); /** - * Returns the user ID of this sportello. + * Returns the create date of this sportello. * - * @return the user ID of this sportello + * @return the create date of this sportello */ - @Override - public long getUserId(); + public Date getCreateDate(); /** - * Sets the user ID of this sportello. + * Sets the create date of this sportello. * - * @param userId the user ID of this sportello + * @param createDate the create date of this sportello */ - @Override - public void setUserId(long userId); + public void setCreateDate(Date createDate); /** - * Returns the user uuid of this sportello. + * Returns the create user ID of this sportello. * - * @return the user uuid of this sportello - * @throws SystemException if a system exception occurred + * @return the create user ID of this sportello */ - @Override - public String getUserUuid() throws SystemException; + public long getCreateUserId(); /** - * Sets the user uuid of this sportello. + * Sets the create user ID of this sportello. * - * @param userUuid the user uuid of this sportello + * @param createUserId the create user ID of this sportello */ - @Override - public void setUserUuid(String userUuid); + public void setCreateUserId(long createUserId); /** - * Returns the user name of this sportello. + * Returns the create user uuid of this sportello. * - * @return the user name of this sportello + * @return the create user uuid of this sportello + * @throws SystemException if a system exception occurred */ - @AutoEscape - @Override - public String getUserName(); + public String getCreateUserUuid() throws SystemException; /** - * Sets the user name of this sportello. + * Sets the create user uuid of this sportello. * - * @param userName the user name of this sportello + * @param createUserUuid the create user uuid of this sportello */ - @Override - public void setUserName(String userName); + public void setCreateUserUuid(String createUserUuid); /** - * Returns the create date of this sportello. + * Returns the create user name of this sportello. * - * @return the create date of this sportello + * @return the create user name of this sportello */ - @Override - public Date getCreateDate(); + @AutoEscape + public String getCreateUserName(); /** - * Sets the create date of this sportello. + * Sets the create user name of this sportello. * - * @param createDate the create date of this sportello + * @param createUserName the create user name of this sportello */ - @Override - public void setCreateDate(Date createDate); + public void setCreateUserName(String createUserName); /** * Returns the modified date of this sportello. * * @return the modified date of this sportello */ - @Override public Date getModifiedDate(); /** @@ -186,9 +172,67 @@ public interface SportelloModel extends BaseModel, GroupedModel { * * @param modifiedDate the modified date of this sportello */ - @Override public void setModifiedDate(Date modifiedDate); + /** + * Returns the modified user ID of this sportello. + * + * @return the modified user ID of this sportello + */ + public long getModifiedUserId(); + + /** + * Sets the modified user ID of this sportello. + * + * @param modifiedUserId the modified user ID of this sportello + */ + public void setModifiedUserId(long modifiedUserId); + + /** + * Returns the modified user uuid of this sportello. + * + * @return the modified user uuid of this sportello + * @throws SystemException if a system exception occurred + */ + public String getModifiedUserUuid() throws SystemException; + + /** + * Sets the modified user uuid of this sportello. + * + * @param modifiedUserUuid the modified user uuid of this sportello + */ + public void setModifiedUserUuid(String modifiedUserUuid); + + /** + * Returns the modified user name of this sportello. + * + * @return the modified user name of this sportello + */ + @AutoEscape + public String getModifiedUserName(); + + /** + * Sets the modified user name of this sportello. + * + * @param modifiedUserName the modified user name of this sportello + */ + public void setModifiedUserName(String modifiedUserName); + + /** + * Returns the user name of this sportello. + * + * @return the user name of this sportello + */ + @AutoEscape + public String getUserName(); + + /** + * Sets the user name of this sportello. + * + * @param userName the user name of this sportello + */ + public void setUserName(String userName); + /** * Returns the email of this sportello. * @@ -218,21 +262,6 @@ public interface SportelloModel extends BaseModel, GroupedModel { */ public void setComuneId(long comuneId); - /** - * Returns the api key of this sportello. - * - * @return the api key of this sportello - */ - @AutoEscape - public String getApiKey(); - - /** - * Sets the api key of this sportello. - * - * @param apiKey the api key of this sportello - */ - public void setApiKey(String apiKey); - /** * Returns the attivo of this sportello. * @@ -254,6 +283,79 @@ public interface SportelloModel extends BaseModel, GroupedModel { */ public void setAttivo(boolean attivo); + /** + * Returns the password of this sportello. + * + * @return the password of this sportello + */ + @AutoEscape + public String getPassword(); + + /** + * Sets the password of this sportello. + * + * @param password the password of this sportello + */ + public void setPassword(String password); + + /** + * Returns the password modified date of this sportello. + * + * @return the password modified date of this sportello + */ + public Date getPasswordModifiedDate(); + + /** + * Sets the password modified date of this sportello. + * + * @param passwordModifiedDate the password modified date of this sportello + */ + public void setPasswordModifiedDate(Date passwordModifiedDate); + + /** + * Returns the password modified user ID of this sportello. + * + * @return the password modified user ID of this sportello + */ + public long getPasswordModifiedUserId(); + + /** + * Sets the password modified user ID of this sportello. + * + * @param passwordModifiedUserId the password modified user ID of this sportello + */ + public void setPasswordModifiedUserId(long passwordModifiedUserId); + + /** + * Returns the password modified user uuid of this sportello. + * + * @return the password modified user uuid of this sportello + * @throws SystemException if a system exception occurred + */ + public String getPasswordModifiedUserUuid() throws SystemException; + + /** + * Sets the password modified user uuid of this sportello. + * + * @param passwordModifiedUserUuid the password modified user uuid of this sportello + */ + public void setPasswordModifiedUserUuid(String passwordModifiedUserUuid); + + /** + * Returns the password modified user name of this sportello. + * + * @return the password modified user name of this sportello + */ + @AutoEscape + public String getPasswordModifiedUserName(); + + /** + * Sets the password modified user name of this sportello. + * + * @param passwordModifiedUserName the password modified user name of this sportello + */ + public void setPasswordModifiedUserName(String passwordModifiedUserName); + @Override public boolean isNew(); diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloSoap.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloSoap.java index 7ec35dff..9ba70b01 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloSoap.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/model/SportelloSoap.java @@ -34,14 +34,20 @@ public class SportelloSoap implements Serializable { soapModel.setSportelloId(model.getSportelloId()); soapModel.setGroupId(model.getGroupId()); soapModel.setCompanyId(model.getCompanyId()); - soapModel.setUserId(model.getUserId()); - soapModel.setUserName(model.getUserName()); soapModel.setCreateDate(model.getCreateDate()); + soapModel.setCreateUserId(model.getCreateUserId()); + soapModel.setCreateUserName(model.getCreateUserName()); soapModel.setModifiedDate(model.getModifiedDate()); + soapModel.setModifiedUserId(model.getModifiedUserId()); + soapModel.setModifiedUserName(model.getModifiedUserName()); + soapModel.setUserName(model.getUserName()); soapModel.setEmail(model.getEmail()); soapModel.setComuneId(model.getComuneId()); - soapModel.setApiKey(model.getApiKey()); soapModel.setAttivo(model.getAttivo()); + soapModel.setPassword(model.getPassword()); + soapModel.setPasswordModifiedDate(model.getPasswordModifiedDate()); + soapModel.setPasswordModifiedUserId(model.getPasswordModifiedUserId()); + soapModel.setPasswordModifiedUserName(model.getPasswordModifiedUserName()); return soapModel; } @@ -118,28 +124,28 @@ public class SportelloSoap implements Serializable { _companyId = companyId; } - public long getUserId() { - return _userId; + public Date getCreateDate() { + return _createDate; } - public void setUserId(long userId) { - _userId = userId; + public void setCreateDate(Date createDate) { + _createDate = createDate; } - public String getUserName() { - return _userName; + public long getCreateUserId() { + return _createUserId; } - public void setUserName(String userName) { - _userName = userName; + public void setCreateUserId(long createUserId) { + _createUserId = createUserId; } - public Date getCreateDate() { - return _createDate; + public String getCreateUserName() { + return _createUserName; } - public void setCreateDate(Date createDate) { - _createDate = createDate; + public void setCreateUserName(String createUserName) { + _createUserName = createUserName; } public Date getModifiedDate() { @@ -150,6 +156,30 @@ public class SportelloSoap implements Serializable { _modifiedDate = modifiedDate; } + public long getModifiedUserId() { + return _modifiedUserId; + } + + public void setModifiedUserId(long modifiedUserId) { + _modifiedUserId = modifiedUserId; + } + + public String getModifiedUserName() { + return _modifiedUserName; + } + + public void setModifiedUserName(String modifiedUserName) { + _modifiedUserName = modifiedUserName; + } + + public String getUserName() { + return _userName; + } + + public void setUserName(String userName) { + _userName = userName; + } + public String getEmail() { return _email; } @@ -166,14 +196,6 @@ public class SportelloSoap implements Serializable { _comuneId = comuneId; } - public String getApiKey() { - return _apiKey; - } - - public void setApiKey(String apiKey) { - _apiKey = apiKey; - } - public boolean getAttivo() { return _attivo; } @@ -186,15 +208,53 @@ public class SportelloSoap implements Serializable { _attivo = attivo; } + public String getPassword() { + return _password; + } + + public void setPassword(String password) { + _password = password; + } + + public Date getPasswordModifiedDate() { + return _passwordModifiedDate; + } + + public void setPasswordModifiedDate(Date passwordModifiedDate) { + _passwordModifiedDate = passwordModifiedDate; + } + + public long getPasswordModifiedUserId() { + return _passwordModifiedUserId; + } + + public void setPasswordModifiedUserId(long passwordModifiedUserId) { + _passwordModifiedUserId = passwordModifiedUserId; + } + + public String getPasswordModifiedUserName() { + return _passwordModifiedUserName; + } + + public void setPasswordModifiedUserName(String passwordModifiedUserName) { + _passwordModifiedUserName = passwordModifiedUserName; + } + private long _sportelloId; private long _groupId; private long _companyId; - private long _userId; - private String _userName; private Date _createDate; + private long _createUserId; + private String _createUserName; private Date _modifiedDate; + private long _modifiedUserId; + private String _modifiedUserName; + private String _userName; private String _email; private long _comuneId; - private String _apiKey; private boolean _attivo; + private String _password; + private Date _passwordModifiedDate; + private long _passwordModifiedUserId; + private String _passwordModifiedUserName; } \ 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/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 3c13c9de..01ba294e 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 @@ -52,14 +52,20 @@ public class SportelloWrapper implements Sportello, ModelWrapper { attributes.put("sportelloId", getSportelloId()); attributes.put("groupId", getGroupId()); attributes.put("companyId", getCompanyId()); - attributes.put("userId", getUserId()); - attributes.put("userName", getUserName()); attributes.put("createDate", getCreateDate()); + attributes.put("createUserId", getCreateUserId()); + attributes.put("createUserName", getCreateUserName()); attributes.put("modifiedDate", getModifiedDate()); + attributes.put("modifiedUserId", getModifiedUserId()); + attributes.put("modifiedUserName", getModifiedUserName()); + attributes.put("userName", getUserName()); attributes.put("email", getEmail()); attributes.put("comuneId", getComuneId()); - attributes.put("apiKey", getApiKey()); attributes.put("attivo", getAttivo()); + attributes.put("password", getPassword()); + attributes.put("passwordModifiedDate", getPasswordModifiedDate()); + attributes.put("passwordModifiedUserId", getPasswordModifiedUserId()); + attributes.put("passwordModifiedUserName", getPasswordModifiedUserName()); return attributes; } @@ -84,22 +90,22 @@ public class SportelloWrapper implements Sportello, ModelWrapper { setCompanyId(companyId); } - Long userId = (Long)attributes.get("userId"); + Date createDate = (Date)attributes.get("createDate"); - if (userId != null) { - setUserId(userId); + if (createDate != null) { + setCreateDate(createDate); } - String userName = (String)attributes.get("userName"); + Long createUserId = (Long)attributes.get("createUserId"); - if (userName != null) { - setUserName(userName); + if (createUserId != null) { + setCreateUserId(createUserId); } - Date createDate = (Date)attributes.get("createDate"); + String createUserName = (String)attributes.get("createUserName"); - if (createDate != null) { - setCreateDate(createDate); + if (createUserName != null) { + setCreateUserName(createUserName); } Date modifiedDate = (Date)attributes.get("modifiedDate"); @@ -108,6 +114,24 @@ public class SportelloWrapper implements Sportello, ModelWrapper { setModifiedDate(modifiedDate); } + Long modifiedUserId = (Long)attributes.get("modifiedUserId"); + + if (modifiedUserId != null) { + setModifiedUserId(modifiedUserId); + } + + String modifiedUserName = (String)attributes.get("modifiedUserName"); + + if (modifiedUserName != null) { + setModifiedUserName(modifiedUserName); + } + + String userName = (String)attributes.get("userName"); + + if (userName != null) { + setUserName(userName); + } + String email = (String)attributes.get("email"); if (email != null) { @@ -120,17 +144,37 @@ public class SportelloWrapper implements Sportello, ModelWrapper { setComuneId(comuneId); } - String apiKey = (String)attributes.get("apiKey"); - - if (apiKey != null) { - setApiKey(apiKey); - } - Boolean attivo = (Boolean)attributes.get("attivo"); if (attivo != null) { setAttivo(attivo); } + + String password = (String)attributes.get("password"); + + if (password != null) { + setPassword(password); + } + + Date passwordModifiedDate = (Date)attributes.get("passwordModifiedDate"); + + if (passwordModifiedDate != null) { + setPasswordModifiedDate(passwordModifiedDate); + } + + Long passwordModifiedUserId = (Long)attributes.get( + "passwordModifiedUserId"); + + if (passwordModifiedUserId != null) { + setPasswordModifiedUserId(passwordModifiedUserId); + } + + String passwordModifiedUserName = (String)attributes.get( + "passwordModifiedUserName"); + + if (passwordModifiedUserName != null) { + setPasswordModifiedUserName(passwordModifiedUserName); + } } /** @@ -214,85 +258,85 @@ public class SportelloWrapper implements Sportello, ModelWrapper { } /** - * Returns the user ID of this sportello. + * Returns the create date of this sportello. * - * @return the user ID of this sportello + * @return the create date of this sportello */ @Override - public long getUserId() { - return _sportello.getUserId(); + public java.util.Date getCreateDate() { + return _sportello.getCreateDate(); } /** - * Sets the user ID of this sportello. + * Sets the create date of this sportello. * - * @param userId the user ID of this sportello + * @param createDate the create date of this sportello */ @Override - public void setUserId(long userId) { - _sportello.setUserId(userId); + public void setCreateDate(java.util.Date createDate) { + _sportello.setCreateDate(createDate); } /** - * Returns the user uuid of this sportello. + * Returns the create user ID of this sportello. * - * @return the user uuid of this sportello - * @throws SystemException if a system exception occurred + * @return the create user ID of this sportello */ @Override - public java.lang.String getUserUuid() - throws com.liferay.portal.kernel.exception.SystemException { - return _sportello.getUserUuid(); + public long getCreateUserId() { + return _sportello.getCreateUserId(); } /** - * Sets the user uuid of this sportello. + * Sets the create user ID of this sportello. * - * @param userUuid the user uuid of this sportello + * @param createUserId the create user ID of this sportello */ @Override - public void setUserUuid(java.lang.String userUuid) { - _sportello.setUserUuid(userUuid); + public void setCreateUserId(long createUserId) { + _sportello.setCreateUserId(createUserId); } /** - * Returns the user name of this sportello. + * Returns the create user uuid of this sportello. * - * @return the user name of this sportello + * @return the create user uuid of this sportello + * @throws SystemException if a system exception occurred */ @Override - public java.lang.String getUserName() { - return _sportello.getUserName(); + public java.lang.String getCreateUserUuid() + throws com.liferay.portal.kernel.exception.SystemException { + return _sportello.getCreateUserUuid(); } /** - * Sets the user name of this sportello. + * Sets the create user uuid of this sportello. * - * @param userName the user name of this sportello + * @param createUserUuid the create user uuid of this sportello */ @Override - public void setUserName(java.lang.String userName) { - _sportello.setUserName(userName); + public void setCreateUserUuid(java.lang.String createUserUuid) { + _sportello.setCreateUserUuid(createUserUuid); } /** - * Returns the create date of this sportello. + * Returns the create user name of this sportello. * - * @return the create date of this sportello + * @return the create user name of this sportello */ @Override - public java.util.Date getCreateDate() { - return _sportello.getCreateDate(); + public java.lang.String getCreateUserName() { + return _sportello.getCreateUserName(); } /** - * Sets the create date of this sportello. + * Sets the create user name of this sportello. * - * @param createDate the create date of this sportello + * @param createUserName the create user name of this sportello */ @Override - public void setCreateDate(java.util.Date createDate) { - _sportello.setCreateDate(createDate); + public void setCreateUserName(java.lang.String createUserName) { + _sportello.setCreateUserName(createUserName); } /** @@ -315,6 +359,88 @@ public class SportelloWrapper implements Sportello, ModelWrapper { _sportello.setModifiedDate(modifiedDate); } + /** + * Returns the modified user ID of this sportello. + * + * @return the modified user ID of this sportello + */ + @Override + public long getModifiedUserId() { + return _sportello.getModifiedUserId(); + } + + /** + * Sets the modified user ID of this sportello. + * + * @param modifiedUserId the modified user ID of this sportello + */ + @Override + public void setModifiedUserId(long modifiedUserId) { + _sportello.setModifiedUserId(modifiedUserId); + } + + /** + * Returns the modified user uuid of this sportello. + * + * @return the modified user uuid of this sportello + * @throws SystemException if a system exception occurred + */ + @Override + public java.lang.String getModifiedUserUuid() + throws com.liferay.portal.kernel.exception.SystemException { + return _sportello.getModifiedUserUuid(); + } + + /** + * Sets the modified user uuid of this sportello. + * + * @param modifiedUserUuid the modified user uuid of this sportello + */ + @Override + public void setModifiedUserUuid(java.lang.String modifiedUserUuid) { + _sportello.setModifiedUserUuid(modifiedUserUuid); + } + + /** + * Returns the modified user name of this sportello. + * + * @return the modified user name of this sportello + */ + @Override + public java.lang.String getModifiedUserName() { + return _sportello.getModifiedUserName(); + } + + /** + * Sets the modified user name of this sportello. + * + * @param modifiedUserName the modified user name of this sportello + */ + @Override + public void setModifiedUserName(java.lang.String modifiedUserName) { + _sportello.setModifiedUserName(modifiedUserName); + } + + /** + * Returns the user name of this sportello. + * + * @return the user name of this sportello + */ + @Override + public java.lang.String getUserName() { + return _sportello.getUserName(); + } + + /** + * Sets the user name of this sportello. + * + * @param userName the user name of this sportello + */ + @Override + public void setUserName(java.lang.String userName) { + _sportello.setUserName(userName); + } + /** * Returns the email of this sportello. * @@ -355,26 +481,6 @@ public class SportelloWrapper implements Sportello, ModelWrapper { _sportello.setComuneId(comuneId); } - /** - * Returns the api key of this sportello. - * - * @return the api key of this sportello - */ - @Override - public java.lang.String getApiKey() { - return _sportello.getApiKey(); - } - - /** - * Sets the api key of this sportello. - * - * @param apiKey the api key of this sportello - */ - @Override - public void setApiKey(java.lang.String apiKey) { - _sportello.setApiKey(apiKey); - } - /** * Returns the attivo of this sportello. * @@ -405,6 +511,110 @@ public class SportelloWrapper implements Sportello, ModelWrapper { _sportello.setAttivo(attivo); } + /** + * Returns the password of this sportello. + * + * @return the password of this sportello + */ + @Override + public java.lang.String getPassword() { + return _sportello.getPassword(); + } + + /** + * Sets the password of this sportello. + * + * @param password the password of this sportello + */ + @Override + public void setPassword(java.lang.String password) { + _sportello.setPassword(password); + } + + /** + * Returns the password modified date of this sportello. + * + * @return the password modified date of this sportello + */ + @Override + public java.util.Date getPasswordModifiedDate() { + return _sportello.getPasswordModifiedDate(); + } + + /** + * Sets the password modified date of this sportello. + * + * @param passwordModifiedDate the password modified date of this sportello + */ + @Override + public void setPasswordModifiedDate(java.util.Date passwordModifiedDate) { + _sportello.setPasswordModifiedDate(passwordModifiedDate); + } + + /** + * Returns the password modified user ID of this sportello. + * + * @return the password modified user ID of this sportello + */ + @Override + public long getPasswordModifiedUserId() { + return _sportello.getPasswordModifiedUserId(); + } + + /** + * Sets the password modified user ID of this sportello. + * + * @param passwordModifiedUserId the password modified user ID of this sportello + */ + @Override + public void setPasswordModifiedUserId(long passwordModifiedUserId) { + _sportello.setPasswordModifiedUserId(passwordModifiedUserId); + } + + /** + * Returns the password modified user uuid of this sportello. + * + * @return the password modified user uuid of this sportello + * @throws SystemException if a system exception occurred + */ + @Override + public java.lang.String getPasswordModifiedUserUuid() + throws com.liferay.portal.kernel.exception.SystemException { + return _sportello.getPasswordModifiedUserUuid(); + } + + /** + * Sets the password modified user uuid of this sportello. + * + * @param passwordModifiedUserUuid the password modified user uuid of this sportello + */ + @Override + public void setPasswordModifiedUserUuid( + java.lang.String passwordModifiedUserUuid) { + _sportello.setPasswordModifiedUserUuid(passwordModifiedUserUuid); + } + + /** + * Returns the password modified user name of this sportello. + * + * @return the password modified user name of this sportello + */ + @Override + public java.lang.String getPasswordModifiedUserName() { + return _sportello.getPasswordModifiedUserName(); + } + + /** + * Sets the password modified user name of this sportello. + * + * @param passwordModifiedUserName the password modified user name of this sportello + */ + @Override + public void setPasswordModifiedUserName( + java.lang.String passwordModifiedUserName) { + _sportello.setPasswordModifiedUserName(passwordModifiedUserName); + } + @Override public boolean isNew() { return _sportello.isNew(); @@ -509,6 +719,22 @@ public class SportelloWrapper implements Sportello, ModelWrapper { _sportello.persist(); } + @Override + public java.lang.String encryptPassword(java.lang.String password) { + return _sportello.encryptPassword(password); + } + + @Override + public boolean checkPassword(java.lang.String password) { + return _sportello.checkPassword(password); + } + + @Override + public void setEncryptedPassword(java.lang.String password, + com.liferay.portal.model.User user) { + _sportello.setEncryptedPassword(password, user); + } + @Override public java.lang.String getCodiceProvincia() throws com.liferay.portal.kernel.exception.PortalException, diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ClpSerializer.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ClpSerializer.java index 64bec69d..e92200c8 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ClpSerializer.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/ClpSerializer.java @@ -317,6 +317,18 @@ public class ClpSerializer { return new SystemException(); } + if (className.equals("it.mwg.sicilia.sue.ExpiredTokenException")) { + return new it.mwg.sicilia.sue.ExpiredTokenException(); + } + + if (className.equals("it.mwg.sicilia.sue.InactiveSportelloException")) { + return new it.mwg.sicilia.sue.InactiveSportelloException(); + } + + if (className.equals("it.mwg.sicilia.sue.InvalidTokenException")) { + return new it.mwg.sicilia.sue.InvalidTokenException(); + } + if (className.equals("it.mwg.sicilia.sue.NoSuchApiSettingException")) { return new it.mwg.sicilia.sue.NoSuchApiSettingException(); } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloLocalService.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloLocalService.java index 39793741..303dd528 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloLocalService.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloLocalService.java @@ -249,4 +249,9 @@ public interface SportelloLocalService extends BaseLocalService, public java.lang.Object invokeMethod(java.lang.String name, java.lang.String[] parameterTypes, java.lang.Object[] arguments) throws java.lang.Throwable; + + public it.mwg.sicilia.sue.model.Sportello findByUserName( + java.lang.String userName) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchSportelloException; } \ 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/service/SportelloLocalServiceClp.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloLocalServiceClp.java index 0ef97d83..052975a2 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloLocalServiceClp.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloLocalServiceClp.java @@ -113,6 +113,10 @@ public class SportelloLocalServiceClp implements SportelloLocalService { _methodName17 = "setBeanIdentifier"; _methodParameterTypes17 = new String[] { "java.lang.String" }; + + _methodName19 = "findByUserName"; + + _methodParameterTypes19 = new String[] { "java.lang.String" }; } @Override @@ -661,6 +665,41 @@ public class SportelloLocalServiceClp implements SportelloLocalService { throw new UnsupportedOperationException(); } + @Override + public it.mwg.sicilia.sue.model.Sportello findByUserName( + java.lang.String userName) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchSportelloException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName19, + _methodParameterTypes19, + new Object[] { ClpSerializer.translateInput(userName) }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof it.mwg.sicilia.sue.NoSuchSportelloException) { + throw (it.mwg.sicilia.sue.NoSuchSportelloException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (it.mwg.sicilia.sue.model.Sportello)ClpSerializer.translateOutput(returnObj); + } + private InvokableLocalService _invokableLocalService; private String _methodName0; private String[] _methodParameterTypes0; @@ -698,4 +737,6 @@ public class SportelloLocalServiceClp implements SportelloLocalService { private String[] _methodParameterTypes16; private String _methodName17; private String[] _methodParameterTypes17; + private String _methodName19; + private String[] _methodParameterTypes19; } \ 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/service/SportelloLocalServiceUtil.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloLocalServiceUtil.java index c2e5e6bb..ecb4c20c 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloLocalServiceUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloLocalServiceUtil.java @@ -275,6 +275,13 @@ public class SportelloLocalServiceUtil { return getService().invokeMethod(name, parameterTypes, arguments); } + public static it.mwg.sicilia.sue.model.Sportello findByUserName( + java.lang.String userName) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchSportelloException { + return getService().findByUserName(userName); + } + public static void clearService() { _service = null; } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloLocalServiceWrapper.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloLocalServiceWrapper.java index de7ea4a3..bc6a5cbf 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloLocalServiceWrapper.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloLocalServiceWrapper.java @@ -282,6 +282,14 @@ public class SportelloLocalServiceWrapper implements SportelloLocalService, arguments); } + @Override + public it.mwg.sicilia.sue.model.Sportello findByUserName( + java.lang.String userName) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchSportelloException { + return _sportelloLocalService.findByUserName(userName); + } + /** * @deprecated As of 6.1.0, replaced by {@link #getWrappedService} */ diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloService.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloService.java index 69076277..43edace5 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloService.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloService.java @@ -63,4 +63,6 @@ public interface SportelloService extends BaseService, InvokableService { public java.lang.Object invokeMethod(java.lang.String name, java.lang.String[] parameterTypes, java.lang.Object[] arguments) throws java.lang.Throwable; + + public java.lang.String generaPassword(int lunghezza); } \ 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/service/SportelloServiceClp.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloServiceClp.java index ac2bdf86..3ca575ff 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloServiceClp.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloServiceClp.java @@ -31,6 +31,10 @@ public class SportelloServiceClp implements SportelloService { _methodName1 = "setBeanIdentifier"; _methodParameterTypes1 = new String[] { "java.lang.String" }; + + _methodName3 = "generaPassword"; + + _methodParameterTypes3 = new String[] { "int" }; } @Override @@ -83,9 +87,34 @@ public class SportelloServiceClp implements SportelloService { throw new UnsupportedOperationException(); } + @Override + public java.lang.String generaPassword(int lunghezza) { + Object returnObj = null; + + try { + returnObj = _invokableService.invokeMethod(_methodName3, + _methodParameterTypes3, new Object[] { lunghezza }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (java.lang.String)ClpSerializer.translateOutput(returnObj); + } + private InvokableService _invokableService; private String _methodName0; private String[] _methodParameterTypes0; private String _methodName1; private String[] _methodParameterTypes1; + private String _methodName3; + private String[] _methodParameterTypes3; } \ 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/service/SportelloServiceUtil.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloServiceUtil.java index 695cdb78..d262f4df 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloServiceUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloServiceUtil.java @@ -63,6 +63,10 @@ public class SportelloServiceUtil { return getService().invokeMethod(name, parameterTypes, arguments); } + public static java.lang.String generaPassword(int lunghezza) { + return getService().generaPassword(lunghezza); + } + public static void clearService() { _service = null; } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloServiceWrapper.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloServiceWrapper.java index 1c487d54..4a07e390 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloServiceWrapper.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/SportelloServiceWrapper.java @@ -56,6 +56,11 @@ public class SportelloServiceWrapper implements SportelloService, return _sportelloService.invokeMethod(name, parameterTypes, arguments); } + @Override + public java.lang.String generaPassword(int lunghezza) { + return _sportelloService.generaPassword(lunghezza); + } + /** * @deprecated As of 6.1.0, replaced by {@link #getWrappedService} */ diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloPersistence.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloPersistence.java index f5fbc933..69282a64 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloPersistence.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloPersistence.java @@ -92,6 +92,64 @@ public interface SportelloPersistence extends BasePersistence { public int countByComuneId(long comuneId) throws com.liferay.portal.kernel.exception.SystemException; + /** + * Returns the sportello where userName = ? or throws a {@link it.mwg.sicilia.sue.NoSuchSportelloException} if it could not be found. + * + * @param userName the user name + * @return the matching sportello + * @throws it.mwg.sicilia.sue.NoSuchSportelloException if a matching sportello could not be found + * @throws SystemException if a system exception occurred + */ + public it.mwg.sicilia.sue.model.Sportello findByUserName( + java.lang.String userName) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchSportelloException; + + /** + * Returns the sportello where userName = ? or returns null if it could not be found. Uses the finder cache. + * + * @param userName the user name + * @return the matching sportello, or null if a matching sportello could not be found + * @throws SystemException if a system exception occurred + */ + public it.mwg.sicilia.sue.model.Sportello fetchByUserName( + java.lang.String userName) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns the sportello where userName = ? or returns null if it could not be found, optionally using the finder cache. + * + * @param userName the user name + * @param retrieveFromCache whether to use the finder cache + * @return the matching sportello, or null if a matching sportello could not be found + * @throws SystemException if a system exception occurred + */ + public it.mwg.sicilia.sue.model.Sportello fetchByUserName( + java.lang.String userName, boolean retrieveFromCache) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Removes the sportello where userName = ? from the database. + * + * @param userName the user name + * @return the sportello that was removed + * @throws SystemException if a system exception occurred + */ + public it.mwg.sicilia.sue.model.Sportello removeByUserName( + java.lang.String userName) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchSportelloException; + + /** + * Returns the number of sportellos where userName = ?. + * + * @param userName the user name + * @return the number of matching sportellos + * @throws SystemException if a system exception occurred + */ + public int countByUserName(java.lang.String userName) + throws com.liferay.portal.kernel.exception.SystemException; + /** * Caches the sportello in the entity cache if it is enabled. * diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloUtil.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloUtil.java index 344db9c0..2d2afe73 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/service/it/mwg/sicilia/sue/service/persistence/SportelloUtil.java @@ -178,6 +178,74 @@ public class SportelloUtil { return getPersistence().countByComuneId(comuneId); } + /** + * Returns the sportello where userName = ? or throws a {@link it.mwg.sicilia.sue.NoSuchSportelloException} if it could not be found. + * + * @param userName the user name + * @return the matching sportello + * @throws it.mwg.sicilia.sue.NoSuchSportelloException if a matching sportello could not be found + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.Sportello findByUserName( + java.lang.String userName) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchSportelloException { + return getPersistence().findByUserName(userName); + } + + /** + * Returns the sportello where userName = ? or returns null if it could not be found. Uses the finder cache. + * + * @param userName the user name + * @return the matching sportello, or null if a matching sportello could not be found + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.Sportello fetchByUserName( + java.lang.String userName) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence().fetchByUserName(userName); + } + + /** + * Returns the sportello where userName = ? or returns null if it could not be found, optionally using the finder cache. + * + * @param userName the user name + * @param retrieveFromCache whether to use the finder cache + * @return the matching sportello, or null if a matching sportello could not be found + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.Sportello fetchByUserName( + java.lang.String userName, boolean retrieveFromCache) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence().fetchByUserName(userName, retrieveFromCache); + } + + /** + * Removes the sportello where userName = ? from the database. + * + * @param userName the user name + * @return the sportello that was removed + * @throws SystemException if a system exception occurred + */ + public static it.mwg.sicilia.sue.model.Sportello removeByUserName( + java.lang.String userName) + throws com.liferay.portal.kernel.exception.SystemException, + it.mwg.sicilia.sue.NoSuchSportelloException { + return getPersistence().removeByUserName(userName); + } + + /** + * Returns the number of sportellos where userName = ?. + * + * @param userName the user name + * @return the number of matching sportellos + * @throws SystemException if a system exception occurred + */ + public static int countByUserName(java.lang.String userName) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence().countByUserName(userName); + } + /** * Caches the sportello in the entity cache if it is enabled. * diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.properties b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.properties index 7f94ec66..6d9c3855 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.properties +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.properties @@ -1,3 +1,4 @@ IX_7B780A8D=sicilia_sue_ApiSetting.CompanyIdKey -IX_8B2AB20B=sicilia_sue_Sportello.ComuneId \ No newline at end of file +IX_8B2AB20B=sicilia_sue_Sportello.ComuneId +IX_F4E738BB=sicilia_sue_Sportello.UserName \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.sql b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.sql index c1afa6ba..125d6c6c 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.sql +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/indexes.sql @@ -1,3 +1,4 @@ create unique index IX_7B780A8D on sicilia_sue_ApiSetting (companyId, key_); -create unique index IX_8B2AB20B on sicilia_sue_Sportello (comuneId); \ No newline at end of file +create unique index IX_8B2AB20B on sicilia_sue_Sportello (comuneId); +create unique index IX_F4E738BB on sicilia_sue_Sportello (userName); \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/tables.sql b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/tables.sql index b98c487c..4dd0bee4 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/tables.sql +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/sql/tables.sql @@ -9,12 +9,18 @@ create table sicilia_sue_Sportello ( sportelloId LONG not null primary key, groupId LONG, companyId LONG, - userId LONG, - userName VARCHAR(240) null, createDate DATE null, + createUserId LONG, + createUserName VARCHAR(75) null, modifiedDate DATE null, + modifiedUserId LONG, + modifiedUserName VARCHAR(75) null, + userName VARCHAR(75) null, email VARCHAR(240) null, comuneId LONG, - apiKey VARCHAR(240) null, - attivo BOOLEAN + attivo BOOLEAN, + password_ VARCHAR(75) null, + passwordModifiedDate DATE null, + passwordModifiedUserId LONG, + passwordModifiedUserName VARCHAR(240) null ); \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml index c568aa50..f3590625 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml @@ -20,13 +20,19 @@ - - + + + + + - + + + + \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml index b69ced79..87e5cf33 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml @@ -13,19 +13,23 @@ - - - 240 - + + + + + 240 - + + + + + 240 - \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml index 94ff9bfe..3864ca2a 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml @@ -27,22 +27,34 @@ - - TIMESTAMP + + TIMESTAMP + + + - + + + + + TIMESTAMP + + + + + + -
    diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/content/Language.properties b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/content/Language.properties index ff9528b9..8e710091 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/content/Language.properties +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/content/Language.properties @@ -1,3 +1,4 @@ email = Email nomeComune = Comune -nomeProvincia = Provincia \ No newline at end of file +nomeProvincia = Provincia +userName = Login diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/AccessToken.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/AccessToken.java new file mode 100644 index 00000000..8dcf7dd2 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/AccessToken.java @@ -0,0 +1,99 @@ +package it.mwg.sicilia.sue.api.v1; + +import it.mwg.sicilia.sue.ExpiredTokenException; +import it.mwg.sicilia.sue.InactiveSportelloException; +import it.mwg.sicilia.sue.InvalidTokenException; +import it.mwg.sicilia.sue.model.Sportello; +import it.mwg.sicilia.sue.service.ApiSettingLocalServiceUtil; +import it.mwg.sicilia.sue.service.SportelloLocalServiceUtil; + +import java.security.KeyFactory; +import java.security.PrivateKey; +import java.security.PublicKey; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; +import java.util.Date; + +import javax.crypto.Cipher; + +import com.liferay.portal.kernel.json.JSONFactoryUtil; +import com.liferay.portal.kernel.json.JSONObject; +import com.liferay.portal.kernel.security.SecureRandom; +import com.liferay.portal.kernel.util.Validator; +import com.sun.org.apache.xml.internal.security.utils.Base64; + +public class AccessToken { + + private long timestamp; + private long sportelloId; + private String token; + + private static final long MAX_AGE = 15 * 60 * 1000; + + private static final String TIMESTAMP = "timestamp"; + private static final String SPORTELLO_ID = "sportelloId"; + private static final String SALT = "salt"; + private static final String SECRET = "secret"; + + public AccessToken(Sportello sportello) throws Exception { + + timestamp = new Date().getTime(); + sportelloId = sportello.getSportelloId(); + JSONObject payload = JSONFactoryUtil.createJSONObject(); + payload.put(TIMESTAMP, timestamp); + payload.put(SPORTELLO_ID, sportelloId); + SecureRandom rnd = new SecureRandom(); + payload.put(SALT, rnd.nextLong()); + payload.put(SECRET, ApiSettingLocalServiceUtil.get(sportello.getCompanyId(), ApiConstants.API_SECRET)); + String key = ApiSettingLocalServiceUtil.get(sportello.getCompanyId(), ApiConstants.API_PUBLIC_KEY); + KeyFactory keyFactory = KeyFactory.getInstance("RSA"); + X509EncodedKeySpec pubKeySpec = new X509EncodedKeySpec(Base64.decode(key)); + PublicKey publicKey = keyFactory.generatePublic(pubKeySpec); + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.ENCRYPT_MODE, publicKey); + token = Base64.encode(cipher.doFinal(payload.toString().getBytes())); + } + + public AccessToken(String token) throws Exception { + + KeyFactory keyFactory = KeyFactory.getInstance("RSA"); + String key = ApiSettingLocalServiceUtil.get(20155, ApiConstants.API_PRIVATE_KEY); + PKCS8EncodedKeySpec privKeySpec = new PKCS8EncodedKeySpec(Base64.decode(key)); + PrivateKey privateKey = keyFactory.generatePrivate(privKeySpec); + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.DECRYPT_MODE, privateKey); + String json; + JSONObject payload; + try { + json = new String(cipher.doFinal(Base64.decode(token))); + payload = JSONFactoryUtil.createJSONObject(json); + } catch (Exception e) { + throw new InvalidTokenException(); + } + if (!ApiSettingLocalServiceUtil.get(20155, ApiConstants.API_SECRET).equals(payload.getString(SECRET))) { + throw new InvalidTokenException(); + } + timestamp = payload.getLong(TIMESTAMP); + long current = new Date().getTime(); + if ((current < timestamp) || (current - timestamp > MAX_AGE)) { + System.out.println("**** current = " + current + ", timestamp = " + timestamp); + throw new ExpiredTokenException(); + } + sportelloId = payload.getLong(SPORTELLO_ID); + Sportello sportello = SportelloLocalServiceUtil.getSportello(sportelloId); + if (Validator.isNull(sportello) || !sportello.isAttivo()) { + throw new InactiveSportelloException(); + } + this.token = token; + } + + public long getSportelloId() { + + return sportelloId; + } + + public String getToken() { + + return token; + } +} diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiServlet.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiServlet.java index 2eb22b51..f2668f58 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiServlet.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiServlet.java @@ -1,19 +1,12 @@ package it.mwg.sicilia.sue.api.v1; -import it.mwg.sicilia.sue.model.Sportello; - import java.io.IOException; -import java.io.InputStreamReader; -import java.io.Serializable; -import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import com.liferay.portal.kernel.json.JSONDeserializer; -import com.liferay.portal.kernel.json.JSONFactoryUtil; import com.liferay.portal.kernel.log.Log; import com.liferay.portal.kernel.log.LogFactoryUtil; import com.liferay.portal.kernel.util.StringPool; @@ -26,8 +19,6 @@ import com.liferay.portal.kernel.util.Validator; public class ApiServlet extends HttpServlet { private static final Log _log = LogFactoryUtil.getLog(ApiServlet.class); - private static final JSONDeserializer> deserializer = JSONFactoryUtil - .createJSONDeserializer(); @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { @@ -50,42 +41,23 @@ public class ApiServlet extends HttpServlet { private void process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - String info = request.getPathInfo(); - if (Validator.isNull(info)) { - info = StringPool.BLANK; + String pathInfo = request.getPathInfo(); + if (Validator.isNull(pathInfo)) { + pathInfo = StringPool.BLANK; } else { - info = request.getPathInfo().substring(1); + pathInfo = request.getPathInfo().substring(1); } - Command command = Commands.get(info); + Command command = Commands.get(pathInfo); if (Validator.isNull(command)) { response.sendError(HttpServletResponse.SC_NOT_FOUND); + } else if (!command.getMethods().contains(request.getMethod())) { + response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED); } else { - Map parameters = deserializer.deserialize(new InputStreamReader(request - .getInputStream())); - long timestamp = 0; - String uuid = null; - String signature = null; try { - timestamp = (Long) parameters.get(Parameters.AUTH_TIMESTAMP); - uuid = (String) parameters.get(Parameters.AUTH_USER_ID); - signature = (String) parameters.get(Parameters.AUTH_SIGNATURE); - } catch (ClassCastException e) { - } - if ((0 == timestamp) || Validator.isNull(uuid) || Validator.isNull(signature)) { - response.sendError(HttpServletResponse.SC_BAD_REQUEST); - } else if (!verifySignature(timestamp, signature)) { - response.sendError(HttpServletResponse.SC_FORBIDDEN); - } else if (!command.getMethods().contains(request.getMethod())) { - response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED); - } else { command.run(request, response); + } catch (Exception e) { + _log.error(e.getMessage(), e); } } } - - private boolean verifySignature(long timestamp, String signature) { - - Sportello sportello; - return false; - } } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiUtil.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiUtil.java index 98e01bd2..8eae6aae 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/ApiUtil.java @@ -18,7 +18,6 @@ import com.liferay.portal.kernel.log.Log; import com.liferay.portal.kernel.log.LogFactoryUtil; import com.liferay.portal.kernel.security.SecureRandom; import com.liferay.portal.kernel.util.StringPool; -import com.liferay.portal.security.auth.CompanyThreadLocal; import com.sun.org.apache.xml.internal.security.utils.Base64; public class ApiUtil { @@ -57,10 +56,4 @@ public class ApiUtil { String check = DigestUtils.sha256Hex(hash + secret); return hash + StringPool.PERIOD + check; } - - public static String getToken(long sportelloId) throws Exception { - - long companyId = CompanyThreadLocal.getCompanyId(); - return getToken(companyId, sportelloId); - } } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Command.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Command.java index f93ab401..ae2e6f6f 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Command.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Command.java @@ -1,18 +1,37 @@ package it.mwg.sicilia.sue.api.v1; +import it.mwg.sicilia.sue.ExpiredTokenException; +import it.mwg.sicilia.sue.InactiveSportelloException; +import it.mwg.sicilia.sue.InvalidTokenException; + import java.io.IOException; +import java.io.InputStreamReader; +import java.io.Serializable; import java.util.Arrays; import java.util.List; +import java.util.Map; -import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.liferay.portal.kernel.json.JSONDeserializer; +import com.liferay.portal.kernel.json.JSONFactoryUtil; +import com.liferay.portal.kernel.log.Log; +import com.liferay.portal.kernel.log.LogFactoryUtil; +import com.liferay.portal.kernel.servlet.ServletResponseUtil; +import com.liferay.portal.kernel.util.ContentTypes; +import com.liferay.portal.kernel.util.StringPool; + public abstract class Command { + protected static final Log _log = LogFactoryUtil.getLog(Command.class); + protected Map parameters = null; + private String verb; private List methods; private String description; + private static final JSONDeserializer> deserializer = JSONFactoryUtil + .createJSONDeserializer(); public Command(String verb, String description, String... methods) { @@ -36,6 +55,37 @@ public abstract class Command { return description; } - public abstract void run(HttpServletRequest request, HttpServletResponse response) throws ServletException, - IOException; + public abstract void run(HttpServletRequest request, HttpServletResponse response) throws Exception; + + protected Map readParameters(HttpServletRequest request) throws IOException { + + parameters = deserializer.deserialize(new InputStreamReader(request.getInputStream())); + return parameters; + } + + protected void setJson(HttpServletResponse response) { + + response.setContentType(ContentTypes.APPLICATION_JSON); + response.setCharacterEncoding(StringPool.UTF8); + } + + protected boolean verifyAccessToken(HttpServletResponse response, String encodedToken) { + + try { + try { + new AccessToken(encodedToken); + } 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) { + ServletResponseUtil.write(response, Response.get(Status.INACTIVE_USER)); + } catch (Exception e) { + ServletResponseUtil.write(response, Response.get(Status.SERVER_ERROR)); + } + return true; + } catch (IOException e) { + return false; + } + } } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Commands.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Commands.java index 73bacee6..4d5e1719 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Commands.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/Commands.java @@ -1,5 +1,6 @@ package it.mwg.sicilia.sue.api.v1; +import it.mwg.sicilia.sue.api.v1.command.CommandLogin; import it.mwg.sicilia.sue.api.v1.command.CommandNop; import java.util.LinkedHashMap; @@ -14,6 +15,8 @@ public class Commands { static { addCommand(new CommandNop(StringPool.BLANK, "NOP verifica la connettività senza eseguire operazioni", HttpMethods.GET, HttpMethods.POST)); + addCommand(new CommandLogin("login", + "Esegue l'accesso con nome email e password e restituisce un token di accesso", 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/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 bca814a7..0d14be04 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,9 +2,9 @@ package it.mwg.sicilia.sue.api.v1; public class Parameters { - public static final String AUTH_TIMESTAMP = "timestamp"; - public static final String AUTH_USER_ID = "userId"; - public static final String AUTH_SIGNATURE = "signature"; - public static final String STATUS_CODE = "status"; - public static final String STATUS_DESCRIPTION = "description"; + public static final String PASSWORD = "password"; + public static final String STATUS_CODE = "statusCode"; + public static final String STATUS_MESSAGE = "statusMessage"; + public static final String TOKEN = "token"; + public static final String USER_NAME = "userName"; } 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 8ab5294a..2cd31c72 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 @@ -22,7 +22,7 @@ public class Response { Map map = new LinkedHashMap<>(); map.put(Parameters.STATUS_CODE, statusCode); - map.put(Parameters.STATUS_DESCRIPTION, Status.getStatusDescription(statusCode)); + map.put(Parameters.STATUS_MESSAGE, Status.getStatusDescription(statusCode)); if (Validator.isNotNull(extraData)) { map.putAll(extraData); } 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 e6435a06..dac16f84 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 @@ -6,17 +6,28 @@ import java.util.Map; public class Status { public static final int OK = 0; - public static final int MALFORMED_REQUEST = 1; + public static final int EXPIRED_TOKEN = 1; + public static final int INACTIVE_USER = 2; + public static final int INVALID_TOKEN = 3; + public static final int MALFORMED_REQUEST = 4; + public static final int SERVER_ERROR = 5; + public static final int WRONG_USER_NAME_OR_PASSWORD = 6; @SuppressWarnings("serial") 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_USER_NAME_OR_PASSWORD, "Wrong user name or password"); } }; public static String getStatusDescription(int statusCode) { + return messages.get(statusCode); } } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/CommandLogin.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/CommandLogin.java new file mode 100644 index 00000000..5954e5e6 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/CommandLogin.java @@ -0,0 +1,56 @@ +package it.mwg.sicilia.sue.api.v1.command; + +import it.mwg.sicilia.sue.NoSuchSportelloException; +import it.mwg.sicilia.sue.api.v1.AccessToken; +import it.mwg.sicilia.sue.api.v1.Command; +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.model.Sportello; +import it.mwg.sicilia.sue.service.SportelloLocalServiceUtil; + +import java.io.Serializable; +import java.util.HashMap; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.liferay.portal.kernel.exception.SystemException; +import com.liferay.portal.kernel.servlet.ServletResponseUtil; +import com.liferay.portal.kernel.util.Validator; + +public class CommandLogin extends Command { + + public CommandLogin(String verb, String description, String... methods) { + + super(verb, description, methods); + } + + @Override + public void run(HttpServletRequest request, HttpServletResponse response) throws Exception { + + setJson(response); + readParameters(request); + String userName = (String) parameters.get(Parameters.USER_NAME); + String password = (String) parameters.get(Parameters.PASSWORD); + if (Validator.isNull(userName) || Validator.isNull(password)) { + response.sendError(HttpServletResponse.SC_BAD_REQUEST); + } else { + Sportello sportello = null; + try { + sportello = SportelloLocalServiceUtil.findByUserName(userName); + } catch (NoSuchSportelloException | SystemException e) { + } + if (Validator.isNull(sportello) || !sportello.checkPassword(password)) { + ServletResponseUtil.write(response, Response.get(Status.WRONG_USER_NAME_OR_PASSWORD)); + } else if (!sportello.isAttivo()) { + ServletResponseUtil.write(response, Response.get(Status.INACTIVE_USER)); + } else { + Map extraData = new HashMap<>(); + extraData.put(Parameters.TOKEN, new AccessToken(sportello).getToken()); + ServletResponseUtil.write(response, Response.get(Status.OK, extraData)); + } + } + } +} diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/CommandNop.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/CommandNop.java index 8535142f..378cf20b 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/CommandNop.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/CommandNop.java @@ -1,18 +1,15 @@ package it.mwg.sicilia.sue.api.v1.command; import it.mwg.sicilia.sue.api.v1.Command; +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 java.io.IOException; - -import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.liferay.portal.kernel.servlet.ServletResponseUtil; -import com.liferay.portal.kernel.util.ContentTypes; -import com.liferay.portal.kernel.util.StringPool; +import com.liferay.portal.kernel.util.Validator; public class CommandNop extends Command { @@ -22,10 +19,15 @@ public class CommandNop extends Command { } @Override - public void run(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - response.setContentType(ContentTypes.APPLICATION_JSON); - response.setCharacterEncoding(StringPool.UTF8); - ServletResponseUtil.write(response, Response.get(Status.OK)); + public void run(HttpServletRequest request, HttpServletResponse response) throws Exception { + + setJson(response); + readParameters(request); + String token = (String) parameters.get(Parameters.TOKEN); + if (Validator.isNull(token)) { + response.sendError(HttpServletResponse.SC_BAD_REQUEST); + } else if (verifyAccessToken(response, token)) { + ServletResponseUtil.write(response, Response.get(Status.OK)); + } } } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloCacheModel.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloCacheModel.java index e8fcf146..f6b7deba 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloCacheModel.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloCacheModel.java @@ -38,7 +38,7 @@ public class SportelloCacheModel implements CacheModel, Externalizable { @Override public String toString() { - StringBundler sb = new StringBundler(23); + StringBundler sb = new StringBundler(35); sb.append("{sportelloId="); sb.append(sportelloId); @@ -46,22 +46,34 @@ public class SportelloCacheModel implements CacheModel, sb.append(groupId); sb.append(", companyId="); sb.append(companyId); - sb.append(", userId="); - sb.append(userId); - sb.append(", userName="); - sb.append(userName); sb.append(", createDate="); sb.append(createDate); + sb.append(", createUserId="); + sb.append(createUserId); + sb.append(", createUserName="); + sb.append(createUserName); sb.append(", modifiedDate="); sb.append(modifiedDate); + sb.append(", modifiedUserId="); + sb.append(modifiedUserId); + sb.append(", modifiedUserName="); + sb.append(modifiedUserName); + sb.append(", userName="); + sb.append(userName); sb.append(", email="); sb.append(email); sb.append(", comuneId="); sb.append(comuneId); - sb.append(", apiKey="); - sb.append(apiKey); sb.append(", attivo="); sb.append(attivo); + sb.append(", password="); + sb.append(password); + sb.append(", passwordModifiedDate="); + sb.append(passwordModifiedDate); + sb.append(", passwordModifiedUserId="); + sb.append(passwordModifiedUserId); + sb.append(", passwordModifiedUserName="); + sb.append(passwordModifiedUserName); sb.append("}"); return sb.toString(); @@ -74,20 +86,21 @@ public class SportelloCacheModel implements CacheModel, sportelloImpl.setSportelloId(sportelloId); sportelloImpl.setGroupId(groupId); sportelloImpl.setCompanyId(companyId); - sportelloImpl.setUserId(userId); - if (userName == null) { - sportelloImpl.setUserName(StringPool.BLANK); + if (createDate == Long.MIN_VALUE) { + sportelloImpl.setCreateDate(null); } else { - sportelloImpl.setUserName(userName); + sportelloImpl.setCreateDate(new Date(createDate)); } - if (createDate == Long.MIN_VALUE) { - sportelloImpl.setCreateDate(null); + sportelloImpl.setCreateUserId(createUserId); + + if (createUserName == null) { + sportelloImpl.setCreateUserName(StringPool.BLANK); } else { - sportelloImpl.setCreateDate(new Date(createDate)); + sportelloImpl.setCreateUserName(createUserName); } if (modifiedDate == Long.MIN_VALUE) { @@ -97,6 +110,22 @@ public class SportelloCacheModel implements CacheModel, sportelloImpl.setModifiedDate(new Date(modifiedDate)); } + sportelloImpl.setModifiedUserId(modifiedUserId); + + if (modifiedUserName == null) { + sportelloImpl.setModifiedUserName(StringPool.BLANK); + } + else { + sportelloImpl.setModifiedUserName(modifiedUserName); + } + + if (userName == null) { + sportelloImpl.setUserName(StringPool.BLANK); + } + else { + sportelloImpl.setUserName(userName); + } + if (email == null) { sportelloImpl.setEmail(StringPool.BLANK); } @@ -105,15 +134,30 @@ public class SportelloCacheModel implements CacheModel, } sportelloImpl.setComuneId(comuneId); + sportelloImpl.setAttivo(attivo); - if (apiKey == null) { - sportelloImpl.setApiKey(StringPool.BLANK); + if (password == null) { + sportelloImpl.setPassword(StringPool.BLANK); } else { - sportelloImpl.setApiKey(apiKey); + sportelloImpl.setPassword(password); } - sportelloImpl.setAttivo(attivo); + if (passwordModifiedDate == Long.MIN_VALUE) { + sportelloImpl.setPasswordModifiedDate(null); + } + else { + sportelloImpl.setPasswordModifiedDate(new Date(passwordModifiedDate)); + } + + sportelloImpl.setPasswordModifiedUserId(passwordModifiedUserId); + + if (passwordModifiedUserName == null) { + sportelloImpl.setPasswordModifiedUserName(StringPool.BLANK); + } + else { + sportelloImpl.setPasswordModifiedUserName(passwordModifiedUserName); + } sportelloImpl.resetOriginalValues(); @@ -125,14 +169,20 @@ public class SportelloCacheModel implements CacheModel, sportelloId = objectInput.readLong(); groupId = objectInput.readLong(); companyId = objectInput.readLong(); - userId = objectInput.readLong(); - userName = objectInput.readUTF(); createDate = objectInput.readLong(); + createUserId = objectInput.readLong(); + createUserName = objectInput.readUTF(); modifiedDate = objectInput.readLong(); + modifiedUserId = objectInput.readLong(); + modifiedUserName = objectInput.readUTF(); + userName = objectInput.readUTF(); email = objectInput.readUTF(); comuneId = objectInput.readLong(); - apiKey = objectInput.readUTF(); attivo = objectInput.readBoolean(); + password = objectInput.readUTF(); + passwordModifiedDate = objectInput.readLong(); + passwordModifiedUserId = objectInput.readLong(); + passwordModifiedUserName = objectInput.readUTF(); } @Override @@ -141,17 +191,32 @@ public class SportelloCacheModel implements CacheModel, objectOutput.writeLong(sportelloId); objectOutput.writeLong(groupId); objectOutput.writeLong(companyId); - objectOutput.writeLong(userId); + objectOutput.writeLong(createDate); + objectOutput.writeLong(createUserId); - if (userName == null) { + if (createUserName == null) { objectOutput.writeUTF(StringPool.BLANK); } else { - objectOutput.writeUTF(userName); + objectOutput.writeUTF(createUserName); } - objectOutput.writeLong(createDate); objectOutput.writeLong(modifiedDate); + objectOutput.writeLong(modifiedUserId); + + if (modifiedUserName == null) { + objectOutput.writeUTF(StringPool.BLANK); + } + else { + objectOutput.writeUTF(modifiedUserName); + } + + if (userName == null) { + objectOutput.writeUTF(StringPool.BLANK); + } + else { + objectOutput.writeUTF(userName); + } if (email == null) { objectOutput.writeUTF(StringPool.BLANK); @@ -161,26 +226,41 @@ public class SportelloCacheModel implements CacheModel, } objectOutput.writeLong(comuneId); + objectOutput.writeBoolean(attivo); - if (apiKey == null) { + if (password == null) { objectOutput.writeUTF(StringPool.BLANK); } else { - objectOutput.writeUTF(apiKey); + objectOutput.writeUTF(password); } - objectOutput.writeBoolean(attivo); + objectOutput.writeLong(passwordModifiedDate); + objectOutput.writeLong(passwordModifiedUserId); + + if (passwordModifiedUserName == null) { + objectOutput.writeUTF(StringPool.BLANK); + } + else { + objectOutput.writeUTF(passwordModifiedUserName); + } } public long sportelloId; public long groupId; public long companyId; - public long userId; - public String userName; public long createDate; + public long createUserId; + public String createUserName; public long modifiedDate; + public long modifiedUserId; + public String modifiedUserName; + public String userName; public String email; public long comuneId; - public String apiKey; public boolean attivo; + public String password; + public long passwordModifiedDate; + public long passwordModifiedUserId; + public String passwordModifiedUserName; } \ No newline at end of file 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 df7f8716..69fc9d1a 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 @@ -14,14 +14,24 @@ package it.mwg.sicilia.sue.model.impl; +import it.mwg.sicilia.sue.api.v1.ApiConstants; +import it.mwg.sicilia.sue.service.ApiSettingLocalServiceUtil; import it.tref.liferay.portos.bo.model.Comune; import it.tref.liferay.portos.bo.model.Provincia; import it.tref.liferay.portos.bo.service.ComuneLocalServiceUtil; import it.tref.liferay.portos.bo.service.ProvinciaLocalServiceUtil; +import java.util.Date; + +import org.apache.commons.codec.digest.DigestUtils; + import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.SystemException; +import com.liferay.portal.kernel.log.Log; +import com.liferay.portal.kernel.log.LogFactoryUtil; +import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.kernel.util.Validator; +import com.liferay.portal.model.User; /** * The extended model implementation for the Sportello service. Represents a row in the @@ -43,9 +53,41 @@ public class SportelloImpl extends SportelloBaseImpl { private Comune comune = null; private Provincia provincia = null; + private static final Log _log = LogFactoryUtil.getLog(SportelloImpl.class); + public SportelloImpl() { } + @Override + public String encryptPassword(String password) { + + String encrypted = StringPool.BLANK; + try { + encrypted = DigestUtils.sha256Hex(getSportelloId() + + ApiSettingLocalServiceUtil.get(getCompanyId(), ApiConstants.API_SECRET) + password); + } catch (SystemException e) { + } + return encrypted; + } + + @Override + public boolean checkPassword(String password) { + + return encryptPassword(password).equals(getPassword()); + } + + @Override + public void setEncryptedPassword(String password, User user) { + + String encrypted = encryptPassword(password); + if (!encrypted.equals(getPassword())) { + setPassword(encrypted); + setPasswordModifiedDate(new Date()); + setPasswordModifiedUserId(user.getUserId()); + setPasswordModifiedUserName(user.getFullName()); + } + }; + @Override public String getCodiceProvincia() throws PortalException, SystemException { diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloModelImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloModelImpl.java index 0d5ba76c..704d901b 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloModelImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/model/impl/SportelloModelImpl.java @@ -69,16 +69,22 @@ public class SportelloModelImpl extends BaseModelImpl { "sportelloId", Types.BIGINT }, { "groupId", Types.BIGINT }, { "companyId", Types.BIGINT }, - { "userId", Types.BIGINT }, - { "userName", Types.VARCHAR }, { "createDate", Types.TIMESTAMP }, + { "createUserId", Types.BIGINT }, + { "createUserName", Types.VARCHAR }, { "modifiedDate", Types.TIMESTAMP }, + { "modifiedUserId", Types.BIGINT }, + { "modifiedUserName", Types.VARCHAR }, + { "userName", Types.VARCHAR }, { "email", Types.VARCHAR }, { "comuneId", Types.BIGINT }, - { "apiKey", Types.VARCHAR }, - { "attivo", Types.BOOLEAN } + { "attivo", Types.BOOLEAN }, + { "password_", Types.VARCHAR }, + { "passwordModifiedDate", Types.TIMESTAMP }, + { "passwordModifiedUserId", Types.BIGINT }, + { "passwordModifiedUserName", Types.VARCHAR } }; - public static final String TABLE_SQL_CREATE = "create table sicilia_sue_Sportello (sportelloId LONG not null primary key,groupId LONG,companyId LONG,userId LONG,userName VARCHAR(240) null,createDate DATE null,modifiedDate DATE null,email VARCHAR(240) null,comuneId LONG,apiKey VARCHAR(240) null,attivo BOOLEAN)"; + public static final String TABLE_SQL_CREATE = "create table sicilia_sue_Sportello (sportelloId LONG not null primary key,groupId LONG,companyId LONG,createDate DATE null,createUserId LONG,createUserName VARCHAR(75) null,modifiedDate DATE null,modifiedUserId LONG,modifiedUserName VARCHAR(75) null,userName VARCHAR(75) null,email VARCHAR(240) null,comuneId LONG,attivo BOOLEAN,password_ VARCHAR(75) null,passwordModifiedDate DATE null,passwordModifiedUserId LONG,passwordModifiedUserName VARCHAR(240) null)"; public static final String TABLE_SQL_DROP = "drop table sicilia_sue_Sportello"; public static final String ORDER_BY_JPQL = " ORDER BY sportello.sportelloId ASC"; public static final String ORDER_BY_SQL = " ORDER BY sicilia_sue_Sportello.sportelloId ASC"; @@ -95,7 +101,8 @@ public class SportelloModelImpl extends BaseModelImpl "value.object.column.bitmask.enabled.it.mwg.sicilia.sue.model.Sportello"), true); public static long COMUNEID_COLUMN_BITMASK = 1L; - public static long SPORTELLOID_COLUMN_BITMASK = 2L; + public static long USERNAME_COLUMN_BITMASK = 2L; + public static long SPORTELLOID_COLUMN_BITMASK = 4L; /** * Converts the soap model instance into a normal model instance. @@ -113,14 +120,20 @@ public class SportelloModelImpl extends BaseModelImpl model.setSportelloId(soapModel.getSportelloId()); model.setGroupId(soapModel.getGroupId()); model.setCompanyId(soapModel.getCompanyId()); - model.setUserId(soapModel.getUserId()); - model.setUserName(soapModel.getUserName()); model.setCreateDate(soapModel.getCreateDate()); + model.setCreateUserId(soapModel.getCreateUserId()); + model.setCreateUserName(soapModel.getCreateUserName()); model.setModifiedDate(soapModel.getModifiedDate()); + model.setModifiedUserId(soapModel.getModifiedUserId()); + model.setModifiedUserName(soapModel.getModifiedUserName()); + model.setUserName(soapModel.getUserName()); model.setEmail(soapModel.getEmail()); model.setComuneId(soapModel.getComuneId()); - model.setApiKey(soapModel.getApiKey()); model.setAttivo(soapModel.getAttivo()); + model.setPassword(soapModel.getPassword()); + model.setPasswordModifiedDate(soapModel.getPasswordModifiedDate()); + model.setPasswordModifiedUserId(soapModel.getPasswordModifiedUserId()); + model.setPasswordModifiedUserName(soapModel.getPasswordModifiedUserName()); return model; } @@ -188,14 +201,20 @@ public class SportelloModelImpl extends BaseModelImpl attributes.put("sportelloId", getSportelloId()); attributes.put("groupId", getGroupId()); attributes.put("companyId", getCompanyId()); - attributes.put("userId", getUserId()); - attributes.put("userName", getUserName()); attributes.put("createDate", getCreateDate()); + attributes.put("createUserId", getCreateUserId()); + attributes.put("createUserName", getCreateUserName()); attributes.put("modifiedDate", getModifiedDate()); + attributes.put("modifiedUserId", getModifiedUserId()); + attributes.put("modifiedUserName", getModifiedUserName()); + attributes.put("userName", getUserName()); attributes.put("email", getEmail()); attributes.put("comuneId", getComuneId()); - attributes.put("apiKey", getApiKey()); attributes.put("attivo", getAttivo()); + attributes.put("password", getPassword()); + attributes.put("passwordModifiedDate", getPasswordModifiedDate()); + attributes.put("passwordModifiedUserId", getPasswordModifiedUserId()); + attributes.put("passwordModifiedUserName", getPasswordModifiedUserName()); return attributes; } @@ -220,22 +239,22 @@ public class SportelloModelImpl extends BaseModelImpl setCompanyId(companyId); } - Long userId = (Long)attributes.get("userId"); + Date createDate = (Date)attributes.get("createDate"); - if (userId != null) { - setUserId(userId); + if (createDate != null) { + setCreateDate(createDate); } - String userName = (String)attributes.get("userName"); + Long createUserId = (Long)attributes.get("createUserId"); - if (userName != null) { - setUserName(userName); + if (createUserId != null) { + setCreateUserId(createUserId); } - Date createDate = (Date)attributes.get("createDate"); + String createUserName = (String)attributes.get("createUserName"); - if (createDate != null) { - setCreateDate(createDate); + if (createUserName != null) { + setCreateUserName(createUserName); } Date modifiedDate = (Date)attributes.get("modifiedDate"); @@ -244,6 +263,24 @@ public class SportelloModelImpl extends BaseModelImpl setModifiedDate(modifiedDate); } + Long modifiedUserId = (Long)attributes.get("modifiedUserId"); + + if (modifiedUserId != null) { + setModifiedUserId(modifiedUserId); + } + + String modifiedUserName = (String)attributes.get("modifiedUserName"); + + if (modifiedUserName != null) { + setModifiedUserName(modifiedUserName); + } + + String userName = (String)attributes.get("userName"); + + if (userName != null) { + setUserName(userName); + } + String email = (String)attributes.get("email"); if (email != null) { @@ -256,17 +293,37 @@ public class SportelloModelImpl extends BaseModelImpl setComuneId(comuneId); } - String apiKey = (String)attributes.get("apiKey"); - - if (apiKey != null) { - setApiKey(apiKey); - } - Boolean attivo = (Boolean)attributes.get("attivo"); if (attivo != null) { setAttivo(attivo); } + + String password = (String)attributes.get("password"); + + if (password != null) { + setPassword(password); + } + + Date passwordModifiedDate = (Date)attributes.get("passwordModifiedDate"); + + if (passwordModifiedDate != null) { + setPasswordModifiedDate(passwordModifiedDate); + } + + Long passwordModifiedUserId = (Long)attributes.get( + "passwordModifiedUserId"); + + if (passwordModifiedUserId != null) { + setPasswordModifiedUserId(passwordModifiedUserId); + } + + String passwordModifiedUserName = (String)attributes.get( + "passwordModifiedUserName"); + + if (passwordModifiedUserName != null) { + setPasswordModifiedUserName(passwordModifiedUserName); + } } @JSON @@ -304,61 +361,126 @@ public class SportelloModelImpl extends BaseModelImpl @JSON @Override - public long getUserId() { - return _userId; + public Date getCreateDate() { + return _createDate; + } + + @Override + public void setCreateDate(Date createDate) { + _createDate = createDate; + } + + @JSON + @Override + public long getCreateUserId() { + return _createUserId; } @Override - public void setUserId(long userId) { - _userId = userId; + public void setCreateUserId(long createUserId) { + _createUserId = createUserId; } @Override - public String getUserUuid() throws SystemException { - return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid); + public String getCreateUserUuid() throws SystemException { + return PortalUtil.getUserValue(getCreateUserId(), "uuid", + _createUserUuid); } @Override - public void setUserUuid(String userUuid) { - _userUuid = userUuid; + public void setCreateUserUuid(String createUserUuid) { + _createUserUuid = createUserUuid; } @JSON @Override - public String getUserName() { - if (_userName == null) { + public String getCreateUserName() { + if (_createUserName == null) { return StringPool.BLANK; } else { - return _userName; + return _createUserName; } } @Override - public void setUserName(String userName) { - _userName = userName; + public void setCreateUserName(String createUserName) { + _createUserName = createUserName; } @JSON @Override - public Date getCreateDate() { - return _createDate; + public Date getModifiedDate() { + return _modifiedDate; } @Override - public void setCreateDate(Date createDate) { - _createDate = createDate; + public void setModifiedDate(Date modifiedDate) { + _modifiedDate = modifiedDate; } @JSON @Override - public Date getModifiedDate() { - return _modifiedDate; + public long getModifiedUserId() { + return _modifiedUserId; } @Override - public void setModifiedDate(Date modifiedDate) { - _modifiedDate = modifiedDate; + public void setModifiedUserId(long modifiedUserId) { + _modifiedUserId = modifiedUserId; + } + + @Override + public String getModifiedUserUuid() throws SystemException { + return PortalUtil.getUserValue(getModifiedUserId(), "uuid", + _modifiedUserUuid); + } + + @Override + public void setModifiedUserUuid(String modifiedUserUuid) { + _modifiedUserUuid = modifiedUserUuid; + } + + @JSON + @Override + public String getModifiedUserName() { + if (_modifiedUserName == null) { + return StringPool.BLANK; + } + else { + return _modifiedUserName; + } + } + + @Override + public void setModifiedUserName(String modifiedUserName) { + _modifiedUserName = modifiedUserName; + } + + @JSON + @Override + public String getUserName() { + if (_userName == null) { + return StringPool.BLANK; + } + else { + return _userName; + } + } + + @Override + public void setUserName(String userName) { + _columnBitmask |= USERNAME_COLUMN_BITMASK; + + if (_originalUserName == null) { + _originalUserName = _userName; + } + + _userName = userName; + } + + public String getOriginalUserName() { + return GetterUtil.getString(_originalUserName); } @JSON @@ -402,34 +524,83 @@ public class SportelloModelImpl extends BaseModelImpl @JSON @Override - public String getApiKey() { - if (_apiKey == null) { + public boolean getAttivo() { + return _attivo; + } + + @Override + public boolean isAttivo() { + return _attivo; + } + + @Override + public void setAttivo(boolean attivo) { + _attivo = attivo; + } + + @JSON + @Override + public String getPassword() { + if (_password == null) { return StringPool.BLANK; } else { - return _apiKey; + return _password; } } @Override - public void setApiKey(String apiKey) { - _apiKey = apiKey; + public void setPassword(String password) { + _password = password; } @JSON @Override - public boolean getAttivo() { - return _attivo; + public Date getPasswordModifiedDate() { + return _passwordModifiedDate; } @Override - public boolean isAttivo() { - return _attivo; + public void setPasswordModifiedDate(Date passwordModifiedDate) { + _passwordModifiedDate = passwordModifiedDate; } + @JSON @Override - public void setAttivo(boolean attivo) { - _attivo = attivo; + public long getPasswordModifiedUserId() { + return _passwordModifiedUserId; + } + + @Override + public void setPasswordModifiedUserId(long passwordModifiedUserId) { + _passwordModifiedUserId = passwordModifiedUserId; + } + + @Override + public String getPasswordModifiedUserUuid() throws SystemException { + return PortalUtil.getUserValue(getPasswordModifiedUserId(), "uuid", + _passwordModifiedUserUuid); + } + + @Override + public void setPasswordModifiedUserUuid(String passwordModifiedUserUuid) { + _passwordModifiedUserUuid = passwordModifiedUserUuid; + } + + @JSON + @Override + public String getPasswordModifiedUserName() { + if (_passwordModifiedUserName == null) { + return StringPool.BLANK; + } + else { + return _passwordModifiedUserName; + } + } + + @Override + public void setPasswordModifiedUserName(String passwordModifiedUserName) { + _passwordModifiedUserName = passwordModifiedUserName; } public long getColumnBitmask() { @@ -466,14 +637,20 @@ public class SportelloModelImpl extends BaseModelImpl sportelloImpl.setSportelloId(getSportelloId()); sportelloImpl.setGroupId(getGroupId()); sportelloImpl.setCompanyId(getCompanyId()); - sportelloImpl.setUserId(getUserId()); - sportelloImpl.setUserName(getUserName()); sportelloImpl.setCreateDate(getCreateDate()); + sportelloImpl.setCreateUserId(getCreateUserId()); + sportelloImpl.setCreateUserName(getCreateUserName()); sportelloImpl.setModifiedDate(getModifiedDate()); + sportelloImpl.setModifiedUserId(getModifiedUserId()); + sportelloImpl.setModifiedUserName(getModifiedUserName()); + sportelloImpl.setUserName(getUserName()); sportelloImpl.setEmail(getEmail()); sportelloImpl.setComuneId(getComuneId()); - sportelloImpl.setApiKey(getApiKey()); sportelloImpl.setAttivo(getAttivo()); + sportelloImpl.setPassword(getPassword()); + sportelloImpl.setPasswordModifiedDate(getPasswordModifiedDate()); + sportelloImpl.setPasswordModifiedUserId(getPasswordModifiedUserId()); + sportelloImpl.setPasswordModifiedUserName(getPasswordModifiedUserName()); sportelloImpl.resetOriginalValues(); @@ -526,6 +703,8 @@ public class SportelloModelImpl extends BaseModelImpl public void resetOriginalValues() { SportelloModelImpl sportelloModelImpl = this; + sportelloModelImpl._originalUserName = sportelloModelImpl._userName; + sportelloModelImpl._originalComuneId = sportelloModelImpl._comuneId; sportelloModelImpl._setOriginalComuneId = false; @@ -543,16 +722,6 @@ public class SportelloModelImpl extends BaseModelImpl sportelloCacheModel.companyId = getCompanyId(); - sportelloCacheModel.userId = getUserId(); - - sportelloCacheModel.userName = getUserName(); - - String userName = sportelloCacheModel.userName; - - if ((userName != null) && (userName.length() == 0)) { - sportelloCacheModel.userName = null; - } - Date createDate = getCreateDate(); if (createDate != null) { @@ -562,6 +731,16 @@ public class SportelloModelImpl extends BaseModelImpl sportelloCacheModel.createDate = Long.MIN_VALUE; } + sportelloCacheModel.createUserId = getCreateUserId(); + + sportelloCacheModel.createUserName = getCreateUserName(); + + String createUserName = sportelloCacheModel.createUserName; + + if ((createUserName != null) && (createUserName.length() == 0)) { + sportelloCacheModel.createUserName = null; + } + Date modifiedDate = getModifiedDate(); if (modifiedDate != null) { @@ -571,6 +750,24 @@ public class SportelloModelImpl extends BaseModelImpl sportelloCacheModel.modifiedDate = Long.MIN_VALUE; } + sportelloCacheModel.modifiedUserId = getModifiedUserId(); + + sportelloCacheModel.modifiedUserName = getModifiedUserName(); + + String modifiedUserName = sportelloCacheModel.modifiedUserName; + + if ((modifiedUserName != null) && (modifiedUserName.length() == 0)) { + sportelloCacheModel.modifiedUserName = null; + } + + sportelloCacheModel.userName = getUserName(); + + String userName = sportelloCacheModel.userName; + + if ((userName != null) && (userName.length() == 0)) { + sportelloCacheModel.userName = null; + } + sportelloCacheModel.email = getEmail(); String email = sportelloCacheModel.email; @@ -581,22 +778,42 @@ public class SportelloModelImpl extends BaseModelImpl sportelloCacheModel.comuneId = getComuneId(); - sportelloCacheModel.apiKey = getApiKey(); + sportelloCacheModel.attivo = getAttivo(); + + sportelloCacheModel.password = getPassword(); - String apiKey = sportelloCacheModel.apiKey; + String password = sportelloCacheModel.password; - if ((apiKey != null) && (apiKey.length() == 0)) { - sportelloCacheModel.apiKey = null; + if ((password != null) && (password.length() == 0)) { + sportelloCacheModel.password = null; } - sportelloCacheModel.attivo = getAttivo(); + Date passwordModifiedDate = getPasswordModifiedDate(); + + if (passwordModifiedDate != null) { + sportelloCacheModel.passwordModifiedDate = passwordModifiedDate.getTime(); + } + else { + sportelloCacheModel.passwordModifiedDate = Long.MIN_VALUE; + } + + sportelloCacheModel.passwordModifiedUserId = getPasswordModifiedUserId(); + + sportelloCacheModel.passwordModifiedUserName = getPasswordModifiedUserName(); + + String passwordModifiedUserName = sportelloCacheModel.passwordModifiedUserName; + + if ((passwordModifiedUserName != null) && + (passwordModifiedUserName.length() == 0)) { + sportelloCacheModel.passwordModifiedUserName = null; + } return sportelloCacheModel; } @Override public String toString() { - StringBundler sb = new StringBundler(23); + StringBundler sb = new StringBundler(35); sb.append("{sportelloId="); sb.append(getSportelloId()); @@ -604,22 +821,34 @@ public class SportelloModelImpl extends BaseModelImpl sb.append(getGroupId()); sb.append(", companyId="); sb.append(getCompanyId()); - sb.append(", userId="); - sb.append(getUserId()); - sb.append(", userName="); - sb.append(getUserName()); sb.append(", createDate="); sb.append(getCreateDate()); + sb.append(", createUserId="); + sb.append(getCreateUserId()); + sb.append(", createUserName="); + sb.append(getCreateUserName()); sb.append(", modifiedDate="); sb.append(getModifiedDate()); + sb.append(", modifiedUserId="); + sb.append(getModifiedUserId()); + sb.append(", modifiedUserName="); + sb.append(getModifiedUserName()); + sb.append(", userName="); + sb.append(getUserName()); sb.append(", email="); sb.append(getEmail()); sb.append(", comuneId="); sb.append(getComuneId()); - sb.append(", apiKey="); - sb.append(getApiKey()); sb.append(", attivo="); sb.append(getAttivo()); + sb.append(", password="); + sb.append(getPassword()); + sb.append(", passwordModifiedDate="); + sb.append(getPasswordModifiedDate()); + sb.append(", passwordModifiedUserId="); + sb.append(getPasswordModifiedUserId()); + sb.append(", passwordModifiedUserName="); + sb.append(getPasswordModifiedUserName()); sb.append("}"); return sb.toString(); @@ -627,7 +856,7 @@ public class SportelloModelImpl extends BaseModelImpl @Override public String toXmlString() { - StringBundler sb = new StringBundler(37); + StringBundler sb = new StringBundler(55); sb.append(""); sb.append("it.mwg.sicilia.sue.model.Sportello"); @@ -646,21 +875,33 @@ public class SportelloModelImpl extends BaseModelImpl sb.append(getCompanyId()); sb.append("]]>"); sb.append( - "userIdcreateDate"); sb.append( - "userNamecreateUserId"); sb.append( - "createDatecreateUserName"); sb.append( "modifiedDate"); + sb.append( + "modifiedUserId"); + sb.append( + "modifiedUserName"); + sb.append( + "userName"); sb.append( "email "comuneId"); - sb.append( - "apiKey"); sb.append( "attivo"); + sb.append( + "password"); + sb.append( + "passwordModifiedDate"); + sb.append( + "passwordModifiedUserId"); + sb.append( + "passwordModifiedUserName"); sb.append(""); @@ -690,17 +943,26 @@ public class SportelloModelImpl extends BaseModelImpl private long _sportelloId; private long _groupId; private long _companyId; - private long _userId; - private String _userUuid; - private String _userName; private Date _createDate; + private long _createUserId; + private String _createUserUuid; + private String _createUserName; private Date _modifiedDate; + private long _modifiedUserId; + private String _modifiedUserUuid; + private String _modifiedUserName; + private String _userName; + private String _originalUserName; private String _email; private long _comuneId; private long _originalComuneId; private boolean _setOriginalComuneId; - private String _apiKey; private boolean _attivo; + private String _password; + private Date _passwordModifiedDate; + private long _passwordModifiedUserId; + private String _passwordModifiedUserUuid; + private String _passwordModifiedUserName; private long _columnBitmask; private Sportello _escapedModel; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/portlet/SueAdministrationPortlet.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/portlet/SueAdministrationPortlet.java index ed19e566..eaa2f12d 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/portlet/SueAdministrationPortlet.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/portlet/SueAdministrationPortlet.java @@ -53,9 +53,10 @@ public class SueAdministrationPortlet extends MVCPortlet { long sportelloId = ParamUtil.getLong(actionRequest, "sportelloId", 0); long comuneId = ParamUtil.getLong(actionRequest, "comune", 0); Territorio territorio = TerritorioLocalServiceUtil.findByComuneId(comuneId, 0, 1).get(0); + String userName = ParamUtil.getString(actionRequest, "userName"); String email = ParamUtil.getString(actionRequest, "email"); - String apiKey = ParamUtil.getString(actionRequest, "apiKey"); - _log.info("apiKey = " + apiKey); + String password = ParamUtil.getString(actionRequest, "password"); + boolean attivo = ParamUtil.getBoolean(actionRequest, "attivo", false); Sportello sportello = null; if (sportelloId != 0) { try { @@ -70,13 +71,29 @@ public class SueAdministrationPortlet extends MVCPortlet { sportello.setGroupId(territorio.getGroupId()); sportello.setCompanyId(territorio.getCompanyId()); sportello.setCreateDate(data); + sportello.setCreateUserId(user.getUserId()); + sportello.setCreateUserName(user.getFullName()); } - sportello.setUserId(user.getUserId()); - sportello.setUserName(user.getFullName()); + sportello.setUserName(userName); sportello.setModifiedDate(data); + sportello.setModifiedUserId(user.getUserId()); + sportello.setModifiedUserName(user.getFullName()); sportello.setComuneId(comuneId); sportello.setEmail(email); - sportello.setApiKey(apiKey); + sportello.setAttivo(attivo); + if (Validator.isNotNull(password)) { + sportello.setEncryptedPassword(password, user); + } + SportelloLocalServiceUtil.updateSportello(sportello); + } + + public void attivaSportello(ActionRequest actionRequest, ActionResponse actionResponse) throws PortalException, + SystemException { + + long sportelloId = ParamUtil.get(actionRequest, "sportelloId", 0L); + boolean attivo = ParamUtil.get(actionRequest, "attivo", false); + Sportello sportello = SportelloLocalServiceUtil.getSportello(sportelloId); + sportello.setAttivo(attivo); SportelloLocalServiceUtil.updateSportello(sportello); } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloLocalServiceClpInvoker.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloLocalServiceClpInvoker.java index 250f23c4..60188a09 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloLocalServiceClpInvoker.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloLocalServiceClpInvoker.java @@ -113,6 +113,10 @@ public class SportelloLocalServiceClpInvoker { _methodName41 = "setBeanIdentifier"; _methodParameterTypes41 = new String[] { "java.lang.String" }; + + _methodName46 = "findByUserName"; + + _methodParameterTypes46 = new String[] { "java.lang.String" }; } public Object invokeMethod(String name, String[] parameterTypes, @@ -216,6 +220,11 @@ public class SportelloLocalServiceClpInvoker { return null; } + if (_methodName46.equals(name) && + Arrays.deepEquals(_methodParameterTypes46, parameterTypes)) { + return SportelloLocalServiceUtil.findByUserName((java.lang.String)arguments[0]); + } + throw new UnsupportedOperationException(); } @@ -255,4 +264,6 @@ public class SportelloLocalServiceClpInvoker { private String[] _methodParameterTypes40; private String _methodName41; private String[] _methodParameterTypes41; + private String _methodName46; + private String[] _methodParameterTypes46; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloServiceClpInvoker.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloServiceClpInvoker.java index 4b49ae20..178a4ae3 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloServiceClpInvoker.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/base/SportelloServiceClpInvoker.java @@ -31,6 +31,10 @@ public class SportelloServiceClpInvoker { _methodName25 = "setBeanIdentifier"; _methodParameterTypes25 = new String[] { "java.lang.String" }; + + _methodName30 = "generaPassword"; + + _methodParameterTypes30 = new String[] { "int" }; } public Object invokeMethod(String name, String[] parameterTypes, @@ -47,6 +51,11 @@ public class SportelloServiceClpInvoker { return null; } + if (_methodName30.equals(name) && + Arrays.deepEquals(_methodParameterTypes30, parameterTypes)) { + return SportelloServiceUtil.generaPassword(((Integer)arguments[0]).intValue()); + } + throw new UnsupportedOperationException(); } @@ -54,4 +63,6 @@ public class SportelloServiceClpInvoker { private String[] _methodParameterTypes24; private String _methodName25; private String[] _methodParameterTypes25; + private String _methodName30; + private String[] _methodParameterTypes30; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/http/SportelloServiceSoap.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/http/SportelloServiceSoap.java index adc3fec7..fcd7a131 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/http/SportelloServiceSoap.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/http/SportelloServiceSoap.java @@ -14,6 +14,13 @@ package it.mwg.sicilia.sue.service.http; +import com.liferay.portal.kernel.log.Log; +import com.liferay.portal.kernel.log.LogFactoryUtil; + +import it.mwg.sicilia.sue.service.SportelloServiceUtil; + +import java.rmi.RemoteException; + /** * Provides the SOAP utility for the * {@link it.mwg.sicilia.sue.service.SportelloServiceUtil} service utility. The @@ -55,4 +62,19 @@ package it.mwg.sicilia.sue.service.http; * @generated */ public class SportelloServiceSoap { + public static java.lang.String generaPassword(int lunghezza) + throws RemoteException { + try { + java.lang.String returnValue = SportelloServiceUtil.generaPassword(lunghezza); + + return returnValue; + } + catch (Exception e) { + _log.error(e, e); + + throw new RemoteException(e.getMessage()); + } + } + + private static Log _log = LogFactoryUtil.getLog(SportelloServiceSoap.class); } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/ApiSettingLocalServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/ApiSettingLocalServiceImpl.java index 44a98b5a..74f41c1a 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/ApiSettingLocalServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/ApiSettingLocalServiceImpl.java @@ -19,6 +19,8 @@ import it.mwg.sicilia.sue.service.base.ApiSettingLocalServiceBaseImpl; import com.liferay.counter.service.CounterLocalServiceUtil; import com.liferay.portal.kernel.exception.SystemException; +import com.liferay.portal.kernel.log.Log; +import com.liferay.portal.kernel.log.LogFactoryUtil; import com.liferay.portal.kernel.util.Validator; /** @@ -42,6 +44,7 @@ public class ApiSettingLocalServiceImpl extends ApiSettingLocalServiceBaseImpl { * NOTE FOR DEVELOPERS: Never reference this interface directly. Always use {@link * it.mwg.sicilia.sue.service.ApiSettingLocalServiceUtil} to access the api setting local service. */ + private static final Log _log = LogFactoryUtil.getLog(ApiSettingLocalServiceImpl.class); @Override public String get(long companyId, long key) throws SystemException { diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/SportelloLocalServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/SportelloLocalServiceImpl.java index 995af4d1..ccb02f69 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/SportelloLocalServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/SportelloLocalServiceImpl.java @@ -14,16 +14,22 @@ package it.mwg.sicilia.sue.service.impl; +import it.mwg.sicilia.sue.NoSuchSportelloException; +import it.mwg.sicilia.sue.model.Sportello; import it.mwg.sicilia.sue.service.base.SportelloLocalServiceBaseImpl; +import com.liferay.portal.kernel.exception.SystemException; + /** * The implementation of the sportello local service. * *

    - * All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link it.mwg.sicilia.sue.service.SportelloLocalService} interface. + * All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy + * their definitions into the {@link it.mwg.sicilia.sue.service.SportelloLocalService} interface. * *

    - * This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM. + * This is a local service. Methods of this service will not have security checks based on the propagated JAAS + * credentials because this service can only be accessed from within the same VM. *

    * * @author Manifattura Web Group Srl @@ -32,8 +38,13 @@ import it.mwg.sicilia.sue.service.base.SportelloLocalServiceBaseImpl; */ public class SportelloLocalServiceImpl extends SportelloLocalServiceBaseImpl { /* - * NOTE FOR DEVELOPERS: - * - * Never reference this interface directly. Always use {@link it.mwg.sicilia.sue.service.SportelloLocalServiceUtil} to access the sportello local service. + * NOTE FOR DEVELOPERS: Never reference this interface directly. Always use {@link + * it.mwg.sicilia.sue.service.SportelloLocalServiceUtil} to access the sportello local service. */ + + @Override + public Sportello findByUserName(String userName) throws NoSuchSportelloException, SystemException { + + return sportelloPersistence.findByUserName(userName); + } } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/SportelloServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/SportelloServiceImpl.java index 7fa2d07a..5bb51a9d 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/SportelloServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/impl/SportelloServiceImpl.java @@ -16,14 +16,18 @@ package it.mwg.sicilia.sue.service.impl; import it.mwg.sicilia.sue.service.base.SportelloServiceBaseImpl; +import java.security.SecureRandom; + /** * The implementation of the sportello remote service. * *

    - * All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy their definitions into the {@link it.mwg.sicilia.sue.service.SportelloService} interface. + * All custom service methods should be put in this class. Whenever methods are added, rerun ServiceBuilder to copy + * their definitions into the {@link it.mwg.sicilia.sue.service.SportelloService} interface. * *

    - * This is a remote service. Methods of this service are expected to have security checks based on the propagated JAAS credentials because this service can be accessed remotely. + * This is a remote service. Methods of this service are expected to have security checks based on the propagated JAAS + * credentials because this service can be accessed remotely. *

    * * @author Manifattura Web Group Srl @@ -32,8 +36,37 @@ import it.mwg.sicilia.sue.service.base.SportelloServiceBaseImpl; */ public class SportelloServiceImpl extends SportelloServiceBaseImpl { /* - * NOTE FOR DEVELOPERS: - * - * Never reference this interface directly. Always use {@link it.mwg.sicilia.sue.service.SportelloServiceUtil} to access the sportello remote service. + * NOTE FOR DEVELOPERS: Never reference this interface directly. Always use {@link + * it.mwg.sicilia.sue.service.SportelloServiceUtil} to access the sportello remote service. */ + + private static final char[] consonanti = { 'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'r', 's', + 't', 'v', 'w', 'x', 'y', 'z' }; + private static final char[] vocali = { 'a', 'e', 'i', 'o', 'u' }; + private static final char[] speciali = { '!', '@', '#', '$', '%', '^', '*', '&', '*', '-', '+', '?' }; + + @Override + public String generaPassword(int lunghezza) { + + if (lunghezza < 8) { + lunghezza = 8; + } else if (1 == lunghezza % 2) { + lunghezza++; + } + int max = (lunghezza - 4) / 2; + StringBuilder password = new StringBuilder(); + SecureRandom rnd = new SecureRandom(); + if (rnd.nextInt(2) == 1) { + password.append(consonanti[rnd.nextInt(consonanti.length)]); + } else { + password.append(Character.toUpperCase(consonanti[rnd.nextInt(consonanti.length)])); + } + for (int i = 0; i < max; i++) { + password.append(vocali[rnd.nextInt(vocali.length)]); + password.append(consonanti[rnd.nextInt(consonanti.length)]); + } + password.append(speciali[rnd.nextInt(speciali.length)]); + password.append(rnd.nextInt(90) + 10); + return password.toString(); + } } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/persistence/SportelloPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/persistence/SportelloPersistenceImpl.java index bf65e96e..5d8bbd46 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/persistence/SportelloPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/service/persistence/SportelloPersistenceImpl.java @@ -30,10 +30,12 @@ import com.liferay.portal.kernel.util.InstanceFactory; import com.liferay.portal.kernel.util.OrderByComparator; import com.liferay.portal.kernel.util.PropsKeys; import com.liferay.portal.kernel.util.PropsUtil; +import com.liferay.portal.kernel.util.SetUtil; import com.liferay.portal.kernel.util.StringBundler; import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.kernel.util.StringUtil; import com.liferay.portal.kernel.util.UnmodifiableList; +import com.liferay.portal.kernel.util.Validator; import com.liferay.portal.model.CacheModel; import com.liferay.portal.model.ModelListener; import com.liferay.portal.service.persistence.impl.BasePersistenceImpl; @@ -49,6 +51,7 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Set; /** * The persistence implementation for the sportello service. @@ -293,6 +296,247 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl } private static final String _FINDER_COLUMN_COMUNEID_COMUNEID_2 = "sportello.comuneId = ?"; + public static final FinderPath FINDER_PATH_FETCH_BY_USERNAME = new FinderPath(SportelloModelImpl.ENTITY_CACHE_ENABLED, + SportelloModelImpl.FINDER_CACHE_ENABLED, SportelloImpl.class, + FINDER_CLASS_NAME_ENTITY, "fetchByUserName", + new String[] { String.class.getName() }, + SportelloModelImpl.USERNAME_COLUMN_BITMASK); + public static final FinderPath FINDER_PATH_COUNT_BY_USERNAME = new FinderPath(SportelloModelImpl.ENTITY_CACHE_ENABLED, + SportelloModelImpl.FINDER_CACHE_ENABLED, Long.class, + FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByUserName", + new String[] { String.class.getName() }); + + /** + * Returns the sportello where userName = ? or throws a {@link it.mwg.sicilia.sue.NoSuchSportelloException} if it could not be found. + * + * @param userName the user name + * @return the matching sportello + * @throws it.mwg.sicilia.sue.NoSuchSportelloException if a matching sportello could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public Sportello findByUserName(String userName) + throws NoSuchSportelloException, SystemException { + Sportello sportello = fetchByUserName(userName); + + if (sportello == null) { + StringBundler msg = new StringBundler(4); + + msg.append(_NO_SUCH_ENTITY_WITH_KEY); + + msg.append("userName="); + msg.append(userName); + + msg.append(StringPool.CLOSE_CURLY_BRACE); + + if (_log.isWarnEnabled()) { + _log.warn(msg.toString()); + } + + throw new NoSuchSportelloException(msg.toString()); + } + + return sportello; + } + + /** + * Returns the sportello where userName = ? or returns null if it could not be found. Uses the finder cache. + * + * @param userName the user name + * @return the matching sportello, or null if a matching sportello could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public Sportello fetchByUserName(String userName) throws SystemException { + return fetchByUserName(userName, true); + } + + /** + * Returns the sportello where userName = ? or returns null if it could not be found, optionally using the finder cache. + * + * @param userName the user name + * @param retrieveFromCache whether to use the finder cache + * @return the matching sportello, or null if a matching sportello could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public Sportello fetchByUserName(String userName, boolean retrieveFromCache) + throws SystemException { + Object[] finderArgs = new Object[] { userName }; + + Object result = null; + + if (retrieveFromCache) { + result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_USERNAME, + finderArgs, this); + } + + if (result instanceof Sportello) { + Sportello sportello = (Sportello)result; + + if (!Validator.equals(userName, sportello.getUserName())) { + result = null; + } + } + + if (result == null) { + StringBundler query = new StringBundler(3); + + query.append(_SQL_SELECT_SPORTELLO_WHERE); + + boolean bindUserName = false; + + if (userName == null) { + query.append(_FINDER_COLUMN_USERNAME_USERNAME_1); + } + else if (userName.equals(StringPool.BLANK)) { + query.append(_FINDER_COLUMN_USERNAME_USERNAME_3); + } + else { + bindUserName = true; + + query.append(_FINDER_COLUMN_USERNAME_USERNAME_2); + } + + String sql = query.toString(); + + Session session = null; + + try { + session = openSession(); + + Query q = session.createQuery(sql); + + QueryPos qPos = QueryPos.getInstance(q); + + if (bindUserName) { + qPos.add(userName); + } + + List list = q.list(); + + if (list.isEmpty()) { + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_USERNAME, + finderArgs, list); + } + else { + Sportello sportello = list.get(0); + + result = sportello; + + cacheResult(sportello); + + if ((sportello.getUserName() == null) || + !sportello.getUserName().equals(userName)) { + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_USERNAME, + finderArgs, sportello); + } + } + } + catch (Exception e) { + FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_USERNAME, + finderArgs); + + throw processException(e); + } + finally { + closeSession(session); + } + } + + if (result instanceof List) { + return null; + } + else { + return (Sportello)result; + } + } + + /** + * Removes the sportello where userName = ? from the database. + * + * @param userName the user name + * @return the sportello that was removed + * @throws SystemException if a system exception occurred + */ + @Override + public Sportello removeByUserName(String userName) + throws NoSuchSportelloException, SystemException { + Sportello sportello = findByUserName(userName); + + return remove(sportello); + } + + /** + * Returns the number of sportellos where userName = ?. + * + * @param userName the user name + * @return the number of matching sportellos + * @throws SystemException if a system exception occurred + */ + @Override + public int countByUserName(String userName) throws SystemException { + FinderPath finderPath = FINDER_PATH_COUNT_BY_USERNAME; + + Object[] finderArgs = new Object[] { userName }; + + Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs, + this); + + if (count == null) { + StringBundler query = new StringBundler(2); + + query.append(_SQL_COUNT_SPORTELLO_WHERE); + + boolean bindUserName = false; + + if (userName == null) { + query.append(_FINDER_COLUMN_USERNAME_USERNAME_1); + } + else if (userName.equals(StringPool.BLANK)) { + query.append(_FINDER_COLUMN_USERNAME_USERNAME_3); + } + else { + bindUserName = true; + + query.append(_FINDER_COLUMN_USERNAME_USERNAME_2); + } + + String sql = query.toString(); + + Session session = null; + + try { + session = openSession(); + + Query q = session.createQuery(sql); + + QueryPos qPos = QueryPos.getInstance(q); + + if (bindUserName) { + qPos.add(userName); + } + + count = (Long)q.uniqueResult(); + + FinderCacheUtil.putResult(finderPath, finderArgs, count); + } + catch (Exception e) { + FinderCacheUtil.removeResult(finderPath, finderArgs); + + throw processException(e); + } + finally { + closeSession(session); + } + } + + return count.intValue(); + } + + private static final String _FINDER_COLUMN_USERNAME_USERNAME_1 = "sportello.userName IS NULL"; + private static final String _FINDER_COLUMN_USERNAME_USERNAME_2 = "sportello.userName = ?"; + private static final String _FINDER_COLUMN_USERNAME_USERNAME_3 = "(sportello.userName IS NULL OR sportello.userName = '')"; public SportelloPersistenceImpl() { setModelClass(Sportello.class); @@ -311,6 +555,9 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_COMUNEID, new Object[] { sportello.getComuneId() }, sportello); + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_USERNAME, + new Object[] { sportello.getUserName() }, sportello); + sportello.resetOriginalValues(); } @@ -392,6 +639,13 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl Long.valueOf(1)); FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_COMUNEID, args, sportello); + + args = new Object[] { sportello.getUserName() }; + + FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_USERNAME, args, + Long.valueOf(1)); + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_USERNAME, args, + sportello); } else { SportelloModelImpl sportelloModelImpl = (SportelloModelImpl)sportello; @@ -405,6 +659,16 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_COMUNEID, args, sportello); } + + if ((sportelloModelImpl.getColumnBitmask() & + FINDER_PATH_FETCH_BY_USERNAME.getColumnBitmask()) != 0) { + Object[] args = new Object[] { sportello.getUserName() }; + + FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_USERNAME, args, + Long.valueOf(1)); + FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_USERNAME, args, + sportello); + } } } @@ -423,6 +687,19 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_COMUNEID, args); FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_COMUNEID, args); } + + args = new Object[] { sportello.getUserName() }; + + FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_USERNAME, args); + FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_USERNAME, args); + + if ((sportelloModelImpl.getColumnBitmask() & + FINDER_PATH_FETCH_BY_USERNAME.getColumnBitmask()) != 0) { + args = new Object[] { sportelloModelImpl.getOriginalUserName() }; + + FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_USERNAME, args); + FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_USERNAME, args); + } } /** @@ -585,14 +862,20 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl sportelloImpl.setSportelloId(sportello.getSportelloId()); sportelloImpl.setGroupId(sportello.getGroupId()); sportelloImpl.setCompanyId(sportello.getCompanyId()); - sportelloImpl.setUserId(sportello.getUserId()); - sportelloImpl.setUserName(sportello.getUserName()); sportelloImpl.setCreateDate(sportello.getCreateDate()); + sportelloImpl.setCreateUserId(sportello.getCreateUserId()); + sportelloImpl.setCreateUserName(sportello.getCreateUserName()); sportelloImpl.setModifiedDate(sportello.getModifiedDate()); + sportelloImpl.setModifiedUserId(sportello.getModifiedUserId()); + sportelloImpl.setModifiedUserName(sportello.getModifiedUserName()); + sportelloImpl.setUserName(sportello.getUserName()); sportelloImpl.setEmail(sportello.getEmail()); sportelloImpl.setComuneId(sportello.getComuneId()); - sportelloImpl.setApiKey(sportello.getApiKey()); sportelloImpl.setAttivo(sportello.isAttivo()); + sportelloImpl.setPassword(sportello.getPassword()); + sportelloImpl.setPasswordModifiedDate(sportello.getPasswordModifiedDate()); + sportelloImpl.setPasswordModifiedUserId(sportello.getPasswordModifiedUserId()); + sportelloImpl.setPasswordModifiedUserName(sportello.getPasswordModifiedUserName()); return sportelloImpl; } @@ -870,6 +1153,11 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl return count.intValue(); } + @Override + protected Set getBadColumnNames() { + return _badColumnNames; + } + /** * Initializes the sportello persistence. */ @@ -912,6 +1200,9 @@ public class SportelloPersistenceImpl extends BasePersistenceImpl private static final boolean _HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE = GetterUtil.getBoolean(PropsUtil.get( PropsKeys.HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE)); private static Log _log = LogFactoryUtil.getLog(SportelloPersistenceImpl.class); + private static Set _badColumnNames = SetUtil.fromArray(new String[] { + "password" + }); private static Sportello _nullSportello = new SportelloImpl() { @Override public Object clone() { diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/startup/Startup.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/startup/Startup.java index ffbb0da3..cae82332 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/startup/Startup.java +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/startup/Startup.java @@ -59,7 +59,7 @@ public class Startup extends SimpleAction { } catch (NoSuchAlgorithmException e) { } if (Validator.isNotNull(generator)) { - generator.initialize(1024); + generator.initialize(4096); KeyPair pair = generator.generateKeyPair(); try { ApiSettingLocalServiceUtil.set(companyId, ApiConstants.API_PRIVATE_KEY, 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 a9d58c54..c22d2279 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=41 - build.date=1623664988040 + build.number=61 + build.date=1623771128700 build.auto.upgrade=true ## diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/edit_sportello.jsp b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/edit_sportello.jsp index bdc5727b..49d0d3b9 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/edit_sportello.jsp +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/edit_sportello.jsp @@ -1,8 +1,8 @@ +<%@page import="it.mwg.sicilia.sue.service.SportelloServiceUtil"%> <%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@page import="com.liferay.portal.kernel.util.ParamUtil"%> <%@page import="com.liferay.portal.kernel.util.StringPool"%> <%@page import="com.liferay.portal.kernel.util.Validator"%> -<%@page import="it.mwg.sicilia.sue.api.v1.ApiUtil"%> <%@page import="it.mwg.sicilia.sue.model.Sportello"%> <%@page import="it.mwg.sicilia.sue.portlet.SueAdministrationPortlet"%> <%@page import="it.mwg.sicilia.sue.service.SportelloLocalServiceUtil"%> @@ -15,26 +15,43 @@ Sportello sportello = sportelloId == 0 ? null : SportelloLocalServiceUtil.getSpo - - - + + + + - - + + + + - + + - + +A.one('#generate').on('click', function(event) { + Liferay.Service( + '/sicilia-sue-connector-portlet.sportello/genera-password', + { + lunghezza: 12, + }, + function(obj) { + A.one('#password').set('value', obj); + } + ); +}); A.mix( A.config.FormValidator.RULES, { requiredSelect: function(value, fieldNode, ruleValue) { diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/view.jsp b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/view.jsp index 66a03fb0..f66b0005 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/view.jsp +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/view.jsp @@ -1,8 +1,9 @@ -<%@page import="java.text.NumberFormat"%> +<%@page import="com.liferay.portal.kernel.util.Constants"%> <%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@page import="com.liferay.portal.kernel.language.LanguageUtil"%> +<%@page import="java.text.NumberFormat"%> <%@page import="it.mwg.sicilia.sue.model.Sportello"%> <%@page import="it.mwg.sicilia.sue.service.SportelloLocalServiceUtil"%> -<%@page import="java.util.List"%> <%@include file="/html/init.jsp"%> @@ -19,12 +20,15 @@ searchContainer.getEnd()) %>" /> <% NumberFormat format = NumberFormat.getInstance(); + String redirect = searchContainer.getIteratorURL().toString(); %> + - + @@ -33,7 +37,20 @@ - + + + + + + + + + + + + + + From 022d60c3a751f9b96c1e5fe6876fd3a8a3b35f8c Mon Sep 17 00:00:00 2001 From: Salvatore La Manna Date: Thu, 17 Jun 2021 16:34:00 +0200 Subject: [PATCH 05/11] Premerge --- .../bo/service/IntPraticaLocalService.java | 3 + .../bo/service/IntPraticaLocalServiceClp.java | 413 +++++++++-------- .../service/IntPraticaLocalServiceUtil.java | 4 + .../IntPraticaLocalServiceWrapper.java | 5 + .../IntPraticaLocalServiceClpInvoker.java | 427 +++++++++--------- .../impl/IntPraticaLocalServiceImpl.java | 27 ++ .../docroot/WEB-INF/src/service.properties | 4 +- .../html/fascicolofe/edit_modal_fascicolo.jsp | 26 +- .../docroot/WEB-INF/.gitignore | 1 + 9 files changed, 496 insertions(+), 414 deletions(-) create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/.gitignore diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalService.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalService.java index a239c284..84859b70 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalService.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalService.java @@ -317,6 +317,9 @@ public interface IntPraticaLocalService extends BaseLocalService, java.lang.String[] parameterTypes, java.lang.Object[] arguments) throws java.lang.Throwable; + @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) + public java.util.Map getTipiProcedure(); + @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX) public it.tref.liferay.portos.bo.model.IntPratica addIntPratica( long territorioId, java.lang.String tipoProcedura, diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceClp.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceClp.java index e09ae821..4555d530 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceClp.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceClp.java @@ -131,254 +131,258 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { _methodParameterTypes21 = new String[] { "java.lang.String" }; - _methodName23 = "addIntPratica"; + _methodName23 = "getTipiProcedure"; - _methodParameterTypes23 = new String[] { + _methodParameterTypes23 = new String[] { }; + + _methodName24 = "addIntPratica"; + + _methodParameterTypes24 = new String[] { "long", "java.lang.String", "com.liferay.portal.service.ServiceContext" }; - _methodName24 = "addIntPratica"; + _methodName25 = "addIntPratica"; - _methodParameterTypes24 = new String[] { + _methodParameterTypes25 = new String[] { "long", "java.lang.String", "java.lang.String", "long", "java.lang.String", "java.lang.String", "java.lang.String", "boolean", "int", "java.util.Date", "com.liferay.portal.service.ServiceContext" }; - _methodName25 = "deleteIntPratica"; + _methodName26 = "deleteIntPratica"; - _methodParameterTypes25 = new String[] { + _methodParameterTypes26 = new String[] { "it.tref.liferay.portos.bo.model.IntPratica", "boolean" }; - _methodName26 = "cloneIntPratica"; + _methodName27 = "cloneIntPratica"; - _methodParameterTypes26 = new String[] { + _methodParameterTypes27 = new String[] { "long", "com.liferay.portal.service.ServiceContext" }; - _methodName27 = "updateDelegati"; + _methodName28 = "updateDelegati"; - _methodParameterTypes27 = new String[] { + _methodParameterTypes28 = new String[] { "long", "java.lang.String", "java.lang.String", "boolean" }; - _methodName28 = "findFascicoliNotProgetto"; + _methodName29 = "findFascicoliNotProgetto"; - _methodParameterTypes28 = new String[] { "int", "int" }; + _methodParameterTypes29 = new String[] { "int", "int" }; - _methodName29 = "countFascicoliNotProgetto"; + _methodName30 = "countFascicoliNotProgetto"; - _methodParameterTypes29 = new String[] { }; + _methodParameterTypes30 = new String[] { }; - _methodName30 = "addNumeroProgetto"; + _methodName31 = "addNumeroProgetto"; - _methodParameterTypes30 = new String[] { "long" }; + _methodParameterTypes31 = new String[] { "long" }; - _methodName31 = "sospendiPratica"; + _methodName32 = "sospendiPratica"; - _methodParameterTypes31 = new String[] { "long", "boolean" }; + _methodParameterTypes32 = new String[] { "long", "boolean" }; - _methodName32 = "cambiaTitolare"; + _methodName33 = "cambiaTitolare"; - _methodParameterTypes32 = new String[] { + _methodParameterTypes33 = new String[] { "long", "long", "com.liferay.portal.service.ServiceContext" }; - _methodName33 = "updateStatoPratica"; + _methodName34 = "updateStatoPratica"; - _methodParameterTypes33 = new String[] { "long", "java.lang.String" }; + _methodParameterTypes34 = new String[] { "long", "java.lang.String" }; - _methodName34 = "findByC_UserId"; + _methodName35 = "findByC_UserId"; - _methodParameterTypes34 = new String[] { "long", "long", "int", "int" }; + _methodParameterTypes35 = new String[] { "long", "long", "int", "int" }; - _methodName35 = "countByC_UserId"; + _methodName36 = "countByC_UserId"; - _methodParameterTypes35 = new String[] { "long", "long" }; + _methodParameterTypes36 = new String[] { "long", "long" }; - _methodName36 = "updateStatus"; + _methodName37 = "updateStatus"; - _methodParameterTypes36 = new String[] { "long", "int" }; + _methodParameterTypes37 = new String[] { "long", "int" }; - _methodName37 = "findByCanAddFineLavori"; + _methodName38 = "findByCanAddFineLavori"; - _methodParameterTypes37 = new String[] { + _methodParameterTypes38 = new String[] { "long", "java.lang.String", "int", "int" }; - _methodName38 = "countByCanAddFineLavori"; + _methodName39 = "countByCanAddFineLavori"; - _methodParameterTypes38 = new String[] { "long", "java.lang.String" }; + _methodParameterTypes39 = new String[] { "long", "java.lang.String" }; - _methodName39 = "findByCanAddCollaudo"; + _methodName40 = "findByCanAddCollaudo"; - _methodParameterTypes39 = new String[] { + _methodParameterTypes40 = new String[] { "long", "java.lang.String", "int", "int" }; - _methodName40 = "countByCanAddCollaudo"; + _methodName41 = "countByCanAddCollaudo"; - _methodParameterTypes40 = new String[] { "long", "java.lang.String" }; + _methodParameterTypes41 = new String[] { "long", "java.lang.String" }; - _methodName41 = "search"; + _methodName42 = "search"; - _methodParameterTypes41 = new String[] { "java.util.List", "int", "int" }; + _methodParameterTypes42 = new String[] { "java.util.List", "int", "int" }; - _methodName42 = "countSearch"; + _methodName43 = "countSearch"; - _methodParameterTypes42 = new String[] { "java.util.List" }; + _methodParameterTypes43 = new String[] { "java.util.List" }; - _methodName43 = "searchWithIntPraticaId"; + _methodName44 = "searchWithIntPraticaId"; - _methodParameterTypes43 = new String[] { + _methodParameterTypes44 = new String[] { "java.util.List", "long", "int", "int" }; - _methodName44 = "allegaFileAnnullamento"; + _methodName45 = "allegaFileAnnullamento"; - _methodParameterTypes44 = new String[] { + _methodParameterTypes45 = new String[] { "long", "byte[][]", "java.lang.String", "java.lang.String", "com.liferay.portal.service.ServiceContext" }; - _methodName45 = "generateFileAnnullamento"; + _methodName46 = "generateFileAnnullamento"; - _methodParameterTypes45 = new String[] { + _methodParameterTypes46 = new String[] { "long", "com.liferay.portal.service.ServiceContext" }; - _methodName46 = "deleteFileAnnullamento"; + _methodName47 = "deleteFileAnnullamento"; - _methodParameterTypes46 = new String[] { "long" }; + _methodParameterTypes47 = new String[] { "long" }; - _methodName47 = "completeAnnullamento"; + _methodName48 = "completeAnnullamento"; - _methodParameterTypes47 = new String[] { "long" }; + _methodParameterTypes48 = new String[] { "long" }; - _methodName48 = "cambiaIstruttore"; + _methodName49 = "cambiaIstruttore"; - _methodParameterTypes48 = new String[] { "long", "long", "long" }; + _methodParameterTypes49 = new String[] { "long", "long", "long" }; - _methodName49 = "countCaricoLavoroCF"; + _methodName50 = "countCaricoLavoroCF"; - _methodParameterTypes49 = new String[] { + _methodParameterTypes50 = new String[] { "long", "java.lang.String", "java.lang.Long[][]" }; - _methodName50 = "countCaricoLavoroIstruttore"; + _methodName51 = "countCaricoLavoroIstruttore"; - _methodParameterTypes50 = new String[] { "long", "java.lang.String" }; + _methodParameterTypes51 = new String[] { "long", "java.lang.String" }; - _methodName51 = "generateReportPratica"; + _methodName52 = "generateReportPratica"; - _methodParameterTypes51 = new String[] { + _methodParameterTypes52 = new String[] { "it.tref.liferay.portos.bo.model.IntPratica", "long" }; - _methodName52 = "updateModifiedDate"; + _methodName53 = "updateModifiedDate"; - _methodParameterTypes52 = new String[] { "long", "java.util.Date" }; + _methodParameterTypes53 = new String[] { "long", "java.util.Date" }; - _methodName53 = "countAutorizzazione"; + _methodName54 = "countAutorizzazione"; - _methodParameterTypes53 = new String[] { + _methodParameterTypes54 = new String[] { "java.util.Date", "java.util.Date", "long" }; - _methodName54 = "countSanatorie"; + _methodName55 = "countSanatorie"; - _methodParameterTypes54 = new String[] { + _methodParameterTypes55 = new String[] { "java.util.Date", "java.util.Date", "long" }; - _methodName55 = "countOpereMinoreImportanza"; + _methodName56 = "countOpereMinoreImportanza"; - _methodParameterTypes55 = new String[] { + _methodParameterTypes56 = new String[] { "java.util.Date", "java.util.Date", "long" }; - _methodName56 = "countDeposito"; + _methodName57 = "countDeposito"; - _methodParameterTypes56 = new String[] { + _methodParameterTypes57 = new String[] { "java.util.Date", "java.util.Date", "long", "boolean" }; - _methodName57 = "countVidimate"; + _methodName58 = "countVidimate"; - _methodParameterTypes57 = new String[] { + _methodParameterTypes58 = new String[] { "java.util.Date", "java.util.Date", "long", "java.lang.String", "boolean" }; - _methodName58 = "countControllo"; + _methodName59 = "countControllo"; - _methodParameterTypes58 = new String[] { + _methodParameterTypes59 = new String[] { "java.util.Date", "java.util.Date", "long", "java.lang.String", "boolean" }; - _methodName59 = "riparaWorkflow"; + _methodName60 = "riparaWorkflow"; - _methodParameterTypes59 = new String[] { }; + _methodParameterTypes60 = new String[] { }; - _methodName60 = "reIndexFascicolo"; + _methodName61 = "reIndexFascicolo"; - _methodParameterTypes60 = new String[] { + _methodParameterTypes61 = new String[] { "it.tref.liferay.portos.bo.model.IntPratica", "long" }; - _methodName61 = "reIndexFasciolo"; - - _methodParameterTypes61 = new String[] { "java.lang.String", "long" }; - _methodName62 = "reIndexFasciolo"; - _methodParameterTypes62 = new String[] { "long", "long" }; + _methodParameterTypes62 = new String[] { "java.lang.String", "long" }; - _methodName63 = "findByNumeroProgetto"; + _methodName63 = "reIndexFasciolo"; - _methodParameterTypes63 = new String[] { "java.lang.String" }; + _methodParameterTypes63 = new String[] { "long", "long" }; - _methodName64 = "findByTerritorioId"; + _methodName64 = "findByNumeroProgetto"; - _methodParameterTypes64 = new String[] { "long" }; + _methodParameterTypes64 = new String[] { "java.lang.String" }; - _methodName65 = "reportTempisticheIstruttorieAvvisiAutorizzazioni"; + _methodName65 = "findByTerritorioId"; - _methodParameterTypes65 = new String[] { - "java.util.Date", "java.util.Date", "long", "java.lang.String" - }; + _methodParameterTypes65 = new String[] { "long" }; - _methodName66 = "reportPraticheVidimate"; + _methodName66 = "reportTempisticheIstruttorieAvvisiAutorizzazioni"; _methodParameterTypes66 = new String[] { "java.util.Date", "java.util.Date", "long", "java.lang.String" }; - _methodName67 = "countIngressiAutorizzazioni"; + _methodName67 = "reportPraticheVidimate"; _methodParameterTypes67 = new String[] { - "java.util.Date", "java.util.Date", "long" + "java.util.Date", "java.util.Date", "long", "java.lang.String" }; - _methodName68 = "countIngressiDepositi"; + _methodName68 = "countIngressiAutorizzazioni"; _methodParameterTypes68 = new String[] { "java.util.Date", "java.util.Date", "long" }; - _methodName69 = "countIngressiCO"; + _methodName69 = "countIngressiDepositi"; _methodParameterTypes69 = new String[] { "java.util.Date", "java.util.Date", "long" }; - _methodName70 = "getOrganizationByIntPraticaId"; + _methodName70 = "countIngressiCO"; + + _methodParameterTypes70 = new String[] { + "java.util.Date", "java.util.Date", "long" + }; + + _methodName71 = "getOrganizationByIntPraticaId"; - _methodParameterTypes70 = new String[] { "long" }; + _methodParameterTypes71 = new String[] { "long" }; } @Override @@ -1081,6 +1085,29 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { throw new UnsupportedOperationException(); } + @Override + public java.util.Map getTipiProcedure() { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName23, + _methodParameterTypes23, new Object[] { }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (java.util.Map)ClpSerializer.translateOutput(returnObj); + } + @Override public it.tref.liferay.portos.bo.model.IntPratica addIntPratica( long territorioId, java.lang.String tipoProcedura, @@ -1090,8 +1117,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName23, - _methodParameterTypes23, + returnObj = _invokableLocalService.invokeMethod(_methodName24, + _methodParameterTypes24, new Object[] { territorioId, @@ -1135,8 +1162,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName24, - _methodParameterTypes24, + returnObj = _invokableLocalService.invokeMethod(_methodName25, + _methodParameterTypes25, new Object[] { userId, @@ -1192,8 +1219,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName25, - _methodParameterTypes25, + returnObj = _invokableLocalService.invokeMethod(_methodName26, + _methodParameterTypes26, new Object[] { ClpSerializer.translateInput(intPratica), @@ -1232,8 +1259,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName26, - _methodParameterTypes26, + returnObj = _invokableLocalService.invokeMethod(_methodName27, + _methodParameterTypes27, new Object[] { intPraticaId, @@ -1273,8 +1300,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName27, - _methodParameterTypes27, + returnObj = _invokableLocalService.invokeMethod(_methodName28, + _methodParameterTypes28, new Object[] { intPraticaId, @@ -1316,8 +1343,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName28, - _methodParameterTypes28, new Object[] { start, end }); + returnObj = _invokableLocalService.invokeMethod(_methodName29, + _methodParameterTypes29, new Object[] { start, end }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -1344,8 +1371,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName29, - _methodParameterTypes29, new Object[] { }); + returnObj = _invokableLocalService.invokeMethod(_methodName30, + _methodParameterTypes30, new Object[] { }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -1374,8 +1401,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName30, - _methodParameterTypes30, new Object[] { intPraticaId }); + returnObj = _invokableLocalService.invokeMethod(_methodName31, + _methodParameterTypes31, new Object[] { intPraticaId }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -1408,8 +1435,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName31, - _methodParameterTypes31, + returnObj = _invokableLocalService.invokeMethod(_methodName32, + _methodParameterTypes32, new Object[] { intPraticaId, sospesa }); } catch (Throwable t) { @@ -1444,8 +1471,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName32, - _methodParameterTypes32, + returnObj = _invokableLocalService.invokeMethod(_methodName33, + _methodParameterTypes33, new Object[] { intPraticaId, @@ -1485,8 +1512,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName33, - _methodParameterTypes33, + returnObj = _invokableLocalService.invokeMethod(_methodName34, + _methodParameterTypes34, new Object[] { intPraticaId, @@ -1523,8 +1550,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName34, - _methodParameterTypes34, + returnObj = _invokableLocalService.invokeMethod(_methodName35, + _methodParameterTypes35, new Object[] { companyId, userId, start, end }); } catch (Throwable t) { @@ -1552,8 +1579,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName35, - _methodParameterTypes35, new Object[] { companyId, userId }); + returnObj = _invokableLocalService.invokeMethod(_methodName36, + _methodParameterTypes36, new Object[] { companyId, userId }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -1579,8 +1606,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { try { - _invokableLocalService.invokeMethod(_methodName36, - _methodParameterTypes36, new Object[] { intPraticaId, status }); + _invokableLocalService.invokeMethod(_methodName37, + _methodParameterTypes37, new Object[] { intPraticaId, status }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -1611,8 +1638,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName37, - _methodParameterTypes37, + returnObj = _invokableLocalService.invokeMethod(_methodName38, + _methodParameterTypes38, new Object[] { companyId, @@ -1654,8 +1681,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName38, - _methodParameterTypes38, + returnObj = _invokableLocalService.invokeMethod(_methodName39, + _methodParameterTypes39, new Object[] { companyId, @@ -1693,8 +1720,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName39, - _methodParameterTypes39, + returnObj = _invokableLocalService.invokeMethod(_methodName40, + _methodParameterTypes40, new Object[] { companyId, @@ -1736,8 +1763,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName40, - _methodParameterTypes40, + returnObj = _invokableLocalService.invokeMethod(_methodName41, + _methodParameterTypes41, new Object[] { companyId, @@ -1774,8 +1801,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName41, - _methodParameterTypes41, + returnObj = _invokableLocalService.invokeMethod(_methodName42, + _methodParameterTypes42, new Object[] { ClpSerializer.translateInput(groupIds), @@ -1809,8 +1836,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName42, - _methodParameterTypes42, + returnObj = _invokableLocalService.invokeMethod(_methodName43, + _methodParameterTypes43, new Object[] { ClpSerializer.translateInput(groupIds) }); } catch (Throwable t) { @@ -1839,8 +1866,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName43, - _methodParameterTypes43, + returnObj = _invokableLocalService.invokeMethod(_methodName44, + _methodParameterTypes44, new Object[] { ClpSerializer.translateInput(groupIds), @@ -1881,8 +1908,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName44, - _methodParameterTypes44, + returnObj = _invokableLocalService.invokeMethod(_methodName45, + _methodParameterTypes45, new Object[] { intPraticaId, @@ -1932,8 +1959,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName45, - _methodParameterTypes45, + returnObj = _invokableLocalService.invokeMethod(_methodName46, + _methodParameterTypes46, new Object[] { intPraticaId, @@ -1972,8 +1999,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { try { - _invokableLocalService.invokeMethod(_methodName46, - _methodParameterTypes46, + _invokableLocalService.invokeMethod(_methodName47, + _methodParameterTypes47, new Object[] { docPraticaAnnullamentoId }); } catch (Throwable t) { @@ -2002,8 +2029,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { try { - _invokableLocalService.invokeMethod(_methodName47, - _methodParameterTypes47, new Object[] { intPraticaId }); + _invokableLocalService.invokeMethod(_methodName48, + _methodParameterTypes48, new Object[] { intPraticaId }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -2032,8 +2059,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { try { - _invokableLocalService.invokeMethod(_methodName48, - _methodParameterTypes48, + _invokableLocalService.invokeMethod(_methodName49, + _methodParameterTypes49, new Object[] { intPraticaId, controlloPraticaId, istruttoreId }); } catch (Throwable t) { @@ -2065,8 +2092,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName49, - _methodParameterTypes49, + returnObj = _invokableLocalService.invokeMethod(_methodName50, + _methodParameterTypes50, new Object[] { ispettoreId, @@ -2105,8 +2132,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName50, - _methodParameterTypes50, + returnObj = _invokableLocalService.invokeMethod(_methodName51, + _methodParameterTypes51, new Object[] { ispettoreId, @@ -2140,8 +2167,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName51, - _methodParameterTypes51, + returnObj = _invokableLocalService.invokeMethod(_methodName52, + _methodParameterTypes52, new Object[] { ClpSerializer.translateInput(intPratica), @@ -2179,8 +2206,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName52, - _methodParameterTypes52, + returnObj = _invokableLocalService.invokeMethod(_methodName53, + _methodParameterTypes53, new Object[] { intPraticaId, @@ -2217,8 +2244,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName53, - _methodParameterTypes53, + returnObj = _invokableLocalService.invokeMethod(_methodName54, + _methodParameterTypes54, new Object[] { ClpSerializer.translateInput(dtMin), @@ -2253,8 +2280,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName54, - _methodParameterTypes54, + returnObj = _invokableLocalService.invokeMethod(_methodName55, + _methodParameterTypes55, new Object[] { ClpSerializer.translateInput(dtMin), @@ -2289,8 +2316,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName55, - _methodParameterTypes55, + returnObj = _invokableLocalService.invokeMethod(_methodName56, + _methodParameterTypes56, new Object[] { ClpSerializer.translateInput(dtMin), @@ -2325,8 +2352,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName56, - _methodParameterTypes56, + returnObj = _invokableLocalService.invokeMethod(_methodName57, + _methodParameterTypes57, new Object[] { ClpSerializer.translateInput(dtMin), @@ -2363,8 +2390,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName57, - _methodParameterTypes57, + returnObj = _invokableLocalService.invokeMethod(_methodName58, + _methodParameterTypes58, new Object[] { ClpSerializer.translateInput(dtMin), @@ -2404,8 +2431,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName58, - _methodParameterTypes58, + returnObj = _invokableLocalService.invokeMethod(_methodName59, + _methodParameterTypes59, new Object[] { ClpSerializer.translateInput(dtMin), @@ -2443,8 +2470,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName59, - _methodParameterTypes59, new Object[] { }); + returnObj = _invokableLocalService.invokeMethod(_methodName60, + _methodParameterTypes60, new Object[] { }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -2469,8 +2496,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { public void reIndexFascicolo( it.tref.liferay.portos.bo.model.IntPratica intPratica, long companyId) { try { - _invokableLocalService.invokeMethod(_methodName60, - _methodParameterTypes60, + _invokableLocalService.invokeMethod(_methodName61, + _methodParameterTypes61, new Object[] { ClpSerializer.translateInput(intPratica), companyId }); } catch (Throwable t) { @@ -2490,8 +2517,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { public void reIndexFasciolo(java.lang.String numeroProgetto, long companyId) throws com.liferay.portal.kernel.exception.SystemException { try { - _invokableLocalService.invokeMethod(_methodName61, - _methodParameterTypes61, + _invokableLocalService.invokeMethod(_methodName62, + _methodParameterTypes62, new Object[] { ClpSerializer.translateInput(numeroProgetto), @@ -2520,8 +2547,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException { try { - _invokableLocalService.invokeMethod(_methodName62, - _methodParameterTypes62, + _invokableLocalService.invokeMethod(_methodName63, + _methodParameterTypes63, new Object[] { intPraticaId, companyId }); } catch (Throwable t) { @@ -2552,8 +2579,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName63, - _methodParameterTypes63, + returnObj = _invokableLocalService.invokeMethod(_methodName64, + _methodParameterTypes64, new Object[] { ClpSerializer.translateInput(numeroProgetto) }); } catch (Throwable t) { @@ -2582,8 +2609,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName64, - _methodParameterTypes64, new Object[] { territorioId }); + returnObj = _invokableLocalService.invokeMethod(_methodName65, + _methodParameterTypes65, new Object[] { territorioId }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -2612,8 +2639,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName65, - _methodParameterTypes65, + returnObj = _invokableLocalService.invokeMethod(_methodName66, + _methodParameterTypes66, new Object[] { ClpSerializer.translateInput(dtMin), @@ -2651,8 +2678,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName66, - _methodParameterTypes66, + returnObj = _invokableLocalService.invokeMethod(_methodName67, + _methodParameterTypes67, new Object[] { ClpSerializer.translateInput(dtMin), @@ -2689,8 +2716,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName67, - _methodParameterTypes67, + returnObj = _invokableLocalService.invokeMethod(_methodName68, + _methodParameterTypes68, new Object[] { ClpSerializer.translateInput(dtMin), @@ -2725,8 +2752,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName68, - _methodParameterTypes68, + returnObj = _invokableLocalService.invokeMethod(_methodName69, + _methodParameterTypes69, new Object[] { ClpSerializer.translateInput(dtMin), @@ -2761,8 +2788,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName69, - _methodParameterTypes69, + returnObj = _invokableLocalService.invokeMethod(_methodName70, + _methodParameterTypes70, new Object[] { ClpSerializer.translateInput(dtMin), @@ -2798,8 +2825,8 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName70, - _methodParameterTypes70, new Object[] { intPraticaId }); + returnObj = _invokableLocalService.invokeMethod(_methodName71, + _methodParameterTypes71, new Object[] { intPraticaId }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -2965,4 +2992,6 @@ public class IntPraticaLocalServiceClp implements IntPraticaLocalService { private String[] _methodParameterTypes69; private String _methodName70; private String[] _methodParameterTypes70; + private String _methodName71; + private String[] _methodParameterTypes71; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceUtil.java index 647b90a7..5a03fa79 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceUtil.java @@ -342,6 +342,10 @@ public class IntPraticaLocalServiceUtil { return getService().invokeMethod(name, parameterTypes, arguments); } + public static java.util.Map getTipiProcedure() { + return getService().getTipiProcedure(); + } + public static it.tref.liferay.portos.bo.model.IntPratica addIntPratica( long territorioId, java.lang.String tipoProcedura, com.liferay.portal.service.ServiceContext serviceContext) diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceWrapper.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceWrapper.java index 6a75dca7..35e0ea12 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceWrapper.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceWrapper.java @@ -362,6 +362,11 @@ public class IntPraticaLocalServiceWrapper implements IntPraticaLocalService, arguments); } + @Override + public java.util.Map getTipiProcedure() { + return _intPraticaLocalService.getTipiProcedure(); + } + @Override public it.tref.liferay.portos.bo.model.IntPratica addIntPratica( long territorioId, java.lang.String tipoProcedura, diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/IntPraticaLocalServiceClpInvoker.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/IntPraticaLocalServiceClpInvoker.java index 48b0640d..30807450 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/IntPraticaLocalServiceClpInvoker.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/IntPraticaLocalServiceClpInvoker.java @@ -130,264 +130,268 @@ public class IntPraticaLocalServiceClpInvoker { _methodParameterTypes173 = new String[] { "java.lang.String" }; - _methodName178 = "addIntPratica"; + _methodName179 = "getTipiProcedure"; - _methodParameterTypes178 = new String[] { + _methodParameterTypes179 = new String[] { }; + + _methodName180 = "addIntPratica"; + + _methodParameterTypes180 = new String[] { "long", "java.lang.String", "com.liferay.portal.service.ServiceContext" }; - _methodName179 = "addIntPratica"; + _methodName181 = "addIntPratica"; - _methodParameterTypes179 = new String[] { + _methodParameterTypes181 = new String[] { "long", "java.lang.String", "java.lang.String", "long", "java.lang.String", "java.lang.String", "java.lang.String", "boolean", "int", "java.util.Date", "com.liferay.portal.service.ServiceContext" }; - _methodName180 = "deleteIntPratica"; + _methodName182 = "deleteIntPratica"; - _methodParameterTypes180 = new String[] { + _methodParameterTypes182 = new String[] { "it.tref.liferay.portos.bo.model.IntPratica", "boolean" }; - _methodName181 = "deleteIntPratica"; + _methodName183 = "deleteIntPratica"; - _methodParameterTypes181 = new String[] { + _methodParameterTypes183 = new String[] { "it.tref.liferay.portos.bo.model.IntPratica" }; - _methodName182 = "cloneIntPratica"; + _methodName184 = "cloneIntPratica"; - _methodParameterTypes182 = new String[] { + _methodParameterTypes184 = new String[] { "long", "com.liferay.portal.service.ServiceContext" }; - _methodName184 = "updateDelegati"; + _methodName186 = "updateDelegati"; - _methodParameterTypes184 = new String[] { + _methodParameterTypes186 = new String[] { "long", "java.lang.String", "java.lang.String", "boolean" }; - _methodName185 = "fetchIntPratica"; + _methodName187 = "fetchIntPratica"; - _methodParameterTypes185 = new String[] { "long" }; + _methodParameterTypes187 = new String[] { "long" }; - _methodName186 = "findFascicoliNotProgetto"; + _methodName188 = "findFascicoliNotProgetto"; - _methodParameterTypes186 = new String[] { "int", "int" }; + _methodParameterTypes188 = new String[] { "int", "int" }; - _methodName187 = "countFascicoliNotProgetto"; + _methodName189 = "countFascicoliNotProgetto"; - _methodParameterTypes187 = new String[] { }; + _methodParameterTypes189 = new String[] { }; - _methodName189 = "addNumeroProgetto"; + _methodName191 = "addNumeroProgetto"; - _methodParameterTypes189 = new String[] { "long" }; + _methodParameterTypes191 = new String[] { "long" }; - _methodName190 = "sospendiPratica"; + _methodName192 = "sospendiPratica"; - _methodParameterTypes190 = new String[] { "long", "boolean" }; + _methodParameterTypes192 = new String[] { "long", "boolean" }; - _methodName191 = "cambiaTitolare"; + _methodName193 = "cambiaTitolare"; - _methodParameterTypes191 = new String[] { + _methodParameterTypes193 = new String[] { "long", "long", "com.liferay.portal.service.ServiceContext" }; - _methodName192 = "updateStatoPratica"; + _methodName194 = "updateStatoPratica"; - _methodParameterTypes192 = new String[] { "long", "java.lang.String" }; + _methodParameterTypes194 = new String[] { "long", "java.lang.String" }; - _methodName193 = "findByC_UserId"; + _methodName195 = "findByC_UserId"; - _methodParameterTypes193 = new String[] { "long", "long", "int", "int" }; + _methodParameterTypes195 = new String[] { "long", "long", "int", "int" }; - _methodName194 = "countByC_UserId"; + _methodName196 = "countByC_UserId"; - _methodParameterTypes194 = new String[] { "long", "long" }; + _methodParameterTypes196 = new String[] { "long", "long" }; - _methodName195 = "updateStatus"; + _methodName197 = "updateStatus"; - _methodParameterTypes195 = new String[] { "long", "int" }; + _methodParameterTypes197 = new String[] { "long", "int" }; - _methodName196 = "findByCanAddFineLavori"; + _methodName198 = "findByCanAddFineLavori"; - _methodParameterTypes196 = new String[] { + _methodParameterTypes198 = new String[] { "long", "java.lang.String", "int", "int" }; - _methodName197 = "countByCanAddFineLavori"; + _methodName199 = "countByCanAddFineLavori"; - _methodParameterTypes197 = new String[] { "long", "java.lang.String" }; + _methodParameterTypes199 = new String[] { "long", "java.lang.String" }; - _methodName199 = "findByCanAddCollaudo"; + _methodName201 = "findByCanAddCollaudo"; - _methodParameterTypes199 = new String[] { + _methodParameterTypes201 = new String[] { "long", "java.lang.String", "int", "int" }; - _methodName200 = "countByCanAddCollaudo"; + _methodName202 = "countByCanAddCollaudo"; - _methodParameterTypes200 = new String[] { "long", "java.lang.String" }; + _methodParameterTypes202 = new String[] { "long", "java.lang.String" }; - _methodName201 = "search"; + _methodName203 = "search"; - _methodParameterTypes201 = new String[] { "java.util.List", "int", "int" }; + _methodParameterTypes203 = new String[] { "java.util.List", "int", "int" }; - _methodName202 = "countSearch"; + _methodName204 = "countSearch"; - _methodParameterTypes202 = new String[] { "java.util.List" }; + _methodParameterTypes204 = new String[] { "java.util.List" }; - _methodName203 = "searchWithIntPraticaId"; + _methodName205 = "searchWithIntPraticaId"; - _methodParameterTypes203 = new String[] { + _methodParameterTypes205 = new String[] { "java.util.List", "long", "int", "int" }; - _methodName204 = "allegaFileAnnullamento"; + _methodName206 = "allegaFileAnnullamento"; - _methodParameterTypes204 = new String[] { + _methodParameterTypes206 = new String[] { "long", "byte[][]", "java.lang.String", "java.lang.String", "com.liferay.portal.service.ServiceContext" }; - _methodName205 = "generateFileAnnullamento"; + _methodName207 = "generateFileAnnullamento"; - _methodParameterTypes205 = new String[] { + _methodParameterTypes207 = new String[] { "long", "com.liferay.portal.service.ServiceContext" }; - _methodName206 = "deleteFileAnnullamento"; + _methodName208 = "deleteFileAnnullamento"; - _methodParameterTypes206 = new String[] { "long" }; + _methodParameterTypes208 = new String[] { "long" }; - _methodName207 = "completeAnnullamento"; + _methodName209 = "completeAnnullamento"; - _methodParameterTypes207 = new String[] { "long" }; + _methodParameterTypes209 = new String[] { "long" }; - _methodName208 = "cambiaIstruttore"; + _methodName210 = "cambiaIstruttore"; - _methodParameterTypes208 = new String[] { "long", "long", "long" }; + _methodParameterTypes210 = new String[] { "long", "long", "long" }; - _methodName209 = "countCaricoLavoroCF"; + _methodName211 = "countCaricoLavoroCF"; - _methodParameterTypes209 = new String[] { + _methodParameterTypes211 = new String[] { "long", "java.lang.String", "java.lang.Long[][]" }; - _methodName210 = "countCaricoLavoroIstruttore"; + _methodName212 = "countCaricoLavoroIstruttore"; - _methodParameterTypes210 = new String[] { "long", "java.lang.String" }; + _methodParameterTypes212 = new String[] { "long", "java.lang.String" }; - _methodName211 = "generateReportPratica"; + _methodName213 = "generateReportPratica"; - _methodParameterTypes211 = new String[] { + _methodParameterTypes213 = new String[] { "it.tref.liferay.portos.bo.model.IntPratica", "long" }; - _methodName212 = "updateModifiedDate"; + _methodName214 = "updateModifiedDate"; - _methodParameterTypes212 = new String[] { "long", "java.util.Date" }; + _methodParameterTypes214 = new String[] { "long", "java.util.Date" }; - _methodName213 = "countAutorizzazione"; + _methodName215 = "countAutorizzazione"; - _methodParameterTypes213 = new String[] { + _methodParameterTypes215 = new String[] { "java.util.Date", "java.util.Date", "long" }; - _methodName214 = "countSanatorie"; + _methodName216 = "countSanatorie"; - _methodParameterTypes214 = new String[] { + _methodParameterTypes216 = new String[] { "java.util.Date", "java.util.Date", "long" }; - _methodName215 = "countOpereMinoreImportanza"; + _methodName217 = "countOpereMinoreImportanza"; - _methodParameterTypes215 = new String[] { + _methodParameterTypes217 = new String[] { "java.util.Date", "java.util.Date", "long" }; - _methodName216 = "countDeposito"; + _methodName218 = "countDeposito"; - _methodParameterTypes216 = new String[] { + _methodParameterTypes218 = new String[] { "java.util.Date", "java.util.Date", "long", "boolean" }; - _methodName217 = "countVidimate"; + _methodName219 = "countVidimate"; - _methodParameterTypes217 = new String[] { + _methodParameterTypes219 = new String[] { "java.util.Date", "java.util.Date", "long", "java.lang.String", "boolean" }; - _methodName218 = "countControllo"; + _methodName220 = "countControllo"; - _methodParameterTypes218 = new String[] { + _methodParameterTypes220 = new String[] { "java.util.Date", "java.util.Date", "long", "java.lang.String", "boolean" }; - _methodName219 = "riparaWorkflow"; + _methodName221 = "riparaWorkflow"; - _methodParameterTypes219 = new String[] { }; + _methodParameterTypes221 = new String[] { }; - _methodName220 = "reIndexFascicolo"; + _methodName222 = "reIndexFascicolo"; - _methodParameterTypes220 = new String[] { + _methodParameterTypes222 = new String[] { "it.tref.liferay.portos.bo.model.IntPratica", "long" }; - _methodName221 = "reIndexFasciolo"; + _methodName223 = "reIndexFasciolo"; - _methodParameterTypes221 = new String[] { "java.lang.String", "long" }; + _methodParameterTypes223 = new String[] { "java.lang.String", "long" }; - _methodName222 = "reIndexFasciolo"; + _methodName224 = "reIndexFasciolo"; - _methodParameterTypes222 = new String[] { "long", "long" }; + _methodParameterTypes224 = new String[] { "long", "long" }; - _methodName223 = "findByNumeroProgetto"; + _methodName225 = "findByNumeroProgetto"; - _methodParameterTypes223 = new String[] { "java.lang.String" }; + _methodParameterTypes225 = new String[] { "java.lang.String" }; - _methodName224 = "findByTerritorioId"; + _methodName226 = "findByTerritorioId"; - _methodParameterTypes224 = new String[] { "long" }; + _methodParameterTypes226 = new String[] { "long" }; - _methodName225 = "reportTempisticheIstruttorieAvvisiAutorizzazioni"; + _methodName227 = "reportTempisticheIstruttorieAvvisiAutorizzazioni"; - _methodParameterTypes225 = new String[] { + _methodParameterTypes227 = new String[] { "java.util.Date", "java.util.Date", "long", "java.lang.String" }; - _methodName226 = "reportPraticheVidimate"; + _methodName228 = "reportPraticheVidimate"; - _methodParameterTypes226 = new String[] { + _methodParameterTypes228 = new String[] { "java.util.Date", "java.util.Date", "long", "java.lang.String" }; - _methodName227 = "countIngressiAutorizzazioni"; + _methodName229 = "countIngressiAutorizzazioni"; - _methodParameterTypes227 = new String[] { + _methodParameterTypes229 = new String[] { "java.util.Date", "java.util.Date", "long" }; - _methodName228 = "countIngressiDepositi"; + _methodName230 = "countIngressiDepositi"; - _methodParameterTypes228 = new String[] { + _methodParameterTypes230 = new String[] { "java.util.Date", "java.util.Date", "long" }; - _methodName229 = "countIngressiCO"; + _methodName231 = "countIngressiCO"; - _methodParameterTypes229 = new String[] { + _methodParameterTypes231 = new String[] { "java.util.Date", "java.util.Date", "long" }; - _methodName230 = "getOrganizationByIntPraticaId"; + _methodName232 = "getOrganizationByIntPraticaId"; - _methodParameterTypes230 = new String[] { "long" }; + _methodParameterTypes232 = new String[] { "long" }; } public Object invokeMethod(String name, String[] parameterTypes, @@ -515,15 +519,20 @@ public class IntPraticaLocalServiceClpInvoker { return null; } - if (_methodName178.equals(name) && - Arrays.deepEquals(_methodParameterTypes178, parameterTypes)) { + if (_methodName179.equals(name) && + Arrays.deepEquals(_methodParameterTypes179, parameterTypes)) { + return IntPraticaLocalServiceUtil.getTipiProcedure(); + } + + if (_methodName180.equals(name) && + Arrays.deepEquals(_methodParameterTypes180, parameterTypes)) { return IntPraticaLocalServiceUtil.addIntPratica(((Long)arguments[0]).longValue(), (java.lang.String)arguments[1], (com.liferay.portal.service.ServiceContext)arguments[2]); } - if (_methodName179.equals(name) && - Arrays.deepEquals(_methodParameterTypes179, parameterTypes)) { + if (_methodName181.equals(name) && + Arrays.deepEquals(_methodParameterTypes181, parameterTypes)) { return IntPraticaLocalServiceUtil.addIntPratica(((Long)arguments[0]).longValue(), (java.lang.String)arguments[1], (java.lang.String)arguments[2], ((Long)arguments[3]).longValue(), @@ -535,170 +544,170 @@ public class IntPraticaLocalServiceClpInvoker { (com.liferay.portal.service.ServiceContext)arguments[10]); } - if (_methodName180.equals(name) && - Arrays.deepEquals(_methodParameterTypes180, parameterTypes)) { + if (_methodName182.equals(name) && + Arrays.deepEquals(_methodParameterTypes182, parameterTypes)) { return IntPraticaLocalServiceUtil.deleteIntPratica((it.tref.liferay.portos.bo.model.IntPratica)arguments[0], ((Boolean)arguments[1]).booleanValue()); } - if (_methodName181.equals(name) && - Arrays.deepEquals(_methodParameterTypes181, parameterTypes)) { + if (_methodName183.equals(name) && + Arrays.deepEquals(_methodParameterTypes183, parameterTypes)) { return IntPraticaLocalServiceUtil.deleteIntPratica((it.tref.liferay.portos.bo.model.IntPratica)arguments[0]); } - if (_methodName182.equals(name) && - Arrays.deepEquals(_methodParameterTypes182, parameterTypes)) { + if (_methodName184.equals(name) && + Arrays.deepEquals(_methodParameterTypes184, parameterTypes)) { return IntPraticaLocalServiceUtil.cloneIntPratica(((Long)arguments[0]).longValue(), (com.liferay.portal.service.ServiceContext)arguments[1]); } - if (_methodName184.equals(name) && - Arrays.deepEquals(_methodParameterTypes184, parameterTypes)) { + if (_methodName186.equals(name) && + Arrays.deepEquals(_methodParameterTypes186, parameterTypes)) { return IntPraticaLocalServiceUtil.updateDelegati(((Long)arguments[0]).longValue(), (java.lang.String)arguments[1], (java.lang.String)arguments[2], ((Boolean)arguments[3]).booleanValue()); } - if (_methodName185.equals(name) && - Arrays.deepEquals(_methodParameterTypes185, parameterTypes)) { + if (_methodName187.equals(name) && + Arrays.deepEquals(_methodParameterTypes187, parameterTypes)) { return IntPraticaLocalServiceUtil.fetchIntPratica(((Long)arguments[0]).longValue()); } - if (_methodName186.equals(name) && - Arrays.deepEquals(_methodParameterTypes186, parameterTypes)) { + if (_methodName188.equals(name) && + Arrays.deepEquals(_methodParameterTypes188, parameterTypes)) { return IntPraticaLocalServiceUtil.findFascicoliNotProgetto(((Integer)arguments[0]).intValue(), ((Integer)arguments[1]).intValue()); } - if (_methodName187.equals(name) && - Arrays.deepEquals(_methodParameterTypes187, parameterTypes)) { + if (_methodName189.equals(name) && + Arrays.deepEquals(_methodParameterTypes189, parameterTypes)) { return IntPraticaLocalServiceUtil.countFascicoliNotProgetto(); } - if (_methodName189.equals(name) && - Arrays.deepEquals(_methodParameterTypes189, parameterTypes)) { + if (_methodName191.equals(name) && + Arrays.deepEquals(_methodParameterTypes191, parameterTypes)) { return IntPraticaLocalServiceUtil.addNumeroProgetto(((Long)arguments[0]).longValue()); } - if (_methodName190.equals(name) && - Arrays.deepEquals(_methodParameterTypes190, parameterTypes)) { + if (_methodName192.equals(name) && + Arrays.deepEquals(_methodParameterTypes192, parameterTypes)) { return IntPraticaLocalServiceUtil.sospendiPratica(((Long)arguments[0]).longValue(), ((Boolean)arguments[1]).booleanValue()); } - if (_methodName191.equals(name) && - Arrays.deepEquals(_methodParameterTypes191, parameterTypes)) { + if (_methodName193.equals(name) && + Arrays.deepEquals(_methodParameterTypes193, parameterTypes)) { return IntPraticaLocalServiceUtil.cambiaTitolare(((Long)arguments[0]).longValue(), ((Long)arguments[1]).longValue(), (com.liferay.portal.service.ServiceContext)arguments[2]); } - if (_methodName192.equals(name) && - Arrays.deepEquals(_methodParameterTypes192, parameterTypes)) { + if (_methodName194.equals(name) && + Arrays.deepEquals(_methodParameterTypes194, parameterTypes)) { return IntPraticaLocalServiceUtil.updateStatoPratica(((Long)arguments[0]).longValue(), (java.lang.String)arguments[1]); } - if (_methodName193.equals(name) && - Arrays.deepEquals(_methodParameterTypes193, parameterTypes)) { + if (_methodName195.equals(name) && + Arrays.deepEquals(_methodParameterTypes195, parameterTypes)) { return IntPraticaLocalServiceUtil.findByC_UserId(((Long)arguments[0]).longValue(), ((Long)arguments[1]).longValue(), ((Integer)arguments[2]).intValue(), ((Integer)arguments[3]).intValue()); } - if (_methodName194.equals(name) && - Arrays.deepEquals(_methodParameterTypes194, parameterTypes)) { + if (_methodName196.equals(name) && + Arrays.deepEquals(_methodParameterTypes196, parameterTypes)) { return IntPraticaLocalServiceUtil.countByC_UserId(((Long)arguments[0]).longValue(), ((Long)arguments[1]).longValue()); } - if (_methodName195.equals(name) && - Arrays.deepEquals(_methodParameterTypes195, parameterTypes)) { + if (_methodName197.equals(name) && + Arrays.deepEquals(_methodParameterTypes197, parameterTypes)) { IntPraticaLocalServiceUtil.updateStatus(((Long)arguments[0]).longValue(), ((Integer)arguments[1]).intValue()); return null; } - if (_methodName196.equals(name) && - Arrays.deepEquals(_methodParameterTypes196, parameterTypes)) { + if (_methodName198.equals(name) && + Arrays.deepEquals(_methodParameterTypes198, parameterTypes)) { return IntPraticaLocalServiceUtil.findByCanAddFineLavori(((Long)arguments[0]).longValue(), (java.lang.String)arguments[1], ((Integer)arguments[2]).intValue(), ((Integer)arguments[3]).intValue()); } - if (_methodName197.equals(name) && - Arrays.deepEquals(_methodParameterTypes197, parameterTypes)) { + if (_methodName199.equals(name) && + Arrays.deepEquals(_methodParameterTypes199, parameterTypes)) { return IntPraticaLocalServiceUtil.countByCanAddFineLavori(((Long)arguments[0]).longValue(), (java.lang.String)arguments[1]); } - if (_methodName199.equals(name) && - Arrays.deepEquals(_methodParameterTypes199, parameterTypes)) { + if (_methodName201.equals(name) && + Arrays.deepEquals(_methodParameterTypes201, parameterTypes)) { return IntPraticaLocalServiceUtil.findByCanAddCollaudo(((Long)arguments[0]).longValue(), (java.lang.String)arguments[1], ((Integer)arguments[2]).intValue(), ((Integer)arguments[3]).intValue()); } - if (_methodName200.equals(name) && - Arrays.deepEquals(_methodParameterTypes200, parameterTypes)) { + if (_methodName202.equals(name) && + Arrays.deepEquals(_methodParameterTypes202, parameterTypes)) { return IntPraticaLocalServiceUtil.countByCanAddCollaudo(((Long)arguments[0]).longValue(), (java.lang.String)arguments[1]); } - if (_methodName201.equals(name) && - Arrays.deepEquals(_methodParameterTypes201, parameterTypes)) { + if (_methodName203.equals(name) && + Arrays.deepEquals(_methodParameterTypes203, parameterTypes)) { return IntPraticaLocalServiceUtil.search((java.util.List)arguments[0], ((Integer)arguments[1]).intValue(), ((Integer)arguments[2]).intValue()); } - if (_methodName202.equals(name) && - Arrays.deepEquals(_methodParameterTypes202, parameterTypes)) { + if (_methodName204.equals(name) && + Arrays.deepEquals(_methodParameterTypes204, parameterTypes)) { return IntPraticaLocalServiceUtil.countSearch((java.util.List)arguments[0]); } - if (_methodName203.equals(name) && - Arrays.deepEquals(_methodParameterTypes203, parameterTypes)) { + if (_methodName205.equals(name) && + Arrays.deepEquals(_methodParameterTypes205, parameterTypes)) { return IntPraticaLocalServiceUtil.searchWithIntPraticaId((java.util.List)arguments[0], ((Long)arguments[1]).longValue(), ((Integer)arguments[2]).intValue(), ((Integer)arguments[3]).intValue()); } - if (_methodName204.equals(name) && - Arrays.deepEquals(_methodParameterTypes204, parameterTypes)) { + if (_methodName206.equals(name) && + Arrays.deepEquals(_methodParameterTypes206, parameterTypes)) { return IntPraticaLocalServiceUtil.allegaFileAnnullamento(((Long)arguments[0]).longValue(), (byte[])arguments[1], (java.lang.String)arguments[2], (java.lang.String)arguments[3], (com.liferay.portal.service.ServiceContext)arguments[4]); } - if (_methodName205.equals(name) && - Arrays.deepEquals(_methodParameterTypes205, parameterTypes)) { + if (_methodName207.equals(name) && + Arrays.deepEquals(_methodParameterTypes207, parameterTypes)) { return IntPraticaLocalServiceUtil.generateFileAnnullamento(((Long)arguments[0]).longValue(), (com.liferay.portal.service.ServiceContext)arguments[1]); } - if (_methodName206.equals(name) && - Arrays.deepEquals(_methodParameterTypes206, parameterTypes)) { + if (_methodName208.equals(name) && + Arrays.deepEquals(_methodParameterTypes208, parameterTypes)) { IntPraticaLocalServiceUtil.deleteFileAnnullamento(((Long)arguments[0]).longValue()); return null; } - if (_methodName207.equals(name) && - Arrays.deepEquals(_methodParameterTypes207, parameterTypes)) { + if (_methodName209.equals(name) && + Arrays.deepEquals(_methodParameterTypes209, parameterTypes)) { IntPraticaLocalServiceUtil.completeAnnullamento(((Long)arguments[0]).longValue()); return null; } - if (_methodName208.equals(name) && - Arrays.deepEquals(_methodParameterTypes208, parameterTypes)) { + if (_methodName210.equals(name) && + Arrays.deepEquals(_methodParameterTypes210, parameterTypes)) { IntPraticaLocalServiceUtil.cambiaIstruttore(((Long)arguments[0]).longValue(), ((Long)arguments[1]).longValue(), ((Long)arguments[2]).longValue()); @@ -706,144 +715,144 @@ public class IntPraticaLocalServiceClpInvoker { return null; } - if (_methodName209.equals(name) && - Arrays.deepEquals(_methodParameterTypes209, parameterTypes)) { + if (_methodName211.equals(name) && + Arrays.deepEquals(_methodParameterTypes211, parameterTypes)) { return IntPraticaLocalServiceUtil.countCaricoLavoroCF(((Long)arguments[0]).longValue(), (java.lang.String)arguments[1], (java.lang.Long[])arguments[2]); } - if (_methodName210.equals(name) && - Arrays.deepEquals(_methodParameterTypes210, parameterTypes)) { + if (_methodName212.equals(name) && + Arrays.deepEquals(_methodParameterTypes212, parameterTypes)) { return IntPraticaLocalServiceUtil.countCaricoLavoroIstruttore(((Long)arguments[0]).longValue(), (java.lang.String)arguments[1]); } - if (_methodName211.equals(name) && - Arrays.deepEquals(_methodParameterTypes211, parameterTypes)) { + if (_methodName213.equals(name) && + Arrays.deepEquals(_methodParameterTypes213, parameterTypes)) { return IntPraticaLocalServiceUtil.generateReportPratica((it.tref.liferay.portos.bo.model.IntPratica)arguments[0], ((Long)arguments[1]).longValue()); } - if (_methodName212.equals(name) && - Arrays.deepEquals(_methodParameterTypes212, parameterTypes)) { + if (_methodName214.equals(name) && + Arrays.deepEquals(_methodParameterTypes214, parameterTypes)) { return IntPraticaLocalServiceUtil.updateModifiedDate(((Long)arguments[0]).longValue(), (java.util.Date)arguments[1]); } - if (_methodName213.equals(name) && - Arrays.deepEquals(_methodParameterTypes213, parameterTypes)) { + if (_methodName215.equals(name) && + Arrays.deepEquals(_methodParameterTypes215, parameterTypes)) { return IntPraticaLocalServiceUtil.countAutorizzazione((java.util.Date)arguments[0], (java.util.Date)arguments[1], ((Long)arguments[2]).longValue()); } - if (_methodName214.equals(name) && - Arrays.deepEquals(_methodParameterTypes214, parameterTypes)) { + if (_methodName216.equals(name) && + Arrays.deepEquals(_methodParameterTypes216, parameterTypes)) { return IntPraticaLocalServiceUtil.countSanatorie((java.util.Date)arguments[0], (java.util.Date)arguments[1], ((Long)arguments[2]).longValue()); } - if (_methodName215.equals(name) && - Arrays.deepEquals(_methodParameterTypes215, parameterTypes)) { + if (_methodName217.equals(name) && + Arrays.deepEquals(_methodParameterTypes217, parameterTypes)) { return IntPraticaLocalServiceUtil.countOpereMinoreImportanza((java.util.Date)arguments[0], (java.util.Date)arguments[1], ((Long)arguments[2]).longValue()); } - if (_methodName216.equals(name) && - Arrays.deepEquals(_methodParameterTypes216, parameterTypes)) { + if (_methodName218.equals(name) && + Arrays.deepEquals(_methodParameterTypes218, parameterTypes)) { return IntPraticaLocalServiceUtil.countDeposito((java.util.Date)arguments[0], (java.util.Date)arguments[1], ((Long)arguments[2]).longValue(), ((Boolean)arguments[3]).booleanValue()); } - if (_methodName217.equals(name) && - Arrays.deepEquals(_methodParameterTypes217, parameterTypes)) { + if (_methodName219.equals(name) && + Arrays.deepEquals(_methodParameterTypes219, parameterTypes)) { return IntPraticaLocalServiceUtil.countVidimate((java.util.Date)arguments[0], (java.util.Date)arguments[1], ((Long)arguments[2]).longValue(), (java.lang.String)arguments[3], ((Boolean)arguments[4]).booleanValue()); } - if (_methodName218.equals(name) && - Arrays.deepEquals(_methodParameterTypes218, parameterTypes)) { + if (_methodName220.equals(name) && + Arrays.deepEquals(_methodParameterTypes220, parameterTypes)) { return IntPraticaLocalServiceUtil.countControllo((java.util.Date)arguments[0], (java.util.Date)arguments[1], ((Long)arguments[2]).longValue(), (java.lang.String)arguments[3], ((Boolean)arguments[4]).booleanValue()); } - if (_methodName219.equals(name) && - Arrays.deepEquals(_methodParameterTypes219, parameterTypes)) { + if (_methodName221.equals(name) && + Arrays.deepEquals(_methodParameterTypes221, parameterTypes)) { return IntPraticaLocalServiceUtil.riparaWorkflow(); } - if (_methodName220.equals(name) && - Arrays.deepEquals(_methodParameterTypes220, parameterTypes)) { + if (_methodName222.equals(name) && + Arrays.deepEquals(_methodParameterTypes222, parameterTypes)) { IntPraticaLocalServiceUtil.reIndexFascicolo((it.tref.liferay.portos.bo.model.IntPratica)arguments[0], ((Long)arguments[1]).longValue()); return null; } - if (_methodName221.equals(name) && - Arrays.deepEquals(_methodParameterTypes221, parameterTypes)) { + if (_methodName223.equals(name) && + Arrays.deepEquals(_methodParameterTypes223, parameterTypes)) { IntPraticaLocalServiceUtil.reIndexFasciolo((java.lang.String)arguments[0], ((Long)arguments[1]).longValue()); return null; } - if (_methodName222.equals(name) && - Arrays.deepEquals(_methodParameterTypes222, parameterTypes)) { + if (_methodName224.equals(name) && + Arrays.deepEquals(_methodParameterTypes224, parameterTypes)) { IntPraticaLocalServiceUtil.reIndexFasciolo(((Long)arguments[0]).longValue(), ((Long)arguments[1]).longValue()); return null; } - if (_methodName223.equals(name) && - Arrays.deepEquals(_methodParameterTypes223, parameterTypes)) { + if (_methodName225.equals(name) && + Arrays.deepEquals(_methodParameterTypes225, parameterTypes)) { return IntPraticaLocalServiceUtil.findByNumeroProgetto((java.lang.String)arguments[0]); } - if (_methodName224.equals(name) && - Arrays.deepEquals(_methodParameterTypes224, parameterTypes)) { + if (_methodName226.equals(name) && + Arrays.deepEquals(_methodParameterTypes226, parameterTypes)) { return IntPraticaLocalServiceUtil.findByTerritorioId(((Long)arguments[0]).longValue()); } - if (_methodName225.equals(name) && - Arrays.deepEquals(_methodParameterTypes225, parameterTypes)) { + if (_methodName227.equals(name) && + Arrays.deepEquals(_methodParameterTypes227, parameterTypes)) { return IntPraticaLocalServiceUtil.reportTempisticheIstruttorieAvvisiAutorizzazioni((java.util.Date)arguments[0], (java.util.Date)arguments[1], ((Long)arguments[2]).longValue(), (java.lang.String)arguments[3]); } - if (_methodName226.equals(name) && - Arrays.deepEquals(_methodParameterTypes226, parameterTypes)) { + if (_methodName228.equals(name) && + Arrays.deepEquals(_methodParameterTypes228, parameterTypes)) { return IntPraticaLocalServiceUtil.reportPraticheVidimate((java.util.Date)arguments[0], (java.util.Date)arguments[1], ((Long)arguments[2]).longValue(), (java.lang.String)arguments[3]); } - if (_methodName227.equals(name) && - Arrays.deepEquals(_methodParameterTypes227, parameterTypes)) { + if (_methodName229.equals(name) && + Arrays.deepEquals(_methodParameterTypes229, parameterTypes)) { return IntPraticaLocalServiceUtil.countIngressiAutorizzazioni((java.util.Date)arguments[0], (java.util.Date)arguments[1], ((Long)arguments[2]).longValue()); } - if (_methodName228.equals(name) && - Arrays.deepEquals(_methodParameterTypes228, parameterTypes)) { + if (_methodName230.equals(name) && + Arrays.deepEquals(_methodParameterTypes230, parameterTypes)) { return IntPraticaLocalServiceUtil.countIngressiDepositi((java.util.Date)arguments[0], (java.util.Date)arguments[1], ((Long)arguments[2]).longValue()); } - if (_methodName229.equals(name) && - Arrays.deepEquals(_methodParameterTypes229, parameterTypes)) { + if (_methodName231.equals(name) && + Arrays.deepEquals(_methodParameterTypes231, parameterTypes)) { return IntPraticaLocalServiceUtil.countIngressiCO((java.util.Date)arguments[0], (java.util.Date)arguments[1], ((Long)arguments[2]).longValue()); } - if (_methodName230.equals(name) && - Arrays.deepEquals(_methodParameterTypes230, parameterTypes)) { + if (_methodName232.equals(name) && + Arrays.deepEquals(_methodParameterTypes232, parameterTypes)) { return IntPraticaLocalServiceUtil.getOrganizationByIntPraticaId(((Long)arguments[0]).longValue()); } @@ -894,8 +903,6 @@ public class IntPraticaLocalServiceClpInvoker { private String[] _methodParameterTypes172; private String _methodName173; private String[] _methodParameterTypes173; - private String _methodName178; - private String[] _methodParameterTypes178; private String _methodName179; private String[] _methodParameterTypes179; private String _methodName180; @@ -904,18 +911,18 @@ public class IntPraticaLocalServiceClpInvoker { private String[] _methodParameterTypes181; private String _methodName182; private String[] _methodParameterTypes182; + private String _methodName183; + private String[] _methodParameterTypes183; private String _methodName184; private String[] _methodParameterTypes184; - private String _methodName185; - private String[] _methodParameterTypes185; private String _methodName186; private String[] _methodParameterTypes186; private String _methodName187; private String[] _methodParameterTypes187; + private String _methodName188; + private String[] _methodParameterTypes188; private String _methodName189; private String[] _methodParameterTypes189; - private String _methodName190; - private String[] _methodParameterTypes190; private String _methodName191; private String[] _methodParameterTypes191; private String _methodName192; @@ -930,10 +937,10 @@ public class IntPraticaLocalServiceClpInvoker { private String[] _methodParameterTypes196; private String _methodName197; private String[] _methodParameterTypes197; + private String _methodName198; + private String[] _methodParameterTypes198; private String _methodName199; private String[] _methodParameterTypes199; - private String _methodName200; - private String[] _methodParameterTypes200; private String _methodName201; private String[] _methodParameterTypes201; private String _methodName202; @@ -994,4 +1001,8 @@ public class IntPraticaLocalServiceClpInvoker { private String[] _methodParameterTypes229; private String _methodName230; private String[] _methodParameterTypes230; + private String _methodName231; + private String[] _methodParameterTypes231; + private String _methodName232; + private String[] _methodParameterTypes232; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/IntPraticaLocalServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/IntPraticaLocalServiceImpl.java index cc391da9..cf0b62d6 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/IntPraticaLocalServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/IntPraticaLocalServiceImpl.java @@ -59,6 +59,7 @@ import java.io.Serializable; import java.util.Calendar; import java.util.Date; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Locale; import java.util.Map; @@ -129,6 +130,32 @@ public class IntPraticaLocalServiceImpl extends IntPraticaLocalServiceBaseImpl { private static Log _log = LogFactoryUtil.getLog(IntPraticaLocalServiceImpl.class); + private static final Map tipiProcedure = new LinkedHashMap<>(); + static { + putTipoProcedura(Constants.PROCEDURA_P0); + putTipoProcedura(Constants.PROCEDURA_P1); + putTipoProcedura(Constants.PROCEDURA_P2); + putTipoProcedura(Constants.PROCEDURA_P3); + putTipoProcedura(Constants.PROCEDURA_P4); + putTipoProcedura(Constants.PROCEDURA_P5); + putTipoProcedura(Constants.PROCEDURA_P6); + putTipoProcedura(Constants.PROCEDURA_P7); + putTipoProcedura(Constants.PROCEDURA_P8); + putTipoProcedura(Constants.PROCEDURA_P9); + putTipoProcedura(Constants.PROCEDURA_P10); + } + + private static void putTipoProcedura(String tipo) { + + tipiProcedure.put(tipo, LanguageUtil.get(LocaleUtil.ITALIAN, "tipo_procedura_" + tipo)); + } + + @Override + public Map getTipiProcedure() { + + return tipiProcedure; + } + @Override @Indexable(type = IndexableType.REINDEX) public IntPratica addIntPratica(long territorioId, String tipoProcedura, ServiceContext serviceContext) diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties index bed90e50..aa480c6b 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties @@ -13,8 +13,8 @@ ## build.namespace=portos_bo - build.number=3145 - build.date=1621866062117 + build.number=3146 + build.date=1623939194375 build.auto.upgrade=true ## 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 4d7a70e3..eaca0f15 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,3 +1,4 @@ +<%@page import="it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil"%> <%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ include file="/html/fascicolofe/init.jsp" %> <% String formName = ParamUtil.getString(request, "formName","fm"); %> @@ -23,19 +24,20 @@
    - " type="radio" value="<%= Constants.PROCEDURA_P0 %>" showRequiredLabel="true" disabled="true"> - + <% + for (Entry procedura : IntPraticaLocalServiceUtil.getTipiProcedure() + .entrySet()) { + String tipo = procedura.getKey(); + String label = procedura.getValue(); + %> + + - " type="radio" value="<%= Constants.PROCEDURA_P1 %>" showRequiredLabel="true" disabled="true" /> - " type="radio" value="<%= Constants.PROCEDURA_P2 %>" showRequiredLabel="true" disabled="true" /> - " type="radio" value="<%= Constants.PROCEDURA_P3 %>" showRequiredLabel="true" disabled="true" /> - " type="radio" value="<%= Constants.PROCEDURA_P4 %>" showRequiredLabel="true" disabled="true" /> - " type="radio" value="<%= Constants.PROCEDURA_P5 %>" showRequiredLabel="true" disabled="true" /> - " type="radio" value="<%= Constants.PROCEDURA_P6 %>" showRequiredLabel="true" disabled="true" /> - " type="radio" value="<%= Constants.PROCEDURA_P7 %>" showRequiredLabel="true" disabled="true" /> - " type="radio" value="<%= Constants.PROCEDURA_P8 %>" showRequiredLabel="true" disabled="true" /> - " type="radio" value="<%= Constants.PROCEDURA_P9 %>" showRequiredLabel="true" disabled="true" /> - " type="radio" value="<%= Constants.PROCEDURA_P10 %>" showRequiredLabel="true" disabled="true" /> + <% + } + %>
    diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/.gitignore b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/.gitignore new file mode 100644 index 00000000..840e7d31 --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/.gitignore @@ -0,0 +1 @@ +/classes/ From 701dbecfad56aa3710ecaeccabb54114a0bf5239 Mon Sep 17 00:00:00 2001 From: Mattia Gosetto Date: Mon, 21 Jun 2021 15:44:32 +0200 Subject: [PATCH 06/11] sostituzione label --- .../docroot/WEB-INF/lib/commons-io.jar | Bin 214788 -> 0 bytes .../bo/util/ValidazionePraticaUtil.java | 10 +- .../WEB-INF/src/content/Portal.properties | 87 ++++++++++-------- .../AllegatoManualePersistenceImpl.java | 1 - .../AsseverazionePersistenceImpl.java | 1 - .../persistence/AvvisoPersistenceImpl.java | 1 - .../persistence/CollaudoPersistenceImpl.java | 1 - .../persistence/ComunePersistenceImpl.java | 1 - .../ComunicazionePersistenceImpl.java | 1 - .../ConfigurazionePersistenceImpl.java | 1 - .../ControlloPraticaPersistenceImpl.java | 1 - .../persistence/DelegaPersistenceImpl.java | 1 - .../DettPraticaPersistenceImpl.java | 1 - .../DocAggiuntivaPersistenceImpl.java | 1 - .../DocPraticaPersistenceImpl.java | 1 - .../FineLavoriPersistenceImpl.java | 1 - .../HistoryWorkflowActionPersistenceImpl.java | 1 - .../IntPraticaPersistenceImpl.java | 1 - .../persistence/PagamentoPersistenceImpl.java | 1 - .../ParereGeologoPersistenceImpl.java | 1 - .../persistence/ProvinciaPersistenceImpl.java | 1 - .../persistence/SoggettoPersistenceImpl.java | 1 - ...StoricoSoggettoPraticaPersistenceImpl.java | 1 - .../TempisticaPersistenceImpl.java | 1 - .../TerritorioPersistenceImpl.java | 1 - .../docroot/WEB-INF/src/service.properties | 4 +- .../html/fascicolo/navigator/header.jsp | 2 +- .../fascicolo/navigator/page_allegati.jsp | 3 +- .../fascicolo/navigator/page_versioning.jsp | 2 +- .../docroot/html/fascicolo/view.jsp | 2 +- .../html/gestioneattivita/view_columns.jspf | 3 +- .../html/gestionefirme/avvisi_da_firmare.jsp | 2 +- .../gestionefirme/avvisi_da_firmare_altri.jsp | 2 +- .../html/gestionefirme/avvisi_firme.jsp | 2 +- .../portos/fe/util/ReportFascicoloUtil.java | 12 +-- .../html/allegatipratica/edit_allegato.jsp | 3 +- .../docroot/html/allegatipratica/view.jsp | 3 +- .../html/allegatipratica/view_accordion.jsp | 3 +- .../html/fascicolofe/verify_collaudo.jsp | 3 +- .../html/fascicolofe/verify_fascicolo.jsp | 3 +- .../html/fascicolofe/verify_fine-lavori.jsp | 3 +- 41 files changed, 84 insertions(+), 87 deletions(-) delete mode 100644 liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/commons-io.jar diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/commons-io.jar b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/commons-io.jar deleted file mode 100644 index 00556b119d45dd85a3c3073b1826916c3c60b9c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 214788 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

    M`<`y}6#-im4-#}g z&>B!p2GE>zxnDbc#A8Z(ObN_P4qEKD_ZJ#x95~WbXhGAH-k6M+D3g{slJupb-w3!Z z_Qfh&U1S%sqBia?@kCBf<^3Ai*kV%N>K<8=LcY9aCY(r+P%j<6ranM5cu3!e3?uJM z_0ve{qT}%tRakRbIQ-YU@#>yGjbQB3vMT8THIn;?P?V>3mG-jJ?A1d6-Wz0#L6OIU z;`>OrpwnUVu2Pm<>knsZ&ypA~3|z6=$WTHsofW*Zu);BfHSHC*tei1t_nVneHG077 z(RLaf>A8{PMErO2XKZL|Cp)aMR@P9X0$*Q9Ult)KZL8MexdkKL8IHk!(?iyT^e$C| z|^7;n3$jh?={M1GMxH(*Q0+t9Z5)>Fej-Lg@v)_%WE~baK?4};Z zXn~q<&y()%buQV9_el2okLwZ@1Fj;hjb`3BAwAm6C!!;f766^?&31CHuePWX5TuwR zR;iZ%ZNZ0dRgqrX_#zCipwd0W z(nyaD;*5zOWd#WFuN0%|M?%}jfss3HNr}JlV+1D?Ogcg|C7&TA92^5A+(?FshiVE~(S)!ksp6u@zn>$7_3J08;!mQm z3g8_`%ufj$$Eu1qEGJ7eZz_T?_!^NA9E+8pS`5XTvCPNBs$L>cOcR7SXy)Q@0o@G> znocJLjz4JnrqUI#`_p*$Y+;Z=n|6WBKzN%mixh+g;IS8dNP7b(%XzG-T0&~ zJH*bWY3V1J?iYsG&w+-(Ax`K&j3h5qR>7;@V2G7Fg`hZ3vL~@dWz^|P#uM`l{T#Om zFh3}~$WLFhL9jY1^iO+OPoI(^VabeBvx*`!p}|qeogkN~?WDGDZMkW!j_IKLoqHA+ z2btA(q_rG?gKFJNQe0igc+d;oJQ`@D%aV|Cm%BzPGcNNeBE}9IdoxpWfUp|kcqMVE zeSm?nciY^5YJF1RS&^w74>c}wMO^vm;USeVZvi8oQAL?Xj zE_#9#HO`VMXDQ?((_LS++V8fr{5pQRnzk`NyRyE#Ftg%7?_tnz(rKZyF}qs+#%k+c z)ncdK9| zI_8L6>*D0hk~J^PqLYGEhN;d)$UgE?DQH<3={+IG*&g`=rc*vSiLV2}b%m`&sC@~a z<$6<`tgNFwr#w_th)T)7y<6PuXu#362G9pufi-7#4M{rczC37qG;|g6>8JBO(!HZ1 z4BvVIxTYx8=N(M3FZP`+d`HW?SThQk}*_|_s<1A zLnAC7gDG#r-%xz!W#(0E&C8iJ%W}JkDOj7;=<%8GIfVePaAE%a8Q zWuf)Ws_P0_P((_JkOQNBGDIQvL_}n=4-_#^gHAakI|IR>QI&}BB+l+SNb<6JCk){a zU{X>0VMUY=WudN6&FE>J?2{ii5$wI{N?L1Vvb)PUC+2fdQ+jcx?y{&k2#+hPg^Zsblq9_>~5{kshj3@sQG(xP(My&KQx2|M<2* zrE>E|t_6-&V5ta3QpjPk%$zqb4IMPYB1p7qo3=*6<@#rC6k z9sEuQZ_!U!j#_XXToSUOkavN@F(;9{RFN`d1N;mnoc+Q_hmEwfuP(qv@JfrTUW*IS>>H`P*k<@xdd*+&XoK^ipj6UvGC+XjL z7vKt0;8BiICQ9(G*BYK!y`~18lnqByBm>b)H+c`;BgX&uiA+B?0e*x&teM4s2u4BA zkUTEQ5WmEGC>${kt!!vaYG|AS?+HfFQW%}Hs?kTTP%mq_5wQ}E??~#;co(P4aFlFf zU6jJIr(l>IvX%0krzvHN3Cufdad#$UYC5f(O8lyB^;`q_%%+Y%t1Me3b;d>v@m;+$ z!Bm-g5oM^r_6OLGO4`lUbVU@TPB$uYIE|X#_yVo@INGDS{&a$>1Tjr?Li#l`aqI}E zG;I1i1uRTXBhy}b?Wli~ftiuohTix-`YT-)!n#_ZlSfUqB@GG+b#79JYB?cZY9aO< zGkYPd3envN)-83vf4mG%uIDYSQL%_D9*kZjYxu&h+$d30HwBIi;SQOqZ`H2zKpQ60 zVO$M@PF@^U3i(1z)g0y#^r*7i74EM{EjcHoXZ7A@f5y2A8Yd0P9V@%W6{9J%#=zA6 z+8e1d04;NvX;ibrrgCFyhAGbk@Y`U12$lG?rEo{(jEJU9PYoMph z+c)mtgaGrlBt9>hW&*5BP_m`~&5$k@0FQ*VfdV0fML@F50SU$d_I=)R@J|=o?8jE$ z7dI6xPFGUF7!(_P$KisQ=wIa(Pyr>ed&wDk<$=+W^#a0Wt1mGFCG*hDBYelb**_KO zd9WfR%O+$spbTNm#~i!OQ&JO*)D48eF^91vDd*l->A8Hq zF_oi<+2(Lc^wc6Q(sOhvvmQWQva+@$tV&=9&8H8&SS1k*{pOQw)QTa+0sjVTwrad1 za&Mf+UWEiZ2U9;M?6L#zzIXZ@y@1}7xKub`IX(gAg0(o=EbwGk$^oA334S&X-UfZi zn$Eh1L*&Qb<8FyWf0UAQ$q?hFNpKf8GhCkvpUD{Gwk~)WBA9wcoK=%a7QbB3Hq$s{ z2XMiKo{;%9mSdHv=SXOw;3TB&xAB|4*0SnYReI)DM>d6`R&+o{M4@IgTfZYAltpwP zEq}KHvCNe|Cs#m0uDmq4;}=0_W`erlNjC%GGDGcg;>o-(YLVZkCF3<4#uFCBbqEM| zNVkLxNM>Lb3H2;DQLZmhsX~w)cS}LF0~(I=IBn}CU)qjB)5n~9r+eAZ0Me#Db8Gf; zrZ5Co(Q0O&nO)`}Wb->`ua05t`_4b3*|eTem-@ zf)UCV3Ybc0-qHxFs=Y)3w(#HkSD7JvO>NA{>ZARHfl1@*PX?SJAT2SO&6ev6v`@p? z^Sb!3yIA*7P3m=4BU!y~FKw>bC!c=ImvkN(wyE_79SZzT=Q{G*I%1o0o6LNB+77D% z!0Jt-Z>6I!fT0m{RSUwrqbH=i9x{UnqnBsxE1DV=-AfO@YsTHl4Og)h3qnnD%kK4% zK%l4hR6T@E;87+l9|hNqFfl`@q0Ud=RlICbKPw*O2}a46 z2EjLn{!(!>A|;SPiWEN)&N_@VW%IEpGiy%!KfYY_w;-n#Ni`j$m_F*P#88yw704B|)V9aNz9tsDlNKJ>Brgp^5Fos@6-b zqoshtJjimdiF873i%5frgFK@H6DwK$h1)jc9p)@2ikNB47%qb;WL41bSCgenHh9Qg zbmD~vsr_z2x;0(FoTjl9nPsssrM5Ylg_@RJs9GP!G35Uv>>Yz_YqV^^JZalJY1=+& z+qP}nwr$&X=1JSOZNI$rz3#X-s;etv{n)W0)}I~IbBr;A5*GVMy}(>JW2MQldFwUg zi+JIJoE;pPL)()q?F_0s|C)0`{R(M-m&O-ewr1VjIlz9HiRqSqIO4}kFOyj+IR=Ot zEHzqK61wu+M8FSts6-2BDTO{cL;dB7?NMe$q;OS0mdzzy6(IsAbk(mkl{|FPk$9h7 zI-?fe?~M&0NE=9}6eYVYa2Z>QS;SM*F6zT@;w^HHx?z@om=*@RDWcWp8IkIp6VH?T z6#}SVo2bv%h&V`>WKC3ypk6c%`cxR|I;MHV=O7m{A*59-j%&V-+dmBpCv;uVjrh$t z_LgaT1^yvQKGJW)c?11GfkYg&ux3c{5p#^-KZ$AhOxx8n8u!iz|(O90@{fE(uGwje)-}qBO zR?zGy0SiofW!5Q!)*37u8|=yV#UX))+8z96QP)F@~Nf&o~;=mc1U!T~YIT8IqP zUlF3cMExFcO=NQA3wv$~5g8*-q>iTz6=<%hXw zq-RC+&)ff(l^{QEJ^w>g+-I}104$_cA1g>i1+NMWg4b$9fl~3M!l)-ZE3OD*l-6W# zW_B*WQ>%fIq;G^RAfni! zV``t4L7yma{Ecq?E=Ry4J?w?gd+RNkCBzHk>e+8pcvfzPT0mx!dj9BuKOJOf>LEsO zAUAQZIWw7;GnO~Nh#MJ*RJd=KejuI5Ar~(NS%R&gm|Y$NMgHRY9)IEc0@k^M+@5{6 zG_f%aQpOO|=k0+IS{WKT-Om!R$nC@(RnOpp7(5nXcUE4H7TiXrcobo%8u`~ol=GO7 zKKC(zZBl6tS-zO5ap`gTgUTqp@mP5W)#t*55y!5ex5?%hoUaQq6k# zX1fprU*Eh40wNuuZVW^xY2c>QMVJQAwBKq&8-aX2;cx1?V>DUR<=Eko`VPmGD`?`- zswm*D!R#FC!~pk+W!EIu2;wk3ORgW>CntTJhlh@_-a?KinzkX|0 zw#%0tI`-%61c&L*A9yiV_V?p`4M6oS5E5Z4N2s1A(tUO6x&9WCgTRE8nA`S&weUn` zD+-VUP%5jQUSBUYPz2_L^!ybQOGWg)+04~9QY#h+)$+QFxt>xG6MA$HmRB6?rS3EY z^TE>7rHJ$D<9LPk`|rwNKZ6!y=1jZJDZZV`w(N#Iw#Omc)e4)7>Q zt98p_7ILgUwU3g+THd$?^acqu`{ac44%b>8r+CYxXbapWYDJN`R1cC8N;Ea6>))bQ zimhC1>vrmt`gEo5-=*wv+DP9ZAMs?SyU@kdnZ2b!^z@`d2ZNdY7O2wW)u9fk;`$_m znuCqOP~zXkmzPN`E49w+aQr3Rv(A7Ts!peJPfq&OuHLFA#iLacnATr9lgyD_`JbP& zQ9J-`uBynY#q~=U3oLEW4vl_Hj=R%YG>D~-hMh+X92DxMkBxWpJHUHRYg}D6X(>A# zYVM#_iEP0%B={ucBueeBk&b2`=)*GQCv2DO&@;(#gIMT;8GjL{&`I3-jD)Li-YYcy z_!Tit(tw&M;lqoa0fmq8GWaQFzjT|Yobn!kPfO5C6Yt*O=;C<^%6z%_&gkV|3*@~G zOVO53)45sWc=f{q{oPPOFQNOUN0!a5PvfK=S<->swR#g<>g<)NlX!kseLW0a0l=bj9rU`RXAu8FP|)n^ zr=4i~DzwAr%H%cFmcI**9`-0SS%J|_TDZOeyC!@xic+t+AA>3Xrk~nJk~B!rY8R>3 zNHh+y_Y5cY+`3frQ&TXkwxcHF6D&MbC5jssoE!TJ%Ph`1DJU7|i~u|LaGyIp7qrGE zD1u5G#1{@yfYu^?Amc!c!Zm=HTk>!e?}W4!HAyL0+IeY>yhajDKx=u)=fSff-@;S8m*M{-mW5$0*lf~Yc%km#t zH6FzOKa|Zs(L~0RQhl;Kj-QM$^6umrHjd_K;=%r9Vkj{VK~`Pu5zphOH&*w3KXg!vh0V-=fnHL z^z;4ujQdp9q%rH}!|lkH$5obt&+*3gPYUZO`F8mL_Dy;Tf>sDV6o5eFsqD{Yh>zbW z^sJ3DK1EG_daH$dcXRb6#`H#RN!~SJI~f?U!(we=93y=hAXR%qmdG(ah1GTr&EWL< z>FF7_xHmS&C%rZ{t_OfzV~eKgK1?vK9T;%$_Vnoi5Kc+&NjUO)s^2y1P6? zWDGSrfXNB;lrxNqEf*VGN`=)Oep!o>NtvJdCMVj8jnF)zHi@;Qw+~G?AsS9bs_*T4 z9v6t|6bP6z6s<~GNpD}3#yYDhbLxwiX3v>)Ejdz=IC`pORX1woF0^ki*^8qDr`NBm zR%u8S!OUf<41O%QfVt#SqS7NpQd$*QRV_(vYE$l(&pdc#xll?pi`p{sw9VyZsGD$X z)ey5*e1c9YI;+YpuH=(A;hKgJmoPV&crD=PPqbdp780eU7E0@jR^z zx@UfLzwLEJ)OvJ#^C`!8`&QES*utAMWo9MGayAqP8lm}(*QQM8+LRvYB3Y@ig5kV> zU7SfX)1Y%pNc8VP_3D?FH#`7ypEnB1N0c|S{MNH}S!;Z3Z5EO_byTM=Hd`&PnqL(K zKgg4=+Vu@T4c-+j1Xc;<>w=&xy5|V5B{NcpsS zXzXG}RO3G-eUu&(Lx>OIxffyJt0Fa5B_BSkn;R`{);8JcRr71e%u0r* z!nKO4*4AJ(br`3iz(le9L(0lZ-U?fRQrV}Dp`&o)g>H5onfdO*ZPO`71ZPix_GTOkuXcDqJ08Q;oZYKH>a;;W+7y^X!Hs1ew z&jZqWmQARYdp}Y|vYv z`>GrCJc?-=mJ*>c@&4MMCz@6GcK92pRmCQwr*u2!xE=dGoyF2gVWawEr z)6pju$d5u)mD49?u+f43J*qLi3d0cTT0lk+dgZfD9HI?$iZjt!qxEnE`5VVl znqiKlcX=V;1FyhUMl=^5Pv!p*h*$1;uAa*q|}tMcn*^u=Bkm zTUSSzyU}I#%@RBxn*kmo^adz*C!!j5pf!&$B#z4!v?L6*o*UiF$$)V;5)trsX#R2 zfHo)vRu7a#v(9zdSC;0Zz6bsyY>uJ%G<5!#3yYckR96hCjFDKGFPZDd4^0(i&usQu zS@X*#@R|xbcWibSxB|M!hg>=;J&XZvUTrt1d|qlgse$s@2N2C^d;{np+S(HxgHP3k zz#!Vg*zO|CJIF(?X5uHyWI;M5)ZKg=Jz+Qx*cgKviN9?2VLKD{Sp|!BjpeYbOKxG~ zQ_}_1%$>szT&7=XmBr()c@@PK*?b7!Peo|csF*WRu&7s*31488F ze9*t%cBY1rL}s}BgfvKNUC-HQYB~u5WcS0MlNE!-%1!d(0)InbP~nW!CsZq4?SOMt z7xazHTwb`p(kZjaBP|A^RHSPA7r{;`9{gesLS^;*mXk ziN@WLu6^ai_3D(iexS7M+X$X-+u?orf!)e*1^VoYePGG#a`Qc^=ac&7{$3dnJk+-V z#MCD!B|Y)Qej}wLLM(v-Rcj08+6^EJY3bBo^|%pVUQ%onosZ^siS`dq@nC?_oVXq< zXk*&R4OV0kfMl~q_P-kQzd~pOr5eW(2qM&C#xjA$&C-8OVNc$sPSa=V^+*Q15n~1y zb&#W6%$F-iiY9}#)$XnPUIdB0$e!S9pC-ziX6Fm>er&`}srID`y0h(4+wf!(s0{o5 zF9CsnFL?g56k1KO&F6#!066&3PyU|;1pX<71Wfhp6^!hhjI0g*y=VV_1Oy;l6&F#y zwyE3_Qbth0MJN6O^Tk8JQ}I)y6Zz=^>5``ZOHwhv9&I_aG<-d0y5zVW-yi_o-zJBj zGcoPB!{qeC47DQUEZHJiCm%5mvHfZRcd7_qSF~Kt-F3&aPWgg0yL#BAIdu_jP!OPZ zHfzPoNebu)S}WMa^^^{NE`RBKcouW$5%u^(xJWsPW_TVzaDorxQ74lgqU1RnLTi>9 ztwn)*tJeb;^LAqd!)S#c193hQ$dQX55x|dwXsv^ARx9f@$3-)VRR8MBBx3j&Dk~Di zK_Q=$xT|7h%B-Vs>x9?6JHX1ku-e~Uv_}p?3{yp^%v8O-G1pio=QmfVJ5ldSmBgZd z3L{Kp(EbY#xzu9GT3f5fJE;@xmC z)JZKRhMXh!I^~n z^vYJe&;Q7^zG6ufJ(gK!whi+KjN#sVS}&nN(Pbt7>l@^5_drMD1RY z4g0(vN0Gxm8`c%?3f0)*3+}XD=NwvufCUn{wZgER%&eFJq5Y%~Fdx|Ryy|g?B766B z*b1L94wjLJqI=+l9vqVlX)9q3Q@XZ7U9BtrxJ^s1X3Vm`FjAiaEqbN)HkjZxu~#IQ(u8UnHG(0| zmPyi}vr&AHN7%X15HZY^fm)Ny0cp}S%p@M)K}a=KDbl~DZ4VaYtAEB)eLWpkM4p4k z-x`o_ zm4VA1Ce3zm45}Tc?N9h0n3ETJZ-Pk~jP^flD50rkioZ9l1_1})Ev-J&qI33zb{EgU}(Ysz1eqILFJIh6C%`aYiRu$(G~>~YQu-C%l9_|A(UPG4}mYxdz@ z2oVbRWm?roa%QE9z%Dft!UUIw2I?BqCL9FI&=Kh3#r6s6XosaBrKcS9DhD>2SrW9@ zSK+4zIpp0$B+jZ7>DN(iYL)EM=8x;l7VOz@d`0`5ypU=y&jwlN zZOtGEXpR`2AcRl$6t)4@oV6lOpS`rme)nZS7Dt6r&I_$gD4ZlNrM6M)1%vnZ>gK}| z?UAeLAk*=mMk3^StLy6OWPuaihoL(7ZREC~NYZ#-r@@LypbNfvXxV}+g2>1-_LFV# z{XSY{EL~XZRHHV2VuDqyOQsLq>QKcDxR9s+S91$eh`FliJr;> z&hQjLVd|0e$7b7}HMMWG$GaUjvgPT@%nyX+I%0XSK>fKN2>m}IMFWYssZ+nrs-O52?*!WX zY5-9VRf7*d;;jz;2BBc*B(Z+ci5ES^(ImC&KUT8+{0l*gH4SfdTm$ZX%^i5fQkDvH^A)*e)B0_w0w|> zTcDmhtk^UnL#$~ygeM*#ljjlOEL|arARy>-@Ta>?QGbvb`on=3I^KYos51aQO=Ut; zlL|OQqD*BK*ge4=XZ}8hiVkQny^a^3RA$o=o3i(g#@S3*119{CilgVFt7;>O=!Gr4 zpa6rXL%+61uIoyju8%RGpvk+Dpa)7ZU>WZsV_Y@9B4bR7gWUI|Ae7rzxU!m%4f6vR z!JQI*-7g8KO1I}c4t%dmFQF@jn`ceV_Jn7Qesjqy?C&W$`s>Bk1jp#`!W~pw#ZCZ_ zEmY1QN&z;98e0+b=F)$@WrBsU5oV`vjLMwpbm>6*@ZwUisJ7wf#=@MjlG89l8IT^% zV1w$gzG78&pW?=uoaiP>^YHM*I|-%2+1v7c1F-!i;=W6Be=!)CNwl~KWs_#2Gv$XR zJN!hE?#^s;-{g4W)Jecfx5tV&%bJJ7%4pm|r{6Ls*Mc8#`9frUJcfh48P@UA1IB4f z>%8~tqF;}vIA_PAW3fG0XycreC0Rq|Too2+Bs8foD9k|AZqZ223~E*jS|m8pt7%vO zOM_uV4##)bN_O}l7`ffY>0RsQ zwi>t1$QgGya1}A+85wsV&l?`g`nbd!-h1Uj9Ro*Aa-1d2^lVxjW9Y5St(pQXLvHqm zQlq^Xg==1AENOv(tmnHSm_L^&)EO4@w8`>Ux!+@^Jg!y)Zb6}X&cP*eR)dOZ|Im;$l8^_6nxeA(B@vv7zwgJ_Ip zq7*-!_GEkZ=S$69QT0|OTgXczZ*R4?*Y}zn4^OVhHS5Iz?b9C+% z_59N(ZFYNC>T<+6x!nVq^-6`yRg`=zVrHvzT^@M)BP}9$E2SdU?!t7^n3hyCTQ66x zk;|JVB*)*Pa<=Ij@L$8af3HLTvqEK_?BRC)8U5G%9QpX)M*jl;l6sf4`PalwM&JBL z4gSB)?Xr|KWUxfgxdULJ#z|rU@R^9w(j#n!VDhXm!KK81TQDfiFv8Jcj~ZZ{uEJyx*L9<;lV5d3m1Z22iQB?(a7d zKp#FPsosM^0lOWcrEs;fu@3jUaziHcIe(v_Ukpgiu0susD2P% zJ@gv!@9oXsXWxzg!!k=)Z0-DUk*-n}G(;y`-x=%q8(!zBC8<|*>Q*sNc}u>J)qcF_ z&~>V%==~39G!JX!?MSNoq61sNid` zuY?j9L^Pxft3Ikd*P`l8$dDXnZ*cGK$)2P3a-z))zA|NH?Uk*@Q`bC5=fWy*rX>&& z-9{9|-ILz^46PX%Y{lt$aRojkoY{62poWF+KX+B_6*41KZ%w_*711;vS5EmEi?67{ zwdT9v(U`4PyRb`C8$;ZF4L0!sK?*OiDhINeewjgBkctZ#B^JAYG?1EJ+a82;PO>~; zo(5H%ja&SdEW#E7=HBoN6nSgbQ0!?ZuXK`+i50$b@_Ky9?9aD?^%;_pIJ~7`nlg@W ztnOU$n}%F%HjoR^5+ti995?-Og71^67mrU)XAMZ;$1e;To@HewRR~x58!@`bUTnkj z%bEt7Aqr_G@MRCzC+|rkJi!6GYs?|uJP#yC^uzP3?rg*KzXUn8lm$DGQVoy9uE1KQ zcYy|*hEwzMxT-l^xIV%3>lSQIJfdH$d6K+?{WeSelkIp7p6YC7>-#@1QJ>_NvWLx< zOo~t=>@xFGo{9TW-GCUaxZZB%7UtdV^0cu$zlyo5-zBa;K?w0Q(xtCIBS$A3-QBCj zYF-p1Kkl|AyngD99c#V@X6AK_!q{PWO4H_&*A_5OiB1@X4Z~@y$d_n@ZNdONf~WgI ztOH3Jd_GW&VG^|ho?T-+hl#(nZvZ{K!&K}hKg}$4&P=`sw$KG0G-fN6w%%EEU+0u{ z4V?wgn%CQZ=>`3}AOEL^lVO9=Nd0)Y{LgZa?tj@DD;oXx)-y>#%I0UC$34wB#T2~{ zJR&WwpOPFih|@toBcCe;MT9*1mq_SUwUK|)kii`E0>gqU&uEok!K*A*wa##$SbklU zN_Sd@A7yXjc(yQ%N)YXS%gyDg>v*Eg=IibFnHL~)gc-`_m@eAIo@{4RF8{t>Gj`vD zT{E%B_Zh_N_lW>s3b0mlt>JEX|6l0?;H&I@$9Ickjgr%l$)?ZN7QC8~xMN3J%E-2? z+G}c3volbO>1n&?&SEU*4!xO_t8Q5qR<3Iy>!8YL%ESP@FE?F)s}pct~urVfstqS)DH1l6XD@v7v&$gI@u zq_(z+BAK#aG&(JiLj7pNgQbDbzmGikLm_1a+pT2cDCGlMW>r?h-X%FB$Q1RSnIpg? z_pTsAT;*&=y9r!B%uP2c1ECrJTp5roh1&0)MeGS5Vx5@&j%^&VoHs{IKsLy?}fN7Xsd72?Yx=W&J1Ashbe88=KKwGGTa>A*d_D-<;x_ z<6K^_NTAP1&Ru%gzwcF-B^@U1z^eTVhM;Fp`EaH8l>QW`P1HsF*86+Xom6;DGfna= z*5M5>V9ga|rjkS8vC>nzT|*GTY_DY!L(3e)T`J*5qL4irC=%-#(MKjS9!j@$EVf0x z0)}3f^ZT7q+Kw@&?+vBs>36&Y!6Pr;d2%rgb7QWWI*{kk3U#DjhK+UIC(F^Uxt^O= zT`agq)HHCU6jVu0LGPnYH&1~EMdwsV3bkDGq*h{5>BZoj<`G(CSY(?Cde%F25#9^J zOiZlzgKIR?Uxe_aaHW z;jtsTU(a;nl%zM@pD%n+t#qdGu!Z56Q|7eg*h`(sDneO*b*&&^2<~OKF6`Wn5#2Tq z&L;n&jOvuhuC*o`E0$K;Ypw`1zsCjq2*c%Qx5hD+)usuqfZK=&KuHKC#)PXbwA8-- z7eD>q9r8b26@c41OX4RH`~F;x`JW|${uvkje*!%I85R{OYuI9`V0AeF8O51PwHx+x>0YRIfQNoqqdr(e`o7yZ!w6{TieFbuE((W(zDc zcnj;f(krqDzFR>5u=@qf11gcuZg!_nXVV+)V8xd%WR`5${<{lm&f|}}P@Rr+F0e>? zyjVh&b^BGF`s%G9^l&xEHt!jN|xrIgQRy|j`!^TjhQuCdJGs`s@0uT4$g9|P3~2C1}jDkHdh5-j_r}#)0AeO zp^Qq(vE?((ZCM`S@j=y|+Bo&!m7ImHBET^0HfKY?63-uq^)eGt%a5M6<>a(QtJ99V zD^!VU8%FdwVqB`0$Eq3v`&m}P(4Hh??(Q#QeAdZ|zQSPF*9Y@08V`_?1%5}8)M}3^ z#fWUsD9(P6kgs(UZp!c8L?vbMiq1Vtu9cyA0-)oOL+}DFZ7o%J`@H*o&|&t0q|wp0 zwTXWIp{K%>28oC*M6DF;X&xiDrI&P4@>2~YHw{8|7_Ny4l#caOh9qK-Ej*UyxWisU zt@R^CNh;}%>iy>86_V==4?uRt(p{L3}Rr zy;`Q6*wg1dRRfI*X%b`G;X$w=vJmn*F1G9qBbNE<_-JFFJ|cORa_+i^$E^&0%`YV3%7VlPW6K6 zhyxRqSqkdA9Vq85EOyr%$Ojuv7!OrA8r;drIAW)*HHg*Fx1GCq?5?*^Od zDaOfDSNv8ugpTY}xg_!XNIN_{AYW{vt&i@A0(k3T>8CV&%k9ZD@<4W|3+bYoKN6qF zc^);tKd>Lh$2@&6VbcMQ;rlQy`nlQu&ThSt6vl!o+Q4J9FQh7}Z9kH)g(juBqq@IQ z5a4H8xJOkqz2i@7%okv|GTq{CE}-fn)_)L`WOewiqgZQj)aL?TT+P>$WDC;~IV~a8w;{O7>OEm1J z9NOHku5T|`2TQrM+24-Cp@x+T9(o=o=m~YJ;IyZn>Hw-j(m#TGCA{G`=4W#A4| zw`;26$To-K7B{+rA_w?D{8$Xw5&uRko^T~~w(z?w0$dL8dWE2$mF+ltA)@K=is1kBtG6^)RVM((+@=#shuT#doXTuooP5i} zld0>ktb7C`4Uzih+wzSnj#pTe4!i~?ZVCSBxC3|iO|02qu`NZhHpxF!NbuvpgA6?M z_;G(uctz1)dVAcsSqzRE4h^(-BQ;}yejRD9iEN}<17z=cZECE$T2U_LF#euKTBlXz z*8xA1z*`2c$YtL#fSDOYNv}p_^5pemLi^00#mh~@e3&Hy!!j*qq(Wg`VEJl9nWA-j z7_U6<*{kbOwtaHwipht-)?39BU5+tR0&WI4xBfLu`nBd;v|ML{rQ3rax{bJU4Sw-# z17Rtuw8IMGeB3lrW0CRl>4&bZ_n~d{@%8ewKeElilV17lD0p!CB6njhxOiZZp&c1| z-SP#nJ=E3#B%bnuBJQOgeJ#wI6IIry`9`cHUMl3~UEuuC0QQmA;IsR& z&HhFiakA~YbMBe{-3RzBvvuYJayPEvteoV7i^2uVT@Jc%D8s*nj4@#tVK5 zq*M#f$^O~F5IQyCA0xzf?k^?jx6(r4 ztqPj<+;A~;)f5uMjMzZi9Dko|=>zVg8lrgj65RLyTJQXOR{qa?otnH#xbg$WbbtZ? zVEbQ6YXuiQTU#STK|M#k|JF7qB}x3N#2)!x#`X9}Jz8w1F7zubs=7>Uwc__BDYU{Z zhBZ^LMHC$FQfj#Z&<#HU3aS7^Zr!?6Lj({3AvSE~0o+ z(_}cE4hvyGKqZ6szm0?Q%ag{DHp*$0sZ!RD|MMoXwO;F zcF*vQ`SR7Zw*~9wY`ouvuR_3=!uL%$DcJmKN5$Xu6Klr|7H>U@W((d+4nD5V7A&ac);_OVIQ$oBzv=s^cF(Tk;USnq5(=-lkm~%UK+2n0z-JjoY%o zhp16GVhWC-P zk?v|ejYd*UV_({|=gZBNr>Lvj%S7)zO_N{Hb1ausv#u^eZ6;kdR)kN@BkUv{pp<8g zrizVKF16Vx&1hf$C6e*)G4em7C)v11dg6}?3G~lkg5!UQo~l-s|3KLP0SpSc8W`FB zOOxcEhNntlQyNJQ{tI?Vw^~Sg(Gm&|7)7Zsg z=a(lO9v>1GBCRI?-Wc1lWl>XQ7=H8UMCPa`CbWF~6H;`)oC-hWad>&syU&?kRA%f;vZzjyiVi)Xedw=wjFSlt~* zt6$yw%oz4f&r4wAmTKDb8)1NB+=a;@*5_&=A$mPD5@laz{ZCz?92;14kOrh^q|%aV*<_zRNpIe`X5zdsk=1c{PS5+0 zyf3EV^dPNxZX(1_e@IOU@rjHe9|fu{#f=n3`_m!yXQGjWhy@=uY@l9}JQwvxRry^g z_8%smw+dgICTa%-OZ@!}1)3#Ih)xJ87_yhCOXO93e9x^D%OjOaE}78vrvx->NMb$; z(g12P-yZr&$hlLLMF3Ydk3B}V(3HKpXf@?2tC)LRcEoD0R>1v2 z+<1Dwnsh?^=TSsrq@3k7R*tts!GLHkj|A3;qFc5r7+E5sbuS%ODb0}qH)D8}hF#kC z-_i}v2-CGfpFrwsLF_x#t4#s#&H|T)35Y@LyARVfLjRyg&`eeu{-@LbHw*ty+uv&X zhRORO080M;xv%}d*uJ9P&oznvdq|>56~G3h%eCC!b|W=oO;9|`@SAwN*;w-Wiv zFLDTY2q|BZUd)s7frDR!1CktRrb*VDRn41M>RMVF5l!AZXNp73s`tN2O)vZNt28t= zn%8M7sr#3vH=Q&z@wtzu#>WjKt=m^8Y1^JRJf_*d9j>^aH}3By(mrJXT7CUFoX=aA zVICEn`+b9bVvl&tu2M*@_m9r`xpi|9;Kpw7&7MT>YnirVk22;w$78x&1xsxt?n^@- z#pg>3wtEGkMH^(&KN-CKq>mK3X^tRiV>8jg$eg)~KX{6)WV768eH1W-7+%);`Sc^G zc?lP0FWz!vc5>Bfkzz+r9 zFqc`ISZy@>^zo6UXf;-6mb&$E^z8XKvL+Ttn}-@Um8-qg@=U0&4BZ{3QT?0C;&#^J zCDj6T`Fvk9Tqh)}ffkxmN30~xYkKAIH*lxi#>2@(p>wds}`wuYYz6$i-cBB9i%gG zpH89VNUCbJ8Inx4kHupgL2-IcT7;`;ZQfE+A9w8?HoLYnHWc8;)wXw7S!|e{Q=sUR zQ+6@8L*+k?m+sT1J<#ooD#eUifUtc^A<04w%pdMsryTjc$<@tcEnw+_EBq0 zc^g$V&3Uv_Q+8EGO%n}aVjY^{ZY>R0I4BFSVD-35$wb4&O8lbiHb6il10JvoNODCZ zm4Bi%Z!~eQhp4b^|LPB$M)I;eKdGDTH1?uN)2GIJ$uSriB(Y2;!H*)IR7RpUMKRA{ z;*_!+1VysArAN9{HPP>aRxyYQ;~gO8h|X}uAeD6d>zE-*Qm2)UEMj2x1Rq5z^?~JW zvWGI8HHb3j**~cCLZmn6VZ~$9%J8J*{O%R7Fldqg?9`dJFNL(ci;472GwJhp!YADo z>f31Vx!(cmE1OO)QI_QvER*4u#Tm8=t}V7rynl4iXCDWNb^NXIIYtSo#BO*{H;lrh z>u;7^K!6uXs^G;hGes7C38D1V5*SNtM8BXo$MU5C@dSq6&22Nf#s2j}vpk6pJ&|0B@(J zp0cZ}sdSLzaPap8D-j`x-0RgSvouV2uapFAhW;LJreKE~tb!}Kfm}WtSqWF&dh!Ky z7%S{!e|_B^Ge|##&tSizr%gp%YfXf%*-oC6^tUN45?)o*iNMx#iw-m=yON4Rw&PENUU#HgTD z`6P~HQlwQUdX~CNCzRVX9J3pgXD1Y&u^W|l3q)ZNx7gzuXJy>jS$}7WP}>IZg6auc zoR`Zk!98mSxs*-V!F}mJ?jmRoFGK>8(uin!jbe=f$|vfYiQgM*+`GH}&iUY3;z~gA z5J$oDMT;RHl4}i|mAi02ezzRr5A!gBB+wHe%4GzHhYzjoAPDq6DWVH;t%0LVeI3j8 z1wyjb1%#FC4Mq@unymuhwCaVT8CKf^Q+NBkZ`CjM$eZrXaH zDE^p7A^vj1$bdpx?~%9+HEuBu)H2e02I$|mr%D$1B}D~kJTDE%4?#gLF3T(gQ7$3p zf2gdwZdI9xBa=s#Q`S3L2AkWCTvJSz$q%djw-1Wl6(5YYu+x#U9A4T#vp(*fO&$8` z9QMySdb>D9w*D4S>I%Z`lY#sM+HKn#eAvqy9s3?mbGiD1JT#IiLh-ErM1BNaNHQ5E zZ*_jbR9$_vjZ{T_{Zv>x2kF^aW@&{(e)UvzJ4ER3$&!m9rszoMcGZTL8;JD~Cueuc zOypy~Uztkn4%9-cR+gm1;A&XA_ME8xv;DhdkuE|5#rdY-9O!&tgeSVdS@RHUC4{D% zEb2%xMw8>FMnI|Z;SEhE5H}ob+F&CV`=L{rRSpp6$cEmUFIE^*7Af~|wVOe}v_d zozWgxGvEowAiOO=(BVDOj29t0LK_bC!83nlLu)7K7Er~bht>q=J_P)MiGbhdTmW9`=kLh;E2TY;qyMt}^ln{+uun zUTJ_bspA7lkyvWWsfGGl6PU5U=v`7-xiSm-L6dMdyIf7g;bZXlE7O-syG`Xkx@pdH z_};(Se%*Y$+qL{$LbXw*V(Y{XPpW{SbwMZS3-D;Ot~fY%W?7DOA&dcIkMcwlx#6BT zv>E;Um_mC?z_ziuUEVjt#T&R@cmXZXrI;wJnd@@o9XFGN*$HqA%q}T-dSRo;Q2d}Sno*b)RElaCKH~Yver1Nj>zKQ)YL2Gq$m!S)l;lWiJj2bF zan;Z6$jY11VaKx>F%;R8eAgP-9nHoaXw?X&_6F*c>y5NLtKIw{x53}ln(>4$6SK>= z7Q^ib@cF>@G>^nKd`@}_@pR0oION65EjE8j&XJN`%x z?H=H=E3_ukQylPsXu-?3ZPI<5c1?EQ)$7@#-<^_r&Gs3rUA%oqlbzd=dW?MEIlxtN zsw7pi%*@-B2XbmeElAo(!BHlazueexf?`EcvwY*u-Bo5kVm$?SY`gY>{N?X3hD#&P z6J^oX1(DOIvsbfIV15*L4y5k0uS?F8G7=C!tyR0_6@NA4J8aHctK&M{%z@NKmWX_i97KaW} z_2DK%F=mOLkc=p{g=?UXe0{oPc`J#`#AoJbIHwEzdgKD{N;o!{5(A<&Sv;*55|#p|DzTZi{20*?4c z_K2y3`~2d2H`(N~kP4Lh=G#H$lL6p(u3f`P9Y+EM!+2HcVS%W<($YrD=7%r-sQobN z#MVnBJ1o?Z>rLjKQW=4p>cG!t3Abz|-6f6WuF4s~$7<6tO=)b!ll^v=nw@!*!|UqE zCXMRp`9fyx#j}=GOJ#qsUhlTTX>XG_@Sb;tG7H)(*fssJl*qUmxqHFAOJ2Vk<15$yv|C;?D!rm!L z)@JM0on_meW!tuG+qP}nwlT}LZQFL$EaTK#|K6v4tDU{}xyY6+?=mBMM7$&Vh^G_e z_=dVxE!)j_W7&M+7-5MZ#6aH%9#CexmP1)2je$6$&{n)gE?q(4vl$e>0HPMzmr{(r zq?=xLWNol&Z&8?F^9{7@ZB){fDr%C4-l(YV zANl-{3(WPc%suq~b;3jY@2)c$eQRTBeJ4Y+|6K@cM{~pW(;)|bN|^hF2XpocfUcs) zr@dgb*Krq=6eNAW?2|L5jp`u?rt}TI4w+=?a~{!g)nN zge2qx%0ico08Bxm+~q&=nLs&;-Zw7*gUM8%Y?k z$JMW4%h%Q9BqWS*qss1DGsHkpn9~xNg(Jvm#oG%=0=VhPlOZMT*X|dZLiHw?U$d~s z9JDv9iIBbF2HO43g6&{Qf2h!MD@NqoOKgL?m-2-|g#<-Jhjtu16qX}JbLdlUf)+v% zFyesQ-Ny0Q1^P)L;dNi~GE^JPfs%W<&`TiY^lq?HcYKI)61|epmL$?_ zYs)gtDK%+H=uip7Z45$nY=ZCOfZ~`)pv|m!8Tn$_zaJ4o>iM-Jq#nh^3F!cJNEjsg z^UMUFD$azG>T$;4QJL9`he@Pipf?!Y=>?4{SXDYO8^F^Tp<$U(^vgP8ll@fDUAT~K zT#KsCPulEJ5U0alGXOJy33(WT2QqKc@=fm8JL9z2BD?!JDjxV=I{gHp zNgtB$nwH>It(I{IW(n}1OdU|Tz{SN^jH&x}n?;c8DgdW}q3N<`KcLm2#LB}nYCM@|IQh5ecRyBy!K{)Q zK(Ro!lI!C3MjpB)uB*|p`qnls&!x#~O3P$G z!z#Qt%3nbh?^EZ=h1os`wg)%}H~ZW)1=79m1U2`uIA%z7SWbAC8n8FpPE;uq*)1Oy4FQ=vCnF|WUP?Z-Y^ZH7XjJ--jg3ubAqvm=))E`$D> z7LR5AT;?i=B+@1(|H@K9QgJ>I8Lf8&ez8{Weu49Y)T-mR0F2J}vfG9oE>=>@nTLr( z@Ug_e>*jOuWCgk1vL_TNC$5=9*#1fsPuEqg4rV!&RzHc$+iJIvIpS!comwZpAs}EO zxj0@@i$|iV>5`)?_G2$HV-gK7PNFRDk-fkwh|rP!cFN-wru}0>XT{LXvhbWDyh9LO z&O6J-$5^_Thak7J$OW~`6kD*T&ek2w$mry4tj03G07c5(vD?q0L?Ff+v1L|}j)?>` zWd;x>PkE)+2xQb(o4s5vC7ml()Do#;AidMe9BL5Kox%sACHL{fI(LiG(#(SB6L-tu5E_f~Jff-l>j3eV+!{)}m zk+U)zCbzJ-cztd8Y+pTFbgK5jvkJ#$vE8KB#tyZ~(X9xaw1#c%v1=#O2IG;@lnw%K zS}`gS`5=jZN;bhuM8z|DVM#ynvX_6Hen4N+uk9kN>EicMHU>L|;GA|VND%saV$7fN z!dR!E)arr1wH!2vnUX~Z1ZS-uz89zYhC|Res$=Xc2wFvkhAuqkA(q+=Witl8BYHQZ z2ENg3TBQ{2B7c1dBfU|UWIFmN%^Khos9_H2un(bGu@H1<7+3Dowun%35gRfGFB_5> z4UroRQ5)iv6L=VTUW3hsR>o+_mj*>CyHwqb=Z+EVXRN0IhDlRLIgd&5d zL)Nexs;F*mdbeS1;vS(X4b?bvz43f7K_tmqa2)l1-g@5o{`!9Y{(j!sdla3)0kb3D zUa>0;p?%-&)#g#s?+EGewlnkuP`!>H=)$~Su2v3fQL_2T&*n(eT9BnaR#vE^BG z85rya4mYtz=@hJjy-R;8p>dm>aty&KNISJJ!iKVdNO-6AcdW{-c!8Sip;w=&~k@^ zN7EE|ndfZ|M-jYM&e%(BGk!RJfcYXS8d%6kOn-;Osl@C+S}UO zQ}bZG{b=H19R%C*9HjB@*|ZGdnq>I##b0R;V-A#PWfoCSMJQlMjY4gE?qnHEz@b1M z)j#Ebibu=rIMSK+%RP!q$Z_eL!J%)Wh7CjpwJfDw7fJvO0I%%`aAfB`isG-C&ly?5 zU;$*EnQ*0-AlW8Ns*vrNi3qrS+#H!~8jCtsu*O)ty`v}#Gm!MTn-ye5jyjr7C9J~~ zX0ncj>MIp)<_55$#_b9^GQ*TakdnilDoC>{s&+CM&J)DFFBJZ6XGmarux8sQGnW&3 z7P2a+%3Dgn?bHh0$hW6!V(QG^67UYf5Y8J|O|uQST5eacc)Z%Yo@{4Dm9!QmSC`u| zBtM^u`;duYZgJp5yFws~92`FxLxlHvwC9{&9-=eu10IY^9h&zMi>xCYJ@akP zoC9;u>t*1Romg%nvUn)S3*_$+gV-iQ3sKEU0&R&GuH+S!K-)-yN6qAL{vtUG0(azP z6xGN$uAzSwX6}@FSAbaHBup^O;~Rqaf!T}Uq|gO1Io?@jTI7kva1E!_x4(?9doDrTEJ`R~ zGt`labyd!&Y@BKtJr&2)=Qb8XFF1;_Y1~l5xQd>yZ+GL0pH~k0fz)lSaWB$!U21i? z$2wr%)lxM$@|d$x(@iKKm2T|8cqFVTuIceSR4!1F`$Guc5CJdkr3wG)UKZlOV5td{ zm?b@=URPI0 zHJ`TfX_jcRq)(GL9$S3+ScvQRX~x%tXS?f(*?lvT={6CIw;KwGc9=#omQF)+RYgiE zp+>~~L!dBs+la+GAjR}KADOvzlwQFPzzr2dCXIt zUVe)oCQ&i*iBsNEVG+x~5c}2lpd9Vw(!?h&QnIv~X2OHXPJroiGs5{2i2PZI2PHQ} z!h&wZ%j0j2`E@vwdxu8;T7$i9=zU~Z1pt{+)3Xg;$}p!YX^oW-K1Bi%)!b%iE)yqe z%velrO!QYN;0}i+jt02I_^BrBxx~{0QC!8ukSi-}b{E?ix2tp{Ote1B^(&$2KAahu z%93N}gpbGB$k{ZtYPz>~iUbmhL8q*V*uw&7sKfcm!xiHl6DwRXRtU7bxq13DuD)LR zNW|3AcKr7?NISF_+nk^b^wHX8lBxLLIjXNV_M-&p8JiXpUq+|lUaY18dXj-Epnf6@ zi@@y-11s_JZLy#E{+A&x+?oqe9R~(N#e0=tTYzwSUiRDsnsOrJVT^i|IiJ46--9#> z=1$y$+lK7e$csRvG$*F`GFWf;`a_5_96dXsn3>&E*oJ23Sj2e9oJ zuGFO{zbCJk77g|hZ&X3T0J;nMz&qW(P?`7Gn4CDCh)UKvn62bcc{(ZV?e4^x29EOb zoZG7tMPkVV7;tS!DD|LS4e|kIzazD8M%4jq_H|8Zq`vVry78C6gciGIg`U>%D>B=R zL!#io(&HIb#BP$}8F}b3BUdkerr%jE_`TcqT^+X*eBnze&X8G&jS;O$=sH|Mnxy~1 z1+0C4i#*M=NN`aaGH(Pu>{ki8C%C`28V#{-!8bEL>Cm%&#rpZWLcgi~A^7kTbUB^d zq$EztdarzxtKJd-RyxJouR-)pHj)O*pxXG>VvJ+ykM8ssYhs#>Ru81LHO*=Fj zMX})1Yh~z5$o+%7MJY>>Q0vEL!{TTi1g&rWtuQ!x`K&%6ntDZbv8%&BRCvNJz^;Wv zYCa$Gz!I*8Mzv1aS!lOyV8Nehy;5ZC^6gMHK>1IvHHnX5xfPqm%DC*xdP?R1GlFHX zZpi2W(Wgl&?i1u_w?c;+d{Az&dIr5nw;~l>3afaKt?A;^6xKUyXl%SeyKZO;6?Q%V zxd%{6CR6=r_N3CCNY7=Z;kr;Fj-5dKo6+VU3L&2KK+lREV0GSpLoJEvt&uX#!YZ7MB z>^X;wJ~o-CO;V^j$}qbp=HMZCB_qb*Jbwc;SH@d9A)@PHvNlE$)} zBIzlSoL?M2kfwA5*@_KUNP}+oLybL>tAvIjla!uw+okX_}OA{hf9 zH6I|K&MA$hrNh!OBIz8Ia!Zf*3_kS8=T$TT(@|~z{fj#T;LD?J1)!1 zs2?4%D>NkMsO~s{JjTImfCE8anbtA+ElL*#Oq;DzMe&-{wwuDnrQgsXO5L43Flm#S z-l6tH5_NQ*?F$BK?L}%@Sj%#p)6-`I|JkT+vI{A$&OfB-5XW`86%O$lPJ@hys?N@M zF;XdgoHZ#KcIdf;U4OK?NxMx*c9XdMEdlwBHFgRVa&$w~;462X3w*3=bnLr< ztUGeZ7@kd{5ksXI!)78=N+_RF5k6#IT6cO3MQb4pa4v+8 z3el5IiUPh1Is}A9hh|Xaw8nvTwP`NI%AVCi@ze_2A+nnP6}hLB*?I__TAxqxd(F0y zD=T|rB6hd`6DW{|277iSQA!?qe$mqWycWEm6)(m`WTLHzzzKapRT+C&SiO3nD5^}< z-z?8M(m|qob)Lr5#0e682U*(*T8#0ltd3&@dY!DWL0Y7=-6+)x$=C{s@oC~cXv^sx zUckSnBn~a%oPmGa1Y~V0 zWHVnbef-2k#~FLoKzLYd%_7*FNel1(_S+yJ1PkK>gyBW;@P-6)PB+tE+7lG* zhL-(Ud%vp5J|Ry{OnEFFB-yibBWRp)`>Kiz#%)!ay{3{{KXj`9(O}4jbM1uj7@ieA z72W(!d{VQ^=;mtNavM;Xgt}E>gGsbjIkr&|FbK0}ImKR@JJn=VX zjIP4?&HqqW|5?ENXK7<>SoBf;LtXv)X;u60p^^Wqw2^VPvid(%HS*e$Sp3M`tYaq5 z($SbrK1(bwh`}a!5_kLvjcRIYiStAOhxk^@%AzdkwQJVzErVcv0=|B{5+0`Y(FDr3 z`qx?S_S0Ri$Jbv^aDK96nsl`$``N+J%Oq=6nQpRal}%bLinh!>O&QrD5ASYAdw}qW&uz_=m2-x`UoUR>lu$aqk4OKmv0p zpLr>d?fi?6?f9a{T4$bnb!ZSrrF~jn_#watravf+DT()9`y^;*i1a6b%JBw97aS4& zSyK_=6POyM7U!1w`4Q7rrm7Fd>orZn~k~h2KXo>n; z>nr)OX2_(8&=YfdIZ!+$sVxmw%QFyDFa@e-pYZaBV?a(Zj$5n+D?K%+yvJTPr)W!s z#~Mp|M4M-O${T#ELolytcERh1>zcWLh+ws2roBZ^j=|KgjB15WEFf7$aA4WR}aHY^TOfQZ7iufyOMl>_-;QDYGi{|R~f)RE(@v!hq5^;R@M8oHy7-52Y^7cL-SAY9>yjOSFyW~Zdw@+z825W zUT_7yiAs246T=cH4(RclYHo!$4Og4Td7EG{D&G6(Kh3|N5~oN0d?YHkP9s7W0(z?s`UimM#nU+rnAcG z3k(#1)IgMsSR})WV48A~xt{)FKi3OoQ7)b;){dV_>=KF(;Gj6XP{ZH(Z6u(AU%9c< zclpFhrb|}QTlCJL-diGJ{q~$@pvO2dOi}ZzJXKj&(?gSX`yAu})E!1^>ZgX%S@?o1 zemw)DfQg6lf>L%22GL#;>jL&pIRVlMlf3U)_QKr7$65 zYiGCrgSZs6Ws!asn*~(V@%t?rNS|L6R+7dD@JRSX5ot{1EOkZUcjg^cR|Xv$jUD57 z``SpsLP!SecA11r0A1T%>E|%EOkU7T7ASO`n$5;zxnKnzK9n2j^FDAt{ zu1i%=kEvM|mT&wMsBUg&{?TRqcTomt7jGo~9<10acdQ`$9wk(9tM^af>{@nO@9MK< ztJT`!#B`{D$x|sv2BMJ=J;#k8DUdpq7HQH86>A|!%$PYFDMs>6ao=V%ubTAfmJ2=#tXBM~lO9U~Q<))F{WuO)vyMyx{S-5D2az4g|lck(qremI-T zaO=#&ElzSSr6oKD3G@ zNdP?hesBUVy=;T(&;zIX)7t|$dPw#ry<$)31n(GiXd_|1Li^ro+|%-37`;S@X#x@H zm`j8()PuRb$*{|kD#I8HYj9%N`6rYfu14*4z{Jnjz;$|3v+$2Ws@}t z3biES>*6`c^9CZ~M)bonNGOB-_{a=@#gFdd%%U>sepRqe6Z@_TT>SA>14#Pd`d&~$da=KjkI`=_S=Q|+(fFtT<(UYPU` zDE9w%J^fcgqN;kG7&ckG0~# z*&Twlxrb$jwy_UPsoUW09pgfr5OIy`!HhtMoOhca746UU=fszpl+9g1A8|IunOqvF zZKP;HljW1oD?f6pyV5MdJvbC2NtruBAlow zJ11-H`Rxd@VuG;|(hJajkSdcMk@^=+ev!2*EyaY# zk?h&GN1%_(+_9Z`xBPYJQkfE!S(b#dKG^C%_?zf7;l>&$RHIWjRj@#8gwmywTM9qK z4w9d7h)*?r(G3!=l&yg3^ZnRchU<@rfP_dm9uSa zN*aw7Nyg~_m2`R6BP3Z>@GKSt@O?ldEN_9lG&4?++0w&NZo%0eWobIz#4XzmP?mwo z=-#v&X!?C|(<2A4Fq34bQWEkgG}lCpS=Ra9dS>>ZDE(Z;dS;JHt2bT+`k zBc7r^+%PS#-fmz0-x-}cy^%85z5F&It?ZLiY^0Vh%2{-d@T|#iFAuclA~Es zm&19ea_;sQ1x}|0f9Rc$(#kg))(c;_7u#kP)6t?jPW2r^)_4+t6aQt9YJZK!I0;1cIYO7jE^t?m0P+LdGAAz4{Po&W{nJi>%Mm!pU3>pD& z0}czLnd)~zF*imVl;Eu;5TX-jQluLR;O2fIT%ifo96k{Uc{O6ND)6l(X+~Hyq?3Yg7c>x?ZKw!s zJRu)lkz2c@a@x}8gbKMXDa$`GrQ&efHSE@(P!DI5hlDql0gs0p4+)Fi^!X&0N&M;& z$$r!SAdhPiTiqZApQs+(frG5oAy zqu{h^D8qDSCax{p`9!GD<^M~C8r$5#E94Bwj5ey8xmPKjciq2P#N$tl#xb$Z8@z}s zdXQ=7lERw8oH9~Z_0xe^{FfjlmMKNMKuv@EOeccj)hZ7dCfxmg%}-w{;^*xb3crw< z4T?IZ2>03_@g>%zV%sy(Jx-=Q&#FPVpclfXb6F?vFDbL0JhYzquO09sSAo~Snm@b{ z7kC2iQ1Tzq3oof(;ayVIzQRWDEDcQYH;tq!GOxWmy_<$3jxZ_}#F^0hytucNVP`}^|iNId$Al-+?v(6SQtWKlO zMm@ub$WCdZJ{ghbh&rv=nit1@(((~DtyJE8#N$BeBiFVay}o6}49V^4X?&d$@M>JU zM}ArUN`13&{nU=OZMTvcby*4G+~Pg~B#o7wxEKp z9kcCk=*njE@qrxjWl=)j+59@Oyd-lM>XpY}TAhn{pFu$d7Djd$#-FCX^C^>-h209G zaHlQ|C$V_VXO_U(j!#5c`4JaZLfR-GLztGPxkpfN6cS0nG2ta0n0EcGj{ONXs6Wyc z{7*-B08fW|dJM5M^0jvKv2e!pvEsp>f<+H6z)%WIgvVyM4P;03p$Yx{-=4~lU~g|m zhxD$bikqc$JeN58bhL+LhqO?{qIp{rOCabUU<@*^vSp=@&{1>i92}uc1&i3()6MTQwJDHHF)pR_Zv>rxY4Ka#BeVAl7!zN>Q}N}ajQx<0VrhT@QXQd0)#t8 zWh9BXrZyQGOv`*w!RiV+W@?*zBgnC5v4?^RM>7bROV2dvY&6)ChDEi~piP*zrJ|lS zqgXY4{NwK%Na++$vJIp(uJwgb|0KvbdgeZYiG0j<>>1ePHdzsKO6|I~+*Zt>DXW&;Ok<^U zgYHS$tz{^%8924JoaNAOes}0S9l)~#G~A4CZRf*7j7#E5izX}o6g}ic-?y{^%KA(a zu&D__FpSH%ZagBIwCaursOW=h5Fq?1u7A5RZWf&j)=il#rFG|-_|8Sf^6gTmyR9D8 zBV4zNNT^_&l-pDA^zN4tUxsma2S%zrcZc--?{2k!PS^jO$kofy4pQj9er41C`bGX< ztFeDQnA-fbr~MV0y?Py)Xd6I3Ywn+-2x7 zKG1}8Hb(y0H!AC54Qp@I3PglH0*VOGDwHOdCKc6=4(pbtChd;uW|s}?CRwN{pOeY# zF(T-tBm3*NlaCW$uM^(y?_AEE*O8T2AU08}hdiJj2f>j)*={=nC$>fpytryF)t8?# zPhYBtAKQVvyFh3>PW!PAx3UgzGxg7CYwwjvz7KlXKE#=^Mh~uQS$6wHP~W$C@B=mg z_*_;@Yo}Ti&}(U0wAl6bhI)uN*Q@!xJU}R*;8jGsKWb z6GCfJ3DWV%YE+)YGV3@4o8L)WnW3OeBXR^z55?OPk z`bB88u*qiKAUlF=Qdi@o(%NXRIpC`^Lmje+5Z(#VC8(iX;((tGd=S#*pUuaVq&yuj zr%Y^Qu4Ae&IW^Y&b}yXHu0l;qGk&{&f=!6hZDwy}R$IV|vZ^qb9qf;negL^wX=c*p z5Fk%q1dr0(+H}yrIDeW$x&Z0CvRvoPNHLX|w!LaCGZ#J%E2P1OAUy|pyiczLjv6*| z4Rf04kC&U^+X<1YB5ciPB|?dC0r6A?G1Pyxfx`^XvD4a}G@e^6$JC37S z#ESw!nnMpxVwE7Mt_;l+EvW0(vwfjZm?GmvDNJ9}bF^;!3(xlB>ouvP9l;9qZ!k2% zEA`>vx#y-W7ZI-`pH1gYp2ajrnW^Up8yLF86HI<*l6(B16>}l@wCo)oM+C42Hh?Gf zs8Ba$gqE4-NejYrQUFSpxcJpW!GKFk?4wwAAmBi*qI zUi4ehS!$$4h!`}_@I#UKiy~}uV-|AV*#8qcojkwO(GCMLt}G^a~5a(_uN>jIfc1wBu903bf2B= z!!Rn1W+OL3L7)8*vO24&vO=z~)BK@Dq%B6+@rZ!;Ty=gFg6L_4zaH(Jb1C3pRn(W2 zjZ#7$bHY86t;28cPKb%3Izht4NZ$CJKitx{RyNi}wsBKw2UEJXd90}#Xh zW8YbU5v3R=9fE}3rHv_$YX^(%m!*q|CVZD9M)-(jY}IE#lOW8|bK5#15Ds$CPz|zU z;qv09p1u@!!1Xm{oXTdOUZuYYT|M0tiPF%+?63M|D>PMHD0H>Qe#ob#luXi8oPc7!ZlCJ}JxOrv*)6<+p*a4yJKa1>8pEx82um_*Y6Bd1}|Vbdxcb*(XiMN*4E zMQs&OVN2%ombl!g(#$miRhXZ*>|FZ_`IPkwXhGOtZ(Yk z^a0tSV_E4LxREw_du3G|_}{Y_3}b>db= z=B;txKq;pP`jN)_sFIHnJd#4dI3@xq2YTT?bLQccz;m&YK~9+fP#5;;idId7$@3kI zn|02CLR3TI!kN$=BeA!(Bm`qo+HW)c$TLoVv?c3CO&cBPaW?kGl(#oKYwFZXE+>KX zN5onvY&!}*rL6rY*%FoPeH>HphbGizN-9oH3-UlQT*fm^?+@7nK0m2wfh&0CvhfKI zi3-N>Q(TVJD~lAiWxgPQMDJmTv89sQo0-;7M7uo>P)87{2#CdGIzXk)sVJpIp11YT z{HdsHCkX;4rT59iA4HB*D(@w35`)iz;`JfCYANvvtz-z=6U+t^GKpwaqh0*hv*!73 zpvI#R@K)hlqG^*7>dSX2XLzn{QlHmjj+Le78{HIjd#aSY)SDGc8Un1&Qcpt{x>eM2 zFzyw3#Q3Lk^g4;t4G7NZJ#ww^8_RjuXENmWa#)x&=N7Vt1T&6`4SsJk9?z%O|IX~Z zlbDAbt~Mi5M;+vC>uj>fJS<@*`r{$;D&@ZR!&O5(VP=YNFBLP5ugMKtPdYlfs5eV9 zmbw;kX{lGh|DBHSxbXa|9KJ+A6zmsiL>*#f+M>#X^guCLKW3G5&z}R%K$!QT7p38s zBd?oDH@N%ka+Nvf@)N0PdZ30aGG4d4u}ug@JLG+cCL<(GxZGYCIy*v-)rJHia6`si zn)GHX&<14UxMw1!n>T*8Xdt>rL30_{rhAje^1m6*0F=P#Ay-Fe@luFUv`@>I{vB>i zP~3q-TNn{hqCNG+vQy_NGBq~o#|tWF5z{z%D#P^Xp(Cdc3ZRUv`;cN|zx5eUiGW_S zO$EkiT05D+^gLE*!IMhV&M=D{TC3#VTswsIRQd zt*A-MP~Nh}E3NUVXfJ@N;`;hN_b@_9Nh;})t>#jyrMrccvS+i4+GhMAcCFdC99A|g z-(ozEw=pz4U>$QY=1B$+DB=ZF2C=~Qe-dqi?dtU`=dW;hPZK=6=pdt{^PFJk20qlQ z);okMVxxZ*%TJs!6ne^x;U3nt2%-^F9#IUORyn_F8GF))KGv`k2eK);5S{&wFlK$# zICgZ#3p5So=^PmHHG1_SNJ>XMk}If@h=GwnW-NNsn!eU(nYm)b<)bd&lBjN^ zu_;_w4u;F^=;+XaU22E@T|2<-rT4PLR7@{m>huOJUj9pdotC--F6NFsbi!*maMTxd z8S`3uP5uz~iQQFS;H+jYu)KSYdS@Q?ndf+Jk0!7Wa~40~HjL)5fiCm6z-_oR83Olh zBwb0k&g2imRrS#@ycLjA2>L=88*B9jVWU>qYQ(P<1CBG+iV_s4r28`)E&D7#NkmuGXR1nD4Wmb)w$F%Pof zeh^zl+aTjP-xVJX&9ITyRO{8?iCxZl8@kmpk!PbJ4$oAMrqlqvXUYkgGw@o6!jR2c zM@Xo=VE6H0Q_({B@{T=@CurRpb&aVVOZajo^sJ>jZcCWxEk=!9g`g+GI5ue&)PvjM0rmso3;Q9uYA@M?x<`Q=xbFbu0XyhOF&?_~)5dhC9T>2m{449a{4k+OngUyUWblD0Bln>q@K=Bm% z^J#wz^vEeX;nFd7byLJPj7Fzl zfJhl71UE26sp`M^-W_v=_cHE~Vh!dWP=o||ABiFWnM&MJKNa|qBt`DmjjmA}!|58u zM;9dMbSQ=WSwIw-cuOoy$-1BtH|-;&F!s?8NX45E^Y-`1+5B-q$hQg+)P$7O46)ac z49V)BbHK(OZ$ok=J~Fevx1a5!D8{~ub2?~G*mBqaoK$~>lIVH>JrWA14-+rmwtO|f zrBIf!R;9GCqo-yKp=-+dJz-icFCygN4XSAxKIbmh%~0bgtnTg57&W$T8Yh<%Z%zbZ zr|;vPj?9*cIGuMH0w$+&uKoU-BqdD>5g-vcsY{b$FYgeu!Vr7jDws#P1h=w0vfL?; zp~8?N+$OjDik~NO0(XryS=(axh|$_u%;3WOO{#6$lq4C;*a7qN-5!;`GvZWN`tc8c zj0-i;iu0yF7M*+tg7LcP>0<7X)0HE*S*~btGm>LdW}RFIh-4#efpiDTMdOBD+mo@? zoXv>K73^l&R&Zuxhkd0B-1TgC0QWi#SIyNh(s~zL!B(hgYka^{Xfk^sl|h;ly@U^hWzGZJZ#K1 zZewaN-Lfz~d@w#@Fg}B)e^o+2jm=>?o#4v*+z$0*HGtrpM#M#I^X<^3@Lp`!lC3n` zo1K=E%cK+u;Es5dqNh+P6w}m2;J_Xe@Uxma6Bd#Q^9wRO_&E8uWEGzE59PGFY3O8D zNhhOCXO#z0Z9W5m7^zdzW6iOxMIGJb$e<% z-*{u9#EWF@{BQ>Sp1e?Gm?ru~qbJ!p28&}_aaql1cO@+D_xt3gS+YSwJ>zQDt~wKVKwq8+6CXnQ&v zSNyPkvv%L;=O2!c^SbH3C(tJj#o7;Jk8eI$BMD3~%+ADz6alttewS@P|!j`~fJpuQX zyYv=uwpr1DhNzIyjtov@k~iktkrF zw~bdDxX|SaYteiL&`jkPh6tL@qrRI3C16=iaz(_Wi`ru2DO`vYS$RF z^M0vrc|F19!xL%xodFyN8)ghTLx@kQSbs|U{v2?ahfH=la*jI?4&3L?-nW>)&X~P&rkQbb;U31TF5^Jlp!4i&p!I-$zcJS+(U;${g9Gpf9adqO5b&`@u zoBAf5o5v6hlM;wWQ2{nzJO?~|1vXDR1~a?dK6U1=GBPUrl&#zHDUav{=D>*sPXGQA zm>gZb&zMb{lfwDZ9QhT43!7V-M)58GA#t*jtFiI1_W%gS^b`6P;4xL}F|mLW~QR|A6daj=>N%O0X5J;!8Z-LzJSvLk1lE9<_g37n6O z&G5~Xj+dE^zdj=glOtd2%!0I> zd-$gWTmnyqb&E6#rw^<^znC-ZFV|s%K(v>{7dYovm|a4h2-UfZ={~$$?+?E@YG=6w z!f$h5W9Z%sd&m>I?D=9?$nQ_NVCa-VUIV3Ui?>Kqvu!R%Y-bNB-sX!VG_u&Q@KnI< z;4xc~U;x|SYYkB+dew74SNDqh!V@{djGy=WM^ArcIIMy@ldxNSnQ!lo=gWT>h&KD$ ztzfu3fPrbM%t6IbLdjmJ(E4lV6yD$y#ACl5D2q>M3cr(Hpl$Www!}Otuy2)KwK}ozt+-^Dv-He*HIL~%}>u4!P*sG#UHer_Pf6S zo!tIUBjP_T3L&cFpG&*Hel`8H(UAUMEeb&^V||HILA({r30VnxTnr6A))kK24WPdRURlq z+@f?+C?9!d58BtQ{VpF4YtIzTk5?$_h_4B|Igb$+0Iu8Ndj9#A@*WD@`lq8ttmp;q zzL_46C`F_>suP+7YA2e+?Ps(vu(Z~b=!g>rtnjd^2ATS|%1es%R4hiqh+D)n z4=Ab$qx8_&l{G7Jp{Azw@3E`K@`w^u@p8lwc+oN2S0S7sTJL|M6VnY}oMdHJEOa`w z+M*R99x!y8myW#JJt71!(2l$_>g#4G1SP!U&YLJZQ5=+qmj1*Q4YsqJGORhSHF(aE z2ZKsiy)N}4P!6M&8*XPTDNsG)8|Q;{p@P~8hw9@DJE6DG`HMqg6rtB!A23Gcm|GRh zbBRaI(^}2ZPT46V6=-KY4aV++aI7^lXmC1$>3KGW=j9rtwq^ASN2pK(q}r_|B@#KM z?GtMdzFl(?w3T~1En*Q(hPpc))R{BLNfMz3`mJdXI9qTT$*>BHX5#nSfy?nFxhzio zlDZ*WkE)e;m4)dSqkaI#M<6)e0-wU42ehmTPMbCkyUzpRRUE%6flGd zrY>0A*F^e2%Q#$&2U#c~jr$0GIR-%FgC-LD*3E5aMx!R)~Om3O0y*4gpyX zWmNk9W(m<_ps`PXtd}Tss+Zpdsxje|W>MvY7Acgj^eg{bH9gH*XnL+AO?|&_cV=g& zXOHoRNI=?w5Dy_+xPC>_wJ2&yRi|cDyk|fPSqE2GV_1FlljXdLYVhTn02sgLz;t@ zK-GJ~@K4Qfbjv$qm^ql6UEqTH5W<~%yaL(KyDI2fKQO{-fJ;H+ zopNu`8;rWau;h|HGdnpAa;ueQZM{RFj-W3z$F+)^b9iq5cqxhz{3R3m;G6m*1gM{BpuYrA-)-)fp3?~aA`TqDyk#IV zvugcT4jh2Ze^GYiV$%S1NBgP{c4MP*$cgqPk4`{Q8<1rv>S1gm? zXlbWCJ(LKu^qwH9Y;N#&#;Lm)Wi90`QMX@6uve!=)vw3juz-B|g%xIBN`3*qY5AuV z98G*}IYakGy;eJFtSsBied}t-x3?2O8g1e=m+5u$t?bVWW(HOlF|L0amz#HM@t8!{ zEYspBv*I^rh}rgV1R$}8wlgXCQSvyC_6HY)Ve z(PR`BV7e)ZX1%ATOvOxC${mB|-8OQPT?ahzD*sIVOjRByy{5FA!y5J-dM%mwF3EG0 zT_8Yg*9pYif4OVc$F&zf?RRT|Zrw!-8wZ+V$FZ0ux?e`QXIo+I-XWkTMXf&AZQ-29 z*fU!P35Und>OGV*2>c>np_Z>)^mfSKFmv=gf33={L!<8QVu>ot{k33>A8YiXzlT5z z1aWAMdj6K%rTw6FLvGJ&pJBZ6M6!{RdiJ28sHjOxZZ?Jc zz9wO6muqiFy6Bk-a2(}2EV#952ywL)Ul9c*+J;~Ok~_?Exl%g@{+z(5JgO{lN6Flc zIQ$fDlc`_P-VoD$=B^qP(<7WTGU<0PkC-g-7^mYFuD;sge{g2!ueXbFsy(f#<+ITshO0hoyj$)-(JcB} z5JGZ<#V$}29vnCPsMxbsCP&AU7mFlL+WIHtEU?v${U}#r^CD%2L0eDCbhrX8cn+3& z&+p28y1$n)K6pPx*f5h5KMaImblV6!@udEiH1Y!DSaeV2s|lfXyo z)wF~IX?1Lh*j{cpl<=Z?OM-#zW8gEhk6fCnZFjocJDqF_n20`Z-+Z(9BzXbuIeMT< zd(H>WWgAAh-TA=f(1XMp54>a9;OZ}pbcrdu3J0}+y>xT+)DXlu`#A75*09k`%79~e zAKJb8_N%y&Cu3sss*5v4iLHh(&1wQsS+2(!H~c675|iGtzW|Qtln|AH&J=HyMu*>F z{5{%ruZGF?kbJ%;2RV9H+s?`6Aph*6Jqs+?1!Nel7UQZC?sR%9Nt0{TAlRE7O!#wp z`mVcF?D`>~{Y~3!b?vIyh{`5Jvx8uD^8h>%T=jhg6{qisQwJD%{q!r%^v(IgkMl&Q zWL7-i@hB2fYM8Zqw8IXDOvs928xQX-z(u)jTCAPLpS%hYMlQ|G^y9k9TCEWv>kb=~ zofkMcQH{8Ns@~N0+z8u?J)HL4(iO0Vx$yVIo|7B6t%{mIZAnyj#AT}isFkV>B9dC8 zvwIiByB+5=rR3YmQSLt=ku6kvS3yPRi@Z((X}fiU_y%G-E1A2B9Fgy*0QEe*dE%(1 z@UU)s{M&}LJ@a@dU)NQ%1&yhnGhl<-Q@rE46@}G&y<(d{l0Frd* z;%W0RnH}ynj|%=@VZsO!Bgo8u)Jf+&?o?D&w>r7{W~^;BiC|Hp$ocK#8v}V69IuB$ zXMcRSdF%mBzKBPt;en{A=Q7QMzsl6{)~6alC>F@z4MH-L?eK{qa?7K|Di5>7_J0jc z;q)T(E5G35e1t_DWAQPtBIuy^$?kg6d@#U&Arz|ID?V%-2%S@)8vBFd2K*XA%J;*$ zgT=YChbUDwuEs|1Fx z;}JS4^3hl32R2yS;W;u#{Atshxie?vb*7H*(i|@`h^0!nV!csf58Ko6*rwVmd&@=Q z4^En()HGibQe8$aQz)Bemym8J>Y^k-4&7FP5?xlt@8d9m@b+b)5j{%y4^iblX|(3m z!Q|DLEbq`n1hwd|Z#Q@mmiR`BS0?)2YjZ;X@M2U3~D4hJJd zlpj#y-5NbG|Kng8BM&|g6S9EmwbI*IDyy> z__IdQp>3+W#u45xwaPlvkl_YW3wxW1_SG`__w)@k{yXVAiXb2k{#@mS_Th$!U9kA5 z^3U&3iv`km7WQLR*Iw<%hc-z0C*wSHvlOg6qY#DY>F=ZhiqV_`3j5_!n?~J`vCWxx{OV(n8Z)v9{lpw}vKA!_C*W zADU!6(Q0gIQSJ%5bojRklL!x6V&@53;?V^XO71uQUdXB4qk%JlrMEkGh-_cP-$J|n zq+W#9PGAWvSh9c%2I*m0D))1ua#l*=6m-6+0#R6Llpe2j6jd)Q3t(XcbUEZ;R>Ptr zay-f!>HAI+|KGbY?1{fcW^8fZsRIiWz#n#@g7LB?dIz`5j_`3J-d?r#`y)Sb@XC(J zzaUlnm<}o9zmrv>C&VB4f%T%RwQwz}j@V4Mf#=$e%ppjBD1mS^5(cQ2*2edyG$Z83 zIF^WTEvop{LlJn9KZjxNvbLVF2(;MSy7Gjk#pCdGZPE0$QvTQ@wSgt+ulYW{(Zu2Xo4ruTVGQImBIf>tuxE%VcxC>uDJ*0NX{Dp_I&ZD)YHA#RmP z;4Kqthk={}22jhBVEbmV_<%U3?rHxbrI__R>q_!sLS)PIa{M!kQDt%qSVD7L)7KhS zRO_afwJ4Tfq=+nufB$sp3R=?7Uet(bp~yEo8|`*%<7c2$a1C1^iRfrzQLcD*JWr^; z1w0#WCV{7n?P&3ozHZ3LJ7~uo{%pdmdkEQ8Dm34^6#6pZSWOI6(>lEPF58YC(oZ9( z<=x_`M^72(fnpCK5t3=sow}>fZ>c!ZyHz#<#`S8E#{lL>LmErQr7iq_xA1s5i3KDK z6bm(?AZtl+bbp0tvkbBL?}*K7S^kVy2^%P1yuNyS{;dsgc&H)5)D47St6VL|Q7Wuu zc{e@M-KtqH&)Qk%26r`=u*UlK-{@U9oK@{wGMd%-q3#ukeAh6V;)e0LE& zy5sRfC5<5+SYjky1AH5Z0=c1*>X3Tt#w8Blf8McUCAlIW@ZqNSdw{>3@(g+`xlngS)hr4JlU5W z5Rg3!K(!iB4cJoq3MrvVWQox$?~||HAp6msip1XgBLsj4%&qkkt%`F6CjGHb1560* zhLOArNym)F!bRAXyb7Q^pn$C*5)T_d#DA`l<-om=`jJR01#xytML2y=fO{4RZWa<< z36fs*6JPZcT`AIce#8A75?=Lp|3i2R%{>muj3geoCmxmz8ilp<`?hE5{6;7wkpSqM zw>Y~e8t=2Ay{JKEzCwO^H;*w6e5i(GhijS)5>j&k5%cCz3@KGfMv8iVqwFrgA+Ij5 zCKSrQqb$A7Ons%=ju15#r?hqB~6U8|4z_yN7M4m{D zV8|nGj%4&0Y5$(WU`!^?%W_ZspFz%WJ>0+r6#g^R;02V4M;ZQOZPXjP*k^b6dXSR_ zYpZau5`NG++J8)7aes-$Y;nj`fqn;4eCANHsA>=DV0Y-mV7%b4e*F0=G{r!vs?tT#)m-&(S6kqnDNwvmkezPF z6N}Uk86(-W7z@>nKrVAtJIV{0E*!$I0Ks**b#~K=B!&<)JrF|s!*zV$p9#Hjso4=@ zn=%`Iz{V@n97?#5qLhSr<0rdP>{wl^0uVt>Cu=+uysQ40r0WwGu+Rnd{YC_vTDJf{ z;aM|=r>E?)&Z0M#OkD#`I?}~-)Xi)3AdJ;>MHDAWoiJC>gg6=VJUHwhWT6tkrQ){^ zT-9_sn+gf6h^26Ikn4uYEaD6HHR4isHBY42l$=b9E;Ry`PRbAdOIx~131`szL`b)94*%}kWUK<@NW2S zXdW?g94=g_9K$g%SyLLx#E`Q0+`A!T=rb#l}pNHnoIKld^Y6*aNw8g-UP} zq6H_(yK7EUwr+D}HbZ*kZ9AfSfw`5IT5|#9;PHCAP5>CoZBF=VT98CjvmKt&NH%>& zdAC4oaI#G&V3gJ_WIi&!jKzA#n}xnkB<09hK}h5%w{ z5?H4p1f(Wul{(6i%f^fwY27CGJYAbEz!pQcs)-&ruZ|8tQ*K`;ima3| z!41WZWo45qmZcrmZ0rmZU!Wi`>~_c77M=))IA)E4zjYcQUt8?CPL^kFUNJd>c)977 zy^aWfqY!{)oJu}#j$)M(D*@6MW&_8IxxI^YVITl7C+0DB+TS0WG!M1Ey(@LVy zk!oP!`W%d|JX29F`B6SDqR+CIN^?e!+)qru$Jr_V5z!X4Qb8{Xte zAUAX_caeLYZ<+8y)qg569N1qNRY)E347ba~T8}LFI7x6T@3^^Hk&}O7Vr_k+pgv-oyUlgtL&Fch0W*3|wUy=TJsX zatYX~W2k?;%w8T)$-Bi>&o<}GT+CL|Zw{>?T{KIm1C6ee1tb}2JhCyhLf z@2Q^kRQAn@DQK?Zmu_hNiz(GUhvYA0dwF;+_4vMv#=EI0SF<|LZ-^ImhAC5mIjJ5H z5u_N#OXRg9<`p3punN}KHB0i>}e{51upVjL?LFY9?4pgx2ln_g|wM2d~#e|Ms1FW8|bm{=jyRKnIH`1*aDX86@B^ZL%*fPYxA-&FMth@V% z8yhhBK(eW6&m2aUEi9au{_3;xPi#|$cUT-0NplW|JkPc%ahSFKgUV_>bzxugS)>TB z(Kd%BVbO%Y9bga(YwM?+(bqIvQ6B7wfAGRF0JS4g^^|Xn^2rujX`NDuM`bQ=b)(0S z#*du^KS~&CVn-jw(Q1COf&hH2#yiCinkjF`J!4$CR@a|hpY(oTTgKFa2;edPlz%t& zN7Y%4K;v+xI_N=T@ypECn&w~$>}X@q`y2{fmuYpE{-_0;T}G+omn&oTIQ|C%2kjRR z)TaRwm_~wQFr{RLi;D=bt{Pj)Z4%%r#U6515I;n1iXPHgSlD=`ELL``!MM2uFT7?p zdvqRu@`nWUT?4G(UibYW!Q_$gJL-V^oIqIoYK(pd)tjCpdvb)WLzFEIamXB=Tq~sJ z5JLQfFpYm%0EIEGywuTI?D1I&jPQer>b_HKJ}BkCe>d$imp3R#p(bY>L7LW~umgz4 z^gxU>T0rYeDY}kvT;|-Nq;s`mWv3mRfgdvwx^*@ICMwY!Q#&S++#@!xcC=gt;0uuv zDhc=G*~R0iNTxw;4(*`%mLzOs!F%}!1wrFRtYbzBt2T=t1y7rZyU$_J3{m8eQb|r@B?2DH!y_obwf zM#t^d%7%@K0mC3MkE~>QpSY`>8o~MWu;t+`+ejMG7=J8ySDyQUfWMJt_vA@nV&;(6 zfY?=e&r?J;NS@d3m8`fAOPp$uln>MV=N*2?W|H4a~*su#Ns&p#n! zBTp!zEx)}2J1P%Ih`qI{Ba^d`lZxZQno}!0Jvrj_qYk6}wG&^#8w&5gQz*gdGzHONH*2jr#4jiem`#Sfz*z9bC zT=@pssxcj1>kLyZyv1Lq{Ns`?2VP!7$r*i{Wj&Tccoo-U*^b$yk|~i67IIyxp|JeM z+@!`_<1Ck2=_qZ86*|!#6O3!Krk)Nr7PH%WYSt7;HWKL9tENoMr}a6lN*rxj$FQVyS$%<9I5<-i#GMdq z924W`0#hH2lDQUo1w7Siqx2@bO87XTFGL1m5WdG3$+%(HvJ9DudlFBt)SgXp%e1&a zD|jKg&w56~s1SWi50ndttX#?rJJazGej`04J?ZV3tX61rwxPc>Ugy!F51ByOOIzbpLkXidW zG2X(%k$-Lkq1t_ZJE%?qp}EB&SAAjnUw(AO5wZTqj7tRU(Jdu>-ale-(m<+#a%91` z2>7+u&l06fGX4p zP8X5&h-ceh_+kJ}IBkXX1&$KvY7WLIap-1}u){bJCz;%sDG7_&YChS4j_~*|GUCRN zFY{x(*a|m%c1;=hbd58ZyCdJkAc|SUzBmK@VA#*6?Y_dwKO~bC1Nv1NJ<9aYMLJjF z?GJ#?flnl8z91WKCPM8vn@e zkxQFbW|L>n$6nk?ed?}yPf*8*rfi{;S6g$*fGMZugR?7cst15O{~0&Y;ecM}C}n3n zO5{Pc1pS3|&_o1IJSqU?Hr_y#x46k&<_x1-(HpRMefYOb5HBNaZ*h_aT{LmNh0G zJLkrZTJgj|piaoMSC_uTbrog&h_NbA4B&xH2qJ?J;|Lrg4o%p1p;JXvop>~%l|t@L z=yHe+5pVx+w6OJHaYHHrNB?|I5DF;DnvvuGndw!|k4X#fO(abrh%)fPbzLO66#pt? z6+9TSzHrE^6+*5v-5Koxl8X$#Ai%4f#OE=jy1|Ape!{*apKbRZ|IN_8MxslA=pjm! z<;1=poVl^u`W|=KK>+VE@|EAWXt1M4J*%jyB~E~70D(Q2pM=`GX~tXeo6i(DZ^}oU zI|CS|r?4I@F@6Se^Q@UofH@4}n!VBlK2GSuvYD%GwqK@acI*5Sk~V z6rqXG8&uZ^7U<$NGtuV)M$$G5$fB==5RZ=@@Tu`?P?$*P9}2K#OIRsKY~a)1!r*0+ zWbXA4s6ki4riP!}PSF4%c{yG8~; zrOHg`@gdA1M1bVQjb}futdvK(GQ2+v|1@KX%Q8edcpzMso0A$7LZf&HYW_qk)l2*{ zYsbr|MR%&vfwrttcj~AiG^`((Z-$}~rz#oR4_5Xm z)oA|Ro7a`VlWBl`t{5r4Zt+JM3v?z}=;BccAbjcVIn}+^J&@dfH#QUXKI_6O#B~;T zU)D3|gq1K#_g?M=l;}U47M@&QzH2?8-|`CIK838N#+Z@7*LVgi{>DXnBp6q_78ia5 zSUm=06$yZ$pE+cOSi45NK}~BAhIgGAR4EgNj+}WG8GJS%!&(H5K262tW+xLgW3PH zs)W>7O0+FR=?7a;?T9OvnUz(LD0hzY^VAQ3)qd!ukWe{Faj~vR^d$jXGyg(5T`~QLE@{LyK_n8DF|@Rkn}a z$|7>DTI$uQ%2aVbA5ubyzLe0_r+G1Zs$h_pA3Lpt?u|$>AY4sKGT9A>JGBocm>Ii( zTx0O(R)1>84YCA{4znW-f`R3G)o1R?^%-HPZGwoE7tqw-vE7`#92J-&bL5Msv?D+} zT6}X#uUQ4-1*y`P0aSW~Kl60BBSz+^3UYVOJgwz`c7_WA zj`aZRI&iv{l{g5q%=`rz3%bZ(2pCP40dc^6W`y;(4@a)X={n?UV?CTNJoaW2N67gK zF8B1!@#})F5=ypK&^u%F%)`^uZ#}%HoHAlPN;c4PX4G9)%C1oOJw#0fX zf{g_}9c3!ZV(+$}QL40OMUZbrVA+#1raNX!z}QMC1$>b%_^Or65R`k_&&v(;>rWbn zp(pES(Y}W1n!StG)1{Yc4qo7x@dl%YXeRL#Z}K5+(jn~vLW2lLzp;$}PtSWpV(c8C z!;44=QJ9-WQ>DXp=DX5;6SGxJBd~PbZhY+Z@VL$BxXti5zm3T#wk2ZbJJX5r@|0w1 zvEzIMw{3Q!{E`xA{$Mu&Xq^+HALJXVzbf2RHp%I|?g{Et!i2`%-5PC5ui^+d-kpY7 z>fP2|B)`g}IBT!>Hm{M1a)IX*oMBln)7-CU1qjdCn|r?gC>(5WEcTA+fudWAco}o7 zW>{<=@ZRD=A?FiyEL6ZI&KvgRn|l_z4=6_1cG%zfjT72yA=Q)PkYD9e>f{VTfg~76 ztxT5NR70aMp*!d$QRX77q++AxJ-p(h_@JrliX+seSNz*1dj3Z2x+0QM!nsTa>>Xjf z6Fw`dUk|`9PYz9V0wRG<)#mOzbwY;kgwmZh^C(xKj1Z+J@k3ZMpr~w&YBp57Gl;Nk z;5O|w6Bo-`&)lkae)A@uyZ;T*W#WUvqh4 zpv*v0^F%{DSisuLndE9it#v}J{ROs|W=GSY_J8$90b_l$5Rc90xz*RA+Z$jH( zD5dvnoc+;lm$NM*(8xe}m%-MDWEYbn-0*^Muk@ymLe33xx^_qjeyAoG{ zb;~Jd;zFPJ8%ZqePwE63={TE3hC=P1@_2NVVZgKlO(Rlc?c?!XMa*c-P%9dqdRXZl$=x$?@ZCocLWIv9dRi`w zIuknWsR`Avib-|vBJ#8k7k@MSv!KsD+-IiQXGNoTu%s1 zA4>gZ1Ma{7BiZ%8r?mdhWY;4YKa=erFsL*<5YP{i2FTIHlF``7_@^ftqp734y`zIG zqqQUBf8c2TGuQivj;Q8hY-;l!1BGupx>;5FpNSTFpSn%Ti55+#VOte175<6r@HG=hPLLil zb4i%BdERh*zG(PZ73}|l_~)&c*@QhNE++-`&x^F%Nn}_T<;+=61cI{bz#jQp%BoIE z!Fj^Eua|bgMIsCbP!@(^Mt(5R=@i5GiUdQ_hBPY^MKncUA%23wqm*VefW}N}3_4pM z5{_bM$G{NF#kdy&pzPC})jQ3kK zQJpZgi_xAQZz(m`um1IMl;?=yC2-@qsmhqHYz|v*2$BHjek+ZXMmz~-vS=JO|dvlJ{UtM|G%`)e& z+et0EmBz9cjM4b%jr5gs?jhwYc2*uyx<`8|w^!7bx?Fy$!4u05b`WHR zadn%egH%Ef^OI0XHk{caHY?p3I@6qNp48~E1Yj_wV#zIwt$9-rmoGJWGU9;!xhC0a zxv*uWy_%SnW6Wy%Jwlhed&x+|V_*css8O!PupVRlcalsMZt*azF{YDZ-`|gDpD2R+ zsL2-K=oK9uG%FrB#AbR|qabd^S~wJ}tjfFwZf%Yr@S&{2qyl8vb9>Jb&Cu_Yjo|03nZ^BIj2P`wK*+6!B-oTTp*^k_a4y@mNHrcoU zbIGog{ww!_Q01poVTEUp?IS0A+q>n^bF{#C(FL-88MScKaYBQh#9;-8kd^?09b%?s z$3nqEzP`4oSp-}+y(Ao3%CONW+C|>bqjIb6E-qgFVc&%Hv!J>%@XSSNcU~39x$Umv zX_ogyPW~d_a~FPlF6ds@3b8)^A;AK=o^in%$Nd59Vf2`I_?kE=TXG98@wECnA>*MFkyq&}_4vf~WoBj+}-T?ST0(m}(CH^)u zK>fW{5250wM5pB#pN6ZXdqQbbsaMR(lGP}7UHBPSoF))or1G5cANTP>h-8wyPlTNL z3n#1^{EeKmwHUPA+qAXq;b8J+_?}L3&WqzV(qH(J1!}q@y|8ylaIjI)!j>g*fg?gOqq$30 zp+%i2LE)Y(dy`cp;IAtLM+*)EMX5vw6Am;Q8yg94KBK^tVIxg__8sSWng_n#p0Wnz zb`}h!gS1qk8JX}aE~r~KWLIT7VbzHZ3n224D11=){jp(b@`ZDar;<}4sK6(P3p4Kj z?tJ{*h;4*>V--Y#yT3gC2Lsf|O*mh0Hw)L-=GNgx*zl69LZbSnsrW5&w44KWT z2Y-Y=6R~R*vjGzxqRjA)<5SDa8m-@FI@BLov%*Qr+nj{upYhz5ys6-Y{cMswf>_E; z!J@ZG!C(GlhuS5r<-ZTkE`RJ2u2ZX5PDH}Dtk8T-dYib)ZzDD>xPG&uF=vvjj+THf z(3=38Tc3$f8}~(_(4peO{rWn86uXnPwmnWfTZ~H`$F2KDg=JWPv{+ot6vpO05WX&# z8=_uQVIS#0Q!uF91~DfKYk5zz96!d-UCvA_`mJgkYX*Bz%rC6q8$&+1IvUCqdLI-+ z#-y4Ywu0v54YFCTN9oA@NNScBFM2XNNgTKH(s5z?&eR43ZXc9_K|^5K>p5+@3zC7J zSdPVxEEHlfB$=BA{r^mzA4&vS^um^*Pq9KbXSlUR}-d}R*+z{H})`h z_7?bArE1ii=%nOkrPOca>11bA znO0brS^udZFwCglC^9HBv8gk$wXiTXv2Z9kdB7tmGqEtS9n;9t)67oKwX!d=?#nPv zGSc73HOtS=&CJZvuFOmy%h1tG$jQnv2&04lXD!ly|G)qHN~8@HWj7ypAuN9E%Mbeh zi)Q_E6;8%3#y?iZsPF>~{7<#^zdrge3scuu#Z|`&KnNoX178#>o=5zvA}bYy)}#_% zVx432(}ys3RHd#n3>+iHZqp7+(4qG^(raHF7KW8&-|IN;dyE$U{QZg{+f4Y(EBQI^ z`JI2x`|04hKky5DfUO1?&bSz#kaQ~ni3J!e89u4|WJm?bfX-=vSZ>yz%WOZxx)O{b;BXSZ@?oLtr1_{Ng=NJ$wXW1EzPwtoW_zaHvD5sRk!U zWx7^EeQ8QjH4%I`M95NvQB%I$?kL?v-k!Dp{b^3{OJ@h=WOkHw;&Ir-g1Qf7j=llv zq1-dwpIn2r-Gr_r3HhsIx}_`DWn zGFhs6OemvpBZ@6%pK1Jh8mDi=9JDi}kro+gbGMwL-{^f_JOov$9O(c9iE1tSXgYxl zsF#aHHh@wm_NRqC8~J>Pc#m{&gGJ_k7RpU-w;hg7w$~qAg7(rF8E;+-UFt>EWq8$p z9-X^iOFGMW`0lu14iT$*taV+uiD9@obPg9a;I2<~;g-*H=rOaOU}nE9(CCoB-{$tX z2f@kYOk$8yigpXauwwQ3Qko)3%)1hwsw&Vq)kQ_}Ol7EG^>kdFPl$Ql-U8|8q(o40GoEW`IC8^8 z$Lq^)XF~6lDKE+31RtG~=AP0ywz1T|t=#M;3Lx_PQXMxml^miKCtbfrbXZX311k~u zz#_ZkxQsk)ECKgq8o-qESzDBpPV9WBk|lIK-DmJGkw#>mu)e0mbuK($v%Wt-ZIekh zjT#5m2@pA_rQNqr(YGS+fsRCmf|J2Hj2<_cpRvHgg0-W|7*J(^A+Jy^UTku zTxnq|I%BEkiq7xluzb;apO@3SuMNIk{;6x_9q-Wga#MiViqzJ31dRXN;aG7Bn@pCz zQ<~|HRHsz(CT`&x%3kmf;!!(7vnhMO_1H=-By`#{eIOFyd;)OE+;(-oGZ3you;(L| z08i~V)MYUcw1a0@LXy}!sav00J1fo&ZpQ}r{)ZY@`8D^8H|c_@TUTo(Zp&}@^@;nI zo^RbJyaKLuRs^&BBsX z1=7oS4*TPOGK~Mb%le!VEd1k^|Id5P|K`l(j9uO2e~|nZ*5+pa zC#P1fs;h{qjP#}8xWN!hQlcl;RW*;{)@8kn(Jr)*Vj>?aABT9GUirtO3#nGv~U_aJW^L!@@XBS@Vx=_Qz z(AbUcu<~$Y;rw)8d(3Z%l?YT*?z$$T4!gc-lf~>9?=XM$|B!rTs;+0UD=3QRavh#6NIlVWPJldzTs{b4c4|OKd~QPljKK*f!%U`8lVH z!&3~a1$B4$g?4}1CmZb5epzAMilI8(on`!eP>D%0T?fO9|25ra#O1)#yfesz7ub}z z8TuJFx=$}2bDrovBmaGcEHBQQbJ{4(pv$hiBo2c!RygLNOs2vVqzdEkuOfsC1tuj6 z$s|SCn!MBqtQ79_TPrmLm1}~@)hZ_CE3F{_*9Ax${1c>r2dzNgQ!m%n!Pi}9y)j^N z`<|tMJ+mf@KJK@yoMXLUz|EAjniYbw&#c=ZGMSD(m&CDy&pR+4WyBwn_1^_sk{*G% z^b6TX@<08^Xsji8^6Y|s--{@u#(62ATT0Q)0Kpk&v7yS|3^F2-2r_Xs#}1JBzX7B! z4sF9g-4`8^5SByT-v}RE5R^2Guvr|C4>!cP6x}q&4R6lKsBsVP&ZCyJ^X_dB_xSQb z!Y)R!*l~xsyvf1(N_olL%}46Fiwgg3480RGZE+Cti7x;n=jT}wJ#e~}f%AJK@q9R* zAnV;MP@mCAb+dBcq9;qgc@Qsur<5%bs-a;%cW@t<1HB0l`}7B|L5>&BJAd;ZK%^m_ z_#M+L9i;NtxR$9NDF5bB75vY}y8qqW{-+@ZC@(wp{iq6a7$6{l|38K(?&W6g;QAxi z|4&w!uc51ns)_c607el842FC_Vla;bg(O^`2}D1-HX31+9i*bh69x>Cip`TvWJUOH z__ik+j?sOlqp$C8wR)CVv*l|6HG#FT9GTa8eZ290(MtLK@xE~l)UfxCG)ue{gw1C) zAnk`QLTe$almwk@rvUJSLRqwXOsbX?rn~u)M~dwgG@CIsD3J2PDM6A&={w|~xmAOn zB6cI1nuZ}PZFWdsXE#{Uu3&8+oMMIMhV~9d1)o`5-t4tNcU#Jm-9|@x2G7~6P;OEm zD$sNluWxvtJMIaj|863iFYro}E=xa<^Pv`C{WP-ipkZaDolpL&^y`n+!iwucXZDU7 z{W3>=mQZL(BX*5`8(Xkq4NiQI%2wR=lBoJlv}{ekyyim9vyy;Y0_nw##<;w64?Uz&Bj__92EPlI@?g@EGW z9$E^kGfO$z*_gZNFG_HmA<%n};La`)bSvr8hzy3KOm^B*hGVJ443<{4fOLjnFGZ}T z)yI&5%V)e4`elZkwGQkIYo|*Zm_PwPJ~4^qvNfBh^|tQQJlRjOL8PS3m#}@i&N~O1 zuHZ7EEgI!gkePHEMP`XXn2}|5f8R7#cR81uW(;*ZS3(-u8#XF8(>k`wbmYYYRf-YCqvi$$H(1Ol~n^Q zLhy{K(bq)aeaJvyw2xNLKjc2kiY~VTY$88_OR+H7wMaOWsM{I%Q_Qf;Q6HY6ICdlQ z1vrwBOki(6((j`wk?{6*0j4j02X#R>Wr4Ny5yv^T47F`46cQ=4r|K2Fy%9h0yp5wY zLjxSxY(9$HZ!)8S-{Bv{CEj@k<~h0d^8EJIaLh+MM9ecO2r{FEz4r7N+C8-Tel=?A z(Br)c%ZQeB4yr#iyW>I#4m30LK2lr1c@TkN%KiCcklg~Zd)u?b6Y>kX`zf(!KR(t6 zcKeWiu>YU_JM!#G0M-NKkQ!)mx&n>oqC(88*nliiDRswHSsv~Xs5rZ=D;u6>$ zlbmn(Wgw{aE|74I^pJpveS8~JjQ_a3yx4W=Yb8pW&zN~--Rvhr7^*5?d+)qvFV8BX z1j78@bDzPHzTr`R-I4#^elMld&V8RSv};!m1ZiNAdsM)?m9M*85=CQ#u%Eh3w>>3T zl22%=TJ95no=<2(xPBgw&@q8Rs~4s|>xYAQscK?K<3)@O;Y*Ef) zpmv2QBhN*B{jv@0@;!MJkl?f*PcHZ$_c;E$Km4DbQfBrp?az;7;f4C?(Dwi8DMhV} zU0luGT>tN_R=T>qD~>u^fCG^>QEr8NZkw2VsttM*L@9>~>XHfweTL8wij5!jHeIfn z?%K#qLuueZ;6KKjP(%CdW_B-ikLzBcN(W6`gVN*6 z9+fkAN~<4+t31qHoKk*K%W}Tx={bKeUiPpXi zI!&u;HsVnkM7dFBc+;cmTH~y|!oF(DH?%^d#JmxHMsY9p!08bEOx$E1n z`H86aaew&1S8DZ2HfTx2&g!A6N8y=gDCyMxk&K*R^38p$E*o?DRJtW&-u*1vrTd6Y zP`Z&vj19VE&ZWXncXFQ)ZRLh@Fa)U@&APHo5Cw<@jEkz~tL$lc*+D|2Tz%y}%a95+ zWE+*fLSJI|i}di%--5$w?o|aqfW3i@uMz8~ZNU@UC_>~GHJ~ZpL>+4MEQ++1M>xX` zsdQGun)SJM$`x79XS*;h!drWVF_oaB|`Ir**#T3s@Mx@T<5 z67NEIamdrKc_y`W&GRXTC&+^r_Kwx)G>^Jyjk!NsvW|PY=!1Ao+Y;Cxeu3$XJINU3 zdC|CiKdp>t)N9LmYzNz9GwBhw0N2pTiVEri?^J_>7IeXYm_cy>bfH z{rdLx0r#L+U$Ed;cvW~4Q4d;*>QbxWLge#uQ4^VuR7xsUbz1sM#v|1DW(}dB`T$8w z*%0HAO1})ZF#N`S^+NLkxQCn}hTQ?U#&x#3Mrv`CP;@4*i4#`%zMa*RQ4;> z-qP(1j|x6QdBH-Sb@m9tNvS@yt607==w5}K`VCYmL@=}p)4SeGDd4L2(DNRmnXJ9& z3H^&%3(cVaIf*02Pl-)h+W0b^srYmqZ4#u;HsO62hHo>;<2lC`bh}yu*A}G&^g#sW zGIXsGE?FtlMb1>8q+!sOqDks#7=mnCIy&mSZW`Xi*|4b| z`ZWD1i04W^kPWlwTCL`M#bCV^Ga$cGK^!AadAd=9w7C%fV9I#-bMrK3W+n4drV;bl z4*wGf%l-!jn-N|D6hw{15$Yo6a4lme`gBM;*N@~al~V?x2l2cNYrp3~1QmO8F>;#M?6Jx1bKYyRnX;`YJ zR3H18#DH}b;0kyC)EY>q_TM?PqdNm>x^2!b=`dTi_%J=&L}!G;=jg&92t4}=nDu!4 z-0;M_5QtI+LmxEZN4U2n(Z7-Tx#5UqLBdmR3Lk;vI?nD^X#W!2e}}<80pct%$uI#( zBT4_`_8wCJFaR$AGUx=%{;J{upaS^x@3f+<<+LG;`mwA?t)Z~LB(u@i<}g{z4jrQj zyq8#HLmRxzE>VsmG+=}3aS4q(KE^oJ_r(tgKfmi|2t;~56bREhkk1jp4coc_dna-n+9e2bFrfna@Flm#zihbGDP%iA$&DxXXfW&E8blmLRbPd|lSupSl z(0R(t_C-Rt3<1|8v=i}cgasL1XxZh`q4qoUK3mNhvs#~&9Wom(M}k4;-D+VAG`Lq! z1?5V?1*{TEl3&9-gRi}df2G}nBY-QYd?=Era@MZk{jSWSvKdXgcQ-3c7)F(F;M;Z9 zl-O{hARi$(YX@13;^4V>i{t7onT*ADW2Gy+g_6R9{(TP~Eg#ugP%SkkFc#Hb(m0)B zH&LC6Y{qC)7~g21nb|shRak{x345FM7QOf*dgL z>i$AFyR^wKFGlHGa3rm#O@%+cAOGOdHKMr3pfqHIN;>wMvx2dsxpKX3OCAy~%2ADa z4R&pJ@5&h!`&!N{BbfW)M(#Tz;`wdHe~%iKJHiQ*_!Y|2Sn=>kcyN3s;%c#Gu@#th z&NHFwT%HnQt}4*;%VVRoXQXP7t3Hy2XFx95dDT4&caRy7#Sv-Dm(FB=8>D1OuVqgD z2~IzPNR>8(2fexMw=T(ZY)17_dRwU*7)7B+MD8qq7^yN=In_`?hrQq2`%bmv9VeX=Vc@`2Pa3LfMikz;0xCOC^`Se6`}^#PXC=P6#u=jb<1|L zLoqVkKTmx=H9RW)x1bTpkC9B72ufREyG0XfA;363xAP#rKD`5&U;G6TfH#Lpw=>pA z0w_YPOiwdY9A-0H?K^(H&)~aIsW$3mDfY9XK+RB@sY}ki!4RZNQs(s1#Y73*_accC z?4BDQ{e8Mj+P1?AnYR>o9_+{>J3ft;uLOSds2e!C*Q7z`!{dEN5ZtRMwulH}!EPoO zJxTfB6C#E#ty?VSm!n)l9ZNSh)=yf(tyxS+8qHuuyZ4yVtKHS;mASDZuFO|4#?i0C znwTz!fjkZlIp6<1flBAd;n zUz#zvQyD7^*qB7df@9uTO@Xoy_AZP049O>$gB@_#a;3v34R{=(cbfT0JnSMr%shA| z66H)E5gA0Od}1RfWBvFf!tYY6eez>$L*j^Mi|kjBCkVA7iUzYJ#b6&WnSRh7@`E-I z{Ba7{#LpC%NHQN~Si+i$i_C&1cTT^$AD5) zv=)8um+2Pfj`EDg=hO7^1~BcFw3)pT^#cx(gFNiorjeYtdxV%QO(Bz3`>bO|16fJU zc{bo5wG`F_gY1FNSjR|_Ve2mz9#W_T3o`}i9j|}smA?b&pAZY0Jcs!Mu}%QQ{_~F1 zzd;PpwEb&MDj*;ILE8VHlm2Vx^u~~@;pPHPw*%ZtQHXlM*8uE*iY5^Og-CO86?}f2 z#yOE#oi%ubH{gA#-C|`TLUUXh?e1K@sotkL;JvH1A3w+kn3ig6w(3}N!KNvzH>Q%>p zyW?r^AS!QK4)*!X^5E!kQPU}>zdCFlC+*t7POVLM^%QX=CI40PCGbO7*w)4=C>qYD zik>~#)|xdAIUNma><~z(MBS3XxN`4XzkLTS$oz@xI+5kC7P;JU&l4muS?O`voHb*$ z5m>jdq_SW7T!|6v0>g*7c z?kvC%?L3uU!O8}M?-vI@;4B>4VthJKO46X36W)DKNYw75WG{+apo-Iny{qt9_^Coi z!ZcQqp*V!qebH1y5;Kgy+7mi8XORTDOyP{zSj6%EbxHv{zQ@1OBJh<&rKsm*@s0RC2SXOobTi^mv2A9rB$8MqMQ{7bu!&LcuI^my1| zd)YVLm%oVY?^yaL${tS>89f000DFKc{(mAe5gU7FkN*>5DSvAG0;nIMHl3HQ?UG5dG;WG6vb%Lz5Mozqu_fqwmJdiMyw_hFES#Rm!zdS2|J8FI0{ z0rN6*Uu1Kb&AQDz%0$5lS|6R=!76Zy`c`QLt2%$j zMy>nPRYbi-ty;0?$bDI96zx7_pcOs!=Xi#iYye?>Q`bvdK&%Wq3wgHj+(HJUknxBY z5$1Z7tPHh{>PkrO#EMR&Ga66Um_vcMFEJ+6H`%^;s~P@O0b184pO@Am?;A~C|k&xcF;Mx2!eSV zVK*e_*TRx#_#AYf*$E!*@~{%*=`P*|VY$7<@Hr(p_Bs41(1#YrA6Xt#Xw5No1q-L5 z#|z|L4jGKJ3o>$ntNeplO$9NJm-m{Qa{;^@^y^O&55_FQhX(SZah`Jb@MEHlo%$Ql z3sRK==;`@O8o+_jl_XTYsnmlU*>=PLHV%j1_K9EZ^2N3Z3%X0y zNp4^IR7i}|Xa|5N=jsLVu9Pkl&sh0CWsvQG-Xq0Y=GCsi#i<8L*WHL7Q7G}!nkgTH zC}ihzhEhOG4kFR#I>S!ZX$`sNo)Gn3zxZH8;9+h^j`7ulH6)?7SA^34#`%+_{|@1Q zg1g%*S0fETpC$lB|NjJTMH4d<_x}d&WE-a?Wz^A6Hv(*Rr54vzMSIHP?=79h0%ss? zb&43!TCO1u%}l!|Q#Nf|q77@L<3ukLZoUw`fjthQ0sUA$rA$4pBX+x`_Di2K1B#NG zqvIs)azC?op7WC49-j{KzEBtH^s(zQ*_#ri!i?=c06*@|V1vq&g*}Rvb z+2dotF2Qvf?H2S2fA<#aIG;es?s+n}OY~Pq!L+;Y{+g`YM!S_iu|oUt@#BEl?~PI) z))&ZM@aJ z-M0Y4$=fBb!R^preDOH6YGhhIS?r1O+2m2}_LEScGfgkPD~TW$c9fG>PoBn2**(pt zZINt7TGv+bDl=+@9x`0s@cySRf)+a#lLDw;6OBalIlx@g;-}Byu*xV>3Z@mr0EK&I_yTXpi2F@?dsB3mm z#&%pieF0{1ih6R76i)ez1TQVAu}KT?lxa;d5tPiJ$GMz#9W`f?Zo}8`UK22MJ1guL zB+z-^XE^(sZl%x0%&0sh%$zCX@x~x}jEBokTEbh*HO?*^d7pos#QFaa-X~B=; zX~>i+_h}3xE+iLXeBsjUt|xtu?ch?*tybh;uUDWcmcAtaK%NDPy=!HHf5h|?7Ly+W z9i{ulmeNl`hn{o5y|N1FE$f6%G^w*&JRuZ*R*U(Gl#!LR7B=>-UCt}`0TJypdPxm` z$01_0OYO*B>Sy8X5nyoE^`Ltgs)iLVN{VX|j};q*_<3VL(g#?|q&){ZiV|pd!aeHt z;1Ou;bBmE4g`n>pa}C0^HEMwy(`K%zO071aXJsP;x{%nIReqS;825-rS}PG)InTl3;^GBCSNr$uD>(w^kJg zPhmzp78yx2jDj1q35+nk!hG3*D(^T3)vB8>blx~Fx$qq5q<3pA#?uOrC{gTams#qD z>sYbXW54cu|AhYE1N@(%PqHg}_yv&HiU8ry^8X^xl^tFF2Yr5(+Mx*jN1rdD2Yq9> zEgmwjh|eq`X=0vlJ!MQK+|Xg%${ZuO+1lCrOQ7Gb`Rx%fY-i9I{uqj%-i*s|n$7NX z>V5xx57sACbqLt+V#pB(D~V!kYvnXLtb<{KffiaGAfFh9mk-Vu>v}eexe5~+)y$4f z!Y#?kjT?EfajnPJxhx7(k46V$dt-bQEi*$fL-Elknd(=0F^ zDp3L3?%DXmcfCrXzLAzVgWI%jA_ZPyd0(er-h51)Iqbbg-ew!l!mI-cf+Qx1e?lzF zwSgQ0*6I^uPF0A3tbb47D?DLUXjK|WQRz#x0 ztg=?8B9hq9tLT#+=9wQ4q?pZ5ty_68QJlf4wyD>SB_X86`=r^mf-nhGZs~mfYfmzR z%1%1qGtUQYxe9PgIjG_0z#+=r*|PK`vHi(1D5PJ?0>DZ*JaY^J^CIl!a8~vFP{TSQ%;Lb+HD1 z!9LL!2?@T-+lSAoh14{S#ucH53;X0C;HvoD%;zyZp%}|A#A|MA5_m z;9&c&Mue6VstD=_=bCZi7I-R4Fl4wu;aZd_Fp^zF8MUxlnp9#)y8Gn?>stT#)H;_` z{--d3_fbDYBvmvT0d=0wuSZEV%YfA0enwxOM)ZEcNbac&r=F|39I3qA=d0`5ULblf zmT*FD9{&htMSDEy5(|Qs{jslUdG-6|-~dBWB~RW6jQf0llZfd;JYZPxXw{=5c3Im7R5Lp(yTHamXcA%YS_QC}|P!EF}(Hi&dqokeYZcdQ?YT zguu!67a9yaGI#!cW=zTiomSaRAK{vk&sr3E7H9fVQ)^a7zmYCF<_SC;ggv`N35rLL z7QBz%O6N~*XS!^OrfxZBZf`V4pCNRc@{tpmtFE5!G4N-eHHBQ6!Vp)jGg$`eTclL4 zcOjpJnICd1GgaEgyo+F|3p;Z?v5C>WCj zxnL4ku7s_YbxuAmEi3woJJqPYRzz9NjndU&v%1mzy9Sm{O-4oPFUSSy=g-jH!`7a7 zKEq3#FSWz)uM}bPV$VEB2xGfq7b9{*z9YT`iN>k-U+|mr=_7@7Ui3QdrH0QDSN6Ok zwF}^^_2qY+aOI@Ir@Ub_E@@L)>k1*Fid`<=V1=OCqEuZ$I#IaYOztcnCXO*y_W7O4 z_6YAsBG3~`x&-dYMl$*o-XgKyMkd{(UO#qcHo7Ex@5tV<$oV9D9XxqL860y8A3$@X zVKmRsnP<#`L*m{-C?TF@?uFPX)DSCX6ID5n| ze8wPj9C2UdIZ?rcM33VuM^D{SM6Nq>Py?xVdll{)NwafQ$b&CgEypUul8khl zyKmuiO8HXEcH&HogdZNCKX=cK#45@i37T`#@@Bt#$!eLlqRmP{+S)NZhnZt_lP`ArT;^TF}3|^);C&TO@Xw+k%V!1jI3ARzKy89FsttN&fo- z^)ql5eYuOql6`2C)abS`7XnF{cvbWqGHtw!({gDxfdSz103pl46lv<~Q0qHPPgK*W zeMX(cFUf%}ZUbK#FS7A2)0&#(IQ4p9*BjoJcc$ z&B3>vGYQnlk_YJMlzXsO`h!y+f0>d04%dGIdDSITRtQiwQUQRO{eJ0@4lrSqf$d5SEE3rN_VqU$j`EWR{`3YJ{o}vpKh$vi!%5A$iTtl*!SW*yo zBmfP~>yJQsRlC&Yq(}CIk5l)3wwqrxAvz43mU+`E#BprHr+;w!!U|MqDEOE5w_xw@CZLTaHXJq_ zlEA){_mvxW5n|Yf10%qDH*!Lak~CE9>Y@pAzdzL=A$lWhk)Q9m7h~~QP+>f=zFw*g z2To*Cu`SvDcpCklcCoE6KVH!(sWMo=sY0e>U!SZ%eW}d=`HezG!;Jn1l>PZN{nZG) zUc##cw`!B9s55!DQUSK>a{J?7m6yLij(<2+~yM56#V;~4;Ne2iwTl0QPKv4Le3guGuGTz*J$*itD`SGzmuuC+jiF@wS^v%syRb|-4hf5)i$ zg$8$7+@RHvNDDjB2`Y_t6Rs2|7_e4#BxkWXB@4IWHgmcfI_+9^ zHpsem7s?7`!`+?l$^1|5xYFOq?{7^mEnPDZ1YH!4H1+M|oapY&FsFxZ0Q&rP5f z_aJu`a7ePojErc`bUFpo8%xZBm$K!!^C9QCI^{2(N0CbV@!8lV71&Q9JZ`enSPjYz z7>f;A3e=n9YEtG0__Y_PY0UQ|VU^jxR2?W)a!B{&Yu2HD5w;^fujUqwkC`dA9p?lN zmd7j%w5KSJ(|Eb6d||C!EYG$+v%o;g{CRJzdSmExCCOn%-~^bzf z#*~{>i@6#L1)?=?r_Vpd3X8o;v~7Aneik2KkZveSJcgwnY_rS3ZKn@w3YrEReINoN z21-U_`XvcGc0WB-=kt2Ve06C*n|WpiF#RjePv;YBQY+PpD2*aHTT$k+if)!xyTu7V z)SU}3<%7@}hRt(JFxiOzccnugK{@cKt2xn^OL$)$5k$_>%VQtVsS~O|Q-ph!V42MD zb{{mG<1wm&C)5FyrVYe=JfkIA;d+Ri)iCyy^+2fo(%Yi%NGcby++Y-PmW#YHcDK()upPazze9~71;l*jb}+yBjPd3cWnN*m zQPxneBh=mE1cTe+FNp*uRCm8rvosMvjt&OYDn~;iBkZ6`?C*7uaZ&VUC$n!Ckge1c zu+c}fCiHVzPj@Px^9<`}v(y)02UX4Tcljt&eeZg|4{YLc@Fy1_R|JOOz)Al`X~Y1P&OUDB(-gM=&aoIT>@-BVo7>Vy?A|3M_J^#Y>hx_{leOX;Uqp^e z@y3tt=VVDgQI#HfG%OX!-hx!K7`qg|l*fwBFU8>bomZ@Q&9yjRH@wAVayfeUDfxPW zZWCsaDhHf*tSWBcac*edJK^l{&c9jPmD!7L%kv3oqI0;a=Cfts4qD5;&!{PJ>qlNg zz0?tkl;#y6Wgs-p`h+?-4hbKce`0%ra*mZ&VZA^oekSPiv21qMXpVN?BzFAB)zh4Kairlr8VwU(KHk;C2^4DHRdesI=s(z`Aq}1O_4fOubz#F6hOU`0P3arU#M5!(azlia9}h3FU^*tqUDAH;9OJ2 zapqIh%v9iJ8ugGwGJYgbFim+XaY@g7Fy)&8=9~roOk){j>JK0~KK}c03^alXN0t1V zBM^6uNr-o}4@kXXyS!}KBzbh|tRGHmW_jJc*Bd{lp6_<@2)?j`u8d?cSog1Cawfz! zU`6fWGBV<|G7!EOsh1RS5DYS#8aoSQMlEP39@AKCryk>3&~CID9_WB1>}eCKaTt7O zN@%~@b`EnK&bOG&xqCYZN`qA|9OjtqJC?55l~Kkp6< z3DI8b(=R#E!*P_db?wKQK*zv{3TYUcMw9$8F_)~T-BGNB37KYW`MsNitMC~Y3z8Ik z5j>juv)C-NrjL!s!;|tng{s{!0B7Bl%Jy-jO-s=pbr1@qzAt2MAmUpgm3BZtBTNs_ z-9%YTGEmmH)26D7BWR2}e4Q361?VZ3j@_5iio3f4*lr@UmEL0&U}hOw)@|aTUoqMd zI)>Kv(GGXf=Jtr_hOMZLli4PB!wsdTM86Bpcj9R*GC~}kq$YZ)GuDl5N;Ij^0L5h! z!^Umz`KOW;X$7~Q{pV%}?|z!8qi#-@<#Oh7G7Uqf;flP6nZu&cOP7Z=Ixg6I8||6< z!(mBUJ=eLAYIxnz@Svx8vjY$auDZp3%IF()oA{-EifzQwVCGkfl%UE6BM5kQcdRhH zuE;|8*uAzOg9tB0(b~PT0G?U*CRl5YNoie8ECx4Qd75Q1u?SWce1YZkuw6}){2E*@#%JW|-*7WlXIM+BypTqGot>JRk3)XW6&483Me&Z%3sclc zRJ}q{)^15yq2(X))WIN-drj5qYq{xXREFPEnp) zJnXWog;@~vM}bn&=a$;xtgk&)F0tzFW(u!Y=U*z;3B`qvHPvT9uJI!4T9&Mf)g^0W z0$uD8{fs6>Ldl$Zx)8d6NG#`@OZ4P_Bb<)>T}V8x+i<#r0 zk_riRO%nxjD%CJ{gidB~^y9Y%M(llxqHqy?ZQtxcplJhNW3>D<$MVSB*mJ0@3j-Ja85t(|Or!CkJ- zIo-Naz3%XYt=80>f2qfNS8}%LIr)Yy+s#GVWt?<=;s3U>@@44!%PPHx6!?G(6;6JqOX-_mSQ^m$ zrECcvmcplB#ccD|d9_6kYy<1k8_h|d+SMQj^Ek@{anM;6gqJV!HoY`BVjil1F%4Ug zq1oe^Bm3<&<6q0${?4-hHqs-``>mvWk0z;*OTpV zl6gYELKlo7pw&AkMTTQDATxd?TA_hS3j$OwyJ`erdRc@Tb_X{vOTGYLc4M=GMsj+CQ6`^oNQ27 z?TBi>3R<*wvVEXY<`<%nH?i)HvrS%&R&}}78;TIp1_8B39Ij%uL54vER~Il&qlxmB z^>}vAQYqzIpB-rGri1eMJxsEZ#@-Qq3Qdz-3@9+#vpN(rF-Hab}rQ{ zrcg&$^GKb8gl}kyE@T8Wiy|IJRF28k9Rjv$^N%Uj#gop3*BKX0Wh(4k2G|@wD;&?+ z_R9*(J!&4&oGXDzdg;N2^N@raYRk9CZ4=&C>6xg{l`yXRyS@9kf_yb0VbxG;OR8$M zQ<9VHlK0RAJ}@R|y#z*IA|GXTkz*Wi-o;AP;=o+kY7tods4uMy5qR3fv)+lZ=jmSz ztrGFkwUmU@BTsD?YEC3ktM}Uz=)6aFDVvGMbmyG!lp|B zXZllG`fFY%>iwV>S#JTL7yhWEzCd+gO(oMdda-|7jCb=>tXEK}dnBlsfx#r{Z1#%B`0g1xJeUeUZo4x%a z1&;4nbQ`W@98u_R0@4zI7CNPLRBoSSP$JKZL=ar)U3%EuX}|(oWNt%Ez*yAs-T|=E zeUrO#(PF{E4cAN}QZm^=n-)T%=#C94ugm9zjhpnfzX)%!$60WASDk#~#I9l9TssT> za9z9}+tY=GI$}5!gEkQF?C>Ylm@D`_Q~qrupQtK81zZU?gwdT+B!>i5k~0J;It6p2 zBHw=JI?}a@-m8dvUOBHgfCX6P-F9~ZL(*B%VpW z$sWWbw7HTxykjYB-CS_n-^f50qxQ4b54KV*c!&5Le#}H<# z;WMD=9YI?{j}5=rl0VQjx^NV2brpTXdP2&suJrx@@b57DCjd{7BTM4})lN^qt#!u# zg@peS!T$|>041!315m;<#)*W4lyGR8pw{)M27&_RB1g-qk~Z;L`A7La*aPwv)>+9X6e3Y z4>W{WK`|RK1~Au*u65=0q1uk!gTSyA&qkVPW+D`4Abo0JO-nG*O$Rc!Qd4WHD~88- zfYoy6+n2Z<2i(nJ-M{r)=eOzTQl)8|IW^g7^mkp=c0kK8>GtPrY->A6wdSO7(@Zn@ z&WzJ>k;)wh%v0BTX+eW9`JR4!2NZJ8uk>ejHt%7yfUlr_?+T9ZJhS795o)4l2~O5? zhfn&d5H4(_smOnOD{_moPS0B(Zy#>>iP1*btnBKD(7SE}zonw8QV-rF+5dc82ZxqcIQ;aU1xa+*~t;ecr7O{bSaFn#n+qjs0P zWW!kuw-%qGp-pnwEmJGqo7j2OAQv&Z;97r@Hesu>qtl@6u=1AJSw=dV)7+p{5xaOU zYrt|HnvBoWArDSsXgIz@d$fs@D{oak`{Hk{bi(~n)NtoEq3ioCLdl&pLIIZC0p}9^ ziex@uhGc}k%Kj{UOd{GyFx#_eoP@!@pCr_Hmb5Ep$Rxm1P4wD8IRCR3HBxXxKseG+ zGqws#mr(lDe*9wp$UO9|_`5LD2Ko${{tZF+TEp&?&z*LjA{EqBmKZ`j3Ep{j01BeTajedRVZ&&FXJ zt0p3&ekFb)ZzloR~CH?O{D#!ggi`IVI@ zF+o>m3`0#NOmHV)n0Jb7M@6?6{aB6m%Jj9Hv%IOSNI-pDLf#6}y+_hO ze}_EZg~l+jIbKvdioSi}yGS~6BUu3#B4ME~jjAXHN2Iv{Ls{nowz~x|9B(%$9nJmh zRsQX1wogLvfgFo5NDu*{?Q-l!6SpyxUohFl(is`jp_(jizV$GOnDkXL}g z9Sr7r!cZO%hFiHq#PY+4bSLd_uTMJHN$Iw412c80PPk_LzCUG?spTcE?&J z_{6r><~sx?6C?W&Jx=3n;uA6#g`0+4z?fM?v*~?d`@?sCXSILwoli*$895-~5&}5y zKi{VXbZ0CKtSvnMy7oaQ>SApzWNqN&^k-s+jDa&?;@ZF4wmC{VcE|##JRoDKCR!9| zsC<>p9saJB)g$6cM&j56b-enS>Up7;kc$^#YX~Slcb~rv3oL#N5$wh>Zflqa36}F3T=BtANGUW_8=BqNk~R0N1zoC zKa}VqJUoAn_wc$MO>CilY|ePh#d!8W0T(hfMdEr{|J=UT%%ypGz+BAtFyWrZirh6jm2-~PZ5Re0iT$h0`b|8n6ccm8j?DK%x-2HgFbXFMT?r5h5C{LSkyUvbzGHS90;$e$P0o1-8g9+=py zu-5y8g9o29Ktc{A&n8dut4kNteg;{ll35jD!}CD7U_hVz#go74XoQG#bIjkq>NK*l zazl%fR%RNtq+YWJ7iNz~C!2XtNDw}1fAaUpkdb7pncPjyEtiD4`wsNco4x7|6}z?U zkSjjb%c_w=oKaOLS_1q0JasIt<3C4vC=*W=X>g7wgt5=}1y%iwSUMkJSP&b-J=kP3 z?j;c*^`!eMbB*19UiLkJbX^5JpFNH-{!PW4!IQRtQ~D;E9y+DgPo(7*PZK&%PNESM zxQe0SjZyGjX@}UmEc5!22g8$J<^Tj{%Tu{U6Pjb}r6;x{gBTF1A)C#&Ums z`d63n-<=xeKjuqJo<-YEXPQ8MqC5T|5~AZ@swcQLsg+wpT>Y zhgE?g^Q7_?;)P+l-s*x*b3Rg4=_q;jxRai*rEk8iNvMH!xh- z%W+}$Ti{{2xYHXQRPnDol;a%SJ-5FmE#5V=!?!|j{<3m>j% zmZ}U9N*`_gxw@(ePtu%9)vd^?*w+-*>FUbrnwP_N3Qj~c%x66)ms@+t<{I$bU_rqq^G8H4(LJ4rGZNmk%Vmy8;_W z2I(q;uXX6v&~gbRko+{B@tM{u~9^Z3XcyF}gSC zVFcCL>C(hVKlvO>INl(L+Q{g{;Qr0WEJ90N!?6iPP8}XowG7x zh%G$2QOw_qBx8Lsf+ctda~pe|A)?ZJkOgGr^>r6r+ZaUFd@W<~vS%Q0n#bv@)o^2e z`U7-%dWtv9Imm@|x~LWvdSu8BF><5fp5yYuc98YS!^_iUeq19Py^tNc0czO^jp6pl z*DHNUkq@RRg;5{ll?3M$1(*`(V}hSqt1^lX_FkQS*>! zbsNYxe)aIA!!M>_vNtlAGNHbI-QD_oy!I9RzM1PC@BKTOiCG}P7dZX+TtfG1z z^<|0$$OBfAt;8#>1sZ2kos-N^aB8-qc>YG$9k2CX9viuh#XKF0MK3c^BM%a!7oqE| zr){4nUpJq^w9nTik1tv`R!}l+azhSK_?xp)5F}k-b|z;w++8{YGVTz0ykmnx$lDQa z3=g(Q*HF9N$boHq{!bF_e7t=aycGLF$k^3f1g2*ONO7PyNMw8ySp=1&EpbfO#~#Qr|=c#s2Ea|^kj7H8?!te*8&B7y?36G zUl<8boTwbC_z4FDhYpz5B-)snZyLc6zkssH)r@*e?Ii0VW5&{IX)%3*RL7`TQ|Ke? zUn?iKF#OV%sv7o-DeT9Ez!7~E^zcJ)BDO*UcI~B19z*dF=qBPyV-f>tAxX)Sx?o-g zVNq2wqUkTuXj@q(J|lHu4uMKSlh7h@u2|Bg==^yaph~JQTtj1)$6^5GtE0j}aYi zA?lHV$lg#5glaoFyR@XMC5-cowk!gTNh)y0+|OQfke*by_f!HU;~?Ls1o{w`oJ~M@ zYorc!{KnXK(yf^o3tI84eRK)!pya&3#e0I>sJW>cKEF$iq!y><#hLM7z%e zX?DyVU5Jr(Khb}rAU(ifloVJ~!<;=$0cAb7gltfgwkkLY+oUbu>}MImZMCe-HM1#W z6U}}nWA5M`BPuMCV{1n1&t_%C=?Qlrx{1}8G|-`sS$LuCYiZIFlddVEmIGNVo;H~g zgBBa$Bu3leb760}k*8Y_EI#86)u+>EWkzWjR?V|Rx+c~aS}ip(Ke zxbb-i7_L_u|7bF(*Vf`l`h5d0B&Cp-O6FWq!LulF#pX3TL>X4lrQfmqj^GdxEM7Q!!fiP)WG<-!xjD4C^Yx)uH`GkEIjm+S z&dwawjXh#$NMWunL7)MPJ5_?1#P(hgBG-bvG8J@!%L`Cx%e3;J55lkJ@R^Pf*6p1Z zvsU9a4X?LV@c zaSKmLYCY$tFgQ)(DEYWkfPag&-1d zSe_iZH~I6Aa$6oSi_Z$}TL8H*kH-{jwz}wP=j{)wHp5 zL4IuB*y|sk(LMd)WRCky9}G&JBTgm%2lG^6yFZJW101Clz&BeB)|4xuXtCdX!MR_GYZ3jK$lTx-U#ck zZNKdx@}Q+PW53QzCUWqKI2IqbU|!Ay(vopoO}t)jNQY?q>%Of(QKpbk&ScEfYJ%h( z58t!^qb1NvOM}`3@;+Pqtrp6@YSdZ)rt??uOLGR5V9X{$+KR^;x2)=yBAtPt!_yn6 zsw4Te9)xPr(#1!s$e!9>{z@0xk_Qv%s9WoocxkLi<_I3mVcS4+wL95TF~4zgK5`b$3Dm><3Sd4<)D9U1KH@Bbtv&tH zY=+v_*t^r_Nr^Zp1mDvp-|vB}v~IaN{X16QH_AxXp}d`=@g&!#*Xqjsr{$bqv2K73 z3%~i0mo21QKI(lXWHBcV7Vx@iVz4W^5Br)g8b410Ixp#zB_CHe=O12&n-zj+i>k^F zMKB^MEx>eFF$pD-mZYX5d*-(0p%R4I{3O5_QEe0Q6HQSs@#a1*!t>LF`4^0Q<^v^p zAXAfJf{n4(26s)Xq2u5QC3O_WDLgbR2;ylwEx0k-AnLLp>TpN6xEk-lrEjCSzy)aeQUe#J^iN7Rh#`E{t zM9Q1kGTgS`{+hz_ccJx92_|vKCfWjMs#gMrl+*sldg8w&*k1+3ziY1?RSma4PA1#X zZB`jEPWi0V?@e%Q;#7=~V9lxh{1f{53jBMl?KZ%qP!iC?W?@HfAh>f7X$WVU-!a3E z2AXl_j%dOy=jW{U5kZzccp-r`x(TME^E>E2mgTYbcskP{Dpa~3fZDmB1KZd^*TXm_Vm z*{F+vKO5r6B8%6E?RkDd1@SO5Lx-xkNs!n$5)*dCV+%lh=xQt=d zrel4nL-O{y=qKYlLRgHyGi14XFob8V`+bgbG%^qt@f!^EkvLk>fbncZ1ksSVIZPmq zu9|C*{%S-h?Z%LNwIffH=Qmb6)mnHL5#SWhBc`6cWO8w9R7GA>JE=R^TD;>>{fm75 z_1}H*4`+U4FT2jbhWEdFe6xB%d?7CBuCx!158{>(Iv5Z))g_%!z!*vLShY|B!?PfX z58-Mvw`WJrvo}e*jMcqcx&h?0CflyF%;uHU0&KMQ@U;Pm*sU4|SV7bFOpew9)K>+z zQQK969nozq6CVQAmxmD@wIW2AjqxxB5Cc&h{hqkh=D37(%MN>abpk-lD7`J__jf;u zzaR-v2JG~5f`*+|gp)_scm*?#xMuhZs=!+#3?VX7^R98*pN;qgl|o1-A|@CIaDa=% z4r~0Oh{K$iju@_nT{MOmh}&({yRpcf-5?*OK;LZ!Y!};z-C(*eip=J#`XE%!NxPAe z>aa@!24zZma%wlf_xmB&W%5BGRT2tk_S#WYr;(m<2n&r_!2DaozVX6cqlNrxwN=%Y zNG(o+-)$SszVoqZaj~7c(VMUY+`^QkXUa2xren;jZPF&{!(>D%Q}V>PS2p9+0y@M6)gdw8`n8?tihnYhgc@kpfKZT#$=TW}r7dhjQJ=Bl}( z8-ASVvO9L=fd{_=>WN$;2$52dINY`>A+IV226$5L*FXo%J)ZS-0cPrK%!C(&Pp>n+ z{b4A#iK-i#Bpl{jGE4<7W7H~3^iAKZpJIqfC=C2^vi`>rW8+RajIP78YSLfJx9*~6 z?0KJPMz5Ai7~|0vQs5nPs3*$D{1b#Q$rFOV48&IZi{cKTrm>aR;OjockD^Fl$dKPd zKC#Ty5-hK*RQrk$Ps<1`_aYFSslRWit$knMB!6Xt(s^IdZ@lclFqH;%xSqWr&8_2Eb~sw>{R4O zuj7My;ncJ?7Owt@I!S#_h7UMne^<(aZ44)~Vm69&-J(%2+!Cw95=QBKZ$`Lfqg=WE z{ufI0pXdI+-w4kWWftQkQWa+z5gWwwA^=|3B(h!j|PvhjVC#WX-FxZmDtZ zEn6cvt(jIqcW@qj$bdktR^i6JUM6vFN@f-QvWJuc5Y+oQ7HQ^!jKScy@!Fav-SOAa zWcKIN=K?waSL+%YC#%|WjGJSD@Ov+% z2sktG<=ti~{Ya}NKLGutlWK>yt!bD#;wtRnj{RxsmEsw&6_04Sf-bMUL~e}>nEjaq zUddOcFt`@CXVME{R|Z5G8K}?9d!~UsGdIpJA=JS zOfk?ve%!lOuCg6j0G=5_`n8$eXz- z`XV9fm=TOxGJ>zRHKTG8`B4%`a7Qqm@xs_z45e5%2YF;Ss>a6|f0nWAdBR;#jNU{1 z*%DVt!Fi)+M$1ih8^pQ8XE5C+dXG`p$6eO!ZKIYu+cMaW+M1PB*y%4?nLd}Zl+&8t zp=H`Gl*&JUm+Z``dXdev38x)=3 z9==NX{Bn7A4_<{djnL5yi9~(Zs^T{9*k3NZF~fF&QaSBBL_6eIjdE`oD(}zx&Q3{u zYMgp0860buL*A~mR5i^`h?`(iO#c8Y)Cjhpqk?5%-N2>p7GIGz%u#M-G?+4{YPZmp z!%zz^O;RkCb)H>ZCWkeF5{X3QER$u3&*Tc(VK;8nu=Lf&G$cjH2rmF6{? zgQZ39{mRvvtdX}*arOIT%F+NIWAAF|>`;=_bC?R()zrec*(psqxXWF)=v4gIf>Sc5 zbgHE?9glg*uNoswE#4*aI5yPzeHZs>`(Mu@9vMyxKB^^=OHOTSRSEP<5Y1iQk_7>9vfie^b9dfWZe<+ z$hrfPR@~oO?R#$K-*61}a0O7Y)(V8cx@@0K>n(jSe=<{zs{YrTno*LyRSkz$5>XL#Ft2G2Q zjWhM8^7nkhK2hX|XWK|xI(q4d;;j7Z#%a-%Y!TS}F0mt2*R+>km}E*>SgFc%JjXGU zLU*Q3?`q*4@f3ENjPLfnHg|u)3yV}C$x*SnL6vd|Yk-L8+VUP4Cou~!Gql(~uAlnp!8}&w+ zhhte9zU_4lumUW0yhmtVm*lSIiBTqW88EMiSUEMxQc)uQ9JRQwQq7wahM;Ze?76Vk z2_}2-w+cHRJUeZIA@H${1Idt*)?JFGkbMKq)griWufr#T<}ESrH%9C}`QnHy%WVO# zomeLq$u_P@gJvkg5;Y`Yu_}_FR_Lt%Xgxa=BhK*b;6mqTAc4=ABiOOO75V;{$njj- zWwt0$W~L}(X2g`CBr9reXu5VlhMB37^u5`%$#uRv-meOv%}9`u+=XX%i+x%R`q)b~ z0{`C;x9CPMfW(^fb3E6cFa_8UKc7L$isTcp{u8i(6C+Y}v)wDmtimqgd0CLYutd#? z>^QZ+?T;!Kt2Z$JeZ`NV)`jU?=4lZ6p8dpD9?7%=;EOo9#1HGgGo7JT37H*Yn?mPE z>tsf4Vb%i)u{oetJ<$gc$GBb34Lp;wDh%q^3!*V!xq0M0AMaxzFFXr3;AAJUoity< zk$ekB*Ntz`LhsZ$Lp!Um-+FG}!g$|M9UA>UIa~>a4FV(_UnRb1bhEK2K3w@+scp#m zhp;e#L-^*Ukt$;?v=rZRagD_nKzN?;A{VR%bGgBskBQIM?FUs_l%h^V#F{ZcnC+@wv=-N)n?qbtTAU!91H>%~fQI13Mi1m*8!Lt@KlZ?jHb$RJs|$-TFE z=b9Z6v!Bx^s;}$B1*K6^YN_MK_leK6Y-f15Z!NBYJL5e4p0+^?ZTDC8qFhITTy};9 zd`oQUQzEh@hpym<&D$-P8m(&yQ!QqTLoNyrOu`ju$SL;8*ET}!2-E1|cZ`*8z;fyI z6!_kiM;SRw1yughYb?n-l^)lM;*RjL1PPsi(As&2-*22LQFQs3JSgu8Kad+1dD62(`rq*fhoP*I~xlQ$+=l8B8mT+YKwM}Q!8OT`46L(5q?Y5$;o_HsB>f(L< zm)+=}xA?!`@86$89)Ev&ou@w%!GHGLE9sk>{>(Ya{vXjZ6AC|n0(r8*#X|s*2mld< zz2c?fC|=-NFx*sS_ue)B9TZY!}WRnBmuQd zAXbzlkCOu|mYf#UG<6L0o-y7Si{%^I^wHgls^4@!UwqgTPCdtVo7#pECT#9XxQjB& zvJ|VYZw!7*GmU!unqiUF_WiSA3`V*QpwgOGbZ0!_b+oI2rW%=PF(yNf$N0i{)ILrh zw*>p><6Tjz;qGsOF_}SX5ub>3cx5p9B|U<0SxyAS6?9_8k(ruPc~dTl;uyx*siT<6 z_Eqx=6zFv9E?%{MpdX!QD!}IS!%wy9G+(^4K#sq<%K3AuUp}7cKqy6%+wL-f~5{3RZzEb|q zc^`%cq2ltf(WjFGW56EXTh{^5C5&RTfG1uCd7>^uwHM&VZ{{+bfUZDO{B3Ozub=3? zZo)8hd8~JHFtl*J@J&tOsCurReGudfP*tXU629J+ zNS(YE`0wK`)?`tLJqCMJO(i1fWUK##@lBJ&qRkQXB%eFgef9$dos|0$wl8&NVpu`r0nH{0g^z0m`0#&2;{=LjJvW z*m6TvvVI;?b3gS%{~x8be^kv+BhySs-`Ualza0Y63L7#TKV!zg;#xm`I>_0S4eX#& zv>OZ%CBQ-@d1`yenMid~&7qF?E-;@+@FBD=@fI86C}zaxh(Jy583o{^qftC8_g%ijIn(}LH#lF<5x)K zmQ}iY5)51Psi{dw$bE_+s6wGh@TEkg>>EGRi~pF$f4 zc^%jV-Bl1l-doz1)8(YmgdfB^?4jvke=jvL-ta#mV?t8XVY+3RR~W3Rlo=G;YG6}q zq1ULmGoII#@Wv1gXHniidw<^rC6v7PL@7tzN#9rfMZTk`g=fd=1NRw|HsG30C)*cU z17C_>$30mNBwIyW1J2xR4;JUGg3(LsZ~Vpu@*0FmY*mD85L&;Bb4fK^(Ji&v)IZ=j z$CF%tu1p3z^KaU13o}*rn!!2p_UT*MWNZchuUFAO*Z1F7KBE_lZygx`z=aF|fcihK z{C_bf6y1Liwbsf`=2rhhxQP5K)hdyq%B)GDsA{PhZDZxB>H4v%soC2? z6W#6mdNX}Yit*0@+wl+g+O_-hJ=c+z4$t?Fl87_X_poSY&K|z#6ahmAz$&rt9)@>e_f^m>Wf~fWcSBOr zJ&*Yq!>hV4vT)<#5KYJG#+{Rn;l(T7(|=mBt1%{ zy-!1GO#&H(G<;|wq@>~4yiWEz%(j7@FoxCR9czrlLX9JgMa0ZL7PL zBbct?jY}Xn%(niGOkfSmO97bgsX5s zatlMWC8#qehNLZo2vdrX1HAca+f_cQC2oSO)Z1`#%waZm$3b#>);ZTYZF2YUf%d}M zlFRAQW>}#3`GsJE7inURx8+TSo+2~Gx#gJzIdL5?#jXxc`0shiG@K@9?A{6%yyi5r zMo|M5(c+$wpSk7OQ~FiPE-# zK2>0XDup?LkZjy*{?5~2Vd)q6V6FlQZI+IZi~O-!dPqKN*VDm zFwB@3lAy)df>$v?;RkRAEQSpwep*_A2fYnQF6?dsCy1veLxoGC8Mx&0qzjZYH;F2o zqS*_}qqvYb#It*&T<+CHr8WY{IdK-=OV3guN)=Zg#*-v81x*zhjuL)o+-`tzdAJl- zp>)Otslq_91H1i!bQta+xd6-XnSR%MqVf(q4OIX-!saiT6$iTnE2~E`0#9Fz-uLIEiGl`>kGmxOwe`dAK9d|=AO zbeeBIDvTYTmz_eck#c(3l%V4FYf&lZBWXH!`IQN3nh)A;>DAHCuUbr(CT*G|KJpj- zG%2Yf3Mi(mT3w}pR8x`LQZn(~T|;mGB*s*8pB!ccD3iD5Lg0-SwL1P)LB^+n1_InJ zv13i?FQ6ThJM>qV#Oqx;25BDgwE>0(sqVyU#@C6xwD5vcIU<0Owq*dXQWikd@&0(D zKa?0|8OTud$>=Mhxyj6@Y!8~f>0=$g-?qGB#b@RnOQXHMT+z~cC^Q=Z{iFG#4S30w zkRe3-$Ir!~U$LP<47q^f)oi)_IN?XDQA_>LSU9g4Ua7t4?%oG(+sH76dMRYcc1E5v zKLD;-PE#MU#^CQ%d~d@QBfL!SUVBMuo^V&cmRK@|Zl3G{wjE`+*ZCblKeTcXTB5*wf&0ly*@dgy%z=*NEejE|C*^ z`dUstq!aOpF!*eP%;}z{{Vt&WldNFqO@;po4m0rqRHvgw%`t~$NQwxS%&SRxv#0Wm z<4Y!v?ZN?4r@y64zf1cB;j^6n^1$XdyEF9aJqY}09osnqrf+37JJQmE8GXu{-eGW$ z3l;9IWtL6*C~Q5B8{0X&PX9o`XMHvA9y&06c_-tePXEIB?majrCBmm1hulzFU0g#2 zNE@g{h;dACcD>Ufk&9+zP14T4M@;k`rK8VQA3RigjMKEdi*&NJA!fI@i+vfH{}9Gf zyFtp6G0E}}GUO}~v%=!~>mml7L_~`eb4eD*GnY+X{Hb)DD(w^OYjQVpYR!Hql-&); zsE?!g;AUY1lNmhSL;tG$Me0Y!Wl&)ZAmqn|6GO8#$RKUJBhFD9P zD8UL#@`lFzC~P2|Ut=k05EJGC5&SIOoOJ#tcCzeV zFdpF@L9q}vWN+iL!F-Gw@Cpn0t@2?WZ#6?)^XadfgSB=U@a;w7h~i#Sbg?MhT5oE$ z$|=)jaYEZe)|#5)nUl4sL&aMe zEJfwbAZua8adrLM*1G}H1vFDbt>j_vnUg52l^P~9} z9J(T~_Cg))Lozge@NEGGV!Cto`ktCAzhB>_`YN;b7jBW+Pt?tN2NXcz@NR)FK2mTd}sKy); z*L4eZ49>S_F!eZnusEMIh%Y;#9TTo}avB-ka#4~J7V@<|C5h+YvC3QC=OQ_(kWmf* zRm=H|2(W~8p!rsi2dP}szh#Bn$lEJ$dt#IeIb21z+eSBH-xtcu?bV^clLRML*eOA+ zjyF25ubx(`LjdXtFQ=5wB_;}_I@Af)A>9&eL0UjR5JKAud8R|_+=+SSg4*s0dgg-O zzV3fdh2D1E$5mw+LJu|N9x;SlVQ+jM3)SJqlvVvixCLxF@M+ZHhAiix6oUU_x-Q(P zT6U5Lep-=+3>GP|OQ>P3K)s=UL|5Oh~V0jQWHJ8TRp zcCFcne~(Xc7GGJKZov~@T}l5`A)7`l`1Rr+g*U}$;XmA8{(<1$?!8S&g-zlp0y)yD zxSQrsbXkTg<`YJSQ|$p^czy~0Hg1o;&xYIMIGDcR zs_5=LfI`wcICgNpBf5RD@%0vR3U?}!{%y0-w?hXFQ z$T%!Zr+Z2gJEFLYmJkcujQnCl|Ezal7HF9EF(uP;50SnX1$G;ZucEXq>FiTt7$=j- ze$Ja=A6DKTYSwN$OfZ#nnqJN(=5JE+?y0nOc{6o(=JICZ>fGT_SaK{Tu(Whh{@meZ z3IbMEymslzC(zVed?VN;*b{2;c?I9h5(GhP|JeL&k8NSAm*Obb`2= zngx5K^@eYIQesuTj32;=r;sLH@l?uNSa6J4Fv!lCJALPV$EBf(T5Zs?61|8`6WE(& z7(p5lGzHcId2XZ9dY-KefkN+ZoYnq|S6sYhq|%zD`pfBxc!m}o=b0z0E$U#kgAE12n+y2w}?Bg^MJ`=b0e8DHV(K zPhcazu+-?|@wV)KQLGu<{2I3FY3KEz?78u8fKK$Q8FVqaSN&__!rQ}xJ!&%?U2)!R zsbnwIsXYWi%wn*sqP9&@(>pYcQACY?O>^95MYfR>2bo!u?hFrhaqp~r*;}~wNLQlC zm3i0K0w<79{QF0$&8}4hDs#q9zZ_Au6up&tPglcl_5|3EIvPQk7M3mW^XR1#G zCph6_(+40A8Im1&4@4gHr^=#}Zwl<2wF4eF!?c}((~lV89v!@r9$8*oC}mGk@Ne>m z1YEC6*2y%x@#L^~j*f;}=jx<#Tlt0#3%1vWJS5lY2NqMw1s?AQDM=d<9qMdd(jM(D zaC3(7m1~h#R;SAX2h~0^A=L(*>y@nlYZir^ayMD4b=5f=n3dN;I z(DfYqY+0|2&p7!-TRyS2YY0uOo}b$S8r9cDQ|0@exmfiEoA7eIwyk#)Q^t>9^&wVJoX`q4(EM>5rCB{7AZ>{sUg#{hHk{DAYr~!= z247IHH=j<#eEcmpfe$Fx1qB}nxci}}&z-s3d!lOlqV7O^!@Rt`$F~G6cl0f{$eUxb zcVN7Q3U=i55<>GoMp9)mhUp?~5A`eoSvwuYt{I;TApB7?1^nUG?9v>E1ByRme1r{3+e!zIsU z(1Dy?8oF7fJ(GDTpRk7Y*6OeWPIL7ZGq|2+SK>sADZt4A5X#rr?2wN`1*OL@^6&b} z5y!J_ja1OM$@LBQ(0WmLGT#aZ;XAXoeQ-H;IDS;febt>>5HdyOstP!w-bcs_LNc5=?^sSjro@If+MC1~M(XzCY@((+gvVo+xyv zv}a29ymGU=YL`otKh2-|+!I)16;6PiI!LvD93eXei(oe_`Z@n~KNRs@qc4Zqs&GLM zC8HRk+7DdZhZcW@QEdI=LJ0XBwWXxpTIx!Jd+^xD&d2WyUHOPTqnPf;590F9bGIkY zgx6Eyo`uo8WDB#v+9T?*tsn8WHIwMT-{ZS!sBlBPw@19^1^G|`erhrLm@3Z79QzGm zvkyre6m_PUXWV#S{xOT|+jYpm>9s=H{@Zb{1n zENeJ63&&Tfs&I6R`&Lj#$wsCZpsEnMxifa4c90XsKO2zk=K?K~nI#Fn==@}Uz(?07 zy7F(SKr}{dOs_!YLYN;q{xehVH*M+ykQLkb7yD!$I|{*y!)z38_I;u&b3JoC#48hZ z9bbst&M%gJUx{DPdW^|T4?7t5y{_VK_;0!w%^ah3?l@rZlr`96o## ze5ViXGQKL8*qoogsbY?@RTYi9MVJ1t0~U3X>k=-#u2gY;UV_+A?8^#-W)Na z^2S%p{vF+Yu4JlHaP6^FX8z!<q4p+U>LIWvN^{ggV6w9au14 zvWNZehPFBX?YjA=F!=A1p{j)OO7V~5#{LJcLHQpgLnX5xOr??Zf2Upjk4mgK;eh=c zh38i^3l>AY0f#-Fp1Qal(HMIG2vV3(?~4GD(IH`KMHVQ13bto}iAaDtpY>iBj0t@OQfoRB16^Five0QI)WJD? z_Dr_L#_dXZBquAWo=7!$pbiOv1rYGoDCB7_#nQN_F*Z|QIm+mgwl1s3b_5K1c5<^) zQ((%1j)S1;<^Jx_{9i2573uh3G6o&^{-*K;dyVt@btrDSn+|2RFeY@Mo#+6$xu<4r ze=8;jja*uGT-foLcw;swPKiPN(mSL+n^ta5MZE(tpGo?B=N9TX7*Ag7vd+Qb@}tHg zBkh91L?k@L`P^C+SMQ9)Dmf20*RKqIldH&-3t`$d#|0P?U7&D zCG=EwU%sO)3^C9^BRR)5d(F{UymH^?tZ1`xzb9C)D441z?Xzkb0uoutZX)>gYX+_P z67*Nkg&mwzJHk6yul{}kR&r6p8%H|ad*;3K?Cj*YH7`L6or*@@CUfa=#SwJJTd8c|zTRSEvK~|jb^Jhi( z7(PLC7Tp7$sC4q1nsQ^POYaMAU-4fZz*}V^hSMHTOtsu14jhcFpog9JDZx@?v0o3! z6g26v6Nky>6EkbcP{kAiQS|1g5gbwukHy^Zj@`Ow_t4077IslFqH+zcFn9!q0+LD~ zZcUh4M%9o^S)^~-$fTC*?C|JDgiYJ15LFK0(~_l)SY5~j-%&If7S*$< z=Y{u_W2kAF3SSPWG~M!k8Z$0MFCc5tTX08@*YM_i21T*q`zPzaqf-k;8GaF$$Okzz8fTbnUse(UKiwLK9E#MtYzrX=>juy$E8>>S|ZHTPtwI z5&n!Z=qBHTe;lVa5F+n^FA7;+HbFF&6*HhtdCES$5G%8#X^E2knuTI$SRF66wSg1!Rqk zRnm~=2SE?Qt`c@gX$_%yG|oEmvBG^!OK#fVo%b+6coBohsduxXBKhIMB=b;+B)kFe z0%7&jw~O}K1aXIs)4Zuo&pMu$ubTYP+7#yW z%#-G6E42i(yqcMrOj-rZ<|m{Bs3%i&XRZ%frw7yAu8cGYbZ0}L1xakyLIlb^rl(I{ zHsg-co;hs!j>Xn0?xOsY5W+IE4>FKW@XT`FjeP<9CzXms3ZWo4HOZ#1&*i+9lvX9B znxI=OMVGcAouCa=wQSd|_Z(eBLSv}e4r_H4NU8x*9w8N;F;OggZ?8_x9%y1R?jE;K zX*%+w5%7s?**%)fR5{|@fYt&vG1#s={=2;dOpxkS=6&B!V7n*6`;hX1#X^66tBC%Y zszh^|cqm)vtxcx}wV;OI00V0|P{>&ZT#sN`VX@kQLjP4_Q924mHCOK#Y9eT@Tb3ST z>P=GXyZenmikM$)8z1N>GQ<+mPENhbrryBQV1+VSE}kP|wQ=i|o10S{# zvoA?4xVigbGKh|#FA$mx*$o+n-ZNT&`0g)EWlX15Q$;0|Qd8!wEpWIW3W@*@l9=r* z%aznp1oZK*0@Cn<)iCp?LOgO ztw~EDa=Qe!Z%w_6o@IlEE;iN7;0+}WpR63)t>fOajF;4-gz^-8KaT;DM+NhUwpNiQ zs^G1SkAt&-bFb1QW;MOPF1MCAy*8brHFgpyN%*IJG^H7oMAHlq>Za@O=HAf=s=e`( zP{L#{5dIgoV%0?K*-%vkohjY{qdbkK^|6TVAeX$Hj1^&0rm6@OVCwu;aJ$MP%!AJ80kW?Ye+WzdvaDOXWp5DT zfxnixu``;@$#RV*-cH7bRT1NO^#0z(>lbL7O+lPtigY6zbZSl37TMs*SQ8Bk#@qCL z6Xk7)I`AGGt_M$<>yCg+mp#VfDH5BL7aPMuswqHb zYjuR?%47Pgj-*W@7#@xp zX0Ip@6rB(9Ar^Fjf=^sxMId$6j@R7lm9K~N2+bQ6_v@NZhs1t<$c9(OoAhysCwsj) z;L@@_;5ACmxE>zc;EWLBhSKpZD*q+x2|ej4Rl4r#Df{7O+8p&f&f`}*ia&98yRBUc z!y_dn1)BoFIZEKX_>4m2j4iuQBzt$k&h=a*eg@LHWjO%PBkLe#?98kw&&q&ACBGLc zSFvIj^@*mXzGWFC^Ht#RD%bIg0@3EfMDk>%P=zE*lCHu^fth7#E#9qR$W73D&)orf zP8FN~1eq6_JxX7x5|o|5(o6nNKjV*MkTc#^{xp~7xtCoeC-^FygI6Xl?Qxy&zZ(1h zJe2?UaXqFZD~ZGWT+;h9FH_3~06_C|Tuc8}68I%9BSL4b?_z92XJ~8vlSk_K%iQ*# zU+rwIY2B=?F0nUUHdybrbp4mcgw8bz581m~>orDF7sKf|QWluKPyNNh0;G|&02(VF z4t89@I{nedV&+}Cj;-(v98Bobu))#*Sw2pAp~i3%BO={;*zB4;`J!1vzR#Z7AP7x2 z4eJbe=K@YJiNPTscW2b391%b!Z1`Vok1c#$ApU_iRN! zKQh!KF4#9l&!`Je4_CKW_!2;)Vom}E1rwDRB3U|~)$#?D;;1DAWej80Gm;(scz6$_ z289*>l!zb`6|-XIc>s&<^`tM4<(y9+JBDJp;}Qb5$j$Ho7wAOAzEd#4xub_lQPMB= zDAM+ICW7WciXF^Bj$+PpaL%xgvg47YN!B{ySRp2R;;pUXmBXlnfm>{V=rLj?Zug~S z#dsbZ_PscD21{+{>U=xAUS)LhwYGD%w(|1eB~DN~xVhUqd3bxc1KN@w?Ct@(J9^kR z{>DgyKGJ^<7l!4RiYYegzO_UY35LKRd8tM^x}|*PZ(x_e&<%f8UPld>@I=1k#Z9$7L^i7k;mZwwt0@dr~1aDvtvl^`)yvbX>+O8JIal4qI6xX#@Z<>DG* za~q}Dv9viL_CoW~L?Fx)VguW(AFet%`dhk^HZQJ_R*rHy=H6O6Cr!jEiSBj4ikqVg zryVTD(sa~NYl#2bU!DV~$6v%5L*Z4*Jpp^wY`ps2UJK z0ki^bIU^-Xgsfk>cv8@TdV=gG7p$*^brRbIg^H3yt+!z{^gyt&u&#XGU<@rkOSp`U z>2!@jr!+h=PAQ~-JIsM;T_2)I9Y>YDt`_()#>Dj z4s$qT9Hwe2=;2B@qRoKzt#2{_sl|jrh3*daWG=Ow3!-e zID{fHFbgJFUZ=6-YL91;-yiD6YJyIk2xV{tWpUJ0!Hk#hQEs$9h!zYmtbMcIM6hKR zkh@t}SvWxI6+jQ0i7640dDnxEjfMN^nESM({1>gVq9hQwSZMVSrQu}*7g~O8=$2zC z3)$(OI(&kt-6!Rm?Ohd3skz=^aJTw51QRQZ%SNrUqO|cjA>&ifvXPX1tX%Z2pPd3| zKh!U=18y36KGi$;Ef~dFz_8&D!)B)~BpT3*%^}S%UJvPO3JxmapEXg7va2FY309>( z%I&YLal_~rD9=O3ff);)wSs4iQ_3JfdiIbNgQSHf^qm7~o{8J9i^!Ah%xL!&7qXTI+lopjF_(SEyQ5&8I7Y z2EkztjT!<z{t-B2{ zsf}^4<*5>(s@dbqhjmx^g`71DAhf9ZACcid4a_9qEkvC~O-g1^@o#B|S~`lLlz)41 zn$D^B8dkOBcz_4Gji8&mX+{uf?vjEJNVAv%n$~cpduI;VA4uNwF#8MtTH=)}PqPUa4zRB>!Gk23- zr+$lLGmp{^)o4jt)JWv`-5@PdDN@E%+9CmqMwJ{C&8&#kf%>9#q@#&-z6BBWr?R1t z8nph1o)wP6ZB0Hdm75ideFt{SM(LPd+PK&0xE4p5o&21L2<<6KZ2&ANdX3i2TbSg7 z*(l~#t%LG%Rmy6f6Zw=Q_*V@a_!0#4Hb$?Y2&$t+_MY+RRo;E~JnsZUtKhg)4`n*q3cwJ>c@MSY$J0;k$aNj07MUnzli<@15KDNE zawANwZ(SJ1o`fVmvOvaH#Cuz-B9IDPNhq#;>3+~pE{}^$2Iy|7SB6c77aB{_;Rgz! zhjg=o#of)4cS!M^N-ECtAvI&aBQPE;#m?QU`sGm$@84j$YMOyQa~Q<2 z3x@I-+>-h|q@BN)Ih7>7+{s0W=pvsYKm~Bx$ptc}!IhWS^wcd8=`-ADX*#KmEbAU8 zQC_9ZFjD79C*|E?Q%Ni$;X!MYO>1P>P(bPGxUl6!#;z~WXjO~Z+SV3S3$kLuMjlS< z-nYTBk9utkxN#X$jI2R>;=tcbc}&curO!pwf!CeqP=w!0Hpzr8>ufD)H^2%Qq`E;3 z!J;zs%3sY0MoruVmY=TasK(F5%|NKdG%2ZeDErzqwqBC@iB1QmDO?XhM>aWv=~O<2 z%EvwZ2a2*rGd)(9*9d))#Q$<;`ffr95$0^_CA%##cs78Wb6>4y=$$8Hx2$qy78y#2 z7gPvmzpR1S2Y#0z!nIZBdo#=S4V^khaBC2DpgIjv+h(u@cC*ZqI_x{gOsOpBQ>K22 zux%6jXr0R+>8q5R2;bEt0yU|?Gvw5O?%fdz5QtS>Mq3szHq#ek&fSwjLG9d*yGq9j zX-r{A2B1hpQ4LcLK^-9z!EncGP>?9h5yE$fuis|`WB7Y_L*Q3J^jsiQ%xB3?{(Cn1 zvDrS19`bGLf`!R`^Z@AC?T@bWSO@3>W=z1l^fM_x$Tj@1H|H>(jQS2g-p>bZTuBx)`DVkM$zOj~$ggEo9!9V07K z6Z78DVf|=LnCmRN(9~4fMWk5)-Gw6EKh$1P@nTnaaq6r$IjkvlASmHF$RU!|fX&Yb8NiREiAgA__=mZ41ZM9|G z8>lAsgjV0#jwUL%bZ$~!N+A*Ofe|xS9bI|crF?;J+_?_vcycr}6tbpN%e-%2JB`^O zLW?8XGD@Wj->$J#joCeQ2T?)L2)&U;Jx#_^Z&u#Qh0xJjoGrC^1*F-IVp z9l2J7_U2uj-VC&C&4F{MdstpYG!V4mIc9$>+CP0Ex8#lPEr9)z$vpjrkGTYDh&*BAhYZX~iDNOkLnrg+G zXJ&Q72`vM$Tyez_E68O#muTfl_W_E_L{G3VaNHzRn(3408SRzxf(Z-cB0WPKDw_X( z!weEnAQVr)q0rwTnR3+JCh(oH8%5~VGfbZ|W&8-{WKlp-Y~Ly{bD$-7A23Kusue=r z&Dgl5U(=A5P|;1~ZgBItWG|I!^*h8o32Zp%?>u6^E!wccjOBXl+jcyoj3bGxds^BA z4J6BZ*tIyLrU-2eKN`Q*a!aQMuCDuOA}@=yc{7bwbt@Zem$ntK!?}Tf2r?}xogE4s zBD3)DrZ?E%E+9rPrpl}~+ay>7DgCc-6{A7H1~NIBx%n^s4*-*~%{L=5#n93|W~>W$ z&=oX`6Vt8wb9^nd7a1tdklY{Y@IK(m4_~g?$0A^2sM-ov>BV7>`mZ$EdR$XW3B_2~ z#9INzp9BftN`1I6E*TjI2Qlr3V-R%0AvVBjm&;RJ>Kn<2&;(OV+wD=TU;oOZ`se%a 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 docs = DocPraticaLocalServiceUtil.getValidTmpByIntPratica_Tipologia(intPraticaId, docObbligatorio, QueryUtil.ALL_POS, QueryUtil.ALL_POS); if (docs.isEmpty()) { - notCompleted.add("Nessun allegato per " + notCompleted.add("Nessun allegato per " + docObbligatorio + " - " + LanguageUtil.get(LocaleUtil.getDefault(), "label-documenti-tipologia-" + docObbligatorio)); } } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/content/Portal.properties b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/content/Portal.properties index 004bea00..77205de3 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/content/Portal.properties +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/content/Portal.properties @@ -841,33 +841,33 @@ label-documenti-tipologia-G14=Altre tipologie indagini eseguite label-documenti-tipologia-G15=Indagini di archivio label-documenti-tipologia-G16=Altri -label-documenti-tipologia-A01 = A1 - Inquadramento territoriale -label-documenti-tipologia-A02 = A2 - Progetto -label-documenti-tipologia-A03 = A3 - Relazione tecnica generale -label-documenti-tipologia-A04 = A4 - Relazione materiali impiegati -label-documenti-tipologia-A05 = A5 - Relazione geologica -label-documenti-tipologia-A08 = A8 - Relazione di calcolo -label-documenti-tipologia-A09 = A9 - Documentazione fotografica -label-documenti-tipologia-A10 = A10 - Particolari costruttivi e sezioni di scavo -label-documenti-tipologia-A11 = A11 - Relazione paesaggistica -label-documenti-tipologia-A12 = A12 - Titolo di proprietà -label-documenti-tipologia-A13 = A13 - Piano di Manutenzione -label-documenti-tipologia-A15 = A15 - Dichiarazione sulla data di realizzazione delle opere abusive -label-documenti-tipologia-A16 = A16 - Copia conforme della domanda di sanatoria depositata al Comune -label-documenti-tipologia-A17 = A17 - Certificazione Legge n. 326/2003 -label-documenti-tipologia-A18 = A18 - Copia conforme della dichiarazione depositata al Comune sulla data di realizzazione delle opere abusive -label-documenti-tipologia-A19 = A19 - Dichiarazione sul valore delle opere realizzate abusivamente -label-documenti-tipologia-A20 = A20 - Visura catastale -label-documenti-tipologia-A21 = A21 - Certificato di residenza di tutti i proprietari -label-documenti-tipologia-A22 = A22 - Relazione idrogeomorfologica -label-documenti-tipologia-A23 = A23 - Autorizzazione PAI -label-documenti-tipologia-A24 = A24 - Viarch -label-documenti-tipologia-A25 = A25 - Dichiarazione assenza scavi - sorveglianza / fibra ottica -label-documenti-tipologia-A26 = A26 - Titoli di legittimità -label-documenti-tipologia-A27 = A27 - Dichiarazione collaudo -label-documenti-tipologia-A28 = A28 - Certificazione mancanza motivi ostativi -label-documenti-tipologia-A29 = A29 - Dichiarazione impresa -label-documenti-tipologia-A30 = A30 - Dichiarazione Direttore Lavori +label-documenti-tipologia-A01 = Inquadramento territoriale +label-documenti-tipologia-A02 = Progetto +label-documenti-tipologia-A03 = Relazione tecnica generale +label-documenti-tipologia-A04 = Relazione materiali impiegati +label-documenti-tipologia-A05 = Relazione geologica +label-documenti-tipologia-A08 = Relazione di calcolo +label-documenti-tipologia-A09 = Documentazione fotografica +label-documenti-tipologia-A10 = Particolari costruttivi e sezioni di scavo +label-documenti-tipologia-A11 = Relazione paesaggistica +label-documenti-tipologia-A12 = Titolo di proprietà +label-documenti-tipologia-A13 = Piano di Manutenzione +label-documenti-tipologia-A15 = Dichiarazione sulla data di realizzazione delle opere abusive +label-documenti-tipologia-A16 = Copia conforme della domanda di sanatoria depositata al Comune +label-documenti-tipologia-A17 = Certificazione Legge n. 326/2003 +label-documenti-tipologia-A18 = Copia conforme della dichiarazione depositata al Comune sulla data di realizzazione delle opere abusive +label-documenti-tipologia-A19 = Dichiarazione sul valore delle opere realizzate abusivamente +label-documenti-tipologia-A20 = Visura catastale +label-documenti-tipologia-A21 = Certificato di residenza di tutti i proprietari +label-documenti-tipologia-A22 = Relazione idrogeomorfologica +label-documenti-tipologia-A23 = Autorizzazione PAI +label-documenti-tipologia-A24 = Viarch +label-documenti-tipologia-A25 = Dichiarazione assenza scavi - sorveglianza / fibra ottica +label-documenti-tipologia-A26 = Titoli di legittimità +label-documenti-tipologia-A27 = Dichiarazione collaudo +label-documenti-tipologia-A28 = Certificazione mancanza motivi ostativi +label-documenti-tipologia-A29 = Dichiarazione impresa +label-documenti-tipologia-A30 = Dichiarazione Direttore Lavori label-documenti-tipologia-A98 = Deleghe label-documenti-tipologia-A99 = Altri @@ -1266,17 +1266,28 @@ tipo-procedura-b = B - Interventi di “minore rilevanza” D.D.G. 344/20 all. tipo-procedura-b1 = B1 - Interventi di “minore rilevanza” zone 1-2 ed interventi in abitati da consolidare, art.61 (zone 3-4) tipo-procedura-c = C - Interventi “privi di rilevanza“ D.D.G. 344/20 all. A - lett. C -tipo_procedura_P0 = 1) Autorizzazione per interventi su Beni Culturali (D.Lgs. 42/2004 artt. 21, 31, 48, 49, 50) -tipo_procedura_P1 = 1.1) Interventi su Beni Culturali mobili -tipo_procedura_P2 = 1.2) Interventi su Beni Culturali immobili -tipo_procedura_P3 = 2) Verifica preventiva dell’interesse archeologico (D.Lgs. 25/2016, art. 25) -tipo_procedura_P4 = 3) Autorizzazione per interventi di edilizia su Beni Culturali (D.Lgs. 42/2004 artt. 21, 22) -tipo_procedura_P5 = 4) Autorizzazione paesaggistica per interventi e/o opere di grande impegno territoriale (D.Lgs. 42/2004 art. 146) -tipo_procedura_P6 = 5) Autorizzazione paesaggistica per opere il cui impatto è valutato mediante documentazione semplificata (D.Lgs. 42/2004 art. 146) -tipo_procedura_P7 = 6) Autorizzazione paesaggistica per interventi di lieve entità (L.R. 5/2019 artt. 3, 5) -tipo_procedura_P8 = 7) Accertamento di compatibilità paesaggistica (D.Lgs. 42/2004 art. 146, 167) -tipo_procedura_P9 = 8) Accertamento di compatibilità paesaggistica per Sanatorie Edilizie (L. 47/1985 e L.R. 37/1985 – L. 724/1994 – L. 326/2003 e L.R. 15/2004) -tipo_procedura_P10 = 9) Certificazione di sussistenza vincoli +label_procedura_P0 = 1 +tipo_procedura_P0 = Autorizzazione per interventi su Beni Culturali (D.Lgs. 42/2004 artt. 21, 31, 48, 49, 50) +label_procedura_P1 = 1.1 +tipo_procedura_P1 = Interventi su Beni Culturali mobili +label_procedura_P2 = 1.2 +tipo_procedura_P2 = Interventi su Beni Culturali immobili +label_procedura_P3 = 2 +tipo_procedura_P3 = Verifica preventiva dell’interesse archeologico (D.Lgs. 25/2016, art. 25) +label_procedura_P4 = 3 +tipo_procedura_P4 = Autorizzazione per interventi di edilizia su Beni Culturali (D.Lgs. 42/2004 artt. 21, 22) +label_procedura_P5 = 4 +tipo_procedura_P5 = Autorizzazione paesaggistica per interventi e/o opere di grande impegno territoriale (D.Lgs. 42/2004 art. 146) +label_procedura_P6 = 5 +tipo_procedura_P6 = Autorizzazione paesaggistica per opere il cui impatto è valutato mediante documentazione semplificata (D.Lgs. 42/2004 art. 146) +label_procedura_P7 = 6 +tipo_procedura_P7 = Autorizzazione paesaggistica per interventi di lieve entità (L.R. 5/2019 artt. 3, 5) +label_procedura_P8 = 7 +tipo_procedura_P8 = Accertamento di compatibilità paesaggistica (D.Lgs. 42/2004 art. 146, 167) +label_procedura_P9 = 8 +tipo_procedura_P9 = Accertamento di compatibilità paesaggistica per Sanatorie Edilizie (L. 47/1985 e L.R. 37/1985 – L. 724/1994 – L. 326/2003 e L.R. 15/2004) +label_procedura_P10 = 9 +tipo_procedura_P10 = Certificazione di sussistenza vincoli #tipo_procedura_Q11 = 1) Autorizzazione per interventi su Beni Culturali mobili #tipo_procedura_Q12 = 2) Autorizzazione per interventi su Beni Culturali immobili diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AllegatoManualePersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AllegatoManualePersistenceImpl.java index 3e5128f0..73a46094 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AllegatoManualePersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AllegatoManualePersistenceImpl.java @@ -45,7 +45,6 @@ import it.tref.liferay.portos.bo.NoSuchAllegatoManualeException; import it.tref.liferay.portos.bo.model.AllegatoManuale; import it.tref.liferay.portos.bo.model.impl.AllegatoManualeImpl; import it.tref.liferay.portos.bo.model.impl.AllegatoManualeModelImpl; -import it.tref.liferay.portos.bo.service.persistence.AllegatoManualePersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AsseverazionePersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AsseverazionePersistenceImpl.java index 15633d6f..63caa01d 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AsseverazionePersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AsseverazionePersistenceImpl.java @@ -46,7 +46,6 @@ import it.tref.liferay.portos.bo.NoSuchAsseverazioneException; import it.tref.liferay.portos.bo.model.Asseverazione; import it.tref.liferay.portos.bo.model.impl.AsseverazioneImpl; import it.tref.liferay.portos.bo.model.impl.AsseverazioneModelImpl; -import it.tref.liferay.portos.bo.service.persistence.AsseverazionePersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AvvisoPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AvvisoPersistenceImpl.java index d73613ab..8f8bd310 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AvvisoPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AvvisoPersistenceImpl.java @@ -46,7 +46,6 @@ import it.tref.liferay.portos.bo.NoSuchAvvisoException; import it.tref.liferay.portos.bo.model.Avviso; import it.tref.liferay.portos.bo.model.impl.AvvisoImpl; import it.tref.liferay.portos.bo.model.impl.AvvisoModelImpl; -import it.tref.liferay.portos.bo.service.persistence.AvvisoPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/CollaudoPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/CollaudoPersistenceImpl.java index 02dcaba3..0b546e1a 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/CollaudoPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/CollaudoPersistenceImpl.java @@ -45,7 +45,6 @@ import it.tref.liferay.portos.bo.NoSuchCollaudoException; import it.tref.liferay.portos.bo.model.Collaudo; import it.tref.liferay.portos.bo.model.impl.CollaudoImpl; import it.tref.liferay.portos.bo.model.impl.CollaudoModelImpl; -import it.tref.liferay.portos.bo.service.persistence.CollaudoPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunePersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunePersistenceImpl.java index 4a23bffd..b0b64b21 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunePersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunePersistenceImpl.java @@ -46,7 +46,6 @@ import it.tref.liferay.portos.bo.NoSuchComuneException; import it.tref.liferay.portos.bo.model.Comune; import it.tref.liferay.portos.bo.model.impl.ComuneImpl; import it.tref.liferay.portos.bo.model.impl.ComuneModelImpl; -import it.tref.liferay.portos.bo.service.persistence.ComunePersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunicazionePersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunicazionePersistenceImpl.java index f5b8166f..0b7f9ee2 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunicazionePersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunicazionePersistenceImpl.java @@ -45,7 +45,6 @@ import it.tref.liferay.portos.bo.NoSuchComunicazioneException; import it.tref.liferay.portos.bo.model.Comunicazione; import it.tref.liferay.portos.bo.model.impl.ComunicazioneImpl; import it.tref.liferay.portos.bo.model.impl.ComunicazioneModelImpl; -import it.tref.liferay.portos.bo.service.persistence.ComunicazionePersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ConfigurazionePersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ConfigurazionePersistenceImpl.java index 32809343..66507dd0 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ConfigurazionePersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ConfigurazionePersistenceImpl.java @@ -45,7 +45,6 @@ import it.tref.liferay.portos.bo.NoSuchConfigurazioneException; import it.tref.liferay.portos.bo.model.Configurazione; import it.tref.liferay.portos.bo.model.impl.ConfigurazioneImpl; import it.tref.liferay.portos.bo.model.impl.ConfigurazioneModelImpl; -import it.tref.liferay.portos.bo.service.persistence.ConfigurazionePersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ControlloPraticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ControlloPraticaPersistenceImpl.java index a4fa6f91..48cf51eb 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ControlloPraticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ControlloPraticaPersistenceImpl.java @@ -45,7 +45,6 @@ import it.tref.liferay.portos.bo.NoSuchControlloPraticaException; import it.tref.liferay.portos.bo.model.ControlloPratica; import it.tref.liferay.portos.bo.model.impl.ControlloPraticaImpl; import it.tref.liferay.portos.bo.model.impl.ControlloPraticaModelImpl; -import it.tref.liferay.portos.bo.service.persistence.ControlloPraticaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DelegaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DelegaPersistenceImpl.java index 8c56fb32..402cecd0 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DelegaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DelegaPersistenceImpl.java @@ -46,7 +46,6 @@ import it.tref.liferay.portos.bo.NoSuchDelegaException; import it.tref.liferay.portos.bo.model.Delega; import it.tref.liferay.portos.bo.model.impl.DelegaImpl; import it.tref.liferay.portos.bo.model.impl.DelegaModelImpl; -import it.tref.liferay.portos.bo.service.persistence.DelegaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DettPraticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DettPraticaPersistenceImpl.java index 58c7d8f5..cc3c5dbf 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DettPraticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DettPraticaPersistenceImpl.java @@ -45,7 +45,6 @@ import it.tref.liferay.portos.bo.NoSuchDettPraticaException; import it.tref.liferay.portos.bo.model.DettPratica; import it.tref.liferay.portos.bo.model.impl.DettPraticaImpl; import it.tref.liferay.portos.bo.model.impl.DettPraticaModelImpl; -import it.tref.liferay.portos.bo.service.persistence.DettPraticaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocAggiuntivaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocAggiuntivaPersistenceImpl.java index 3adff95b..689264dd 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocAggiuntivaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocAggiuntivaPersistenceImpl.java @@ -45,7 +45,6 @@ import it.tref.liferay.portos.bo.NoSuchDocAggiuntivaException; import it.tref.liferay.portos.bo.model.DocAggiuntiva; import it.tref.liferay.portos.bo.model.impl.DocAggiuntivaImpl; import it.tref.liferay.portos.bo.model.impl.DocAggiuntivaModelImpl; -import it.tref.liferay.portos.bo.service.persistence.DocAggiuntivaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocPraticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocPraticaPersistenceImpl.java index 13bd7b4f..f4a4b84a 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocPraticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocPraticaPersistenceImpl.java @@ -46,7 +46,6 @@ import it.tref.liferay.portos.bo.NoSuchDocPraticaException; import it.tref.liferay.portos.bo.model.DocPratica; import it.tref.liferay.portos.bo.model.impl.DocPraticaImpl; import it.tref.liferay.portos.bo.model.impl.DocPraticaModelImpl; -import it.tref.liferay.portos.bo.service.persistence.DocPraticaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/FineLavoriPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/FineLavoriPersistenceImpl.java index 15f0504f..41c1b2be 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/FineLavoriPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/FineLavoriPersistenceImpl.java @@ -45,7 +45,6 @@ import it.tref.liferay.portos.bo.NoSuchFineLavoriException; import it.tref.liferay.portos.bo.model.FineLavori; import it.tref.liferay.portos.bo.model.impl.FineLavoriImpl; import it.tref.liferay.portos.bo.model.impl.FineLavoriModelImpl; -import it.tref.liferay.portos.bo.service.persistence.FineLavoriPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/HistoryWorkflowActionPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/HistoryWorkflowActionPersistenceImpl.java index f80406ab..ad50d7ea 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/HistoryWorkflowActionPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/HistoryWorkflowActionPersistenceImpl.java @@ -42,7 +42,6 @@ import it.tref.liferay.portos.bo.NoSuchHistoryWorkflowActionException; import it.tref.liferay.portos.bo.model.HistoryWorkflowAction; import it.tref.liferay.portos.bo.model.impl.HistoryWorkflowActionImpl; import it.tref.liferay.portos.bo.model.impl.HistoryWorkflowActionModelImpl; -import it.tref.liferay.portos.bo.service.persistence.HistoryWorkflowActionPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/IntPraticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/IntPraticaPersistenceImpl.java index fc5b994d..4c9f980c 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/IntPraticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/IntPraticaPersistenceImpl.java @@ -48,7 +48,6 @@ import it.tref.liferay.portos.bo.NoSuchIntPraticaException; import it.tref.liferay.portos.bo.model.IntPratica; import it.tref.liferay.portos.bo.model.impl.IntPraticaImpl; import it.tref.liferay.portos.bo.model.impl.IntPraticaModelImpl; -import it.tref.liferay.portos.bo.service.persistence.IntPraticaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/PagamentoPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/PagamentoPersistenceImpl.java index 863e32df..12fb36d2 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/PagamentoPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/PagamentoPersistenceImpl.java @@ -46,7 +46,6 @@ import it.tref.liferay.portos.bo.NoSuchPagamentoException; import it.tref.liferay.portos.bo.model.Pagamento; import it.tref.liferay.portos.bo.model.impl.PagamentoImpl; import it.tref.liferay.portos.bo.model.impl.PagamentoModelImpl; -import it.tref.liferay.portos.bo.service.persistence.PagamentoPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistenceImpl.java index e4133c60..c6ce3907 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistenceImpl.java @@ -45,7 +45,6 @@ import it.tref.liferay.portos.bo.NoSuchParereGeologoException; import it.tref.liferay.portos.bo.model.ParereGeologo; import it.tref.liferay.portos.bo.model.impl.ParereGeologoImpl; import it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl; -import it.tref.liferay.portos.bo.service.persistence.ParereGeologoPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ProvinciaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ProvinciaPersistenceImpl.java index 2c7a846f..daa33e1b 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ProvinciaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ProvinciaPersistenceImpl.java @@ -43,7 +43,6 @@ import it.tref.liferay.portos.bo.NoSuchProvinciaException; import it.tref.liferay.portos.bo.model.Provincia; import it.tref.liferay.portos.bo.model.impl.ProvinciaImpl; import it.tref.liferay.portos.bo.model.impl.ProvinciaModelImpl; -import it.tref.liferay.portos.bo.service.persistence.ProvinciaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/SoggettoPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/SoggettoPersistenceImpl.java index 90251acb..35a48fdf 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/SoggettoPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/SoggettoPersistenceImpl.java @@ -45,7 +45,6 @@ import it.tref.liferay.portos.bo.NoSuchSoggettoException; import it.tref.liferay.portos.bo.model.Soggetto; import it.tref.liferay.portos.bo.model.impl.SoggettoImpl; import it.tref.liferay.portos.bo.model.impl.SoggettoModelImpl; -import it.tref.liferay.portos.bo.service.persistence.SoggettoPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/StoricoSoggettoPraticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/StoricoSoggettoPraticaPersistenceImpl.java index 26f13dda..da5af496 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/StoricoSoggettoPraticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/StoricoSoggettoPraticaPersistenceImpl.java @@ -42,7 +42,6 @@ import it.tref.liferay.portos.bo.NoSuchStoricoSoggettoPraticaException; import it.tref.liferay.portos.bo.model.StoricoSoggettoPratica; import it.tref.liferay.portos.bo.model.impl.StoricoSoggettoPraticaImpl; import it.tref.liferay.portos.bo.model.impl.StoricoSoggettoPraticaModelImpl; -import it.tref.liferay.portos.bo.service.persistence.StoricoSoggettoPraticaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TempisticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TempisticaPersistenceImpl.java index de92727b..90d5b692 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TempisticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TempisticaPersistenceImpl.java @@ -45,7 +45,6 @@ import it.tref.liferay.portos.bo.NoSuchTempisticaException; import it.tref.liferay.portos.bo.model.Tempistica; import it.tref.liferay.portos.bo.model.impl.TempisticaImpl; import it.tref.liferay.portos.bo.model.impl.TempisticaModelImpl; -import it.tref.liferay.portos.bo.service.persistence.TempisticaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TerritorioPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TerritorioPersistenceImpl.java index 030778b4..6e60848d 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TerritorioPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TerritorioPersistenceImpl.java @@ -44,7 +44,6 @@ import it.tref.liferay.portos.bo.NoSuchTerritorioException; import it.tref.liferay.portos.bo.model.Territorio; import it.tref.liferay.portos.bo.model.impl.TerritorioImpl; import it.tref.liferay.portos.bo.model.impl.TerritorioModelImpl; -import it.tref.liferay.portos.bo.service.persistence.TerritorioPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties index eddf0a24..d1d67217 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties @@ -13,8 +13,8 @@ ## build.namespace=portos_bo - build.number=3146 - build.date=1622551721804 + build.number=3150 + build.date=1624282940532 build.auto.upgrade=true ## diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/fascicolo/navigator/header.jsp b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/fascicolo/navigator/header.jsp index 732f7140..8769c6d5 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/fascicolo/navigator/header.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/fascicolo/navigator/header.jsp @@ -38,7 +38,7 @@

    - <%= LanguageUtil.get(pageContext, "tipo_procedura_" + intPratica.getTipoProcedura()) %> + <%= LanguageUtil.get(pageContext, "label_procedura_" + intPratica.getTipoProcedura()) + ") " + LanguageUtil.get(pageContext, "tipo_procedura_" + intPratica.getTipoProcedura()) %>
    - + <% for (DettPratica dp : dps) { List lista = liste.get(dp.getDettPraticaId()); diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/fascicolo/view.jsp b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/fascicolo/view.jsp index 1543bc9d..5ca96ec9 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/fascicolo/view.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/fascicolo/view.jsp @@ -376,7 +376,7 @@ String keywords = StringPool.BLANK; Territorio: <%= comune.getDenominazione() %> <%= (lastDettPratica == null || lastDettPratica.getLocalita().isEmpty()) ? "" : "(Loc. "+lastDettPratica.getLocalita()+" ) " %>- <%= provincia.getProvincia() %>
    Localizzazione: <%= lastDettPratica == null ? "" : lastDettPratica.getVia() %>
    - <%= LanguageUtil.get(pageContext, "tipo_procedura_" + intPratica.getTipoProcedura()) %>

    + <%= LanguageUtil.get(pageContext, "label_procedura_" + intPratica.getTipoProcedura()) + ") " + LanguageUtil.get(pageContext, "tipo_procedura_" + intPratica.getTipoProcedura()) %>

    <%= lastDettPratica == null ? "" : lastDettPratica.getDescLongIntervento() %> diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/gestioneattivita/view_columns.jspf b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/gestioneattivita/view_columns.jspf index 2f27cff1..e6eed721 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/gestioneattivita/view_columns.jspf +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/gestioneattivita/view_columns.jspf @@ -115,7 +115,8 @@ DettPratica lastDettPratica = DettPraticaLocalServiceUtil.getLastCompletedByIntP %> <%= intPratica.getTitle(locale, true) %> <%= Validator.isNull(intPratica.getTipoProcedura()) ? StringPool.BLANK - : "
    " + LanguageUtil.get(pageContext, "tipo_procedura_" + intPratica.getTipoProcedura()) + : "
    " + LanguageUtil.get(pageContext, "label_procedura_" + intPratica.getTipoProcedura()) + ") " + + LanguageUtil.get(pageContext, "tipo_procedura_" + intPratica.getTipoProcedura()) + "" %> diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/gestionefirme/avvisi_da_firmare.jsp b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/gestionefirme/avvisi_da_firmare.jsp index 9fb55150..65565369 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/gestionefirme/avvisi_da_firmare.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/gestionefirme/avvisi_da_firmare.jsp @@ -76,7 +76,7 @@ for (Organization organization:organizations) { } String tipoProcedura = StringPool.BLANK; if (Validator.isNotNull(intPratica)) { - tipoProcedura = LanguageUtil.get(pageContext, "tipo_procedura_" + intPratica + tipoProcedura = LanguageUtil.get(pageContext, "label_procedura_" + intPratica.getTipoProcedura()) + ") " + LanguageUtil.get(pageContext, "tipo_procedura_" + intPratica .getTipoProcedura()); } %> diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/gestionefirme/avvisi_da_firmare_altri.jsp b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/gestionefirme/avvisi_da_firmare_altri.jsp index 16724269..df89a768 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/gestionefirme/avvisi_da_firmare_altri.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/gestionefirme/avvisi_da_firmare_altri.jsp @@ -65,7 +65,7 @@ for (Organization organization:organizations) { IntPratica intPratica = IntPraticaLocalServiceUtil.fetchIntPratica(avviso.getIntPraticaId()); String tipoProcedura = ""; if(Validator.isNotNull(intPratica)) - tipoProcedura = LanguageUtil.get(pageContext, "tipo_procedura_" + intPratica.getTipoProcedura()); + tipoProcedura = LanguageUtil.get(pageContext, "label_procedura_" + intPratica.getTipoProcedura()) + ") " + LanguageUtil.get(pageContext, "tipo_procedura_" + intPratica.getTipoProcedura()); %> diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/gestionefirme/avvisi_firme.jsp b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/gestionefirme/avvisi_firme.jsp index d57697c6..96668882 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/gestionefirme/avvisi_firme.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/gestionefirme/avvisi_firme.jsp @@ -49,7 +49,7 @@ searchURL.setParameter("tabs1", tabs1); String tipoProcedura = ""; if(Validator.isNotNull(intPratica)) - tipoProcedura = LanguageUtil.get(pageContext, "tipo_procedura_" + intPratica.getTipoProcedura()); + tipoProcedura = LanguageUtil.get(pageContext, "label_procedura_" + intPratica.getTipoProcedura()) + ") " + LanguageUtil.get(pageContext, "tipo_procedura_" + intPratica.getTipoProcedura()); %> diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/fe/util/ReportFascicoloUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/fe/util/ReportFascicoloUtil.java index 4c442158..9448edde 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/fe/util/ReportFascicoloUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/fe/util/ReportFascicoloUtil.java @@ -371,7 +371,7 @@ public class ReportFascicoloUtil { intPraticaId, lastDettPratica.getDettPraticaId(), stringa, QueryUtil.ALL_POS, QueryUtil.ALL_POS); if (docPraticas != null && !docPraticas.isEmpty()) { - ReportFascicoloBean bean1 = new ReportFascicoloBean("- " + ReportFascicoloBean bean1 = new ReportFascicoloBean(stringa + " - " + LanguageUtil.get(locale, "label-documenti-tipologia-" + stringa) + StringPool.TAB + " - num. documenti presentati: " + docPraticas.size()); listaAllegatiGeo.add(bean1); @@ -386,7 +386,7 @@ public class ReportFascicoloUtil { intPraticaId, lastDettPratica.getDettPraticaId(), stringa, QueryUtil.ALL_POS, QueryUtil.ALL_POS); if (docPraticas != null && !docPraticas.isEmpty()) { - ReportFascicoloBean bean1 = new ReportFascicoloBean("- " + ReportFascicoloBean bean1 = new ReportFascicoloBean(stringa + " - " + LanguageUtil.get(locale, "label-documenti-tipologia-" + stringa) + StringPool.TAB + " - num. documenti presentati: " + docPraticas.size()); listaAllegatiDomanda.add(bean1); @@ -729,7 +729,7 @@ public class ReportFascicoloUtil { intPraticaId, lastDettPratica.getDettPraticaId(), stringa, QueryUtil.ALL_POS, QueryUtil.ALL_POS); if (docPraticas != null && !docPraticas.isEmpty()) { - ReportFascicoloBean bean1 = new ReportFascicoloBean("- " + ReportFascicoloBean bean1 = new ReportFascicoloBean(stringa + " - " + LanguageUtil.get(locale, "label-documenti-tipologia-" + stringa) + StringPool.TAB + " - num. documenti presentati: " + docPraticas.size()); listaAllegatiGeo.add(bean1); @@ -744,7 +744,7 @@ public class ReportFascicoloUtil { intPraticaId, lastDettPratica.getDettPraticaId(), stringa, QueryUtil.ALL_POS, QueryUtil.ALL_POS); if (docPraticas != null && !docPraticas.isEmpty()) { - ReportFascicoloBean bean1 = new ReportFascicoloBean("- " + ReportFascicoloBean bean1 = new ReportFascicoloBean(stringa + " - " + LanguageUtil.get(locale, "label-documenti-tipologia-" + stringa) + StringPool.TAB + " - num. documenti presentati: " + docPraticas.size()); listaAllegatiDomanda.add(bean1); @@ -933,7 +933,7 @@ public class ReportFascicoloUtil { List docPraticas = DocPraticaLocalServiceUtil.findByIntPratica_ClassPk_TipologiaNew( intPraticaId, fineLavoriId, stringa, QueryUtil.ALL_POS, QueryUtil.ALL_POS); if (docPraticas != null && !docPraticas.isEmpty()) { - ReportFascicoloBean bean1 = new ReportFascicoloBean(" - " + ReportFascicoloBean bean1 = new ReportFascicoloBean(stringa + " - " + LanguageUtil.get(locale, "label-documenti-tipologia-" + stringa) + " - documenti presentati: "); listaAllegatiDomanda.add(bean1); @@ -1126,7 +1126,7 @@ public class ReportFascicoloUtil { List docPraticas = DocPraticaLocalServiceUtil.findByIntPratica_ClassPk_Tipologia( intPraticaId, collaudoId, stringa, QueryUtil.ALL_POS, QueryUtil.ALL_POS); if (docPraticas != null && !docPraticas.isEmpty()) { - ReportFascicoloBean bean1 = new ReportFascicoloBean("- " + ReportFascicoloBean bean1 = new ReportFascicoloBean(stringa + " - " + LanguageUtil.get(locale, "label-documenti-tipologia-" + stringa) + StringPool.TAB + " - num. documenti presentati: " + docPraticas.size()); listaAllegatiDomanda.add(bean1); diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/allegatipratica/edit_allegato.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/allegatipratica/edit_allegato.jsp index b9a07a0d..98d4f7a2 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/allegatipratica/edit_allegato.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/allegatipratica/edit_allegato.jsp @@ -71,11 +71,12 @@ int dimensioneMassimaAllegati = (int) ((Short) company.getExpandoBridge() for(String codiceDoc:tipologiaAllegati){ //TODO come per il portlet potrebbe non andar bene per integrazioni e varianti + String nomeAllegato = codiceDoc + " - " + LanguageUtil.get(pageContext, "label-documenti-tipologia-" + codiceDoc); boolean isUnivoco = DocumentiPraticaUtil.getDocUnivoci().contains(codiceDoc); if (!isUnivoco || DocPraticaServiceUtil.countByClassPk_Tipologia(classPk, codiceDoc) == 0) { %> - + <% } } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/allegatipratica/view.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/allegatipratica/view.jsp index 78ee76b1..19ccfa06 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/allegatipratica/view.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/allegatipratica/view.jsp @@ -203,11 +203,12 @@ if ("page_geologica".equals(comingFrom)) { docPraticas = DocPraticaServiceUtil.findByIntPratica_ClassPk_Tipologia(intPratica.getIntPraticaId(), classPk, codiceDoc, QueryUtil.ALL_POS, QueryUtil.ALL_POS); } + String nomeAllegato = codiceDoc + " - " + LanguageUtil.get(pageContext, "label-documenti-tipologia-" + codiceDoc); %>
    <%= docPraticas.size() %> <% if (docPraticas.isEmpty()) { diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/allegatipratica/view_accordion.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/allegatipratica/view_accordion.jsp index f6281408..9983eeb3 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/allegatipratica/view_accordion.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/allegatipratica/view_accordion.jsp @@ -80,13 +80,14 @@ for (String codiceDoc:tipologiaAllegati) { docPraticas = DocPraticaServiceUtil.getValidUntilClassPkByIntPratica(intPraticaId, classPk, codiceDoc, QueryUtil.ALL_POS, QueryUtil.ALL_POS); } + String nomeAllegato = codiceDoc + " - " + LanguageUtil.get(pageContext, "label-documenti-tipologia-" + codiceDoc); %>
    <% for(String codiceDoc:tipologiaAllegati){ + String nomeAllegato = codiceDoc + " - " + LanguageUtil.get(pageContext, "label-documenti-tipologia-" + codiceDoc); %>
    - +
    <% diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fine-lavori.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fine-lavori.jsp index 4c8435b9..555352ce 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fine-lavori.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/verify_fine-lavori.jsp @@ -141,10 +141,11 @@ <% for(String codiceDoc:tipologiaAllegati){ + String nomeAllegato = codiceDoc + " - " + LanguageUtil.get(pageContext, "label-documenti-tipologia-" + codiceDoc); %>
    - +
    <% From c6469cfeeab7a56aca4b181695cf53bcd505a224 Mon Sep 17 00:00:00 2001 From: Mattia Gosetto Date: Mon, 21 Jun 2021 16:26:51 +0200 Subject: [PATCH 07/11] label e tipi procedura --- .../bo/report/builder/builder/ReportAvvisoBeanBuilder.java | 4 ++-- .../portos/bo/service/impl/IntPraticaLocalServiceImpl.java | 4 ---- .../portos-bo-portlet/docroot/WEB-INF/src/service.properties | 4 ++-- .../docroot/html/fascicolofe/edit_modal_fascicolo.jsp | 2 +- .../html/fascicolofe/view_fascicolo_columns_generic.jspf | 2 +- 5 files changed, 6 insertions(+), 10 deletions(-) diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/report/builder/builder/ReportAvvisoBeanBuilder.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/report/builder/builder/ReportAvvisoBeanBuilder.java index ca1b4c7a..6048ecb9 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/report/builder/builder/ReportAvvisoBeanBuilder.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/report/builder/builder/ReportAvvisoBeanBuilder.java @@ -177,8 +177,8 @@ public class ReportAvvisoBeanBuilder { bean.setDataAvviso(avviso.getModifiedDate()); bean.setTipoPratica(intPratica.getTipoPratica()); bean.setTipoProcedura(intPratica.getTipoProcedura()); - bean.setTipoAutorizzazione(LanguageUtil.get(LocaleUtil.getSiteDefault(), - "tipo_procedura_" + intPratica.getTipoProcedura())); + bean.setTipoAutorizzazione(LanguageUtil.get(LocaleUtil.getSiteDefault(), "label_procedura_" + intPratica.getTipoProcedura()) + ") " + + LanguageUtil.get(LocaleUtil.getSiteDefault(), "tipo_procedura_" + intPratica.getTipoProcedura())); bean.setCodiceUnivoco(uuid); bean.setLavoriDi(dettPratica.getDescLongIntervento()); bean.setNumeroProgetto(intPratica.getNumeroProgetto()); diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/IntPraticaLocalServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/IntPraticaLocalServiceImpl.java index e013d3c2..327f6bd5 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/IntPraticaLocalServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/IntPraticaLocalServiceImpl.java @@ -146,15 +146,11 @@ public class IntPraticaLocalServiceImpl extends IntPraticaLocalServiceBaseImpl { } private static void putTipoProcedura(String tipo) { - tipiProcedure.put(tipo, LanguageUtil.get(LocaleUtil.ITALIAN, "tipo_procedura_" + tipo)); - - _log.info(LanguageUtil.get(LocaleUtil.ITALIAN, "tipo_procedura_" + tipo)); } @Override public Map getTipiProcedure() { - return tipiProcedure; } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties index 8abf9537..fce07dfe 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties @@ -13,8 +13,8 @@ ## build.namespace=portos_bo - build.number=3177 - build.date=1624283931035 + build.number=3178 + build.date=1624285445563 build.auto.upgrade=true ## 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 e7d46848..b416f3d5 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 @@ -29,7 +29,7 @@ .entrySet()) { String tipo = procedura.getKey(); String label = procedura.getValue(); - String nomeProcedura = LanguageUtil.get(pageContext, "label_procedura_"+tipo) + " " + label; + String nomeProcedura = LanguageUtil.get(pageContext, "label_procedura_"+tipo) + ") " + label; %> - <%= provincia.getProvincia() %>
    Localizzazione: <%= lastDettPratica.getVia() %>
    - <%= LanguageUtil.get(pageContext, "tipo_procedura_" + intPratica.getTipoProcedura()) %> + <%= LanguageUtil.get(pageContext, "label_procedura_" + intPratica.getTipoProcedura()) + ") " + LanguageUtil.get(pageContext, "tipo_procedura_" + intPratica.getTipoProcedura()) %>

    <%= lastDettPratica.getDescLongIntervento() %> From 07def2132dd7e5ac7b7d543e08bb7546dfb609c9 Mon Sep 17 00:00:00 2001 From: Mattia Gosetto Date: Tue, 22 Jun 2021 12:50:43 +0200 Subject: [PATCH 08/11] Flag per nuove pratiche importate dal SUE --- .../docroot/WEB-INF/service.xml | 1 + .../portos/bo/model/IntPraticaClp.java | 48 ++++++++++++++++++- .../portos/bo/model/IntPraticaModel.java | 21 ++++++++ .../portos/bo/model/IntPraticaSoap.java | 14 ++++++ .../portos/bo/model/IntPraticaWrapper.java | 37 ++++++++++++++ .../bo/search/IntPraticaAdvancedSearch.java | 6 +++ .../portos/bo/util/PortosIndexField.java | 1 + .../docroot/WEB-INF/sql/tables.sql | 3 +- .../WEB-INF/src/META-INF/portlet-hbm.xml | 1 + .../src/META-INF/portlet-model-hints.xml | 1 + .../WEB-INF/src/META-INF/portlet-orm.xml | 1 + .../portos/bo/indexer/IntPraticaIndexer.java | 1 + .../bo/model/impl/IntPraticaCacheModel.java | 8 +++- .../bo/model/impl/IntPraticaModelImpl.java | 43 +++++++++++++++-- .../IntPraticaPersistenceImpl.java | 1 + .../docroot/WEB-INF/src/service.properties | 4 +- 16 files changed, 181 insertions(+), 10 deletions(-) diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service.xml b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service.xml index a16a8a14..964980da 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service.xml +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service.xml @@ -835,6 +835,7 @@ + diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/IntPraticaClp.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/IntPraticaClp.java index 913344b1..153399c9 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/IntPraticaClp.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/IntPraticaClp.java @@ -109,6 +109,7 @@ public class IntPraticaClp extends BaseModelImpl attributes.put("collaudoParziale", getCollaudoParziale()); attributes.put("collaudoTotale", getCollaudoTotale()); attributes.put("controlloObbligatorio", getControlloObbligatorio()); + attributes.put("inLavorazioneSue", getInLavorazioneSue()); return attributes; } @@ -305,6 +306,12 @@ public class IntPraticaClp extends BaseModelImpl if (controlloObbligatorio != null) { setControlloObbligatorio(controlloObbligatorio); } + + Boolean inLavorazioneSue = (Boolean)attributes.get("inLavorazioneSue"); + + if (inLavorazioneSue != null) { + setInLavorazioneSue(inLavorazioneSue); + } } @Override @@ -1089,6 +1096,35 @@ public class IntPraticaClp extends BaseModelImpl } } + @Override + public boolean getInLavorazioneSue() { + return _inLavorazioneSue; + } + + @Override + public boolean isInLavorazioneSue() { + return _inLavorazioneSue; + } + + @Override + public void setInLavorazioneSue(boolean inLavorazioneSue) { + _inLavorazioneSue = inLavorazioneSue; + + if (_intPraticaRemoteModel != null) { + try { + Class clazz = _intPraticaRemoteModel.getClass(); + + Method method = clazz.getMethod("setInLavorazioneSue", + boolean.class); + + method.invoke(_intPraticaRemoteModel, inLavorazioneSue); + } + catch (Exception e) { + throw new UnsupportedOperationException(e); + } + } + } + @Override public java.lang.String getTitle(java.util.Locale locale, boolean completed) { try { @@ -1292,6 +1328,7 @@ public class IntPraticaClp extends BaseModelImpl clone.setCollaudoParziale(getCollaudoParziale()); clone.setCollaudoTotale(getCollaudoTotale()); clone.setControlloObbligatorio(getControlloObbligatorio()); + clone.setInLavorazioneSue(getInLavorazioneSue()); return clone; } @@ -1344,7 +1381,7 @@ public class IntPraticaClp extends BaseModelImpl @Override public String toString() { - StringBundler sb = new StringBundler(63); + StringBundler sb = new StringBundler(65); sb.append("{uuid="); sb.append(getUuid()); @@ -1408,6 +1445,8 @@ public class IntPraticaClp extends BaseModelImpl sb.append(getCollaudoTotale()); sb.append(", controlloObbligatorio="); sb.append(getControlloObbligatorio()); + sb.append(", inLavorazioneSue="); + sb.append(getInLavorazioneSue()); sb.append("}"); return sb.toString(); @@ -1415,7 +1454,7 @@ public class IntPraticaClp extends BaseModelImpl @Override public String toXmlString() { - StringBundler sb = new StringBundler(97); + StringBundler sb = new StringBundler(100); sb.append(""); sb.append("it.tref.liferay.portos.bo.model.IntPratica"); @@ -1545,6 +1584,10 @@ public class IntPraticaClp extends BaseModelImpl "controlloObbligatorio"); + sb.append( + "inLavorazioneSue"); sb.append(""); @@ -1584,6 +1627,7 @@ public class IntPraticaClp extends BaseModelImpl private boolean _collaudoParziale; private boolean _collaudoTotale; private boolean _controlloObbligatorio; + private boolean _inLavorazioneSue; private BaseModel _intPraticaRemoteModel; private Class _clpSerializerClass = it.tref.liferay.portos.bo.service.ClpSerializer.class; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/IntPraticaModel.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/IntPraticaModel.java index 81dd43ab..9fb60bc3 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/IntPraticaModel.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/IntPraticaModel.java @@ -601,6 +601,27 @@ public interface IntPraticaModel extends BaseModel, */ public void setControlloObbligatorio(boolean controlloObbligatorio); + /** + * Returns the in lavorazione sue of this int pratica. + * + * @return the in lavorazione sue of this int pratica + */ + public boolean getInLavorazioneSue(); + + /** + * Returns true if this int pratica is in lavorazione sue. + * + * @return true if this int pratica is in lavorazione sue; false otherwise + */ + public boolean isInLavorazioneSue(); + + /** + * Sets whether this int pratica is in lavorazione sue. + * + * @param inLavorazioneSue the in lavorazione sue of this int pratica + */ + public void setInLavorazioneSue(boolean inLavorazioneSue); + @Override public boolean isNew(); diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/IntPraticaSoap.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/IntPraticaSoap.java index 22074ec1..9f134235 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/IntPraticaSoap.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/IntPraticaSoap.java @@ -62,6 +62,7 @@ public class IntPraticaSoap implements Serializable { soapModel.setCollaudoParziale(model.getCollaudoParziale()); soapModel.setCollaudoTotale(model.getCollaudoTotale()); soapModel.setControlloObbligatorio(model.getControlloObbligatorio()); + soapModel.setInLavorazioneSue(model.getInLavorazioneSue()); return soapModel; } @@ -392,6 +393,18 @@ public class IntPraticaSoap implements Serializable { _controlloObbligatorio = controlloObbligatorio; } + public boolean getInLavorazioneSue() { + return _inLavorazioneSue; + } + + public boolean isInLavorazioneSue() { + return _inLavorazioneSue; + } + + public void setInLavorazioneSue(boolean inLavorazioneSue) { + _inLavorazioneSue = inLavorazioneSue; + } + private String _uuid; private long _intPraticaId; private long _companyId; @@ -423,4 +436,5 @@ public class IntPraticaSoap implements Serializable { private boolean _collaudoParziale; private boolean _collaudoTotale; private boolean _controlloObbligatorio; + private boolean _inLavorazioneSue; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/IntPraticaWrapper.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/IntPraticaWrapper.java index 879ba122..d09ab38a 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/IntPraticaWrapper.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/IntPraticaWrapper.java @@ -83,6 +83,7 @@ public class IntPraticaWrapper implements IntPratica, ModelWrapper { attributes.put("collaudoParziale", getCollaudoParziale()); attributes.put("collaudoTotale", getCollaudoTotale()); attributes.put("controlloObbligatorio", getControlloObbligatorio()); + attributes.put("inLavorazioneSue", getInLavorazioneSue()); return attributes; } @@ -279,6 +280,12 @@ public class IntPraticaWrapper implements IntPratica, ModelWrapper { if (controlloObbligatorio != null) { setControlloObbligatorio(controlloObbligatorio); } + + Boolean inLavorazioneSue = (Boolean)attributes.get("inLavorazioneSue"); + + if (inLavorazioneSue != null) { + setInLavorazioneSue(inLavorazioneSue); + } } /** @@ -1037,6 +1044,36 @@ public class IntPraticaWrapper implements IntPratica, ModelWrapper { _intPratica.setControlloObbligatorio(controlloObbligatorio); } + /** + * Returns the in lavorazione sue of this int pratica. + * + * @return the in lavorazione sue of this int pratica + */ + @Override + public boolean getInLavorazioneSue() { + return _intPratica.getInLavorazioneSue(); + } + + /** + * Returns true if this int pratica is in lavorazione sue. + * + * @return true if this int pratica is in lavorazione sue; false otherwise + */ + @Override + public boolean isInLavorazioneSue() { + return _intPratica.isInLavorazioneSue(); + } + + /** + * Sets whether this int pratica is in lavorazione sue. + * + * @param inLavorazioneSue the in lavorazione sue of this int pratica + */ + @Override + public void setInLavorazioneSue(boolean inLavorazioneSue) { + _intPratica.setInLavorazioneSue(inLavorazioneSue); + } + @Override public boolean isNew() { return _intPratica.isNew(); diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/search/IntPraticaAdvancedSearch.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/search/IntPraticaAdvancedSearch.java index 6bd0968e..42f0d11d 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/search/IntPraticaAdvancedSearch.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/search/IntPraticaAdvancedSearch.java @@ -77,6 +77,8 @@ public class IntPraticaAdvancedSearch { booleanQuery.add(termQuery, BooleanClauseOccur.MUST); termQuery = TermQueryFactoryUtil.create(searchContext, PortosIndexField.PRATICA_APERTA, StringPool.TRUE); booleanQuery.add(termQuery, BooleanClauseOccur.MUST); + termQuery = TermQueryFactoryUtil.create(searchContext, PortosIndexField.IN_LAVORAZIONE_SUE, StringPool.FALSE); + booleanQuery.add(termQuery, BooleanClauseOccur.MUST); // Condizioni aggiuntive query(request, user, booleanQuery, searchContext); hits = SearchEngineUtil.search(searchContext, booleanQuery); @@ -109,6 +111,8 @@ public class IntPraticaAdvancedSearch { booleanQuery.add(termQuery, BooleanClauseOccur.MUST); termQuery = TermQueryFactoryUtil.create(searchContext, PortosIndexField.PRATICA_APERTA, StringPool.TRUE); booleanQuery.add(termQuery, BooleanClauseOccur.MUST); + termQuery = TermQueryFactoryUtil.create(searchContext, PortosIndexField.IN_LAVORAZIONE_SUE, StringPool.FALSE); + booleanQuery.add(termQuery, BooleanClauseOccur.MUST); // Condizioni aggiuntive query(request, user, booleanQuery, searchContext); hits = SearchEngineUtil.search(searchContext, booleanQuery); @@ -144,6 +148,8 @@ public class IntPraticaAdvancedSearch { termQuery = TermQueryFactoryUtil.create(searchContext, PortosIndexField.PRATICA_APERTA, StringPool.FALSE); booleanQuery.add(termQuery, BooleanClauseOccur.MUST); booleanQuery.add(altriProgettiBooleanQuery, BooleanClauseOccur.MUST); + termQuery = TermQueryFactoryUtil.create(searchContext, PortosIndexField.IN_LAVORAZIONE_SUE, StringPool.FALSE); + booleanQuery.add(termQuery, BooleanClauseOccur.MUST); // Condizioni aggiuntive query(request, user, booleanQuery, searchContext); hits = SearchEngineUtil.search(searchContext, booleanQuery); diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/PortosIndexField.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/PortosIndexField.java index 31b31881..49306644 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/PortosIndexField.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/PortosIndexField.java @@ -70,4 +70,5 @@ public class PortosIndexField implements Serializable { public static final String COMUNE = "comune"; public static final String TIPO_PROCEDURA = "tipoProcedura"; public static final String UNITA_OPERATIVA = "unitaOperativa"; + public static final String IN_LAVORAZIONE_SUE = "inLavorazioneSue"; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/sql/tables.sql b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/sql/tables.sql index 600933af..8eb37e9e 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/sql/tables.sql +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/sql/tables.sql @@ -582,7 +582,8 @@ create table portos_bo_IntPratica ( fineLavoriTotale BOOLEAN, collaudoParziale BOOLEAN, collaudoTotale BOOLEAN, - controlloObbligatorio BOOLEAN + controlloObbligatorio BOOLEAN, + inLavorazioneSue BOOLEAN ); create table portos_bo_Pagamento ( diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml index e9ec495a..2487b8c2 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml @@ -611,6 +611,7 @@ + diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml index e413717c..9d609bfd 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml @@ -664,6 +664,7 @@ + diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml index e9dedebd..87b024f3 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml @@ -779,6 +779,7 @@ + diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/indexer/IntPraticaIndexer.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/indexer/IntPraticaIndexer.java index 2c8e2f8f..c708ef2d 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/indexer/IntPraticaIndexer.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/indexer/IntPraticaIndexer.java @@ -136,6 +136,7 @@ public class IntPraticaIndexer extends BaseIndexer { document.addNumberSortable(PortosIndexField.NUMERO_PROGETTO, Integer.valueOf(intPraticaFromDB.getNumeroProgetto())); } + document.addKeyword(PortosIndexField.IN_LAVORAZIONE_SUE, intPraticaFromDB.getInLavorazioneSue()); if (lastDettPratica != null) { document.addKeyword("nuovaCostruzione", lastDettPratica.getTcNuovaCostruzione()); document.addKeyword("adeguamentoSismico", lastDettPratica.getTcAdeguamentoSismico()); diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/IntPraticaCacheModel.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/IntPraticaCacheModel.java index 19fda9b7..8815bd5b 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/IntPraticaCacheModel.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/IntPraticaCacheModel.java @@ -38,7 +38,7 @@ public class IntPraticaCacheModel implements CacheModel, Externalizable { @Override public String toString() { - StringBundler sb = new StringBundler(63); + StringBundler sb = new StringBundler(65); sb.append("{uuid="); sb.append(uuid); @@ -102,6 +102,8 @@ public class IntPraticaCacheModel implements CacheModel, sb.append(collaudoTotale); sb.append(", controlloObbligatorio="); sb.append(controlloObbligatorio); + sb.append(", inLavorazioneSue="); + sb.append(inLavorazioneSue); sb.append("}"); return sb.toString(); @@ -233,6 +235,7 @@ public class IntPraticaCacheModel implements CacheModel, intPraticaImpl.setCollaudoParziale(collaudoParziale); intPraticaImpl.setCollaudoTotale(collaudoTotale); intPraticaImpl.setControlloObbligatorio(controlloObbligatorio); + intPraticaImpl.setInLavorazioneSue(inLavorazioneSue); intPraticaImpl.resetOriginalValues(); @@ -272,6 +275,7 @@ public class IntPraticaCacheModel implements CacheModel, collaudoParziale = objectInput.readBoolean(); collaudoTotale = objectInput.readBoolean(); controlloObbligatorio = objectInput.readBoolean(); + inLavorazioneSue = objectInput.readBoolean(); } @Override @@ -361,6 +365,7 @@ public class IntPraticaCacheModel implements CacheModel, objectOutput.writeBoolean(collaudoParziale); objectOutput.writeBoolean(collaudoTotale); objectOutput.writeBoolean(controlloObbligatorio); + objectOutput.writeBoolean(inLavorazioneSue); } public String uuid; @@ -394,4 +399,5 @@ public class IntPraticaCacheModel implements CacheModel, public boolean collaudoParziale; public boolean collaudoTotale; public boolean controlloObbligatorio; + public boolean inLavorazioneSue; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/IntPraticaModelImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/IntPraticaModelImpl.java index fb64edca..7765a39e 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/IntPraticaModelImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/IntPraticaModelImpl.java @@ -97,9 +97,10 @@ public class IntPraticaModelImpl extends BaseModelImpl { "fineLavoriTotale", Types.BOOLEAN }, { "collaudoParziale", Types.BOOLEAN }, { "collaudoTotale", Types.BOOLEAN }, - { "controlloObbligatorio", Types.BOOLEAN } + { "controlloObbligatorio", Types.BOOLEAN }, + { "inLavorazioneSue", Types.BOOLEAN } }; - public static final String TABLE_SQL_CREATE = "create table portos_bo_IntPratica (uuid_ VARCHAR(75) null,intPraticaId LONG not null primary key,companyId LONG,userId LONG,userName VARCHAR(75) null,createDate DATE null,modifiedDate DATE null,groupId LONG,tipoPratica VARCHAR(75) null,territorioId LONG,tipoProcedura VARCHAR(75) null,dtAnnullamento DATE null,docPraticaAnnullamentoId LONG,unitaOperativa INTEGER,statoPratica VARCHAR(10) null,numeroProgetto VARCHAR(75) null,validata BOOLEAN,status INTEGER,statusByUserId LONG,statusDate DATE null,esitoControllo INTEGER,dtPratica DATE null,sospesa BOOLEAN,dtSospensione DATE null,codiceFiscaleDelegatoFineLavori VARCHAR(75) null,codiceFiscaleDelegatoCollaudo VARCHAR(75) null,fineLavoriParziale BOOLEAN,fineLavoriTotale BOOLEAN,collaudoParziale BOOLEAN,collaudoTotale BOOLEAN,controlloObbligatorio BOOLEAN)"; + public static final String TABLE_SQL_CREATE = "create table portos_bo_IntPratica (uuid_ VARCHAR(75) null,intPraticaId LONG not null primary key,companyId LONG,userId LONG,userName VARCHAR(75) null,createDate DATE null,modifiedDate DATE null,groupId LONG,tipoPratica VARCHAR(75) null,territorioId LONG,tipoProcedura VARCHAR(75) null,dtAnnullamento DATE null,docPraticaAnnullamentoId LONG,unitaOperativa INTEGER,statoPratica VARCHAR(10) null,numeroProgetto VARCHAR(75) null,validata BOOLEAN,status INTEGER,statusByUserId LONG,statusDate DATE null,esitoControllo INTEGER,dtPratica DATE null,sospesa BOOLEAN,dtSospensione DATE null,codiceFiscaleDelegatoFineLavori VARCHAR(75) null,codiceFiscaleDelegatoCollaudo VARCHAR(75) null,fineLavoriParziale BOOLEAN,fineLavoriTotale BOOLEAN,collaudoParziale BOOLEAN,collaudoTotale BOOLEAN,controlloObbligatorio BOOLEAN,inLavorazioneSue BOOLEAN)"; public static final String TABLE_SQL_DROP = "drop table portos_bo_IntPratica"; public static final String ORDER_BY_JPQL = " ORDER BY intPratica.intPraticaId ASC"; public static final String ORDER_BY_SQL = " ORDER BY portos_bo_IntPratica.intPraticaId ASC"; @@ -168,6 +169,7 @@ public class IntPraticaModelImpl extends BaseModelImpl model.setCollaudoParziale(soapModel.getCollaudoParziale()); model.setCollaudoTotale(soapModel.getCollaudoTotale()); model.setControlloObbligatorio(soapModel.getControlloObbligatorio()); + model.setInLavorazioneSue(soapModel.getInLavorazioneSue()); return model; } @@ -265,6 +267,7 @@ public class IntPraticaModelImpl extends BaseModelImpl attributes.put("collaudoParziale", getCollaudoParziale()); attributes.put("collaudoTotale", getCollaudoTotale()); attributes.put("controlloObbligatorio", getControlloObbligatorio()); + attributes.put("inLavorazioneSue", getInLavorazioneSue()); return attributes; } @@ -461,6 +464,12 @@ public class IntPraticaModelImpl extends BaseModelImpl if (controlloObbligatorio != null) { setControlloObbligatorio(controlloObbligatorio); } + + Boolean inLavorazioneSue = (Boolean)attributes.get("inLavorazioneSue"); + + if (inLavorazioneSue != null) { + setInLavorazioneSue(inLavorazioneSue); + } } @JSON @@ -980,6 +989,22 @@ public class IntPraticaModelImpl extends BaseModelImpl _controlloObbligatorio = controlloObbligatorio; } + @JSON + @Override + public boolean getInLavorazioneSue() { + return _inLavorazioneSue; + } + + @Override + public boolean isInLavorazioneSue() { + return _inLavorazioneSue; + } + + @Override + public void setInLavorazioneSue(boolean inLavorazioneSue) { + _inLavorazioneSue = inLavorazioneSue; + } + @Override public StagedModelType getStagedModelType() { return new StagedModelType(PortalUtil.getClassNameId( @@ -1048,6 +1073,7 @@ public class IntPraticaModelImpl extends BaseModelImpl intPraticaImpl.setCollaudoParziale(getCollaudoParziale()); intPraticaImpl.setCollaudoTotale(getCollaudoTotale()); intPraticaImpl.setControlloObbligatorio(getControlloObbligatorio()); + intPraticaImpl.setInLavorazioneSue(getInLavorazioneSue()); intPraticaImpl.resetOriginalValues(); @@ -1285,12 +1311,14 @@ public class IntPraticaModelImpl extends BaseModelImpl intPraticaCacheModel.controlloObbligatorio = getControlloObbligatorio(); + intPraticaCacheModel.inLavorazioneSue = getInLavorazioneSue(); + return intPraticaCacheModel; } @Override public String toString() { - StringBundler sb = new StringBundler(63); + StringBundler sb = new StringBundler(65); sb.append("{uuid="); sb.append(getUuid()); @@ -1354,6 +1382,8 @@ public class IntPraticaModelImpl extends BaseModelImpl sb.append(getCollaudoTotale()); sb.append(", controlloObbligatorio="); sb.append(getControlloObbligatorio()); + sb.append(", inLavorazioneSue="); + sb.append(getInLavorazioneSue()); sb.append("}"); return sb.toString(); @@ -1361,7 +1391,7 @@ public class IntPraticaModelImpl extends BaseModelImpl @Override public String toXmlString() { - StringBundler sb = new StringBundler(97); + StringBundler sb = new StringBundler(100); sb.append(""); sb.append("it.tref.liferay.portos.bo.model.IntPratica"); @@ -1491,6 +1521,10 @@ public class IntPraticaModelImpl extends BaseModelImpl "controlloObbligatorio"); + sb.append( + "inLavorazioneSue"); sb.append(""); @@ -1546,6 +1580,7 @@ public class IntPraticaModelImpl extends BaseModelImpl private boolean _collaudoParziale; private boolean _collaudoTotale; private boolean _controlloObbligatorio; + private boolean _inLavorazioneSue; private long _columnBitmask; private IntPratica _escapedModel; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/IntPraticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/IntPraticaPersistenceImpl.java index 4c9f980c..f6dd708b 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/IntPraticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/IntPraticaPersistenceImpl.java @@ -4417,6 +4417,7 @@ public class IntPraticaPersistenceImpl extends BasePersistenceImpl intPraticaImpl.setCollaudoParziale(intPratica.isCollaudoParziale()); intPraticaImpl.setCollaudoTotale(intPratica.isCollaudoTotale()); intPraticaImpl.setControlloObbligatorio(intPratica.isControlloObbligatorio()); + intPraticaImpl.setInLavorazioneSue(intPratica.isInLavorazioneSue()); return intPraticaImpl; } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties index fce07dfe..517a2558 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties @@ -13,8 +13,8 @@ ## build.namespace=portos_bo - build.number=3178 - build.date=1624285445563 + build.number=3182 + build.date=1624358982119 build.auto.upgrade=true ## From dcfcd829f67ff8a986d534dd0279cb5764b6b07c Mon Sep 17 00:00:00 2001 From: Salvatore La Manna Date: Tue, 22 Jun 2021 12:57:49 +0200 Subject: [PATCH 09/11] Manuali --- .../sicilia/sue/api/v1/command/Command.java | 7 +- .../sue/api/v1/command/CommandList.java | 4 + .../sue/api/v1/command/impl/Applications.java | 10 +- .../sue/api/v1/command/impl/Documents.java | 10 +- .../sue/api/v1/command/impl/Manual.java | 21 ++- .../sue/api/v1/command/impl/ManualHtml.java | 165 ++++++++++++++++++ .../sue/api/v1/parameter/Parameter.java | 18 +- .../docroot/css/api/v1/api.css | 70 ++++++++ .../html/administration/edit_sportello.jsp | 2 +- 9 files changed, 298 insertions(+), 9 deletions(-) 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/ManualHtml.java create mode 100644 liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/css/api/v1/api.css 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 06c9e9d5..d7e8e59b 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 @@ -96,11 +96,14 @@ public abstract class Command { response.setCharacterEncoding(StringPool.UTF8); } - protected void setPlainText(HttpServletResponse response) { - + protected void setTextPlain(HttpServletResponse response) { response.setContentType(ContentTypes.TEXT_PLAIN_UTF8); } + protected void setTextHtml(HttpServletResponse response) { + response.setContentType(ContentTypes.TEXT_HTML_UTF8); + } + protected boolean verifyAccessToken(HttpServletRequest request, HttpServletResponse response) throws IOException { setJson(response); 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 6e819873..ebb58d62 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 @@ -4,6 +4,7 @@ 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.Login; import it.mwg.sicilia.sue.api.v1.command.impl.Manual; +import it.mwg.sicilia.sue.api.v1.command.impl.ManualHtml; import it.mwg.sicilia.sue.api.v1.command.impl.Nop; import java.util.Collection; @@ -19,6 +20,9 @@ public class CommandList { 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, 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 41f78de7..3c1adb17 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 @@ -23,6 +23,14 @@ import com.liferay.portal.kernel.util.StringPool; 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.add(p); + }; + public Applications(String verb, String description, String... methods) { super(verb, description, methods); @@ -51,6 +59,6 @@ public class Applications extends Command { @Override public List getOutputParameters() { - return EMPTY_PARAMETERS; + 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/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 039868b7..801998d8 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 @@ -23,6 +23,14 @@ import com.liferay.portal.kernel.util.StringPool; 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.add(p); + }; + public Documents(String verb, String description, String... methods) { super(verb, description, methods); } @@ -50,6 +58,6 @@ public class Documents extends Command { @Override public List getOutputParameters() { - return EMPTY_PARAMETERS; + 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/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 ef04cad7..93053927 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 @@ -6,6 +6,7 @@ import it.mwg.sicilia.sue.api.v1.command.CommandList; import it.mwg.sicilia.sue.api.v1.parameter.Parameter; import java.io.Serializable; +import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; @@ -25,6 +26,13 @@ import com.liferay.portal.kernel.util.StringPool; public class Manual extends Command { + @SuppressWarnings("serial") + private static final List OUTPUT_PARAMETERS = new ArrayList() { + { + add(new Parameter(StringPool.BLANK, Parameter.TYPES.TEXT_PLAIN, "Il testo del manuale (questa pagina)")); + } + }; + private static String baseUrl = null; private static final JSONSerializer serializer = JSONFactoryUtil.createJSONSerializer(); @@ -70,6 +78,13 @@ public class Manual extends Command { result.append(StringPool.TAB).append(parameter.getName()).append(" (") .append(parameter.getType().toString()).append(") - ").append(parameter.getDescription()) .append(StringPool.NEW_LINE); + if (parameter.getType().equals(Parameter.TYPES.ARRAY)) { + for (Parameter subParameter : parameter.getSubParameters()) { + result.append(StringPool.TAB).append(StringPool.TAB).append(subParameter.getName()) + .append(" (").append(subParameter.getType().toString()).append(") - ") + .append(subParameter.getDescription()).append(StringPool.NEW_LINE); + } + } } } result.append("Esempio:\n").append(getCurlExample(command, getBaseUrl(request))); @@ -77,10 +92,10 @@ public class Manual extends Command { result.append("================================================================================\n"); } } - result.append("\n[Note]\n[T] = Richiede token di autenticazione: header di richiesta \"") + result.append("\nNote:\n[T] = Richiede token di autenticazione: header di richiesta \"") .append(Parameters.X_AUTH_TOKEN).append("\" oppure parametro \"").append(Parameters.TOKEN) .append("\"\n * = Parametro obbligatorio\n"); - setPlainText(response); + setTextPlain(response); ServletResponseUtil.write(response, result.toString()); } @@ -140,6 +155,6 @@ public class Manual extends Command { @Override public List getOutputParameters() { - return EMPTY_PARAMETERS; + 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/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 new file mode 100644 index 00000000..84909437 --- /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/ManualHtml.java @@ -0,0 +1,165 @@ +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 java.io.File; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +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.servlet.HttpMethods; +import com.liferay.portal.kernel.servlet.ServletResponseUtil; +import com.liferay.portal.kernel.util.Http; +import com.liferay.portal.kernel.util.StringPool; + +public class ManualHtml extends Command { + + @SuppressWarnings("serial") + private static final List OUTPUT_PARAMETERS = new ArrayList() { + { + add(new Parameter(StringPool.BLANK, Parameter.TYPES.TEXT_HTML, "Il testo del manuale (questa pagina)")); + } + }; + + private static String baseUrl = null; + + private static final JSONSerializer serializer = JSONFactoryUtil.createJSONSerializer(); + + public ManualHtml(String verb, String description, String... methods) { + super(verb, description, methods); + } + + @Override + public void run(HttpServletRequest request, HttpServletResponse response) throws Exception { + + String cssFile = "/css/api/v1/api.css"; + StringBuilder result = new StringBuilder(); + result.append("").append("") + .append("") + .append("Manual").append("") + .append(""); + for (Command command : CommandList.getList()) { + result.append("
    Comando: /").append(command.getVerb()).append(""); + if (command.isSecure()) { + result.append(" [T]"); + } + result.append("
    ").append(command.getDescription()).append("
    "); + result.append("
    Metodi: ") + .append(StringUtils.join(command.getMethods(), StringPool.COMMA_AND_SPACE)).append("
    "); + result.append("
    Parametri:"); + List parameters = command.getInputParameters(); + if (parameters.isEmpty()) { + result.append(" Nessuno
    "); + } else { + for (Parameter parameter : parameters) { + result.append("
    ").append(parameter.getName()); + if (parameter.isRequired()) { + result.append(StringPool.STAR); + } + result.append(" (").append(parameter.getType().toString()).append(") - ") + .append(parameter.getDescription()).append("
    "); + } + result.append("
    "); + } + parameters = command.getOutputParameters(); + if (!parameters.isEmpty()) { + result.append("
    Restituisce:"); + for (Parameter parameter : parameters) { + result.append("
    ").append(parameter.getName()).append(" (") + .append(parameter.getType().toString()).append(") - ").append(parameter.getDescription()); + if (parameter.getType().equals(Parameter.TYPES.ARRAY)) { + for (Parameter subParameter : parameter.getSubParameters()) { + result.append("
    ").append(subParameter.getName()).append(" (") + .append(subParameter.getType().toString()).append(") - ") + .append(subParameter.getDescription()).append("
    "); + } + } + result.append("
    "); + } + } + result.append("
    "); + result.append("
    Esempio:
    ").append(getCurlExample(command, getBaseUrl(request)))
    +					.append("
    "); + result.append("
    "); // class="command" + } + result.append("
    Note:
    [T] = Richiede token di autenticazione: header di richiesta \"") + .append(Parameters.X_AUTH_TOKEN).append("\" oppure parametro \"").append(Parameters.TOKEN) + .append("\"
    * = Parametro obbligatorio
    "); + result.append(""); + setTextHtml(response); + ServletResponseUtil.write(response, result.toString()); + } + + private String getCurlExample(Command command, String baseUrl) { + + StringBuilder sb = new StringBuilder(); + sb.append("curl "); + if (command.isSecure()) { + sb.append("--header \"").append(Parameters.X_AUTH_TOKEN).append(": $TOKEN\"").append(" \\\n\t"); + } + if (command.getMethods().contains(HttpMethods.GET)) { + } else { + sb.append("--header \"Content-Type: application/json; charset=UTF-8\" \\\n\t"); + sb.append("--request POST \\\n\t"); + Map data = new LinkedHashMap<>(); + for (Parameter parameter : command.getInputParameters()) { + if (parameter.isRequired()) { + if (parameter.getType().equals(Parameter.TYPES.STRING)) { + data.put(parameter.getName(), parameter.getName()); + } + } + } + if (data.size() > 0) { + sb.append("--data '").append(serializer.serialize(data)).append("' \\\n\t"); + } + } + sb.append(StringPool.APOSTROPHE).append(baseUrl).append(command.getVerb()).append(StringPool.APOSTROPHE) + .append(StringPool.NEW_LINE); + return sb.toString(); + } + + private String getBaseUrl(HttpServletRequest request) { + + if (null == baseUrl) { + StringBuilder sb = new StringBuilder(); + sb.append(request.isSecure() ? Http.HTTPS_WITH_SLASH : Http.HTTP_WITH_SLASH); + sb.append(request.getServerName()); + if ((request.isSecure() && (request.getServerPort() != Http.HTTPS_PORT)) + || (!request.isSecure() && (request.getServerPort() != Http.HTTP_PORT))) { + sb.append(StringPool.COLON).append(request.getServerPort()); + } + sb.append(request.getContextPath()).append(request.getServletPath()).append(StringPool.FORWARD_SLASH); + baseUrl = sb.toString(); + } + return baseUrl; + } + + @Override + public boolean isSecure() { + return false; + } + + @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/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 3c85c421..8c88fd1f 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 @@ -1,11 +1,15 @@ package it.mwg.sicilia.sue.api.v1.parameter; +import java.util.ArrayList; +import java.util.List; + public class Parameter { private String name; private TYPES type; private String description; private boolean required; + private List subParameters = null; public Parameter(String name, TYPES type, String description, boolean required) { @@ -39,7 +43,19 @@ public class Parameter { return required; } + public void addSubParameter(Parameter parameter) { + + if (null == subParameters) { + subParameters = new ArrayList<>(); + } + subParameters.add(parameter); + } + + public List getSubParameters() { + return subParameters; + } + public static enum TYPES { - ARRAY, BOOLEAN, STRING + ARRAY, BOOLEAN, STRING, TEXT_HTML, TEXT_PLAIN } } diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/css/api/v1/api.css b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/css/api/v1/api.css new file mode 100644 index 00000000..52a7226e --- /dev/null +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/css/api/v1/api.css @@ -0,0 +1,70 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) */ +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +/* End reset.css */ +body { + margin: 10px; + font-family: sans-serif; +} +div { + margin-bottom: 5px; +} +b { + font-weight: bold; +} +pre { + background-color: #ccc; + width: fit-content; + padding: 10px; + border: 1px solid #999; +} +.command { + border-bottom: 1px solid #999; + padding: 10px 0; +} +.parameter { + margin-left: 40px; +} diff --git a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/edit_sportello.jsp b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/edit_sportello.jsp index 49d0d3b9..bb7bf10a 100644 --- a/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/edit_sportello.jsp +++ b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/html/administration/edit_sportello.jsp @@ -23,7 +23,7 @@ Sportello sportello = sportelloId == 0 ? null : SportelloLocalServiceUtil.getSpo + value="<%= Validator.isNull(sportello) ? StringPool.BLANK : sportello.getUserName() %>"> Date: Wed, 23 Jun 2021 12:05:26 +0200 Subject: [PATCH 10/11] 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 ## From 677d344ba8ae9d3ddd45b5e1a472a2e687fedea1 Mon Sep 17 00:00:00 2001 From: Salvatore La Manna Date: Wed, 23 Jun 2021 14:12:37 +0200 Subject: [PATCH 11/11] Cancellazione pratiche --- .../bo/service/IntPraticaLocalService.java | 1 - .../impl/IntPraticaLocalServiceImpl.java | 1 - .../AllegatoManualePersistenceImpl.java | 1 + .../AsseverazionePersistenceImpl.java | 1 + .../persistence/AvvisoPersistenceImpl.java | 1 + .../persistence/CollaudoPersistenceImpl.java | 1 + .../persistence/ComunePersistenceImpl.java | 1 + .../ComunicazionePersistenceImpl.java | 1 + .../ConfigurazionePersistenceImpl.java | 1 + .../ControlloPraticaPersistenceImpl.java | 1 + .../persistence/DelegaPersistenceImpl.java | 1 + .../DettPraticaPersistenceImpl.java | 1 + .../DocAggiuntivaPersistenceImpl.java | 1 + .../DocPraticaPersistenceImpl.java | 1 + .../FineLavoriPersistenceImpl.java | 1 + .../HistoryWorkflowActionPersistenceImpl.java | 1 + .../IntPraticaPersistenceImpl.java | 1 + .../persistence/PagamentoPersistenceImpl.java | 1 + .../ParereGeologoPersistenceImpl.java | 1 + .../persistence/ProvinciaPersistenceImpl.java | 1 + .../persistence/SoggettoPersistenceImpl.java | 1 + ...StoricoSoggettoPraticaPersistenceImpl.java | 1 + .../TempisticaPersistenceImpl.java | 1 + .../TerritorioPersistenceImpl.java | 1 + .../docroot/WEB-INF/src/service.properties | 4 +- .../src/it/mwg/sicilia/sue/api/v1/Status.java | 10 ++- .../sue/api/v1/command/CommandList.java | 7 +- .../api/v1/command/impl/AddApplication.java | 4 + .../v1/command/impl/DeleteApplication.java | 83 +++++++++++++++++++ .../api/v1/command/impl/ListApplications.java | 9 +- .../sue/api/v1/command/impl/Manual.java | 16 ++-- .../sue/api/v1/command/impl/ManualHtml.java | 67 +-------------- .../docroot/WEB-INF/src/service.properties | 4 +- 33 files changed, 139 insertions(+), 89 deletions(-) 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/DeleteApplication.java diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalService.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalService.java index 84859b70..13a74e0c 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalService.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalService.java @@ -337,7 +337,6 @@ public interface IntPraticaLocalService extends BaseLocalService, throws com.liferay.portal.kernel.exception.PortalException, com.liferay.portal.kernel.exception.SystemException; - @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX) public it.tref.liferay.portos.bo.model.IntPratica deleteIntPratica( it.tref.liferay.portos.bo.model.IntPratica intPratica, boolean forced) throws com.liferay.portal.kernel.exception.PortalException, diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/IntPraticaLocalServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/IntPraticaLocalServiceImpl.java index 327f6bd5..bf6b9114 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/IntPraticaLocalServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/IntPraticaLocalServiceImpl.java @@ -213,7 +213,6 @@ public class IntPraticaLocalServiceImpl extends IntPraticaLocalServiceBaseImpl { } @Override - @Indexable(type = IndexableType.REINDEX) public IntPratica deleteIntPratica(IntPratica intPratica, boolean forced) throws SystemException, PortalException { if (intPratica.getStatus() == WorkflowConstants.STATUS_ANY || forced) { diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AllegatoManualePersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AllegatoManualePersistenceImpl.java index 73a46094..3e5128f0 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AllegatoManualePersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AllegatoManualePersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchAllegatoManualeException; import it.tref.liferay.portos.bo.model.AllegatoManuale; import it.tref.liferay.portos.bo.model.impl.AllegatoManualeImpl; import it.tref.liferay.portos.bo.model.impl.AllegatoManualeModelImpl; +import it.tref.liferay.portos.bo.service.persistence.AllegatoManualePersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AsseverazionePersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AsseverazionePersistenceImpl.java index 63caa01d..15633d6f 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AsseverazionePersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AsseverazionePersistenceImpl.java @@ -46,6 +46,7 @@ import it.tref.liferay.portos.bo.NoSuchAsseverazioneException; import it.tref.liferay.portos.bo.model.Asseverazione; import it.tref.liferay.portos.bo.model.impl.AsseverazioneImpl; import it.tref.liferay.portos.bo.model.impl.AsseverazioneModelImpl; +import it.tref.liferay.portos.bo.service.persistence.AsseverazionePersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AvvisoPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AvvisoPersistenceImpl.java index 8f8bd310..d73613ab 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AvvisoPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/AvvisoPersistenceImpl.java @@ -46,6 +46,7 @@ import it.tref.liferay.portos.bo.NoSuchAvvisoException; import it.tref.liferay.portos.bo.model.Avviso; import it.tref.liferay.portos.bo.model.impl.AvvisoImpl; import it.tref.liferay.portos.bo.model.impl.AvvisoModelImpl; +import it.tref.liferay.portos.bo.service.persistence.AvvisoPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/CollaudoPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/CollaudoPersistenceImpl.java index 0b546e1a..02dcaba3 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/CollaudoPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/CollaudoPersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchCollaudoException; import it.tref.liferay.portos.bo.model.Collaudo; import it.tref.liferay.portos.bo.model.impl.CollaudoImpl; import it.tref.liferay.portos.bo.model.impl.CollaudoModelImpl; +import it.tref.liferay.portos.bo.service.persistence.CollaudoPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunePersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunePersistenceImpl.java index b0b64b21..4a23bffd 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunePersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunePersistenceImpl.java @@ -46,6 +46,7 @@ import it.tref.liferay.portos.bo.NoSuchComuneException; import it.tref.liferay.portos.bo.model.Comune; import it.tref.liferay.portos.bo.model.impl.ComuneImpl; import it.tref.liferay.portos.bo.model.impl.ComuneModelImpl; +import it.tref.liferay.portos.bo.service.persistence.ComunePersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunicazionePersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunicazionePersistenceImpl.java index 0b7f9ee2..f5b8166f 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunicazionePersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ComunicazionePersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchComunicazioneException; import it.tref.liferay.portos.bo.model.Comunicazione; import it.tref.liferay.portos.bo.model.impl.ComunicazioneImpl; import it.tref.liferay.portos.bo.model.impl.ComunicazioneModelImpl; +import it.tref.liferay.portos.bo.service.persistence.ComunicazionePersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ConfigurazionePersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ConfigurazionePersistenceImpl.java index 66507dd0..32809343 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ConfigurazionePersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ConfigurazionePersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchConfigurazioneException; import it.tref.liferay.portos.bo.model.Configurazione; import it.tref.liferay.portos.bo.model.impl.ConfigurazioneImpl; import it.tref.liferay.portos.bo.model.impl.ConfigurazioneModelImpl; +import it.tref.liferay.portos.bo.service.persistence.ConfigurazionePersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ControlloPraticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ControlloPraticaPersistenceImpl.java index 48cf51eb..a4fa6f91 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ControlloPraticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ControlloPraticaPersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchControlloPraticaException; import it.tref.liferay.portos.bo.model.ControlloPratica; import it.tref.liferay.portos.bo.model.impl.ControlloPraticaImpl; import it.tref.liferay.portos.bo.model.impl.ControlloPraticaModelImpl; +import it.tref.liferay.portos.bo.service.persistence.ControlloPraticaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DelegaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DelegaPersistenceImpl.java index 402cecd0..8c56fb32 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DelegaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DelegaPersistenceImpl.java @@ -46,6 +46,7 @@ import it.tref.liferay.portos.bo.NoSuchDelegaException; import it.tref.liferay.portos.bo.model.Delega; import it.tref.liferay.portos.bo.model.impl.DelegaImpl; import it.tref.liferay.portos.bo.model.impl.DelegaModelImpl; +import it.tref.liferay.portos.bo.service.persistence.DelegaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DettPraticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DettPraticaPersistenceImpl.java index cc3c5dbf..58c7d8f5 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DettPraticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DettPraticaPersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchDettPraticaException; import it.tref.liferay.portos.bo.model.DettPratica; import it.tref.liferay.portos.bo.model.impl.DettPraticaImpl; import it.tref.liferay.portos.bo.model.impl.DettPraticaModelImpl; +import it.tref.liferay.portos.bo.service.persistence.DettPraticaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocAggiuntivaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocAggiuntivaPersistenceImpl.java index 689264dd..3adff95b 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocAggiuntivaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocAggiuntivaPersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchDocAggiuntivaException; import it.tref.liferay.portos.bo.model.DocAggiuntiva; import it.tref.liferay.portos.bo.model.impl.DocAggiuntivaImpl; import it.tref.liferay.portos.bo.model.impl.DocAggiuntivaModelImpl; +import it.tref.liferay.portos.bo.service.persistence.DocAggiuntivaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocPraticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocPraticaPersistenceImpl.java index f4a4b84a..13bd7b4f 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocPraticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DocPraticaPersistenceImpl.java @@ -46,6 +46,7 @@ import it.tref.liferay.portos.bo.NoSuchDocPraticaException; import it.tref.liferay.portos.bo.model.DocPratica; import it.tref.liferay.portos.bo.model.impl.DocPraticaImpl; import it.tref.liferay.portos.bo.model.impl.DocPraticaModelImpl; +import it.tref.liferay.portos.bo.service.persistence.DocPraticaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/FineLavoriPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/FineLavoriPersistenceImpl.java index 41c1b2be..15f0504f 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/FineLavoriPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/FineLavoriPersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchFineLavoriException; import it.tref.liferay.portos.bo.model.FineLavori; import it.tref.liferay.portos.bo.model.impl.FineLavoriImpl; import it.tref.liferay.portos.bo.model.impl.FineLavoriModelImpl; +import it.tref.liferay.portos.bo.service.persistence.FineLavoriPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/HistoryWorkflowActionPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/HistoryWorkflowActionPersistenceImpl.java index ad50d7ea..f80406ab 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/HistoryWorkflowActionPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/HistoryWorkflowActionPersistenceImpl.java @@ -42,6 +42,7 @@ import it.tref.liferay.portos.bo.NoSuchHistoryWorkflowActionException; import it.tref.liferay.portos.bo.model.HistoryWorkflowAction; import it.tref.liferay.portos.bo.model.impl.HistoryWorkflowActionImpl; import it.tref.liferay.portos.bo.model.impl.HistoryWorkflowActionModelImpl; +import it.tref.liferay.portos.bo.service.persistence.HistoryWorkflowActionPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/IntPraticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/IntPraticaPersistenceImpl.java index f6dd708b..bda5c175 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/IntPraticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/IntPraticaPersistenceImpl.java @@ -48,6 +48,7 @@ import it.tref.liferay.portos.bo.NoSuchIntPraticaException; import it.tref.liferay.portos.bo.model.IntPratica; import it.tref.liferay.portos.bo.model.impl.IntPraticaImpl; import it.tref.liferay.portos.bo.model.impl.IntPraticaModelImpl; +import it.tref.liferay.portos.bo.service.persistence.IntPraticaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/PagamentoPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/PagamentoPersistenceImpl.java index 12fb36d2..863e32df 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/PagamentoPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/PagamentoPersistenceImpl.java @@ -46,6 +46,7 @@ import it.tref.liferay.portos.bo.NoSuchPagamentoException; import it.tref.liferay.portos.bo.model.Pagamento; import it.tref.liferay.portos.bo.model.impl.PagamentoImpl; import it.tref.liferay.portos.bo.model.impl.PagamentoModelImpl; +import it.tref.liferay.portos.bo.service.persistence.PagamentoPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistenceImpl.java index c6ce3907..e4133c60 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchParereGeologoException; import it.tref.liferay.portos.bo.model.ParereGeologo; import it.tref.liferay.portos.bo.model.impl.ParereGeologoImpl; import it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl; +import it.tref.liferay.portos.bo.service.persistence.ParereGeologoPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ProvinciaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ProvinciaPersistenceImpl.java index daa33e1b..2c7a846f 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ProvinciaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ProvinciaPersistenceImpl.java @@ -43,6 +43,7 @@ import it.tref.liferay.portos.bo.NoSuchProvinciaException; import it.tref.liferay.portos.bo.model.Provincia; import it.tref.liferay.portos.bo.model.impl.ProvinciaImpl; import it.tref.liferay.portos.bo.model.impl.ProvinciaModelImpl; +import it.tref.liferay.portos.bo.service.persistence.ProvinciaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/SoggettoPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/SoggettoPersistenceImpl.java index 35a48fdf..90251acb 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/SoggettoPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/SoggettoPersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchSoggettoException; import it.tref.liferay.portos.bo.model.Soggetto; import it.tref.liferay.portos.bo.model.impl.SoggettoImpl; import it.tref.liferay.portos.bo.model.impl.SoggettoModelImpl; +import it.tref.liferay.portos.bo.service.persistence.SoggettoPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/StoricoSoggettoPraticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/StoricoSoggettoPraticaPersistenceImpl.java index da5af496..26f13dda 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/StoricoSoggettoPraticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/StoricoSoggettoPraticaPersistenceImpl.java @@ -42,6 +42,7 @@ import it.tref.liferay.portos.bo.NoSuchStoricoSoggettoPraticaException; import it.tref.liferay.portos.bo.model.StoricoSoggettoPratica; import it.tref.liferay.portos.bo.model.impl.StoricoSoggettoPraticaImpl; import it.tref.liferay.portos.bo.model.impl.StoricoSoggettoPraticaModelImpl; +import it.tref.liferay.portos.bo.service.persistence.StoricoSoggettoPraticaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TempisticaPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TempisticaPersistenceImpl.java index 90d5b692..de92727b 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TempisticaPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TempisticaPersistenceImpl.java @@ -45,6 +45,7 @@ import it.tref.liferay.portos.bo.NoSuchTempisticaException; import it.tref.liferay.portos.bo.model.Tempistica; import it.tref.liferay.portos.bo.model.impl.TempisticaImpl; import it.tref.liferay.portos.bo.model.impl.TempisticaModelImpl; +import it.tref.liferay.portos.bo.service.persistence.TempisticaPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TerritorioPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TerritorioPersistenceImpl.java index 6e60848d..030778b4 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TerritorioPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/TerritorioPersistenceImpl.java @@ -44,6 +44,7 @@ import it.tref.liferay.portos.bo.NoSuchTerritorioException; import it.tref.liferay.portos.bo.model.Territorio; import it.tref.liferay.portos.bo.model.impl.TerritorioImpl; import it.tref.liferay.portos.bo.model.impl.TerritorioModelImpl; +import it.tref.liferay.portos.bo.service.persistence.TerritorioPersistence; import java.io.Serializable; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties index 517a2558..b10eeed7 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties @@ -13,8 +13,8 @@ ## build.namespace=portos_bo - build.number=3182 - build.date=1624358982119 + build.number=3185 + build.date=1624449055901 build.auto.upgrade=true ## 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 211ad188..e17a7ba6 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 @@ -8,10 +8,11 @@ public class Status { public static final int OK = 0; public static final int EXPIRED_TOKEN = 1; public static final int INACTIVE_USER = 2; - public static final int INVALID_TOKEN = 3; - public static final int MALFORMED_REQUEST = 4; - public static final int SERVER_ERROR = 5; - public static final int WRONG_USERNAME_OR_PASSWORD = 6; + public static final int INVALID_INPUT = 3; + public static final int INVALID_TOKEN = 4; + public static final int MALFORMED_REQUEST = 5; + public static final int SERVER_ERROR = 6; + public static final int WRONG_USERNAME_OR_PASSWORD = 7; @SuppressWarnings("serial") private static final Map messages = new HashMap() { @@ -19,6 +20,7 @@ public class Status { put(OK, "OK"); put(EXPIRED_TOKEN, "Questo token è scaduto"); put(INACTIVE_USER, "L'utente non è attivo"); + put(INVALID_INPUT, "Dati forniti non validi"); put(INVALID_TOKEN, "Token non valido"); put(MALFORMED_REQUEST, "Richiesta non corretta"); put(SERVER_ERROR, "Errore interno del server"); 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 c6d8ca5c..39c778f1 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 @@ -2,6 +2,7 @@ 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.DeleteApplication; 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; @@ -27,8 +28,10 @@ public class CommandList { 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)); + "Crea una nuova istanza di endoprocedimento, crea l'utente se non esiste ancora sul portale")); + addCommand(new ListApplications("Elenca le istanze in lavorazione da questo SUE", HttpMethods.GET, + HttpMethods.POST)); + addCommand(new DeleteApplication("Elimina un'istanza")); 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)); 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 index 612c75e0..a2012902 100644 --- 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 @@ -7,6 +7,7 @@ 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.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; @@ -153,6 +154,9 @@ public class AddApplication extends Command { dettPratica.setEstremiPratCom(sueId); DettPraticaLocalServiceUtil.updateDettPratica(dettPratica); } + IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(dettPratica.getIntPraticaId()); + intPratica.setInLavorazioneSue(true); + IntPraticaLocalServiceUtil.updateIntPratica(intPratica); } catch (PortalException | SystemException e) { additionalInfo.add("Errore durante la creazione dell'istanza"); ServletResponseUtil.write(response, Response.get(Status.SERVER_ERROR, additionalInfo)); 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/DeleteApplication.java b/liferay-plugins-sdk-6.2/portlets/sicilia-sue-connector-portlet/docroot/WEB-INF/src/it/mwg/sicilia/sue/api/v1/command/impl/DeleteApplication.java new file mode 100644 index 00000000..02181684 --- /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/DeleteApplication.java @@ -0,0 +1,83 @@ +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.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.util.ArrayList; +import java.util.List; + +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; + +public class DeleteApplication extends Command { + + @SuppressWarnings("serial") + private static final List INPUT_PARAMETERS = new ArrayList() { + { + add(new Parameter(Parameters.APPLICATION_ID, Parameter.TYPES.INTEGER, "Id dell'istanza")); + } + }; + + public DeleteApplication(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(); + if (!parameters.containsKey(Parameters.APPLICATION_ID)) { + additionalInfo.add("Parametro " + Parameters.APPLICATION_ID + " mancante"); + ServletResponseUtil.write(response, Response.get(Status.MALFORMED_REQUEST, additionalInfo)); + return; + } + long applicationId = MapUtil.getLong(parameters, Parameters.APPLICATION_ID); + IntPratica intPratica = null; + 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; + } + try { + Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(intPratica.getTerritorioId()); + if (territorio.getComuneId() != sportello.getComuneId() || !intPratica.isInLavorazioneSue()) { + additionalInfo.add("Istanza " + applicationId + " non cancellabile"); + ServletResponseUtil.write(response, Response.get(Status.INVALID_INPUT, additionalInfo)); + return; + } + } catch (PortalException | SystemException e) { + additionalInfo.add("Errore del server durante il caricamento dell'istanza"); + ServletResponseUtil.write(response, Response.get(Status.INVALID_INPUT, additionalInfo)); + return; + } + IntPraticaLocalServiceUtil.deleteIntPratica(intPratica, true); + ServletResponseUtil.write(response, Response.get(Status.OK)); + } + } + + @Override + public List getInputParameters() { + return INPUT_PARAMETERS; + } + + @Override + public List getOutputParameters() { + 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/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 index d15b6254..4b13309c 100644 --- 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 @@ -22,8 +22,6 @@ 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 { @@ -52,9 +50,10 @@ public class ListApplications extends Command { 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())); + if (intPratica.getInLavorazioneSue()) { + applications.add(new Application(intPratica.getIntPraticaId(), intPratica.getTipoProcedura(), + intPratica.getUserName())); + } } } 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/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 41259c89..0c057ce7 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 @@ -99,7 +99,7 @@ public class Manual extends Command { ServletResponseUtil.write(response, result.toString()); } - private String getCurlExample(Command command, String baseUrl) { + protected String getCurlExample(Command command, String baseUrl) { StringBuilder sb = new StringBuilder(); sb.append("\tcurl "); @@ -112,10 +112,14 @@ public class Manual extends Command { sb.append("--request POST \\\n\t\t"); Map data = new LinkedHashMap<>(); for (Parameter parameter : command.getInputParameters()) { - if (parameter.isRequired()) { - if (parameter.getType().equals(Parameter.TYPES.STRING)) { - data.put(parameter.getName(), parameter.getName()); - } + if (parameter.getType().equals(Parameter.TYPES.STRING)) { + String value = parameter.getName().substring(0, 1).toUpperCase() + parameter.getName().substring(1); + value = value.replaceAll("([A-Z])", " $1").substring(1); + data.put(parameter.getName(), value); + } else if (parameter.getType().equals(Parameter.TYPES.INTEGER)) { + data.put(parameter.getName(), 123456); + } else if (parameter.getType().equals(Parameter.TYPES.BOOLEAN)) { + data.put(parameter.getName(), true); } } if (data.size() > 0) { @@ -127,7 +131,7 @@ public class Manual extends Command { return sb.toString(); } - private String getBaseUrl(HttpServletRequest request) { + protected String getBaseUrl(HttpServletRequest request) { if (null == baseUrl) { StringBuilder sb = new StringBuilder(); 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 6a528ee7..1fef85ca 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 @@ -6,25 +6,18 @@ import it.mwg.sicilia.sue.api.v1.command.CommandList; import it.mwg.sicilia.sue.api.v1.parameter.Parameter; import java.io.File; -import java.io.Serializable; import java.util.ArrayList; -import java.util.LinkedHashMap; import java.util.List; -import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; 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.servlet.HttpMethods; import com.liferay.portal.kernel.servlet.ServletResponseUtil; -import com.liferay.portal.kernel.util.Http; import com.liferay.portal.kernel.util.StringPool; -public class ManualHtml extends Command { +public class ManualHtml extends Manual { @SuppressWarnings("serial") private static final List OUTPUT_PARAMETERS = new ArrayList() { @@ -33,10 +26,6 @@ public class ManualHtml extends Command { } }; - private static String baseUrl = null; - - private static final JSONSerializer serializer = JSONFactoryUtil.createJSONSerializer(); - public ManualHtml(String description, String... methods) { super(description, methods); } @@ -104,60 +93,6 @@ public class ManualHtml extends Command { ServletResponseUtil.write(response, result.toString()); } - private String getCurlExample(Command command, String baseUrl) { - - StringBuilder sb = new StringBuilder(); - sb.append("curl "); - if (command.isSecure()) { - sb.append("--header \"").append(Parameters.X_AUTH_TOKEN).append(": $TOKEN\"").append(" \\\n\t"); - } - if (command.getMethods().contains(HttpMethods.GET)) { - } else { - sb.append("--header \"Content-Type: application/json; charset=UTF-8\" \\\n\t"); - sb.append("--request POST \\\n\t"); - Map data = new LinkedHashMap<>(); - for (Parameter parameter : command.getInputParameters()) { - if (parameter.isRequired()) { - if (parameter.getType().equals(Parameter.TYPES.STRING)) { - data.put(parameter.getName(), parameter.getName()); - } - } - } - if (data.size() > 0) { - sb.append("--data '").append(serializer.serialize(data)).append("' \\\n\t"); - } - } - sb.append(StringPool.APOSTROPHE).append(baseUrl).append(command.getVerb()).append(StringPool.APOSTROPHE) - .append(StringPool.NEW_LINE); - return sb.toString(); - } - - private String getBaseUrl(HttpServletRequest request) { - - if (null == baseUrl) { - StringBuilder sb = new StringBuilder(); - sb.append(request.isSecure() ? Http.HTTPS_WITH_SLASH : Http.HTTP_WITH_SLASH); - sb.append(request.getServerName()); - if ((request.isSecure() && (request.getServerPort() != Http.HTTPS_PORT)) - || (!request.isSecure() && (request.getServerPort() != Http.HTTP_PORT))) { - sb.append(StringPool.COLON).append(request.getServerPort()); - } - sb.append(request.getContextPath()).append(request.getServletPath()).append(StringPool.FORWARD_SLASH); - baseUrl = sb.toString(); - } - return baseUrl; - } - - @Override - public boolean isSecure() { - return false; - } - - @Override - public List getInputParameters() { - return EMPTY_PARAMETERS; - } - @Override public List getOutputParameters() { return OUTPUT_PARAMETERS; diff --git a/liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/WEB-INF/src/service.properties b/liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/WEB-INF/src/service.properties index 0293566c..24c3efb0 100644 --- a/liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/WEB-INF/src/service.properties +++ b/liferay-plugins-sdk-6.2/webs/portos-kaleo-web/docroot/WEB-INF/src/service.properties @@ -13,8 +13,8 @@ ## build.namespace=Kaleo - build.number=48 - build.date=1622551982657 + build.number=49 + build.date=1624443212030 build.auto.upgrade=true ##
    <%= LanguageUtil.get(pageContext, "label-documenti-tipologia-" + codice) %><%= codice %> - <%= LanguageUtil.get(pageContext, "label-documenti-tipologia-" + codice) %>