You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2013/09/04 10:46:01 UTC
git commit: Removed redundant binders
Updated Branches:
refs/heads/master eecfbf016 -> 3bc628f9e
Removed redundant binders
Project: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/commit/3bc628f9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/tree/3bc628f9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/diff/3bc628f9
Branch: refs/heads/master
Commit: 3bc628f9ea62a4a5e91bb9c60e51a2f5a9756500
Parents: eecfbf0
Author: Ignasi Barrera <na...@apache.org>
Authored: Tue Sep 3 10:29:27 2013 +0200
Committer: Ignasi Barrera <na...@apache.org>
Committed: Wed Sep 4 10:44:32 2013 +0200
----------------------------------------------------------------------
.../src/main/java/org/jclouds/chef/ChefApi.java | 10 ++--
.../binders/BindClientnameToJsonPayload.java | 40 ---------------
.../binders/BindIsCompletedToJsonPayload.java | 40 ---------------
.../chef/binders/BindNameToJsonPayload.java | 40 ---------------
.../enterprisechef/EnterpriseChefApi.java | 4 +-
.../binders/BindGroupNameToJsonPayload.java | 42 ----------------
.../binders/BindGroupNameToJsonPayloadTest.java | 52 --------------------
7 files changed, 6 insertions(+), 222 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/3bc628f9/core/src/main/java/org/jclouds/chef/ChefApi.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/chef/ChefApi.java b/core/src/main/java/org/jclouds/chef/ChefApi.java
index e319ea7..fb5366f 100644
--- a/core/src/main/java/org/jclouds/chef/ChefApi.java
+++ b/core/src/main/java/org/jclouds/chef/ChefApi.java
@@ -40,8 +40,6 @@ import org.jclouds.Fallbacks.VoidOnNotFoundOr404;
import org.jclouds.chef.binders.BindChecksumsToJsonPayload;
import org.jclouds.chef.binders.BindCreateClientOptionsToJsonPayload;
import org.jclouds.chef.binders.BindGenerateKeyForClientToJsonPayload;
-import org.jclouds.chef.binders.BindIsCompletedToJsonPayload;
-import org.jclouds.chef.binders.BindNameToJsonPayload;
import org.jclouds.chef.binders.DatabagItemId;
import org.jclouds.chef.binders.EnvironmentName;
import org.jclouds.chef.binders.NodeName;
@@ -85,6 +83,7 @@ import org.jclouds.rest.annotations.RequestFilters;
import org.jclouds.rest.annotations.ResponseParser;
import org.jclouds.rest.annotations.SinceApiVersion;
import org.jclouds.rest.annotations.SkipEncoding;
+import org.jclouds.rest.annotations.WrapWith;
import org.jclouds.rest.binders.BindToJsonPayload;
/**
@@ -137,8 +136,7 @@ public interface ChefApi extends Closeable {
@Named("sandbox:commit")
@PUT
@Path("/sandboxes/{id}")
- Sandbox commitSandbox(@PathParam("id") String id,
- @BinderParam(BindIsCompletedToJsonPayload.class) boolean isCompleted);
+ Sandbox commitSandbox(@PathParam("id") String id, @WrapWith("is_completed") boolean isCompleted);
/**
* @return a list of all the cookbook names
@@ -503,7 +501,7 @@ public interface ChefApi extends Closeable {
@Named("databag:create")
@POST
@Path("/data")
- void createDatabag(@BinderParam(BindNameToJsonPayload.class) String databagName);
+ void createDatabag(@WrapWith("name") String databagName);
/**
* Delete a data bag, including its items
@@ -779,7 +777,7 @@ public interface ChefApi extends Closeable {
@Named("content:get")
@GET
@Fallback(NullOnNotFoundOr404.class)
- @SkipEncoding({'+', ' ', '/', '=', ':', ';'})
+ @SkipEncoding({ '+', ' ', '/', '=', ':', ';' })
InputStream getResourceContents(@EndpointParam(parser = UriForResource.class) Resource resource);
/**
http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/3bc628f9/core/src/main/java/org/jclouds/chef/binders/BindClientnameToJsonPayload.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/chef/binders/BindClientnameToJsonPayload.java b/core/src/main/java/org/jclouds/chef/binders/BindClientnameToJsonPayload.java
deleted file mode 100644
index 3f6dd97..0000000
--- a/core/src/main/java/org/jclouds/chef/binders/BindClientnameToJsonPayload.java
+++ /dev/null
@@ -1,40 +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.chef.binders;
-
-import javax.inject.Singleton;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.binders.BindToStringPayload;
-
-/**
- *
- * @author Adrian Cole
- *
- */
-@Singleton
-public class BindClientnameToJsonPayload extends BindToStringPayload {
-
- @Override
- public <R extends HttpRequest> R bindToRequest(R request, Object payload) {
- super.bindToRequest(request, String.format("{\"clientname\":\"%s\"}", payload));
- request.getPayload().getContentMetadata().setContentType(MediaType.APPLICATION_JSON);
- return request;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/3bc628f9/core/src/main/java/org/jclouds/chef/binders/BindIsCompletedToJsonPayload.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/chef/binders/BindIsCompletedToJsonPayload.java b/core/src/main/java/org/jclouds/chef/binders/BindIsCompletedToJsonPayload.java
deleted file mode 100644
index 105178e..0000000
--- a/core/src/main/java/org/jclouds/chef/binders/BindIsCompletedToJsonPayload.java
+++ /dev/null
@@ -1,40 +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.chef.binders;
-
-import javax.inject.Singleton;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.binders.BindToStringPayload;
-
-/**
- *
- * @author Adrian Cole
- *
- */
-@Singleton
-public class BindIsCompletedToJsonPayload extends BindToStringPayload {
-
- @Override
- public <R extends HttpRequest> R bindToRequest(R request, Object payload) {
- super.bindToRequest(request, String.format("{\"is_completed\":%s}", payload));
- request.getPayload().getContentMetadata().setContentType(MediaType.APPLICATION_JSON);
- return request;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/3bc628f9/core/src/main/java/org/jclouds/chef/binders/BindNameToJsonPayload.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/chef/binders/BindNameToJsonPayload.java b/core/src/main/java/org/jclouds/chef/binders/BindNameToJsonPayload.java
deleted file mode 100644
index 02fabef..0000000
--- a/core/src/main/java/org/jclouds/chef/binders/BindNameToJsonPayload.java
+++ /dev/null
@@ -1,40 +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.chef.binders;
-
-import javax.inject.Singleton;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.binders.BindToStringPayload;
-
-/**
- *
- * @author Adrian Cole
- *
- */
-@Singleton
-public class BindNameToJsonPayload extends BindToStringPayload {
-
- @Override
- public <R extends HttpRequest> R bindToRequest(R request, Object payload) {
- super.bindToRequest(request, String.format("{\"name\":\"%s\"}", payload));
- request.getPayload().getContentMetadata().setContentType(MediaType.APPLICATION_JSON);
- return request;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/3bc628f9/enterprise/src/main/java/org/jclouds/enterprisechef/EnterpriseChefApi.java
----------------------------------------------------------------------
diff --git a/enterprise/src/main/java/org/jclouds/enterprisechef/EnterpriseChefApi.java b/enterprise/src/main/java/org/jclouds/enterprisechef/EnterpriseChefApi.java
index 0e0b2a6..33f85c6 100644
--- a/enterprise/src/main/java/org/jclouds/enterprisechef/EnterpriseChefApi.java
+++ b/enterprise/src/main/java/org/jclouds/enterprisechef/EnterpriseChefApi.java
@@ -33,7 +33,6 @@ import org.jclouds.Fallbacks.NullOnNotFoundOr404;
import org.jclouds.chef.ChefApi;
import org.jclouds.chef.filters.SignedHeaderAuth;
import org.jclouds.chef.functions.ParseKeySetFromJson;
-import org.jclouds.enterprisechef.binders.BindGroupNameToJsonPayload;
import org.jclouds.enterprisechef.binders.BindGroupToUpdateRequestJsonPayload;
import org.jclouds.enterprisechef.binders.GroupName;
import org.jclouds.enterprisechef.domain.Group;
@@ -44,6 +43,7 @@ import org.jclouds.rest.annotations.Headers;
import org.jclouds.rest.annotations.ParamParser;
import org.jclouds.rest.annotations.RequestFilters;
import org.jclouds.rest.annotations.ResponseParser;
+import org.jclouds.rest.annotations.WrapWith;
/**
* Provides synchronous access to the Enterprise Chef Api.
@@ -98,7 +98,7 @@ public interface EnterpriseChefApi extends ChefApi
@Named("group:create")
@POST
@Path("/groups")
- void createGroup(@BinderParam(BindGroupNameToJsonPayload.class) String name);
+ void createGroup(@WrapWith("groupname") String name);
/**
* Updates a group.
http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/3bc628f9/enterprise/src/main/java/org/jclouds/enterprisechef/binders/BindGroupNameToJsonPayload.java
----------------------------------------------------------------------
diff --git a/enterprise/src/main/java/org/jclouds/enterprisechef/binders/BindGroupNameToJsonPayload.java b/enterprise/src/main/java/org/jclouds/enterprisechef/binders/BindGroupNameToJsonPayload.java
deleted file mode 100644
index 47f1a9a..0000000
--- a/enterprise/src/main/java/org/jclouds/enterprisechef/binders/BindGroupNameToJsonPayload.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.enterprisechef.binders;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.inject.Singleton;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.binders.BindToStringPayload;
-
-/**
- * Binds the name of a group to the json payload.
- *
- * @author Ignasi Barrera
- */
-@Singleton
-public class BindGroupNameToJsonPayload extends BindToStringPayload {
-
- @Override
- public <R extends HttpRequest> R bindToRequest(R request, Object payload) {
- super.bindToRequest(request, String.format("{\"groupname\":\"%s\"}", checkNotNull(payload, "payload")));
- request.getPayload().getContentMetadata().setContentType(MediaType.APPLICATION_JSON);
- return request;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/3bc628f9/enterprise/src/test/java/org/jclouds/enterprisechef/binders/BindGroupNameToJsonPayloadTest.java
----------------------------------------------------------------------
diff --git a/enterprise/src/test/java/org/jclouds/enterprisechef/binders/BindGroupNameToJsonPayloadTest.java b/enterprise/src/test/java/org/jclouds/enterprisechef/binders/BindGroupNameToJsonPayloadTest.java
deleted file mode 100644
index 4cb399f..0000000
--- a/enterprise/src/test/java/org/jclouds/enterprisechef/binders/BindGroupNameToJsonPayloadTest.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.enterprisechef.binders;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.net.URI;
-
-import org.jclouds.enterprisechef.binders.BindGroupNameToJsonPayload;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.util.Strings2;
-import org.testng.annotations.Test;
-
-/**
- * Unit tests for the {@link BindGroupNameToJsonPayload} class.
- *
- * @author Ignasi Barrera
- */
-@Test(groups = "unit", testName = "BindGroupNameToJsonPayloadTest")
-public class BindGroupNameToJsonPayloadTest {
-
- @Test(expectedExceptions = NullPointerException.class)
- public void testInvalidNullInput() {
- BindGroupNameToJsonPayload binder = new BindGroupNameToJsonPayload();
- HttpRequest request = HttpRequest.builder().method("POST").endpoint(URI.create("http://localhost")).build();
- binder.bindToRequest(request, null);
- }
-
- public void testBindString() throws IOException {
- BindGroupNameToJsonPayload binder = new BindGroupNameToJsonPayload();
- HttpRequest request = HttpRequest.builder().method("POST").endpoint(URI.create("http://localhost")).build();
- HttpRequest newRequest = binder.bindToRequest(request, "foo");
-
- String payload = Strings2.toStringAndClose(newRequest.getPayload().getInput());
- assertEquals(payload, "{\"groupname\":\"foo\"}");
- }
-}