protected void setDataBindingProvider(ProviderFactory factory, Service s) { List<ClassResourceInfo> cris = serviceFactory.getRealClassResourceInfo(); if (getDataBinding() == null && !cris.isEmpty()) { org.apache.cxf.annotations.DataBinding ann = cris.get(0).getServiceClass().getAnnotation(org.apache.cxf.annotations.DataBinding.class); if (ann != null) { try { setDataBinding(ann.value().newInstance()); } catch (Exception ex) { LOG.warning("DataBinding " + ann.value() + " can not be loaded"); } } } DataBinding db = getDataBinding(); if (db == null) { return; } if (s instanceof JAXRSServiceImpl) { ((JAXRSServiceImpl)s).setCreateServiceModel(true); } db.initialize(s); factory.setUserProviders(Collections.singletonList(new DataBindingProvider<Object>(db))); }
private void applyIntents(List<Object> intents, AbstractJAXRSFactoryBean factory) { List<Feature> features = intentManager.getIntents(Feature.class, intents); factory.setFeatures(features); DataBinding dataBinding = intentManager.getIntent(DataBinding.class, intents); if (dataBinding != null) { factory.setDataBinding(dataBinding); } BindingConfiguration binding = intentManager.getIntent(BindingConfiguration.class, intents); if (binding != null) { factory.setBindingConfig(binding); } List<Object> providers = new ArrayList<Object>(); for (Object intent : intents) { if (isProvider(intent)) { providers.add(intent); } } factory.setProviders(providers); }
if (ann != null) { try { setDataBinding(ann.value().newInstance()); } catch (Exception ex) { LOG.warning("DataBinding " + ann.value() + " can not be loaded");