public synchronized AbstractName addGBean(String name, GBeanData gbean) throws GBeanAlreadyExistsException { AbstractName abstractName = gbean.getAbstractName(); if (abstractName != null) { throw new IllegalArgumentException("gbean already has an abstract name: " + abstractName); } String j2eeType = gbean.getGBeanInfo().getJ2eeType(); if (j2eeType == null) j2eeType = "GBean"; abstractName = naming.createRootName(id, name, j2eeType); gbean.setAbstractName(abstractName); if (gbeans.containsKey(abstractName)) { throw new GBeanAlreadyExistsException(gbean.getAbstractName().toString()); } gbeans.put(abstractName, gbean); return abstractName; }
private GBeanData configureDefaultServlet(Object defaultServlet, EARContext earContext, AbstractName moduleName, Set knownServletMappings, EARContext moduleContext) throws GBeanNotFoundException, GBeanAlreadyExistsException { GBeanData servletGBeanData = getGBeanData(kernel, defaultServlet); AbstractName defaultServletObjectName = earContext.getNaming().createChildName(moduleName, (String) servletGBeanData.getAttribute("servletName"), NameFactory.SERVLET); servletGBeanData.setAbstractName(defaultServletObjectName); servletGBeanData.setReferencePattern("JettyServletRegistration", moduleName); Set<String> defaultServletMappings = new HashSet<String>((Collection<String>) servletGBeanData.getAttribute("servletMappings")); defaultServletMappings.removeAll(knownServletMappings); servletGBeanData.setAttribute("servletMappings", defaultServletMappings); moduleContext.addGBean(servletGBeanData); return servletGBeanData; }
private void addAdminObjectGBeans(List<GBeanData> raBeans, Naming naming, AbstractName jcaResourceName, GBeanData resourceAdapterModuleData, Bundle bundle, AbstractName resourceAdapterAbstractName, GerAdminobjectType[] adminObjects) throws DeploymentException { for (GerAdminobjectType gerAdminObject : adminObjects) { String adminObjectInterface = gerAdminObject.getAdminobjectInterface().trim(); GBeanData adminObjectGBeanData = locateAdminObjectInfo(resourceAdapterModuleData, adminObjectInterface); if (adminObjectGBeanData == null) { throw new DeploymentException("No admin object declared for interface: " + adminObjectInterface); } for (GerAdminobjectInstanceType gerAdminObjectInstance : gerAdminObject.getAdminobjectInstanceArray()) { GBeanData adminObjectInstanceGBeanData = new GBeanData(adminObjectGBeanData); setDynamicGBeanDataAttributes(adminObjectInstanceGBeanData, gerAdminObjectInstance.getConfigPropertySettingArray(), bundle); // add it AbstractName adminObjectAbstractName = naming.createChildName(jcaResourceName, gerAdminObjectInstance.getMessageDestinationName().trim(), NameFactory.JCA_ADMIN_OBJECT); adminObjectInstanceGBeanData.setAbstractName(adminObjectAbstractName); if (resourceAdapterAbstractName != null) { adminObjectInstanceGBeanData.setReferencePattern("ResourceAdapterWrapper", resourceAdapterAbstractName); } Set<String> implementedInterfaces = new HashSet<String>(); implementedInterfaces.add(checkClass(bundle, (String) adminObjectInstanceGBeanData.getAttribute("adminObjectInterface"))); implementedInterfaces.add(checkClass(bundle, (String) adminObjectInstanceGBeanData.getAttribute("adminObjectClass"))); adminObjectInstanceGBeanData.setServiceInterfaces(implementedInterfaces.toArray(new String[implementedInterfaces.size()])); String jndiName = naming.toOsgiJndiName(adminObjectAbstractName); //TODO allow specifying osig jndi name directly, like for connection factories adminObjectInstanceGBeanData.getServiceProperties().put(OSGI_JNDI_SERVICE_NAME, jndiName); raBeans.add(adminObjectInstanceGBeanData); } } }
managedConnectionFactoryInstanceGBeanData.setAbstractName(managedConnectionFactoryAbstractName); raBeans.add(managedConnectionFactoryInstanceGBeanData);
private void addAdminObjectGBeans(EARContext earContext, AbstractName jcaResourceName, GBeanData resourceAdapterModuleData, ClassLoader cl, AbstractName resourceAdapterAbstractName, GerAdminobjectType[] adminObjects) throws DeploymentException { for (GerAdminobjectType gerAdminObject : adminObjects) { String adminObjectInterface = gerAdminObject.getAdminobjectInterface().trim(); GBeanData adminObjectGBeanData = locateAdminObjectInfo(resourceAdapterModuleData, adminObjectInterface); if (adminObjectGBeanData == null) { throw new DeploymentException("No admin object declared for interface: " + adminObjectInterface); } for (GerAdminobjectInstanceType gerAdminObjectInstance : gerAdminObject.getAdminobjectInstanceArray()) { GBeanData adminObjectInstanceGBeanData = new GBeanData(adminObjectGBeanData); setDynamicGBeanDataAttributes(adminObjectInstanceGBeanData, gerAdminObjectInstance.getConfigPropertySettingArray(), cl); // add it AbstractName adminObjectAbstractName = earContext.getNaming().createChildName(jcaResourceName, gerAdminObjectInstance.getMessageDestinationName().trim(), NameFactory.JCA_ADMIN_OBJECT); adminObjectInstanceGBeanData.setAbstractName(adminObjectAbstractName); if (resourceAdapterAbstractName != null) { adminObjectInstanceGBeanData.setReferencePattern("ResourceAdapterWrapper", resourceAdapterAbstractName); } try { earContext.addGBean(adminObjectInstanceGBeanData); } catch (GBeanAlreadyExistsException e) { throw new DeploymentException("Could not add admin object gbean to context", e); } } } }
+ destinationType); adminObjectData.setAbstractName(adminObjectName); adminObjectData.setAttribute("PhysicalName", destinationPhysicalName);
filterMappingData.setAbstractName(filterMappingName); previous = filterMappingName;
managedConnectionFactoryInstanceGBeanData.setAbstractName(managedConnectionFactoryAbstractName); try { earContext.addGBean(managedConnectionFactoryInstanceGBeanData);
} else { servletData = new GBeanData(pojoWebServiceTemplate); servletData.setAbstractName(servletAbstractName);
private AbstractName addDefaultFiltersGBeans(EARContext earContext, EARContext moduleContext, AbstractName moduleName, AbstractName previous) throws GBeanNotFoundException, GBeanAlreadyExistsException { for (Object defaultFilter : defaultFilters) { GBeanData filterGBeanData = getGBeanData(kernel, defaultFilter); String filterName = (String) filterGBeanData.getAttribute("filterName"); AbstractName defaultFilterAbstractName = earContext.getNaming().createChildName(moduleName, filterName, NameFactory.WEB_FILTER); filterGBeanData.setAbstractName(defaultFilterAbstractName); filterGBeanData.setReferencePattern("JettyServletRegistration", moduleName); moduleContext.addGBean(filterGBeanData); //add a mapping to /* GBeanData filterMappingGBeanData = new GBeanData(JettyFilterMapping.GBEAN_INFO); if (previous != null) { filterMappingGBeanData.addDependency(previous); } filterMappingGBeanData.setReferencePattern("JettyServletRegistration", moduleName); String urlPattern = "/*"; filterMappingGBeanData.setAttribute("urlPattern", urlPattern); AbstractName filterMappingName = earContext.getNaming().createChildName(defaultFilterAbstractName, urlPattern, NameFactory.URL_WEB_FILTER_MAPPING); filterMappingGBeanData.setAbstractName(filterMappingName); previous = filterMappingName; filterMappingGBeanData.setAttribute("requestDispatch", TRUE); filterMappingGBeanData.setAttribute("forwardDispatch", TRUE); filterMappingGBeanData.setAttribute("includeDispatch", TRUE); filterMappingGBeanData.setAttribute("errorDispatch", FALSE); filterMappingGBeanData.setReferencePattern("Filter", defaultFilterAbstractName); moduleContext.addGBean(filterMappingGBeanData); } return previous; }
servletData.setAbstractName(servletAbstractName);
resourceAdapterInstanceGBeanData.setAbstractName(resourceAdapterAbstractName); raBeans.add(resourceAdapterInstanceGBeanData);
resourceAdapterInstanceGBeanData.setAbstractName(resourceAdapterAbstractName); try { earContext.addGBean(resourceAdapterInstanceGBeanData);