Ori Liel has uploaded a new change for review.

Change subject: restapi: Remove Command Refactoring
......................................................................

restapi: Remove Command Refactoring

Refactoring so that non-removable collection resources won't have to implement 
'performRemove()' method

Change-Id: I402b11317e14b3ad78d16cfecdeb1defc1ffb835
Signed-off-by: Ori Liel <[email protected]>
---
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendAssignedTagsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworksResource.java
R 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNonRemovableCollectionResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendReadOnlyDevicesResource.java
A 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendRemovableCollectionResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendStorageDomainContentsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAssignedPermissionsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAssignedRolesResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAttachedStorageDomainsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendClustersResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDataCentersResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDisksResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDomainsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendEventsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFilesResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResourceBase.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostHooksResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostStorageResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendPermitsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendQuotasResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendRolesResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSnapshotsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStatisticsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendTagsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendTemplatesResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUsersResourceBase.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmReportedDevicesResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumesResource.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendCollectionResourceTest.java
35 files changed, 59 insertions(+), 90 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/75/10975/1

diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendAssignedTagsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendAssignedTagsResource.java
index bf1806f..f6da7ec 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendAssignedTagsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendAssignedTagsResource.java
@@ -20,7 +20,7 @@
 import static 
org.ovirt.engine.api.common.util.ReflectionHelper.assignChildModel;
 
 public abstract class AbstractBackendAssignedTagsResource
-    extends AbstractBackendCollectionResource<Tag, tags> {
+        extends AbstractBackendRemovableCollectionResource<Tag, tags> {
 
     protected Class<? extends BaseResource> parentType;
     protected String parentId;
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworksResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworksResource.java
index 35a92df..b23db2b 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworksResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworksResource.java
@@ -12,7 +12,7 @@
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.core.compat.Guid;
 
-public abstract class AbstractBackendNetworksResource extends 
AbstractBackendCollectionResource<Network, 
org.ovirt.engine.core.common.businessentities.network.Network>
+public abstract class AbstractBackendNetworksResource extends 
AbstractBackendRemovableCollectionResource<Network, 
org.ovirt.engine.core.common.businessentities.network.Network>
 {
 
     protected VdcQueryType queryType;
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendCollectionResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNonRemovableCollectionResource.java
similarity index 95%
rename from 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendCollectionResource.java
rename to 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNonRemovableCollectionResource.java
index 40dd464..8610b8e 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendCollectionResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNonRemovableCollectionResource.java
@@ -25,7 +25,7 @@
 import org.ovirt.engine.core.utils.log.Log;
 import org.ovirt.engine.core.utils.log.LogFactory;
 
-public abstract class AbstractBackendCollectionResource<R extends 
BaseResource, Q /* extends IVdcQueryable */>
+public abstract class AbstractBackendNonRemovableCollectionResource<R extends 
BaseResource, Q /* extends IVdcQueryable */>
         extends AbstractBackendResource<R, Q> {
 
     private static final String EXPECT_HEADER = "Expect";
@@ -33,18 +33,11 @@
     private static final String CREATION_STATUS_REL = "creation_status";
     public static final String FROM_CONSTRAINT_PARAMETER = "from";
     public static final String CASE_SENSITIVE_CONSTRAINT_PARAMETER = 
"case_sensitive";
-    protected static final Log LOG = 
LogFactory.getLog(AbstractBackendCollectionResource.class);
+    protected static final Log LOG = 
LogFactory.getLog(AbstractBackendNonRemovableCollectionResource.class);
 
-    protected AbstractBackendCollectionResource(Class<R> modelType, Class<Q> 
entityType, String... subCollections) {
+    protected AbstractBackendNonRemovableCollectionResource(Class<R> 
modelType, Class<Q> entityType, String... subCollections) {
         super(modelType, entityType, subCollections);
     }
-
-    public Response remove(String id) {
-        getEntity(id);  //will throw 404 if entity not found.
-        return performRemove(id);
-    }
-
-    protected abstract Response performRemove(String id);
 
     protected List<Q> getBackendCollection(SearchType searchType) {
         return getBackendCollection(searchType, 
QueryHelper.getConstraint(getUriInfo(), "",  modelType));
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendReadOnlyDevicesResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendReadOnlyDevicesResource.java
index 5a516bf..eb91c93 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendReadOnlyDevicesResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendReadOnlyDevicesResource.java
@@ -16,7 +16,7 @@
 import org.ovirt.engine.core.compat.Guid;
 
 public abstract class AbstractBackendReadOnlyDevicesResource<D extends 
BaseDevice, C extends BaseDevices, Q extends IVdcQueryable>
-        extends AbstractBackendCollectionResource<D, Q>
+        extends AbstractBackendRemovableCollectionResource<D, Q>
         implements ReadOnlyDevicesResource<D, C> {
 
     protected Class<C> collectionType;
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendRemovableCollectionResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendRemovableCollectionResource.java
new file mode 100644
index 0000000..57b20f4
--- /dev/null
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendRemovableCollectionResource.java
@@ -0,0 +1,21 @@
+package org.ovirt.engine.api.restapi.resource;
+
+import javax.ws.rs.core.Response;
+
+import org.ovirt.engine.api.model.BaseResource;
+
+public abstract class AbstractBackendRemovableCollectionResource<R extends 
BaseResource, Q /* extends IVdcQueryable */> extends 
AbstractBackendNonRemovableCollectionResource<R, Q> {
+
+    protected AbstractBackendRemovableCollectionResource(Class<R> modelType,
+            Class<Q> entityType,
+            String... subCollections) {
+        super(modelType, entityType, subCollections);
+    }
+
+    public Response remove(String id) {
+        getEntity(id); // will throw 404 if entity not found.
+        return performRemove(id);
+    }
+
+    protected abstract Response performRemove(String id);
+}
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendStorageDomainContentsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendStorageDomainContentsResource.java
index ca542d4..f57388e 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendStorageDomainContentsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendStorageDomainContentsResource.java
@@ -22,7 +22,7 @@
 public abstract class AbstractBackendStorageDomainContentsResource<C extends 
BaseResources,
                                                                    R extends 
BaseResource,
                                                                    Q extends 
IVdcQueryable>
-    extends AbstractBackendCollectionResource<R, Q> {
+        extends AbstractBackendRemovableCollectionResource<R, Q> {
 
     protected Guid storageDomainId;
 
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAssignedPermissionsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAssignedPermissionsResource.java
index d838cd2..0696842 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAssignedPermissionsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAssignedPermissionsResource.java
@@ -36,7 +36,7 @@
 import org.ovirt.engine.core.compat.StringHelper;
 
 public class BackendAssignedPermissionsResource
-        extends AbstractBackendCollectionResource<Permission, permissions>
+        extends AbstractBackendRemovableCollectionResource<Permission, 
permissions>
         implements AssignedPermissionsResource {
 
     private Guid targetId;
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAssignedRolesResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAssignedRolesResource.java
index 41d0a04..7326cb2 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAssignedRolesResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAssignedRolesResource.java
@@ -24,7 +24,7 @@
  * Role assignments to an individual user are mapped to system permissions.
  */
 public class BackendAssignedRolesResource
-        extends AbstractBackendCollectionResource<Role, permissions>
+        extends AbstractBackendRemovableCollectionResource<Role, permissions>
         implements AssignedRolesResource {
 
     private Guid principalId;
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAttachedStorageDomainsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAttachedStorageDomainsResource.java
index 65ac255..128774e 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAttachedStorageDomainsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendAttachedStorageDomainsResource.java
@@ -20,7 +20,7 @@
 import org.ovirt.engine.core.compat.Guid;
 
 public class BackendAttachedStorageDomainsResource
-    extends AbstractBackendCollectionResource<StorageDomain, storage_domains>
+        extends AbstractBackendRemovableCollectionResource<StorageDomain, 
storage_domains>
     implements AttachedStorageDomainsResource {
 
     protected Guid dataCenterId;
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendClustersResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendClustersResource.java
index f07482b..983477b 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendClustersResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendClustersResource.java
@@ -22,7 +22,7 @@
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.core.compat.Guid;
 
-public class BackendClustersResource extends 
AbstractBackendCollectionResource<Cluster, VDSGroup>
+public class BackendClustersResource extends 
AbstractBackendRemovableCollectionResource<Cluster, VDSGroup>
         implements ClustersResource {
 
     static final String[] SUB_COLLECTIONS = { "networks", "permissions", 
"glustervolumes" };
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDataCentersResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDataCentersResource.java
index 130bc7e..159a086 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDataCentersResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDataCentersResource.java
@@ -25,7 +25,7 @@
 import org.ovirt.engine.core.compat.Guid;
 
 public class BackendDataCentersResource extends
-        AbstractBackendCollectionResource<DataCenter, storage_pool> implements 
DataCentersResource {
+        AbstractBackendRemovableCollectionResource<DataCenter, storage_pool> 
implements DataCentersResource {
 
     static final String[] SUB_COLLECTIONS = {"storagedomains", "permissions", 
"quotas"};
 
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDisksResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDisksResource.java
index 31bdb8a..f6e54f0 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDisksResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDisksResource.java
@@ -22,7 +22,7 @@
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.core.compat.Guid;
 
-public class BackendDisksResource extends 
AbstractBackendCollectionResource<Disk, 
org.ovirt.engine.core.common.businessentities.Disk> implements DisksResource{
+public class BackendDisksResource extends 
AbstractBackendRemovableCollectionResource<Disk, 
org.ovirt.engine.core.common.businessentities.Disk> implements DisksResource {
 
     static final String[] SUB_COLLECTIONS = { "permissions", "statistics" };
     public BackendDisksResource() {
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDomainsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDomainsResource.java
index 90da627..ee02e72 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDomainsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDomainsResource.java
@@ -5,8 +5,6 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.core.Response;
-
 import org.ovirt.engine.api.model.Domains;
 import org.ovirt.engine.api.model.Domain;
 import org.ovirt.engine.api.resource.DomainsResource;
@@ -16,7 +14,7 @@
 import org.ovirt.engine.core.compat.NGuid;
 import org.ovirt.engine.api.restapi.model.Directory;
 
-public class BackendDomainsResource extends 
AbstractBackendCollectionResource<Domain, Directory>
+public class BackendDomainsResource extends 
AbstractBackendNonRemovableCollectionResource<Domain, Directory>
     implements DomainsResource {
 
     static final String[] SUB_COLLECTIONS = { "users", "groups" };
@@ -97,11 +95,6 @@
             assignChildModel(domain, Domain.class).setId(id);
         }
         return domain;
-    }
-
-    @Override
-    protected Response performRemove(String id) {
-        throw new UnsupportedOperationException();
     }
 
     @Override
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendEventsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendEventsResource.java
index 51d4002..1998645 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendEventsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendEventsResource.java
@@ -18,7 +18,7 @@
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 
 public class BackendEventsResource extends
-AbstractBackendCollectionResource<Event, AuditLog> implements
+        AbstractBackendRemovableCollectionResource<Event, AuditLog> implements
 EventsResource {
     public BackendEventsResource() {
         super(Event.class, AuditLog.class);
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFilesResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFilesResource.java
index ea5e897..1f13592 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFilesResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendFilesResource.java
@@ -3,8 +3,6 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import javax.ws.rs.core.Response;
-
 import org.ovirt.engine.api.model.File;
 import org.ovirt.engine.api.model.Files;
 import org.ovirt.engine.api.model.StorageDomain;
@@ -19,7 +17,7 @@
 import static 
org.ovirt.engine.api.restapi.resource.BackendStorageDomainResource.isIsoDomain;
 
 public class BackendFilesResource
-    extends AbstractBackendCollectionResource<File, String>
+    extends AbstractBackendNonRemovableCollectionResource<File, String>
     implements FilesResource {
 
     protected String storageDomainId;
@@ -84,13 +82,7 @@
     }
 
     @Override
-    protected Response performRemove(String id) {
-       throw new UnsupportedOperationException();
-    }
-
-    @Override
     protected File doPopulate(File model, String entity) {
         return model;
     }
-
 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResourceBase.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResourceBase.java
index f19b410..b5babb5 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResourceBase.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResourceBase.java
@@ -24,7 +24,7 @@
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.compat.StringHelper;
 
-public class BackendGroupsResourceBase extends 
AbstractBackendCollectionResource<Group, LdapGroup> {
+public class BackendGroupsResourceBase extends 
AbstractBackendRemovableCollectionResource<Group, LdapGroup> {
 
     static final String[] SUB_COLLECTIONS = { "permissions", "roles", "tags" };
     private static final String AD_SEARCH_TEMPLATE = "ADGROUP@{0}: ";
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostHooksResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostHooksResource.java
index 68773a3..60b5372 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostHooksResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostHooksResource.java
@@ -5,7 +5,6 @@
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Response;
 
 import org.ovirt.engine.api.model.Hook;
 import org.ovirt.engine.api.model.Hooks;
@@ -14,7 +13,7 @@
 import org.ovirt.engine.core.common.queries.GetVdsHooksByIdParameters;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 
-public class BackendHostHooksResource extends 
AbstractBackendCollectionResource<Hook, Object> implements HostHooksResource {
+public class BackendHostHooksResource extends 
AbstractBackendNonRemovableCollectionResource<Hook, Object> implements 
HostHooksResource {
 
     public BackendHostHooksResource(String hostId) {
         super(Hook.class, Object.class);
@@ -45,14 +44,7 @@
     }
 
     @Override
-    protected Response performRemove(String id) {
-        // not in use
-        return null;
-    }
-
-    @Override
     protected Hook doPopulate(Hook model, Object entity) {
         return model;
     }
-
 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResource.java
index 2ec2c9c..8ff9059 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResource.java
@@ -38,7 +38,7 @@
 import org.ovirt.engine.core.compat.Guid;
 
 public class BackendHostNicsResource
-    extends AbstractBackendCollectionResource<HostNIC, VdsNetworkInterface>
+        extends AbstractBackendRemovableCollectionResource<HostNIC, 
VdsNetworkInterface>
         implements HostNicsResource {
 
     static final String SUB_COLLECTIONS = "statistics";
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostStorageResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostStorageResource.java
index a44e5d1..9b797f8 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostStorageResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostStorageResource.java
@@ -3,8 +3,6 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.core.Response;
-
 import org.ovirt.engine.api.model.Host;
 import org.ovirt.engine.api.model.HostStorage;
 import org.ovirt.engine.api.model.LogicalUnit;
@@ -21,7 +19,7 @@
 import org.ovirt.engine.core.common.queries.VdsIdParametersBase;
 
 public class BackendHostStorageResource
-    extends AbstractBackendCollectionResource<Storage, LUNs>
+    extends AbstractBackendNonRemovableCollectionResource<Storage, LUNs>
     implements HostStorageResource {
 
     private String hostId;
@@ -91,13 +89,7 @@
     }
 
     @Override
-    protected Response performRemove(String id) {
-       throw new UnsupportedOperationException();
-    }
-
-    @Override
     protected Storage doPopulate(Storage model, LUNs entity) {
         return model;
     }
-
 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java
index 47c0fdd..e37cbce 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java
@@ -30,7 +30,7 @@
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.core.compat.Guid;
 
-public class BackendHostsResource extends 
AbstractBackendCollectionResource<Host, VDS> implements
+public class BackendHostsResource extends 
AbstractBackendRemovableCollectionResource<Host, VDS> implements
         HostsResource {
 
     static final String[] SUB_COLLECTIONS = { "storage", "nics", "tags", 
"permissions", "statistics" };
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendPermitsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendPermitsResource.java
index f104071..fcd5e09 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendPermitsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendPermitsResource.java
@@ -18,7 +18,7 @@
 import org.ovirt.engine.core.compat.Guid;
 
 public class BackendPermitsResource
-        extends AbstractBackendCollectionResource<Permit, ActionGroup>
+        extends AbstractBackendRemovableCollectionResource<Permit, ActionGroup>
         implements PermitsResource {
 
     protected Guid roleId;
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendQuotasResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendQuotasResource.java
index df89955..19effa8 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendQuotasResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendQuotasResource.java
@@ -16,7 +16,7 @@
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.core.compat.Guid;
 
-public class BackendQuotasResource extends 
AbstractBackendCollectionResource<Quota, 
org.ovirt.engine.core.common.businessentities.Quota> implements QuotasResource {
+public class BackendQuotasResource extends 
AbstractBackendRemovableCollectionResource<Quota, 
org.ovirt.engine.core.common.businessentities.Quota> implements QuotasResource {
 
     protected Guid dataCenterId;
 
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendRolesResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendRolesResource.java
index e2579c0..ac1aa0f 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendRolesResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendRolesResource.java
@@ -21,7 +21,7 @@
 import org.ovirt.engine.api.restapi.types.Mapper;
 
 public class BackendRolesResource
-        extends AbstractBackendCollectionResource<Role, 
org.ovirt.engine.core.common.businessentities.Role>
+        extends AbstractBackendRemovableCollectionResource<Role, 
org.ovirt.engine.core.common.businessentities.Role>
         implements RolesResource {
 
     static final String[] SUB_COLLECTIONS = { "permits" };
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSnapshotsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSnapshotsResource.java
index 8571bab..79f4424 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSnapshotsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendSnapshotsResource.java
@@ -18,7 +18,7 @@
 import org.ovirt.engine.core.compat.Guid;
 
 public class BackendSnapshotsResource
-        extends AbstractBackendCollectionResource<Snapshot, 
org.ovirt.engine.core.common.businessentities.Snapshot>
+        extends AbstractBackendRemovableCollectionResource<Snapshot, 
org.ovirt.engine.core.common.businessentities.Snapshot>
         implements SnapshotsResource {
 
     static final String[] SUB_COLLECTIONS = { "cdroms", "disks", "nics" };
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStatisticsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStatisticsResource.java
index 8de34f8..e1cca85 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStatisticsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStatisticsResource.java
@@ -2,8 +2,6 @@
 
 import java.util.List;
 
-import javax.ws.rs.core.Response;
-
 import org.ovirt.engine.api.model.BaseResource;
 import org.ovirt.engine.api.model.Statistic;
 import org.ovirt.engine.api.model.Statistics;
@@ -12,7 +10,7 @@
 import org.ovirt.engine.core.compat.Guid;
 
 public class BackendStatisticsResource<R extends BaseResource, Q>
-        extends AbstractBackendCollectionResource<Statistic, Q>
+        extends AbstractBackendNonRemovableCollectionResource<Statistic, Q>
         implements StatisticsResource {
 
     private Guid subjectId;
@@ -57,13 +55,7 @@
     }
 
     @Override
-    protected Response performRemove(String id) {
-       throw new UnsupportedOperationException();
-    }
-
-    @Override
     protected Statistic doPopulate(Statistic model, Q entity) {
         return model;
     }
-
 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainsResource.java
index f389a75..d8aa3da 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainsResource.java
@@ -46,7 +46,7 @@
 import static 
org.ovirt.engine.api.restapi.resource.BackendStorageDomainResource.getLinksToExclude;
 
 public class BackendStorageDomainsResource
-    extends AbstractBackendCollectionResource<StorageDomain, storage_domains>
+        extends AbstractBackendRemovableCollectionResource<StorageDomain, 
storage_domains>
     implements StorageDomainsResource {
 
     static final String[] SUB_COLLECTIONS = { "permissions", "files", 
"templates", "vms"};
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendTagsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendTagsResource.java
index 9ae55ec..9c744ad 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendTagsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendTagsResource.java
@@ -20,7 +20,7 @@
 import org.ovirt.engine.core.compat.Guid;
 
 public class BackendTagsResource
-    extends AbstractBackendCollectionResource<Tag, tags>
+        extends AbstractBackendRemovableCollectionResource<Tag, tags>
     implements TagsResource {
 
     public BackendTagsResource() {
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendTemplatesResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendTemplatesResource.java
index 21d8943..bd210bf 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendTemplatesResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendTemplatesResource.java
@@ -29,7 +29,7 @@
 import org.ovirt.engine.core.compat.Guid;
 
 public class BackendTemplatesResource
-    extends AbstractBackendCollectionResource<Template, VmTemplate>
+        extends AbstractBackendRemovableCollectionResource<Template, 
VmTemplate>
     implements TemplatesResource {
 
     static final String[] SUB_COLLECTIONS = { "disks", "nics", "cdroms", 
"permissions" };
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUsersResourceBase.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUsersResourceBase.java
index f25c363..401177d 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUsersResourceBase.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUsersResourceBase.java
@@ -27,7 +27,7 @@
 import org.ovirt.engine.core.compat.NGuid;
 import org.ovirt.engine.core.compat.StringHelper;
 
-public class BackendUsersResourceBase extends 
AbstractBackendCollectionResource<User, DbUser> {
+public class BackendUsersResourceBase extends 
AbstractBackendRemovableCollectionResource<User, DbUser> {
 
     static final String[] SUB_COLLECTIONS = { "permissions", "roles", "tags" };
     protected static final String AD_SEARCH_TEMPLATE = "ADUSER@{0}: ";
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolsResource.java
index c404a70..ffafc2e 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolsResource.java
@@ -26,7 +26,7 @@
 import org.ovirt.engine.core.compat.Guid;
 
 public class BackendVmPoolsResource
-    extends AbstractBackendCollectionResource<VmPool, vm_pools>
+        extends AbstractBackendRemovableCollectionResource<VmPool, vm_pools>
     implements VmPoolsResource {
 
     static final String SUB_COLLECTION = "permissions";
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmReportedDevicesResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmReportedDevicesResource.java
index d72dd03..348ea52 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmReportedDevicesResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmReportedDevicesResource.java
@@ -5,7 +5,6 @@
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
-import javax.ws.rs.core.Response;
 
 import org.ovirt.engine.api.model.ReportedDevice;
 import org.ovirt.engine.api.model.ReportedDevices;
@@ -18,7 +17,7 @@
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.core.compat.Guid;
 
-public class BackendVmReportedDevicesResource extends 
AbstractBackendCollectionResource<ReportedDevice, VmGuestAgentInterface> 
implements VmReportedDevicesResource {
+public class BackendVmReportedDevicesResource extends 
AbstractBackendNonRemovableCollectionResource<ReportedDevice, 
VmGuestAgentInterface> implements VmReportedDevicesResource {
 
     private Guid vmId;
 
@@ -52,11 +51,6 @@
     @Path("{id}")
     public VmReportedDeviceResource 
getVmReportedDeviceSubResource(@PathParam("id") String id) {
         return inject(new BackendVmReportedDeviceResource(id, this));
-    }
-
-    @Override
-    protected Response performRemove(String id) {
-        throw new UnsupportedOperationException(); // will never be called
     }
 
     protected List<VmGuestAgentInterface> getCollection() {
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java
index 1650e29..db0455b 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java
@@ -56,7 +56,7 @@
 import org.ovirt.engine.core.compat.Guid;
 
 public class BackendVmsResource extends
-        AbstractBackendCollectionResource<VM, 
org.ovirt.engine.core.common.businessentities.VM>
+        AbstractBackendRemovableCollectionResource<VM, 
org.ovirt.engine.core.common.businessentities.VM>
         implements VmsResource {
 
     static final String[] SUB_COLLECTIONS = { "disks", "nics", "cdroms", 
"snapshots", "tags", "permissions",
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResource.java
index a6d1959..c6ccb0c 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResource.java
@@ -12,7 +12,7 @@
 import org.ovirt.engine.api.model.GlusterVolume;
 import org.ovirt.engine.api.resource.gluster.GlusterBrickResource;
 import org.ovirt.engine.api.resource.gluster.GlusterBricksResource;
-import org.ovirt.engine.api.restapi.resource.AbstractBackendCollectionResource;
+import 
org.ovirt.engine.api.restapi.resource.AbstractBackendRemovableCollectionResource;
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VdcReturnValueBase;
@@ -24,7 +24,7 @@
 import org.ovirt.engine.core.compat.Guid;
 
 public class BackendGlusterBricksResource
-        extends AbstractBackendCollectionResource<GlusterBrick, 
GlusterBrickEntity>
+        extends AbstractBackendRemovableCollectionResource<GlusterBrick, 
GlusterBrickEntity>
         implements GlusterBricksResource {
 
     private BackendGlusterVolumeResource parent;
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumesResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumesResource.java
index 4f8a62b..8ac95bf 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumesResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterVolumesResource.java
@@ -13,7 +13,7 @@
 import org.ovirt.engine.api.resource.ClusterResource;
 import org.ovirt.engine.api.resource.gluster.GlusterVolumeResource;
 import org.ovirt.engine.api.resource.gluster.GlusterVolumesResource;
-import org.ovirt.engine.api.restapi.resource.AbstractBackendCollectionResource;
+import 
org.ovirt.engine.api.restapi.resource.AbstractBackendRemovableCollectionResource;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import 
org.ovirt.engine.core.common.action.gluster.CreateGlusterVolumeParameters;
 import org.ovirt.engine.core.common.action.gluster.GlusterVolumeParameters;
@@ -30,7 +30,7 @@
  * Implementation of the "glustervolumes" resource
  */
 public class BackendGlusterVolumesResource
-        extends AbstractBackendCollectionResource<GlusterVolume, 
GlusterVolumeEntity>
+        extends AbstractBackendRemovableCollectionResource<GlusterVolume, 
GlusterVolumeEntity>
         implements GlusterVolumesResource {
 
     public static final String[] SUB_COLLECTIONS = { "bricks" };
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendCollectionResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendCollectionResourceTest.java
index 2424498..e18da8a 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendCollectionResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendCollectionResourceTest.java
@@ -32,7 +32,7 @@
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.core.compat.Guid;
 
-public abstract class AbstractBackendCollectionResourceTest<R extends 
BaseResource, Q /* extends IVdcQueryable */, C extends 
AbstractBackendCollectionResource<R, Q>>
+public abstract class AbstractBackendCollectionResourceTest<R extends 
BaseResource, Q /* extends IVdcQueryable */, C extends 
AbstractBackendNonRemovableCollectionResource<R, Q>>
         extends AbstractBackendResourceTest<R, Q> {
 
     protected static final String QUERY = "name=s* AND id=*0";


--
To view, visit http://gerrit.ovirt.org/10975
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I402b11317e14b3ad78d16cfecdeb1defc1ffb835
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Ori Liel <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to