Hi Mansingh,

can you provide a link to any docs that you read that were misleading ...
I'd like to improve them if possible?

thx
Dan


On Thu, 16 Nov 2017 at 22:52 Andi Huber <ahu...@apache.org> wrote:

> In order for the framework to recognize classes as domain-services you
> need to
>
> (1) annotate your ServiceExceptionRecognizer class with
> @DomainService(nature = NatureOfService.DOMAIN)
>
> (2) make sure your ServiceExceptionRecognizer class resides in a Java
> package, that is scanned by the framework.
> To include Java packages for scanning, you have to register a module
> class in your DomainAppAppManifest class.
>
> public class DomainAppAppManifest implements AppManifest {
>
>     /**
>      * Load all services and entities found in (the packages and
> subpackages within) these modules
>      */
>     @Override
>     public List<Class<?>> getModules() {
>         final List<Class<?>> modules = new ArrayList<>();
>         modules.addAll(Arrays.asList(
>                 ...
>                 MyModul.class
>         ));
>         return modules;
>     }
>
> }
>
> Service scanning will be done in the package where MyModul class resides
> (and in any sub-packages recursively).
>
>
> Regards, Andi
>
> On 2017-11-16 11:48, Manasingarao Shitole <shit...@prime-research.com>
> wrote:
> > Hi all,
> >
> >
> > We would like to define our own ServiceExceptionRecognizer for
> following exceptions, ex:
> >
> > - BadRequestException : map to HTTP 400 with the validation message
> >
> > - RuntimeException : map to HTTP 500 with the appropriate message.
> >
> >
> > This will help our clients and wicket viewer as well. Instead of
> propagating entire stack trace for the expected recoverable errors.
> >
> >
> > To do that, here is the exception recognizer
> >
> >
> > public class ServiceExceptionRecognizer extends
> ExceptionRecognizerForType {
> > public ServiceExceptionRecognizer(){
> > super(Category.CLIENT_ERROR,
> ofTypeIncluding(BadRequestException.class, new String[]{"Only long comma
> separated values allowed"}), prefix("Bad Request"));
> > }
> > }
> >
> > Now the question is how to configure the same, tried setting below
> property in isis.properties but it doesn't recognize:
> >
>
> isis.services=com.isis.modules.source.dom.exception.ServiceExceptionRecognizer
> >
> > Where as Isis document says you cant put "isis.services" along with
> "isis.appManifest"
> > isis.appManifest=com.isis.application.manifest.DomainAppAppManifest
> >
> > If we remove the "isis.appManifest" then application will fail to
> bootstrap.
> >
> > Of-course I havn't understood correctly and going somewhere wrong. I
> dont find any clue in docs nor there are any examples on that.
> > Could someone guide us with examples, that will be of great help.
> >
> > Thank you in anticipation.
> >
> > Kind regards,
> > -Mansingh
> >
> >
> >
>
>

Reply via email to