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); }