Esempio n. 1
0
 @Test
 @FixFor("MODE-1408")
 public void shouldRegisterNewNamespace() {
   Map<String, String> urisByPrefix = new HashMap<String, String>();
   String uri = "http://foo.bar";
   String prefix = "foobar";
   urisByPrefix.put(prefix, uri);
   system.registerNamespaces(urisByPrefix);
   assertEquals(prefix, system.readNamespacePrefix(uri, false));
 }
Esempio n. 2
0
  @Test
  public void shouldUnregisterNamespace() {
    Map<String, String> urisByPrefix = new HashMap<String, String>();
    String uri = "http://foo.bar";
    String prefix = "foobar";
    urisByPrefix.put(prefix, uri);

    system.registerNamespaces(urisByPrefix);
    assertTrue(system.unregisterNamespace(uri));
    assertNull(system.readNamespacePrefix(uri, false));
  }
 @Override
 public String getPrefixForNamespaceUri(String namespaceUri, boolean generateIfMissing) {
   CheckArg.isNotNull(namespaceUri, "namespaceUri");
   Lock lock = this.namespacesLock.readLock();
   try {
     lock.lock();
     // Try the cache first ...
     String prefix = cache.getPrefixForNamespaceUri(namespaceUri, false);
     if (prefix == null && generateIfMissing) {
       SystemContent systemContent = systemContent(!generateIfMissing);
       prefix = systemContent.readNamespacePrefix(namespaceUri, generateIfMissing);
       if (prefix != null) {
         systemContent.save();
         cache.register(prefix, namespaceUri);
       }
     }
     return prefix;
   } finally {
     lock.unlock();
   }
 }