/** * @deprecated use getAnnotation */ @SuppressWarnings("unchecked") public Object resolveAnnotation(Class annotationType) { return getAnnotation(annotationType); }
private static void checkForJndiNamingConflict(EJBContainer container) { if (container.getAnnotation(Local.class) != null) { JBossSessionBeanMetaData smd = (JBossSessionBeanMetaData)container.getXml(); String localJndiName = smd.getLocalJndiName(); String remoteJndiName = smd.getJndiName(); String ejbName = container.getEjbName(); if (localJndiName != null) { if (localJndiName.equals(remoteJndiName) || localJndiName.startsWith(remoteJndiName + "/")) throw new javax.ejb.EJBException("Conflict between default jndi name " + remoteJndiName + " for both remote and local for ejb-name:" + ejbName + ", bean class=" + container.getBeanClass() + "\nLocal JNDI Name: " + localJndiName + "\nRemote JNDI Name: " + remoteJndiName); } } }
private boolean isWebServiceBean(EJBContainer container) { boolean isWebServiceBean = false; if (container instanceof StatelessContainer || container instanceof MessagingContainer) { boolean isWebService = container.resolveAnnotation(WebService.class) != null; boolean isWebServiceProvider = container.resolveAnnotation(WebServiceProvider.class) != null; isWebServiceBean = isWebService || isWebServiceProvider; } return isWebServiceBean; } }
/** * @see EJBContext#isCallerInRole(String) */ public boolean isCallerInRole(String roleName) { EJBContainer ejbc = (EJBContainer)container; //Take care of Policy Context ID for callbacks SecurityActions.setContextID(ejbc.getJaccContextId()); return ejbContextHelper.isCallerInRole(SecurityActions.getSecurityContext(), ejbc.getAnnotation(SecurityDomain.class), rm, ejbc.getXml(), roleName, ejbc.getEjbName()); }
public static String getHomeJndiName(EJBContainer container) { // Use explicitly-specified binding, if defined RemoteHomeBinding binding = container.getAnnotation(RemoteHomeBinding.class); if (binding != null) return binding.jndiBinding(); JBossSessionBeanMetaData smd = (JBossSessionBeanMetaData)container.getXml(); return smd.getHomeJndiName(); }
protected RunAsIdentity getRunAsIdentity(EJBContainer container) RunAs runAs = (RunAs) container.getAnnotation(RunAs.class); if (runAs == null) return null; RunAsPrincipal rap = (RunAsPrincipal) container.resolveAnnotation(RunAsPrincipal.class); String runAsPrincipal = null; if (rap != null) JBossEnterpriseBeanMetaData jbEnterpriseBeanMetaData = container.getXml(); if(jbEnterpriseBeanMetaData != null) JBossAssemblyDescriptorMetaData ad = container.getAssemblyDescriptor(); if(ad != null && runAsPrincipal != null)
RemoteBindings bindings = ((EJBContainer) container).getAnnotation(RemoteBindings.class); if (bindings != null) RemoteBinding binding = ((EJBContainer) container).getAnnotation(RemoteBinding.class); if (binding != null) RemoteHomeBinding binding = ((EJBContainer) container).getAnnotation(RemoteHomeBinding.class); if (binding != null) LocalHomeBinding binding = ((EJBContainer) container).getAnnotation(LocalHomeBinding.class); if (binding != null) LocalBinding binding = ((EJBContainer) container).getAnnotation(LocalBinding.class); if (binding != null) log.debug("JNDI name has not been explicitly set for EJB " + container.getEjbName() + ", interface " + businessInterface.getName()); JBossSessionBeanMetaData smd = (JBossSessionBeanMetaData) container.getXml(); jndiName = smd.getJndiName();
@Override public Deployment createDeployment(DeploymentUnit unit) { ArchiveDeployment dep = newDeployment(unit); dep.setRootFile(new VirtualFileAdaptor(((VFSDeploymentUnit)unit).getRoot())); dep.setRuntimeClassLoader(unit.getClassLoader()); dep.setType(getDeploymentType()); Service service = dep.getService(); Ejb3Deployment ejb3Deployment = unit.getAttachment(Ejb3Deployment.class); if (ejb3Deployment == null) throw new IllegalStateException("Deployment unit does not contain ejb3 deployment"); // Copy the attachments dep.addAttachment(Ejb3Deployment.class, ejb3Deployment); Iterator it = ejb3Deployment.getEjbContainers().values().iterator(); while (it.hasNext()) { EJBContainer container = (EJBContainer)it.next(); if (isWebServiceBean(container)) { String ejbName = container.getEjbName(); String epBean = container.getBeanClassName(); // Create the endpoint Endpoint ep = newEndpoint(epBean); ep.setShortName(ejbName); service.addEndpoint(ep); } } return dep; }
JBossEnterpriseBeanMetaData beanMetaData = ejbContainer.getXml(); JndiEnvironmentRefsGroup jndiEnvironment = new JndiEnvironmentImpl(beanMetaData, ejbContainer.getClassloader()); String injectorMCBeanName = this.getInjectorMCBeanNamePrefix() + ",bean=" + ejbContainer.getEjbName(); BeanMetaData injectorBMD = this.createInjectorBMD(injectorMCBeanName, eeInjector, switchBoard); this.jbossUnit.addAttachment(BeanMetaData.class + ":" + injectorMCBeanName, injectorBMD); DependencyPolicy dependsPolicy = ejbContainer.getDependencyPolicy(); dependsPolicy.addDependency(injectorMCBeanName); log.debug("Added Injector dependency: " + injectorMCBeanName + " for EJB: " + ejbContainer.getEjbName() + " in unit " + this.jbossUnit); JndiEnvironmentRefsGroup jndiEnvironmentForInterceptor = new JndiEnvironmentImpl(interceptor, ejbContainer.getClassloader()); String interceptorInjectorMCBeanName = this.getInjectorMCBeanNamePrefix() + ",bean=" + ejbContainer.getEjbName() + ",interceptor=" + interceptor.getName(); BeanMetaData injectorBMD = this.createInjectorBMD(interceptorInjectorMCBeanName, lazyEEInjector, switchBoard); this.jbossUnit.addAttachment(BeanMetaData.class + ":" + interceptorInjectorMCBeanName, injectorBMD); DependencyPolicy dependsPolicy = ejbContainer.getDependencyPolicy(); dependsPolicy.addDependency(interceptorInjectorMCBeanName); log.debug("Added Injector dependency: " + interceptorInjectorMCBeanName + " for interceptor " + interceptor.getName() + " of EJB: " + ejbContainer.getEjbName() + " in unit " + this.jbossUnit);
JBossEnterpriseBeanMetaData beanMetaData = container.getXml(); if (beanMetaData instanceof JBossGenericBeanMetaData) ejbMetaData.setEjbName(container.getEjbName()); ejbMetaData.setEjbClass(container.getBeanClassName());
public String getIdentifier() { return getEjbName(); }
Local local = (Local) resolveAnnotation(Local.class); Remote remote = (Remote) resolveAnnotation(Remote.class); + " annotations without 'value' attribute on " + this.getEjbName() + ". " + issue); + " and " + Remote.class.getName() + " on " + this.getEjbName() + ". " + issue);
Remote remoteAnnotation = ((EJBContainer) container).getAnnotation(Remote.class); RemoteHome remoteHomeAnnotation = ((EJBContainer) container).getAnnotation(RemoteHome.class); Set<Class<?>> remoteAndRemoteBusinessInterfaces = new HashSet<Class<?>>(); Class<?> beanClass = container.getBeanClass(); {(Class<?>) businessInterfaces[0]}; remoteAnnotation = new RemoteImpl(rtn); ((EJBContainer) container).getAnnotations().addClassAnnotation(javax.ejb.Remote.class, remoteAnnotation); return rtn; .toArray(new Class[remoteAndRemoteBusinessInterfaces.size()]); remoteAnnotation = new RemoteImpl(remotesArray); ((EJBContainer) container).getAnnotations().addClassAnnotation(Remote.class, remoteAnnotation); return remoteAnnotation.value();
public void initialize(EJBContainer container) throws Exception Advisor advisor = container.getAdvisor(); cacheMap = new CacheMap(); PersistenceManager pmConfig = (PersistenceManager) advisor.resolveAnnotation(PersistenceManager.class); EJBContainer ejbContainer = (EJBContainer)container; String pmConfigValue = pmConfig.value(); PersistenceManagerFactoryRegistry pmFactoryRegistry = ejbContainer.getDeployment() .getPersistenceManagerFactoryRegistry(); PersistenceManagerFactory pmFactory = pmFactoryRegistry.getPersistenceManagerFactory(pmConfigValue); log = Logger.getLogger(getClass().getName() + "." + container.getEjbName()); log.debug("Initializing SimpleStatefulCache with maxSize: " +maxSize + " timeout: " +sessionTimeout + " for " +container.getObjectName().getCanonicalName() ); timeoutTask = new SessionTimeoutTask("SFSB Passivation Thread - " + container.getObjectName().getCanonicalName()); removalTask = new RemovalTimeoutTask("SFSB Removal Thread - " + container.getObjectName().getCanonicalName());
public Object invoke(Invocation invocation) throws Throwable String contextID = container.getJaccContextId(); SecurityActions.setContextID(contextID); SecurityDomain domain = (SecurityDomain)container.getAnnotation(SecurityDomain.class); JBossAssemblyDescriptorMetaData jmd = container.getAssemblyDescriptor(); if(jmd != null)
timeoutMethodParams = this.loadTimeoutMethodParamTypes(beanClass.getClassLoader(), paramTypes); if (getAnnotation(Timeout.class, method) != null)
/** * {@inheritDoc} */ public Object lookup(String name) throws IllegalArgumentException { try { Object obj = this.getEnc().lookup(name); return obj; } catch (NamingException ne) { throw new RuntimeException(ne); } }
public Object createPerClass(Advisor advisor) { // Must be a separate line (EJBContainer cannot be dereferenced) EJBContainer container = EJBContainer.getEJBContainer(advisor); SecurityDomain securityAnnotation = (SecurityDomain) advisor.resolveAnnotation(SecurityDomain.class); //If there is no annotation, return a null action interceptor if(securityAnnotation == null) return new NullInterceptor(); CodeSource ejbCS = advisor.getClazz().getProtectionDomain().getCodeSource(); String ejbName = container.getEjbName(); return new RoleBasedAuthorizationInterceptorv2(container, ejbCS, ejbName); } }
AnnotationRepository annotations = container.getAnnotations(); if (methodName.equals("*")) throw new RuntimeException("Unable to create annotation for method/field " + methodName + " for EJB " + container.getEjbName(), e);
@SuppressWarnings("unchecked") public <T> T getSecurityManager(Class<T> type) { try { InitialContext ctx = getInitialContext(); SecurityDomain securityAnnotation = (SecurityDomain) resolveAnnotation(SecurityDomain.class); if (securityAnnotation != null && securityAnnotation.value().length() > 0) { return (T) SecurityDomainManager.getSecurityManager(securityAnnotation.value(),ctx); } return null; } catch (NamingException e) { throw new RuntimeException(e); } }