Package org.apache.oodt.xmlps.mapping

Examples of org.apache.oodt.xmlps.mapping.MappingField


      String lhsVal = (String) lhsQE.getValue();

      if (map != null) {
        // convert the right hand side, using
        // the local name
        MappingField fld = map.getFieldByLocalName(lhsVal);
        if (fld != null) {
          if (fld.isString()) {
            rhsVal = "'" + rhsVal + "'";
          }
        }
      }
View Full Code Here


 
  public void testParseWildcardWithMapping(){
    String queryStr = "bar LIKE 'FOO'";
    String expected = "bar LIKE '%FOO%'";
    Mapping mapping = new Mapping();
    MappingField mf = new MappingField();
    mf.setDbName("bar");
    mf.setName("foo");
    mf.setString(true);
    mapping.addField("foo", mf);
   
    XMLQuery query = XMLQueryHelper.getDefaultQueryFromQueryString(queryStr);
    assertNotNull(query);
    Stack<QueryElement> queryStack = HandlerQueryParser.createQueryStack(query
View Full Code Here

  private CDERow toCDERow(ResultSet rs, Mapping map, List<String> returnNames) {
    CDERow row = new CDERow();
    if (returnNames != null && returnNames.size() > 0) {
      for (Iterator<String> i = returnNames.iterator(); i.hasNext();) {
        String retName = i.next();
        MappingField fld = map.getFieldByLocalName(retName);
        // only handle dynamic fields here
        // if it was a constant field, then it will be dealt with
        // later
        if (fld.getType().equals(FieldType.DYNAMIC)) {
          // go ahead and add it in
          try {
            String elemDbVal = rs.getString(retName);
            for (Iterator<MappingFunc> j = fld.getFuncs().iterator(); j
                .hasNext();) {
              MappingFunc func = j.next();
              CDEValue origVal = new CDEValue(fld.getName(), elemDbVal);
              CDEValue newVal = func.inverseTranslate(origVal);
              elemDbVal = newVal.getVal();
            }

            row.getVals().add(new CDEValue(fld.getName(), elemDbVal));
          } catch (SQLException e) {
            LOG.log(Level.WARNING, "Unable to obtain field: [" + retName
                + "] from result set: message: " + e.getMessage());
          }
        }
View Full Code Here

    Metadata met = new Metadata();

    for (Iterator<String> i = map.getFieldNames().iterator(); i.hasNext();) {
      String fldName = i.next();
      MappingField fld = map.getFieldByName(fldName);
      ProfileElement elem = new EnumeratedProfileElement(profile);
      elem.setName(fld.getName());

      try {
        if (fld.getType().equals(FieldType.CONSTANT)) {
          elem.getValues().add(fld.getConstantValue());
        } else {
          String elemDbVal = rs.getString(fld.getDbName());
          for (Iterator<MappingFunc> j = fld.getFuncs().iterator(); j.hasNext();) {
            MappingFunc func = j.next();
            CDEValue origVal = new CDEValue(fld.getName(), elemDbVal);
            CDEValue newVal = func.inverseTranslate(origVal);
            elemDbVal = newVal.getVal();
          }

          elem.getValues().add(elemDbVal);
        }
      } catch (SQLException e) {
        e.printStackTrace();
        LOG.log(Level.WARNING, "Unable to obtain field: ["
            + map.getFieldLocalName(fld) + "] from result set: message: "
            + e.getMessage());
      }

      met.addMetadata(elem.getName(), (String) elem.getValues().get(0));

      profile.getProfileElements().put(fld.getName(), elem);
    }

    if (resLocationSpec != null) {
      resAttr.getResLocations().add(
          PathUtils.replaceEnvVariables(resLocationSpec, met));
View Full Code Here

                newRes.getRows().add(new CDERow());
            }

            for (Iterator<QueryElement> i = constFlds.iterator(); i.hasNext();) {
                QueryElement elem = i.next();
                MappingField fld = this.mapping.getFieldByLocalName(elem
                        .getValue());

                for (Iterator<CDERow> j = newRes.getRows().iterator(); j
                        .hasNext();) {
                    CDERow row = j.next();
                    CDEValue val = new CDEValue(fld.getName(), fld
                            .getConstantValue());
                    row.getVals().add(val);
                }
            }
        }
View Full Code Here

        for (Iterator<QueryElement> i = elemSet.iterator(); i.hasNext();) {
            QueryElement elem = i.next();
            if (elem.getRole().equals(XMLQueryHelper.ROLE_ELEMNAME)) {
                // do the translation
                String elemValue = elem.getValue();
                MappingField fld = this.mapping.getFieldByName(elemValue);
                // make sure fld is not null
                if (fld == null) {
                    continue;
                }

                // make sure scope is null, or if it's not null, then it's
                // FieldScope.QUERY

                if (fld.getScope() != null
                        && fld.getScope().equals(FieldScope.RETURN)) {
                    // skip
                    continue;
                }

                // check to see if it has a dbname attr, if not, then the name
                // stays
                // the same
                String newFldName = this.mapping.getFieldLocalName(fld);

                elem.setValue(newFldName);

                // now translate the domain vocab if there are translate funcs
                // present and this isn't the select set

                if (!selectSet && fld.getFuncs() != null
                        && fld.getFuncs().size() > 0) {
                    // the next query element should be
                    // XMLQueryHelper.ROLE_LITERAL
                    if (!i.hasNext())
                        break;
                    QueryElement litElem = i.next();
                    if (!litElem.getRole().equals(XMLQueryHelper.ROLE_LITERAL)) {
                        throw new Exception("next query element not "
                                + XMLQueryHelper.ROLE_LITERAL + "! role is "
                                + litElem.getRole() + " instead!");
                    }

                    for (Iterator<MappingFunc> j = fld.getFuncs().iterator(); j
                            .hasNext();) {
                        MappingFunc func = j.next();
                        CDEValue origVal = new CDEValue(fld.getName(),
                                litElem.getValue());
                        CDEValue newVal = func.translate(origVal);
                        litElem.setValue(newVal.getVal());
                    }
View Full Code Here

    return row;
  }

  private void applyMappingFuncs(CDERow row) {
    for (CDEValue value : row.getVals()) {
      MappingField fld = mapping.getFieldByName(value.getCdeName());
      if (fld != null) {
        for (MappingFunc func : fld.getFuncs()) {
          CDEValue newValue = func.translate(value);
          value.setVal(newValue.getVal());
        }
      }
    }
View Full Code Here

        List<QueryElement> select = query.getSelectElementSet();
        List<QueryElement> constNames = getConstElemNamesFromQueryElemSet(select);
        List<CDEValue> constValues = new ArrayList<CDEValue>();
        if (constNames != null) {
            for (QueryElement qe : constNames) {
                MappingField fld = mapping.getFieldByLocalName(qe.getValue());
                if (fld != null) {
                    constValues.add(new CDEValue(fld.getName(), fld.getConstantValue()));
                }
            }
        }
        return constValues;
    }
View Full Code Here

        if (elems == null || (elems != null && elems.size() == 0))
            return null;

        StringBuilder buf = new StringBuilder();
        for (QueryElement qe : elems) {
            MappingField fld = this.mapping.getFieldByLocalName(qe.getValue());
            if (fld != null) {
                buf.append(fld.getLocalName());
                buf.append(" as ");
                buf.append(fld.getName());
                buf.append(",");
            }
        }

        buf.deleteCharAt(buf.length() - 1);
View Full Code Here

        for (Iterator<QueryElement> i = elemSet.iterator(); i.hasNext();) {
            QueryElement elem = i.next();
            if (elem.getRole().equals(XMLQueryHelper.ROLE_ELEMNAME)) {
                // do the translation
                String elemValue = elem.getValue();
                MappingField fld = this.mapping.getFieldByName(elemValue);
                // make sure fld is not null
                if (fld == null) {
                    continue;
                }

                // make sure scope is null, or if it's not null, then it's
                // FieldScope.QUERY

                if (fld.getScope() != null
                        && fld.getScope().equals(FieldScope.RETURN)) {
                    // skip
                    continue;
                }

                // check to see if it has a dbname attr, if not, then the name
                // stays
                // the same
                String newFldName = fld.getLocalName();

                elem.setValue(newFldName);

                // now translate the domain vocab if there are translate funcs
                // present and this isn't the select set

                if (!selectSet && fld.getFuncs() != null
                        && fld.getFuncs().size() > 0) {
                    // the next query element should be
                    // XMLQueryHelper.ROLE_LITERAL
                    if (!i.hasNext())
                        break;
                    QueryElement litElem = i.next();
                    if (!litElem.getRole().equals(XMLQueryHelper.ROLE_LITERAL)) {
                        throw new Exception("next query element not "
                                + XMLQueryHelper.ROLE_LITERAL + "! role is "
                                + litElem.getRole() + " instead!");
                    }

                    for (Iterator<MappingFunc> j = fld.getFuncs().iterator(); j
                            .hasNext();) {
                        MappingFunc func = j.next();
                        CDEValue origVal = new CDEValue(fld.getName(),
                                litElem.getValue());
                        CDEValue newVal = func.inverseTranslate(origVal);
                        litElem.setValue(newVal.getVal());
                    }
View Full Code Here

TOP

Related Classes of org.apache.oodt.xmlps.mapping.MappingField

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.