Mike Kolesnik has uploaded a new change for review.

Change subject: engine: Added provider CRUD operations
......................................................................

engine: Added provider CRUD operations

Added all CRUD operations on providers.
Currently implementation is naive, but it will be improved in the
future.

Change-Id: Ifa74c2adb7d755f5b916629cec415d56461bbb13
Signed-off-by: Mike Kolesnik <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandsFactory.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetAllProvidersQuery.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/RemoveProviderCommand.java
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/UpdateProviderCommand.java
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ProviderParameters.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
8 files changed, 163 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/48/10848/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandsFactory.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandsFactory.java
index 83322dc..ca04b02 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandsFactory.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandsFactory.java
@@ -31,7 +31,8 @@
             "org.ovirt.engine.core.bll.network.cluster",
             "org.ovirt.engine.core.bll.network.host",
             "org.ovirt.engine.core.bll.network.vm",
-            "org.ovirt.engine.core.bll.network.template" };
+            "org.ovirt.engine.core.bll.network.template",
+            "org.ovirt.engine.core.bll.provider" };
 
     private static ConcurrentMap<String, Class<CommandBase<? extends 
VdcActionParametersBase>>> commandsCache =
             new ConcurrentHashMap<String, Class<CommandBase<? extends 
VdcActionParametersBase>>>(VdcActionType.values().length);
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java
new file mode 100644
index 0000000..f3d6862
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java
@@ -0,0 +1,39 @@
+package org.ovirt.engine.core.bll.provider;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.ovirt.engine.core.bll.CommandBase;
+import org.ovirt.engine.core.bll.utils.PermissionSubject;
+import org.ovirt.engine.core.common.VdcObjectType;
+import org.ovirt.engine.core.common.action.ProviderParameters;
+import org.ovirt.engine.core.common.businessentities.ActionGroup;
+import org.ovirt.engine.core.compat.Guid;
+
+@SuppressWarnings("serial")
+public class AddProviderCommand<P extends ProviderParameters> extends 
CommandBase<P> {
+
+    public AddProviderCommand(Guid commandId) {
+        super(commandId);
+    }
+
+    public AddProviderCommand(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeCommand() {
+        getParameters().getProvider().setId(Guid.NewGuid());
+        
getDbFacade().getNetworkProviderDao().save(getParameters().getProvider());
+        
getReturnValue().setActionReturnValue(getParameters().getProvider().getId());
+        setSucceeded(true);
+    }
+
+    @Override
+    public List<PermissionSubject> getPermissionCheckSubjects() {
+        return Collections.singletonList(new PermissionSubject(Guid.SYSTEM,
+                VdcObjectType.System,
+                ActionGroup.CREATE_STORAGE_POOL));
+    }
+
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetAllProvidersQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetAllProvidersQuery.java
new file mode 100644
index 0000000..b781ccb
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/GetAllProvidersQuery.java
@@ -0,0 +1,16 @@
+package org.ovirt.engine.core.bll.provider;
+
+import org.ovirt.engine.core.bll.QueriesCommandBase;
+import org.ovirt.engine.core.common.queries.VdcQueryParametersBase;
+
+public class GetAllProvidersQuery<P extends VdcQueryParametersBase> extends 
QueriesCommandBase<P> {
+
+    public GetAllProvidersQuery(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+        setReturnValue(getDbFacade().getNetworkProviderDao().getAll());
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/RemoveProviderCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/RemoveProviderCommand.java
new file mode 100644
index 0000000..b09f745
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/RemoveProviderCommand.java
@@ -0,0 +1,36 @@
+package org.ovirt.engine.core.bll.provider;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.ovirt.engine.core.bll.CommandBase;
+import org.ovirt.engine.core.bll.utils.PermissionSubject;
+import org.ovirt.engine.core.common.VdcObjectType;
+import org.ovirt.engine.core.common.action.ProviderParameters;
+import org.ovirt.engine.core.common.businessentities.ActionGroup;
+import org.ovirt.engine.core.compat.Guid;
+
+@SuppressWarnings("serial")
+public class RemoveProviderCommand<P extends ProviderParameters> extends 
CommandBase<P> {
+
+    public RemoveProviderCommand(Guid commandId) {
+        super(commandId);
+    }
+
+    public RemoveProviderCommand(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeCommand() {
+        
getDbFacade().getNetworkProviderDao().remove(getParameters().getProvider().getId());
+        setSucceeded(true);
+    }
+
+    @Override
+    public List<PermissionSubject> getPermissionCheckSubjects() {
+        return Collections.singletonList(new PermissionSubject(Guid.SYSTEM,
+                VdcObjectType.System,
+                ActionGroup.CREATE_STORAGE_POOL));
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/UpdateProviderCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/UpdateProviderCommand.java
new file mode 100644
index 0000000..04f801c
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/UpdateProviderCommand.java
@@ -0,0 +1,36 @@
+package org.ovirt.engine.core.bll.provider;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.ovirt.engine.core.bll.CommandBase;
+import org.ovirt.engine.core.bll.utils.PermissionSubject;
+import org.ovirt.engine.core.common.VdcObjectType;
+import org.ovirt.engine.core.common.action.ProviderParameters;
+import org.ovirt.engine.core.common.businessentities.ActionGroup;
+import org.ovirt.engine.core.compat.Guid;
+
+@SuppressWarnings("serial")
+public class UpdateProviderCommand<P extends ProviderParameters> extends 
CommandBase<P> {
+
+    public UpdateProviderCommand(Guid commandId) {
+        super(commandId);
+    }
+
+    public UpdateProviderCommand(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeCommand() {
+        
getDbFacade().getNetworkProviderDao().update(getParameters().getProvider());
+        setSucceeded(true);
+    }
+
+    @Override
+    public List<PermissionSubject> getPermissionCheckSubjects() {
+        return Collections.singletonList(new PermissionSubject(Guid.SYSTEM,
+                VdcObjectType.System,
+                ActionGroup.CREATE_STORAGE_POOL));
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ProviderParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ProviderParameters.java
new file mode 100644
index 0000000..8755482
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/ProviderParameters.java
@@ -0,0 +1,25 @@
+package org.ovirt.engine.core.common.action;
+
+import org.ovirt.engine.core.common.businessentities.network.NetworkProvider;
+
+public class ProviderParameters extends VdcActionParametersBase {
+
+    private static final long serialVersionUID = 308877238353433739L;
+
+    private NetworkProvider provider;
+
+    public ProviderParameters() {
+    }
+
+    public ProviderParameters(NetworkProvider provider) {
+        this.provider = provider;
+    }
+
+    public NetworkProvider getProvider() {
+        return provider;
+    }
+
+    public void setProvider(NetworkProvider provider) {
+        this.provider = provider;
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java
index 5a144c8..f6cd337 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java
@@ -266,7 +266,12 @@
 
     // External events
     AddExternalEvent(1500, ActionGroup.INJECT_EXTERNAL_EVENTS, 
QuotaDependency.NONE),
-    RemoveExternalEvent(1501, ActionGroup.INJECT_EXTERNAL_EVENTS, 
QuotaDependency.NONE);
+    RemoveExternalEvent(1501, ActionGroup.INJECT_EXTERNAL_EVENTS, 
QuotaDependency.NONE),
+
+    // Providers
+    AddProvider(1600, QuotaDependency.NONE),
+    UpdateProvider(1601, QuotaDependency.NONE),
+    RemoveProvider(1602, QuotaDependency.NONE);
 
     private int intValue;
     private ActionGroup actionGroup;
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
index 5c18ced..ff69162 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
@@ -292,6 +292,9 @@
     GetGlusterVolumeAdvancedDetails,
     GetGlusterVolumeProfileInfo,
 
+    // Providers
+    GetAllProviders,
+
     // Default type instead of having to null check
     Unknown(VdcQueryAuthType.User);
 


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

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

Reply via email to