-
- RuntimeGeneratedMappingServiceProxy potential = tryToReuseGlobalInstance();
- if(potential != null) {
- return potential;
+ final GeneratedClassLoadingStrategy classLoading = getGlobalClassLoadingStrategy();
+ final BindingIndependentMappingService legacyMapping = getGlobalLegacyMappingService(classLoading);
+ BindingNormalizedNodeCodecRegistry codecRegistry = new BindingNormalizedNodeCodecRegistry(new StreamWriterGenerator(SingletonHolder.JAVASSIST));
+ BindingToNormalizedNodeCodec instance = new BindingToNormalizedNodeCodec(classLoading, legacyMapping, codecRegistry);
+ bundleContext.registerService(SchemaContextListener.class, instance, new Hashtable<String,String>());
+ return instance;
+ }
+
+ private BindingIndependentMappingService getGlobalLegacyMappingService(final GeneratedClassLoadingStrategy classLoading) {
+ BindingIndependentMappingService potential = tryToReuseGlobalMappingServiceInstance();
+ if(potential == null) {
+ potential = new RuntimeGeneratedMappingServiceImpl(ClassPool.getDefault(),classLoading);
+ bundleContext.registerService(SchemaContextListener.class, (SchemaContextListener) potential, new Hashtable<String,String>());