Re: user signup through bespoke REST client
Hi Dan, I used this in my testResource class. It worked only once ;-) What would be a proper way to invoke the user registration service? I assumed I could use an inject here, but I start doubting it now... @Inject AppUserRegistrationService appUserRegistrationService; @GET @Path("/test/{logon}") @Produces({MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT, RestfulMediaType.APPLICATION_JSON_ERROR }) public Response object(@PathParam("logon") String logon) { UserDetails userDetails = new UserDetails(); userDetails.setUsername(logon); userDetails.setPassword(logon); userDetails.setConfirmPassword(logon); userDetails.setEmailAddress(logon + "@example.com"); appUserRegistrationService.registerUser(userDetails); return Response.status(200).entity("user: " + logon + " registered").build(); } grtz Johan Hi Johan, On 15 May 2015 at 16:59, wrote: > Hi Dan, > > > > Two questions: > > 1. I expected 'myTestResource' to show up in restful-api but it doesn't. > What more needs to be done? (See code below) > I'm guessing when you say "show up in", you perhaps mean on the home resource ("/") or the services resource ("/services")? In which case, no... those representations are generate by the RO viewer, but your custom resource is sitting outside of RO. It just happens to be hosted by RestEasy. > > 2. When running mvn clean install mvn complains that it cannot find > the org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication > etc. Do I need to update a classpath somewhere? (When running in IntelliJ > there is no problem) > > Can't explain that... the org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication class is part of the framework, so would be in your classpath anyway. If you stash and revert your changes, do you still see this? ~~~ What you might want to do is run a couple of generic (non-RO) RESTEasy tutorials / hello world, just so you can see what vanilla JAX-RS is like after all, this is what you'll need to be coding. In fact, you might want to develop your code entirely outside of Isis. Then we can graft it onto your Isis app later. HTH Dan > > > I subclassed like this: > > > > > import > org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication; > > public class CustomRestfulObjectsApplication extends > RestfulObjectsApplication { > > public CustomRestfulObjectsApplication() { > > addClass(MyTestResource.class); > > } > > } > > > > with MyTestResource class: > > > > > @Path("/myTestResource") > > public class MyTestResource extends ResourceAbstract > implements DomainServiceResource { > > > > @Override > > @GET > > @Path("/") > > @Produces({ MediaType.APPLICATION_JSON, > RestfulMediaType.APPLICATION_JSON_OBJECT, > RestfulMediaType.APPLICATION_JSON_ERROR }) > > public Response services() { > > return Response.ok("{SomeJson}").build(); > > } > > > > > > @Override public Response deleteServicesNotAllowed() { > > return null; > > } > > > > ... > > } > > > Grtz Johan > > On 7 May 2015 at 11:33, wrote: > > > Hi, > > > > > > > > For our matching app [1] we are creating a bespoke REST (web)client and > > use ISIS as a backend. Can anybody give me an approach that we could use > > for user signup using the user-registration-service and the > > email-notification? It seems to me that there are no default facilities > in > > the REST Api at the moment or am I overlooking them? > > > > > You're correct, there are no default facilities in the REST API. > > However, I think the building blocks are there. Not exactly trivial, but > do-able. > > Start off by subclassing RestfulObjectsApplication, eg > "CustomRestfulObjectsApplication", and register this in web.xml as the > context.param = javax.ws.rs.Application instead of > RestfulObjectsApplication > > Then, define some new Restful resources, cf > DomainServiceResourceServerside, and register these in your subclass of > DomainObjectResource and register in your CustomRestfulObjectsApplication. > > So far this is just standard javax.rs stuff. > > Next, we need to ensure that a client can hit your new resource *with* the > Isis runtime in place, but without there being an Isis session. For > that > > In the web.xml there's a filter IsisSessionFilterForRestfulObjects that > applies an authenticationSessionStrategy for every resource under > /restful/. Since you want to make the new resource, eg /r
Re: user signup through bespoke REST client
Alright tnx. My testresource does show up in restful/myTestResource indeed. When I stash and revert there is no problem. Here is what I get: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project matchingservice-dom: Compilation failure: Compilation failure: [ERROR] /Users/jodo/src/Matching/dom/src/main/java/info/matchingservice/dom/Custom_Rest/CustomRestfulObjectsApplication.java:[20,52] package org.apache.isis.viewer.restfulobjects.server does not exist [ERROR] /Users/jodo/src/Matching/dom/src/main/java/info/matchingservice/dom/Custom_Rest/CustomRestfulObjectsApplication.java:[25,54] cannot find symbol But I can also proceed now and attend to this later... Hi Johan, On 15 May 2015 at 16:59, wrote: > Hi Dan, > > > > Two questions: > > 1. I expected 'myTestResource' to show up in restful-api but it doesn't. > What more needs to be done? (See code below) > I'm guessing when you say "show up in", you perhaps mean on the home resource ("/") or the services resource ("/services")? In which case, no... those representations are generate by the RO viewer, but your custom resource is sitting outside of RO. It just happens to be hosted by RestEasy. > > 2. When running mvn clean install mvn complains that it cannot find > the org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication > etc. Do I need to update a classpath somewhere? (When running in IntelliJ > there is no problem) > > Can't explain that... the org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication class is part of the framework, so would be in your classpath anyway. If you stash and revert your changes, do you still see this? ~~~ What you might want to do is run a couple of generic (non-RO) RESTEasy tutorials / hello world, just so you can see what vanilla JAX-RS is like after all, this is what you'll need to be coding. In fact, you might want to develop your code entirely outside of Isis. Then we can graft it onto your Isis app later. HTH Dan > > > I subclassed like this: > > > > > import > org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication; > > public class CustomRestfulObjectsApplication extends > RestfulObjectsApplication { > > public CustomRestfulObjectsApplication() { > > addClass(MyTestResource.class); > > } > > } > > > > with MyTestResource class: > > > > > @Path("/myTestResource") > > public class MyTestResource extends ResourceAbstract > implements DomainServiceResource { > > > > @Override > > @GET > > @Path("/") > > @Produces({ MediaType.APPLICATION_JSON, > RestfulMediaType.APPLICATION_JSON_OBJECT, > RestfulMediaType.APPLICATION_JSON_ERROR }) > > public Response services() { > > return Response.ok("{SomeJson}").build(); > > } > > > > > > @Override public Response deleteServicesNotAllowed() { > > return null; > > } > > > > ... > > } > > > Grtz Johan > > On 7 May 2015 at 11:33, wrote: > > > Hi, > > > > > > > > For our matching app [1] we are creating a bespoke REST (web)client and > > use ISIS as a backend. Can anybody give me an approach that we could use > > for user signup using the user-registration-service and the > > email-notification? It seems to me that there are no default facilities > in > > the REST Api at the moment or am I overlooking them? > > > > > You're correct, there are no default facilities in the REST API. > > However, I think the building blocks are there. Not exactly trivial, but > do-able. > > Start off by subclassing RestfulObjectsApplication, eg > "CustomRestfulObjectsApplication", and register this in web.xml as the > context.param = javax.ws.rs.Application instead of > RestfulObjectsApplication > > Then, define some new Restful resources, cf > DomainServiceResourceServerside, and register these in your subclass of > DomainObjectResource and register in your CustomRestfulObjectsApplication. > > So far this is just standard javax.rs stuff. > > Next, we need to ensure that a client can hit your new resource *with* the > Isis runtime in place, but without there being an Isis session. For > that > > In the web.xml there's a filter IsisSessionFilterForRestfulObjects that > applies an authenticationSessionStrategy for every resource under > /restful/. Since you want to make the new resource, eg /restful/register, > available without a session, then I think you'll need a custom > authenticationSession strategy too that allows access to this resource > without requiring logon. > > In the /restful/register resource, then, this will be hit without there > being an Isis
Re: user signup through bespoke REST client
Hi Johan, On 15 May 2015 at 16:59, wrote: > Hi Dan, > > > > Two questions: > > 1. I expected 'myTestResource' to show up in restful-api but it doesn't. > What more needs to be done? (See code below) > I'm guessing when you say "show up in", you perhaps mean on the home resource ("/") or the services resource ("/services")? In which case, no... those representations are generate by the RO viewer, but your custom resource is sitting outside of RO. It just happens to be hosted by RestEasy. > > 2. When running mvn clean install mvn complains that it cannot find > the org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication > etc. Do I need to update a classpath somewhere? (When running in IntelliJ > there is no problem) > > Can't explain that... the org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication class is part of the framework, so would be in your classpath anyway. If you stash and revert your changes, do you still see this? ~~~ What you might want to do is run a couple of generic (non-RO) RESTEasy tutorials / hello world, just so you can see what vanilla JAX-RS is like after all, this is what you'll need to be coding. In fact, you might want to develop your code entirely outside of Isis. Then we can graft it onto your Isis app later. HTH Dan > > > I subclassed like this: > > > > > import > org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication; > > public class CustomRestfulObjectsApplication extends > RestfulObjectsApplication { > > public CustomRestfulObjectsApplication() { > > addClass(MyTestResource.class); > > } > > } > > > > with MyTestResource class: > > > > > @Path("/myTestResource") > > public class MyTestResource extends ResourceAbstract > implements DomainServiceResource { > > > > @Override > > @GET > > @Path("/") > > @Produces({ MediaType.APPLICATION_JSON, > RestfulMediaType.APPLICATION_JSON_OBJECT, > RestfulMediaType.APPLICATION_JSON_ERROR }) > > public Response services() { > > return Response.ok("{SomeJson}").build(); > > } > > > > > > @Override public Response deleteServicesNotAllowed() { > > return null; > > } > > > > ... > > } > > > Grtz Johan > > On 7 May 2015 at 11:33, wrote: > > > Hi, > > > > > > > > For our matching app [1] we are creating a bespoke REST (web)client and > > use ISIS as a backend. Can anybody give me an approach that we could use > > for user signup using the user-registration-service and the > > email-notification? It seems to me that there are no default facilities > in > > the REST Api at the moment or am I overlooking them? > > > > > You're correct, there are no default facilities in the REST API. > > However, I think the building blocks are there. Not exactly trivial, but > do-able. > > Start off by subclassing RestfulObjectsApplication, eg > "CustomRestfulObjectsApplication", and register this in web.xml as the > context.param = javax.ws.rs.Application instead of > RestfulObjectsApplication > > Then, define some new Restful resources, cf > DomainServiceResourceServerside, and register these in your subclass of > DomainObjectResource and register in your CustomRestfulObjectsApplication. > > So far this is just standard javax.rs stuff. > > Next, we need to ensure that a client can hit your new resource *with* the > Isis runtime in place, but without there being an Isis session. For > that > > In the web.xml there's a filter IsisSessionFilterForRestfulObjects that > applies an authenticationSessionStrategy for every resource under > /restful/. Since you want to make the new resource, eg /restful/register, > available without a session, then I think you'll need a custom > authenticationSession strategy too that allows access to this resource > without requiring logon. > > In the /restful/register resource, then, this will be hit without there > being an Isis session. But you should be able to do a lookup of the > UserRegistrationService in order to allow the user to be created. The > Wicket viewer does something similar in the RegisterPanel class: > > IsisContext.doInSession(new Runnable() { > @Override > public void run() { > final UserRegistrationService userRegistrationService = > > IsisContext.getPersistenceSession().getServicesInjector().lookupService(UserRegistrationService.class); > > > IsisContext.getTransactionManager().executeWithinTransaction(new > TransactionalClosureAbstract() { > @Override > public void execute() { > > userRegistrationService.registerUser(userDetails); > removeAccount
Re: user signup through bespoke REST client
Hi Dan, Two questions: 1. I expected 'myTestResource' to show up in restful-api but it doesn't. What more needs to be done? (See code below) 2. When running mvn clean install mvn complains that it cannot find the org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication etc. Do I need to update a classpath somewhere? (When running in IntelliJ there is no problem) I subclassed like this: import org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication; public class CustomRestfulObjectsApplication extends RestfulObjectsApplication { public CustomRestfulObjectsApplication() { addClass(MyTestResource.class); } } with MyTestResource class: @Path("/myTestResource") public class MyTestResource extends ResourceAbstract implements DomainServiceResource { @Override @GET @Path("/") @Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_OBJECT, RestfulMediaType.APPLICATION_JSON_ERROR }) public Response services() { return Response.ok("{SomeJson}").build(); } @Override public Response deleteServicesNotAllowed() { return null; } ... } Grtz Johan On 7 May 2015 at 11:33, wrote: > Hi, > > > > For our matching app [1] we are creating a bespoke REST (web)client and > use ISIS as a backend. Can anybody give me an approach that we could use > for user signup using the user-registration-service and the > email-notification? It seems to me that there are no default facilities in > the REST Api at the moment or am I overlooking them? > > You're correct, there are no default facilities in the REST API. However, I think the building blocks are there. Not exactly trivial, but do-able. Start off by subclassing RestfulObjectsApplication, eg "CustomRestfulObjectsApplication", and register this in web.xml as the context.param = javax.ws.rs.Application instead of RestfulObjectsApplication Then, define some new Restful resources, cf DomainServiceResourceServerside, and register these in your subclass of DomainObjectResource and register in your CustomRestfulObjectsApplication. So far this is just standard javax.rs stuff. Next, we need to ensure that a client can hit your new resource *with* the Isis runtime in place, but without there being an Isis session. For that In the web.xml there's a filter IsisSessionFilterForRestfulObjects that applies an authenticationSessionStrategy for every resource under /restful/. Since you want to make the new resource, eg /restful/register, available without a session, then I think you'll need a custom authenticationSession strategy too that allows access to this resource without requiring logon. In the /restful/register resource, then, this will be hit without there being an Isis session. But you should be able to do a lookup of the UserRegistrationService in order to allow the user to be created. The Wicket viewer does something similar in the RegisterPanel class: IsisContext.doInSession(new Runnable() { @Override public void run() { final UserRegistrationService userRegistrationService = IsisContext.getPersistenceSession().getServicesInjector().lookupService(UserRegistrationService.class); IsisContext.getTransactionManager().executeWithinTransaction(new TransactionalClosureAbstract() { @Override public void execute() { userRegistrationService.registerUser(userDetails); removeAccountConfirmation(); } }); } }); Hope that gives you some clues... Cheers Dan > > > gtz Johan > > > > [1] https://github.com/johandoornenbal/matching > > > > > >
Re: error when uploading image (BLOB)
Tnx Martin! Hi, According to https://josm.openstreetmap.de/ticket/10675 this has been broken with JDK 8_40. Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Fri, May 15, 2015 at 2:57 PM, wrote: > Hi, > > > > Does anybody recognize this one? > > (Using MySql db) > > > HTTP ERROR 500 > > Problem accessing /simple/wicket/entity. Reason: > > Server Error > > > > Caused by: > > javax.servlet.ServletException: Filtered request failed. > > at > org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:384) > > at > org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) > > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) > > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) > > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) > > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) > > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125) > > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) > > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) > > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059) > > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) > > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) > > at > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) > > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) > > at org.eclipse.jetty.server.Server.handle(Server.java:497) > > at > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) > > at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248) > > at > org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) > > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:620) > > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:540) > > at java.lang.Thread.run(Thread.java:745) > > Caused by: java.lang.NoClassDefFoundError: Could not initialize > class com.sun.imageio.plugins.jpeg.JPEGImageReader > > at > com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi.createReaderInstance(JPEGImageReaderSpi.java:85) > > at > javax.imageio.spi.ImageReaderSpi.createReaderInstance(ImageReaderSpi.java:320) > > at javax.imageio.ImageIO$ImageReaderIterator.next(ImageIO.java:529) > > at javax.imageio.ImageIO$ImageReaderIterator.next(ImageIO.java:513) > > at javax.imageio.ImageIO.read(ImageIO.java:1443) > > at javax.imageio.ImageIO.read(ImageIO.java:1352) > > at > org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract.asBufferedImage(IsisBlobOrClobPanelAbstract.java:161) > > at > org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract.asWicketImage(IsisBlobOrClobPanelAbstract.java:140) > > at > org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract.addComponentForRegular(IsisBlobOrClobPanelAbstract.java:102) > > at > org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract.addComponentForRegular(IsisBlobOrClobPanelAbstract.java:59) > > at > org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract.buildGui(ScalarPanelAbstract.java:230) > > at > org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract.onBeforeRender(ScalarPanelAbstract.java:186) > > at > org.apache.wicket.Component.internalBeforeRender(Component.java:935) > > at org.apache.wicket.Component.beforeRender(Component.java:1003) > > at > org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1684) > > at org.apache.wicket.Component.onBeforeRender(Component.java:3811) > > at > org.apache.wicket.Component.internalBeforeRender(Component.java:935) > > at org.apache.wicket.Component.beforeRender(Component.java:1003) > > at > org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1684) > > at org.apache.wicket.Component.onBeforeRender(Component.java:3811) > > at > org.apache.wicket.markup.repeater.AbstractRepeater.onBeforeRender(AbstractRepeater.java:143) > > at > org.apache.wicket.Component.internal
Re: error when uploading image (BLOB)
Hi, According to https://josm.openstreetmap.de/ticket/10675 this has been broken with JDK 8_40. Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Fri, May 15, 2015 at 2:57 PM, wrote: > Hi, > > > > Does anybody recognize this one? > > (Using MySql db) > > > HTTP ERROR 500 > > Problem accessing /simple/wicket/entity. Reason: > > Server Error > > > > Caused by: > > javax.servlet.ServletException: Filtered request failed. > > at > org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:384) > > at > org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) > > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) > > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) > > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) > > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) > > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125) > > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) > > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) > > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059) > > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) > > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) > > at > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) > > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) > > at org.eclipse.jetty.server.Server.handle(Server.java:497) > > at > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) > > at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248) > > at > org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) > > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:620) > > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:540) > > at java.lang.Thread.run(Thread.java:745) > > Caused by: java.lang.NoClassDefFoundError: Could not initialize > class com.sun.imageio.plugins.jpeg.JPEGImageReader > > at > com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi.createReaderInstance(JPEGImageReaderSpi.java:85) > > at > javax.imageio.spi.ImageReaderSpi.createReaderInstance(ImageReaderSpi.java:320) > > at javax.imageio.ImageIO$ImageReaderIterator.next(ImageIO.java:529) > > at javax.imageio.ImageIO$ImageReaderIterator.next(ImageIO.java:513) > > at javax.imageio.ImageIO.read(ImageIO.java:1443) > > at javax.imageio.ImageIO.read(ImageIO.java:1352) > > at > org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract.asBufferedImage(IsisBlobOrClobPanelAbstract.java:161) > > at > org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract.asWicketImage(IsisBlobOrClobPanelAbstract.java:140) > > at > org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract.addComponentForRegular(IsisBlobOrClobPanelAbstract.java:102) > > at > org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract.addComponentForRegular(IsisBlobOrClobPanelAbstract.java:59) > > at > org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract.buildGui(ScalarPanelAbstract.java:230) > > at > org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract.onBeforeRender(ScalarPanelAbstract.java:186) > > at > org.apache.wicket.Component.internalBeforeRender(Component.java:935) > > at org.apache.wicket.Component.beforeRender(Component.java:1003) > > at > org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1684) > > at org.apache.wicket.Component.onBeforeRender(Component.java:3811) > > at > org.apache.wicket.Component.internalBeforeRender(Component.java:935) > > at org.apache.wicket.Component.beforeRender(Component.java:1003) > > at > org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1684) > > at org.apache.wicket.Component.onBeforeRender(Component.java:3811) > > at > org.apache.wicket.markup.repeater.AbstractRepeater.onBeforeRender(AbstractRepeater.java:143) > > at > org.apache.wicket.Component.internalBeforeRender(Com
error when uploading image (BLOB)
Hi, Does anybody recognize this one? (Using MySql db) HTTP ERROR 500 Problem accessing /simple/wicket/entity. Reason: Server Error Caused by: javax.servlet.ServletException: Filtered request failed. at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:384) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:497) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:620) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:540) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.sun.imageio.plugins.jpeg.JPEGImageReader at com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi.createReaderInstance(JPEGImageReaderSpi.java:85) at javax.imageio.spi.ImageReaderSpi.createReaderInstance(ImageReaderSpi.java:320) at javax.imageio.ImageIO$ImageReaderIterator.next(ImageIO.java:529) at javax.imageio.ImageIO$ImageReaderIterator.next(ImageIO.java:513) at javax.imageio.ImageIO.read(ImageIO.java:1443) at javax.imageio.ImageIO.read(ImageIO.java:1352) at org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract.asBufferedImage(IsisBlobOrClobPanelAbstract.java:161) at org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract.asWicketImage(IsisBlobOrClobPanelAbstract.java:140) at org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract.addComponentForRegular(IsisBlobOrClobPanelAbstract.java:102) at org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract.addComponentForRegular(IsisBlobOrClobPanelAbstract.java:59) at org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract.buildGui(ScalarPanelAbstract.java:230) at org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract.onBeforeRender(ScalarPanelAbstract.java:186) at org.apache.wicket.Component.internalBeforeRender(Component.java:935) at org.apache.wicket.Component.beforeRender(Component.java:1003) at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1684) at org.apache.wicket.Component.onBeforeRender(Component.java:3811) at org.apache.wicket.Component.internalBeforeRender(Component.java:935) at org.apache.wicket.Component.beforeRender(Component.java:1003) at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1684) at org.apache.wicket.Component.onBeforeRender(Component.java:3811) at org.apache.wicket.markup.repeater.AbstractRepeater.onBeforeRender(AbstractRepeater.java:143) at org.apache.wicket.Component.internalBeforeRender(Component.java:935) at org.apache.wicket.Component.beforeRender(Component.java:1003) at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1684) at org.apache.wicket.Component.onBeforeRender(Component.java:3811) at org.apache.wicket.Component.internalBeforeRender(Component.java:935) at org.apache.wicket.Component.beforeRender(Component.java