コード例 #1
0
ファイル: XmlHelper.java プロジェクト: shane-axiom/SOS
 public static void fixNamespaceForXsiType(XmlObject content, Map<?, ?> namespaces) {
   final XmlCursor cursor = content.newCursor();
   while (cursor.hasNextToken()) {
     if (cursor.toNextToken().isStart()) {
       final String xsiType = cursor.getAttributeText(W3CConstants.QN_XSI_TYPE);
       if (xsiType != null) {
         final String[] toks = xsiType.split(":");
         if (toks.length > 1) {
           String prefix = toks[0];
           String localName = toks[1];
           String namespace = (String) namespaces.get(prefix);
           if (Strings.isNullOrEmpty(namespace)) {
             namespace = CodingRepository.getInstance().getNamespaceFor(prefix);
           }
           if (StringHelper.isNotEmpty(namespace)) {
             cursor.setAttributeText(
                 W3CConstants.QN_XSI_TYPE,
                 Joiner.on(Constants.COLON_CHAR)
                     .join(
                         XmlHelper.getPrefixForNamespace(content, (String) namespaces.get(prefix)),
                         localName));
           }
         }
       }
     }
   }
   cursor.dispose();
 }
コード例 #2
0
ファイル: XmlHelper.java プロジェクト: shane-axiom/SOS
 /**
  * Check if namespace is not null and equals GML 3.1.1 or GML 3.2.1 namespace.
  *
  * @param namespaceToCheck Namespace to check
  * @param namespaces GML namespaces
  * @return <code>true</code>, if namespaceToCheck is a GML namespace
  */
 private static boolean isNotNullAndEqualsNSs(
     String namespaceToCheck, Collection<String> namespaces) {
   if (StringHelper.isNotEmpty(namespaceToCheck)) {
     return namespaces.contains(namespaceToCheck);
   }
   return false;
 }
コード例 #3
0
ファイル: XmlHelper.java プロジェクト: shane-axiom/SOS
 @Override
 public boolean shouldPass(final XmlValidationError xve) {
   if (xve.getObjectLocation() != null
       && xve.getObjectLocation().getDomNode() != null
       && xve.getObjectLocation().getDomNode().getFirstChild() != null) {
     String nodeName = xve.getObjectLocation().getDomNode().getFirstChild().getNodeName();
     return StringHelper.isNotEmpty(nodeName) && nodeName.contains(GET_DATA_AVAILABILITY);
   }
   return false;
 }
コード例 #4
0
ファイル: XmlHelper.java プロジェクト: shane-axiom/SOS
 /**
  * Check if attribute or node namespace is a GML id.
  *
  * @param attr Attribure to check
  * @param nodeNamespace Node namespace
  * @return <code>true</code>, if attribute or node is a GML id
  */
 private static boolean checkAttributeForGmlId(Attr attr, String nodeNamespace) {
   final String attrNamespace = attr.getNamespaceURI();
   if (GmlConstants.GML_ID_WITH_PREFIX.equals(attr.getName())) {
     return true;
   } else {
     if (StringHelper.isNotEmpty(attrNamespace)) {
       return isNotNullAndEqualsNSs(attrNamespace, getGmlNSs());
     } else {
       return isNotNullAndEqualsNSs(nodeNamespace, getGmlNSs());
     }
   }
 }
コード例 #5
0
 public void render(StringBuffer buffer, String alias, Map enabledFilters) {
   if (filterNames != null && filterNames.length > 0) {
     for (int i = 0, max = filterNames.length; i < max; i++) {
       if (enabledFilters.containsKey(filterNames[i])) {
         final String condition = filterConditions[i];
         if (StringHelper.isNotEmpty(condition)) {
           buffer
               .append(" and ")
               .append(StringHelper.replace(condition, FilterImpl.MARKER, alias));
         }
       }
     }
   }
 }