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 2014/11/27 15:32:28 UTC
[13/24] jclouds-labs git commit: JCLOUDS-785: Leave only Abiquo
skeleton to start coding Abiquo 3 provider
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/ConversionMonitor.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/ConversionMonitor.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/ConversionMonitor.java
deleted file mode 100644
index 7d78ba5..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/ConversionMonitor.java
+++ /dev/null
@@ -1,73 +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.abiquo.monitor;
-
-import java.util.concurrent.TimeUnit;
-
-import org.jclouds.abiquo.domain.cloud.Conversion;
-import org.jclouds.abiquo.features.services.MonitoringService;
-import org.jclouds.abiquo.monitor.internal.BaseConversionMonitor;
-
-import com.google.inject.ImplementedBy;
-
-/**
- * {@link Conversion} monitoring features.
- */
-@ImplementedBy(BaseConversionMonitor.class)
-public interface ConversionMonitor extends MonitoringService {
- /**
- * Monitor the given {@link Conversion}s and block until they finishes.
- *
- * @param conversions
- * The {@link Conversion}s to monitor.
- */
- void awaitCompletion(final Conversion... conversions);
-
- /**
- * Monitor the given {@link Conversion}s and populate an event when they
- * finish.
- *
- * @param conversions
- * The {@link Conversion}s to monitor.
- */
- void monitor(final Conversion... conversions);
-
- /**
- * Monitor the given {@link Conversion}s and block until they finish.
- *
- * @param maxWait
- * The maximum time to wait.
- * @param timeUnit
- * The time unit for the maxWait parameter.
- * @param conversions
- * The {@link Conversion}s to monitor.
- */
- void awaitCompletion(final Long maxWait, final TimeUnit timeUnit, final Conversion... conversions);
-
- /**
- * Monitor the given {@link Conversion}s and populate an event when they
- * finish.
- *
- * @param maxWait
- * The maximum time to wait.
- * @param timeUnit
- * The time unit for the maxWait parameter.
- * @param conversions
- * The {@link Conversion}s to monitor.
- */
- void monitor(final Long maxWait, final TimeUnit timeUnit, final Conversion... conversions);
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/MonitorStatus.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/MonitorStatus.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/MonitorStatus.java
deleted file mode 100644
index 1ff4d10..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/MonitorStatus.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.abiquo.monitor;
-
-/**
- * Represents the states of a running monitor.
- */
-public enum MonitorStatus {
- /** The monitoring job has finished. */
- DONE,
-
- /** The monitoring job has finished and the result is not the expected one. */
- FAILED,
-
- /** The monitoring job must continue. */
- CONTINUE
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/VirtualApplianceMonitor.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/VirtualApplianceMonitor.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/VirtualApplianceMonitor.java
deleted file mode 100644
index 13b9cc9..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/VirtualApplianceMonitor.java
+++ /dev/null
@@ -1,121 +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.abiquo.monitor;
-
-import java.util.concurrent.TimeUnit;
-
-import org.jclouds.abiquo.domain.cloud.VirtualAppliance;
-import org.jclouds.abiquo.features.services.MonitoringService;
-import org.jclouds.abiquo.monitor.internal.BaseVirtualApplianceMonitor;
-
-import com.google.inject.ImplementedBy;
-
-/**
- * {@link VirtualAppliance} monitoring features.
- */
-@ImplementedBy(BaseVirtualApplianceMonitor.class)
-public interface VirtualApplianceMonitor extends MonitoringService {
- /**
- * Monitor the given {@link VirtualAppliance}s and block until the deploy
- * finishes.
- *
- * @param vapp
- * The {@link VirtualAppliance}s to monitor.
- */
- void awaitCompletionDeploy(final VirtualAppliance... vapp);
-
- /**
- * Monitor the given {@link VirtualAppliance}s and populate an event when the
- * deploy finishes.
- *
- * @param VirtualAppliance
- * The {@link VirtualAppliance}s to monitor.
- */
- void monitorDeploy(final VirtualAppliance... vapps);
-
- /**
- * Monitor the given {@link VirtualAppliance}s and block until the deploy
- * finishes.
- *
- * @param maxWait
- * The maximum time to wait.
- * @param timeUnit
- * The time unit for the maxWait parameter.
- * @param vapp
- * The {@link VirtualAppliance}s to monitor.
- */
- void awaitCompletionDeploy(final Long maxWait, final TimeUnit timeUnit, final VirtualAppliance... vapp);
-
- /**
- * Monitor the given {@link VirtualAppliance}s and populate an event when
- * deploy finishes.
- *
- * @param maxWait
- * The maximum time to wait.
- * @param timeUnit
- * The time unit for the maxWait parameter.
- * @param vapps
- * The {@link VirtualAppliance}s to monitor.
- */
- void monitorDeploy(final Long maxWait, final TimeUnit timeUnit, final VirtualAppliance... vapps);
-
- /**
- * Monitor the given {@link VirtualAppliance}s and block until the undeploy
- * finishes.
- *
- * @param vapp
- * The {@link VirtualAppliance}s to monitor.
- */
- void awaitCompletionUndeploy(final VirtualAppliance... vapp);
-
- /**
- * Monitor the given {@link VirtualAppliance}s and call populate an event
- * when undeploy finishes.
- *
- * @param vapps
- * The {@link VirtualAppliance}s to monitor.
- */
- void monitorUndeploy(final VirtualAppliance... vapps);
-
- /**
- * Monitor the given {@link VirtualAppliance}s and blocks until the undeploy
- * finishes.
- *
- * @param maxWait
- * The maximum time to wait.
- * @param timeUnit
- * The time unit for the maxWait parameter.
- * @param vapp
- * The {@link VirtualAppliance}s to monitor.
- */
- void awaitCompletionUndeploy(final Long maxWait, final TimeUnit timeUnit, final VirtualAppliance... vapp);
-
- /**
- * Monitor the given {@link VirtualAppliance}s and populate an event when
- * undeploy finishes.
- *
- * @param maxWait
- * The maximum time to wait.
- * @param timeUnit
- * The time unit for the maxWait parameter.
- * @param callback
- * The callback.
- * @param vapps
- * The {@link VirtualAppliance}s to monitor.
- */
- void monitorUndeploy(final Long maxWait, final TimeUnit timeUnit, final VirtualAppliance... vapps);
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/VirtualMachineMonitor.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/VirtualMachineMonitor.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/VirtualMachineMonitor.java
deleted file mode 100644
index c4cc034..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/VirtualMachineMonitor.java
+++ /dev/null
@@ -1,169 +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.abiquo.monitor;
-
-import java.util.concurrent.TimeUnit;
-
-import org.jclouds.abiquo.domain.cloud.VirtualMachine;
-import org.jclouds.abiquo.features.services.MonitoringService;
-import org.jclouds.abiquo.monitor.internal.BaseVirtualMachineMonitor;
-
-import com.abiquo.server.core.cloud.VirtualMachineState;
-import com.google.inject.ImplementedBy;
-
-/**
- * {@link VirtualMachine} monitoring features.
- */
-@ImplementedBy(BaseVirtualMachineMonitor.class)
-public interface VirtualMachineMonitor extends MonitoringService {
- /**
- * Monitor the given {@link VirtualMachine}s and block until all deploys
- * finish.
- *
- * @param vm
- * The {@link VirtualMachine}s to monitor.
- */
- void awaitCompletionDeploy(final VirtualMachine... vm);
-
- /**
- * Monitor the given {@link VirtualMachine}s and populate an event when all
- * deploys finish.
- *
- * @param vms
- * The {@link VirtualMachine}s to monitor.
- */
- void monitorDeploy(final VirtualMachine... vms);
-
- /**
- * Monitor the given {@link VirtualMachine}s and block until all deploys
- * finish.
- *
- * @param maxWait
- * The maximum time to wait.
- * @param timeUnit
- * The time unit for the maxWait parameter.
- * @param vm
- * The {@link VirtualMachine}s to monitor.
- */
- void awaitCompletionDeploy(final Long maxWait, final TimeUnit timeUnit, final VirtualMachine... vm);
-
- /**
- * Monitor the given {@link VirtualMachine}s and populate an event when all
- * deploys finish.
- *
- * @param maxWait
- * The maximum time to wait.
- * @param timeUnit
- * The time unit for the maxWait parameter.
- * @param vms
- * The {@link VirtualMachine}s to monitor.
- */
- void monitorDeploy(final Long maxWait, final TimeUnit timeUnit, final VirtualMachine... vms);
-
- /**
- * Monitor the given {@link VirtualMachine}s and block until all undeploys
- * finish.
- *
- * @param vm
- * The {@link VirtualMachine}s to monitor.
- */
- void awaitCompletionUndeploy(final VirtualMachine... vm);
-
- /**
- * Monitor the given {@link VirtualMachine}s and populate an event when all
- * undeploys finish.
- *
- * @param vms
- * The {@link VirtualMachine}s to monitor.
- */
- void monitorUndeploy(final VirtualMachine... vms);
-
- /**
- * Monitor the given {@link VirtualMachine}s and blocks until all undeploys
- * finish.
- *
- * @param maxWait
- * The maximum time to wait.
- * @param timeUnit
- * The time unit for the maxWait parameter.
- * @param vm
- * The {@link VirtualMachine}s to monitor.
- */
- void awaitCompletionUndeploy(final Long maxWait, final TimeUnit timeUnit, final VirtualMachine... vm);
-
- /**
- * Monitor the given {@link VirtualMachine}s and populate an event when all
- * undeploys finish.
- *
- * @param maxWait
- * The maximum time to wait.
- * @param timeUnit
- * The time unit for the maxWait parameter.
- * @param callback
- * The callback.
- * @param vms
- * The {@link VirtualMachine}s to monitor.
- */
- void monitorUndeploy(final Long maxWait, final TimeUnit timeUnit, final VirtualMachine... vms);
-
- /**
- * Monitor the given {@link VirtualMachine}s and block until it is in the
- * given state.
- *
- * @param vm
- * The {@link VirtualMachine}s to monitor.
- */
- void awaitState(VirtualMachineState state, final VirtualMachine... vm);
-
- /**
- * Monitor the given {@link VirtualMachine}s and populate an event when it is
- * in the given state.
- *
- * @param vms
- * The {@link VirtualMachine}s to monitor.
- */
- void monitorState(VirtualMachineState state, final VirtualMachine... vms);
-
- /**
- * Monitor the given {@link VirtualMachine}s and block until it is in the
- * given state.
- *
- * @param maxWait
- * The maximum time to wait.
- * @param timeUnit
- * The time unit for the maxWait parameter.
- * @param vm
- * The {@link VirtualMachine}s to monitor.
- */
- void awaitState(final Long maxWait, final TimeUnit timeUnit, VirtualMachineState state, final VirtualMachine... vm);
-
- /**
- * Monitor the given {@link VirtualMachine}s and populate an event when it is
- * in the given state.
- *
- * @param maxWait
- * The maximum time to wait.
- * @param timeUnit
- * The time unit for the maxWait parameter.
- * @param callback
- * The callback.
- * @param vms
- * The {@link VirtualMachine}s to monitor.
- */
- void monitorState(final Long maxWait, final TimeUnit timeUnit, VirtualMachineState state,
- final VirtualMachine... vms);
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/events/CompletedEvent.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/events/CompletedEvent.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/events/CompletedEvent.java
deleted file mode 100644
index 18ab9b3..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/events/CompletedEvent.java
+++ /dev/null
@@ -1,27 +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.abiquo.monitor.events;
-
-/**
- * Event dispatched when a monitoring job completes without error.
- */
-public class CompletedEvent<T> extends MonitorEvent<T> {
- public CompletedEvent(final T target) {
- super(MonitorEvent.Type.COMPLETED, target);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/events/FailedEvent.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/events/FailedEvent.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/events/FailedEvent.java
deleted file mode 100644
index 5d35b1c..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/events/FailedEvent.java
+++ /dev/null
@@ -1,27 +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.abiquo.monitor.events;
-
-/**
- * Event dispatched when a monitoring job completes with errors.
- */
-public class FailedEvent<T> extends MonitorEvent<T> {
- public FailedEvent(final T target) {
- super(MonitorEvent.Type.FAILED, target);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/events/MonitorEvent.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/events/MonitorEvent.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/events/MonitorEvent.java
deleted file mode 100644
index 5b3f0c3..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/events/MonitorEvent.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.abiquo.monitor.events;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * base class for all monitor events.
- */
-public class MonitorEvent<T> {
- /**
- * The type of the event.
- */
- public static enum Type {
- COMPLETED, FAILED, TIMEOUT;
- }
-
- /** The type of the event. */
- private Type type;
-
- /** The target object being monitored. */
- private T target;
-
- public MonitorEvent(final Type type, final T target) {
- super();
- this.type = checkNotNull(type, "type");
- this.target = checkNotNull(target, "target");
- }
-
- public Type getType() {
- return type;
- }
-
- public void setType(final Type type) {
- this.type = type;
- }
-
- public T getTarget() {
- return target;
- }
-
- public void setTarget(final T target) {
- this.target = target;
- }
-
- @Override
- public String toString() {
- return "MonitorEvent [type=" + type + ", target=" + target + "]";
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/events/TimeoutEvent.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/events/TimeoutEvent.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/events/TimeoutEvent.java
deleted file mode 100644
index 03aecae..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/events/TimeoutEvent.java
+++ /dev/null
@@ -1,27 +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.abiquo.monitor.events;
-
-/**
- * Event dispatched when a monitoring job times out.
- */
-public class TimeoutEvent<T> extends MonitorEvent<T> {
- public TimeoutEvent(final T target) {
- super(MonitorEvent.Type.TIMEOUT, target);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/AsyncTaskStatusMonitor.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/AsyncTaskStatusMonitor.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/AsyncTaskStatusMonitor.java
deleted file mode 100644
index c8544fa..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/AsyncTaskStatusMonitor.java
+++ /dev/null
@@ -1,64 +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.abiquo.monitor.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.abiquo.domain.task.AsyncTask;
-import org.jclouds.abiquo.monitor.MonitorStatus;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Function;
-
-/**
- * This class takes care of monitoring {@link AsyncTask} jobs.
- */
-@Singleton
-public class AsyncTaskStatusMonitor implements Function<AsyncTask<?, ?>, MonitorStatus> {
- @Resource
- protected Logger logger = Logger.NULL;
-
- @Override
- public MonitorStatus apply(final AsyncTask<?, ?> asyncTask) {
- checkNotNull(asyncTask, "asyncTask");
-
- try {
- asyncTask.refresh();
-
- switch (asyncTask.getState()) {
- case ABORTED:
- case FINISHED_UNSUCCESSFULLY:
- return MonitorStatus.FAILED;
- case FINISHED_SUCCESSFULLY:
- return MonitorStatus.DONE;
- case STARTED:
- case PENDING:
- return MonitorStatus.CONTINUE;
- default:
- throw new IllegalStateException("Unsupported task status");
- }
- } catch (Exception ex) {
- logger.warn(ex, "exception thrown while monitoring %s on %s, returning CONTINUE", asyncTask, getClass()
- .getName());
-
- return MonitorStatus.CONTINUE;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/ConversionStatusMonitor.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/ConversionStatusMonitor.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/ConversionStatusMonitor.java
deleted file mode 100644
index 711b812..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/ConversionStatusMonitor.java
+++ /dev/null
@@ -1,62 +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.abiquo.monitor.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.abiquo.domain.cloud.Conversion;
-import org.jclouds.abiquo.monitor.MonitorStatus;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Function;
-
-/**
- * This class takes care of monitoring {@link Conversion} jobs.
- */
-@Singleton
-public class ConversionStatusMonitor implements Function<Conversion, MonitorStatus> {
- @Resource
- protected Logger logger = Logger.NULL;
-
- @Override
- public MonitorStatus apply(final Conversion conversion) {
- checkNotNull(conversion, "conversion");
-
- try {
- conversion.refresh();
-
- switch (conversion.getState()) {
- case ENQUEUED:
- return MonitorStatus.CONTINUE;
- case FAILED:
- return MonitorStatus.FAILED;
- case FINISHED:
- return MonitorStatus.DONE;
- default:
- throw new IllegalStateException("Unsupported conversion status");
- }
- } catch (Exception ex) {
- logger.warn(ex, "exception thrown while monitoring %s on %s, returning CONTINUE", conversion, getClass()
- .getName());
-
- return MonitorStatus.CONTINUE;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualApplianceDeployMonitor.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualApplianceDeployMonitor.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualApplianceDeployMonitor.java
deleted file mode 100644
index 4bc5507..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualApplianceDeployMonitor.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.abiquo.monitor.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.abiquo.domain.cloud.VirtualAppliance;
-import org.jclouds.abiquo.monitor.MonitorStatus;
-import org.jclouds.logging.Logger;
-
-import com.abiquo.server.core.cloud.VirtualApplianceState;
-import com.google.common.base.Function;
-
-/**
- * This class takes care of monitoring the a deploy of a
- * {@link VirtualAppliance}.
- */
-@Singleton
-public class VirtualApplianceDeployMonitor implements Function<VirtualAppliance, MonitorStatus> {
- @Resource
- protected Logger logger = Logger.NULL;
-
- @Override
- public MonitorStatus apply(final VirtualAppliance virtualAppliance) {
- checkNotNull(virtualAppliance, "virtualAppliance");
-
- try {
- VirtualApplianceState state = virtualAppliance.getState();
-
- switch (state) {
- case UNKNOWN:
- case NEEDS_SYNC:
- case NOT_DEPLOYED:
- return MonitorStatus.FAILED;
- case DEPLOYED:
- return MonitorStatus.DONE;
- case LOCKED:
- default:
- return MonitorStatus.CONTINUE;
- }
- } catch (Exception ex) {
- logger.warn(ex, "exception thrown while monitoring %s on %s, returning CONTINUE", virtualAppliance, getClass()
- .getName());
-
- return MonitorStatus.CONTINUE;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualApplianceUndeployMonitor.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualApplianceUndeployMonitor.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualApplianceUndeployMonitor.java
deleted file mode 100644
index 124fbf8..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualApplianceUndeployMonitor.java
+++ /dev/null
@@ -1,70 +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.abiquo.monitor.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.abiquo.domain.cloud.VirtualAppliance;
-import org.jclouds.abiquo.monitor.MonitorStatus;
-import org.jclouds.logging.Logger;
-import org.jclouds.rest.ResourceNotFoundException;
-
-import com.abiquo.server.core.cloud.VirtualApplianceState;
-import com.google.common.base.Function;
-
-/**
- * This class takes care of monitoring the a undeploy of a
- * {@link VirtualAppliance}.
- */
-@Singleton
-public class VirtualApplianceUndeployMonitor implements Function<VirtualAppliance, MonitorStatus> {
- @Resource
- protected Logger logger = Logger.NULL;
-
- @Override
- public MonitorStatus apply(final VirtualAppliance virtualAppliance) {
- checkNotNull(virtualAppliance, "virtualAppliance");
-
- try {
- VirtualApplianceState state = virtualAppliance.getState();
-
- switch (state) {
- case DEPLOYED:
- case UNKNOWN:
- case NEEDS_SYNC:
- return MonitorStatus.FAILED;
- case NOT_DEPLOYED:
- return MonitorStatus.DONE;
- case LOCKED:
- default:
- return MonitorStatus.CONTINUE;
- }
- } catch (ResourceNotFoundException nfe) {
- logger.warn("virtual appliance %s not found, assuming it was undeployed successfully, "
- + "stop monitor with DONE", virtualAppliance);
- return MonitorStatus.DONE;
- } catch (Exception ex) {
- logger.warn(ex, "exception thrown while monitoring %s on %s, returning CONTINUE", virtualAppliance, getClass()
- .getName());
-
- return MonitorStatus.CONTINUE;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualMachineDeployMonitor.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualMachineDeployMonitor.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualMachineDeployMonitor.java
deleted file mode 100644
index 17a63d8..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualMachineDeployMonitor.java
+++ /dev/null
@@ -1,64 +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.abiquo.monitor.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.annotation.Resource;
-
-import org.jclouds.abiquo.domain.cloud.VirtualMachine;
-import org.jclouds.abiquo.monitor.MonitorStatus;
-import org.jclouds.logging.Logger;
-
-import com.abiquo.server.core.cloud.VirtualMachineState;
-import com.google.common.base.Function;
-import com.google.inject.Singleton;
-
-/**
- * This class takes care of monitoring the a deploy of a {@link VirtualMachine}.
- *
- * @see MonitoringService
- */
-@Singleton
-public class VirtualMachineDeployMonitor implements Function<VirtualMachine, MonitorStatus> {
- @Resource
- private Logger logger = Logger.NULL;
-
- @Override
- public MonitorStatus apply(final VirtualMachine virtualMachine) {
- checkNotNull(virtualMachine, "virtualMachine");
-
- try {
- VirtualMachineState state = virtualMachine.getState();
-
- switch (state) {
- case NOT_ALLOCATED:
- case UNKNOWN:
- return MonitorStatus.FAILED;
- case ON:
- return MonitorStatus.DONE;
- default:
- return MonitorStatus.CONTINUE;
- }
- } catch (Exception ex) {
- logger.warn(ex, "exception thrown while monitoring %s on %s, returning CONTINUE", virtualMachine, getClass()
- .getName());
-
- return MonitorStatus.CONTINUE;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualMachineStateMonitor.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualMachineStateMonitor.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualMachineStateMonitor.java
deleted file mode 100644
index 759be2e..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualMachineStateMonitor.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.abiquo.monitor.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.annotation.Resource;
-
-import org.jclouds.abiquo.domain.cloud.VirtualMachine;
-import org.jclouds.abiquo.monitor.MonitorStatus;
-import org.jclouds.logging.Logger;
-
-import com.abiquo.server.core.cloud.VirtualMachineState;
-import com.google.common.base.Function;
-
-/**
- * This class takes care of monitoring the state of a {@link VirtualMachine}.
- *
- * @see MonitoringService
- */
-public class VirtualMachineStateMonitor implements Function<VirtualMachine, MonitorStatus> {
- @Resource
- private Logger logger = Logger.NULL;
-
- private VirtualMachineState expectedState;
-
- public VirtualMachineStateMonitor(final VirtualMachineState expectedState) {
- super();
- this.expectedState = checkNotNull(expectedState, "expectedState");
- }
-
- @Override
- public MonitorStatus apply(final VirtualMachine virtualMachine) {
- checkNotNull(virtualMachine, "virtualMachine");
-
- try {
- VirtualMachineState state = virtualMachine.getState();
- return state == expectedState ? MonitorStatus.DONE : MonitorStatus.CONTINUE;
- } catch (Exception ex) {
- logger.warn(ex, "exception thrown while monitoring %s on %s, returning CONTINUE", virtualMachine, getClass()
- .getName());
-
- return MonitorStatus.CONTINUE;
-
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualMachineUndeployMonitor.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualMachineUndeployMonitor.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualMachineUndeployMonitor.java
deleted file mode 100644
index 82cfdc8..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/functions/VirtualMachineUndeployMonitor.java
+++ /dev/null
@@ -1,73 +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.abiquo.monitor.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.abiquo.domain.cloud.VirtualMachine;
-import org.jclouds.abiquo.monitor.MonitorStatus;
-import org.jclouds.logging.Logger;
-import org.jclouds.rest.ResourceNotFoundException;
-
-import com.abiquo.server.core.cloud.VirtualMachineState;
-import com.google.common.base.Function;
-
-/**
- * This class takes care of monitoring the a undeploy of a
- * {@link VirtualMachine}.
- */
-@Singleton
-public class VirtualMachineUndeployMonitor implements Function<VirtualMachine, MonitorStatus> {
- @Resource
- protected Logger logger = Logger.NULL;
-
- @Override
- public MonitorStatus apply(final VirtualMachine virtualMachine) {
- checkNotNull(virtualMachine, "virtualMachine");
-
- try {
- VirtualMachineState state = virtualMachine.getState();
-
- // This state may be reached if the undeploy process fails and a
- // rollback is done
- if (state.existsInHypervisor()) {
- return MonitorStatus.FAILED;
- }
-
- switch (state) {
- case UNKNOWN:
- return MonitorStatus.FAILED;
- case NOT_ALLOCATED:
- return MonitorStatus.DONE;
- default:
- return MonitorStatus.CONTINUE;
- }
- } catch (ResourceNotFoundException nfe) {
- logger.warn("virtual machine %s not found, assuming it was undeployed successfully, "
- + "stop monitor with DONE", virtualMachine);
- return MonitorStatus.DONE;
- } catch (Exception ex) {
- logger.warn(ex, "exception thrown while monitoring %s on %s, returning CONTINUE", virtualMachine, getClass()
- .getName());
-
- return MonitorStatus.CONTINUE;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/handlers/AbstractEventHandler.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/handlers/AbstractEventHandler.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/handlers/AbstractEventHandler.java
deleted file mode 100644
index 7f85bc2..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/handlers/AbstractEventHandler.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.abiquo.monitor.handlers;
-
-import javax.annotation.Resource;
-
-import org.jclouds.abiquo.monitor.events.MonitorEvent;
-import org.jclouds.logging.Logger;
-
-/**
- * Base class for all {@link MonitorEvent} handlers.
- */
-public abstract class AbstractEventHandler<T> {
- @Resource
- protected Logger logger = Logger.NULL;
-
- /**
- * Checks if the current handler must handle the dispatched event.
- *
- * @param event
- * The event being dispatched.
- * @return Boolean indicating if the event must be handled by the current
- * handler.
- */
- protected abstract boolean handles(MonitorEvent<T> event);
-
- // Public getters and setters to allow non-guice code to set the appropriate
- // logger
-
- public Logger getLogger() {
- return logger;
- }
-
- public void setLogger(final Logger logger) {
- this.logger = logger;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/handlers/BlockingEventHandler.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/handlers/BlockingEventHandler.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/handlers/BlockingEventHandler.java
deleted file mode 100644
index 7ba2e69..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/handlers/BlockingEventHandler.java
+++ /dev/null
@@ -1,145 +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.abiquo.monitor.handlers;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.List;
-import java.util.concurrent.CountDownLatch;
-
-import org.jclouds.abiquo.monitor.events.MonitorEvent;
-import org.jclouds.logging.Logger;
-
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Throwables;
-import com.google.common.collect.Lists;
-import com.google.common.eventbus.Subscribe;
-
-/**
- * An event handler that blocks the thread until all monitored objects have been
- * finished being watched.
- * <p>
- * Due to <a
- * href="http://code.google.com/p/guava-libraries/issues/detail?id=783">Guava
- * Issue 786</a> {@link #handle(MonitorEvent)} is marked <code>final</code>to
- * avoid having duplicate events.
- *
- * @param <T>
- * The monitored object.
- */
-public class BlockingEventHandler<T> extends AbstractEventHandler<T> {
- /** The signal used to lock the thread. */
- @VisibleForTesting
- CountDownLatch completeSignal;
-
- /**
- * The objects being locked.
- * <p>
- * This class handles events in a thread safe way. Otherwise this collections
- * should be synchronised.
- */
- protected List<T> lockedObjects;
-
- public BlockingEventHandler(final T... lockedObjects) {
- this(Logger.NULL, lockedObjects);
- }
-
- public BlockingEventHandler(final Logger logger, final T... lockedObjects) {
- super();
- checkArgument(checkNotNull(lockedObjects, "lockedObjects").length > 0, "must provide at least one object");
- this.logger = checkNotNull(logger, "logger");
- this.lockedObjects = Lists.newArrayList(lockedObjects);
- this.logger.debug("created BlockingEventHandler locking %s objects", lockedObjects.length);
- }
-
- @Override
- protected boolean handles(final MonitorEvent<T> event) {
- logger.debug("checking if %s event on %s must be handled by %s", event.getType(), event.getTarget(), this);
- boolean handles = lockedObjects.contains(event.getTarget());
- logger.debug("%s event on %s must %sbe handled", event.getType(), event.getTarget(), handles ? "" : "not ");
- return handles;
- }
-
- /**
- * Handles the dispatched event in a thread safe way.
- * <p>
- * Due to <a
- * href="http://code.google.com/p/guava-libraries/issues/detail?id=783">Guava
- * Issue 786</a> {@link #handle(MonitorEvent)} is marked <code>final</code>to
- * avoid having duplicate events.
- *
- * @see {@link #doBeforeRelease(MonitorEvent)}
- */
- @Subscribe
- public final void handle(final MonitorEvent<T> event) {
- if (handles(event)) {
- logger.debug("handling %s", event);
-
- try {
- doBeforeRelease(event);
- } finally {
- // Always release the lock, even if the handler code fails
- release(event.getTarget());
- }
- }
- }
-
- /**
- * Blocks the thread until all locked objects have been released.
- */
- public void lock() {
- // When invoking the lock, it is possible that all events have
- // already been consumed. If there are no objects to monitor,
- // just ignore the lock.
- if (!lockedObjects.isEmpty()) {
- try {
- completeSignal = new CountDownLatch(lockedObjects.size());
- logger.debug("creating lock for %s object(s)", lockedObjects.size());
- completeSignal.await();
- } catch (InterruptedException ex) {
- throw Throwables.propagate(ex);
- }
- } else {
- logger.debug("there is nothing to watch. Ignoring lock.");
- }
- }
-
- /**
- * Releases the lock on the given object.
- */
- protected void release(final T target) {
- logger.debug("releasing %s", target);
- lockedObjects.remove(target);
-
- // The completeSignal might be null if the events have been consumed
- // before acquiring the lock
- if (completeSignal != null) {
- completeSignal.countDown();
- logger.debug("releasing lock for %s. %s remaining objects", target, completeSignal.getCount());
- }
- }
-
- /**
- * Convenience method to bypass the <a
- * href="http://code.google.com/p/guava-libraries/issues/detail?id=783">Guava
- * Issue 786</a> that forces the subscriber method to be <code>final</code>.
- */
- protected void doBeforeRelease(final MonitorEvent<T> event) {
- // Let subclasses may override it to customize behavior
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/internal/BaseAsyncTaskMonitor.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/internal/BaseAsyncTaskMonitor.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/internal/BaseAsyncTaskMonitor.java
deleted file mode 100644
index edbebb6..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/internal/BaseAsyncTaskMonitor.java
+++ /dev/null
@@ -1,78 +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.abiquo.monitor.internal;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.Constants.PROPERTY_SCHEDULER_THREADS;
-import static org.jclouds.abiquo.config.AbiquoProperties.ASYNC_TASK_MONITOR_DELAY;
-
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.jclouds.abiquo.AbiquoApi;
-import org.jclouds.abiquo.domain.task.AsyncTask;
-import org.jclouds.abiquo.internal.BaseMonitoringService;
-import org.jclouds.abiquo.monitor.AsyncTaskMonitor;
-import org.jclouds.abiquo.monitor.functions.AsyncTaskStatusMonitor;
-import org.jclouds.rest.ApiContext;
-
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.eventbus.EventBus;
-
-/**
- * Default monitor for {@link AsyncTask} objects.
- */
-@Singleton
-public class BaseAsyncTaskMonitor extends BaseMonitoringService implements AsyncTaskMonitor {
-
- @VisibleForTesting
- protected AsyncTaskStatusMonitor taskMonitor;
-
- @Inject
- public BaseAsyncTaskMonitor(final ApiContext<AbiquoApi> context,
- @Named(PROPERTY_SCHEDULER_THREADS) final ScheduledExecutorService scheduler,
- @Named(ASYNC_TASK_MONITOR_DELAY) final Long pollingDelay, final EventBus eventBus,
- final AsyncTaskStatusMonitor monitor) {
- super(context, scheduler, pollingDelay, eventBus);
- this.taskMonitor = checkNotNull(monitor, "monitor");
- }
-
- @Override
- public void awaitCompletion(final AsyncTask<?, ?>... tasks) {
- awaitCompletion(taskMonitor, tasks);
- }
-
- @Override
- public void monitor(final AsyncTask<?, ?>... tasks) {
- monitor(taskMonitor, tasks);
- }
-
- @Override
- public void awaitCompletion(final Long maxWait, final TimeUnit timeUnit, final AsyncTask<?, ?>... tasks) {
- awaitCompletion(maxWait, timeUnit, taskMonitor, tasks);
- }
-
- @Override
- public void monitor(final Long maxWait, final TimeUnit timeUnit, final AsyncTask<?, ?>... tasks) {
- monitor(maxWait, timeUnit, taskMonitor, tasks);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/internal/BaseConversionMonitor.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/internal/BaseConversionMonitor.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/internal/BaseConversionMonitor.java
deleted file mode 100644
index 98457dc..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/internal/BaseConversionMonitor.java
+++ /dev/null
@@ -1,78 +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.abiquo.monitor.internal;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.Constants.PROPERTY_SCHEDULER_THREADS;
-import static org.jclouds.abiquo.config.AbiquoProperties.ASYNC_TASK_MONITOR_DELAY;
-
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.jclouds.abiquo.AbiquoApi;
-import org.jclouds.abiquo.domain.cloud.Conversion;
-import org.jclouds.abiquo.internal.BaseMonitoringService;
-import org.jclouds.abiquo.monitor.ConversionMonitor;
-import org.jclouds.abiquo.monitor.functions.ConversionStatusMonitor;
-import org.jclouds.rest.ApiContext;
-
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.eventbus.EventBus;
-
-/**
- * Default monitor for {@link Conversion} objects.
- */
-@Singleton
-public class BaseConversionMonitor extends BaseMonitoringService implements ConversionMonitor {
-
- @VisibleForTesting
- protected ConversionStatusMonitor conversionMonitor;
-
- @Inject
- public BaseConversionMonitor(final ApiContext<AbiquoApi> context,
- @Named(PROPERTY_SCHEDULER_THREADS) final ScheduledExecutorService scheduler,
- @Named(ASYNC_TASK_MONITOR_DELAY) final Long pollingDelay, final EventBus eventBus,
- final ConversionStatusMonitor monitor) {
- super(context, scheduler, pollingDelay, eventBus);
- this.conversionMonitor = checkNotNull(monitor, "monitor");
- }
-
- @Override
- public void awaitCompletion(final Conversion... conversions) {
- awaitCompletion(conversionMonitor, conversions);
- }
-
- @Override
- public void monitor(final Conversion... conversions) {
- monitor(conversionMonitor, conversions);
- }
-
- @Override
- public void awaitCompletion(final Long maxWait, final TimeUnit timeUnit, final Conversion... conversions) {
- awaitCompletion(maxWait, timeUnit, conversionMonitor, conversions);
- }
-
- @Override
- public void monitor(final Long maxWait, final TimeUnit timeUnit, final Conversion... conversions) {
- monitor(maxWait, timeUnit, conversionMonitor, conversions);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/internal/BaseVirtualApplianceMonitor.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/internal/BaseVirtualApplianceMonitor.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/internal/BaseVirtualApplianceMonitor.java
deleted file mode 100644
index 16ce43f..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/internal/BaseVirtualApplianceMonitor.java
+++ /dev/null
@@ -1,101 +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.abiquo.monitor.internal;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.Constants.PROPERTY_SCHEDULER_THREADS;
-import static org.jclouds.abiquo.config.AbiquoProperties.ASYNC_TASK_MONITOR_DELAY;
-
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.jclouds.abiquo.AbiquoApi;
-import org.jclouds.abiquo.domain.cloud.VirtualAppliance;
-import org.jclouds.abiquo.internal.BaseMonitoringService;
-import org.jclouds.abiquo.monitor.VirtualApplianceMonitor;
-import org.jclouds.abiquo.monitor.functions.VirtualApplianceDeployMonitor;
-import org.jclouds.abiquo.monitor.functions.VirtualApplianceUndeployMonitor;
-import org.jclouds.rest.ApiContext;
-
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.eventbus.EventBus;
-
-/**
- * Default monitor for {@link VirtualAppliance} objects.
- */
-@Singleton
-public class BaseVirtualApplianceMonitor extends BaseMonitoringService implements VirtualApplianceMonitor {
- @VisibleForTesting
- protected VirtualApplianceDeployMonitor deployMonitor;
-
- @VisibleForTesting
- protected VirtualApplianceUndeployMonitor undeployMonitor;
-
- @Inject
- public BaseVirtualApplianceMonitor(final ApiContext<AbiquoApi> context,
- @Named(PROPERTY_SCHEDULER_THREADS) final ScheduledExecutorService scheduler,
- @Named(ASYNC_TASK_MONITOR_DELAY) final Long pollingDelay, final EventBus eventBus,
- final VirtualApplianceDeployMonitor deployMonitor, final VirtualApplianceUndeployMonitor undeployMonitor) {
- super(context, scheduler, pollingDelay, eventBus);
- this.deployMonitor = checkNotNull(deployMonitor, "deployMonitor");
- this.undeployMonitor = checkNotNull(undeployMonitor, "undeployMonitor");
- }
-
- @Override
- public void awaitCompletionDeploy(final VirtualAppliance... vapps) {
- awaitCompletion(deployMonitor, vapps);
- }
-
- @Override
- public void monitorDeploy(final VirtualAppliance... vapps) {
- monitor(deployMonitor, vapps);
- }
-
- @Override
- public void awaitCompletionDeploy(final Long maxWait, final TimeUnit timeUnit, final VirtualAppliance... vapps) {
- awaitCompletion(maxWait, timeUnit, deployMonitor, vapps);
- }
-
- @Override
- public void monitorDeploy(final Long maxWait, final TimeUnit timeUnit, final VirtualAppliance... vapps) {
- monitor(maxWait, timeUnit, deployMonitor, vapps);
- }
-
- @Override
- public void awaitCompletionUndeploy(final VirtualAppliance... vapps) {
- awaitCompletion(undeployMonitor, vapps);
- }
-
- @Override
- public void monitorUndeploy(final VirtualAppliance... vapps) {
- monitor(undeployMonitor, vapps);
- }
-
- @Override
- public void awaitCompletionUndeploy(final Long maxWait, final TimeUnit timeUnit, final VirtualAppliance... vapps) {
- awaitCompletion(maxWait, timeUnit, undeployMonitor, vapps);
- }
-
- @Override
- public void monitorUndeploy(final Long maxWait, final TimeUnit timeUnit, final VirtualAppliance... vapps) {
- monitor(maxWait, timeUnit, undeployMonitor, vapps);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/monitor/internal/BaseVirtualMachineMonitor.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/monitor/internal/BaseVirtualMachineMonitor.java b/abiquo/src/main/java/org/jclouds/abiquo/monitor/internal/BaseVirtualMachineMonitor.java
deleted file mode 100644
index 1fdb111..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/monitor/internal/BaseVirtualMachineMonitor.java
+++ /dev/null
@@ -1,125 +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.abiquo.monitor.internal;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.Constants.PROPERTY_SCHEDULER_THREADS;
-import static org.jclouds.abiquo.config.AbiquoProperties.ASYNC_TASK_MONITOR_DELAY;
-
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.jclouds.abiquo.AbiquoApi;
-import org.jclouds.abiquo.domain.cloud.VirtualMachine;
-import org.jclouds.abiquo.internal.BaseMonitoringService;
-import org.jclouds.abiquo.monitor.VirtualMachineMonitor;
-import org.jclouds.abiquo.monitor.functions.VirtualMachineDeployMonitor;
-import org.jclouds.abiquo.monitor.functions.VirtualMachineStateMonitor;
-import org.jclouds.abiquo.monitor.functions.VirtualMachineUndeployMonitor;
-import org.jclouds.rest.ApiContext;
-
-import com.abiquo.server.core.cloud.VirtualMachineState;
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.eventbus.EventBus;
-
-/**
- * Default monitor for {@link VirtualMachine} objects.
- */
-@Singleton
-public class BaseVirtualMachineMonitor extends BaseMonitoringService implements VirtualMachineMonitor {
- @VisibleForTesting
- protected VirtualMachineDeployMonitor deployMonitor;
-
- @VisibleForTesting
- protected VirtualMachineUndeployMonitor undeployMonitor;
-
- @Inject
- public BaseVirtualMachineMonitor(final ApiContext<AbiquoApi> context,
- @Named(PROPERTY_SCHEDULER_THREADS) final ScheduledExecutorService scheduler,
- @Named(ASYNC_TASK_MONITOR_DELAY) final Long pollingDelay, final EventBus eventBus,
- final VirtualMachineDeployMonitor deployMonitor, final VirtualMachineUndeployMonitor undeployMonitor) {
- super(context, scheduler, pollingDelay, eventBus);
- this.deployMonitor = checkNotNull(deployMonitor, "deployMonitor");
- this.undeployMonitor = checkNotNull(undeployMonitor, "undeployMonitor");
- }
-
- @Override
- public void awaitCompletionDeploy(final VirtualMachine... vms) {
- awaitCompletion(deployMonitor, vms);
- }
-
- @Override
- public void monitorDeploy(final VirtualMachine... vms) {
- monitor(deployMonitor, vms);
- }
-
- @Override
- public void awaitCompletionDeploy(final Long maxWait, final TimeUnit timeUnit, final VirtualMachine... vms) {
- awaitCompletion(maxWait, timeUnit, deployMonitor, vms);
- }
-
- @Override
- public void monitorDeploy(final Long maxWait, final TimeUnit timeUnit, final VirtualMachine... vms) {
- monitor(maxWait, timeUnit, deployMonitor, vms);
- }
-
- @Override
- public void awaitCompletionUndeploy(final VirtualMachine... vms) {
- awaitCompletion(undeployMonitor, vms);
- }
-
- @Override
- public void monitorUndeploy(final VirtualMachine... vms) {
- monitor(undeployMonitor, vms);
- }
-
- @Override
- public void awaitCompletionUndeploy(final Long maxWait, final TimeUnit timeUnit, final VirtualMachine... vms) {
- awaitCompletion(maxWait, timeUnit, undeployMonitor, vms);
- }
-
- @Override
- public void monitorUndeploy(final Long maxWait, final TimeUnit timeUnit, final VirtualMachine... vms) {
- monitor(maxWait, timeUnit, undeployMonitor, vms);
- }
-
- @Override
- public void awaitState(final VirtualMachineState state, final VirtualMachine... vms) {
- awaitCompletion(new VirtualMachineStateMonitor(state), vms);
- }
-
- @Override
- public void monitorState(final VirtualMachineState state, final VirtualMachine... vms) {
- monitor(new VirtualMachineStateMonitor(state), vms);
- }
-
- @Override
- public void awaitState(final Long maxWait, final TimeUnit timeUnit, final VirtualMachineState state,
- final VirtualMachine... vms) {
- awaitCompletion(maxWait, timeUnit, new VirtualMachineStateMonitor(state), vms);
- }
-
- @Override
- public void monitorState(final Long maxWait, final TimeUnit timeUnit, final VirtualMachineState state,
- final VirtualMachine... vms) {
- monitor(maxWait, timeUnit, new VirtualMachineStateMonitor(state), vms);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/predicates/IpPredicates.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/predicates/IpPredicates.java b/abiquo/src/main/java/org/jclouds/abiquo/predicates/IpPredicates.java
deleted file mode 100644
index 2ea3ca7..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/predicates/IpPredicates.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.abiquo.predicates;
-
-import org.jclouds.abiquo.domain.network.AbstractPublicIp;
-import org.jclouds.abiquo.domain.network.Ip;
-
-import com.google.common.base.Predicate;
-
-/**
- * Container for {@link Network} filters.
- */
-public class IpPredicates {
-
- public static <T extends AbstractPublicIp<?, ?>> Predicate<T> available() {
- return new Predicate<T>() {
- @Override
- public boolean apply(final T address) {
- return address.isAvailable();
- }
- };
- }
-
- public static <T extends Ip<?, ?>> Predicate<T> notUsed() {
- return new Predicate<T>() {
- @Override
- public boolean apply(final T address) {
- return address.unwrap().searchLink("virtualmachine") == null;
- }
- };
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/predicates/LinkPredicates.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/predicates/LinkPredicates.java b/abiquo/src/main/java/org/jclouds/abiquo/predicates/LinkPredicates.java
deleted file mode 100644
index c722ed6..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/predicates/LinkPredicates.java
+++ /dev/null
@@ -1,64 +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.abiquo.predicates;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.regex.Pattern;
-
-import com.abiquo.model.rest.RESTLink;
-import com.abiquo.server.core.infrastructure.network.NicDto;
-import com.abiquo.server.core.infrastructure.storage.VolumeManagementDto;
-import com.google.common.base.Predicate;
-
-/**
- * Container for {@link RESTLink} filters.
- */
-public class LinkPredicates {
-
- private static final Pattern IS_NIC_REL_PATTERN = Pattern.compile("^" + NicDto.REL_PREFIX + "[0-9]+$");
- private static final Pattern IS_DISK_REL_PATTERN = Pattern.compile("^" + VolumeManagementDto.REL_PREFIX + "[0-9]+$");
-
- public static Predicate<RESTLink> rel(final String rel) {
- checkNotNull(rel, "rel must be defined");
- return new Predicate<RESTLink>() {
- @Override
- public boolean apply(final RESTLink link) {
- return link.getRel().equals(rel);
- }
- };
- }
-
- public static Predicate<RESTLink> isNic() {
- return new Predicate<RESTLink>() {
- @Override
- public boolean apply(final RESTLink link) {
- return IS_NIC_REL_PATTERN.matcher(link.getRel()).matches();
- }
- };
- }
-
- public static Predicate<RESTLink> isDisk() {
- return new Predicate<RESTLink>() {
- @Override
- public boolean apply(RESTLink link) {
- return IS_DISK_REL_PATTERN.matcher(link.getRel()).matches();
- }
- };
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/predicates/NetworkServiceTypePredicates.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/predicates/NetworkServiceTypePredicates.java b/abiquo/src/main/java/org/jclouds/abiquo/predicates/NetworkServiceTypePredicates.java
deleted file mode 100644
index b7527f3..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/predicates/NetworkServiceTypePredicates.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.abiquo.predicates;
-
-import org.jclouds.abiquo.domain.network.NetworkServiceType;
-
-import com.google.common.base.Predicate;
-
-/**
- * Container for {@link NetworkServiceType} filters.
- */
-public class NetworkServiceTypePredicates {
- public static Predicate<NetworkServiceType> isDefault() {
- return new Predicate<NetworkServiceType>() {
- @Override
- public boolean apply(final NetworkServiceType ni) {
- return ni.isDefaultNST();
- }
- };
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/predicates/VirtualDatacenterPredicates.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/predicates/VirtualDatacenterPredicates.java b/abiquo/src/main/java/org/jclouds/abiquo/predicates/VirtualDatacenterPredicates.java
deleted file mode 100644
index 4ad1011..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/predicates/VirtualDatacenterPredicates.java
+++ /dev/null
@@ -1,78 +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.abiquo.predicates;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Iterables.isEmpty;
-
-import org.jclouds.abiquo.domain.cloud.Conversion;
-import org.jclouds.abiquo.domain.cloud.VirtualDatacenter;
-import org.jclouds.abiquo.domain.cloud.VirtualMachineTemplate;
-import org.jclouds.abiquo.domain.infrastructure.Datacenter;
-import org.jclouds.abiquo.reference.ValidationErrors;
-import org.jclouds.abiquo.reference.rest.ParentLinkName;
-
-import com.abiquo.model.enumerator.ConversionState;
-import com.abiquo.model.enumerator.HypervisorType;
-import com.google.common.base.Predicate;
-
-/**
- * Container for {@link VirtualDatacenter} filters.
- */
-public class VirtualDatacenterPredicates {
-
- public static Predicate<VirtualDatacenter> datacenter(final Datacenter datacenter) {
- checkNotNull(datacenter, "datacenter must be defined");
-
- return new Predicate<VirtualDatacenter>() {
- @Override
- public boolean apply(final VirtualDatacenter virtualDatacenter) {
- // Avoid using the getDatacenter() method since it will generate an
- // unnecessary API
- // call. We can get the ID from the datacenter link.
- Integer datacenterId = checkNotNull(virtualDatacenter.unwrap().getIdFromLink(ParentLinkName.DATACENTER),
- ValidationErrors.MISSING_REQUIRED_LINK);
-
- return datacenterId.equals(datacenter.getId());
- }
- };
- }
-
- /**
- * Check if the given template type is compatible with the given virtual
- * datacenter type taking into account the conversions of the template.
- *
- * @param template
- * The template to check.
- * @return Predicate to check if the template or its conversions are
- * compatibles with the given virtual datacenter.
- */
- public static Predicate<VirtualDatacenter> compatibleWithTemplateOrConversions(final VirtualMachineTemplate template) {
- return new Predicate<VirtualDatacenter>() {
- @Override
- public boolean apply(final VirtualDatacenter vdc) {
- HypervisorType type = vdc.getHypervisorType();
- boolean compatible = type.isCompatible(template.getDiskFormatType());
- if (!compatible) {
- Iterable<Conversion> compatibleConversions = template.listConversions(type, ConversionState.FINISHED);
- compatible = compatibleConversions != null && !isEmpty(compatibleConversions);
- }
- return compatible;
- }
- };
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/predicates/VirtualMachineTemplatePredicates.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/predicates/VirtualMachineTemplatePredicates.java b/abiquo/src/main/java/org/jclouds/abiquo/predicates/VirtualMachineTemplatePredicates.java
deleted file mode 100644
index 8af9f6f..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/predicates/VirtualMachineTemplatePredicates.java
+++ /dev/null
@@ -1,45 +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.abiquo.predicates;
-
-import org.jclouds.abiquo.domain.cloud.VirtualMachineTemplate;
-
-import com.google.common.base.Predicate;
-
-/**
- * Container for {@link VirtualMachineTemplate} filters.
- */
-public class VirtualMachineTemplatePredicates {
-
- public static Predicate<VirtualMachineTemplate> isShared() {
- return new Predicate<VirtualMachineTemplate>() {
- @Override
- public boolean apply(final VirtualMachineTemplate input) {
- return input.unwrap().isShared();
- }
- };
- }
-
- public static Predicate<VirtualMachineTemplate> isInstance() {
- return new Predicate<VirtualMachineTemplate>() {
- @Override
- public boolean apply(final VirtualMachineTemplate input) {
- return input.unwrap().searchLink("master") != null;
- }
- };
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/reference/ValidationErrors.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/reference/ValidationErrors.java b/abiquo/src/main/java/org/jclouds/abiquo/reference/ValidationErrors.java
deleted file mode 100644
index 67d7f88..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/reference/ValidationErrors.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.abiquo.reference;
-
-/**
- * Error constants.
- */
-public class ValidationErrors {
- public static final String NULL_RESOURCE = "The resource should be assigned to a ";
-
- public static final String MISSING_REQUIRED_FIELD = "Missing required field ";
-
- public static final String MISSING_REQUIRED_LINK = "Missing required link ";
-
- public static final String INVALID_NETWORK_TYPE = "Invalid network type ";
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/reference/rest/ParentLinkName.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/reference/rest/ParentLinkName.java b/abiquo/src/main/java/org/jclouds/abiquo/reference/rest/ParentLinkName.java
deleted file mode 100644
index 9fc9b84..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/reference/rest/ParentLinkName.java
+++ /dev/null
@@ -1,62 +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.abiquo.reference.rest;
-
-/**
- * Names of the "rel" attribute of the links that point to parent objects.
- */
-public class ParentLinkName {
- public static final String RACK = "rack";
-
- public static final String DATACENTER = "datacenter";
-
- public static final String ENTERPRISE = "enterprise";
-
- public static final String ROLE = "role";
-
- public static final String TIER = "tier";
-
- public static final String STORAGE_DEVICE = "device";
-
- public static final String VIRTUAL_DATACENTER = "virtualdatacenter";
-
- public static final String VIRTUAL_APPLIANCE = "virtualappliance";
-
- public static final String VIRTUAL_MACHINE_TEMPLATE = "virtualmachinetemplate";
-
- public static final String DATACENTER_REPOSITORY = "datacenterrepository";
-
- public static final String CATEGORY = "category";
-
- public static final String ICON = "icon";
-
- public static final String PRIVATE_NETWORK = "privatenetwork";
-
- public static final String PUBLIC_NETWORK = "publicnetwork";
-
- public static final String EXTERNAL_NETWORK = "externalnetwork";
-
- public static final String UNMANAGED_NETWORK = "unmanagednetwork";
-
- public static final String NETWORK_CONFIGURATIONS = "configurations";
-
- public static final String NETWORK_GATEWAY = "network_configuration";
-
- public static final String TASK_RESULT = "result";
-
- public static final String VIRTUAL_MACHINE = "virtualmachine";
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/main/java/org/jclouds/abiquo/rest/annotations/EndpointLink.java
----------------------------------------------------------------------
diff --git a/abiquo/src/main/java/org/jclouds/abiquo/rest/annotations/EndpointLink.java b/abiquo/src/main/java/org/jclouds/abiquo/rest/annotations/EndpointLink.java
deleted file mode 100644
index 84d87d4..0000000
--- a/abiquo/src/main/java/org/jclouds/abiquo/rest/annotations/EndpointLink.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.abiquo.rest.annotations;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates the link to be used to generate the endpoint for the request.
- */
-@Target({ ElementType.PARAMETER })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface EndpointLink {
-
- /**
- * The name of the link that will be used to generate the request endpoint.
- */
- String value();
-}