Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * 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.jackrabbit.spi2dav;
 
 import java.util.List;
 import java.util.Map;
 
 
QueryResultRowImpl implements a QueryResultRow that is initialized from a multistatus response.
 
 public class QueryResultRowImpl implements QueryResultRow {
 
     private static final Logger log = LoggerFactory.getLogger(QueryResultRowImpl.class);
 
 
     private final Map<StringNodeIdnodeIds = new HashMap<StringNodeId>();
 
     private final Map<StringDoublescores = new HashMap<StringDouble>();
 
     private final Map<StringQValueqValues = new HashMap<StringQValue>();
 
     private final String[] columnNames;
 
     public QueryResultRowImpl(MultiStatusResponse response,
                               String[] columnNames,
                               NamePathResolver resolver,
                               QValueFactory qValueFactory,
                               ValueFactory valueFactory,
                               IdFactory idFactory)
             throws RepositoryException {
         this. = columnNames;
 
         DavPropertySet okSet = response.getProperties(.);
 
         String jcrPath = resolver.getJCRName(.);
         String jcrScore = resolver.getJCRName(.);
         DavProperty<?> davProp = okSet.get();
 
         List<StringcolList = new ArrayList<String>();
         List<StringselList = new ArrayList<String>();
         List<ValuevalList = new ArrayList<Value>();
         QueryUtil.parseResultPropertyValue(davProp.getValue(), colListselListvalListvalueFactory);
 
         String[] names = colList.toArray(new String[colList.size()]);
         Value[] values = valList.toArray(new Value[valList.size()]);
 
         for (int i = 0; i < values.lengthi++) {
             try {
                 String selectorName = selList.get(i);
                 QValue v = (values[i] == null) ? null : ValueFormat.getQValue(values[i], resolverqValueFactory);
                 if (jcrScore.equals(names[i])) {
                     Double score = 0.0;
                     if (v != null) {
                         score = v.getDouble();
                     }
                     .put(selectorNamescore);
                 } else if (jcrPath.equals(names[i])) {
                     NodeId id = null;
                     if (v != null) {
                        id = idFactory.createNodeId((Stringnullv.getPath());
                    }
                    .put(selectorNameid);
                }
                .put(names[i], v);
            } catch (RepositoryException e) {
                // should not occur
                .error("Malformed value: " + values[i].toString());
            }
        }
    }
    public NodeId getNodeId(String selectorName) {
        if (selectorName == null && .size() == 1) {
            return .values().iterator().next();
        }
        NodeId id = .get(selectorName);
        if (id == null && !.containsKey(selectorName)) {
            throw new IllegalArgumentException(selectorName + " is not a valid selectorName");
        }
        return id;
    }
    public double getScore(String selectorName) {
        if (selectorName == null && .size() == 1) {
            return .values().iterator().next();
        }
        Double score = .get(selectorName);
        if (score == null && !.containsKey(selectorName)) {
            throw new IllegalArgumentException(selectorName + " is not a valid selectorName");
        }
        return score;
    }
    public QValue[] getValues() {
        QValue[] values = new QValue[.];
        for (int i = 0; i < .i++) {
            values[i] = .get([i]);
        }
        return values;
    }
New to GrepCode? Check out our FAQ X