Example usage for org.apache.commons.collections KeyValue getKey

List of usage examples for org.apache.commons.collections KeyValue getKey

Introduction

In this page you can find the example usage for org.apache.commons.collections KeyValue getKey.

Prototype

Object getKey();

Source Link

Document

Gets the key from the pair.

Usage

From source file:gsn.http.AddressingReqHandler.java

public void handle(HttpServletRequest request, HttpServletResponse response) throws IOException {
    response.setStatus(HttpServletResponse.SC_OK);
    String vsName = request.getParameter("name");
    VSensorConfig sensorConfig = Mappings.getVSensorConfig(vsName);
    logger.info(new StringBuilder().append("Structure request for *").append(vsName).append("* received.")
            .toString());//from w ww  .  j ava  2  s  .  c o m
    StringBuilder sb = new StringBuilder("<virtual-sensor name=\"").append(vsName).append("\" last-modified=\"")
            .append(new File(sensorConfig.getFileName()).lastModified()).append("\">\n");
    for (KeyValue df : sensorConfig.getAddressing())
        sb.append("<predicate key=\"").append(StringEscapeUtils.escapeXml(df.getKey().toString())).append("\">")
                .append(StringEscapeUtils.escapeXml(df.getValue().toString())).append("</predicate>\n");
    sb.append("</virtual-sensor>");
    response.setHeader("Cache-Control", "no-store");
    response.setDateHeader("Expires", 0);
    response.setHeader("Pragma", "no-cache");
    response.getWriter().write(sb.toString());
}

From source file:gsn.beans.AddressBean.java

public String getPredicateValueWithException(String key) {
    key = key.trim();//from w ww  .  j a va2 s. c  o m
    for (KeyValue predicate : this.predicates) {
        if (predicate.getKey().toString().trim().equalsIgnoreCase(key)) {
            final String value = (String) predicate.getValue();
            if (value.trim().length() > 0)
                return (value);
        }
    }
    throw new RuntimeException(
            "The required parameter: >" + key + "<+ is missing.from the virtual sensor configuration file.");
}

From source file:gsn.beans.AddressBean.java

public String toString() {
    final StringBuffer result = new StringBuffer("[").append(this.getWrapper());
    for (final KeyValue predicate : this.predicates) {
        result.append(predicate.getKey() + " = " + predicate.getValue() + ",");
    }/*  w  w  w .  jav  a  2  s  .co  m*/
    result.append("]");
    return result.toString();
}

From source file:gsn.beans.AddressBean.java

/**
 * Note that the key for the value is case insensitive.
 * /* w ww .  java  2 s . c  o m*/
 * @param key
 * @return
 */

public String getPredicateValue(String key) {
    key = key.trim();
    for (KeyValue predicate : this.predicates) {
        //    logger.fatal(predicate.getKey()+" --- " +predicate.getValue());
        if (predicate.getKey().toString().trim().equalsIgnoreCase(key))
            return ((String) predicate.getValue());
    }
    return null;
}

From source file:gsn.http.GMLHandler.java

public String buildOutput(String reqName, String reqGroup, String reqUsername, String reqPassword) {

    boolean authenticateUserFromURL = false;
    User user = null;/*from  w  ww  .  ja  v  a2 s.c o  m*/

    if (Main.getContainerConfig().isAcEnabled()) {

        if ((reqUsername != null) && (reqPassword != null)) {
            authenticateUserFromURL = true;
            user = UserUtils.allowUserToLogin(reqUsername, reqPassword);
        }
    }

    SimpleDateFormat sdf = new SimpleDateFormat(Main.getContainerConfig().getTimeFormat());
    StringBuilder outsb = new StringBuilder(
            "<gsn:FeatureCollection xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"./gsn.xsd\" xmlns:gsn=\"http://gsn.ch/\" xmlns:gml=\"http://www.opengis.net/gml\"> \n");
    Iterator<VSensorConfig> vsIterator = Mappings.getAllVSensorConfigs();
    HashSet<String> sensorsSet = new HashSet<String>();
    if (reqName != null && reqName.contains(","))
        sensorsSet = new HashSet<String>(Arrays.asList(reqName.split(",")));
    else
        sensorsSet.add(reqName);

    while (vsIterator.hasNext()) {
        StringBuilder sb = new StringBuilder();
        String lat = null;
        String lon = null;
        VSensorConfig sensorConfig = vsIterator.next();
        if (reqName != null && !sensorsSet.contains(sensorConfig.getName()))
            continue;
        if (reqGroup != null && !(sensorConfig.getName().startsWith(reqGroup + "_")))
            continue;

        if (Main.getContainerConfig().isAcEnabled()) {
            if (user == null) {
                if (authenticateUserFromURL)
                    continue; // means that username and password provided are rejected dince they don't map to a correct User object
                else // no username was provided, show only public sensors
                if (DataSource.isVSManaged(sensorConfig.getName()))
                    continue; //skip sensor if it is managed by access control
            } else // user authenticated, verify that it has the right credentials
            if (!user.hasReadAccessRight(sensorConfig.getName()) && !user.isAdmin()
                    && !DataSource.isVSManaged(sensorConfig.getName()))
                continue;
        }

        for (KeyValue df : sensorConfig.getAddressing()) {
            if (StringEscapeUtils.escapeXml(df.getKey().toString().toLowerCase()).contentEquals("latitude"))
                lat = new String(StringEscapeUtils.escapeXml(df.getValue().toString()));
            if (StringEscapeUtils.escapeXml(df.getKey().toString().toLowerCase()).contentEquals("longitude"))
                lon = new String(StringEscapeUtils.escapeXml(df.getValue().toString()));
        }
        if (lat != null && lon != null) {
            sb.append("<gml:featureMember>\n");
            sb.append("<gsn:sensors");
            sb.append(" fid=\"").append(sensorConfig.getName()).append("\"");
            sb.append(">\n");
            sb.append("\t<gsn:geometryProperty><gml:Point><gml:coordinates>").append(lon).append(",")
                    .append(lat).append("</gml:coordinates></gml:Point></gsn:geometryProperty>\n");
        } else
            continue;

        if (lat.isEmpty() || lon.isEmpty()) // skip sensors with empty coordinates
            continue;

        ArrayList<StreamElement> ses = getMostRecentValueFor(sensorConfig.getName());
        int counter = 1;
        if (ses != null) {
            for (StreamElement se : ses) {
                sb.append("\t<gsn:sensor>").append(sensorConfig.getName()).append("</gsn:sensor>\n");
                for (KeyValue df : sensorConfig.getAddressing()) {
                    sb.append("\t<gsn:")
                            .append(StringEscapeUtils.escapeXml(df.getKey().toString().toLowerCase()))
                            .append(">");
                    sb.append(StringEscapeUtils.escapeXml(df.getValue().toString()));
                    sb.append("</gsn:")
                            .append(StringEscapeUtils.escapeXml(df.getKey().toString().toLowerCase()))
                            .append(">\n");
                }
                for (DataField df : sensorConfig.getOutputStructure()) {
                    sb.append("\t<gsn:").append(df.getName().toLowerCase()).append(">");
                    if (se != null)
                        if (df.getType().toLowerCase().trim().indexOf("binary") > 0)
                            sb.append(se.getData(df.getName()));
                        else
                            sb.append(se.getData(StringEscapeUtils.escapeXml(df.getName())));
                    sb.append("</gsn:").append(df.getName().toLowerCase()).append(">\n");
                }
                counter++;
            }
        }
        sb.append("</gsn:sensors>\n");
        sb.append("</gml:featureMember>\n");
        outsb.append(sb);
    }
    outsb.append("</gsn:FeatureCollection>\n");
    return outsb.toString();
}

From source file:gsn.http.A3DWebServiceImpl.java

public String[] getSensorLocation(String sensor) {

    VSensorConfig sensorConfig = Mappings.getVSensorConfig(sensor);
    Vector<String> sensorLocation = new Vector<String>();
    for (KeyValue df : sensorConfig.getAddressing())
        sensorLocation/*from  w ww  .  j  av  a2  s  .c o  m*/
                .add(StringEscapeUtils.escapeXml(df.getKey().toString()) + "=" + df.getValue().toString());

    String v_sensorLocation[] = new String[sensorLocation.size()];
    for (int i = 0; i < sensorLocation.size(); i++)
        v_sensorLocation[i] = sensorLocation.get(i);

    return v_sensorLocation;

}

From source file:com.ebuddy.cassandra.dao.ColumnFamilyTemplateTest.java

@Test(groups = { "unit" })
public void testReadColumns() throws Exception {
    Map<String, String> testResultMap = new HashMap<String, String>();
    testResultMap.put(columnNames.get(0), columnValues.get(0));
    testResultMap.put(columnNames.get(1), columnValues.get(1));

    ColumnSlice columnSlice = mock(ColumnSlice.class);
    HColumn column1 = mock(HColumn.class);
    HColumn column2 = mock(HColumn.class);

    when(column1.getName()).thenReturn(columnNames.get(0));
    when(column1.getValue()).thenReturn(columnValues.get(0));
    when(column2.getName()).thenReturn(columnNames.get(1));
    when(column2.getValue()).thenReturn(columnValues.get(1));

    when(columnSlice.getColumns()).thenReturn(Arrays.asList(column1, column2));
    when(executionResult.get()).thenReturn(columnSlice);

    //=========================
    List<KeyValue> actualResult = columnFamilyTestDao.readColumns(rowKey,
            new ColumnMapper<KeyValue, String, String>() {
                @Override//from  w  w  w.  ja v a  2  s .co m
                public KeyValue mapColumn(String columnName, String columnValue) {
                    return new DefaultKeyValue(columnName, columnValue);
                }
            });
    //=========================

    Map<String, String> resultMap = new HashMap<String, String>();
    for (KeyValue kv : actualResult) {
        resultMap.put((String) kv.getKey(), (String) kv.getValue());
    }

    assertEquals(resultMap, testResultMap);
}

From source file:gsn.beans.VSensorConfig.java

public void preprocess_addressing() {
    if (!addressing_processed) {
        for (KeyValue kv : getAddressing())
            if (kv.getKey().toString().equalsIgnoreCase("altitude"))
                cached_altitude = Double.parseDouble(kv.getValue().toString());
            else if (kv.getKey().toString().equalsIgnoreCase("longitude"))
                cached_longitude = Double.parseDouble(kv.getValue().toString());
            else if (kv.getKey().toString().equalsIgnoreCase("latitude"))
                cached_latitude = Double.parseDouble(kv.getValue().toString());
        addressing_processed = true;/*from   ww  w.j  a  va2 s  .  c o m*/
    }
}

From source file:gsn.beans.VSensorConfig.java

public String[][] getRPCFriendlyAddressing() {
    String[][] toReturn = new String[this.addressing.length][2];
    for (int i = 0; i < toReturn.length; i++)
        for (KeyValue val : this.addressing) {
            toReturn[i][0] = (String) val.getKey();
            toReturn[i][1] = (String) val.getValue();
        }//from   ww  w .  j  a  v  a  2s  .co m
    return toReturn;
}

From source file:gsn.beans.VSensorConfig.java

public String[] getAddressingKeys() {
    final String result[] = new String[this.getAddressing().length];
    int counter = 0;
    for (final KeyValue predicate : this.getAddressing())
        result[counter++] = (String) predicate.getKey();
    return result;
}