Clover coverage report -
Coverage timestamp: Sun Nov 1 2009 23:08:24 UTC
file stats: LOC: 68   Methods: 1
NCLOC: 34   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
RemoveCollection.java 50% 76.9% 100% 70%
coverage coverage
 1    /*
 2    * Licensed to the Apache Software Foundation (ASF) under one or more
 3    * contributor license agreements. See the NOTICE file distributed with
 4    * this work for additional information regarding copyright ownership.
 5    * The ASF licenses this file to You under the Apache License, Version 2.0
 6    * (the "License"); you may not use this file except in compliance with
 7    * the License. You may obtain a copy of the License at
 8    *
 9    * http://www.apache.org/licenses/LICENSE-2.0
 10    *
 11    * Unless required by applicable law or agreed to in writing, software
 12    * distributed under the License is distributed on an "AS IS" BASIS,
 13    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 14    * See the License for the specific language governing permissions and
 15    * limitations under the License.
 16    *
 17    * $Id: RemoveCollection.java 595817 2007-11-16 20:49:03Z vgritsenko $
 18    */
 19   
 20    package org.apache.xindice.server.rpc.messages;
 21   
 22    import org.apache.xindice.core.Collection;
 23    import org.apache.xindice.core.FaultCodes;
 24    import org.apache.xindice.server.rpc.RPCDefaultMessage;
 25   
 26    import org.xmldb.api.base.ErrorCodes;
 27    import org.xmldb.api.base.XMLDBException;
 28   
 29    import java.util.HashMap;
 30    import java.util.Map;
 31   
 32    /**
 33    *
 34    * @version $Revision: 595817 $, $Date: 2007-11-16 20:49:03 +0000 (Fri, 16 Nov 2007) $
 35    */
 36    public class RemoveCollection extends RPCDefaultMessage {
 37   
 38  127 public Map execute(Map message) throws Exception {
 39   
 40  127 final String parentName = (String) message.get(COLLECTION);
 41  127 if (parentName == null) {
 42  0 throw new XMLDBException(ErrorCodes.NO_SUCH_COLLECTION,
 43    FaultCodes.COL_COLLECTION_NOT_FOUND,
 44    MISSING_COLLECTION_PARAM);
 45    }
 46   
 47  127 final String childName = (String) message.get(NAME);
 48  127 if (childName == null || childName.length() == 0) {
 49  0 throw new XMLDBException(ErrorCodes.NO_SUCH_COLLECTION,
 50    FaultCodes.COL_COLLECTION_NOT_FOUND,
 51    MISSING_NAME_PARAM);
 52    }
 53   
 54  127 final Collection col = getCollection((String) message.get(COLLECTION));
 55  127 if (col == null) {
 56    // No such collection
 57  0 throw new XMLDBException(ErrorCodes.NO_SUCH_COLLECTION,
 58    FaultCodes.COL_COLLECTION_NOT_FOUND,
 59    "Cannot remove child collection '" + childName + "': Parent collection '" + parentName + "' not found.");
 60    }
 61   
 62  127 col.dropCollection(col.getCollection(childName));
 63   
 64  125 Map result = new HashMap(3);
 65  125 result.put(RESULT, "yes");
 66  125 return result;
 67    }
 68    }