LoginLayout :

@Import(stylesheet = "asset:layout/layout.css")
public class LoginLayout {
// Title of the page
// @SuppressWarnings("unused")
@Property
@Parameter(required = true, defaultPrefix = BindingConstants.LITERAL)
private String title;

@InjectPage
private Index indexPage;

Object onActionFromMain() {
return indexPage;
}
}


MainLayout :

public class MainLayout {
// Title of the page
@Property
@Parameter(required = true, defaultPrefix = BindingConstants.LITERAL)
private String title;

// Current page, used for the coloration of the menu
@Property
@Parameter(required = true, defaultPrefix = BindingConstants.LITERAL)
private String currentPage;

// Locale language
@Inject
private PersistentLocale persistentLocale;

// Pages of the application
@InjectPage
private CreerClient creerClientPage;

@InjectPage
private DetailsApplicatif detailsApplicatifPage;

@InjectPage
private DetailsClient detailsClientPage;

@InjectPage
private DetailsCollaborateur detailsCollaborateurPage;

@InjectPage
private DetailsTerminal detailsTerminalPage;

@InjectPage
private EnvoiFichiers envoiFichiersPage;

@InjectPage
private GestionListes gestionListesPage;

@InjectPage
private GestionTypesClient gestionTypesClientPage;

@InjectPage
private HistoriqueLivraisons historiqueLivraisonsPage;

@InjectPage
private ListeApplicatifs listeApplicatifsPage;

@InjectPage
private ListeClients listeClientsPage;

@InjectPage
private ListeTerminaux listeTerminauxPage;

@InjectPage
private LivraisonsEnCours livraisonsEnCoursPage;

@InjectPage
private Login loginPage;

@InjectPage
private NouveauCollaborateur nouveauCollaborateurPage;

@InjectPage
private NouveauTerminal nouveauTerminalPage;

@InjectPage
private NouvelApplicatif nouvelApplicatifPage;

@InjectPage
private NouvelleLivraison nouvelleLivraisonPage;

@InjectPage
private ReceptionFichiers receptionFichiersPage;

// The connected user
@Property
@SessionState(create = false)
private User userConnected;

// Action from actionlink to redirect to a page
Object onActionFromLogout() {
if (userConnected != null) {
Logger.logEvent(userConnected, "Disconnected",
Logger.LOG_LEVEL_INFO);
userConnected = null;
}
return loginPage;
}

Object onActionFromCreerClient() {
return creerClientPage;
}

Object onActionFromDetailsApplicatif() {
return detailsApplicatifPage;
}

Object onActionFromDetailsClient() {
return detailsClientPage;
}

Object onActionFromDetailsCollaborateur() {
return detailsCollaborateurPage;
}

Object onActionFromDetailsTerminal() {
return detailsTerminalPage;
}

Object onActionEnvoiFichiers() {
return envoiFichiersPage;
}

Object onActionFromGestionListes() {
return gestionListesPage;
}

Object onActionFromGestionTypesClient() {
return gestionTypesClientPage;
}

Object onActionFromHistoriqueLivraisons() {
return historiqueLivraisonsPage;
}

Object onActionFromListeApplicatifs() {
return listeApplicatifsPage;
}

Object onActionFromListeClients() {
return listeClientsPage;
}

Object onActionFromListeTerminaux() {
return listeTerminauxPage;
}

Object onActionFromLivraisonsEnCours() {
return livraisonsEnCoursPage;
}

Object onActionFromLogin() {
return loginPage;
}

Object onActionFromNouveauCollaborateur() {
return nouveauCollaborateurPage;
}

Object onActionFromNouveauTerminal() {
return nouveauTerminalPage;
}

Object onActionFromNouvelApplicatif() {
return nouvelApplicatifPage;
}

Object onActionFromNouvelleLivraison() {
return nouvelleLivraisonPage;
}

Object onActionFromReceptionFichiers() {
return receptionFichiersPage;
}

Object onActionFromEnglish() {
persistentLocale.set(new Locale("en_GB"));
return null;
}

Object onActionFromFrench() {
persistentLocale.set(new Locale("fr_FR"));
return null;
}

// Set li class for menu coloration
public String getClass(String page) {
if (currentPage.matches("^" + page + ".*") || page.equals(currentPage)) {
return "active";
}
return "";
}
}




2014-07-03 13:35 GMT+02:00 Thilo Tanner <thilo.tan...@reprisk.com>:

> Hi!
>
> Is the layout class itself maybe private or protected?
>
> Otherwise, could you provide us a (anonymous version) of your code?
>
> Thanks and best,
> Thilo
>
> ________________________________________
> From: squallmat . <squall...@gmail.com>
> Sent: Thursday, July 03, 2014 13:29
> To: Tapestry users
> Subject: Re: java.lang.reflect.InvocationTargetException
>
> I don't have created any constructor in my layouts, so it can't be that.
>
>
> 2014-07-03 12:16 GMT+02:00 Thilo Tanner <thilo.tan...@reprisk.com>:
>
> > Hi!
> >
> > The problem is, that Tapestry cannot create an instance of your component
> > LoginLayout.
> >
> > You probably created a non-default constructor or the constructor is
> > private or protected. Check the Tapestry component lifecycle in case you
> > want to setup your component (for example by using @SetupRender)
> >
> > Best,
> > Thilo
> >
> >
> >
> > ________________________________________
> > From: squallmat . <squall...@gmail.com>
> > Sent: Thursday, July 03, 2014 11:44
> > To: users@tapestry.apache.org
> > Subject: java.lang.reflect.InvocationTargetException
> >
> > Hello I have an embedded component into another component but when I try
> to
> > launch i got this :
> >
> > "Exception assembling root component of page Index: Exception assembling
> > embedded component 'mainlayout' (of type
> > atos.smt.livraison.components.MainLayout, within Index): Exception
> > assembling embedded component 'loginlayout' (of type
> > atos.smt.livraison.components.LoginLayout, within Index:mainlayout):
> Unable
> > to instantiate instance of transformed class
> > atos.smt.livraison.components.LoginLayout:
> > java.lang.reflect.InvocationTargetException"
> >
> > What the problem could be ?
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > For additional commands, e-mail: users-h...@tapestry.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

Reply via email to