Michael Kublin has uploaded a new change for review.

Change subject: engine: Improve of RecoveryStoragePool
......................................................................

engine: Improve of RecoveryStoragePool

The following is done:
1. Moved connect storage inside code of event call
2. Removed useless null pointer check (copy paste code)
3. Removed useless update of storage pool status. No reason to update it
   after finishing operation.
4. Removed useless constructor , if compensation = false, no reason for it

Change-Id: I0781e45b8ae76abe66fffcfad6654d27342a7c45
Signed-off-by: Michael Kublin <mkub...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RecoveryStoragePoolCommand.java
1 file changed, 22 insertions(+), 35 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/68/11868/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RecoveryStoragePoolCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RecoveryStoragePoolCommand.java
index ae47f6e..e49bd78 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RecoveryStoragePoolCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/RecoveryStoragePoolCommand.java
@@ -18,7 +18,6 @@
 import org.ovirt.engine.core.common.eventqueue.EventQueue;
 import org.ovirt.engine.core.common.eventqueue.EventResult;
 import org.ovirt.engine.core.common.eventqueue.EventType;
-import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.compat.NGuid;
 import org.ovirt.engine.core.dal.VdcBllMessages;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
@@ -28,15 +27,6 @@
 
 @NonTransactiveCommandAttribute
 public class RecoveryStoragePoolCommand extends 
ReconstructMasterDomainCommand<RecoveryStoragePoolParameters> {
-
-    /**
-     * Constructor for command creation when compensation is applied on startup
-     *
-     * @param commandId
-     */
-    protected RecoveryStoragePoolCommand(Guid commandId) {
-        super(commandId);
-    }
 
     public RecoveryStoragePoolCommand(RecoveryStoragePoolParameters 
parameters) {
         super(parameters);
@@ -87,17 +77,17 @@
 
     @Override
     protected void executeCommand() {
-        if 
(StorageHelperDirector.getInstance().getItem(getStorageDomain().getstorage_type())
-                .connectStorageToDomainByVdsId(getNewMaster(false), 
getVds().getId())) {
-            
getParameters().setStorageDomainId(getStorageDomainId().getValue());
 
-            ((EventQueue) EjbUtils.findBean(BeanType.EVENTQUEUE_MANAGER, 
BeanProxyType.LOCAL)).submitEventSync(new 
Event(getParameters().getStoragePoolId(),
-                    _newMasterStorageDomainId,
-                    null,
-                    EventType.RECOVERY),
-                    new Callable<EventResult>() {
-                        @Override
-                        public EventResult call() {
+        ((EventQueue) EjbUtils.findBean(BeanType.EVENTQUEUE_MANAGER, 
BeanProxyType.LOCAL)).submitEventSync(new 
Event(getParameters().getStoragePoolId(),
+                _newMasterStorageDomainId,
+                getVds().getId(),
+                EventType.RECOVERY),
+                new Callable<EventResult>() {
+                    @Override
+                    public EventResult call() {
+                        boolean isSucceeded = false;
+                        if 
(StorageHelperDirector.getInstance().getItem(getStorageDomain().getstorage_type())
+                                
.connectStorageToDomainByVdsId(getNewMaster(false), getVds().getId())) {
                             StoragePoolIsoMap domainPoolMap =
                                     new StoragePoolIsoMap(getParameters()
                                             .getNewMasterDomainId(),
@@ -108,27 +98,24 @@
                                     .save(domainPoolMap);
 
                             getParameters().setVdsId(getVds().getId());
+                            
getParameters().setStorageDomainId(getStorageDomainId().getValue());
                             VdcReturnValueBase returnVal = 
getBackend().runInternalAction(
                                     VdcActionType.ReconstructMasterDomain, 
getParameters());
 
-                            boolean succeeded = 
(returnVal.getActionReturnValue() != null) ?
-                                    (Boolean) returnVal.getActionReturnValue() 
: false;
-
-                            
getStoragePoolDAO().updateStatus(getStoragePool().getId(),
-                                    StoragePoolStatus.Problematic);
-
-                            if (!succeeded) {
+                            isSucceeded = returnVal.getSucceeded();
+                            if (!isSucceeded) {
                                 
getStoragePoolIsoMapDAO().remove(domainPoolMap.getId());
                             }
 
-                            setSucceeded(returnVal.getSucceeded());
-                            return new EventResult(succeeded, 
EventType.RECONSTRUCT);
+                            getReturnValue().setSucceeded(isSucceeded);
+                            getReturnValue().setFault(returnVal.getFault());
+                        } else {
+                            getReturnValue().setFault(new VdcFault(new 
VdcBLLException(VdcBllErrors.StorageServerConnectionError,
+                                    "Failed to connect storage"),
+                                    
VdcBllErrors.StorageServerConnectionError));
                         }
-                    });
-        } else {
-            getReturnValue().setFault(new VdcFault(new 
VdcBLLException(VdcBllErrors.StorageServerConnectionError,
-                    "Failed to connect storage"),
-                    VdcBllErrors.StorageServerConnectionError));
-        }
+                        return new EventResult(isSucceeded, 
EventType.RECONSTRUCT);
+                    }
+                });
     }
 }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0781e45b8ae76abe66fffcfad6654d27342a7c45
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Michael Kublin <mkub...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to