/** * Returns a corresponding feature for a feature annotation(i.e which has * {@link WebServiceFeatureAnnotation} meta annotation) * * @return corresponding feature for the annotation * null, if the annotation is nota feature annotation */ public static WebServiceFeature getFeature(Annotation a) { WebServiceFeature ftr = null; if (!(a.annotationType().isAnnotationPresent(WebServiceFeatureAnnotation.class))) { ftr = null; } else if (a instanceof Addressing) { Addressing addAnn = (Addressing) a; try { ftr = new AddressingFeature(addAnn.enabled(), addAnn.required(),addAnn.responses()); } catch(NoSuchMethodError e) { //throw error. We can't default to Responses.ALL as we dont know if the user has not used 2.2 annotation with responses. throw new RuntimeModelerException(ModelerMessages.RUNTIME_MODELER_ADDRESSING_RESPONSES_NOSUCHMETHOD(toJar(Which.which(Addressing.class)))); } } else if (a instanceof MTOM) { MTOM mtomAnn = (MTOM) a; ftr = new MTOMFeature(mtomAnn.enabled(), mtomAnn.threshold()); } else if (a instanceof RespectBinding) { RespectBinding rbAnn = (RespectBinding) a; ftr = new RespectBindingFeature(rbAnn.enabled()); } else { ftr = getWebServiceFeatureBean(a); } return ftr; }
/** * Returns a corresponding feature for a feature annotation(i.e which has * {@link WebServiceFeatureAnnotation} meta annotation) * * @return corresponding feature for the annotation * null, if the annotation is nota feature annotation */ public static WebServiceFeature getFeature(Annotation a) { WebServiceFeature ftr = null; if (!(a.annotationType().isAnnotationPresent(WebServiceFeatureAnnotation.class))) { ftr = null; } else if (a instanceof Addressing) { Addressing addAnn = (Addressing) a; try { ftr = new AddressingFeature(addAnn.enabled(), addAnn.required(),addAnn.responses()); } catch(NoSuchMethodError e) { //throw error. We can't default to Responses.ALL as we dont know if the user has not used 2.2 annotation with responses. throw new RuntimeModelerException(ModelerMessages.RUNTIME_MODELER_ADDRESSING_RESPONSES_NOSUCHMETHOD(toJar(Which.which(Addressing.class)))); } } else if (a instanceof MTOM) { MTOM mtomAnn = (MTOM) a; ftr = new MTOMFeature(mtomAnn.enabled(), mtomAnn.threshold()); } else if (a instanceof RespectBinding) { RespectBinding rbAnn = (RespectBinding) a; ftr = new RespectBindingFeature(rbAnn.enabled()); } else { ftr = getWebServiceFeatureBean(a); } return ftr; }
/** * Returns a corresponding feature for a feature annotation(i.e which has * {@link WebServiceFeatureAnnotation} meta annotation) * * @return corresponding feature for the annotation * null, if the annotation is nota feature annotation */ public static WebServiceFeature getFeature(Annotation a) { WebServiceFeature ftr = null; if (!(a.annotationType().isAnnotationPresent(WebServiceFeatureAnnotation.class))) { ftr = null; } else if (a instanceof Addressing) { Addressing addAnn = (Addressing) a; try { ftr = new AddressingFeature(addAnn.enabled(), addAnn.required(),addAnn.responses()); } catch(NoSuchMethodError e) { //throw error. We can't default to Responses.ALL as we dont know if the user has not used 2.2 annotation with responses. throw new RuntimeModelerException(ModelerMessages.RUNTIME_MODELER_ADDRESSING_RESPONSES_NOSUCHMETHOD(toJar(Which.which(Addressing.class)))); } } else if (a instanceof MTOM) { MTOM mtomAnn = (MTOM) a; ftr = new MTOMFeature(mtomAnn.enabled(), mtomAnn.threshold()); } else if (a instanceof RespectBinding) { RespectBinding rbAnn = (RespectBinding) a; ftr = new RespectBindingFeature(rbAnn.enabled()); } else { ftr = getWebServiceFeatureBean(a); } return ftr; }