Package org.jboss.metadata.javaee.spec

Examples of org.jboss.metadata.javaee.spec.ResourceReferenceMetaData


      throws Exception
   {
      EjbJar2xMetaData result = unmarshal();
      IEnterpriseBeanMetaData mdb = result.getEnterpriseBeans().get("TopicPublisher");
      ResourceReferencesMetaData resources = mdb.getResourceReferences();
      ResourceReferenceMetaData jmsRef1 = resources.get("jms/MyTopicConnection");
      assertNotNull(jmsRef1);
      assertEquals("jms/MyTopicConnection", jmsRef1.getResourceRefName());
      assertEquals("javax.jms.TopicConnectionFactory", jmsRef1.getType());
      assertEquals(ResourceAuthorityType.Container, jmsRef1.getResAuth());
      ResourceReferenceMetaData jmsRef2 = resources.get("jms/TopicName");
      assertNotNull(jmsRef2);
      assertEquals("jms/TopicName", jmsRef2.getResourceRefName());
      assertEquals("javax.jms.Topic", jmsRef2.getType());
      assertEquals(ResourceAuthorityType.Container, jmsRef2.getResAuth());
   }
View Full Code Here


      ResourceInjectionTargetMetaData orbField = orbResTargets.iterator().next();
      assertEquals(Super.class.getName(), orbField.getInjectionTargetClass());
      assertEquals("orb", orbField.getInjectionTargetName());

      // URL maps to resource-ref
      ResourceReferenceMetaData urlRes = clientMD.getResourceReferenceByName("jboss-home-page");
      assertNotNull(urlRes);
      assertEquals("http://www.jboss.org", urlRes.getMappedName());
      Set<ResourceInjectionTargetMetaData> urlResTargets = urlRes.getInjectionTargets();
      assertNotNull(urlResTargets);
      assertEquals(1, urlResTargets.size());
      ResourceInjectionTargetMetaData urlResField = urlResTargets.iterator().next();
      assertEquals(Super.class.getName(), urlResField.getInjectionTargetClass());
      assertEquals("jbossHome", urlResField.getInjectionTargetName());
View Full Code Here

   public void testJndiNameForResourceReferences()
   {
      JBossEnvironmentRefsGroupMetaData spec = new JBossEnvironmentRefsGroupMetaData();
      ResourceReferencesMetaData refs = new ResourceReferencesMetaData();
      spec.setResourceReferences(refs);
      ResourceReferenceMetaData ref = new ResourceReferenceMetaData();
      ref.setResourceRefName("jms/MyQueueConnection");
      ref.setType("javax.jms.QueueConnectionFactory");
      ref.setResAuth(ResourceAuthorityType.Container);
      refs.add(ref);
      ref = new ResourceReferenceMetaData();
      ref.setResourceRefName("jms/QueueName");
      ref.setType("javax.jms.Queue");
      ref.setResAuth(ResourceAuthorityType.Container);
      refs.add(ref);
     
      JBossEnvironmentRefsGroupMetaData jboss = new JBossEnvironmentRefsGroupMetaData();
      refs = new ResourceReferencesMetaData();
      jboss.setResourceReferences(refs);
      ref = new ResourceReferenceMetaData();
      ref.setResourceRefName("jms/MyQueueConnection");
      ref.setResourceName("queuefactoryref");
      refs.add(ref);
      ref = new ResourceReferenceMetaData();
      ref.setResourceRefName("jms/QueueName");
      ref.setResourceName("queueref");
      refs.add(ref);
     
      ResourceManagersMetaData rms = new ResourceManagersMetaData();
      ResourceManagerMetaData rm = new ResourceManagerMetaData();
      rm.setResName("queuefactoryref");
      rm.setResJndiName("java:/JmsXA");
      rms.add(rm);
      rm = new ResourceManagerMetaData();
      rm.setResName("queueref");
      rm.setResJndiName("queue/testQueue");
      rms.add(rm);
     
      JBossEnvironmentRefsGroupMetaData merged = new JBossEnvironmentRefsGroupMetaData();
      merged.merge(jboss, spec, rms);
      refs = merged.getResourceReferences();
      assertNotNull(refs);
      assertEquals(2, refs.size());
      ref = refs.get("jms/MyQueueConnection");
      assertNotNull(ref);
      assertEquals("javax.jms.QueueConnectionFactory", ref.getType());
      assertEquals(ResourceAuthorityType.Container, ref.getResAuth());
      assertEquals("queuefactoryref", ref.getResourceName());
      assertEquals("java:/JmsXA", ref.getJndiName());
      ref = refs.get("jms/QueueName");
      assertNotNull(ref);
      assertEquals("javax.jms.Queue", ref.getType());
      assertEquals(ResourceAuthorityType.Container, ref.getResAuth());
      assertEquals("queueref", ref.getResourceName());
      assertEquals("queue/testQueue", ref.getJndiName());
   }
View Full Code Here

      assertEquals(MyStatelessLocal.class, injectedField.getBeanInterface());

      ResourceReferencesMetaData resRefs = sbeanMD.getResourceReferences();
      //
      assertEquals(3, resRefs.size());
      ResourceReferenceMetaData homePageRef = resRefs.get(MyStatelessBean.class.getName() + "/homePage");
      assertNotNull(homePageRef);
      assertEquals("java.net.URL", homePageRef.getType());
      Set<ResourceInjectionTargetMetaData> homePageRefTargets = homePageRef.getInjectionTargets();
      assertEquals(1, homePageRefTargets.size());
      ResourceInjectionTargetMetaData homePageRefTarget = homePageRefTargets.iterator().next();
      assertEquals("org.jboss.test.metadata.annotation.ejb3.MyStatelessBean", homePageRefTarget.getInjectionTargetClass());
      assertEquals("setHomePage", homePageRefTarget.getInjectionTargetName());
      ResourceReferenceMetaData googleHome = resRefs.get("googleHome");
      assertNotNull(googleHome);
      assertEquals("java.net.URL", googleHome.getType());
      assertEquals("http://www.google.com", googleHome.getMappedName());
      ResourceReferenceMetaData defaultDS = resRefs.get("jdbc/ds");
      assertNotNull(defaultDS);
      assertEquals("javax.sql.DataSource", defaultDS.getType());
      assertEquals("java:/DefaultDS", defaultDS.getMappedName());

      ResourceEnvironmentReferencesMetaData resEnvRefs = sbeanMD.getResourceEnvironmentReferences();
      assertEquals(1, resEnvRefs.size());
      ResourceEnvironmentReferenceMetaData contextRef = resEnvRefs.get(sbeanMD.getEjbClass() + "/context");
      assertNotNull(contextRef);
View Full Code Here

      assertEquals(MyStatelessLocal.class, local2.getBeanInterface());

      ResourceReferencesMetaData resRefs = env.getResourceReferences();
      //
      assertEquals(3, resRefs.size());
      ResourceReferenceMetaData homePageRef = resRefs.get(MyServlet.class.getName() + "/homePage");
      assertNotNull(homePageRef);
      assertEquals("java.net.URL", homePageRef.getType());
      Set<ResourceInjectionTargetMetaData> homePageRefTargets = homePageRef.getInjectionTargets();
      assertEquals(1, homePageRefTargets.size());
      ResourceInjectionTargetMetaData homePageRefTarget = homePageRefTargets.iterator().next();
      assertEquals(MyServlet.class.getName(), homePageRefTarget.getInjectionTargetClass());
      assertEquals("setHomePage", homePageRefTarget.getInjectionTargetName());
      ResourceReferenceMetaData googleHome = resRefs.get("googleHome");
      assertNotNull(googleHome);
      assertEquals("java.net.URL", googleHome.getType());
      assertEquals("http://www.google.com", googleHome.getMappedName());
      ResourceReferenceMetaData defaultDS = resRefs.get("jdbc/ds");
      assertNotNull(defaultDS);
      assertEquals("javax.sql.DataSource", defaultDS.getType());
      assertEquals("java:/DefaultDS", defaultDS.getMappedName());

      ResourceEnvironmentReferencesMetaData resEnvRefs = env.getResourceEnvironmentReferences();
      assertEquals(1, resEnvRefs.size());
      ResourceEnvironmentReferenceMetaData contextRef = resEnvRefs.get(MyServlet.class.getName() + "/utx");
      assertNotNull(contextRef);
View Full Code Here

      resEnvRef.setJndiName(resEnvRef.getResourceEnvRefName() + "Original");
      resEnvRefs.add(resEnvRef);
      originalEnv.setResourceEnvironmentReferences(resEnvRefs);
     
      ResourceReferencesMetaData resRefs = new ResourceReferencesMetaData();
      ResourceReferenceMetaData resRef = new ResourceReferenceMetaData();
      resRef.setResourceRefName("resRef1");
      resRef.setJndiName(resRef.getResourceRefName() + "Original");
      resRefs.add(resRef);
      resRef = new ResourceReferenceMetaData();
      resRef.setResourceRefName("resRef2");
      resRef.setJndiName(resRef.getResourceRefName() + "Original");
      resRefs.add(resRef);
      originalEnv.setResourceReferences(resRefs);
     
      JBossServiceReferencesMetaData serviceRefs = new JBossServiceReferencesMetaData();
      JBossServiceReferenceMetaData serviceRef = new JBossServiceReferenceMetaData();
      serviceRef.setServiceRefName("serviceRef1");
      serviceRef.setJndiName(serviceRef.getServiceRefName() + "Original");
      serviceRefs.add(serviceRef);
      serviceRef = new JBossServiceReferenceMetaData();
      serviceRef.setServiceRefName("serviceRef2");
      serviceRef.setJndiName(serviceRef.getServiceRefName() + "Original");
      serviceRefs.add(serviceRef);
      originalEnv.setServiceReferences(serviceRefs);
     
      // override
      JBossSessionBeanMetaData override = new JBossSessionBeanMetaData();
      override.setEjbName("session");
      JBossEnvironmentRefsGroupMetaData overrideEnv = new JBossEnvironmentRefsGroupMetaData();
      override.setJndiEnvironmentRefsGroup(overrideEnv);
      overrideEnv.setAnnotatedEjbReferences(new AnnotatedEJBReferencesMetaData());

      localRefs = new EJBLocalReferencesMetaData();
      localRef = new EJBLocalReferenceMetaData();
      localRef.setEjbRefName("localRef2");
      localRef.setJndiName(localRef.getEjbRefName() + "Override");
      localRefs.add(localRef);
      overrideEnv.setEjbLocalReferences(localRefs);
     
      ejbRefs = new EJBReferencesMetaData();
      ejbRef = new EJBReferenceMetaData();
      ejbRef.setEjbRefName("ejbRef2");
      ejbRef.setJndiName(ejbRef.getEjbRefName() + "Override");
      ejbRefs.add(ejbRef);
      overrideEnv.setEjbReferences(ejbRefs);

      envEntries = new EnvironmentEntriesMetaData();
      envEntry = new EnvironmentEntryMetaData();
      envEntry.setEnvEntryName("entry2");
      envEntry.setJndiName(envEntry.getEnvEntryName() + "Override");
      envEntries.add(envEntry);
      envEntry = new EnvironmentEntryMetaData();
      envEntry.setEnvEntryName("entry3");
      envEntry.setJndiName(envEntry.getEnvEntryName() + "Override");
      envEntries.add(envEntry);
      overrideEnv.setEnvironmentEntries(envEntries);

      destRefs = new MessageDestinationReferencesMetaData();
      destRef = new MessageDestinationReferenceMetaData();
      destRef.setMessageDestinationRefName("destRef2");
      destRef.setJndiName(destRef.getMessageDestinationRefName() + "Override");
      destRefs.add(destRef);
      overrideEnv.setMessageDestinationReferences(destRefs);
     
      pctxRefs = new PersistenceContextReferencesMetaData();
      pctxRef = new PersistenceContextReferenceMetaData();
      pctxRef.setPersistenceContextRefName("pctxRef2");
      pctxRef.setJndiName(pctxRef.getPersistenceContextRefName() + "Override");
      pctxRefs.add(pctxRef);
      pctxRef = new PersistenceContextReferenceMetaData();
      pctxRef.setPersistenceContextRefName("pctxRef3");
      pctxRef.setJndiName(pctxRef.getPersistenceContextRefName() + "Override");
      pctxRefs.add(pctxRef);
      overrideEnv.setPersistenceContextRefs(pctxRefs);
     
      pUnitRefs = new PersistenceUnitReferencesMetaData();
      pUnitRef = new PersistenceUnitReferenceMetaData();
      pUnitRef.setPersistenceUnitRefName("pUnitRef2");
      pUnitRef.setJndiName(pUnitRef.getPersistenceUnitRefName() + "Override");
      pUnitRefs.add(pUnitRef);
      pUnitRef = new PersistenceUnitReferenceMetaData();
      pUnitRef.setPersistenceUnitRefName("pUnitRef3");
      pUnitRef.setJndiName(pUnitRef.getPersistenceUnitRefName() + "Override");
      pUnitRefs.add(pUnitRef);
      overrideEnv.setPersistenceUnitRefs(pUnitRefs);
     
      callbacks = new LifecycleCallbacksMetaData();
      callback = new LifecycleCallbackMetaData();
      callback.setClassName("class2");
      callback.setMethodName("postCtor2Override");
      callbacks.add(callback);
      callback = new LifecycleCallbackMetaData();
      callback.setClassName("class3");
      callback.setMethodName("postCtor3Override");
      callbacks.add(callback);
      overrideEnv.setPostConstructs(callbacks);

      callbacks = new LifecycleCallbacksMetaData();
      callback = new LifecycleCallbackMetaData();
      callback.setClassName("class2");
      callback.setMethodName("preDestroy2Override");
      callbacks.add(callback);
      callback = new LifecycleCallbackMetaData();
      callback.setClassName("class3");
      callback.setMethodName("preDestroy3Override");
      callbacks.add(callback);
      overrideEnv.setPreDestroys(callbacks);

      resEnvRefs = new ResourceEnvironmentReferencesMetaData();
      resEnvRef = new ResourceEnvironmentReferenceMetaData();
      resEnvRef.setResourceEnvRefName("resEnvRef2");
      resEnvRef.setJndiName(resEnvRef.getResourceEnvRefName() + "Override");
      resEnvRefs.add(resEnvRef);
      resEnvRef = new ResourceEnvironmentReferenceMetaData();
      resEnvRef.setResourceEnvRefName("resEnvRef3");
      resEnvRef.setJndiName(resEnvRef.getResourceEnvRefName() + "Override");
      resEnvRefs.add(resEnvRef);
      overrideEnv.setResourceEnvironmentReferences(resEnvRefs);
     
      resRefs = new ResourceReferencesMetaData();
      resRef = new ResourceReferenceMetaData();
      resRef.setResourceRefName("resRef2");
      resRef.setJndiName(resRef.getResourceRefName() + "Override");
      resRefs.add(resRef);
      overrideEnv.setResourceReferences(resRefs);

      serviceRefs = new JBossServiceReferencesMetaData();
      serviceRef = new JBossServiceReferenceMetaData();
      serviceRef.setServiceRefName("serviceRef2");
      serviceRef.setJndiName(serviceRef.getServiceRefName() + "Override");
      serviceRefs.add(serviceRef);
      serviceRef = new JBossServiceReferenceMetaData();
      serviceRef.setServiceRefName("serviceRef3");
      serviceRef.setJndiName(serviceRef.getServiceRefName() + "Override");
      serviceRefs.add(serviceRef);
      overrideEnv.setServiceReferences(serviceRefs);
     
      // merged
      JBossSessionBeanMetaData merged = new JBossSessionBeanMetaData();
      JBossEnterpriseBeansMetaData mergedBeans = new JBossEnterpriseBeansMetaData();
      mergedBeans.setEjbJarMetaData(new JBoss50MetaData());
      merged.setEnterpriseBeansMetaData(mergedBeans);
      merged.merge(override, original);
      JBossEnvironmentRefsGroupMetaData mergedEnv = (JBossEnvironmentRefsGroupMetaData) merged.getJndiEnvironmentRefsGroup();
      assertNotNull(mergedEnv);
     
      // Simple in here
      assertNotNull(merged.getAnnotatedEjbReferences());
     

      // local refs
      localRefs = mergedEnv.getEjbLocalReferences();
      assertNotNull(localRefs);
      assertEquals(2, localRefs.size());
      localRef = localRefs.get("localRef1");
      assertNotNull(localRef);
      assertEquals(localRef.getEjbRefName() + "Original", localRef.getJndiName());
      localRef = localRefs.get("localRef2");
      assertNotNull(localRef);
      assertEquals(localRef.getEjbRefName() + "Override", localRef.getJndiName());
     
      ejbRefs = mergedEnv.getEjbReferences();
      assertNotNull(ejbRefs);
      assertEquals(2, ejbRefs.size());
      ejbRef = ejbRefs.get("ejbRef1");
      assertNotNull(ejbRef);
      assertEquals(ejbRef.getEjbRefName() + "Original", ejbRef.getJndiName());
      ejbRef = ejbRefs.get("ejbRef2");
      assertNotNull(ejbRef);
      assertEquals(ejbRef.getEjbRefName() + "Override", ejbRef.getJndiName());
     
      envEntries = mergedEnv.getEnvironmentEntries();
      assertNotNull(envEntries);
      assertEquals(3, envEntries.size());
      envEntry = envEntries.get("entry1");
      assertNotNull(envEntry);
      assertEquals(envEntry.getEnvEntryName() + "Original", envEntry.getJndiName());
      envEntry = envEntries.get("entry2");
      assertNotNull(envEntry);
      assertEquals(envEntry.getEnvEntryName() + "Override", envEntry.getJndiName());
      envEntry = envEntries.get("entry3");
      assertNotNull(envEntry);
      assertEquals(envEntry.getEnvEntryName() + "Override", envEntry.getJndiName());
     
      destRefs = mergedEnv.getMessageDestinationReferences();
      assertNotNull(destRefs);
      assertEquals(2, destRefs.size());
      destRef = destRefs.get("destRef1");
      assertNotNull(destRef);
      assertEquals(destRef.getMessageDestinationRefName() + "Original", destRef.getJndiName());
      destRef = destRefs.get("destRef2");
      assertNotNull(destRef);
      assertEquals(destRef.getMessageDestinationRefName() + "Override", destRef.getJndiName());
     
      pctxRefs = mergedEnv.getPersistenceContextRefs();
      assertNotNull(pctxRefs);
      assertEquals(3, pctxRefs.size());
      pctxRef = pctxRefs.get("pctxRef1");
      assertNotNull(pctxRef);
      assertEquals(pctxRef.getPersistenceContextRefName() + "Original", pctxRef.getJndiName());
      pctxRef = pctxRefs.get("pctxRef2");
      assertNotNull(pctxRef);
      assertEquals(pctxRef.getPersistenceContextRefName() + "Override", pctxRef.getJndiName());
      pctxRef = pctxRefs.get("pctxRef3");
      assertNotNull(pctxRef);
      assertEquals(pctxRef.getPersistenceContextRefName() + "Override", pctxRef.getJndiName());
     
      pUnitRefs = mergedEnv.getPersistenceUnitRefs();
      assertNotNull(pUnitRefs);
      assertEquals(3, pUnitRefs.size());
      pUnitRef = pUnitRefs.get("pUnitRef1");
      assertNotNull(pUnitRef);
      assertEquals(pUnitRef.getPersistenceUnitRefName() + "Original", pUnitRef.getJndiName());
      pUnitRef = pUnitRefs.get("pUnitRef2");
      assertNotNull(pUnitRef);
      assertEquals(pUnitRef.getPersistenceUnitRefName() + "Override", pUnitRef.getJndiName());
      pUnitRef = pUnitRefs.get("pUnitRef3");
      assertNotNull(pUnitRef);
      assertEquals(pUnitRef.getPersistenceUnitRefName() + "Override", pUnitRef.getJndiName());
     
      callbacks = mergedEnv.getPostConstructs();
      assertNotNull(callbacks);
      assertEquals(4, callbacks.size());

      callbacks = mergedEnv.getPreDestroys();
      assertNotNull(callbacks);
      assertEquals(4, callbacks.size());

      resEnvRefs = mergedEnv.getResourceEnvironmentReferences();
      assertNotNull(resEnvRefs);
      assertEquals(3, resEnvRefs.size());
      resEnvRef = resEnvRefs.get("resEnvRef1");
      assertNotNull(resEnvRef);
      assertEquals(resEnvRef.getResourceEnvRefName() + "Original", resEnvRef.getJndiName());
      resEnvRef = resEnvRefs.get("resEnvRef2");
      assertNotNull(resEnvRef);
      assertEquals(resEnvRef.getResourceEnvRefName() + "Override", resEnvRef.getJndiName());
      resEnvRef = resEnvRefs.get("resEnvRef3");
      assertNotNull(resEnvRef);
      assertEquals(resEnvRef.getResourceEnvRefName() + "Override", resEnvRef.getJndiName());
     
      resRefs = mergedEnv.getResourceReferences();
      assertNotNull(resRefs);
      assertEquals(2, resRefs.size());
      resRef = resRefs.get("resRef1");
      assertNotNull(resRef);
      assertEquals(resRef.getResourceRefName() + "Original", resRef.getJndiName());
      resRef = resRefs.get("resRef2");
      assertNotNull(resRef);
      assertEquals(resRef.getResourceRefName() + "Override", resRef.getJndiName());
     
      serviceRefs = (JBossServiceReferencesMetaData) mergedEnv.getServiceReferences();
      assertNotNull(serviceRefs);
      assertEquals(3, serviceRefs.size());
      serviceRef = (JBossServiceReferenceMetaData) serviceRefs.get("serviceRef1");
View Full Code Here

    */
  
   @Deprecated
   protected static ResourceReferenceMetaData createResourceEnvRef(Resource annotation, Field element)
   {
      ResourceReferenceMetaData ref = new ResourceReferenceMetaData();
      String name = annotation.name();
      if (name.length() == 0)
         name = getName(element);
      if (annotation.mappedName().length() > 0)
         ref.setMappedName(annotation.mappedName());
      if (annotation.type() != Object.class)
         ref.setType(annotation.type().getName());
      else
         ref.setType(getType(element));
      Descriptions descriptions = ProcessorUtils.getDescription(annotation.description());
      if (descriptions != null)
         ref.setDescriptions(descriptions);

      String injectionName = getInjectionName(element);
      Set<ResourceInjectionTargetMetaData> injectionTargets = ProcessorUtils
            .getInjectionTargets(injectionName, element);
      if (injectionTargets != null)
         ref.setInjectionTargets(injectionTargets);

      return ref;
   }
View Full Code Here

/* 197 */       if (resRefs == null)
/*     */       {
/* 199 */         resRefs = new ResourceReferencesMetaData();
/* 200 */         refs.setResourceReferences(resRefs);
/*     */       }
/* 202 */       ResourceReferenceMetaData ref = createResourceRef(annotation, element);
/* 203 */       resRefs.add(ref);
/* 204 */       if (trace)
/* 205 */         log.trace("created resource-ref: " + ref);
/*     */     }
/* 207 */     else if (isMessageDestinationRef(type))
View Full Code Here

/*     */
/*     */   protected abstract String getDeclaringClass(E paramE);
/*     */
/*     */   protected ResourceReferenceMetaData createResourceRef(Resource annotation, E element)
/*     */   {
/* 252 */     ResourceReferenceMetaData ref = new ResourceReferenceMetaData();
/* 253 */     String name = annotation.name();
/* 254 */     if (name.length() == 0)
/* 255 */       name = getName(element);
/* 256 */     ref.setResourceRefName(name);
/* 257 */     Resource.AuthenticationType authType = annotation.authenticationType();
/* 258 */     ResourceAuthorityType resAuthType = ResourceAuthorityType.Container;
/* 259 */     if (authType == Resource.AuthenticationType.APPLICATION)
/* 260 */       resAuthType = ResourceAuthorityType.Application;
/* 261 */     ref.setResAuth(resAuthType);
/* 262 */     if (annotation.mappedName().length() > 0)
/* 263 */       ref.setMappedName(annotation.mappedName());
/* 264 */     Descriptions descriptions = ProcessorUtils.getDescription(annotation.description());
/* 265 */     if (descriptions != null)
/*     */     {
/* 267 */       ref.setDescriptions(descriptions);
/*     */     }
/* 269 */     if (annotation.type() != Object.class)
/* 270 */       ref.setType(annotation.type().getName());
/*     */     else {
/* 272 */       ref.setType(getType(element));
/*     */     }
/* 274 */     String injectionName = getInjectionName(element);
/* 275 */     Set injectionTargets = ProcessorUtils.getInjectionTargets(injectionName, element);
/* 276 */     if (injectionTargets != null) {
/* 277 */       ref.setInjectionTargets(injectionTargets);
/*     */     }
/* 279 */     return ref;
/*     */   }
View Full Code Here

* @author Remy Maucherat
*/
public class ResourceReferenceMetaDataParser extends MetaDataElementParser {

    public static ResourceReferenceMetaData parse(XMLStreamReader reader) throws XMLStreamException {
        ResourceReferenceMetaData resourceReference = new ResourceReferenceMetaData();

        // Handle attributes
        final int count = reader.getAttributeCount();
        for (int i = 0; i < count; i ++) {
            final String value = reader.getAttributeValue(i);
            if (reader.getAttributeNamespace(i) != null) {
                continue;
            }
            final Attribute attribute = Attribute.forName(reader.getAttributeLocalName(i));
            switch (attribute) {
                case ID: {
                    resourceReference.setId(value);
                    break;
                }
                default: throw unexpectedAttribute(reader, i);
            }
        }

        DescriptionsImpl descriptions = new DescriptionsImpl();
        // Handle elements
        while (reader.hasNext() && reader.nextTag() != END_ELEMENT) {
            if (DescriptionsMetaDataParser.parse(reader, descriptions)) {
                if (resourceReference.getDescriptions() == null) {
                    resourceReference.setDescriptions(descriptions);
                }
                continue;
            }
            if (ResourceInjectionMetaDataParser.parse(reader, resourceReference)) {
                continue;
            }
            final Element element = Element.forName(reader.getLocalName());
            switch (element) {
                case RES_REF_NAME:
                    resourceReference.setResourceRefName(reader.getElementText());
                    break;
                case RES_TYPE:
                    resourceReference.setType(reader.getElementText());
                    break;
                case RES_AUTH:
                    resourceReference.setResAuth(ResourceAuthorityType.valueOf(reader.getElementText()));
                    break;
                case RES_SHARING_SCOPE:
                    resourceReference.setResSharingScope(ResourceSharingScopeType.valueOf(reader.getElementText()));
                    break;
                case RESOURCE_NAME:
                    resourceReference.setResourceName(reader.getElementText());
                    break;
                case RES_URL:
                    resourceReference.setResUrl(reader.getElementText());
                    break;
                default: throw unexpectedElement(reader);
            }
        }

View Full Code Here

TOP

Related Classes of org.jboss.metadata.javaee.spec.ResourceReferenceMetaData

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.