掲示板
RE: [Hook] Aggiunta di un utente ad un gruppo di utenti
11年前 に Domenico Costa によって更新されました。
[Hook] Aggiunta di un utente ad un gruppo di utenti
Regular Member 投稿: 153 参加年月日: 12/05/22 最新の投稿
Ciao a tutti,
Sto creando un Hook che all'aggiunta di un Gruppo di utenti ad unutente scatena un evento.
Per questa funzionalità ho esteso la classe UserLocalServiceWrapper ed utilizzato i metodi:
setUserGroupUsers
unsetGroupUsers
Ho inserito una system.out.println al metodo ma non entra in quel metodono quando aggiunto il gruppo.
Ho errato la classe da estendere??
Ho provato anche con la GroupLocalServiceWrapper ma nessun risultato.
Avete qualche suggerimento?
Grazie e buon lavoro
Sto creando un Hook che all'aggiunta di un Gruppo di utenti ad unutente scatena un evento.
Per questa funzionalità ho esteso la classe UserLocalServiceWrapper ed utilizzato i metodi:
setUserGroupUsers
unsetGroupUsers
Ho inserito una system.out.println al metodo ma non entra in quel metodono quando aggiunto il gruppo.
Ho errato la classe da estendere??
Ho provato anche con la GroupLocalServiceWrapper ma nessun risultato.
Avete qualche suggerimento?
Grazie e buon lavoro
11年前 に Andrea Di Giorgi によって更新されました。
RE: [Hook] Aggiunta di un utente ad un gruppo di utenti
New Member 投稿: 19 参加年月日: 10/06/01 最新の投稿
Ciao!
Se ricordo bene, quei metodi della UserLocalService sono invocati da Liferay soltanto quando fai "Assign Members" dalla sezione "User Groups" del Control Panel, cioè quando aggiungi o rimuovi utenti da uno UserGroup in modo batch...
Il modo più sicuro per essere sempre notificato dell'aggiunta/rimozione di un utente da uno UserGroup è sicuramente creare un listener sull'entità UserGroup e mettersi in ascolto dei metodi onAfterAddAssociatione onAfterRemoveAssociation. Qualcosa del genere:
Chiaramente, nel portal.properties del tuo hook dovrai scrivere:
Se ricordo bene, quei metodi della UserLocalService sono invocati da Liferay soltanto quando fai "Assign Members" dalla sezione "User Groups" del Control Panel, cioè quando aggiungi o rimuovi utenti da uno UserGroup in modo batch...
Il modo più sicuro per essere sempre notificato dell'aggiunta/rimozione di un utente da uno UserGroup è sicuramente creare un listener sull'entità UserGroup e mettersi in ascolto dei metodi onAfterAddAssociatione onAfterRemoveAssociation. Qualcosa del genere:
public class UserGroupListener extends BaseModelListener<usergroup> {
public void onAfterAddAssociation(
Object classPK, String associationClassName,
Object associationClassPK)
throws ModelListenerException {
if (!associationClassName.equals(User.class.getName())) {
return;
}
long userGroupId = GetterUtil.getLong(classPK);
long userId = GetterUtil.getLong(associationClassPK);
if (_log.isInfoEnabled()) {
_log.info("User " + userId + " added to UserGroup " + userGroupId);
}
}
public void onAfterRemoveAssociation(
Object classPK, String associationClassName,
Object associationClassPK)
throws ModelListenerException {
if (!associationClassName.equals(User.class.getName())) {
return;
}
long userGroupId = GetterUtil.getLong(classPK);
long userId = GetterUtil.getLong(associationClassPK);
if (_log.isInfoEnabled()) {
_log.info(
"User " + userId + " removed from UserGroup " + userGroupId);
}
}
private static Log _log = LogFactoryUtil.getLog(UserGroupListener.class);
}</usergroup>
Chiaramente, nel portal.properties del tuo hook dovrai scrivere:
value.object.listener.com.liferay.portal.model.UserGroup=com.example.test.hook.listeners.UserGroupListener
11年前 に Denis Signoretto によって更新されました。
RE: [Hook] Aggiunta di un utente ad un gruppo di utenti
Expert 投稿: 375 参加年月日: 09/04/21 最新の投稿
Concordo con Andrea e ti avrei suggerito la stessa soluzione. Ulteriore documentazione la puoi trovare cercando informazioni sugli Hook Model Listener
Ciao,
Denis.
Ciao,
Denis.
11年前 に Domenico Costa によって更新されました。
RE: [Hook] Aggiunta di un utente ad un gruppo di utenti
Regular Member 投稿: 153 参加年月日: 12/05/22 最新の投稿
Grazie per le risposte, avevo paura non rispondesse nessuno
Cmq sto usando il listener con il metodo da te consigliato.
Una domanda sul logger.. per loggare nell'hook sto utilizzando :
Quando effettuo un associazioen di un utente ad un gruppo di utenti non vedo nessuno di questi messaggi nel catalina.out
forse non passa da questo metodo??
Cmq sto usando il listener con il metodo da te consigliato.
Una domanda sul logger.. per loggare nell'hook sto utilizzando :
private static Log log = LogFactoryUtil.getLog(UserGroupListener.class);
public void onAfterAddAssociation(Object classPK, String associationClassName,Object associationClassPK) throws ModelListenerException {
System.out.println("-----------> TEST TEST");
log.info("-----------> TEST TEST");
if (associationClassName.equals(User.class.getName())) {
System.out.println("-----------> User");
log.info("-----------> User");
}
if (associationClassName.equals(UserGroup.class.getName())) {
System.out.println("-----------> UserGroup");
log.info("-----------> UserGroup");
}
if (associationClassName.equals(Group.class.getName())) {
System.out.println("-----------> Group");
log.info("-----------> Group");
}
}
Quando effettuo un associazioen di un utente ad un gruppo di utenti non vedo nessuno di questi messaggi nel catalina.out
forse non passa da questo metodo??
11年前 に Andrea Di Giorgi によって更新されました。
RE: [Hook] Aggiunta di un utente ad un gruppo di utenti
New Member 投稿: 19 参加年月日: 10/06/01 最新の投稿
Ciao!
Hai aggiornato il file liferay-hook.xml con il riferimento al tuo nuovo portal.properties? Al max, prova a passarmi il sorgente del tuo hook...
Hai aggiornato il file liferay-hook.xml con il riferimento al tuo nuovo portal.properties? Al max, prova a passarmi il sorgente del tuo hook...
11年前 に Domenico Costa によって更新されました。
RE: [Hook] Aggiunta di un utente ad un gruppo di utenti
Regular Member 投稿: 153 参加年月日: 12/05/22 最新の投稿
Yes, aggiornato.
il codice dell liferay-hook.xml è questo
Sembra che non entri dentro, eppure al deploy dell'hook non da errori!
il codice dell liferay-hook.xml è questo
<!--?xml version="1.0"?-->
<hook>
<portal-properties>portal.properties</portal-properties>
</hook>
Sembra che non entri dentro, eppure al deploy dell'hook non da errori!
11年前 に Andrea Di Giorgi によって更新されました。
RE: [Hook] Aggiunta di un utente ad un gruppo di utenti
New Member 投稿: 19 参加年月日: 10/06/01 最新の投稿
Uhm... dove si trova il file portal.properties nel hook? Magari si fa prima se mi passi direttamente lo zip del hook
11年前 に Domenico Costa によって更新されました。
RE: [Hook] Aggiunta di un utente ad un gruppo di utenti
Regular Member 投稿: 153 参加年月日: 12/05/22 最新の投稿
Questo e lo ZIP ho tolto alcune classi che non servivano e ridotto al minimo.
Forse mi sfugge qualcosa
cmq il portal.properties si trova nel resource
Forse mi sfugge qualcosa
cmq il portal.properties si trova nel resource
11年前 に Domenico Costa によって更新されました。
RE: [Hook] Aggiunta di un utente ad un gruppo di utenti
Regular Member 投稿: 153 参加年月日: 12/05/22 最新の投稿
Niente??? Non logga niente.. neanche il system.out.printl
help help
help help
11年前 に Denis Signoretto によって更新されました。
RE: [Hook] Aggiunta di un utente ad un gruppo di utenti
Expert 投稿: 375 参加年月日: 09/04/21 最新の投稿
Ciao Domenico,
come logger stai usando quello della classe com.liferay.portal.model.UserGroupListener,
dal pannello di controllo prova ad inserire questa categoria e ad impostare un livello di log alto (e.g. Debug).
In alternativa imposta una tua classe di log.
Se stai usando Tomcat su Linux le System.out le trovi nel catalina.out, se sei su windows
a meno che tu non lo imposti specificatamente l'output delle system out non viene loggato.
Ciao,
Denis.
come logger stai usando quello della classe com.liferay.portal.model.UserGroupListener,
dal pannello di controllo prova ad inserire questa categoria e ad impostare un livello di log alto (e.g. Debug).
In alternativa imposta una tua classe di log.
Se stai usando Tomcat su Linux le System.out le trovi nel catalina.out, se sei su windows
a meno che tu non lo imposti specificatamente l'output delle system out non viene loggato.
Ciao,
Denis.
11年前 に Domenico Costa によって更新されました。
RE: [Hook] Aggiunta di un utente ad un gruppo di utenti
Regular Member 投稿: 153 参加年月日: 12/05/22 最新の投稿
Dal log4j.properties di liferay il livello di log è impostato a debug.
Il log che utilizzo nella classe è dichiarato in questo modo
La dicitura mi sembra corretta.
Per inserire un log effettuo questo codice
Dovrebbe loggare giusto?
Ma non logga.. io sto cercando di intercettare l'aggiunta di un gruppo di utenti ma da li non passa.
Ho provato ad inserire il log in tutti i metodi della classe estesa.. ma niente da fare.
Il log che utilizzo nella classe è dichiarato in questo modo
private static Log log = LogFactoryUtil.getLog(UserGroupListener.class);
La dicitura mi sembra corretta.
Per inserire un log effettuo questo codice
log.error("-----------> onAfterCreate");
Dovrebbe loggare giusto?
Ma non logga.. io sto cercando di intercettare l'aggiunta di un gruppo di utenti ma da li non passa.
Ho provato ad inserire il log in tutti i metodi della classe estesa.. ma niente da fare.
11年前 に Domenico Costa によって更新されました。
RE: [Hook] Aggiunta di un utente ad un gruppo di utenti
Regular Member 投稿: 153 参加年月日: 12/05/22 最新の投稿
Ho inserito la classe con l'aggiunta di categoria e impostato il livello di log ad "ALL" ma non vedo nessun log dell'hook.
11年前 に Denis Signoretto によって更新されました。
RE: [Hook] Aggiunta di un utente ad un gruppo di utenti
Expert 投稿: 375 参加年月日: 09/04/21 最新の投稿
Prova a controllare che gli import siano corretti (ci sono omonime classi di Log4j nel package org.apache)
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
Ulteriore test: prova con il debugger a verificare se effettivamente il metodo viene eseguito.
Ciao,
Denis.
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
Ulteriore test: prova con il debugger a verificare se effettivamente il metodo viene eseguito.
Ciao,
Denis.
11年前 に Domenico Costa によって更新されました。
RE: [Hook] Aggiunta di un utente ad un gruppo di utenti
Regular Member 投稿: 153 参加年月日: 12/05/22 最新の投稿
Risolto ora mi effettua i log tranquillamente.
Ti rignrazio.
Un altra domanda....
Per fare un lsitener che intercetta la creazioen di un utente quale metodo devo overraidare?
nel onAfterCreate non passa, ho già guardato.
Ti rignrazio.
Un altra domanda....
Per fare un lsitener che intercetta la creazioen di un utente quale metodo devo overraidare?
nel onAfterCreate non passa, ho già guardato.
11年前 に Denis Signoretto によって更新されました。
RE: [Hook] Aggiunta di un utente ad un gruppo di utenti
Expert 投稿: 375 参加年月日: 09/04/21 最新の投稿
L'approccio è analogo al precedente, utilizzando il model della classe User
value.object.listener.com.liferay.portal.model.User=com.liferay.portal.model.UserListener
Ciao,
Denis.
value.object.listener.com.liferay.portal.model.User=com.liferay.portal.model.UserListener
Ciao,
Denis.
11年前 に Domenico Costa によって更新されました。
RE: [Hook] Aggiunta di un utente ad un gruppo di utenti
Regular Member 投稿: 153 参加年月日: 12/05/22 最新の投稿
Ti ringrazio ho risolto.
Creando il listener e isnernedo la classe nelle categorie per i log sono riuscito ad intercettare la chiamata.
Grazie e buon lavoro
a buon rendere
Creando il listener e isnernedo la classe nelle categorie per i log sono riuscito ad intercettare la chiamata.
Grazie e buon lavoro
a buon rendere