Re: Unauthenticated principal

2009-01-03 Thread David Blevins


On Dec 30, 2008, at 3:51 AM, Luis Fernando Planella Gonzalez wrote:

Well, my problem is not really configuring the default (or  
unauthenticated)

username, but it's roles.


We should already be adding a role of the same name so that people  
could do as you demonstrate below.  I've checked the code to be sure  
and it looks like that is the case.



I'd like to annotate EJB methods like this:

@RolesAllowed({public, broker})
public void x() {}

@RolesAllowed({public, admin})
public void y() {}

@RolesAllowed(admin)
public void z() {}


I tried this out in embedded mode using guest instead of public  
and it worked fine.  Should work the same way in Tomcat.


Give the code above a try in Tomcat but with guest in the  
RolesAllowed instead of public.  If that works as I suspect, than  
making the change to allow the default username to be changed should  
do the trick.


-David




Re: Issue with using JPA in openejb

2009-01-03 Thread David Blevins


On Jan 2, 2009, at 1:51 AM, Debarshi Sanyal wrote:


Hi All,

New Year greetings!


Happy new year to you too!

I was trying to execute the example on EJB entity-manager provided  
at *
http://openejb.apache.org/3.0/injection-of-entitymanager- 
example.html.*


I have replaced the test case with a standalone client that, however,
performs exactly the same steps. However, I observed that while  
insertion to

the database is occurring perfectly, the deletion does not take place.

Movies movies = (Movies) context.lookup(MoviesLocal);

   movies.addMovie(new Movie(Quentin Tarantino, Reservoir  
Dogs, 1992));

   movies.addMovie(new Movie(Joel Coen, Fargo, 1996));
   movies.addMovie(new Movie(Joel Coen, The Big Lebowski,  
1998));


   ListMovie list = movies.getMovies();
   assertEquals(List.size(), 3, list.size());

   *for (Movie movie : list) {
   movies.deleteMovie(movie);
   }*

Even after the previous steps, *movies.getMovies().size()* returns 3  
which

is very strange.


That is very strange.  I'm not sure what could be happening.  When in  
doubt add a entityManager.flush() statement and hope for an error  
message :) (useful debug tactic with JPA -- just make sure to remove  
it in production as it will affect performance)  In this case I'd add  
it right after the entityManager.remove(movie); call.


Hopefully that will dig up something.

Also double check that one of your modifications did not involve  
deleting PersistenceContextType.EXTENDED from the example.  That  
could cause the issue as well -- entityManager.remove(foo) only works  
if the object passed in is still attached [1].


-David

[1] Attached/Detached explained here 
http://openejb.apache.org/3.0/jpa-concepts.html