Package org.apache.aries.jpa.blueprint.aries.test

Source Code of org.apache.aries.jpa.blueprint.aries.test.NSHandlerTest$ParserContextMock

/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License.  You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied.  See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.aries.jpa.blueprint.aries.test;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.persistence.EntityManagerFactory;
import javax.persistence.PersistenceContextType;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.apache.aries.blueprint.ComponentDefinitionRegistry;
import org.apache.aries.blueprint.ExtendedBeanMetadata;
import org.apache.aries.blueprint.ParserContext;
import org.apache.aries.blueprint.PassThroughMetadata;
import org.apache.aries.blueprint.container.Parser;
import org.apache.aries.blueprint.reflect.BeanMetadataImpl;
import org.apache.aries.blueprint.reflect.RefMetadataImpl;
import org.apache.aries.blueprint.reflect.ReferenceMetadataImpl;
import org.apache.aries.jpa.blueprint.aries.impl.NSHandler;
import org.apache.aries.jpa.container.context.PersistenceContextProvider;
import org.apache.aries.unittest.mocks.MethodCall;
import org.apache.aries.unittest.mocks.Skeleton;
import org.junit.Before;
import org.junit.Test;
import org.osgi.framework.Bundle;
import org.osgi.service.blueprint.reflect.BeanArgument;
import org.osgi.service.blueprint.reflect.BeanMetadata;
import org.osgi.service.blueprint.reflect.BeanProperty;
import org.osgi.service.blueprint.reflect.ComponentMetadata;
import org.osgi.service.blueprint.reflect.Metadata;
import org.osgi.service.blueprint.reflect.RefMetadata;
import org.osgi.service.blueprint.reflect.ReferenceMetadata;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class NSHandlerTest {
  private Element root;
  private Element root_110;
  private NSHandler sut;
  private PersistenceContextProvider manager;
  private ParserContext parserCtx;
  private Bundle clientBundle;
  private List<ComponentMetadata> registeredComponents = new ArrayList<ComponentMetadata>();
 
  @Before
  public void setup() throws Exception {
    registeredComponents.clear();
   
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    factory.setNamespaceAware(true);
    DocumentBuilder builder = factory.newDocumentBuilder();
    Document doc = builder.parse(getClass().getClassLoader().getResourceAsStream("jpa.xml"));
    root = doc.getDocumentElement();
   
    builder = factory.newDocumentBuilder();
    doc = builder.parse(getClass().getClassLoader().getResourceAsStream("jpa_110.xml"));
    root_110 = doc.getDocumentElement();
   
    sut = new NSHandler();
    manager = Skeleton.newMock(PersistenceContextProvider.class);
    sut.setManager(manager);
    sut.contextAvailable(null);
   
    clientBundle = Skeleton.newMock(Bundle.class);
       
    ComponentDefinitionRegistry registry = Skeleton.newMock(new ComponentDefinitionRegistryMock(),
        ComponentDefinitionRegistry.class);
   
    parserCtx = Skeleton.newMock(new ParserContextMock(), ParserContext.class);
    Skeleton.getSkeleton(parserCtx).setReturnValue(
        new MethodCall(ParserContext.class,"getComponentDefinitionRegistry"), registry);
    Skeleton.getSkeleton(parserCtx).setReturnValue(
        new MethodCall(ParserContext.class, "getDefaultActivation"), "eager");
    Skeleton.getSkeleton(parserCtx).setReturnValue(
        new MethodCall(ParserContext.class, "getDefaultTimeout"), "5000");
  }
 
  private static class ParserContextMock {
    public<T> T parseElement(Class<T> type, ComponentMetadata enclosingComponent, Element element) {
      return new Parser().parseElement(type, enclosingComponent, element);
    }
   
    public<T extends Metadata> T createMetadata(Class<T> clazz) {
      if (clazz.isAssignableFrom(ReferenceMetadata.class))
        return clazz.cast(new ReferenceMetadataImpl());
      else if (clazz.isAssignableFrom(RefMetadata.class))
        return clazz.cast(new RefMetadataImpl());
      else
        return clazz.cast(new BeanMetadataImpl());
    }
  }
 
  private class ComponentDefinitionRegistryMock {
    public ComponentMetadata getComponentDefinition(String id) {
      PassThroughMetadata bundleMeta =  Skeleton.newMock(PassThroughMetadata.class);
      Skeleton.getSkeleton(bundleMeta).setReturnValue(
          new MethodCall(PassThroughMetadata.class, "getObject"), clientBundle);
      return bundleMeta;
    }
   
    public void registerComponentDefinition(ComponentMetadata component) {
      registeredComponents.add(component);
    }
  }
 
  @Test
  public void testUnit() {
    Element e = getTestElement("unit", root);
    BeanMetadata bean =
      (BeanMetadata) sut.decorate(e, new BeanMetadataImpl(), parserCtx);
    BeanProperty property = (BeanProperty) bean.getProperties().get(0);
    ReferenceMetadata reference = (ReferenceMetadata) property.getValue();
   
    assertEquals("emf", property.getName());
    assertEquals(EntityManagerFactory.class.getName(), reference.getInterface());
    assertEquals("(&(!(org.apache.aries.jpa.proxy.factory=*))(osgi.unit.name=myUnit))", reference.getFilter());
   
    Skeleton.getSkeleton(manager).assertSkeletonNotCalled();
   
    assertTrue(registeredComponents.isEmpty());
  }
 
  @Test
  public void testUnit_110() {
    Element e = getTestElement("unit", root_110);
    BeanMetadata bean =
      (BeanMetadata) sut.decorate(e, new BeanMetadataImpl(), parserCtx);
    BeanProperty property = (BeanProperty) bean.getProperties().get(0);
    ReferenceMetadata reference = (ReferenceMetadata) property.getValue();
   
    assertEquals("emf", property.getName());
    assertEquals(EntityManagerFactory.class.getName(), reference.getInterface());
    assertEquals("(&(!(org.apache.aries.jpa.proxy.factory=*))(osgi.unit.name=myUnit))", reference.getFilter());
   
    Skeleton.getSkeleton(manager).assertSkeletonNotCalled();
   
    assertTrue(registeredComponents.isEmpty());
  }
 
  @Test
  public void testUnitNoName() {
    Element e = getTestElement("unitNoName", root);
    BeanMetadata bean =
      (BeanMetadata) sut.decorate(e, new BeanMetadataImpl(), parserCtx);
    BeanProperty property = (BeanProperty) bean.getProperties().get(0);
    ReferenceMetadata reference = (ReferenceMetadata) property.getValue();
   
    assertEquals("emf2", property.getName());
    assertEquals("(&(!(org.apache.aries.jpa.proxy.factory=*))"+NSHandler.EMPTY_UNIT_NAME_FILTER+")",
        reference.getFilter());

    assertTrue(registeredComponents.isEmpty());
  }
 
  @Test
  public void testUnitNoName_110() {
    Element e = getTestElement("unitNoName", root_110);
    BeanMetadata bean =
      (BeanMetadata) sut.decorate(e, new BeanMetadataImpl(), parserCtx);
    BeanProperty property = (BeanProperty) bean.getProperties().get(0);
    ReferenceMetadata reference = (ReferenceMetadata) property.getValue();
   
    assertEquals("emf2", property.getName());
    assertEquals("(&(!(org.apache.aries.jpa.proxy.factory=*))"+NSHandler.EMPTY_UNIT_NAME_FILTER+")",
        reference.getFilter());

    assertTrue(registeredComponents.isEmpty());
  }
 
  @Test
  public void testEmptyUnitName() {
    Element e = getTestElement("emptyUnitName", root);
    BeanMetadata bean =
      (BeanMetadata) sut.decorate(e, new BeanMetadataImpl(), parserCtx);
    BeanProperty property = (BeanProperty) bean.getProperties().get(0);
    ReferenceMetadata reference = (ReferenceMetadata) property.getValue();
   
    assertEquals("emf3", property.getName());
    assertEquals("(&(!(org.apache.aries.jpa.proxy.factory=*))"+NSHandler.EMPTY_UNIT_NAME_FILTER+")",
        reference.getFilter());
   
    assertTrue(registeredComponents.isEmpty());
  }
 
  @Test
  public void testEmptyUnitName_110() {
    Element e = getTestElement("emptyUnitName", root_110);
    BeanMetadata bean =
      (BeanMetadata) sut.decorate(e, new BeanMetadataImpl(), parserCtx);
    BeanProperty property = (BeanProperty) bean.getProperties().get(0);
    ReferenceMetadata reference = (ReferenceMetadata) property.getValue();
   
    assertEquals("emf3", property.getName());
    assertEquals("(&(!(org.apache.aries.jpa.proxy.factory=*))"+NSHandler.EMPTY_UNIT_NAME_FILTER+")",
        reference.getFilter());
   
    assertTrue(registeredComponents.isEmpty());
  }
 
  @Test
  public void testBeanMetadataOverwrite() {
    Element e = getTestElement("unit", root);
    BeanMetadataImpl oldBean = new BeanMetadataImpl();
    oldBean.setId("myid");
    oldBean.setProperties(Arrays.asList(Skeleton.newMock(BeanProperty.class)));
   
    BeanMetadata bean = (BeanMetadata) sut.decorate(e, oldBean, parserCtx);

    assertEquals("myid", bean.getId());
    assertEquals(2, bean.getProperties().size());
   
    assertTrue(registeredComponents.isEmpty());
  }
 
  @Test
  public void testBeanMetadataOverwrite_110() {
    Element e = getTestElement("unit", root);
    BeanMetadataImpl oldBean = new BeanMetadataImpl();
    oldBean.setId("myid");
    oldBean.setProperties(Arrays.asList(Skeleton.newMock(BeanProperty.class)));
   
    BeanMetadata bean = (BeanMetadata) sut.decorate(e, oldBean, parserCtx);

    assertEquals("myid", bean.getId());
    assertEquals(2, bean.getProperties().size());
   
    assertTrue(registeredComponents.isEmpty());
  }

  @Test
  public void testDefaultContext() {
    Element e = getTestElement("context", root);
    BeanMetadata bean =
      (BeanMetadata) sut.decorate(e, new BeanMetadataImpl(), parserCtx);
    BeanMetadata innerBean = (BeanMetadata) ((BeanProperty) bean.getProperties().get(0)).getValue();

    assertEquals("createEntityManager", innerBean.getFactoryMethod());
    assertEquals("internalClose", innerBean.getDestroyMethod());

    assertEquals(1, registeredComponents.size());
    ReferenceMetadata reference = (ReferenceMetadata) registeredComponents.get(0);
   
    assertEquals(EntityManagerFactory.class.getName(), reference.getInterface());
    assertEquals("(&(org.apache.aries.jpa.proxy.factory=true)(osgi.unit.name=myUnit))", reference.getFilter());
   
    Map<String,Object> props = new HashMap<String, Object>();
    props.put(PersistenceContextProvider.PERSISTENCE_CONTEXT_TYPE, PersistenceContextType.TRANSACTION);
    Skeleton.getSkeleton(manager).assertCalled(
        new MethodCall(PersistenceContextProvider.class, "registerContext", "myUnit", clientBundle, props));
  }
 
  @Test
  public void testDefaultContext_110() {
    Element e = getTestElement("context", root_110);
    BeanMetadata bean =
      (BeanMetadata) sut.decorate(e, new BeanMetadataImpl(), parserCtx);
    BeanMetadata innerBean = (BeanMetadata) ((BeanProperty) bean.getProperties().get(0)).getValue();

    assertEquals("createEntityManager", innerBean.getFactoryMethod());
    assertEquals("internalClose", innerBean.getDestroyMethod());

    assertEquals(1, registeredComponents.size());
    ReferenceMetadata reference = (ReferenceMetadata) registeredComponents.get(0);
   
    assertEquals(EntityManagerFactory.class.getName(), reference.getInterface());
    assertEquals("(&(org.apache.aries.jpa.proxy.factory=true)(osgi.unit.name=myUnit))", reference.getFilter());
   
    Map<String,Object> props = new HashMap<String, Object>();
    props.put(PersistenceContextProvider.PERSISTENCE_CONTEXT_TYPE, PersistenceContextType.TRANSACTION);
    Skeleton.getSkeleton(manager).assertCalled(
        new MethodCall(PersistenceContextProvider.class, "registerContext", "myUnit", clientBundle, props));
  }
 
  @Test
  public void testContextNoPersistenceContextProvider() {
   
    sut.contextUnavailable(null);
    Element e = getTestElement("context", root);
    BeanMetadata bean =
      (BeanMetadata) sut.decorate(e, new BeanMetadataImpl(), parserCtx);
    BeanMetadata innerBean = (BeanMetadata) ((BeanProperty) bean.getProperties().get(0)).getValue();

    assertEquals("createEntityManager", innerBean.getFactoryMethod());
    assertEquals("internalClose", innerBean.getDestroyMethod());

    assertEquals(1, registeredComponents.size());
    ReferenceMetadata reference = (ReferenceMetadata) registeredComponents.get(0);
   
    assertEquals(EntityManagerFactory.class.getName(), reference.getInterface());
    assertEquals("(&(org.apache.aries.jpa.proxy.factory=true)(osgi.unit.name=myUnit))", reference.getFilter());
   
    Map<String,Object> props = new HashMap<String, Object>();
    props.put(PersistenceContextProvider.PERSISTENCE_CONTEXT_TYPE, PersistenceContextType.TRANSACTION);
    Skeleton.getSkeleton(manager).assertNotCalled(
        new MethodCall(PersistenceContextProvider.class, "registerContext", String.class, Bundle.class, Map.class));
  }
 
  @Test
  public void testContextNoPersistenceContextProvider_110() {
   
    sut.contextUnavailable(null);
    Element e = getTestElement("context", root_110);
    BeanMetadata bean =
      (BeanMetadata) sut.decorate(e, new BeanMetadataImpl(), parserCtx);
    BeanMetadata innerBean = (BeanMetadata) ((BeanProperty) bean.getProperties().get(0)).getValue();

    assertEquals("createEntityManager", innerBean.getFactoryMethod());
    assertEquals("internalClose", innerBean.getDestroyMethod());

    assertEquals(1, registeredComponents.size());
    ReferenceMetadata reference = (ReferenceMetadata) registeredComponents.get(0);
   
    assertEquals(EntityManagerFactory.class.getName(), reference.getInterface());
    assertEquals("(&(org.apache.aries.jpa.proxy.factory=true)(osgi.unit.name=myUnit))", reference.getFilter());
   
    Map<String,Object> props = new HashMap<String, Object>();
    props.put(PersistenceContextProvider.PERSISTENCE_CONTEXT_TYPE, PersistenceContextType.TRANSACTION);
    Skeleton.getSkeleton(manager).assertNotCalled(
        new MethodCall(PersistenceContextProvider.class, "registerContext", String.class, Bundle.class, Map.class));
  }
 
  @Test
  public void testContextWithProps() {
    Element e = getTestElement("contextWithProps", root);
    BeanMetadata bean =
      (BeanMetadata) sut.decorate(e, new BeanMetadataImpl(), parserCtx);
    BeanMetadata innerBean = (BeanMetadata) ((BeanProperty) bean.getProperties().get(0)).getValue();
   
    assertEquals("createEntityManager", innerBean.getFactoryMethod());
   
    assertEquals(1, registeredComponents.size());
    ReferenceMetadata reference = (ReferenceMetadata) registeredComponents.get(0);
   
    assertEquals(EntityManagerFactory.class.getName(), reference.getInterface());
    assertEquals("(&(org.apache.aries.jpa.proxy.factory=true)"+NSHandler.EMPTY_UNIT_NAME_FILTER+")",
        reference.getFilter());
   
    Map<String,Object> props = new HashMap<String, Object>();
    props.put(PersistenceContextProvider.PERSISTENCE_CONTEXT_TYPE, PersistenceContextType.EXTENDED);
    props.put("one", "eins");
    props.put("two", "zwo");
    Skeleton.getSkeleton(manager).assertCalled(
        new MethodCall(PersistenceContextProvider.class, "registerContext", "", clientBundle, props));   
  }
 
  @Test
  public void testContextWithProps_110() {
    Element e = getTestElement("contextWithProps", root_110);
    BeanMetadata bean =
      (BeanMetadata) sut.decorate(e, new BeanMetadataImpl(), parserCtx);
    BeanMetadata innerBean = (BeanMetadata) ((BeanProperty) bean.getProperties().get(0)).getValue();
   
    assertEquals("createEntityManager", innerBean.getFactoryMethod());
   
    assertEquals(1, registeredComponents.size());
    ReferenceMetadata reference = (ReferenceMetadata) registeredComponents.get(0);
   
    assertEquals(EntityManagerFactory.class.getName(), reference.getInterface());
    assertEquals("(&(org.apache.aries.jpa.proxy.factory=true)"+NSHandler.EMPTY_UNIT_NAME_FILTER+")",
        reference.getFilter());
   
    Map<String,Object> props = new HashMap<String, Object>();
    props.put(PersistenceContextProvider.PERSISTENCE_CONTEXT_TYPE, PersistenceContextType.EXTENDED);
    props.put("one", "eins");
    props.put("two", "zwo");
    Skeleton.getSkeleton(manager).assertCalled(
        new MethodCall(PersistenceContextProvider.class, "registerContext", "", clientBundle, props));   
  }
 
  @Test
  public void testNoMoreProxying() {
      Element e = getTestElement("contextWithProps", root);
      BeanMetadata input = new BeanMetadataImpl();
      Object output = sut.decorate(e, input, parserCtx);
      assertTrue(input == output);
  }
 
  @Test
  public void testNoMoreProxying_110() {
      Element e = getTestElement("contextWithProps", root_110);
      BeanMetadata input = new BeanMetadataImpl();
      Object output = sut.decorate(e, input, parserCtx);
      assertTrue(input == output);
  }
 
  @Test
  public void testNonIndexedArgs_110() {
      Element e = getTestElement("withUnitArg", root_110);
      BeanMetadata input = new BeanMetadataImpl();
      Object output = sut.decorate(e, input, parserCtx);
      assertEquals("Wrong number of arguments",
          1 ,input.getArguments().size());
      assertEquals("Wrong class type", "javax.persistence.EntityManagerFactory",
          ((BeanArgument)input.getArguments().get(0)).getValueType());
      assertEquals("Wrong index", -1,
          ((BeanArgument)input.getArguments().get(0)).getIndex());
     
      ReferenceMetadata reference = (ReferenceMetadata) ((BeanArgument)input.getArguments().get(0)).getValue();
      assertEquals(EntityManagerFactory.class.getName(), reference.getInterface());
      assertEquals("(&(!(org.apache.aries.jpa.proxy.factory=*))(osgi.unit.name=myUnit))", reference.getFilter());
     
      Skeleton.getSkeleton(manager).assertSkeletonNotCalled();
      assertTrue(registeredComponents.isEmpty());
     
      e = getTestElement("withContextArg", root_110);
      input = new BeanMetadataImpl();
      output = sut.decorate(e, input, parserCtx);
     
      assertEquals("Wrong number of arguments",
          1 ,input.getArguments().size());
      assertEquals("Wrong type", "javax.persistence.EntityManager",
          ((BeanArgument)input.getArguments().get(0)).getValueType());
      assertEquals("Wrong index", -1,
          ((BeanArgument)input.getArguments().get(0)).getIndex());
     
      BeanMetadata innerBean = (BeanMetadata) ((BeanArgument)input.getArguments().get(0)).getValue();

      assertEquals("createEntityManager", innerBean.getFactoryMethod());
      assertEquals("internalClose", innerBean.getDestroyMethod());

      assertEquals(1, registeredComponents.size());
      reference = (ReferenceMetadata) registeredComponents.get(0);
     
      assertEquals(EntityManagerFactory.class.getName(), reference.getInterface());
      assertEquals("(&(org.apache.aries.jpa.proxy.factory=true)(osgi.unit.name=myUnit))", reference.getFilter());
     
      Map<String,Object> props = new HashMap<String, Object>();
      props.put(PersistenceContextProvider.PERSISTENCE_CONTEXT_TYPE, PersistenceContextType.TRANSACTION);
      Skeleton.getSkeleton(manager).assertCalled(
          new MethodCall(PersistenceContextProvider.class, "registerContext", "myUnit", clientBundle, Map.class));
  }
 
  @Test
  public void testIndexedArgs_110() {
      Element e = getTestElement("withIndexedUnitArg", root_110);
      BeanMetadata input = new BeanMetadataImpl();
      Object output = sut.decorate(e, input, parserCtx);
      assertEquals("Wrong number of arguments",
          1 ,input.getArguments().size());
      assertEquals("Wrong class type", "javax.persistence.EntityManagerFactory",
          ((BeanArgument)input.getArguments().get(0)).getValueType());
      assertEquals("Wrong index", 0,
          ((BeanArgument)input.getArguments().get(0)).getIndex());
     
      ReferenceMetadata reference = (ReferenceMetadata) ((BeanArgument)input.getArguments().get(0)).getValue();
      assertEquals(EntityManagerFactory.class.getName(), reference.getInterface());
      assertEquals("(&(!(org.apache.aries.jpa.proxy.factory=*))(osgi.unit.name=myUnit))", reference.getFilter());
     
      Skeleton.getSkeleton(manager).assertSkeletonNotCalled();
      assertTrue(registeredComponents.isEmpty());
     
      e = getTestElement("withIndexedContextArg", root_110);
      input = new BeanMetadataImpl();
      output = sut.decorate(e, input, parserCtx);
     
      assertEquals("Wrong number of arguments",
          1 ,input.getArguments().size());
      assertEquals("Wrong type", "javax.persistence.EntityManager",
          ((BeanArgument)input.getArguments().get(0)).getValueType());
      assertEquals("Wrong index", 1,
          ((BeanArgument)input.getArguments().get(0)).getIndex());
     
      BeanMetadata innerBean = (BeanMetadata) ((BeanArgument)input.getArguments().get(0)).getValue();

      assertEquals("createEntityManager", innerBean.getFactoryMethod());
      assertEquals("internalClose", innerBean.getDestroyMethod());

      assertEquals(1, registeredComponents.size());
      reference = (ReferenceMetadata) registeredComponents.get(0);
     
      assertEquals(EntityManagerFactory.class.getName(), reference.getInterface());
      assertEquals("(&(org.apache.aries.jpa.proxy.factory=true)(osgi.unit.name=myUnit))", reference.getFilter());
     
      Map<String,Object> props = new HashMap<String, Object>();
      props.put(PersistenceContextProvider.PERSISTENCE_CONTEXT_TYPE, PersistenceContextType.TRANSACTION);
      Skeleton.getSkeleton(manager).assertCalled(
          new MethodCall(PersistenceContextProvider.class, "registerContext", "myUnit", clientBundle, Map.class));
  }
 
  @Test
  public void testInvalidIndex_110() {
      Element e = getTestElement("withInvalidIndexArg", root_110);
      BeanMetadata input = new BeanMetadataImpl();
      try {
          Object output = sut.decorate(e, input, parserCtx);
          fail("Should throw an exception");
      } catch (IllegalArgumentException iae) {
          assertTrue("Wrong cause type", iae.getCause() instanceof NumberFormatException);
      }
  }
 
  private Element getTestElement(String beanName, Element root) {
    NodeList ns = root.getElementsByTagName("bean");
   
    Element bean = null;
    for (int i=0; i<ns.getLength(); i++) {
      bean = (Element) ns.item(i);
      if (beanName.equals(bean.getAttribute("id")))
        break;
    }
   
    ns = bean.getChildNodes();
    for (int i=0; i<ns.getLength(); i++) {
      if (ns.item(i).getNodeType() == Node.ELEMENT_NODE) {
        Element e = (Element) ns.item(i);
        if (NSHandler.NS_URI_100.equals(e.getNamespaceURI())
            || NSHandler.NS_URI_110.equals(e.getNamespaceURI()))
          return e;
      }
    }
   
    return null;
  }
 
  @Test
  public void testgetSchemaLocation()
  {
    assertNotNull("No schema found", sut.getSchemaLocation(NSHandler.NS_URI_100));
    assertNotNull("No schema found", sut.getSchemaLocation(NSHandler.NS_URI_110));
    assertFalse("Should not be the same schema", sut.getSchemaLocation(NSHandler.NS_URI_100)
                  .equals(sut.getSchemaLocation(NSHandler.NS_URI_110)));
    assertNull("No schema expected", sut.getSchemaLocation("http://maven.apache.org/POM/4.0.0"));
  }
}
TOP

Related Classes of org.apache.aries.jpa.blueprint.aries.test.NSHandlerTest$ParserContextMock

TOP
Copyright © 2018 www.massapi.com. 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.