List of usage examples for com.google.gwt.user.client Window confirm
public static boolean confirm(String msg)
From source file:org.ebayopensource.turmeric.policy.adminui.client.presenter.policy.PolicyCreatePresenter.java
License:Open Source License
private void bindResourceSection() { this.view.addRsResourceLevelBoxChange(new ChangeHandler() { public void onChange(final ChangeEvent event) { display();/* ww w. ja va2 s .c o m*/ } }); // edit an assignment this.view.addRsEditButtonClick(new ClickHandler() { public void onClick(final ClickEvent event) { if (view.getResourceContentView().getSelections().size() != 1) { return; } view.getResourceContentView().getResourceLevelLabel().setVisible(false); view.getResourceContentView().getResourceLevelBox().setVisible(false); view.getResourceContentView().getResourceTypeLabel().setVisible(true); view.getResourceContentView().getResourceTypeBox().setVisible(true); view.getResourceContentView().getResourceNameLabel().setVisible(true); view.getResourceContentView().getResourceNameBox().setVisible(true); view.getResourceContentView().getSelectBoxesWidget().setVisible(true); // edit the existing assignment - set the available // SubjectTypes as only the one // in the assignment, and set the availables vs selected // Subjects and SubjectGroups // based on the assignment editResourceAssignment = view.getResourceContentView().getSelections().get(0); // remove the assignment from the list of assignments // while it is being edited resourceAssignments.remove(editResourceAssignment); // update the display view.getResourceContentView().setAssignments(resourceAssignments); // set the available resource types to just the type // being edited List<String> typeList = new ArrayList<String>(); typeList.add(editResourceAssignment.getResourceType()); view.getResourceContentView().setResourceTypes(typeList); // get all the resources of this type ResourceKey rsKey = new ResourceKey(); rsKey.setType(editResourceAssignment.getResourceType()); List<ResourceKey> rsKeys = new ArrayList<ResourceKey>(); rsKeys.add(rsKey); service.getResources(rsKeys, new AsyncCallback<GetResourcesResponse>() { public void onFailure(final Throwable arg) { if (arg.getLocalizedMessage().contains("500")) { view.error(PolicyAdminUIUtil.messages .serverError(PolicyAdminUIUtil.policyAdminConstants.genericErrorMessage())); } else { view.error(PolicyAdminUIUtil.messages.serverError(arg.getLocalizedMessage())); } } public void onSuccess(final GetResourcesResponse response) { List<Resource> resources = new ArrayList<Resource>(response.getResources()); view.getResourceContentView().setResourceNames(getResourceNames(resources)); int index = getResourceIndex(resources, editResourceAssignment.getResourceName()); view.getResourceContentView().getResourceNameBox().setSelectedIndex(index); view.getResourceContentView() .setSelectedOperations(getOperationNames(editResourceAssignment.getOpList())); List<Operation> operations = new ArrayList<Operation>(resources.get(index).getOpList()); operations.removeAll(editResourceAssignment.getOpList()); view.getResourceContentView().setAvailableOperations(getOperationNames(operations)); } }); view.getResourceContentView().show(); } }); view.addRsCancelResourceButtonClick(new ClickHandler() { public void onClick(final ClickEvent event) { if (editResourceAssignment != null) { resourceAssignments.add(editResourceAssignment); editResourceAssignment = null; view.getResourceContentView().setAssignments(resourceAssignments); view.getResourceContentView().hide(); // // fix the resource types + name key // .setasiigmentUnique resource // AvailableSubjectTypes(subjectTypes); return; } view.getResourceContentView().clearAssignmentWidget(); view.getResourceContentView().hide(); } }); // retrieve resource names based on selected type this.view.addRsResourceTypeBoxChange(new ChangeHandler() { public void onChange(final ChangeEvent event) { getRemainingResourceNames(); } }); // retrieve available operations based on selected name this.view.addRsResourceNameBoxClick(new ClickHandler() { public void onClick(final ClickEvent event) { getAvailableOperations(); } }); // assign a new rs to the policy this.view.addRsResourceButtonClick(new ClickHandler() { public void onClick(final ClickEvent event) { /* * Resources could be assigned at 3 levels GLOBAL: means * all resources and its operations apply RESOURCE: All * operations of the selected resource are included * OPERATION: The policy just apply to the specific * operation of the selected resources */ if (resourceAssignments == null) { resourceAssignments = new ArrayList<Resource>(); } final ResourceImpl assignment = new ResourceImpl(); if (ResourceLevel.RESOURCE.name().equals(view.getResourceContentView().getResourceLevel())) { assignment.setResourceName(view.getResourceContentView().getResourceName()); assignment.setResourceType(view.getResourceContentView().getResourceType()); List<Operation> operations = new ArrayList<Operation>(); for (String s : view.getResourceContentView().getAvailableOperations()) { OperationImpl op = new OperationImpl(); op.setOperationName(s); operations.add(op); } assignment.setOpList(operations); assignedUniqueResources.add(assignment.getResourceType() + assignment.getResourceName()); resourceAssignments.add(assignment); } else if (ResourceLevel.GLOBAL.name().equals(view.getResourceContentView().getResourceLevel())) { getAllResources(); resourceAssignments.clear(); resourceAssignments.addAll(allResources); assignedUniqueResources.clear(); for (Resource rs : allResources) { assignedUniqueResources.add(rs.getResourceType() + rs.getResourceName()); } } else { assignment.setResourceName(view.getResourceContentView().getResourceName()); assignment.setResourceType(view.getResourceContentView().getResourceType()); List<Operation> operations = new ArrayList<Operation>(); for (String s : view.getResourceContentView().getSelectedOperations()) { OperationImpl op = new OperationImpl(); op.setOperationName(s); operations.add(op); } assignment.setOpList(operations); assignedUniqueResources.add(assignment.getResourceType() + assignment.getResourceName()); resourceAssignments.add(assignment); } view.getResourceContentView().setAssignments(resourceAssignments); view.getResourceContentView().clearAssignmentWidget(); } }); // delete an assignment this.view.addRsDelButtonClick(new ClickHandler() { public void onClick(final ClickEvent event) { if (view.getResourceContentView().getSelections().size() == 0) { return; } else { if (Window.confirm(PolicyAdminUIUtil.policyAdminConstants.deleteSelected())) { for (Resource selectedAssignment : view.getResourceContentView().getSelections()) { resourceAssignments.remove(selectedAssignment); assignedUniqueResources.remove( selectedAssignment.getResourceType() + selectedAssignment.getResourceName()); } view.getResourceContentView().getSelections().clear(); view.getResourceContentView().setAssignments(resourceAssignments); view.getResourceContentView().getSelectionModel().clear(); } } } }); }
From source file:org.ebayopensource.turmeric.policy.adminui.client.presenter.policy.PolicySummaryPresenter.java
License:Open Source License
/** * Bind.// w w w.ja va 2s .c om */ public void bind() { // The user wants to search by subject group type + name this.view.addSubjectCriteriaButtonClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { view.setAvailableTypes(fetchSubjectTypes()); } }); // the user wants to search by policy type and name this.view.addPolicyCriteriaButtonClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { view.setAvailableTypes(fetchPolicyTypes()); } }); // the user wants to search by resource type this.view.addResourceCriteriaButtonClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { view.setAvailableTypes(fetchResourceTypes()); } }); // the user wants to search by resource type this.view.addAvailableTypesBoxChangeHandler(new ChangeHandler() { public void onChange(ChangeEvent event) { if (view.isResourceCriteriaEnabled()) { if (view.getSelectedType() != null && !"".equals(view.getSelectedResource())) { fetchResourcesByType(view.getSelectedType()); } } if (view.isPolicyCriteriaEnabled()) { if (view.getSelectedType() != null && "RL".equals(view.getSelectedType())) { view.setRLEffectBoxVisible(true); view.setRLEffectLabelVisible(true); } else { view.setRLEffectBoxVisible(false); view.setRLEffectLabelVisible(false); } } } }); // the user wants to search by rs name this.view.addResourceNameBoxChangeHandler(new ChangeHandler() { public void onChange(ChangeEvent event) { if (view.getSelectedType() != null && !"".equals(view.getSelectedResource())) { getOperationNamesByRs(view.getSelectedResource()); PolicySummaryPresenter.this.view.setOperationNames(); } } }); // the user wants to search by SubjectGroup type and name this.view.addSubjectGroupCriteriaButtonClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { view.setAvailableTypes(fetchSubjectTypes()); } }); this.view.addSearchButtonClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { if (PolicySummaryPresenter.this.view.isPolicyCriteriaEnabled()) { fetchPolicyTypes(); fetchPoliciesByName(PolicySummaryPresenter.this.view.getSearchTerm(), PolicySummaryPresenter.this.view.getSelectedType(), PolicySummaryPresenter.this.view.getSelectedEffect()); } else if (PolicySummaryPresenter.this.view.isResourceCriteriaEnabled()) { fetchPoliciesByResource(PolicySummaryPresenter.this.view.getSelectedType(), PolicySummaryPresenter.this.view.getSelectedResource(), PolicySummaryPresenter.this.view.getSelectedOperation()); } else if (PolicySummaryPresenter.this.view.isSubjectCriteriaEnabled()) { fetchPoliciesBySubject(PolicySummaryPresenter.this.view.getSearchTerm(), PolicySummaryPresenter.this.view.getSelectedType()); } else if (PolicySummaryPresenter.this.view.isSubjectGroupCriteriaEnabled()) { fetchPoliciesBySubjectGroupName(PolicySummaryPresenter.this.view.getSearchTerm(), PolicySummaryPresenter.this.view.getSelectedType()); } else { PolicySummaryPresenter.this.view .error(PolicyAdminUIUtil.policyAdminConstants.searchCriteriaInvalid()); } // fetchPolicies(view.isSearchCriteriaEnabled(), // view.getSelectedType(), view.getSearchTerm()); // setPolicies(); } }); this.view.addActionButtonAboveClickHandler(new ClickHandler() { /* * (non-Javadoc) * * @see * com.google.gwt.event.dom.client.ClickHandler#onClick(com.google * .gwt.event.dom.client.ClickEvent) */ public void onClick(ClickEvent event) { Map<GenericPolicy, UserAction> pending = view.getPendingActions(); if (pending.isEmpty()) { return; } // Things that can be pending: // 1. editing/viewing a SINGLE policy // or // 2. deleting multiple policies // or // 3. enabling/disabling multiple policies // 4. export. must be in bulk if (!pending.isEmpty()) { UserAction action = null; // all action should be same for (Map.Entry<GenericPolicy, UserAction> entry : pending.entrySet()) { action = entry.getValue(); break; } if (action == null) { return; } else { switch (action) { case POLICY_VIEW: { GWT.log("VIEW POLICY:"); for (Map.Entry<GenericPolicy, UserAction> entry : pending.entrySet()) { HistoryToken token = makeToken(PolicyController.PRESENTER_ID, PolicyViewPresenter.PRESENTER_ID, null); token.addValue(HistoryToken.SELECTED_POLICY_TOKEN_ID, String.valueOf(entry.getKey().getId())); token.addValue(HistoryToken.SELECTED_POLICY_TOKEN_TYPE, String.valueOf(entry.getKey().getType())); History.newItem(token.toString(), true); } break; } case POLICY_EDIT: { GWT.log("EDIT POLICY:"); for (Map.Entry<GenericPolicy, UserAction> entry : pending.entrySet()) { String policyType = String.valueOf(entry.getKey().getType()); String subPresenter = null; if ("BLACKLIST".equals(policyType)) { subPresenter = BLPolicyEditPresenter.PRESENTER_ID; } else if ("WHITELIST".equals(policyType)) { subPresenter = WLPolicyEditPresenter.PRESENTER_ID; } else if ("AUTHZ".equals(policyType)) { subPresenter = AUTHZPolicyEditPresenter.PRESENTER_ID; } else if ("RL".equals(policyType)) { subPresenter = RLPolicyEditPresenter.PRESENTER_ID; } HistoryToken token = makeToken(PolicyController.PRESENTER_ID, subPresenter, null); token.addValue(HistoryToken.SELECTED_POLICY_TOKEN_ID, String.valueOf(entry.getKey().getId())); token.addValue(HistoryToken.SELECTED_POLICY_TOKEN_TYPE, String.valueOf(entry.getKey().getType())); if ((entry.getKey().getEnabled() && permissions.get(entry.getKey()).contains(UserAction.POLICY_DISABLE) || (!entry.getKey().getEnabled() && permissions.get(entry.getKey()) .contains(UserAction.POLICY_ENABLE)))) { token.addValue(HistoryToken.POLICY_STATUS_EDITABLE, "true"); } else { token.addValue(HistoryToken.POLICY_STATUS_EDITABLE, "false"); } History.newItem(token.toString(), true); } break; } case POLICY_ENABLE: { for (Map.Entry<GenericPolicy, UserAction> entry : pending.entrySet()) { final GenericPolicy p = entry.getKey(); final PolicyKey key = new PolicyKey(); key.setId(entry.getKey().getId()); key.setName(entry.getKey().getName()); key.setType(entry.getKey().getType()); GWT.log("Updating status for :" + entry.getKey().getType() + " - " + entry.getKey().getName()); service.enablePolicy(key, new AsyncCallback<EnablePolicyResponse>() { public void onFailure(Throwable arg) { if (arg.getLocalizedMessage().contains("500")) { view.error(PolicyAdminUIUtil.messages.serverError( PolicyAdminUIUtil.policyAdminConstants.genericErrorMessage())); } else { view.error(PolicyAdminUIUtil.messages .serverError(arg.getLocalizedMessage())); } GWT.log("ERROR - Enabling fails"); } public void onSuccess(EnablePolicyResponse result) { ((GenericPolicyImpl) p).setEnabled(true); view.setPolicies(policies); } }); } break; } case POLICY_DISABLE: { for (Map.Entry<GenericPolicy, UserAction> entry : pending.entrySet()) { final GenericPolicy p = entry.getKey(); final PolicyKey key = new PolicyKey(); key.setId(entry.getKey().getId()); key.setName(entry.getKey().getName()); key.setType(entry.getKey().getType()); GWT.log("Updating status for :" + entry.getKey().getType() + " - " + entry.getKey().getName()); service.disablePolicy(key, new AsyncCallback<DisablePolicyResponse>() { public void onFailure(Throwable arg) { if (arg.getLocalizedMessage().contains("500")) { view.error(PolicyAdminUIUtil.messages.serverError( PolicyAdminUIUtil.policyAdminConstants.genericErrorMessage())); } else { view.error(PolicyAdminUIUtil.messages .serverError(arg.getLocalizedMessage())); } } public void onSuccess(DisablePolicyResponse result) { ((GenericPolicyImpl) p).setEnabled(false); view.setPolicies(policies); } }); } break; } case POLICY_DELETE: { if (Window.confirm(PolicyAdminUIUtil.policyAdminConstants.deleteSelected())) { for (Map.Entry<GenericPolicy, UserAction> entry : pending.entrySet()) { final PolicyKey key = new PolicyKey(); key.setType(entry.getKey().getType()); key.setName(entry.getKey().getName()); key.setId(entry.getKey().getId()); service.deletePolicy(key, new AsyncCallback<DeletePolicyResponse>() { public void onSuccess(DeletePolicyResponse result) { ((Button) view.getSearchButton()).click(); } public void onFailure(Throwable arg) { if (arg.getLocalizedMessage().contains("500")) { view.error(PolicyAdminUIUtil.messages .serverError(PolicyAdminUIUtil.policyAdminConstants .genericErrorMessage())); } else { view.error(PolicyAdminUIUtil.messages .serverError(arg.getLocalizedMessage())); } } }); } } break; } case POLICY_EXPORT: { GWT.log("EXPORT POLICY:"); StringBuffer downloadUrl = new StringBuffer(); downloadUrl.append("/xprtPlc/policy?"); int i = 0; for (Map.Entry<GenericPolicy, UserAction> entry : pending.entrySet()) { downloadUrl.append(entry.getKey().getId() + "&"); i++; if (i == pending.entrySet().size()) { // all entries are same type downloadUrl.append(entry.getKey().getType() + "&"); // user & pass AppUser user = AppUser.getUser(); downloadUrl.append(user.getUsername() + "&"); downloadUrl.append(user.getPassword()); } } Window.open(downloadUrl.toString(), "_blank", ""); break; } } } } } }); }
From source file:org.ebayopensource.turmeric.policy.adminui.client.presenter.policy.SubjectGroupCreatePresenter.java
License:Open Source License
/** * Bind./* w ww .j ava 2s. co m*/ */ public void bind() { this.view.getSearchButton().addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { // a search term has been entered SubjectGroupCreatePresenter.this.view.getSearchTerm(); // get the Subject Type SubjectGroupCreatePresenter.this.view.getSubjectType(); // do a lookup of all the matching Subjects service = (PolicyQueryService) serviceMap.get(SupportedService.POLICY_QUERY_SERVICE); SubjectKey key = new SubjectKey(); final String searchTerm = SubjectGroupCreatePresenter.this.view.getSearchTerm(); if (searchTerm != null && !searchTerm.trim().equals("")) { key.setName(searchTerm); } key.setType(SubjectGroupCreatePresenter.this.view.getSubjectType()); final SubjectQuery query = new SubjectQuery(); query.setSubjectKeys(Collections.singletonList(key)); if ("USER".equals(key.getType())) { service.findExternalSubjects(query, new AsyncCallback<FindExternalSubjectsResponse>() { public void onFailure(Throwable arg) { if (arg.getLocalizedMessage().contains("500")) { view.error(PolicyAdminUIUtil.messages .serverError(PolicyAdminUIUtil.policyAdminConstants.genericErrorMessage())); } else { view.error(PolicyAdminUIUtil.messages.serverError(arg.getLocalizedMessage())); } } public void onSuccess(FindExternalSubjectsResponse response) { List<Subject> subjects = response.getSubjects(); List<String> names = new ArrayList<String>(); if (subjects != null && subjects.size() > 0) { for (Subject s : subjects) names.add(s.getName()); } else { view.info(PolicyAdminUIUtil.policyAdminConstants.noItemFoundMessage()); } view.setAvailableSubjects(names); } }); } else { service.findSubjects(query, new AsyncCallback<FindSubjectsResponse>() { @Override public void onFailure(Throwable arg) { if (arg.getLocalizedMessage().contains("500")) { view.error(PolicyAdminUIUtil.messages .serverError(PolicyAdminUIUtil.policyAdminConstants.genericErrorMessage())); } else { view.error(PolicyAdminUIUtil.messages.serverError(arg.getLocalizedMessage())); } } @Override public void onSuccess(FindSubjectsResponse response) { List<Subject> subjects = response.getSubjects(); List<String> names = new ArrayList<String>(); if (subjects != null && subjects.size() > 0) { for (Subject s : subjects) { names.add(s.getName()); } } else { final String newSubjectName = query.getSubjectKeys().get(0).getName(); final String newSubjectType = query.getSubjectKeys().get(0).getType(); if (newSubjectName != null && !newSubjectName.endsWith("%")) { //create a new one if (Window.confirm( PolicyAdminUIUtil.policyAdminConstants.createInternalSubjects())) { createInternalSubject(newSubjectName, newSubjectType); names.add(newSubjectName); } } else { // not found and do not create it view.info(PolicyAdminUIUtil.policyAdminConstants.noItemFoundMessage()); } } view.setAvailableSubjects(names); } }); } } }); this.view.getCreateButton().addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { // Verify that the group has a name, and at least one subject String name = SubjectGroupCreatePresenter.this.view.getName(); if (name == null || name.length() == 0) { SubjectGroupCreatePresenter.this.view .error(PolicyAdminUIUtil.policyAdminMessages.nameFieldMessage()); return; } String description = SubjectGroupCreatePresenter.this.view.getDescription(); List<String> subjectNames = SubjectGroupCreatePresenter.this.view.getSelectedSubjects(); if (subjectNames == null || subjectNames.isEmpty()) { SubjectGroupCreatePresenter.this.view .error(PolicyAdminUIUtil.policyAdminMessages.minimumSubjectsMessage()); return; } if ("USER".equals(view.getSubjectType())) { // external subjects todays are only USER types List<Subject> subjects = new ArrayList<Subject>(); for (String sbName : subjectNames) { SubjectImpl subject = new SubjectImpl(); subject.setType("USER"); subject.setName(sbName); subjects.add(subject); } createExternalAsInternalSubject(subjects); } // user wants to create the Subject Group // 1. send the new Subject Group to the server // 2. when server acknowledges creation, use the history // mechanism to move back to the Subject Group Summary service = (PolicyQueryService) serviceMap.get(SupportedService.POLICY_QUERY_SERVICE); final SubjectGroupImpl group = new SubjectGroupImpl(); group.setName(name); group.setDescription(description); group.setType(SubjectGroupCreatePresenter.this.view.getSubjectType()); group.setSubjects(subjectNames); group.setGroupCalculator( SubjectGroupCreatePresenter.this.view.getSelectedSubjectGroupCalculatorName()); /** * This timer is needed due to GWT has only one thread, so * Thread.sleep is not a valid option The purpose of sleeping * time is wait until new external subject been created into * turmeric db, in order to assign them as internal subjects */ Timer timer = new Timer() { public void run() { service.createSubjectGroups(Collections.singletonList((SubjectGroup) group), new AsyncCallback<CreateSubjectGroupsResponse>() { @Override public void onFailure(Throwable arg) { if (arg.getLocalizedMessage().contains("500")) { view.error(PolicyAdminUIUtil.messages.serverError( PolicyAdminUIUtil.policyAdminConstants.genericErrorMessage())); } else { view.error(PolicyAdminUIUtil.messages .serverError(arg.getLocalizedMessage())); } } @Override public void onSuccess(CreateSubjectGroupsResponse arg0) { Map<String, String> prefill = new HashMap<String, String>(); prefill.put(HistoryToken.SRCH_SUBJECT_GROUP_TYPE, SubjectGroupCreatePresenter.this.view.getSubjectType()); prefill.put(HistoryToken.SRCH_SUBJECT_GROUP_NAME, SubjectGroupCreatePresenter.this.view.getName()); HistoryToken token = makeToken(PolicyController.PRESENTER_ID, SubjectGroupSummaryPresenter.PRESENTER_ID, prefill); History.newItem(token.toString(), true); } }); view.getCreateButton().setEnabled(true); } }; if ("USER".equals(view.getSubjectType())) { view.getCreateButton().setEnabled(false); timer.schedule(3000); } else { timer.schedule(1); } } }); this.view.getCancelButton().addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { // Just go back to the summary HistoryToken token = makeToken(PolicyController.PRESENTER_ID, SubjectGroupSummaryPresenter.PRESENTER_ID, null); History.newItem(token.toString(), true); } }); }
From source file:org.ebayopensource.turmeric.policy.adminui.client.presenter.policy.SubjectGroupEditPresenter.java
License:Open Source License
/** * Bind./*from www . j a va2 s .c o m*/ */ public void bind() { this.view.getSearchButton().addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { // do a lookup of all the matching Subjects // Get the available subjects of that type final SubjectQuery subjectQuery = new SubjectQuery(); SubjectKey key = new SubjectKey(); String subName = view.getSearchTerm(); if (subName != null && !subName.trim().equals("")) key.setName(subName); key.setType(originalGroup.getType()); subjectQuery.setSubjectKeys(Collections.singletonList(key)); if ("USER".equals(key.getType())) { service.findExternalSubjects(subjectQuery, new AsyncCallback<FindExternalSubjectsResponse>() { public void onFailure(Throwable arg) { if (arg.getLocalizedMessage().contains("500")) { view.error(PolicyAdminUIUtil.messages .serverError(PolicyAdminUIUtil.policyAdminConstants.genericErrorMessage())); } else { view.error(PolicyAdminUIUtil.messages.serverError(arg.getLocalizedMessage())); } } public void onSuccess(FindExternalSubjectsResponse response) { List<Subject> subjects = response.getSubjects(); List<String> names = new ArrayList<String>(); if (subjects != null && subjects.size() > 0) { for (Subject s : subjects) names.add(s.getName()); } else { view.info(PolicyAdminUIUtil.policyAdminConstants.noItemFoundMessage()); } if (originalGroup.getSubjects() != null) { names.removeAll(originalGroup.getSubjects()); } view.setAvailableSubjects(names); } }); } else { service.findSubjects(subjectQuery, new AsyncCallback<FindSubjectsResponse>() { public void onFailure(Throwable arg) { if (arg.getLocalizedMessage().contains("500")) { view.error(PolicyAdminUIUtil.messages .serverError(PolicyAdminUIUtil.policyAdminConstants.genericErrorMessage())); } else { view.error(PolicyAdminUIUtil.messages.serverError(arg.getLocalizedMessage())); } } public void onSuccess(FindSubjectsResponse response) { List<Subject> subjects = response.getSubjects(); List<String> names = new ArrayList<String>(); if (subjects != null && subjects.size() > 0) { for (Subject s : subjects) { names.add(s.getName()); } } else { final String newSubjectName = subjectQuery.getSubjectKeys().get(0).getName(); final String newSubjectType = subjectQuery.getSubjectKeys().get(0).getType(); if (newSubjectName != null && !newSubjectName.endsWith("%")) {//creates new one if (Window.confirm( PolicyAdminUIUtil.policyAdminConstants.createInternalSubjects())) { createInternalSubject(newSubjectName, newSubjectType); names.add(newSubjectName); } } else { // not found and do not create it view.info(PolicyAdminUIUtil.policyAdminConstants.noItemFoundMessage()); } } if (originalGroup.getSubjects() != null) { names.removeAll(originalGroup.getSubjects()); } view.setAvailableSubjects(names); } }); } } }); this.view.getApplyButton().addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { List<String> subjects = SubjectGroupEditPresenter.this.view.getSelectedSubjects(); if (subjects == null || subjects.isEmpty()) { SubjectGroupEditPresenter.this.view .error(PolicyAdminUIUtil.policyAdminMessages.minimumSubjectsMessage()); return; } final SubjectGroupImpl editedGroup = new SubjectGroupImpl(originalGroup); editedGroup.setName(view.getName()); editedGroup.setDescription(view.getDescription()); editedGroup.setSubjects(view.getSelectedSubjects()); editedGroup.setGroupCalculator(view.getGroupCalculator()); if ("USER".equals(originalGroup.getType())) { // external subjects todays are only USER types List<Subject> externalSubjects = new ArrayList<Subject>(); for (String sb : view.getSelectedSubjects()) { SubjectImpl subject = new SubjectImpl(); subject.setType("USER"); subject.setName(sb); externalSubjects.add(subject); } createInternalSubject(externalSubjects); } /** * This timer is needed due to GWT has only one thread, so * Thread.sleep is not a valid option The purpose of sleeping * time is wait until new external subject been created into * turmeric db, in order to assign them as internal subjects */ Timer timer = new Timer() { public void run() { service.updateSubjectGroups(Collections.singletonList((SubjectGroup) editedGroup), UpdateMode.REPLACE, new AsyncCallback<UpdateSubjectGroupsResponse>() { public void onFailure(final Throwable arg) { if (arg.getLocalizedMessage().contains("500")) { view.error(PolicyAdminUIUtil.messages.serverError( PolicyAdminUIUtil.policyAdminConstants.genericErrorMessage())); } else { view.error(PolicyAdminUIUtil.messages .serverError(arg.getLocalizedMessage())); } } public void onSuccess(final UpdateSubjectGroupsResponse response) { // copy changes from the editedGroup // back to the group ((SubjectGroupImpl) originalGroup).setName(view.getName()); ((SubjectGroupImpl) originalGroup).setDescription(view.getDescription()); ((SubjectGroupImpl) originalGroup).setSubjects(view.getSelectedSubjects()); view.clear(); HistoryToken token = makeToken(PolicyController.PRESENTER_ID, SubjectGroupSummaryPresenter.PRESENTER_ID, null); token.addValue(HistoryToken.SRCH_SUBJECT_GROUP_TYPE, originalGroup.getType()); token.addValue(HistoryToken.SRCH_SUBJECT_GROUP_NAME, originalGroup.getName()); History.newItem(token.toString(), true); } }); view.getApplyButton().setEnabled(true); } }; if ("USER".equals(originalGroup.getType())) { view.getApplyButton().setEnabled(false); timer.schedule(3000); } else { timer.schedule(1); } } }); this.view.getCancelButton().addClickHandler(new ClickHandler() { public void onClick(final ClickEvent event) { view.clear(); // Just go back to the summary HistoryToken token = makeToken(PolicyController.PRESENTER_ID, SubjectGroupSummaryPresenter.PRESENTER_ID, null); History.newItem(token.toString(), true); } }); }
From source file:org.ebayopensource.turmeric.policy.adminui.client.presenter.policy.SubjectGroupSummaryPresenter.java
License:Open Source License
/** * Bind./* w w w .j ava 2 s .c o m*/ */ public void bind() { // The user wants to search by subject group type + name this.view.getSubjectCriteriaButton().addClickHandler(new ClickHandler() { public void onClick(final ClickEvent event) { view.setAvailableTypes(fetchSubjectTypes()); view.setSelectedSearchTerm(""); } }); // the user wants to search by policy type and name this.view.getPolicyCriteriaButton().addClickHandler(new ClickHandler() { public void onClick(final ClickEvent event) { view.setAvailableTypes(fetchPolicyTypes()); view.setSelectedSearchTerm(""); } }); this.view.getSearchButton().addClickHandler(new ClickHandler() { public void onClick(final ClickEvent event) { fetchGroups(view.isSubjectCriteriaEnabled(), view.getSelectedType(), view.getSearchTerm()); } }); this.view.getActionButton().addClickHandler(new ClickHandler() { public void onClick(final ClickEvent event) { Map<SubjectGroup, UserAction> pending = view.getPendingActions(); if (pending == null) { return; } if (pending.size() == 0) { return; } // all user actions have to be the same, so pick the first one SubjectGroup group = pending.keySet().iterator().next(); UserAction action = pending.get(group); HistoryToken token; switch (action) { case SUBJECT_GROUP_VIEW: token = makeToken(PolicyController.PRESENTER_ID, SubjectGroupViewPresenter.PRESENTER_ID, null); token.addValue(HistoryToken.SELECTED_SUBJECT_GROUP_TOKEN, group.getName()); token.addValue(HistoryToken.SELECTED_SUBJECT_GROUP_TYPE_TOKEN, group.getType().toString()); History.newItem(token.toString(), true); break; case SUBJECT_GROUP_EDIT: token = makeToken(PolicyController.PRESENTER_ID, SubjectGroupEditPresenter.PRESENTER_ID, null); token.addValue(HistoryToken.SELECTED_SUBJECT_GROUP_TOKEN, group.getName()); token.addValue(HistoryToken.SELECTED_SUBJECT_GROUP_TYPE_TOKEN, group.getType().toString()); History.newItem(token.toString(), true); break; case SUBJECT_GROUP_DELETE: if (Window.confirm(PolicyAdminUIUtil.policyAdminConstants.deleteSelected())) { final List<SubjectGroupKey> keys = new ArrayList<SubjectGroupKey>(); Iterator<SubjectGroup> itor = pending.keySet().iterator(); SubjectGroup groupError = null; while (itor.hasNext() && groupError == null) { SubjectGroup sg = itor.next(); if (sg.getPolicies() != null && sg.getPolicies().size() > 0) { groupError = sg; } else { SubjectGroupKey key = new SubjectGroupKey(); key.setType(sg.getType()); key.setName(sg.getName()); key.setId(sg.getId()); keys.add(key); } } if (groupError != null) { view.error(PolicyAdminUIUtil.policyAdminConstants.deleteSubjetGroupInvalid()); } else { service.deleteSubjectGroups(keys, new AsyncCallback<DeleteSubjectGroupResponse>() { public void onSuccess(final DeleteSubjectGroupResponse result) { // fetchGroups(view.isSearchCriteriaEnabled(), // view.getSelectedType(), // view.getSearchTerm()); removeGroups(groups, keys); view.setGroups(groups); } public void onFailure(final Throwable arg) { if (arg.getLocalizedMessage().contains("500")) { view.error(PolicyAdminUIUtil.messages.serverError( PolicyAdminUIUtil.policyAdminConstants.genericErrorMessage())); } else { view.error( PolicyAdminUIUtil.messages.serverError(arg.getLocalizedMessage())); } } }); } } break; case SUBJECT_GROUP_EXPORT: GWT.log("EXPORT SG:"); StringBuffer downloadUrl = new StringBuffer(); downloadUrl.append("/xprtPlc/sg?"); int i = 0; for (Entry<SubjectGroup, UserAction> entry : pending.entrySet()) { downloadUrl.append(entry.getKey().getId() + "&"); i++; if (i == pending.entrySet().size()) { // all entries are same type downloadUrl.append(entry.getKey().getType() + "&"); // user & pass AppUser user = AppUser.getUser(); downloadUrl.append(user.getUsername() + "&"); downloadUrl.append(user.getPassword()); } } Window.open(downloadUrl.toString(), "_blank", ""); break; default: break; } } }); }
From source file:org.ebayopensource.turmeric.policy.adminui.client.view.common.FileUploaderWidget.java
License:Open Source License
/** * Gets the file uploader widget.//from w ww . ja va 2 s . c o m * * @param form * the form * @param entity * the entity * @return the file uploader widget */ public static Widget getFileUploaderWidget(final FormPanel form, final String entity) { VerticalPanel holder = new VerticalPanel(); final FileUpload fu = new FileUpload(); fu.setName("upload"); holder.add(fu); holder.add(new Button(PolicyAdminUIUtil.policyAdminConstants.importAction(), new ClickHandler() { public void onClick(ClickEvent event) { if (!fu.getFilename().isEmpty() && Window.confirm(PolicyAdminUIUtil.policyAdminConstants.importAction() + " " + entity + PolicyAdminUIUtil.policyAdminConstants.from() + " " + fu.getFilename() + "?")) { form.submit(); } } })); form.addSubmitHandler(new FormPanel.SubmitHandler() { public void onSubmit(SubmitEvent event) { } }); form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { int indexFrom = event.getResults().indexOf("<pre>") + 5; int indexTo = event.getResults().indexOf("</pre>"); if (indexTo - indexFrom > 1) { Window.alert(event.getResults().substring(indexFrom, indexTo)); } else { Window.alert(PolicyAdminUIUtil.policyAdminMessages.successfulOperationMessage()); } } }); form.add(holder); return form; }
From source file:org.eclipse.che.ide.ext.datasource.client.ssl.SslKeyStoreManagerPresenter.java
License:Open Source License
/** {@inheritDoc} */ @Override//from w w w . ja v a2 s . co m public void onClientKeyDeleteClicked(@NotNull SslKeyStoreEntry key) { boolean needToDelete = Window.confirm(constant.deleteSslKeyQuestion(key.getAlias())); if (needToDelete) { service.deleteClientKey(key, new AsyncRequestCallback<Void>() { @Override public void onSuccess(Void result) { loader.hide(); refreshClientKeys(); } @Override public void onFailure(Throwable exception) { loader.hide(); Notification notification = new Notification(exception.getMessage(), Type.ERROR); notificationManager.showNotification(notification); eventBus.fireEvent(new ExceptionThrownEvent(exception)); } }); } }
From source file:org.eclipse.che.ide.ext.datasource.client.ssl.SslKeyStoreManagerPresenter.java
License:Open Source License
@Override public void onServerCertDeleteClicked(SslKeyStoreEntry key) { boolean needToDelete = Window.confirm(constant.deleteSslKeyQuestion(key.getAlias())); if (needToDelete) { service.deleteServerCert(key, new AsyncRequestCallback<Void>() { @Override//from ww w. j a v a2s .c om public void onSuccess(Void result) { refreshServerCerts(); } @Override public void onFailure(Throwable exception) { Notification notification = new Notification(exception.getMessage(), Type.ERROR); notificationManager.showNotification(notification); eventBus.fireEvent(new ExceptionThrownEvent(exception)); } }); } }
From source file:org.eobjects.datacleaner.monitor.dashboard.widgets.DashboardGroupPanel.java
License:Open Source License
public DashboardGroupPanel(DashboardServiceAsync service, TenantIdentifier tenant, DashboardGroup group, boolean isDashboardEditor, boolean displayInfomercial) { super();//from w w w .j a va2 s . co m _tenant = tenant; _service = service; _group = group; _isDashboardEditor = isDashboardEditor; _dashboardWidgetCount = 0; addStyleName("DashboardGroupPanel"); _removeGroupButton = new Button("Remove this group"); _removeGroupButton.addStyleDependentName("ImageTextButton"); _removeGroupButton.addStyleName("RemoveButton"); _removeGroupButton.setVisible(false); _removeGroupButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { final boolean confirmation = Window.confirm("Are you sure you wish to remove this group?"); if (confirmation) { _service.removeDashboardGroup(_tenant, _group, new DCAsyncCallback<Boolean>() { @Override public void onSuccess(Boolean result) { if (result != null && result.booleanValue()) { Window.Location.reload(); } else { Window.alert("Failed to remove group. Please check server logs for details."); } } }); } } }); final Button newTimelineButton; if (displayInfomercial && group == null) { // this is the "default" group add(new HeadingLabel("Welcome")); _welcomePanel = new WelcomePanel(); newTimelineButton = _welcomePanel.getNewTimelineButton(); add(_welcomePanel); } else { if (group == null) { group = new DashboardGroup(null); } add(new HeadingLabel(group.getName())); if (group.getDescription() != null) { add(new Label(group.getDescription())); } _welcomePanel = null; newTimelineButton = new Button("New timeline chart"); add(newTimelineButton); add(_removeGroupButton); } newTimelineButton.setVisible(_isDashboardEditor); newTimelineButton.addStyleDependentName("ImageTextButton"); newTimelineButton.addStyleName("NewDashboardWidgetButton"); newTimelineButton.addClickHandler(new CreateTimelineHandler(_service, _tenant, this)); _service.getTimelines(_tenant, _group, new DCAsyncCallback<List<TimelineIdentifier>>() { @Override public void onSuccess(List<TimelineIdentifier> result) { for (TimelineIdentifier identifier : result) { addTimelinePanel(identifier); } if (_dashboardWidgetCount == 0 && _group != null && !_group.isDefaultGroup()) { _removeGroupButton.setVisible(true); } } }); }
From source file:org.eobjects.datacleaner.monitor.dashboard.widgets.TimelinePanel.java
License:Open Source License
public TimelinePanel(TenantIdentifier tenant, DashboardServiceAsync service, TimelineIdentifier timelineIdentifier, DashboardGroupPanel timelineGroupPanel, boolean isDashboardEditor) { super();//from w w w . ja v a2s . c o m _tenant = tenant; _service = service; _timelineIdentifier = timelineIdentifier; _timelineGroupPanel = timelineGroupPanel; _isDashboardEditor = isDashboardEditor; _header = new HeadingLabel(""); _loadingIndicator = new LoadingIndicator(); _loadingIndicator.setHeight((DefaultVAxisOption.DEFAULT_HEIGHT + 4) + "px"); _saveButton = new Button(""); _saveButton.setVisible(isDashboardEditor); _saveButton.addStyleDependentName("ImageButton"); _saveButton.setTitle("Save timeline"); _saveButton.addStyleName("SaveButton"); _saveButton.addClickHandler(new SaveTimelineClickHandler(_service, _tenant, this)); if (_timelineIdentifier != null) { // initially does not make sense to save an (unchanged) and // identifyable timeline. setTimelineDefinitionUnchanged(); } _deleteButton = new Button(); _deleteButton.setVisible(isDashboardEditor); _deleteButton.addStyleDependentName("ImageButton"); _deleteButton.setTitle("Delete timeline"); _deleteButton.addStyleName("DeleteButton"); _deleteButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { final boolean confirmation = Window.confirm("Are you sure you wish to delete this timeline?"); if (confirmation) { if (_timelineIdentifier != null) { _service.removeTimeline(_tenant, _timelineIdentifier, new DCAsyncCallback<Boolean>() { @Override public void onSuccess(Boolean result) { // do nothing } }); } _timelineGroupPanel.removeTimelinePanel(TimelinePanel.this); } } }); addStyleName("TimelinePanel"); add(createButtonPanel()); updateHeader(); setLoading(); if (_timelineIdentifier != null) { _service.getTimelineDefinition(_tenant, _timelineIdentifier, new DCAsyncCallback<TimelineDefinition>() { @Override public void onSuccess(final TimelineDefinition definition) { setTimelineDefinition(definition); } }); } }