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



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 :
> 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 List facultyMembers;
> private String facultyName;
>
> @PostConstruct
> public void initialize() {
> this.facultyMembers = new ArrayList();
> facultyMembers.add("Ian Schultz");
> facultyMembers.add("Diane Reyes");
> facultyName = "Computer Science";
> }
>
> public List 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 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-25 Thread Martin Grigorov
Hi,

Take a look at the sources of
http://www.wicket-library.com/wicket-examples-6.0.x/cdi/ application.
Especially in its WebApplication class.


On Sun, Nov 25, 2012 at 11:09 PM, Yuci Gou  wrote:

> 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 List facultyMembers;
> private String facultyName;
>
> @PostConstruct
> public void initialize() {
> this.facultyMembers = new ArrayList();
> facultyMembers.add("Ian Schultz");
> facultyMembers.add("Diane Reyes");
> facultyName = "Computer Science";
> }
>
> public List 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 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
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com 


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 List facultyMembers;
private String facultyName;

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

public List 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 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