private void onDisableHook() { if (getConfirmWindow() == null) { return; } ConfirmationModel model = (ConfirmationModel) getConfirmWindow(); if (model.getProgress() != null) { return; } ArrayList<VdcActionParametersBase> list = new ArrayList<VdcActionParametersBase>(); for (Object item : getSelectedItems()) { GlusterHookEntity hook = (GlusterHookEntity) item; list.add(new GlusterHookParameters(hook.getId())); } model.startProgress(); Frontend.getInstance() .runMultipleAction( VdcActionType.DisableGlusterHook, list, new IFrontendMultipleActionAsyncCallback() { @Override public void executed(FrontendMultipleActionAsyncResult result) { ConfirmationModel localModel = (ConfirmationModel) result.getState(); localModel.stopProgress(); cancelConfirmation(); } }, model); }
private void updateActionAvailability() { boolean allowEnable = true; boolean allowDisable = true; boolean allowViewContent = true; boolean allowResolveConflict = true; if (getSelectedItems() == null || getSelectedItems().size() == 0) { allowEnable = false; allowDisable = false; allowViewContent = false; allowResolveConflict = false; } else { for (Object item : getSelectedItems()) { GlusterHookEntity hook = (GlusterHookEntity) item; if (hook.getStatus() == GlusterHookStatus.ENABLED) { allowEnable = false; } else if (hook.getStatus() == GlusterHookStatus.DISABLED) { allowDisable = false; } if (!allowEnable && !allowDisable) { break; } } allowViewContent = (getSelectedItems().size() == 1 && getSelectedItems().get(0).getContentType() == GlusterHookContentType.TEXT); allowResolveConflict = (getSelectedItems().size() == 1 && getSelectedItems().get(0).hasConflicts()); } getEnableHookCommand().setIsExecutionAllowed(allowEnable); getDisableHookCommand().setIsExecutionAllowed(allowDisable); getViewHookCommand().setIsExecutionAllowed(allowViewContent); getResolveConflictsCommand().setIsExecutionAllowed(allowResolveConflict); }
private void disableHook() { if (getWindow() != null) { return; } if (getSelectedItems() == null || getSelectedItems().size() == 0) { return; } ConfirmationModel model = new ConfirmationModel(); setConfirmWindow(model); model.setTitle(ConstantsManager.getInstance().getConstants().confirmDisableGlusterHooks()); model.setHelpTag(HelpTag.disable_hooks); model.setHashName("disable_hooks"); // $NON-NLS-1$ model.setMessage(ConstantsManager.getInstance().getConstants().disableGlusterHooksMessage()); ArrayList<String> list = new ArrayList<String>(); for (GlusterHookEntity hook : getSelectedItems()) { list.add(hook.getName()); } model.setItems(list); UICommand okCommand = UICommand.createDefaultOkUiCommand("OnDisableHook", this); // $NON-NLS-1$ model.getCommands().add(okCommand); UICommand cancelCommand = UICommand.createCancelUiCommand("OnCancelConfirmation", this); // $NON-NLS-1$ model.getCommands().add(cancelCommand); }
private void viewHook() { if (getWindow() != null) { return; } GlusterHookEntity hookEntity = getSelectedItem(); if (hookEntity == null) { return; } GlusterHookContentModel contentModel = new GlusterHookContentModel(); contentModel.setTitle( ConstantsManager.getInstance().getConstants().viewContentGlusterHookTitle()); contentModel.setHelpTag(HelpTag.view_gluster_hook); contentModel.setHashName("view_gluster_hook"); // $NON-NLS-1$ setWindow(contentModel); contentModel.startProgress(); AsyncDataProvider.getInstance() .getGlusterHookContent( new AsyncQuery( contentModel, new INewAsyncCallback() { @Override public void onSuccess(Object model, Object returnValue) { String content = (String) returnValue; GlusterHookContentModel localModel = (GlusterHookContentModel) model; localModel.getContent().setEntity(content); if (content == null) { localModel.getContent().setIsAvailable(false); localModel.setMessage( ConstantsManager.getInstance() .getConstants() .viewContentErrorGlusterHook()); } else if (content.length() == 0) { localModel.getContent().setIsAvailable(false); localModel.setMessage( ConstantsManager.getInstance() .getConstants() .viewContentEmptyGlusterHook()); } localModel.stopProgress(); } }), hookEntity.getId(), null); UICommand command = new UICommand("Cancel", this); // $NON-NLS-1$ command.setTitle(ConstantsManager.getInstance().getConstants().close()); command.setIsCancel(true); contentModel.getCommands().add(command); }
private void enableHook() { if (getEntity() == null || getSelectedItems() == null || getSelectedItems().size() == 0) { return; } ArrayList<VdcActionParametersBase> list = new ArrayList<VdcActionParametersBase>(); for (GlusterHookEntity hook : getSelectedItems()) { list.add(new GlusterHookParameters(hook.getId())); } Frontend.getInstance().runMultipleAction(VdcActionType.EnableGlusterHook, list, null, null); }
@Override public ImageResource getValue(GlusterHookEntity hookEntity) { if (hookEntity.hasConflicts()) { return resources.alertImage(); } return null; }
private void onResolveConflicts() { final GlusterHookResolveConflictsModel resolveConflictsModel = (GlusterHookResolveConflictsModel) getWindow(); if (resolveConflictsModel == null) { return; } if (!resolveConflictsModel.isAnyResolveActionSelected()) { resolveConflictsModel.setMessage( ConstantsManager.getInstance().getConstants().noResolveActionSelectedGlusterHook()); return; } resolveConflictsModel.startProgress(); GlusterHookEntity hookEntity = resolveConflictsModel.getGlusterHookEntity(); ArrayList<VdcActionType> actionTypes = new ArrayList<VdcActionType>(); ArrayList<VdcActionParametersBase> parameters = new ArrayList<VdcActionParametersBase>(); ArrayList<IFrontendActionAsyncCallback> callbacks = new ArrayList<IFrontendActionAsyncCallback>(); if (resolveConflictsModel.getResolveContentConflict().getEntity()) { actionTypes.add(VdcActionType.UpdateGlusterHook); GlusterServerHook serverHook = resolveConflictsModel.getServerHooksList().getSelectedItem(); Guid serverId = (serverHook == null) ? null : serverHook.getServerId(); parameters.add(new GlusterHookManageParameters(hookEntity.getId(), serverId)); IFrontendActionAsyncCallback callback = new IFrontendActionAsyncCallback() { @Override public void executed(FrontendActionAsyncResult result) { if (result.getReturnValue().getSucceeded()) { resolveConflictsModel.getResolveContentConflict().setEntity(Boolean.FALSE); resolveConflictsModel.getResolveContentConflict().setIsChangeable(Boolean.FALSE); } } }; callbacks.add(callback); } if (resolveConflictsModel.getResolveStatusConflict().getEntity()) { boolean isEnable = resolveConflictsModel.getResolveStatusConflictEnable().getEntity(); actionTypes.add( isEnable ? VdcActionType.EnableGlusterHook : VdcActionType.DisableGlusterHook); parameters.add(new GlusterHookParameters(hookEntity.getId())); IFrontendActionAsyncCallback callback = new IFrontendActionAsyncCallback() { @Override public void executed(FrontendActionAsyncResult result) { if (result.getReturnValue().getSucceeded()) { resolveConflictsModel.getResolveStatusConflict().setEntity(Boolean.FALSE); resolveConflictsModel.getResolveStatusConflict().setIsChangeable(Boolean.FALSE); } } }; callbacks.add(callback); } if (resolveConflictsModel.getResolveMissingConflict().getEntity()) { boolean isAdd = resolveConflictsModel.getResolveMissingConflictCopy().getEntity(); actionTypes.add(isAdd ? VdcActionType.AddGlusterHook : VdcActionType.RemoveGlusterHook); parameters.add(new GlusterHookManageParameters(hookEntity.getId())); IFrontendActionAsyncCallback callback = new IFrontendActionAsyncCallback() { @Override public void executed(FrontendActionAsyncResult result) { if (result.getReturnValue().getSucceeded()) { resolveConflictsModel.getResolveMissingConflict().setEntity(Boolean.FALSE); resolveConflictsModel.getResolveMissingConflict().setIsChangeable(Boolean.FALSE); } } }; callbacks.add(callback); } IFrontendActionAsyncCallback onFinishCallback = new IFrontendActionAsyncCallback() { @Override public void executed(FrontendActionAsyncResult result) { if (result.getReturnValue().getSucceeded()) { resolveConflictsModel.stopProgress(); cancel(); syncSearch(); } } }; IFrontendActionAsyncCallback failureCallback = new IFrontendActionAsyncCallback() { @Override public void executed(FrontendActionAsyncResult result) { resolveConflictsModel.stopProgress(); } }; // Replacing the last callback with onFinishCallback, as we just want to close the dialog and // execute the search if (callbacks.size() > 0) { callbacks.remove(callbacks.size() - 1); callbacks.add(onFinishCallback); Frontend.getInstance() .runMultipleActions(actionTypes, parameters, callbacks, failureCallback, null); } }
private void resolveConflicts() { if (getWindow() != null) { return; } final GlusterHookEntity hookEntity = getSelectedItem(); if (hookEntity == null) { return; } GlusterHookResolveConflictsModel conflictsModel = new GlusterHookResolveConflictsModel(); conflictsModel.setTitle( ConstantsManager.getInstance().getConstants().resolveConflictsGlusterHookTitle()); conflictsModel.setHelpTag(HelpTag.gluster_hook_resolve_conflicts); conflictsModel.setHashName("gluster_hook_resolve_conflicts"); // $NON-NLS-1$ hookEntity.setServerHooks(new ArrayList<GlusterServerHook>()); conflictsModel.setGlusterHookEntity(hookEntity); setWindow(conflictsModel); conflictsModel.startProgress(); AsyncDataProvider.getInstance() .getGlusterHook( new AsyncQuery( conflictsModel, new INewAsyncCallback() { @Override public void onSuccess(Object model, Object returnValue) { GlusterHookResolveConflictsModel innerConflictsModel = (GlusterHookResolveConflictsModel) model; List<GlusterServerHook> serverHooks = ((GlusterHookEntity) returnValue).getServerHooks(); hookEntity.setServerHooks(serverHooks); ArrayList<EntityModel<GlusterServerHook>> serverHookModels = new ArrayList<EntityModel<GlusterServerHook>>(); GlusterServerHook engineCopy = new GlusterServerHook(); engineCopy.setHookId(hookEntity.getId()); engineCopy.setServerName("Engine (Master)"); // $NON-NLS-1$ engineCopy.setStatus(hookEntity.getStatus()); engineCopy.setContentType(hookEntity.getContentType()); engineCopy.setChecksum(hookEntity.getChecksum()); EntityModel<GlusterServerHook> engineCopyModel = new EntityModel<GlusterServerHook>(engineCopy); serverHookModels.add(engineCopyModel); for (GlusterServerHook serverHook : serverHooks) { serverHookModels.add(new EntityModel<GlusterServerHook>(serverHook)); } innerConflictsModel.getHookSources().setItems(serverHookModels); innerConflictsModel.getHookSources().setSelectedItem(engineCopyModel); ArrayList<GlusterServerHook> serverHooksWithEngine = new ArrayList<GlusterServerHook>(serverHooks); serverHooksWithEngine.add(0, engineCopy); innerConflictsModel.getServerHooksList().setItems(serverHooksWithEngine); innerConflictsModel.getServerHooksList().setSelectedItem(engineCopy); innerConflictsModel.stopProgress(); UICommand command = UICommand.createDefaultOkUiCommand( "OnResolveConflicts", ClusterGlusterHookListModel.this); // $NON-NLS-1$ innerConflictsModel.getCommands().add(command); command = new UICommand("Cancel", ClusterGlusterHookListModel.this); // $NON-NLS-1$ command.setTitle(ConstantsManager.getInstance().getConstants().close()); command.setIsCancel(true); innerConflictsModel.getCommands().add(command); } }), hookEntity.getId(), true); }