1 5 package org.terracotta.modules.cglib_2_1_3; 6 7 import org.osgi.framework.BundleContext; 8 import org.osgi.framework.Constants; 9 import org.terracotta.modules.cglib_2_1_3.object.config.CGLibChangeApplicatorSpec; 10 import org.terracotta.modules.cglib_2_1_3.object.config.CGLibModuleSpec; 11 import org.terracotta.modules.configuration.TerracottaConfiguratorModule; 12 13 import com.tc.object.config.ModuleSpec; 14 import com.tc.object.config.StandardDSOClientConfigHelper; 15 16 import java.util.Dictionary ; 17 import java.util.Hashtable ; 18 19 public final class CGLibTerracottaConfigurator extends TerracottaConfiguratorModule { 20 protected final void addInstrumentation(final BundleContext context, final StandardDSOClientConfigHelper configHelper) { 21 configHelper.addCustomAdapter("net.sf.cglib.proxy.Enhancer", new CGLibProxyEnhancerAdapter(context.getBundle())); 22 configHelper.allowCGLIBInstrumentation(); 23 } 24 25 protected final void registerModuleSpec(final BundleContext context) { 26 final Dictionary serviceProps = new Hashtable (); 27 serviceProps.put(Constants.SERVICE_VENDOR, "Terracotta, Inc."); 28 serviceProps.put(Constants.SERVICE_DESCRIPTION, "CGLIB Plugin Spec"); 29 context.registerService(ModuleSpec.class.getName(), new CGLibModuleSpec(new CGLibChangeApplicatorSpec(getClass() 30 .getClassLoader())), serviceProps); 31 } 32 33 } 34 | Popular Tags |