EMMA Coverage Report (generated Wed Jun 22 19:47:49 EDT 2011)
[all classes][org.jclouds.scriptbuilder.domain]

COVERAGE SUMMARY FOR SOURCE FILE [UnzipHttpResponseIntoDirectory.java]

nameclass, %method, %block, %line, %
UnzipHttpResponseIntoDirectory.java100% (2/2)67%  (2/3)75%  (44/59)75%  (3/4)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class UnzipHttpResponseIntoDirectory$1100% (1/1)50%  (1/2)17%  (3/18)50%  (1/2)
apply (Map$Entry): String 0%   (0/1)0%   (0/15)0%   (0/1)
UnzipHttpResponseIntoDirectory$1 (): void 100% (1/1)100% (3/3)100% (1/1)
     
class UnzipHttpResponseIntoDirectory100% (1/1)100% (1/1)100% (41/41)100% (2/2)
UnzipHttpResponseIntoDirectory (String, URI, Multimap, String): void 100% (1/1)100% (41/41)100% (2/2)

1/**
2 *
3 * Copyright (C) 2011 Cloud Conscious, LLC. <info@cloudconscious.com>
4 *
5 * ====================================================================
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 * ====================================================================
18 */
19package org.jclouds.scriptbuilder.domain;
20 
21import static com.google.common.collect.Iterables.transform;
22import static java.lang.String.format;
23 
24import java.net.URI;
25import java.util.Map.Entry;
26 
27import com.google.common.base.Function;
28import com.google.common.base.Joiner;
29import com.google.common.collect.Multimap;
30 
31/**
32 * unzips the content into a directory
33 * 
34 * @author Adrian Cole
35 */
36public class UnzipHttpResponseIntoDirectory extends InterpretableStatement {
37   /**
38    * 
39    * 
40    * @param method
41    *           http method: ex GET
42    * @param endpoint
43    *           uri corresponding to the request
44    * @param headers
45    *           request headers to send
46    */
47   public UnzipHttpResponseIntoDirectory(String method, URI endpoint, Multimap<String, String> headers, String dir) {
48      super(
49               format(
50                        "({md} %s &&{cd} %s &&curl -X %s -s --retry 20 %s %s >extract.zip && unzip -o -qq extract.zip&& rm extract.zip)\n",
51                        dir, dir, method, Joiner.on(' ').join(
52                                 transform(headers.entries(), new Function<Entry<String, String>, String>() {
53 
54                                    @Override
55                                    public String apply(Entry<String, String> from) {
56                                       return String.format("-H \"%s: %s\"", from.getKey(), from.getValue());
57                                    }
58 
59                                 })), endpoint.toASCIIString()));
60   }
61}

[all classes][org.jclouds.scriptbuilder.domain]
EMMA 2.0.5312 (C) Vladimir Roubtsov