Hi,
I'd like to know if there is an example or a unit test for Internal URL
support ?
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79#issuecomment-48541349
I'd like to know if there is an example or a unit test for Internal URL
support ?
@redarqas Is this related specifically to this PR? If not, could you ask the
question on [the user list](http://jclouds.apache.org/community/)? Thanks!
---
Reply to this email directly or view it on GitHub:
This is just a reminder:
@jdaggett Keep in mind that this PR is not complete, as there are still missing
tests we agreed to complete in upcoming PRs. Just don't forget them! If there
are no tests… we don't know if the stuff is working :)
---
Reply to this email directly or view it on GitHub:
About to merge
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79#issuecomment-36559988
Go ahead!
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79#issuecomment-36562105
[jclouds » jclouds-labs-openstack
#883](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs-openstack/883/)
SUCCESS
This pull request looks good
[(what's this?)](https://www.cloudbees.com/what-is-buildhive)
---
Reply to this email directly or view it on GitHub:
[jclouds-labs-openstack-pull-requests
#171](https://jclouds.ci.cloudbees.com/job/jclouds-labs-openstack-pull-requests/171/)
SUCCESS
This pull request looks good
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79#issuecomment-36562607
merged - should be good to close
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79#issuecomment-36563186
Closed #79.
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79
+.addHeader(ETag, 8a964ee2a5e88be344f36c22562a6486)
+// TODO: MWS doesn't allow you to return content length w/o
content
+// on HEAD!
+.setBody(ABCD.getBytes(US_ASCII))
+.addHeader(Content-Length, 4).addHeader(Content-Type,
Closed #79.
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79
Reopened #79.
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79
Wrong tab. Accidentally closed this one!
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79#issuecomment-36470134
[jclouds » jclouds-labs-openstack
#882](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs-openstack/882/)
SUCCESS
This pull request looks good
[(what's this?)](https://www.cloudbees.com/what-is-buildhive)
---
Reply to this email directly or view it on GitHub:
[jclouds-labs-openstack-pull-requests
#170](https://jclouds.ci.cloudbees.com/job/jclouds-labs-openstack-pull-requests/170/)
SUCCESS
This pull request looks good
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79#issuecomment-36470484
I'm okay with further documentation improvements to be addressed in future PRs.
+1 to merge when the other reviewers are satisfied.
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79#issuecomment-36485023
The Javadoc really needs some love. I fully realize that you didn't write most
of the existing Javadoc but, nonetheless, it needs to be fixed. It's crucial.
Please go through all of the Javadoc for the all Api classes and all domain
objects with a fine toothed comb.
Here's what needs to be
Re: @see
I mostly agree with this (exception: long narrative documentation). I think we
should refactor other documentation to not use that. I know some of my recent
PRs have it. Don't want to hijack the thread too much though :)
---
Reply to this email directly or view it on GitHub:
I would suggest further documentation improvements be addressed in further PRs?
Thoughts?
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79#issuecomment-36414304
+
+import com.google.common.base.Function;
+import com.google.common.base.Supplier;
+
+/**
+ * @author Jeremy Daggett
+ */
+@Singleton
+public class RegionToCDNEndpoint implements FunctionObject, URI {
+
+ private final SupplierMapString, SupplierURI endpointsSupplier;
+
+
+
+import com.google.common.base.Function;
+import com.google.common.base.Supplier;
+
+/**
+ * @author Jeremy Daggett
+ */
+@Singleton
+public class RegionToCDNEndpoint implements FunctionObject, URI {
+
+ private final SupplierMapString, SupplierURI endpointsSupplier;
+
+
+
+import com.google.common.base.Function;
+import com.google.common.base.Supplier;
+
+/**
+ * @author Jeremy Daggett
+ */
+@Singleton
+public class RegionToCDNEndpoint implements FunctionObject, URI {
+
+ private final SupplierMapString, SupplierURI endpointsSupplier;
+
+
+
+import com.google.common.base.Function;
+import com.google.common.base.Supplier;
+
+/**
+ * @author Jeremy Daggett
+ */
+@Singleton
+public class RegionToCDNEndpoint implements FunctionObject, URI {
+
+ private final SupplierMapString, SupplierURI endpointsSupplier;
+
+
+
+import com.google.common.base.Function;
+import com.google.common.base.Supplier;
+
+/**
+ * @author Jeremy Daggett
+ */
+@Singleton
+public class RegionToCDNEndpoint implements FunctionObject, URI {
+
+ private final SupplierMapString, SupplierURI endpointsSupplier;
+
+
What else needs to be reviewed here in order to get this PR in? I have several
others that depend on this PR being merged first, so please let me know asap.
Thanks. :)
---
Reply to this email directly or view it on GitHub:
+ public CDNContainer(String name, boolean enabled, boolean logRetention,
int ttl, URI uri, URI sslUri, URI streamingUri, URI iosUri) {
+ this.name = checkNotNull(name, name required);
+ this.enabled = enabled;
+ this.logRetention = logRetention;
+ this.ttl = ttl;
+
[jclouds » jclouds-labs-openstack
#873](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs-openstack/873/)
SUCCESS
This pull request looks good
[(what's this?)](https://www.cloudbees.com/what-is-buildhive)
---
Reply to this email directly or view it on GitHub:
[jclouds-labs-openstack-pull-requests
#167](https://jclouds.ci.cloudbees.com/job/jclouds-labs-openstack-pull-requests/167/)
SUCCESS
This pull request looks good
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79#issuecomment-36197272
+
+import com.google.common.base.Function;
+import com.google.common.base.Supplier;
+
+/**
+ * @author Jeremy Daggett
+ */
+@Singleton
+public class RegionToCDNEndpoint implements FunctionObject, URI {
+
+ private final SupplierMapString, SupplierURI endpointsSupplier;
+
+
@@ -0,0 +1,16 @@
+[
+{
+ name:test_obj_1,
see above
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79/files#r10051725
@@ -0,0 +1,7 @@
+Rackspace Cloud Files US
+
+
+The Rackspace Cloud Files US provider.
+
+Production ready?
+No
Added some text about the new provider. Read it over and provide feedback, thx.
---
Reply to this email directly or view it on GitHub:
@@ -0,0 +1,58 @@
+/*
+
It is now... ;)
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79/files#r10061457
+
+import com.google.common.base.Function;
+import com.google.common.base.Supplier;
+
+/**
+ * @author Jeremy Daggett
+ */
+@Singleton
+public class RegionToCDNEndpoint implements FunctionObject, URI {
+
+ private final SupplierMapString, SupplierURI endpointsSupplier;
+
+
+
+import com.google.common.base.Function;
+import com.google.common.base.Supplier;
+
+/**
+ * @author Jeremy Daggett
+ */
+@Singleton
+public class RegionToCDNEndpoint implements FunctionObject, URI {
+
+ private final SupplierMapString, SupplierURI endpointsSupplier;
+
+
+idintegration/id
+phaseintegration-test/phase
+goals
+ goaltest/goal
+/goals
+configuration
+ forkCount5/forkCount
+ reuseForkstrue/reuseForks
+
@@ -0,0 +1,58 @@
+/*
+
It is not :)
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79/files#r10013033
+ FluentIterableCDNContainer list();
+
+ /**
+* Lists CDN containers, with the given options.
+*
+* @param options
+* the options to control output.
+*
+* @return a list of CDN enabled containers ordered by name.
+*/
+
@@ -0,0 +1,16 @@
+[
+{
+ name:test_obj_1,
/minor - this looks a bit strange
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79/files#r9966733
@@ -0,0 +1,12 @@
+[
+{
+ name:test_container_1,
+ count:2,
+ bytes:78
+},
+{
+name:test_container_2,
+count:1,
+bytes:17
+}
+]
End of file new lines if for more OCD points.
---
Reply to this email directly or view it on GitHub:
@@ -0,0 +1,7 @@
+Rackspace Cloud Files US
+
+
+The Rackspace Cloud Files US provider.
+
+Production ready?
+No
There already are cloudfiles providers in jclouds. This needs some more
explanation I think.
---
Reply to this email directly or view it on GitHub:
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.rackspace.cloudfiles.us;
+
+import org.jclouds.providers.internal.BaseProviderMetadataTest;
+import
@@ -0,0 +1,7 @@
+Rackspace Cloud Files
+==
+
+The Rackspace Cloud Files service.
+
+Production ready?
+No
As above, I would add more explaining here.
---
Reply to this email directly or view it on GitHub:
+ public CDNContainer(String name, boolean enabled, boolean logRetention,
int ttl, URI uri, URI sslUri, URI streamingUri, URI iosUri) {
+ this.name = checkNotNull(name, name required);
+ this.enabled = enabled;
+ this.logRetention = logRetention;
+ this.ttl = ttl;
+
+
+import com.google.common.base.Function;
+import com.google.common.base.Supplier;
+
+/**
+ * @author Jeremy Daggett
+ */
+@Singleton
+public class RegionToCDNEndpoint implements FunctionObject, URI {
+
+ private final SupplierMapString, SupplierURI endpointsSupplier;
+
+
+
+import com.google.common.base.Function;
+import com.google.common.base.Supplier;
+
+/**
+ * @author Jeremy Daggett
+ */
+@Singleton
+public class RegionToCDNEndpoint implements FunctionObject, URI {
+
+ private final SupplierMapString, SupplierURI endpointsSupplier;
+
+
[jclouds » jclouds-labs-openstack
#863](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs-openstack/863/)
SUCCESS
This pull request looks good
[(what's this?)](https://www.cloudbees.com/what-is-buildhive)
---
Reply to this email directly or view it on GitHub:
[jclouds-labs-openstack-pull-requests
#165](https://jclouds.ci.cloudbees.com/job/jclouds-labs-openstack-pull-requests/165/)
SUCCESS
This pull request looks good
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79#issuecomment-35651112
import org.jclouds.openstack.swift.v1.SwiftApi;
import org.jclouds.openstack.swift.v1.handlers.SwiftErrorHandler;
import org.jclouds.rest.ConfiguresHttpApi;
import org.jclouds.rest.config.HttpApiModule;
@ConfiguresHttpApi
-public class SwiftHttpApiModule extends HttpApiModuleSwiftApi
@Override
+ protected void configure() {
+ super.configure();
+ bind(DateAdapter.class).to(Iso8601DateAdapter.class);
Removed the binding and added SwiftTypeAdapters to CloudFilesApiMetadata
defaultModules(...)
---
Reply to this email directly or view it on GitHub:
@GET
@QueryParams(keys = format, values = json)
@ResponseParser(ParseObjectListFromResponse.class)
@Fallback(NullOnNotFoundOr404.class)
@Path(/)
@Nullable
- ObjectList list(ListContainerOptions options);
+ ObjectList listWithOptions(ListContainerOptions
Lots going on here; can we break this change into its component parts?
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79#issuecomment-35563095
@@ -31,9 +32,9 @@
import com.google.common.collect.ImmutableMap;
@Test(groups = live, testName = AccountApiLiveTest)
-public class AccountApiLiveTest extends BaseSwiftApiLiveTest {
+public class AccountApiLiveTestA extends SwiftApi extends
BaseSwiftApiLiveTestSwiftApi {
ack - updated
+/dependency
+dependency
+ groupIdorg.apache.jclouds.driver/groupId
+ artifactIdjclouds-slf4j/artifactId
+ version${project.parent.version}/version
+ scopetest/scope
+/dependency
+dependency
+ groupIdch.qos.logback/groupId
+
@@ -0,0 +1,58 @@
+/*
+
ack - removed
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79/files#r9892456
+ * @see a
+ * href=
+ * CDN Container API/a
+ *
+ * @author Jeremy Daggett
+ */
+public class CDNContainer implements ComparableCDNContainer {
+
+ private String name;
+ private boolean enabled;
+ private boolean logRetention;
+ private int ttl;
+ private URI
+import java.util.List;
+
+import javax.inject.Singleton;
+
+import org.jclouds.http.HttpRequest;
+import org.jclouds.rackspace.cloudfiles.v1.features.CDNApi;
+import org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders;
+import org.jclouds.rest.Binder;
+
+import
+
+import com.google.common.base.Function;
+import com.google.common.base.Supplier;
+
+/**
+ * @author Jeremy Daggett
+ */
+@Singleton
+public class RegionToCDNEndpoint implements FunctionObject, URI {
+
+ private final SupplierMapString, SupplierURI endpointsSupplier;
+
+
+ *
+ * Before a container can be CDN enabled, it must exist in the storage
system.
+ * To CDN enable the container, perform PUT request against it using the
codepublicURL/code
+ * noted in the service catalog for Cloud Files during Authentication and
set the
+ *
+* the TTL for the CDN Container.
+*
+* @return the CDNContainer or null, if not found.
+*
+* @see a
+* href=
+* Enable CDN Container API/a
+*/
+ @Named(cdn:enable)
+ @PUT
+
+
+/**
+ * @author Jeremy Daggett
+ */
+@Singleton
+public class RegionToCDNEndpoint implements FunctionObject, URI {
+
+ private final SupplierMapString, SupplierURI endpointsSupplier;
+
+ @Inject
+ public RegionToCDNEndpoint(@ApiVersion final String apiVersion, final
+ */
+public class ParseCDNContainerFromHeaders implements FunctionHttpResponse,
CDNContainer,
+ InvocationContextParseCDNContainerFromHeaders {
+
+ private HttpRequest request;
+
+ /**
+* parses the http response headers to create a new {@link CDNContainer}
object.
+
+ byte[] data = closeClientButKeepContentStream(response);
+ String message = data != null ? new String(data) : null;
+
+ Exception exception = message != null ? new
HttpResponseException(command, response, message)
+ : new HttpResponseException(command,
+ String streamingUri =
checkNotNull(from.getFirstHeaderOrNull(CDN_STREAMING_URI), CDN_STREAMING_URI);
+ String iosUri = checkNotNull(from.getFirstHeaderOrNull(CDN_IOS_URI),
CDN_IOS_URI);
+
+ if (uri == null) {
+ // CDN is not, and has never, been enabled for this
+
+ HttpRequest request = purgeRequest();
+
+ HttpRequest actualRequest = binder.bindToRequest(request, emails);
+
+ HttpRequest expectedRequest = HttpRequest.builder()
+.method(DELETE)
+
+import java.net.URI;
+import java.util.List;
+
+import org.jclouds.io.Payload;
+import org.jclouds.io.Payloads;
+import org.jclouds.openstack.swift.v1.options.ListContainerOptions;
+import org.jclouds.openstack.v2_0.internal.BaseOpenStackMockTest;
+import
import org.jclouds.openstack.swift.v1.SwiftApi;
import org.jclouds.openstack.swift.v1.handlers.SwiftErrorHandler;
import org.jclouds.rest.ConfiguresHttpApi;
import org.jclouds.rest.config.HttpApiModule;
@ConfiguresHttpApi
-public class SwiftHttpApiModule extends HttpApiModuleSwiftApi
@Override
+ protected void configure() {
+ super.configure();
+ bind(DateAdapter.class).to(Iso8601DateAdapter.class);
This is already configured in the `SwiftTypeAdapters` module. Remove from here?
---
Reply to this email directly or view it on GitHub:
@GET
@QueryParams(keys = format, values = json)
@ResponseParser(ParseObjectListFromResponse.class)
@Fallback(NullOnNotFoundOr404.class)
@Path(/)
@Nullable
- ObjectList list(ListContainerOptions options);
+ ObjectList listWithOptions(ListContainerOptions
@@ -31,9 +32,9 @@
import com.google.common.collect.ImmutableMap;
@Test(groups = live, testName = AccountApiLiveTest)
-public class AccountApiLiveTest extends BaseSwiftApiLiveTest {
+public class AccountApiLiveTestA extends SwiftApi extends
BaseSwiftApiLiveTestSwiftApi {
Same as
+ groupIdorg.apache.jclouds.labs/groupId
+ artifactIdrackspace-cloudfiles-us/artifactId
+ version1.8.0-SNAPSHOT/version
+ namejclouds Rackspace Cloud Files US provider/name
+ descriptionOpenStack Object Storage implementation targeted to Rackspace
Cloud Files US/description
+
+/dependency
+dependency
+ groupIdorg.apache.jclouds.driver/groupId
+ artifactIdjclouds-slf4j/artifactId
+ version${project.parent.version}/version
+ scopetest/scope
+/dependency
+dependency
+ groupIdch.qos.logback/groupId
+
@@ -0,0 +1,58 @@
+/*
+
Remove this blank line
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79/files#r9778896
+ *
+ * Before a container can be CDN enabled, it must exist in the storage
system.
+ * To CDN enable the container, perform PUT request against it using the
codepublicURL/code
+ * noted in the service catalog for Cloud Files during Authentication and
set the
+ *
+ * @see a
+ * href=
+ * CDN Container API/a
+ *
+ * @author Jeremy Daggett
+ */
+public class CDNContainer implements ComparableCDNContainer {
+
+ private String name;
+ private boolean enabled;
+ private boolean logRetention;
+ private int ttl;
+ private URI
+* the TTL for the CDN Container.
+*
+* @return the CDNContainer or null, if not found.
+*
+* @see a
+* href=
+* Enable CDN Container API/a
+*/
+ @Named(cdn:enable)
+ @PUT
+
+
+ HttpRequest request = purgeRequest();
+
+ HttpRequest actualRequest = binder.bindToRequest(request, emails);
+
+ HttpRequest expectedRequest = HttpRequest.builder()
+.method(DELETE)
+
+import java.net.URI;
+import java.util.List;
+
+import org.jclouds.io.Payload;
+import org.jclouds.io.Payloads;
+import org.jclouds.openstack.swift.v1.options.ListContainerOptions;
+import org.jclouds.openstack.v2_0.internal.BaseOpenStackMockTest;
+import
+.addHeader(ETag, 8a964ee2a5e88be344f36c22562a6486)
+// TODO: MWS doesn't allow you to return content length w/o
content
+// on HEAD!
+.setBody(ABCD.getBytes(US_ASCII))
+.addHeader(Content-Length, 4).addHeader(Content-Type,
Nice refactor @jdaggett ! Just a couple of general comments:
* Propagate the generic type (such as `A`) to the super class when extending
generic classes.
* Don't append the `withOptions` prefix (or similar) and prefer overloading the
methods.
* (Minor) Start the javadoc comments in capital
@demobox I updated the PR title and additional clarification on running live
tests. Thx!
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-openstack/pull/79#issuecomment-35132057
+* @param containerName
+* corresponds to {@link Container#name()}.
+* @return the CDNContainer or null, if not found.
+*
+* @see a
+*
href=http://docs.openstack.org/api/openstack-object-storage/1.0/content/retrieve-Container-metadata.html;
+*
+* @param containerName
+* corresponds to {@link Container#name()}.
+* @return the CDNContainer or null, if not found.
+*
+* @see a
+*
href=http://docs.openstack.org/api/openstack-object-storage/1.0/content/retrieve-Container-metadata.html;
+*
Lots of refactoring as well, nice! It seems some of the javadoc has to be
finished. I would say this is not a problem, especially if waiting for some
service-side answers?
---
Reply to this email directly or view it on GitHub:
83 matches
Mail list logo