caelum / vraptor
- Source
- Commits
- Network (14)
- Issues (50)
- Downloads (1)
- Graphs
-
Branch:
master
-
set up vraptor3 on maven repository
Comments
-
create time based converters (hh:mm, Time.SHORT and so on)... both locale based and a fixed one.
Comments
guilhermesilveira
Mon May 25 11:48:11 -0700 2009
| link
do not register them by default
-
create both converter types for BigDecimal, BigInteger, all decimal and float types:
- locale based - fixed patternComments
-
1 comment Created 7 months ago by guilhermesilveiraadding values to an existing listbugx -
1 comment Created 5 months ago by rafaeldffSpecify different outcomes for different formatsupcomingx -
0 comments Created 5 months ago by lucascs3.2xHibernate validator should not be an utility classimprovementxHibernate class needs a Resource bundle, otherwise generated validation messages will not be localized
Comments
-
2 comments Created 4 months ago by lucascs3.0.0-rc-1xAbstract component registration logic for using pico and spring in the same waybugxI want to register vraptor default components and user components in the same way,
in both pico and spring... This can prevent several bugs, because we DRY in the code.Comments
Actually, you do. In both providers you should register your components with @Component annotation (or variants, such as @Resource).
I am talking about the Providers logic...
registeringAppScopedComponents
registeringCustomComponents
registeringConverters
registeringCachedResources...PicoProvider and SpringProvider have a very similar code... And this code seems to be duplicated... For instance, PicoProvider was registering converters, but SpringProvider wasn't. We need to centralize this registering logic, for preventing bugs like this
-
1 comment Created 4 months ago by guilhermesilveirautil: database migration3.0.0-utilx -
0 comments Created 4 months ago by lucascsvalidation message should be i18n'ed by default3.0.0-rc-1xnow, validation errors are i18n'ed only with validator.checking idiom, not with
validator.add(new ValidationMessage())..Comments
-
XKCD has several comics about Velociraptors, all licensed under a CreativeCommons license.
Comments
-
NPE on scanner when no class matches your search
0 comments Created 4 months ago by lucascsThere is a bug on reflections-0.9.4.jar that causes a NPE when it filters files and get no matches...
maybe we need to use other classpath scanner api...
Comments
-
0 comments Created 3 months ago by lucascsbugx@PostConstruct and @PreDestroy on Google App EngineSpringxIt seems that these listeners don't work on GAE, when using spring
Comments
-
4 comments Created 3 months ago by adrianoalmeida73.1.1xwarn when an app or session scoped component uses request or responseimprovementxwhile using request and response inside an sessionscoped or appsocoped component, warn the user that this might be unsafe, since once the response is written it'll be in an illegal state for the next use.
Comments
sergiolopes
Fri Sep 25 18:52:41 -0700 2009
| link
is this even possible? inject request/response on an app scoped component?
I think this should be prohibited
adrianoalmeida7
Fri Sep 25 19:02:03 -0700 2009
| link
Yes, this is (was) possible. I was pairing with Lucas some time ago on this, but I had to stop. Don't know if he kept on this (I didn't).
Also, I don't see any problem on prohibiting this.
Maybe use proxies when a SessionScoped depends on a RequestScoped
-
When the format of request is not html, we should be able to register a format handler...
For example, a json handler could use org.json writers to render the result.added objects...
By default the request is forwarded to .../method.format.jsp, but if the format has a format handler,
the handler will be responsible to render the view...Comments
-
0 comments Created 3 months ago by peas3.2xRegister utility components and make it easy to override themimprovementxSessionCreator and other utility Components/ComponetFactories/etc should be automaticallly registered. This way we would not need to declare a subclass for them, or to create a CustomProvider.
If someone wants to use his own ComponentFactory, the factory outside vraptor.jar should have priority.
Comments
-
1 comment Created 3 months ago by peasIt could be possible to have two ComponetFactory for the same component3.2xIt should also be possible to have two component factories that instatiates the same component.
A classical example would be to create hibernate Sessions for different SessionFacotories when using two different databases. We would need more annotations probably, to indicate from which factory the component should be injected.
Comments
sergiolopes
Mon Dec 21 13:05:08 -0800 2009
| link
We could implement something with javax.inject.Qualifier
-
we could create new methods in the Result interface (or create a new interfaec to be injected), that would do magic stuff, like result.flash("used added succesfully"), and a ${flash} String variable (or a List in ${flashes}) would be set as a request attribute.
Comments
sergiolopes
Fri Sep 25 14:05:34 -0700 2009
| link
I dream every day with a user-friendly Result with many easy features and magical methods... we could remove that 'use' method :-)
-
1 comment Created 3 months ago by peasSupport JSR 330 injection annotations and Proviter interface3.2xhttp://jcp.org/en/jsr/detail?id=330
- we should be able to use a Proviter as a ComponentFactory
- we should retrofit the annotations to make them compatible with 330: @Inject for constructors (no need for setters and fields). Also support for qualifiers and names.
Comments
sergiolopes
Wed Dec 16 12:11:17 -0800 2009
| link
More:
- VRaptor's @SessionScoped, @RequestScoped etc should be annotated with @javax.inject.Scope
- Support custom qualifiers
-
3 comments Created 3 months ago by lucascs3.1.1xLocale based converters for Double, BigDecimal and etcconverterxshould be optional
Comments
we should try to find an open source project that creates patterns from locale formatters (NumberFormat, DateFormat, etc)
-
@GET, @POST and so on, make them available as an alternative for easy code migration.
Comments
sergiolopes
Thu Oct 22 21:42:23 -0700 2009
| link
And maybe give a warning when some JAX-RS annotation that is not supported is used. Otherwise people may think we support the entire specification
-
doesn't work...
Comments
-
0 comments Created 3 months ago by lucascs3.2xCreate an implementation of proxifiers using javassist instead of cglibimprovementx -
3 comments Created 2 months ago by lucascs3.1.1xLazy injection for Interceptorsimprovementx@Intercepts(lazy=true) could proxify all Interceptor dependencies and avoid creating resources like connections when Interceptor.accepts returns false.
Comments
we should check for spring capacity to do that. postponed to 3.0.3
this article should help this issue: http://johnheintz.blogspot.com/2007/11/using-lazy-proxy-to-avoid-spring.html
this way we can create lazy init components, returning proxies...
-
Create an annotation to configure the name of logic parameters manually. My suggestion is based on vraptor2.6, annotation @Logic(parameters={}).
Regards
Comments
-
hibernate validator has a new version. Support it
Comments
-
4 comments Created 2 months ago by lavieri"404 Error" when found the logic. dont explicit the page was not found3.1.1xWhen the logic is found, and "OK" executed; and the page was not found, dont explicit the page not found.
For example.:
@Path("/teste") public void blabla() { System.out.println("ha"); }when I access "/teste" path. I recieve just a
HTTP Status 404 -
type Status report
message
description The requested resource () is not available.
Apache Tomcat/6.0.20its hard to know the problem is a .jsp missing name
the same error is show when no logic is found.
Comments
sergiolopes
Thu Oct 22 21:39:40 -0700 2009
| link
This is your container's response. I think it's very difficult to vraptor to know that your JSP doesn't exist, because VRaptor don't do the redirect itself. It just calls RequestDispatcher.
I think a better solution to your problem is to look at the container logs. If you enable DEBUG log on VRaptor you can see when your logic is found or not, and guess if the 404 error was caused by a missing JSP or a missing logic.
lavieri, tomcat usually says which JSP is missing when you dispatch to it... something is wrong here
lavieri, we cant reproduce this bug.... tested with jetty 7 and tomcat 6.0.18.
-
0 comments Created 2 months ago by peas3.2xHibernateStatisticsController for showing data about Hibernate usageimprovementxso /hibernate/statistics would help a lot to debug for performance!
Comments
-
0 comments Created 2 months ago by peasIf ${errors} is not touched, logger.warn about it3.1.1xit is a quite common msitake to forget to show all validation errors (As in jsf).
If someone has validation errors (!empty), and this list is not touched in the JSP, we should warn about it. We can do it through a dynamic proxy for the List
Comments
-
1 comment Created 2 months ago by peas3.1.1xcreate unit tests for vraptor util classestestingxsome classes do not have unit tests: jpa/hibernate transaction interceptor, encoding interceptor and some others.
Comments
caiofilipini
Mon Dec 07 16:58:00 -0800 2009
| link
I've just pushed tests for JPA/HibernateTransactionInterceptor and EncodingInterceptor classes to the master repository. Did not close the issue because other classes still need to be tested, ok?
-
0 comments Created 2 months ago by peasUnit tests for VRaptorApplicationContext3.1.1xWe need first to refactor it to implements ApplicationContext interface and delegate other methods.
Comments
-
This is really useful!
Comments
-
1 comment Created 2 months ago by lucascsSupport Sets (and Maps) as logic parameters3.1.1x -
0 comments Created 2 months ago by lucascs3.1.1xNull when converting array of length == 1bugxWhen you try to populate an array via:
abc=1 | => [1,4]
abc=4 |it works well, but when the length is 1, it comes with null
abc=1 ===> null
Comments
-
0 comments Created 2 months ago by sergiolopes3.2xBetter method names in PageResultimprovementxTo be consistent with other VRaptor classes, PageResult's method should be renamed to redirectTo, forwardTo, ...
Comments
-
0 comments Created 2 months ago by lavieriresult.use(Results.http()).sendError(404) not invoke ResourceNotFoundHandler3.2xThe problem is on title,
when sendError(404) is used, the couldntFind(RequestInfo request) method is not called on ResourceNotFoundHandler.
i write my Personal ResourceNotFoundHandler, to make same steps, before show my personal 404 erro page, but when i use sendError(404) the class is not invoked.
@Component @RequestScoped public class Error404 extends DefaultResourceNotFoundHandler {
@Override public void couldntFind(RequestInfo requestInfo) { includeURLs(requestInfo); super.couldntFind(requestInfo); } //...}
includeURLs is not invoked, when sendError(404) is called.
Ps.: when the 404 error is not generated by sendError(404) that problem is not happen, its only when sendError is used, when a regular not found happens, the problem not happen.
Comments
-
0 comments Created about 1 month ago by lucascs3.2xProvide a way to generate DB queries "automatically"improvementxUse the project: http://github.com/caelum/dynamicRepositoryBuilder that creates the implementation of the queries based on an interface. So you just create an interface like:
@Component // or other annotation, perhaps public interface ProductRepository extends Repository { List findByName(String name); }and receive this interface on your components constructor and VRaptor will provide an implementation using the project above.
Comments
-
Create exception handlers
Comments
Hi guys. Don't forget this issue :)
Can I help you with this issue? I was posted the code in this thread: http://www.guj.com.br/posts/list/30/136307.java#789719
This code helps you? If necessary I can help you with coding and more.
Regards
-
Case insensitive treatment for wildcard based routes
0 comments Created about 1 month ago by lucianocostaAs a developer
I need that vraptor treats the controller name in a case insensitive way, inside the "routeFor" method
So that I can prevent failures due to user fail on typing wrong CamelCase urlsScenario:
Given that I wrote this magical route configuration:
routeFor("/{webLogic}/{webMethod}/{id}").is(type("br.com.company.app.controller.{webLogic}Controller"), method("{webMethod}"));)When I ask for any of these urls: "/gerenteMuthafucker/edit/15", "/GerenteMuthafucker/edit/15" or "/gerentemuthafucker/edit/15"
Then I should be conducted to the edit() method on GerenteMuthafuckerController
------------------------ / / ---------------------------
Comments
-
Problema de Permissão no uso da OGNL para o Google App Engine
3 comments Created 24 days ago by yurixAo tentar mapear um form para uma classe em um controller o VRaptor lança a seguinte exceção
[java] 15:34:22,249 DEBUG [br.com.caelum.vraptor.http.ognl.OgnlParametersProvider] - Applying user.login with [] [java] 15:34:22,295 DEBUG [br.com.caelum.vraptor.http.ognl.OgnlParametersProvider] - unable to parse expression 'user.login' [java] ognl.OgnlException: user [java.lang.IllegalAccessException: Method [public br.com.xx.model.User UsersController$add$1720926984$1.getUser()] cannot be accessed.] [java] at ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:69) [java] at ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:147) [java] at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:2210) [java] at ognl.ASTProperty.getValueBody(ASTProperty.java:114) [java] at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212) [java] at ognl.SimpleNode.getValue(SimpleNode.java:236) [java] at ognl.ASTChain.setValueBody(ASTChain.java:222) [java] at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220) [java] at ognl.SimpleNode.setValue(SimpleNode.java:279) [java] at ognl.Ognl.setValue(Ognl.java:737) [java] at ognl.Ognl.setValue(Ognl.java:783) [java] at br.com.caelum.vraptor.http.ognl.OgnlParametersProvider.createViaOgnl(OgnlParametersProvider.java:142) [java] at br.com.caelum.vraptor.http.ognl.OgnlParametersProvider.createRoot(OgnlParametersProvider.java:116) [java] at br.com.caelum.vraptor.http.ognl.OgnlParametersProvider.getParametersFor(OgnlParametersProvider.java:92)Resolvi criando um listener para configurar a OGNL:
public class OGNListener implements ServletContextListener {
public void contextDestroyed(ServletContextEvent arg0) { // TODO Auto-generated method stub } public void contextInitialized(ServletContextEvent arg0) { OgnlRuntime.setSecurityManager(null); } }Comments
Hey Yurix. This seems a environment problem. Which Java, OS and servlet container (with versions) are you using?
ok, now I saw that you are using it on GAE. Have you downloaded the VRAPTOR-GAE version, which already comes with the right configuration for permission issues?
O blank-project do gae já faz essa configuração pra vc... baixe-o e copie as classes que estão no src desse zip para o seu projeto: http://vraptor3.googlecode.com/files/vraptor-blank-project-gae-3.0.2.zip
-
1 comment Created 24 days ago by lavieriDefault HTTP Method to @Resource like @Post or @GetimprovementxFor default vraptor allowed all methods, my issue is to modify default method allowed at one resource like:
@Post @Resource public class TesteController { public void addProduto(Produto produto) {...} public void addTeste(Teste teste) {...} @Get public void list() {} }in this case the only method accepts HTTP method GET is the "list" all others accept only @Post.
Note "list" not accept @Post method, to do that u need to make list with @Post to like that:
@Post @Get public void list() {...}Comments
-
add method getOriginalUri() to Route interface
3 comments Created 24 days ago by lavieriI would like to request to add the method
public interface Route { ... /** * rescue the original uri from this route */ public String getOriginalUri(); ... }in the mostly common implementation of route FixedMethodStrategy that property is only externalize when toString() is invoked.
i am building a Access Controller Panel, and i need to list this property from routes
Comments
isnt it easier to inject servletrequest and get ir from there?
its not at request time, its a Panel Control, i need to show all paths, and link one path to function on data base.
I m using Router.allRoutes(); to get all routes, i need that property =/ at the same way show in @Path (if exists), like "/produto/{produto.id}" i need see that path way.
What is the problem to turn path visible out of Route ??
ok, now I see. it makes sense.
the problem to add a new method in an interface is the possibility to break existent code that were already implementing that interface.for now, cant you override the default route and add this method, casting it after injection?
-
0 comments Created 22 days ago by sergiolopes3.2xSupport JSR299 annotations and featuresimprovementxMaybe also support some JSR299 annotations (javax.enterprise.inject):
- Some new qualifiers, like @Default, @Any
- Use 299's @SessionScoped, @RequestScoped, @ApplicationScoped etc
- Support @Stereotype (VRaptor's @Resource should be a stereotyped)
- Support @Alternative
- Support @Produces as an alternative to ComponentFactories
Maybe more?
Comments
-
Specially to use spring 3.0.0.0
Comments
done. we need now to remove .java files, putting everything inside vraptor jar and using a flag inside web.xml if we would like to activate its extensions
-
Make restfulie-java a integral part of vraptor
Comments
-
0 comments Created 11 days ago by peas3.1xbetter JSON serialization for hibernate entitiesimprovementxHibernate proxies (through javassist or cglib) generate a lot of other fields for internal usage, but when we serialize the proxy, they will appear:
{"audiometro$$javassist_5": { "@resolves-to": "org.hibernate.proxy.pojo.javassist.SerializableProxy", "entityName": "br.com.ddns.fonaudio.models.Audiometro", "persistentClass": "br.com.ddns.fonaudio.models.Audiometro", "interfaces": [ "org.hibernate.proxy.HibernateProxy" ], "id": { "@class": "long", "$": "1" } }}
http://www.guj.com.br/posts/list/0/148166.java#800896
Maybe we should provide a HibernateSerializer that already ignore some attributes, and you can receive it as a injected parameter, instead of using the one provided by Result.use(json()). Creating or not this component, we should put a warning about this in the JSON documentation/
Comments
-
0 comments Created about 19 hours ago by peasmove mydvds to a wtp project for easier import3.1xComments
-
0 comments Created about 14 hours ago by peasCreate a build.xml to be bundled inside vraptor-blank-project and mydvds3.1.1xThis way it should be easy to run the examples inside Netbeans or even without an IDE.
Comments
- 3.0.0-beta-3▾
- 3.0.0-beta-4▾
- 3.0.0-rc-1▾
- 3.0.0-rc-2▾
- 3.0.0-util▾
- 3.0.1▾
- 3.0.2▾
- 3.1▾
- 3.1.1▾
- 3.2▾
- Spring▾
- bug▾
- converter▾
- docs▾
- improvement▾
- optimization▾
- testing▾
- upcoming▾
- vraptor2▾
- Apply to Selection
-
Change Color…
Preview:preview
- Rename…
- Delete





this is really important for a RC release
Hi, I would like this too - would be happy to volunteer if its a question of finding time.
We'd be happy if you volunteer. =)
The main issue is that VRaptor depends on 4 artifacts that are not in mvn main repo, so even if we publish VRaptor on maven, you'll have to add these dependencies manually.
The pom is here http://github.com/caelum/vraptor/blob/master/vraptor-core/pom.xml
problematic dependencies are in the end of dependencies tag.
Thanks
it was submitted to maven central jira http://jira.codehaus.org/browse/MAVENUPLOAD-2666
awaiting approval
cool, im afraid i got a bit side tracked at work.
I was able to download the Jars using this in my pom.xml:
while the central repository doesn't approve VRaptor, you can use this repository =)