private String doGetRequest() throws IOException, ClientProtocolException {

    String url = method.buildUrl();
    if (!url.endsWith("?")) {
      url += "?";
    }
    List<NameValuePair> params = new LinkedList<NameValuePair>();

    if (requestObject != null) {
      for (Field field : requestObject.getClass().getDeclaredFields()) {
        try {
          field.setAccessible(true);
          params.add(new BasicNameValuePair(field.getName(), field.get(requestObject).toString()));
        } catch (IllegalArgumentException e) {
          e.printStackTrace();
        } catch (IllegalAccessException e) {
          e.printStackTrace();
        }
      }
    }
    String paramString = URLEncodedUtils.format(params, "utf-8");
    url += paramString;
    HttpGet request = new HttpGet(url);

    request.addHeader("Accept", "application/json");

    return innerApiCall(request);
  }
예제 #2
0
 protected void getCompletedMethods(
     List<String> result,
     String completionText,
     Class<? extends ApiMethod> apiMethod,
     ApiMethodHelper<? extends ApiMethod> helper) {
   // add potential method names
   final ApiMethod[] methods = apiMethod.getEnumConstants();
   for (ApiMethod method : methods) {
     final String name = method.getName();
     if (name.startsWith(completionText)) {
       result.add(name);
     }
   }
   // add potential aliases
   final Map<String, Set<String>> aliases = helper.getAliases();
   for (String alias : aliases.keySet()) {
     if (alias.startsWith(completionText)) {
       result.add(alias);
     }
   }
 }
  private String innerDoRequest(ApiMethod method, V parameter)
      throws IOException, ClientProtocolException {
    String plainObject = null;

    switch (method.getHttpMethod()) {
      case POST:
        plainObject = doPostRequest();
        break;

      case GET:
        plainObject = doGetRequest();
        break;
    }
    return plainObject;
  }
  private String doPostRequest() throws IOException, ClientProtocolException {
    HttpPost request = new HttpPost(method.buildUrl());
    request.addHeader("Content-Type", "application/json");
    request.addHeader("Accept", "application/json");
    Gson gson = GsonProvider.getGson();
    String rawBody = gson.toJson(requestObject);
    Log.d("REMOTE_DO_POST", rawBody);
    request.setEntity(new StringEntity(rawBody));

    StringBuilder sb = new StringBuilder();

    Header[] headers = request.getAllHeaders();
    for (Header header : headers) {
      sb.append(header.getName() + ":: " + header.getValue() + "::");
    }

    return innerApiCall(request);
  }
예제 #5
0
파일: XmlReport.java 프로젝트: rcoscali/cts
  public static void printXmlReport(
      List<File> testApks, ApiCoverage apiCoverage, OutputStream outputStream) {
    PrintStream out = new PrintStream(outputStream);
    out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
    out.println("<?xml-stylesheet type=\"text/xsl\"  href=\"api-coverage.xsl\"?>");

    SimpleDateFormat format = new SimpleDateFormat("EEE, MMM d, yyyy h:mm a z");
    String date = format.format(new Date(System.currentTimeMillis()));
    out.println("<api-coverage generatedTime=\"" + date + "\">");

    out.println("<debug>");
    out.println("<sources>");
    for (File testApk : testApks) {
      out.println("<apk path=\"" + testApk.getPath() + "\" />");
    }
    out.println("</sources>");
    out.println("</debug>");

    out.println("<api>");

    CoverageComparator comparator = new CoverageComparator();
    List<ApiPackage> packages = new ArrayList<ApiPackage>(apiCoverage.getPackages());
    Collections.sort(packages, comparator);
    int totalMethods = 0;
    int totalCoveredMethods = 0;
    for (ApiPackage pkg : packages) {
      if (pkg.getName().startsWith("android") && pkg.getTotalMethods() > 0) {
        int pkgTotal = pkg.getTotalMethods();
        totalMethods += pkgTotal;
        int pkgTotalCovered = pkg.getNumCoveredMethods();
        totalCoveredMethods += pkgTotalCovered;
        out.println(
            "<package name=\""
                + pkg.getName()
                + "\" numCovered=\""
                + pkgTotalCovered
                + "\" numTotal=\""
                + pkgTotal
                + "\" coveragePercentage=\""
                + Math.round(pkg.getCoveragePercentage())
                + "\">");

        List<ApiClass> classes = new ArrayList<ApiClass>(pkg.getClasses());
        Collections.sort(classes, comparator);

        for (ApiClass apiClass : classes) {
          if (apiClass.getTotalMethods() > 0) {
            out.println(
                "<class name=\""
                    + apiClass.getName()
                    + "\" numCovered=\""
                    + apiClass.getNumCoveredMethods()
                    + "\" numTotal=\""
                    + apiClass.getTotalMethods()
                    + "\" deprecated=\""
                    + apiClass.isDeprecated()
                    + "\" coveragePercentage=\""
                    + Math.round(apiClass.getCoveragePercentage())
                    + "\">");

            for (ApiConstructor constructor : apiClass.getConstructors()) {
              out.println(
                  "<constructor name=\""
                      + constructor.getName()
                      + "\" deprecated=\""
                      + constructor.isDeprecated()
                      + "\" covered=\""
                      + constructor.isCovered()
                      + "\">");
              if (constructor.isDeprecated()) {
                if (constructor.isCovered()) {
                  totalCoveredMethods -= 1;
                }
                totalMethods -= 1;
              }
              for (String parameterType : constructor.getParameterTypes()) {
                out.println("<parameter type=\"" + parameterType + "\" />");
              }

              out.println("</constructor>");
            }

            for (ApiMethod method : apiClass.getMethods()) {
              out.println(
                  "<method name=\""
                      + method.getName()
                      + "\" returnType=\""
                      + method.getReturnType()
                      + "\" deprecated=\""
                      + method.isDeprecated()
                      + "\" covered=\""
                      + method.isCovered()
                      + "\">");
              if (method.isDeprecated()) {
                if (method.isCovered()) {
                  totalCoveredMethods -= 1;
                }
                totalMethods -= 1;
              }
              for (String parameterType : method.getParameterTypes()) {
                out.println("<parameter type=\"" + parameterType + "\" />");
              }

              out.println("</method>");
            }
            out.println("</class>");
          }
        }
        out.println("</package>");
      }
    }

    out.println("</api>");
    out.println(
        "<total numCovered=\""
            + totalCoveredMethods
            + "\" "
            + "numTotal=\""
            + totalMethods
            + "\" "
            + "coveragePercentage=\""
            + Math.round((float) totalCoveredMethods / totalMethods * 100.0f)
            + "\" />");
    out.println("</api-coverage>");
  }