Re: Is wicket-cdi native to Wicket 6.1 and upwards?

2012-11-26 Thread Kurt Sys
Hey,

http://devlearnings.wordpress.com/2011/05/15/apache-openwebbeans-cdi-from-standalone-to-webapp/
http://docs.jboss.org/weld/reference/1.0.1-Final/en-US/html/environments.html
- this is for jboss, but there's something for using it in tomcat as
well, and it's possible to replace weld-related stuff with
openwebbeans

Most of solutions I found are using Weld, but you actually don't need
it. You can use Openwebbeans (tomee) as well, as Igor states out:
http://web.archiveorange.com/archive/v/t3xmoyfvrPfZN7bZZbeB

I'm not using maven since it made me feel from time to time loosing
control, but it should work. I added some libraries (to tomcat/lib),
added some code to HomePage.java and all was fine. Making it work for
wicket WebSessions as well was a little harder, but I had it solved
(thanks to this mailing list), so you might check out the recent
archives of this list
(http://wicket-users.markmail.org/search/?q=injector.get%28%29). I
posted most of my code yesterday (to solve the issue with injection in
WebSession). I can send the configurations this afternoon - it's
morning now - and check how it made it work with tomee.

Kurt

2012/11/25 Yuci Gou ygou@gmail.com:
 Just read the article - Status of wicket-cdi Module at
 https://www.42lines.net/2012/09/11/status-of-wicket-cdi-module/.

 Wonder if wicket-cdi is part of Wicket 6.1 release and upwards. I tried a
 simple Wicket 6.3 application running in TomEE, but could not get the CDI
 injection to work. These are the steps I used:

 1. Create a Wicket project with Maven (according to
 http://wicket.apache.org/start/quickstart.html)

 mvn archetype:generate -DarchetypeGroupId=org.apache.wicket
 -DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=6.3.0
 -DgroupId=com.mycompany -DartifactId=myproject -DarchetypeRepository=
 https://repository.apache.org/ -DinteractiveMode=false

 2. Generate the eclipse configuration files
 mvn eclipse:eclipse -Dwtpversion=2.0

 (Note: Following steps are based on the tutorial on Youtube:
 http://www.youtube.com/watch?v=Lr8pxEACVRI)
 3. In folder src/main/webapp/WEB-INF, create file beans.xml
 (Also in folder src/main/webapp/META-INF, create file beans.xml, according
 to the explanation for this example:
 http://tomee.apache.org/examples-trunk/cdi-basic/README.html, and also
 src/main/resources/META-INF/beans.xml just in case)

 4. Create a POJO
 public class Faculty {
 private ListString facultyMembers;
 private String facultyName;

 @PostConstruct
 public void initialize() {
 this.facultyMembers = new ArrayListString();
 facultyMembers.add(Ian Schultz);
 facultyMembers.add(Diane Reyes);
 facultyName = Computer Science;
 }

 public ListString getFacultyMembers() {
 return facultyMembers;
 }

 public String getFacultyName() {
 return facultyName;
 }
 }

 5. Inject the POJO in HomePage.java and display it.
 public class HomePage extends WebPage {
 private static final long serialVersionUID = 1L;

 @Inject
 private Faculty faculty;

 public HomePage(final PageParameters parameters) {
 super(parameters);

 if (faculty != null) {
 add(new Label(cdi, faculty.getFacultyName()));
 } else {
 add(new Label(cdi, Not working!));
 }
 }
 }

 Note, class HomePage is the class for the Wicket homepage, as specified
 below:
 public class WicketApplication extends WebApplication
 {
 /**
  * @see org.apache.wicket.Application#getHomePage()
  */
 @Override
 public Class? extends WebPage getHomePage()
 {
 return HomePage.class;
 }
 }

 These are the steps I tried, but when running, Not working! is displayed
 on the home page. I debugged it and confirmed that faculty is null, which
 means not injected.

 Many thanks for your kind help!

 Yuci

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Is wicket-cdi native to Wicket 6.1 and upwards?

2012-11-26 Thread Andrea Del Bene

Hi,

If you are using Wicket with a Tomcat-based server like TomEE maybe you 
could find helpful my example project on integrating OpenEJB and Wicket: 
https://github.com/bitstorm/Wicket-tutorial-examples/tree/master/CdiInjectionExample.




Hey,

http://devlearnings.wordpress.com/2011/05/15/apache-openwebbeans-cdi-from-standalone-to-webapp/
http://docs.jboss.org/weld/reference/1.0.1-Final/en-US/html/environments.html
- this is for jboss, but there's something for using it in tomcat as
well, and it's possible to replace weld-related stuff with
openwebbeans

Most of solutions I found are using Weld, but you actually don't need
it. You can use Openwebbeans (tomee) as well, as Igor states out:
http://web.archiveorange.com/archive/v/t3xmoyfvrPfZN7bZZbeB

I'm not using maven since it made me feel from time to time loosing
control, but it should work. I added some libraries (to tomcat/lib),
added some code to HomePage.java and all was fine. Making it work for
wicket WebSessions as well was a little harder, but I had it solved
(thanks to this mailing list), so you might check out the recent
archives of this list
(http://wicket-users.markmail.org/search/?q=injector.get%28%29). I
posted most of my code yesterday (to solve the issue with injection in
WebSession). I can send the configurations this afternoon - it's
morning now - and check how it made it work with tomee.

Kurt





-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Is wicket-cdi native to Wicket 6.1 and upwards?

2012-11-25 Thread Yuci Gou
Just read the article - Status of wicket-cdi Module at
https://www.42lines.net/2012/09/11/status-of-wicket-cdi-module/.

Wonder if wicket-cdi is part of Wicket 6.1 release and upwards. I tried a
simple Wicket 6.3 application running in TomEE, but could not get the CDI
injection to work. These are the steps I used:

1. Create a Wicket project with Maven (according to
http://wicket.apache.org/start/quickstart.html)

mvn archetype:generate -DarchetypeGroupId=org.apache.wicket
-DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=6.3.0
-DgroupId=com.mycompany -DartifactId=myproject -DarchetypeRepository=
https://repository.apache.org/ -DinteractiveMode=false

2. Generate the eclipse configuration files
mvn eclipse:eclipse -Dwtpversion=2.0

(Note: Following steps are based on the tutorial on Youtube:
http://www.youtube.com/watch?v=Lr8pxEACVRI)
3. In folder src/main/webapp/WEB-INF, create file beans.xml
(Also in folder src/main/webapp/META-INF, create file beans.xml, according
to the explanation for this example:
http://tomee.apache.org/examples-trunk/cdi-basic/README.html, and also
src/main/resources/META-INF/beans.xml just in case)

4. Create a POJO
public class Faculty {
private ListString facultyMembers;
private String facultyName;

@PostConstruct
public void initialize() {
this.facultyMembers = new ArrayListString();
facultyMembers.add(Ian Schultz);
facultyMembers.add(Diane Reyes);
facultyName = Computer Science;
}

public ListString getFacultyMembers() {
return facultyMembers;
}

public String getFacultyName() {
return facultyName;
}
}

5. Inject the POJO in HomePage.java and display it.
public class HomePage extends WebPage {
private static final long serialVersionUID = 1L;

@Inject
private Faculty faculty;

public HomePage(final PageParameters parameters) {
super(parameters);

if (faculty != null) {
add(new Label(cdi, faculty.getFacultyName()));
} else {
add(new Label(cdi, Not working!));
}
}
}

Note, class HomePage is the class for the Wicket homepage, as specified
below:
public class WicketApplication extends WebApplication
{
/**
 * @see org.apache.wicket.Application#getHomePage()
 */
@Override
public Class? extends WebPage getHomePage()
{
return HomePage.class;
}
}

These are the steps I tried, but when running, Not working! is displayed
on the home page. I debugged it and confirmed that faculty is null, which
means not injected.

Many thanks for your kind help!

Yuci