You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ad...@apache.org on 2014/10/05 01:14:12 UTC
[2/2] git commit: Remove jenkins,
which hasn't been published in over a year.
Remove jenkins, which hasn't been published in over a year.
Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs/commit/ac22366f
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/ac22366f
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/ac22366f
Branch: refs/heads/master
Commit: ac22366f929834adea83dfca445aa77cf5f77c05
Parents: 3020b95
Author: Adrian Cole <ac...@twitter.com>
Authored: Sat Oct 4 12:24:47 2014 -0700
Committer: Adrian Cole <ad...@apache.org>
Committed: Sat Oct 4 16:14:01 2014 -0700
----------------------------------------------------------------------
jenkins/pom.xml | 108 -------
.../java/org/jclouds/jenkins/v1/JenkinsApi.java | 48 ----
.../jclouds/jenkins/v1/JenkinsApiMetadata.java | 87 ------
.../org/jclouds/jenkins/v1/JenkinsAsyncApi.java | 67 -----
.../jclouds/jenkins/v1/JenkinsFallbacks.java | 50 ----
.../v1/binders/BindMapToOptionalParams.java | 42 ---
.../jenkins/v1/config/JenkinsProperties.java | 24 --
.../v1/config/JenkinsRestClientModule.java | 58 ----
.../org/jclouds/jenkins/v1/domain/Computer.java | 150 ----------
.../jclouds/jenkins/v1/domain/ComputerView.java | 184 ------------
.../java/org/jclouds/jenkins/v1/domain/Job.java | 154 ----------
.../jclouds/jenkins/v1/domain/JobDetails.java | 56 ----
.../jclouds/jenkins/v1/domain/LastBuild.java | 286 -------------------
.../org/jclouds/jenkins/v1/domain/Node.java | 163 -----------
.../jenkins/v1/features/ComputerApi.java | 42 ---
.../jenkins/v1/features/ComputerAsyncApi.java | 65 -----
.../org/jclouds/jenkins/v1/features/JobApi.java | 58 ----
.../jenkins/v1/features/JobAsyncApi.java | 118 --------
.../BasicAuthenticationUnlessAnonymous.java | 52 ----
.../v1/handlers/JenkinsErrorHandler.java | 61 ----
.../services/org.jclouds.apis.ApiMetadata | 1 -
.../jenkins/v1/JenkinsApiExpectTest.java | 46 ---
.../jclouds/jenkins/v1/JenkinsApiLiveTest.java | 35 ---
.../jenkins/v1/JenkinsApiMetadataTest.java | 31 --
.../jenkins/v1/JenkinsErrorHandlerTest.java | 89 ------
.../v1/features/ComputerApiExpectTest.java | 65 -----
.../v1/features/ComputerApiLiveTest.java | 46 ---
.../jenkins/v1/features/JobApiExpectTest.java | 160 -----------
.../jenkins/v1/features/JobApiLiveTest.java | 104 -------
...AuthenticationUnlessAnonymousExpectTest.java | 51 ----
.../v1/internal/BaseJenkinsApiExpectTest.java | 26 --
.../v1/internal/BaseJenkinsApiLiveTest.java | 53 ----
.../internal/BaseJenkinsAsyncApiExpectTest.java | 35 ---
.../v1/internal/BaseJenkinsExpectTest.java | 28 --
.../jclouds/jenkins/v1/parse/LastBuildTest.java | 51 ----
.../jenkins/v1/parse/ParseComputerTest.java | 43 ---
.../jenkins/v1/parse/ParseComputerViewTest.java | 58 ----
.../jenkins/v1/parse/ParseJobDetailsTest.java | 44 ---
.../jclouds/jenkins/v1/parse/ParseNodeTest.java | 49 ----
jenkins/src/test/resources/computer.json | 37 ---
jenkins/src/test/resources/computerview.json | 114 --------
jenkins/src/test/resources/job.json | 29 --
jenkins/src/test/resources/lastBuild.json | 127 --------
jenkins/src/test/resources/logback.xml | 38 ---
jenkins/src/test/resources/master.json | 26 --
jenkins/src/test/resources/sample_job.xml | 21 --
.../resources/sample_job_with_parameters.xml | 37 ---
47 files changed, 3317 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/pom.xml
----------------------------------------------------------------------
diff --git a/jenkins/pom.xml b/jenkins/pom.xml
deleted file mode 100644
index feca0b8..0000000
--- a/jenkins/pom.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jclouds.labs</groupId>
- <artifactId>jclouds-labs</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- </parent>
-
- <!-- TODO: when out of labs, switch to org.jclouds.api -->
- <groupId>org.apache.jclouds.labs</groupId>
- <artifactId>jenkins</artifactId>
- <name>jclouds jenkins api</name>
- <description>jclouds components to access an implementation of Jenkins</description>
- <packaging>bundle</packaging>
-
- <properties>
- <test.jenkins.endpoint>http://localhost:8080</test.jenkins.endpoint>
- <test.jenkins.api-version>1.0</test.jenkins.api-version>
- <test.jenkins.build-version>1.460</test.jenkins.build-version>
- <test.jenkins.identity>ANONYMOUS</test.jenkins.identity>
- <test.jenkins.credential>ANONYMOUS</test.jenkins.credential>
-
- <jclouds.osgi.export>org.jclouds.jenkins.v1*;version="${project.version}"</jclouds.osgi.export>
- <jclouds.osgi.import>
- org.jclouds.rest.internal;version="${project.version}",
- org.jclouds*;version="${project.version}",
- *
- </jclouds.osgi.import>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.jclouds</groupId>
- <artifactId>jclouds-core</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jclouds</groupId>
- <artifactId>jclouds-core</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.jclouds.driver</groupId>
- <artifactId>jclouds-slf4j</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <profiles>
- <profile>
- <id>live</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <executions>
- <execution>
- <id>integration</id>
- <phase>integration-test</phase>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <systemPropertyVariables>
- <test.jenkins.endpoint>${test.jenkins.endpoint}</test.jenkins.endpoint>
- <test.jenkins.api-version>${test.jenkins.api-version}</test.jenkins.api-version>
- <test.jenkins.build-version>${test.jenkins.build-version}</test.jenkins.build-version>
- <test.jenkins.identity>${test.jenkins.identity}</test.jenkins.identity>
- <test.jenkins.credential>${test.jenkins.credential}</test.jenkins.credential>
- </systemPropertyVariables>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
-</project>
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/JenkinsApi.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/JenkinsApi.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/JenkinsApi.java
deleted file mode 100644
index 7106129..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/JenkinsApi.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1;
-
-import org.jclouds.jenkins.v1.domain.Node;
-import org.jclouds.jenkins.v1.features.ComputerApi;
-import org.jclouds.jenkins.v1.features.JobApi;
-import org.jclouds.rest.annotations.Delegate;
-
-/**
- * Provides synchronous access to Jenkins.
- * <p/>
- *
- * @see JenkinsAsyncApi
- * @see <a href="https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API">api doc</a>
- */
-public interface JenkinsApi {
- /**
- * @return the master computer
- */
- Node getMaster();
-
- /**
- * Provides synchronous access to Computer features.
- */
- @Delegate
- ComputerApi getComputerApi();
-
- /**
- * Provides synchronous access to Job features.
- */
- @Delegate
- JobApi getJobApi();
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/JenkinsApiMetadata.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/JenkinsApiMetadata.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/JenkinsApiMetadata.java
deleted file mode 100644
index 1b8159f..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/JenkinsApiMetadata.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1;
-
-import java.net.URI;
-import java.util.Properties;
-
-import org.jclouds.apis.ApiMetadata;
-import org.jclouds.jenkins.v1.config.JenkinsRestClientModule;
-import org.jclouds.rest.RestContext;
-import org.jclouds.rest.internal.BaseRestApiMetadata;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.reflect.TypeToken;
-import com.google.inject.Module;
-
-/**
- * Implementation of {@link ApiMetadata} for Jenkins 1.0 API
- */
-public class JenkinsApiMetadata extends BaseRestApiMetadata {
-
- public static final String ANONYMOUS_IDENTITY = "ANONYMOUS";
-
- public static final TypeToken<RestContext<JenkinsApi, JenkinsAsyncApi>> CONTEXT_TOKEN = new TypeToken<RestContext<JenkinsApi, JenkinsAsyncApi>>() {
- private static final long serialVersionUID = 1L;
- };
-
- @Override
- public Builder toBuilder() {
- return new Builder().fromApiMetadata(this);
- }
-
- public JenkinsApiMetadata() {
- this(new Builder());
- }
-
- protected JenkinsApiMetadata(Builder builder) {
- super(builder);
- }
-
- public static Properties defaultProperties() {
- Properties properties = BaseRestApiMetadata.defaultProperties();
- return properties;
- }
-
- public static class Builder extends BaseRestApiMetadata.Builder<Builder> {
-
- protected Builder() {
- super(JenkinsApi.class, JenkinsAsyncApi.class);
- id("jenkins")
- .name("Jenkins API")
- .identityName("Username (or " + ANONYMOUS_IDENTITY + " if anonymous)")
- .defaultIdentity(ANONYMOUS_IDENTITY)
- .credentialName("Password")
- .defaultCredential(ANONYMOUS_IDENTITY)
- .documentation(URI.create("https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API"))
- .version("1.0")
- .defaultEndpoint("http://localhost:8080")
- .defaultProperties(JenkinsApiMetadata.defaultProperties())
- .defaultModules(ImmutableSet.<Class<? extends Module>>of(JenkinsRestClientModule.class));
- }
-
- @Override
- public JenkinsApiMetadata build() {
- return new JenkinsApiMetadata(this);
- }
-
- @Override
- protected Builder self() {
- return this;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/JenkinsAsyncApi.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/JenkinsAsyncApi.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/JenkinsAsyncApi.java
deleted file mode 100644
index 3cada12..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/JenkinsAsyncApi.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1;
-
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.jenkins.v1.domain.Node;
-import org.jclouds.jenkins.v1.features.ComputerAsyncApi;
-import org.jclouds.jenkins.v1.features.JobAsyncApi;
-import org.jclouds.jenkins.v1.filters.BasicAuthenticationUnlessAnonymous;
-import org.jclouds.rest.annotations.Delegate;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.RequestFilters;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Provides asynchronous access to Jenkins via their REST API.
- * <p/>
- *
- * @see JenkinsApi
- * @see <a href="https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API">api doc</a>
- */
-@RequestFilters(BasicAuthenticationUnlessAnonymous.class)
-public interface JenkinsAsyncApi {
-
- /**
- * @see JenkinsApi#getMaster
- */
- @Named("GetMaster")
- @GET
- @Path("/api/json")
- @Consumes(MediaType.APPLICATION_JSON)
- @Fallback(NullOnNotFoundOr404.class)
- ListenableFuture<Node> getMaster();
-
- /**
- * Provides asynchronous access to Computer features.
- */
- @Delegate
- ComputerAsyncApi getComputerApi();
-
- /**
- * Provides asynchronous access to Job features.
- */
- @Delegate
- JobAsyncApi getJobApi();
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/JenkinsFallbacks.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/JenkinsFallbacks.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/JenkinsFallbacks.java
deleted file mode 100644
index f6f8e60..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/JenkinsFallbacks.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Predicates.equalTo;
-import static com.google.common.base.Throwables.propagate;
-import static com.google.common.util.concurrent.Futures.immediateFuture;
-import static org.jclouds.http.HttpUtils.returnValueOnCodeOrNull;
-
-import org.jclouds.Fallback;
-
-import com.google.common.base.Predicates;
-import com.google.common.util.concurrent.ListenableFuture;
-
-public final class JenkinsFallbacks {
- private JenkinsFallbacks() {
- }
-
- public static final class VoidOn302Or404 implements Fallback<Void> {
- @Override
- public ListenableFuture<Void> create(Throwable t) throws Exception {
- return immediateFuture(createOrPropagate(t));
- }
-
- @Override
- public Void createOrPropagate(Throwable t) throws Exception {
- Boolean returnVal = returnValueOnCodeOrNull(checkNotNull(t, "throwable"), true,
- Predicates.<Integer> or(equalTo(302), equalTo(404)));
- if (returnVal != null && returnVal)
- return null;
- throw propagate(t);
- }
-
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/binders/BindMapToOptionalParams.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/binders/BindMapToOptionalParams.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/binders/BindMapToOptionalParams.java
deleted file mode 100644
index 51e631f..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/binders/BindMapToOptionalParams.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Map;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-import com.google.common.collect.Multimaps;
-
-/**
- * Binds the map to parameters.
- */
-public class BindMapToOptionalParams implements Binder {
-
- @SuppressWarnings("unchecked")
- @Override
- public <R extends HttpRequest> R bindToRequest(R request, Object input) {
- checkArgument(checkNotNull(input, "input") instanceof Map, "this binder is only valid for Maps!");
- Map<String, String> map = (Map<String, String>) input;
- return (R) request.toBuilder().replaceQueryParams(Multimaps.forMap(map)).build();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/config/JenkinsProperties.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/config/JenkinsProperties.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/config/JenkinsProperties.java
deleted file mode 100644
index 99fb02f..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/config/JenkinsProperties.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1.config;
-
-/**
- * Configuration properties and constants used in Jenkins connections.
- */
-public class JenkinsProperties {
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/config/JenkinsRestClientModule.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/config/JenkinsRestClientModule.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/config/JenkinsRestClientModule.java
deleted file mode 100644
index e1f76c4..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/config/JenkinsRestClientModule.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1.config;
-
-import java.util.Map;
-
-import org.jclouds.http.HttpErrorHandler;
-import org.jclouds.http.annotation.ClientError;
-import org.jclouds.http.annotation.Redirection;
-import org.jclouds.http.annotation.ServerError;
-import org.jclouds.jenkins.v1.JenkinsAsyncApi;
-import org.jclouds.jenkins.v1.JenkinsApi;
-import org.jclouds.jenkins.v1.features.ComputerAsyncApi;
-import org.jclouds.jenkins.v1.features.ComputerApi;
-import org.jclouds.jenkins.v1.features.JobAsyncApi;
-import org.jclouds.jenkins.v1.features.JobApi;
-import org.jclouds.jenkins.v1.handlers.JenkinsErrorHandler;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.rest.config.RestClientModule;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * Configures the Jenkins connection.
- */
-@ConfiguresRestClient
-public class JenkinsRestClientModule extends RestClientModule<JenkinsApi, JenkinsAsyncApi> {
-
- public static final Map<Class<?>, Class<?>> DELEGATE_MAP = ImmutableMap.<Class<?>, Class<?>> builder()
- .put(ComputerApi.class, ComputerAsyncApi.class)
- .put(JobApi.class, JobAsyncApi.class)
- .build();
-
- public JenkinsRestClientModule() {
- super(DELEGATE_MAP);
- }
-
- @Override
- protected void bindErrorHandlers() {
- bind(HttpErrorHandler.class).annotatedWith(Redirection.class).to(JenkinsErrorHandler.class);
- bind(HttpErrorHandler.class).annotatedWith(ClientError.class).to(JenkinsErrorHandler.class);
- bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(JenkinsErrorHandler.class);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/Computer.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/Computer.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/Computer.java
deleted file mode 100644
index 66dd922..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/Computer.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1.domain;
-
-import static com.google.common.base.Objects.equal;
-import static com.google.common.base.Objects.toStringHelper;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import com.google.common.base.MoreObjects;
-import com.google.common.base.MoreObjects.ToStringHelper;
-import com.google.common.base.Objects;
-
-/**
- * @see <a
- * href="http://ci.jruby.org/computer/api/">api
- * doc</a>
- */
-public class Computer implements Comparable<Computer> {
-
- public static Builder builder() {
- return new Builder();
- }
-
- public Builder toBuilder() {
- return builder().fromComputerMetadata(this);
- }
-
- public static class Builder {
- protected String displayName;
- protected boolean idle;
- protected boolean offline;
-
- /**
- * @see Computer#getDisplayName()
- */
- public Builder displayName(String displayName) {
- this.displayName = checkNotNull(displayName, "displayName");
- return this;
- }
-
- /**
- * @see Computer#isIdle()
- */
- public Builder idle(boolean idle) {
- this.idle = idle;
- return this;
- }
-
- /**
- * @see Computer#isOffline()
- */
- public Builder offline(boolean offline) {
- this.offline = offline;
- return this;
- }
-
- public Computer build() {
- return new Computer(displayName, idle, offline);
- }
-
- public Builder fromComputerMetadata(Computer from) {
- return displayName(from.getDisplayName()).idle(from.isIdle()).offline(from.isOffline());
- }
- }
-
- protected final String displayName;
- protected final boolean idle;
- protected final boolean offline;
-
- public Computer(String displayName, boolean idle, boolean offline) {
- this.displayName = checkNotNull(displayName, "displayName");
- this.idle = idle;
- this.offline = offline;
- }
-
- /**
- *
- * @return the displayName of the computer
- */
- public String getDisplayName() {
- return displayName;
- }
-
- /**
- *
- * @return the number of objects in the computer
- */
- public boolean isIdle() {
- return idle;
- }
-
- /**
- * @return the total offline stored in this computer
- */
- public boolean isOffline() {
- return offline;
- }
-
- @Override
- public boolean equals(Object object) {
- if (this == object) {
- return true;
- }
- if (object instanceof Computer) {
- final Computer other = Computer.class.cast(object);
- return equal(getDisplayName(), other.getDisplayName()) && equal(isIdle(), other.isIdle())
- && equal(isOffline(), other.isOffline());
- } else {
- return false;
- }
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(getDisplayName(), isIdle(), isOffline());
- }
-
- @Override
- public String toString() {
- return string().toString();
- }
-
- protected ToStringHelper string() {
- return toStringHelper("").add("displayName", getDisplayName()).add("idle", isIdle()).add("offline", isOffline());
- }
-
- @Override
- public int compareTo(Computer that) {
- if (that == null)
- return 1;
- if (this == that)
- return 0;
- return this.getDisplayName().compareTo(that.getDisplayName());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/ComputerView.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/ComputerView.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/ComputerView.java
deleted file mode 100644
index 81ff411..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/ComputerView.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1.domain;
-
-import static com.google.common.base.Objects.equal;
-import static com.google.common.base.Objects.toStringHelper;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Set;
-
-import com.google.common.base.MoreObjects;
-import com.google.common.base.MoreObjects.ToStringHelper;
-import com.google.common.base.Objects;
-import com.google.common.collect.ImmutableSet;
-import com.google.gson.annotations.SerializedName;
-
-/**
- * @see <a
- * href="http://ci.jruby.org/computer/api/">api
- * doc</a>
- */
-public class ComputerView implements Comparable<ComputerView> {
-
- public static Builder builder() {
- return new Builder();
- }
-
- public Builder toBuilder() {
- return builder().fromComputerMetadata(this);
- }
-
- public static class Builder {
- protected String displayName;
- protected int busyExecutors;
- protected int totalExecutors;
- protected Set<Computer> computers = ImmutableSet.of();
-
- /**
- * @see ComputerView#getDisplayName()
- */
- public Builder displayName(String displayName) {
- this.displayName = checkNotNull(displayName, "displayName");
- return this;
- }
-
- /**
- * @see ComputerView#getBusyExecutors()
- */
- public Builder busyExecutors(int busyExecutors) {
- this.busyExecutors = busyExecutors;
- return this;
- }
-
- /**
- * @see ComputerView#getTotalExecutors()
- */
- public Builder totalExecutors(int totalExecutors) {
- this.totalExecutors = totalExecutors;
- return this;
- }
-
- /**
- * @see ComputerView#getLinks()
- */
- public Builder computers(Computer... computers) {
- return computers(ImmutableSet.copyOf(checkNotNull(computers, "computers")));
- }
-
- /**
- * @see ComputerView#getLinks()
- */
- public Builder computers(Set<Computer> computers) {
- this.computers = ImmutableSet.copyOf(checkNotNull(computers, "computers"));
- return this;
- }
-
- public ComputerView build() {
- return new ComputerView(displayName, busyExecutors, totalExecutors, computers);
- }
-
- public Builder fromComputerMetadata(ComputerView from) {
- return displayName(from.getDisplayName()).busyExecutors(from.getBusyExecutors()).totalExecutors(from.getTotalExecutors()).computers(from.getComputers());
- }
- }
-
- protected final String displayName;
- protected final int busyExecutors;
- protected final int totalExecutors;
- @SerializedName("computer")
- protected final Set<Computer> computers;
-
- public ComputerView(String displayName, int busyExecutors, int totalExecutors, Set<Computer> computers) {
- this.displayName = checkNotNull(displayName, "displayName");
- this.busyExecutors = busyExecutors;
- this.totalExecutors = totalExecutors;
- this.computers = ImmutableSet.copyOf(checkNotNull(computers, "computers"));
- }
-
- /**
- *
- * @return the displayName of the computer
- */
- public String getDisplayName() {
- return displayName;
- }
-
- /**
- *
- * @return the number of objects in the computer
- */
- public int getBusyExecutors() {
- return busyExecutors;
- }
-
- /**
- * @return the total totalExecutors stored in this computer
- */
- public int getTotalExecutors() {
- return totalExecutors;
- }
-
- /**
- * @return the computers in this set
- */
- //TODO: create type adapter for gson that understands ForwardingSet so that we can implement the Set interface
- public Set<Computer> getComputers() {
- return computers;
- }
-
- @Override
- public boolean equals(Object object) {
- if (this == object) {
- return true;
- }
- if (object instanceof ComputerView) {
- final ComputerView other = ComputerView.class.cast(object);
- return equal(getDisplayName(), other.getDisplayName()) && equal(getBusyExecutors(), other.getBusyExecutors())
- && equal(getTotalExecutors(), other.getTotalExecutors()) && equal(getComputers(), other.getComputers());
- } else {
- return false;
- }
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(getDisplayName(), getBusyExecutors(), getTotalExecutors(), getComputers());
- }
-
- @Override
- public String toString() {
- return string().toString();
- }
-
- protected ToStringHelper string() {
- return toStringHelper("").add("displayName", getDisplayName()).add("busyExecutors", getBusyExecutors()).add(
- "totalExecutors", getTotalExecutors()).add("computers", getComputers());
- }
-
- @Override
- public int compareTo(ComputerView that) {
- if (that == null)
- return 1;
- if (this == that)
- return 0;
- return this.getDisplayName().compareTo(that.getDisplayName());
- }
-
-
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/Job.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/Job.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/Job.java
deleted file mode 100644
index d7ef342..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/Job.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1.domain;
-
-import static com.google.common.base.Objects.equal;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.net.URI;
-
-import com.google.common.base.MoreObjects;
-import com.google.common.base.MoreObjects.ToStringHelper;
-import com.google.common.base.Objects;
-
-/**
- * Minimal info about a Job
- */
-public class Job {
-
- public static Builder<?> builder() {
- return new ConcreteBuilder();
- }
-
- public Builder<?> toBuilder() {
- return builder().fromJob(this);
- }
-
- private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
- }
-
- public abstract static class Builder<B extends Builder<B>> {
- private String name;
- private URI url;
- private String color;
-
- @SuppressWarnings("unchecked")
- protected B self() {
- return (B) this;
- }
-
- /**
- * @see Job#getName()
- */
- public B name(String name) {
- this.name = name;
- return self();
- }
-
- /**
- * @see Job#getUrl()
- */
- public B url(URI url) {
- this.url = url;
- return self();
- }
-
- /**
- * @see Job#getColor()
- */
- public B color(String color) {
- this.color = color;
- return self();
- }
-
- public Job build() {
- return new Job(this);
- }
-
- protected B fromJob(Job in) {
- return name(in.getName()).color(in.getColor()).url(in.getUrl());
- }
- }
-
- private final String name;
- private final String color;
- private final URI url;
-
- protected Job(Builder<?> builder) {
- this.name = checkNotNull(builder.name, "name");
- this.color = checkNotNull(builder.color, "color");
- this.url = checkNotNull(builder.url, "url");
- }
-
- /**
- * name of the job
- */
- public String getName() {
- return name;
- }
-
- /**
- *
- * color of the job
- */
- public String getColor() {
- return color;
- }
-
- /**
- *
- * url of the job
- */
- public URI getUrl() {
- return url;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o)
- return true;
- if (o == null || getClass() != o.getClass())
- return false;
- Job that = Job.class.cast(o);
- return equal(this.name, that.name) && equal(this.url, that.url)
- && equal(this.color, that.color);
- }
-
- public boolean clone(Object o) {
- if (this == o)
- return false;
- if (o == null || getClass() != o.getClass())
- return false;
- Job that = Job.class.cast(o);
- return equal(this.color, that.color);
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(name, url, color);
- }
-
- @Override
- public String toString() {
- return string().toString();
- }
-
- protected ToStringHelper string() {
- return MoreObjects.toStringHelper("").add("name", name).add("url", url).add("color",
- color);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/JobDetails.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/JobDetails.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/JobDetails.java
deleted file mode 100644
index 54a1bf4..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/JobDetails.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1.domain;
-
-import com.google.common.base.MoreObjects.ToStringHelper;
-
-public class JobDetails extends Job {
-
- public static Builder<?> builder() {
- return new ConcreteBuilder();
- }
-
- @Override
- public Builder<?> toBuilder() {
- return builder().fromJobDetails(this);
- }
-
- public static class Builder<B extends Builder<B>> extends Job.Builder<B> {
-
- @Override
- public JobDetails build() {
- return new JobDetails(this);
- }
-
- public B fromJobDetails(JobDetails in) {
- return fromJob(in);
- }
- }
-
- private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
- }
-
- protected JobDetails(Builder<?> builder) {
- super(builder);
- }
-
- @Override
- public ToStringHelper string() {
- return super.string(); // .add("field", field);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/LastBuild.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/LastBuild.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/LastBuild.java
deleted file mode 100644
index f97af6c..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/LastBuild.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1.domain;
-
-import static com.google.common.base.Objects.equal;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.net.URI;
-
-import com.google.common.base.MoreObjects;
-import com.google.common.base.MoreObjects.ToStringHelper;
-import com.google.common.base.Objects;
-
-/**
- * Minimal info about a LastBuild
- *
- * GET http://host/job/project/lastBuild/api/json
- */
-public class LastBuild {
-
- public static Builder<?> builder() {
- return new ConcreteBuilder();
- }
-
- public Builder<?> toBuilder() {
- return builder().fromJob(this);
- }
-
- private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
- }
-
- public abstract static class Builder<B extends Builder<B>> {
- private String id;
- private URI url;
- private String description;
- private String building;
- private String duration;
- private String estimatedDuration;
- private String fullDisplayName;
- private String result;
- private String timestamp;
-
- @SuppressWarnings("unchecked")
- protected B self() {
- return (B) this;
- }
-
- /**
- * @see LastBuild#getId()
- */
- public B id(String id) {
- this.id = id;
- return self();
- }
-
- /**
- * @see LastBuild#getUrl()
- */
- public B url(URI url) {
- this.url = url;
- return self();
- }
-
- /**
- * @see LastBuild#getDescription()
- */
- public B description(String description) {
- this.description = description;
- return self();
- }
-
- /**
- * @see LastBuild#getBuilding()
- */
- public B building(String building) {
- this.building = building;
- return self();
- }
-
- /**
- * @see LastBuild#getDuration()
- */
- public B duration(String duration) {
- this.duration = duration;
- return self();
- }
-
- /**
- * @see LastBuild#getEstimatedDuration()
- */
- public B estimatedDuration(String estimatedDuration) {
- this.estimatedDuration = estimatedDuration;
- return self();
- }
-
- /**
- * @see LastBuild#getFullDisplayName()
- */
- public B fullDisplayName(String fullDisplayName) {
- this.fullDisplayName = fullDisplayName;
- return self();
- }
-
- /**
- * @see LastBuild#getResult()
- */
- public B result(String result) {
- this.result = result;
- return self();
- }
-
- /**
- * @see LastBuild#getTimestamp()
- */
- public B timestamp(String timestamp) {
- this.timestamp = timestamp;
- return self();
- }
-
- public LastBuild build() {
- return new LastBuild(this);
- }
-
- protected B fromJob(LastBuild in) {
- return id(in.getId()).url(in.getUrl()).description(in.getDescription()).building(in.getBuilding())
- .duration(in.getDuration()).estimatedDuration(in.getEstimatedDuration())
- .fullDisplayName(in.getFullDisplayName()).result(in.getResult()).timestamp(in.getTimestamp());
- }
- }
-
- private final String id;
- private final URI url;
- private final String description;
- private final String building;
- private final String duration;
- private final String estimatedDuration;
- private final String fullDisplayName;
- private final String result;
- private final String timestamp;
-
- protected LastBuild(Builder<?> builder) {
- this.id = checkNotNull(builder.id, "id");
- this.url = checkNotNull(builder.url, "url");
- this.description = checkNotNull(builder.description, "description");
- this.building = checkNotNull(builder.building, "building");
- this.duration = checkNotNull(builder.duration, "duration");
- this.estimatedDuration = checkNotNull(builder.estimatedDuration, "estimatedDuration");
- this.fullDisplayName = checkNotNull(builder.fullDisplayName, "fullDisplayName");
- this.result = checkNotNull(builder.result, "result");
- this.timestamp = checkNotNull(builder.timestamp, "timestamp");
- }
-
- /**
- * id of the lastBuild
- */
- public String getId() {
- return id;
- }
-
- /**
- *
- * url of the lastBuild
- */
- public URI getUrl() {
- return url;
- }
-
- /**
- *
- * building of the lastBuild
- */
- public String getBuilding() {
- return building;
- }
-
- /**
- *
- * description of the lastBuild
- */
- public String getDescription() {
- return description;
- }
-
- /**
- *
- * duration of the lastBuild
- */
- public String getDuration() {
- return duration;
- }
-
- /**
- *
- * estimated duration of the lastBuild
- */
- public String getEstimatedDuration() {
- return estimatedDuration;
- }
-
- /**
- *
- * full Display Name of the lastBuild
- */
- public String getFullDisplayName() {
- return fullDisplayName;
- }
-
- /**
- *
- * result of the lastBuild
- */
- public String getResult() {
- return result;
- }
-
- /**
- *
- * timestamp of the lastBuild
- */
- public String getTimestamp() {
- return timestamp;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o)
- return true;
- if (o == null || getClass() != o.getClass())
- return false;
- LastBuild that = LastBuild.class.cast(o);
- return equal(this.id, that.id)
- && equal(this.url, that.url)
- && equal(this.building, that.building)
- && equal(this.description, that.description)
- && equal(this.duration, that.duration)
- && equal(this.estimatedDuration, that.estimatedDuration)
- && equal(this.fullDisplayName, that.fullDisplayName)
- && equal(this.result, that.result)
- && equal(this.timestamp, that.timestamp);
- }
-
- public boolean clone(Object o) {
- if (this == o)
- return false;
- if (o == null || getClass() != o.getClass())
- return false;
- LastBuild that = LastBuild.class.cast(o);
- return equal(this.description, that.description);
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(id, url, description, duration, estimatedDuration, fullDisplayName, result, timestamp);
- }
-
- @Override
- public String toString() {
- return string().toString();
- }
-
- protected ToStringHelper string() {
- return MoreObjects.toStringHelper("")
- .add("id", id)
- .add("url", url)
- .add("description", description)
- .add("duration", duration)
- .add("estimatedDuration", estimatedDuration)
- .add("fullDisplayName", fullDisplayName)
- .add("result", result)
- .add("timestamp", timestamp);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/Node.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/Node.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/Node.java
deleted file mode 100644
index dbb0504..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/domain/Node.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1.domain;
-
-import static com.google.common.base.Objects.equal;
-import static com.google.common.base.Objects.toStringHelper;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Set;
-
-import com.google.common.base.MoreObjects;
-import com.google.common.base.MoreObjects.ToStringHelper;
-import com.google.common.base.Objects;
-import com.google.common.collect.ImmutableSet;
-import com.google.gson.annotations.SerializedName;
-
-/**
- * @see <a
- * href="http://ci.jruby.org/api/">api
- * doc</a>
- */
-public class Node implements Comparable<Node> {
-
- public static Builder builder() {
- return new Builder();
- }
-
- public Builder toBuilder() {
- return builder().fromNodeMetadata(this);
- }
-
- public static class Builder {
- protected String name;
- protected String description;
- protected Set<Job> jobs = ImmutableSet.of();
-
- /**
- * @see Node#getName()
- */
- public Builder name(String name) {
- this.name = checkNotNull(name, "name");
- return this;
- }
-
- /**
- * @see Node#getDescription()
- */
- public Builder description(String description) {
- this.description = description;
- return this;
- }
-
- /**
- * @see Node#getJobs()
- */
- public Builder jobs(Job... jobs) {
- return jobs(ImmutableSet.copyOf(checkNotNull(jobs, "jobs")));
- }
-
- /**
- * @see Node#getJobs()
- */
- public Builder jobs(Set<Job> jobs) {
- this.jobs = ImmutableSet.copyOf(checkNotNull(jobs, "jobs"));
- return this;
- }
-
- public Node build() {
- return new Node(name, description, jobs);
- }
-
- public Builder fromNodeMetadata(Node from) {
- return name(from.getName()).description(from.getDescription()).jobs(from.getJobs());
- }
- }
-
- @SerializedName("nodeName")
- protected final String name;
- @SerializedName("nodeDescription")
- protected final String description;
- protected final Set<Job> jobs;
-
- public Node(String name, String description, Set<Job> jobs) {
- this.name = checkNotNull(name, "name");
- this.description = description;
- this.jobs = ImmutableSet.copyOf(checkNotNull(jobs, "jobs"));
- }
-
- /**
- *
- * @return the name of the node
- */
- public String getName() {
- return name;
- }
-
- /**
- *
- * @return the description of the node
- */
- public String getDescription() {
- return description;
- }
-
- /**
- * @return the jobs on this node
- */
- public Set<Job> getJobs() {
- return jobs;
- }
-
- @Override
- public boolean equals(Object object) {
- if (this == object) {
- return true;
- }
- if (object instanceof Node) {
- final Node other = Node.class.cast(object);
- return equal(getName(), other.getName()) && equal(getDescription(), other.getDescription())
- && equal(getJobs(), other.getJobs());
- } else {
- return false;
- }
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(getName(), getDescription(), getJobs());
- }
-
- @Override
- public String toString() {
- return string().toString();
- }
-
- protected ToStringHelper string() {
- return toStringHelper("").add("name", getName()).add("description", getDescription()).add("jobs", getJobs());
- }
-
- @Override
- public int compareTo(Node that) {
- if (that == null)
- return 1;
- if (this == that)
- return 0;
- return this.getName().compareTo(that.getName());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/features/ComputerApi.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/features/ComputerApi.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/features/ComputerApi.java
deleted file mode 100644
index 2eb6ccc..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/features/ComputerApi.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1.features;
-
-import org.jclouds.jenkins.v1.domain.Computer;
-import org.jclouds.jenkins.v1.domain.ComputerView;
-
-/**
- * Computer Services
- *
- * @see ComputerAsyncApi
- * @see <a href= "http://ci.jruby.org/computer/api/" >api doc</a>
- */
-public interface ComputerApi {
-
- /**
- * @return overview of all configured computers
- */
- ComputerView getView();
-
- /**
- *
- * @param displayName display name of the computer
- * @return computer or null if not found
- */
- Computer get(String displayName);
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/features/ComputerAsyncApi.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/features/ComputerAsyncApi.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/features/ComputerAsyncApi.java
deleted file mode 100644
index 75cb243..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/features/ComputerAsyncApi.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1.features;
-
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.jenkins.v1.domain.Computer;
-import org.jclouds.jenkins.v1.domain.ComputerView;
-import org.jclouds.jenkins.v1.filters.BasicAuthenticationUnlessAnonymous;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.RequestFilters;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Computer Services
- *
- * @see ComputerApi
- * @see <a href=
- * "http://ci.jruby.org/computer/api/"
- * >api doc</a>
- */
-@RequestFilters(BasicAuthenticationUnlessAnonymous.class)
-public interface ComputerAsyncApi {
-
- /**
- * @see ComputerApi#getView
- */
- @Named("ListComputers")
- @GET
- @Path("/computer/api/json")
- @Consumes(MediaType.APPLICATION_JSON)
- ListenableFuture<ComputerView> getView();
-
- /**
- * @see ComputerApi#get
- */
- @Named("GetComputer")
- @GET
- @Path("/computer/{displayName}/api/json")
- @Consumes(MediaType.APPLICATION_JSON)
- @Fallback(NullOnNotFoundOr404.class)
- ListenableFuture<Computer> get(@PathParam("displayName") String displayName);
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/features/JobApi.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/features/JobApi.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/features/JobApi.java
deleted file mode 100644
index 28a537b..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/features/JobApi.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1.features;
-
-import java.util.Map;
-import org.jclouds.jenkins.v1.domain.JobDetails;
-import org.jclouds.jenkins.v1.domain.LastBuild;
-
-/**
- * Job Services
- *
- * @see JobAsyncApi
- * @see <a href= "http://ci.jruby.org/computer/api/" >api doc</a>
- */
-public interface JobApi {
-
- /**
- * creates a job, given the payload
- *
- * @param displayName
- * @param xml
- */
- void createFromXML(String displayName, String xml);
-
- JobDetails get(String displayName);
-
- void delete(String displayName);
-
- /**
- * Build a job via API
- *
- * If security is enabled, provide username/password of an account with build permission in the request.
- * Another alternative (but deprecated) is to configure the 'Trigger builds remotely' section in the job configuration.
- *
- * @param displayName
- */
- void build(String displayName);
-
- void buildWithParameters(String displayName, Map<String, String> parameters);
-
- String fetchConfigXML(String displayName);
-
- LastBuild lastBuild(String displayName);
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/features/JobAsyncApi.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/features/JobAsyncApi.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/features/JobAsyncApi.java
deleted file mode 100644
index 91e4519..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/features/JobAsyncApi.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1.features;
-
-import java.util.Map;
-
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.jenkins.v1.JenkinsFallbacks.VoidOn302Or404;
-import org.jclouds.jenkins.v1.binders.BindMapToOptionalParams;
-import org.jclouds.jenkins.v1.domain.JobDetails;
-import org.jclouds.jenkins.v1.domain.LastBuild;
-import org.jclouds.jenkins.v1.filters.BasicAuthenticationUnlessAnonymous;
-import org.jclouds.rest.annotations.BinderParam;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.binders.BindToStringPayload;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Job Services
- *
- * @see JobApi
- * @see <a href="http://ci.jruby.org/computer/api/">api doc</a>
- */
-@RequestFilters(BasicAuthenticationUnlessAnonymous.class)
-public interface JobAsyncApi {
-
- /**
- * @see JobApi#createFromXML
- */
- @Named("CreateItem")
- @POST
- @Path("/createItem")
- @Produces(MediaType.TEXT_XML)
- ListenableFuture<Void> createFromXML(@QueryParam("name") String displayName, @BinderParam(BindToStringPayload.class) String xml);
-
- /**
- * @see JobApi#get
- */
- @Named("GetJob")
- @GET
- @Path("/job/{displayName}/api/json")
- @Consumes(MediaType.APPLICATION_JSON)
- @Fallback(NullOnNotFoundOr404.class)
- ListenableFuture<JobDetails> get(@PathParam("displayName") String displayName);
-
- /**
- * @see JobApi#delete
- */
- @Named("DeleteJob")
- @POST
- @Path("/job/{displayName}/doDelete")
- @Fallback(VoidOn302Or404.class)
- ListenableFuture<Void> delete(@PathParam("displayName") String displayName);
-
- /**
- * @see JobApi#buildJob
- */
- @Named("Build")
- @POST
- @Path("/job/{displayName}/build")
- @Fallback(NullOnNotFoundOr404.class)
- ListenableFuture<Void> build(@PathParam("displayName") String displayName);
-
- /**
- * @see JobApi#buildJobWithParameters
- */
- @Named("BuildWithParameters")
- @POST
- @Path("/job/{displayName}/buildWithParameters")
- @Fallback(NullOnNotFoundOr404.class)
- ListenableFuture<Void> buildWithParameters(@PathParam("displayName") String displayName,
- @BinderParam(BindMapToOptionalParams.class) Map<String, String> parameters);
-
- /**
- * @see JobApi#fetchConfigXML
- */
- @Named("GetConfigXML")
- @GET
- @Path("/job/{displayName}/config.xml")
- @Fallback(NullOnNotFoundOr404.class)
- ListenableFuture<String> fetchConfigXML(@PathParam("displayName") String displayName);
-
- /**
- * @see JobApi#lastBuild
- */
- @Named("GetLastBuild")
- @GET
- @Path("/job/{displayName}/lastBuild/api/json")
- @Consumes(MediaType.APPLICATION_JSON)
- @Fallback(NullOnNotFoundOr404.class)
- ListenableFuture<LastBuild> lastBuild(@PathParam("displayName") String displayName);
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/filters/BasicAuthenticationUnlessAnonymous.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/filters/BasicAuthenticationUnlessAnonymous.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/filters/BasicAuthenticationUnlessAnonymous.java
deleted file mode 100644
index d767b97..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/filters/BasicAuthenticationUnlessAnonymous.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1.filters;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.jenkins.v1.JenkinsApiMetadata.ANONYMOUS_IDENTITY;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.domain.Credentials;
-import org.jclouds.http.HttpException;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpRequestFilter;
-import org.jclouds.http.filters.BasicAuthentication;
-import org.jclouds.location.Provider;
-
-import com.google.common.base.Supplier;
-
-@Singleton
-public class BasicAuthenticationUnlessAnonymous implements HttpRequestFilter {
-
- private final Supplier<Credentials> creds;
- private final BasicAuthentication auth;
-
- @Inject
- public BasicAuthenticationUnlessAnonymous(@Provider Supplier<Credentials> creds, BasicAuthentication auth) {
- this.creds = checkNotNull(creds, "creds");
- this.auth = checkNotNull(auth, "auth");
- }
-
- @Override
- public HttpRequest filter(HttpRequest request) throws HttpException {
- if (ANONYMOUS_IDENTITY.equals(checkNotNull(creds.get().identity, "user")))
- return request;
- return auth.filter(request);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/java/org/jclouds/jenkins/v1/handlers/JenkinsErrorHandler.java
----------------------------------------------------------------------
diff --git a/jenkins/src/main/java/org/jclouds/jenkins/v1/handlers/JenkinsErrorHandler.java b/jenkins/src/main/java/org/jclouds/jenkins/v1/handlers/JenkinsErrorHandler.java
deleted file mode 100644
index 27e2a23..0000000
--- a/jenkins/src/main/java/org/jclouds/jenkins/v1/handlers/JenkinsErrorHandler.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1.handlers;
-
-import static org.jclouds.http.HttpUtils.closeClientButKeepContentStream;
-
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpCommand;
-import org.jclouds.http.HttpErrorHandler;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.HttpResponseException;
-import org.jclouds.rest.AuthorizationException;
-import org.jclouds.rest.ResourceNotFoundException;
-
-/**
- * This will parse and set an appropriate exception on the command object.
- */
-// TODO: is there error spec someplace? let's type errors, etc.
-@Singleton
-public class JenkinsErrorHandler implements HttpErrorHandler {
-
- public void handleError(HttpCommand command, HttpResponse response) {
- // it is important to always read fully and close streams
- byte[] data = closeClientButKeepContentStream(response);
- String message = data != null ? new String(data) : null;
-
- Exception exception = message != null ? new HttpResponseException(command, response, message)
- : new HttpResponseException(command, response);
- message = message != null ? message : String.format("%s -> %s", command.getCurrentRequest().getRequestLine(),
- response.getStatusLine());
- switch (response.getStatusCode()) {
- case 400:
- break;
- case 401:
- case 403:
- exception = new AuthorizationException(message, exception);
- break;
- case 404:
- if (!command.getCurrentRequest().getMethod().equals("DELETE")) {
- exception = new ResourceNotFoundException(message, exception);
- }
- break;
- }
- command.setException(exception);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata
----------------------------------------------------------------------
diff --git a/jenkins/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata b/jenkins/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata
deleted file mode 100644
index c80a7f3..0000000
--- a/jenkins/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata
+++ /dev/null
@@ -1 +0,0 @@
-org.jclouds.jenkins.v1.JenkinsApiMetadata
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/test/java/org/jclouds/jenkins/v1/JenkinsApiExpectTest.java
----------------------------------------------------------------------
diff --git a/jenkins/src/test/java/org/jclouds/jenkins/v1/JenkinsApiExpectTest.java b/jenkins/src/test/java/org/jclouds/jenkins/v1/JenkinsApiExpectTest.java
deleted file mode 100644
index bc95e9d..0000000
--- a/jenkins/src/test/java/org/jclouds/jenkins/v1/JenkinsApiExpectTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1;
-
-import static org.testng.Assert.assertEquals;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.jenkins.v1.internal.BaseJenkinsApiExpectTest;
-import org.jclouds.jenkins.v1.parse.ParseNodeTest;
-import org.testng.annotations.Test;
-
-@Test(groups = "unit", testName = "JenkinsApiExpectTest")
-public class JenkinsApiExpectTest extends BaseJenkinsApiExpectTest {
-
- public void testGetMasterWhenResponseIs2xx() {
- HttpRequest getMaster = HttpRequest
- .builder()
- .method("GET")
- .endpoint("http://localhost:8080/api/json")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build();
-
- HttpResponse getMasterResponse = HttpResponse.builder().statusCode(200)
- .payload(payloadFromResource("/master.json")).build();
-
- JenkinsApi apiWhenMasterExists = requestSendsResponse(getMaster, getMasterResponse);
-
- assertEquals(apiWhenMasterExists.getMaster().toString(),
- new ParseNodeTest().expected().toString());
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/test/java/org/jclouds/jenkins/v1/JenkinsApiLiveTest.java
----------------------------------------------------------------------
diff --git a/jenkins/src/test/java/org/jclouds/jenkins/v1/JenkinsApiLiveTest.java b/jenkins/src/test/java/org/jclouds/jenkins/v1/JenkinsApiLiveTest.java
deleted file mode 100644
index 2906475..0000000
--- a/jenkins/src/test/java/org/jclouds/jenkins/v1/JenkinsApiLiveTest.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1;
-
-import static org.testng.Assert.assertNotNull;
-
-import org.jclouds.jenkins.v1.domain.Node;
-import org.jclouds.jenkins.v1.internal.BaseJenkinsApiLiveTest;
-import org.testng.annotations.Test;
-
-@Test(groups = "live", testName = "JenkinsApiLiveTest")
-public class JenkinsApiLiveTest extends BaseJenkinsApiLiveTest {
-
- public void testGetMaster(){
- Node master = context.getApi().getMaster();
- assertNotNull(master);
- assertNotNull(master.getName());
- assertNotNull(master.getJobs());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/test/java/org/jclouds/jenkins/v1/JenkinsApiMetadataTest.java
----------------------------------------------------------------------
diff --git a/jenkins/src/test/java/org/jclouds/jenkins/v1/JenkinsApiMetadataTest.java b/jenkins/src/test/java/org/jclouds/jenkins/v1/JenkinsApiMetadataTest.java
deleted file mode 100644
index f13c839..0000000
--- a/jenkins/src/test/java/org/jclouds/jenkins/v1/JenkinsApiMetadataTest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1;
-
-import org.jclouds.View;
-import org.jclouds.apis.internal.BaseApiMetadataTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.reflect.TypeToken;
-
-@Test(groups = "unit", testName = "JenkinsApiMetadataTest")
-public class JenkinsApiMetadataTest extends BaseApiMetadataTest {
- public JenkinsApiMetadataTest() {
- super(new JenkinsApiMetadata(), ImmutableSet.<TypeToken<? extends View>> of());
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/test/java/org/jclouds/jenkins/v1/JenkinsErrorHandlerTest.java
----------------------------------------------------------------------
diff --git a/jenkins/src/test/java/org/jclouds/jenkins/v1/JenkinsErrorHandlerTest.java b/jenkins/src/test/java/org/jclouds/jenkins/v1/JenkinsErrorHandlerTest.java
deleted file mode 100644
index 0a7f70f..0000000
--- a/jenkins/src/test/java/org/jclouds/jenkins/v1/JenkinsErrorHandlerTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1;
-
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.reportMatcher;
-import static org.easymock.EasyMock.verify;
-
-import java.net.URI;
-
-import org.easymock.IArgumentMatcher;
-import org.jclouds.http.HttpCommand;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.jenkins.v1.handlers.JenkinsErrorHandler;
-import org.jclouds.rest.ResourceNotFoundException;
-import org.testng.annotations.Test;
-
-@Test(groups = "unit", testName = "JenkinsErrorHandlerTest")
-public class JenkinsErrorHandlerTest {
-
- @Test
- public void test404WithHTMLDoesntBustParserAndMakesResourceNotFoundException() {
- assertCodeMakes("GET", URI
- .create("http://ci.jruby.org/computer/master/api/json"),
- 404, "Not Found", "<html></html>", ResourceNotFoundException.class);
- }
-
- private void assertCodeMakes(String method, URI uri, int statusCode, String message, String content,
- Class<? extends Exception> expected) {
- assertCodeMakes(method, uri, statusCode, message, "text/plain", content, expected);
- }
-
- private void assertCodeMakes(String method, URI uri, int statusCode, String message, String contentType,
- String content, Class<? extends Exception> expected) {
-
- JenkinsErrorHandler function = new JenkinsErrorHandler();
-
- HttpCommand command = createMock(HttpCommand.class);
- HttpRequest request = HttpRequest.builder().method(method).endpoint(uri).build();
- HttpResponse response = HttpResponse.builder().statusCode(statusCode).message(message).payload(content).build();
- response.getPayload().getContentMetadata().setContentType(contentType);
-
- expect(command.getCurrentRequest()).andReturn(request).atLeastOnce();
- command.setException(classEq(expected));
-
- replay(command);
-
- function.handleError(command, response);
-
- verify(command);
- }
-
- public static Exception classEq(final Class<? extends Exception> in) {
- reportMatcher(new IArgumentMatcher() {
-
- @Override
- public void appendTo(StringBuffer buffer) {
- buffer.append("classEq(");
- buffer.append(in);
- buffer.append(")");
- }
-
- @Override
- public boolean matches(Object arg) {
- return arg.getClass() == in;
- }
-
- });
- return null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/ac22366f/jenkins/src/test/java/org/jclouds/jenkins/v1/features/ComputerApiExpectTest.java
----------------------------------------------------------------------
diff --git a/jenkins/src/test/java/org/jclouds/jenkins/v1/features/ComputerApiExpectTest.java b/jenkins/src/test/java/org/jclouds/jenkins/v1/features/ComputerApiExpectTest.java
deleted file mode 100644
index d581d4a..0000000
--- a/jenkins/src/test/java/org/jclouds/jenkins/v1/features/ComputerApiExpectTest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * 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.jclouds.jenkins.v1.features;
-
-import static org.testng.Assert.assertEquals;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.jenkins.v1.JenkinsApi;
-import org.jclouds.jenkins.v1.internal.BaseJenkinsApiExpectTest;
-import org.jclouds.jenkins.v1.parse.ParseComputerTest;
-import org.jclouds.jenkins.v1.parse.ParseComputerViewTest;
-import org.testng.annotations.Test;
-
-@Test(groups = "unit", testName = "ComputerApiExpectTest")
-public class ComputerApiExpectTest extends BaseJenkinsApiExpectTest {
-
- public void testGetComputerViewWhenResponseIs2xx() {
- HttpRequest getComputerView = HttpRequest
- .builder()
- .method("GET")
- .endpoint("http://localhost:8080/computer/api/json")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build();
-
- HttpResponse getComputerViewResponse = HttpResponse.builder().statusCode(200)
- .payload(payloadFromResource("/computerview.json")).build();
-
- JenkinsApi apiWhenServersExist = requestSendsResponse(getComputerView, getComputerViewResponse);
-
- assertEquals(apiWhenServersExist.getComputerApi().getView().toString(),
- new ParseComputerViewTest().expected().toString());
- }
-
- public void testGetComputerWhenResponseIs2xx() {
- HttpRequest getComputer = HttpRequest
- .builder()
- .method("GET")
- .endpoint("http://localhost:8080/computer/Ruboto/api/json")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==").build();
-
- HttpResponse getComputerResponse = HttpResponse.builder().statusCode(200)
- .payload(payloadFromResource("/computer.json")).build();
-
- JenkinsApi apiWhenServersExist = requestSendsResponse(getComputer, getComputerResponse);
-
- assertEquals(apiWhenServersExist.getComputerApi().get("Ruboto").toString(),
- new ParseComputerTest().expected().toString());
- }
-}