You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openaz.apache.org by pd...@apache.org on 2016/03/17 02:13:07 UTC
[03/23] incubator-openaz git commit: Revert "Ported original att
source to openaz"
http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/c68f98c5/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/PolicyNameEditorWindow.java
----------------------------------------------------------------------
diff --git a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/PolicyNameEditorWindow.java b/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/PolicyNameEditorWindow.java
deleted file mode 100644
index 73149cc..0000000
--- a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/PolicyNameEditorWindow.java
+++ /dev/null
@@ -1,369 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.openaz.xacml.admin.view.windows;
-
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicySetType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import org.apache.openaz.xacml.admin.XacmlAdminUI;
-import org.apache.openaz.xacml.admin.jpa.PolicyAlgorithms;
-import org.apache.openaz.xacml.admin.jpa.RuleAlgorithms;
-import org.apache.openaz.xacml.api.XACML3;
-import com.vaadin.addon.jpacontainer.JPAContainer;
-import com.vaadin.addon.jpacontainer.JPAContainerItem;
-import com.vaadin.annotations.AutoGenerated;
-import com.vaadin.data.Property.ValueChangeEvent;
-import com.vaadin.data.Property.ValueChangeListener;
-import com.vaadin.data.Validator;
-import com.vaadin.event.ShortcutAction.KeyCode;
-import com.vaadin.ui.AbstractSelect.ItemCaptionMode;
-import com.vaadin.ui.Alignment;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.Button.ClickEvent;
-import com.vaadin.ui.Button.ClickListener;
-import com.vaadin.ui.ComboBox;
-import com.vaadin.ui.FormLayout;
-import com.vaadin.ui.OptionGroup;
-import com.vaadin.ui.TextArea;
-import com.vaadin.ui.TextField;
-import com.vaadin.ui.Window;
-
-public class PolicyNameEditorWindow extends Window {
-
- /*- VaadinEditorProperties={"grid":"RegularGrid,20","showGrid":true,"snapToGrid":true,"snapToObject":true,"movingGuides":false,"snappingDistance":10} */
-
- private static final long serialVersionUID = 1L;
- private static final Log logger = LogFactory.getLog(PolicyNameEditorWindow.class);
- private final PolicyNameEditorWindow self = this;
- private Object data = null;
- private String filename = null;
- private boolean isSaved = false;
-
- @AutoGenerated
- private FormLayout mainLayout;
- @AutoGenerated
- private ComboBox comboAlgorithms;
- @AutoGenerated
- private OptionGroup optionPolicySet;
- @AutoGenerated
- private TextArea textAreaDescription;
- @AutoGenerated
- private TextField textFieldPolicyName;
- @AutoGenerated
- private Button buttonSave;
-
- JPAContainer<PolicyAlgorithms> policyAlgorithms;
- JPAContainer<RuleAlgorithms> ruleAlgorithms;
-
- /**
- * The constructor should first build the main layout, set the
- * composition root and then do any custom initialization.
- *
- * The constructor will not be automatically regenerated by the
- * visual editor.
- */
- public PolicyNameEditorWindow(String filename, Object policyData, JPAContainer<PolicyAlgorithms> policyAlgs, JPAContainer<RuleAlgorithms> ruleAlgs) {
- buildMainLayout();
- setContent(mainLayout);
-
- this.mainLayout.setMargin(true);
-
- this.filename = filename;
- this.data = policyData;
- this.policyAlgorithms = policyAlgs;
- this.ruleAlgorithms = ruleAlgs;
-
- this.optionPolicySet.addItem("Policy Set");
- this.optionPolicySet.addItem("Policy");
-
- this.comboAlgorithms.setNewItemsAllowed(false);
- this.comboAlgorithms.setNullSelectionAllowed(false);
- this.comboAlgorithms.setItemCaptionMode(ItemCaptionMode.PROPERTY);
- this.comboAlgorithms.setItemCaptionPropertyId("xacmlId");
- //
- // Setup the policy filename
- //
- this.textFieldPolicyName.setImmediate(true);
- this.textFieldPolicyName.setNullRepresentation("");
- if (filename != null) {
- this.textFieldPolicyName.setValue(filename);
- }
- this.textFieldPolicyName.addValidator(new Validator() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void validate(Object value) throws InvalidValueException {
- if (value instanceof String) {
- String filename = (String) value;
- if (filename.endsWith(".xml")) {
- filename = filename.substring(0, filename.length() - 4);
- }
- if (filename.length() == 0) {
- throw new InvalidValueException("Invalid filename.");
- }
- if (filename.indexOf('.') != -1) {
- throw new InvalidValueException("Please do not use a \'.\' in the filename.");
- }
- }
- }
-
- });
- this.textFieldPolicyName.setValidationVisible(true);
- //
- // Are we editing or creating?
- //
- if (this.data != null) {
- //
- // We are editing
- //
- if (this.data instanceof PolicySetType) {
- this.optionPolicySet.setValue("Policy Set");
- this.optionPolicySet.setVisible(false);
- this.textAreaDescription.setValue(((PolicySetType)this.data).getDescription());
- this.comboAlgorithms.setContainerDataSource(policyAlgs);
- for (Object object : this.policyAlgorithms.getItemIds()) {
- PolicyAlgorithms a = (PolicyAlgorithms) this.policyAlgorithms.getItem(object).getEntity();
- if (a.getXacmlId().equals(((PolicySetType)this.data).getPolicyCombiningAlgId())) {
- this.comboAlgorithms.select(object);
- break;
- }
- }
- }
- if (this.data instanceof PolicyType) {
- this.optionPolicySet.setValue("Policy");
- this.optionPolicySet.setVisible(false);
- this.textAreaDescription.setValue(((PolicyType)this.data).getDescription());
- this.comboAlgorithms.setContainerDataSource(ruleAlgs);
- for (Object object : this.ruleAlgorithms.getItemIds()) {
- RuleAlgorithms a = (RuleAlgorithms) this.ruleAlgorithms.getItem(object).getEntity();
- if (a.getXacmlId().equals(((PolicyType)this.data).getRuleCombiningAlgId())) {
- this.comboAlgorithms.select(object);
- break;
- }
- }
- }
- } else {
- //
- // Creating a new policy
- //
- this.optionPolicySet.setValue("Policy Set");
- this.comboAlgorithms.setContainerDataSource(policyAlgs);
- this.comboAlgorithms.setItemCaptionMode(ItemCaptionMode.PROPERTY);
- this.comboAlgorithms.setItemCaptionPropertyId("xacmlId");
- for (Object object : this.policyAlgorithms.getItemIds()) {
- PolicyAlgorithms a = (PolicyAlgorithms) this.policyAlgorithms.getItem(object).getEntity();
- if (a.getXacmlId().equals(XACML3.ID_POLICY_FIRST_APPLICABLE.stringValue())) {
- this.comboAlgorithms.select(object);
- break;
- }
- }
-
- this.optionPolicySet.addValueChangeListener(new ValueChangeListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void valueChange(ValueChangeEvent event) {
- if (self.optionPolicySet.getValue().toString().equals("Policy Set")) {
- self.comboAlgorithms.setContainerDataSource(self.policyAlgorithms);
- for (Object object : self.policyAlgorithms.getItemIds()) {
- PolicyAlgorithms a = (PolicyAlgorithms) self.policyAlgorithms.getItem(object).getEntity();
- if (a.getXacmlId().equals(XACML3.ID_POLICY_FIRST_APPLICABLE.stringValue())) {
- self.comboAlgorithms.select(object);
- break;
- }
- }
- } else if (self.optionPolicySet.getValue().toString().equals("Policy")) {
- self.comboAlgorithms.setContainerDataSource(self.ruleAlgorithms);
- for (Object object : self.ruleAlgorithms.getItemIds()) {
- RuleAlgorithms a = (RuleAlgorithms) self.ruleAlgorithms.getItem(object).getEntity();
- if (a.getXacmlId().equals(XACML3.ID_RULE_FIRST_APPLICABLE.stringValue())) {
- self.comboAlgorithms.select(object);
- break;
- }
- }
- }
- }
-
- });
- }
-
- this.buttonSave.setClickShortcut(KeyCode.ENTER);
-
- this.buttonSave.addClickListener(new ClickListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void buttonClick(ClickEvent event) {
- //
- // Make sure the policy filename was valid
- //
- if (self.textFieldPolicyName.isValid() == false) {
- return;
- }
- //
- // Grab the filename (NOTE: The user may or may not
- // have changed the name).
- //
- self.filename = self.textFieldPolicyName.getValue();
- //
- // Make sure the filename ends with an extension
- //
- if (self.filename.endsWith(".xml") == false) {
- self.filename = self.filename + ".xml";
- }
- //
- // Set ourselves as saved
- //
- self.isSaved = true;
- //
- // Now grab the policy file's data
- //
- if (self.data == null) {
- //
- // This is a brand new Policy
- //
- if (self.optionPolicySet.getValue().toString().equals("Policy Set")) {
- PolicySetType policySet = new PolicySetType();
- policySet.setVersion("1");
- policySet.setPolicySetId(((XacmlAdminUI)getUI()).newPolicyID());
- policySet.setTarget(new TargetType());
- self.data = policySet;
- } else if (self.optionPolicySet.getValue().toString().equals("Policy")) {
- PolicyType policy = new PolicyType();
- policy.setVersion("1");
- policy.setPolicyId(((XacmlAdminUI)getUI()).newPolicyID());
- policy.setTarget(new TargetType());
- self.data = policy;
- } else {
- logger.error("Policy option NOT setup correctly.");
- }
- }
- if (self.data != null) {
- //
- // Save off everything
- //
- if (self.data instanceof PolicySetType) {
- ((PolicySetType)self.data).setDescription(self.textAreaDescription.getValue());
- Object a = self.comboAlgorithms.getValue();
- PolicyAlgorithms alg = (PolicyAlgorithms) ((JPAContainerItem<?>)self.comboAlgorithms.getItem(a)).getEntity();
- ((PolicySetType)self.data).setPolicyCombiningAlgId(alg.getXacmlId());
- } else if (self.data instanceof PolicyType) {
- ((PolicyType)self.data).setDescription(self.textAreaDescription.getValue());
- Object a = self.comboAlgorithms.getValue();
- RuleAlgorithms alg = (RuleAlgorithms) ((JPAContainerItem<?>)self.comboAlgorithms.getItem(a)).getEntity();
- ((PolicyType)self.data).setRuleCombiningAlgId(alg.getXacmlId());
- } else {
- logger.error("Unsupported data object." + self.data.getClass().getCanonicalName());
- }
- }
- //
- // Now we can close the window
- //
- self.close();
- }
- });
-
- this.textFieldPolicyName.focus();
- }
-
- public boolean isSaved() {
- return this.isSaved;
- }
-
- public Object getPolicyData() {
- if (this.isSaved) {
- return this.data;
- }
- return null;
- }
-
- public String getPolicyFilename() {
- if (this.isSaved) {
- return this.filename;
- }
- return null;
- }
-
- @AutoGenerated
- private FormLayout buildMainLayout() {
- // common part: create layout
- mainLayout = new FormLayout();
- mainLayout.setImmediate(false);
-
- // textFieldPolicyName
- textFieldPolicyName = new TextField();
- textFieldPolicyName.setCaption("Policy File Name");
- textFieldPolicyName.setImmediate(true);
- textFieldPolicyName.setWidth("-1px");
- textFieldPolicyName.setHeight("-1px");
- textFieldPolicyName.setInputPrompt("Enter filename eg. foobar.xml");
- textFieldPolicyName.setRequired(true);
- mainLayout.addComponent(textFieldPolicyName);
-
- // textAreaDescription
- textAreaDescription = new TextArea();
- textAreaDescription.setCaption("Description");
- textAreaDescription.setImmediate(false);
- textAreaDescription.setWidth("100%");
- textAreaDescription.setHeight("-1px");
- textAreaDescription
- .setInputPrompt("Enter a description for the Policy/PolicySet.");
- textAreaDescription.setNullSettingAllowed(true);
- mainLayout.addComponent(textAreaDescription);
-
- // optionPolicySet
- optionPolicySet = new OptionGroup();
- optionPolicySet.setCaption("Policy or PolicySet?");
- optionPolicySet.setImmediate(true);
- optionPolicySet
- .setDescription("Is the root level a Policy or Policy Set.");
- optionPolicySet.setWidth("-1px");
- optionPolicySet.setHeight("-1px");
- optionPolicySet.setRequired(true);
- mainLayout.addComponent(optionPolicySet);
-
- // comboAlgorithms
- comboAlgorithms = new ComboBox();
- comboAlgorithms.setCaption("Combining Algorithm");
- comboAlgorithms.setImmediate(false);
- comboAlgorithms.setDescription("Select the combining algorithm.");
- comboAlgorithms.setWidth("-1px");
- comboAlgorithms.setHeight("-1px");
- comboAlgorithms.setRequired(true);
- mainLayout.addComponent(comboAlgorithms);
-
- // buttonSave
- buttonSave = new Button();
- buttonSave.setCaption("Save");
- buttonSave.setImmediate(true);
- buttonSave.setWidth("-1px");
- buttonSave.setHeight("-1px");
- mainLayout.addComponent(buttonSave);
- mainLayout.setComponentAlignment(buttonSave, new Alignment(48));
-
- return mainLayout;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/c68f98c5/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/PolicySetEditorWindow.java
----------------------------------------------------------------------
diff --git a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/PolicySetEditorWindow.java b/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/PolicySetEditorWindow.java
deleted file mode 100644
index af2ae20..0000000
--- a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/PolicySetEditorWindow.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.openaz.xacml.admin.view.windows;
-
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicySetType;
-
-import org.apache.openaz.xacml.admin.XacmlAdminUI;
-import org.apache.openaz.xacml.admin.jpa.PolicyAlgorithms;
-import org.apache.openaz.xacml.admin.util.JPAUtils;
-import org.apache.openaz.xacml.api.XACML3;
-import com.vaadin.addon.jpacontainer.JPAContainer;
-import com.vaadin.annotations.AutoGenerated;
-import com.vaadin.data.Buffered.SourceException;
-import com.vaadin.data.Validator.InvalidValueException;
-import com.vaadin.data.validator.RegexpValidator;
-import com.vaadin.event.ShortcutAction.KeyCode;
-import com.vaadin.ui.AbstractSelect.ItemCaptionMode;
-import com.vaadin.ui.Alignment;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.Button.ClickEvent;
-import com.vaadin.ui.Button.ClickListener;
-import com.vaadin.ui.Label;
-import com.vaadin.ui.ListSelect;
-import com.vaadin.ui.TextArea;
-import com.vaadin.ui.TextField;
-import com.vaadin.ui.UI;
-import com.vaadin.ui.VerticalLayout;
-import com.vaadin.ui.Window;
-
-public class PolicySetEditorWindow extends Window {
-
- /*- VaadinEditorProperties={"grid":"RegularGrid,20","showGrid":true,"snapToGrid":true,"snapToObject":true,"movingGuides":false,"snappingDistance":10} */
-
- @AutoGenerated
- private VerticalLayout mainLayout;
- @AutoGenerated
- private Button buttonSave;
- @AutoGenerated
- private TextArea textAreaDescription;
- @AutoGenerated
- private ListSelect listSelectAlgorithm;
- @AutoGenerated
- private TextField textFieldVersion;
- @AutoGenerated
- private Label labelID;
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private final PolicySetEditorWindow self = this;
- private final PolicySetType policySet;
- private JPAContainer<PolicyAlgorithms> algorithms = ((XacmlAdminUI)UI.getCurrent()).getPolicyAlgorithms();
- private boolean isSaved = false;
- /**
- * The constructor should first build the main layout, set the
- * composition root and then do any custom initialization.
- *
- * The constructor will not be automatically regenerated by the
- * visual editor.
- */
- public PolicySetEditorWindow(PolicySetType policySet) {
- buildMainLayout();
- //setCompositionRoot(mainLayout);
- setContent(mainLayout);
- //
- // Save
- //
- this.policySet = policySet;
- //
- // Close shortcut
- //
- this.setCloseShortcut(KeyCode.ESCAPE);
- //
- // Initialize GUI
- //
- this.initializeLabel();
- this.initializeText();
- this.initializeSelect();
- this.initializeButton();
- //
- // Focus
- //
- this.textAreaDescription.focus();
- }
-
- protected void initializeLabel() {
- if (this.policySet.getPolicySetId() == null) {
- this.policySet.setPolicySetId(((XacmlAdminUI)UI.getCurrent()).newPolicyID());
- }
- this.labelID.setValue(this.policySet.getPolicySetId());
- }
-
- protected void initializeText() {
- //
- //
- //
- this.textAreaDescription.setNullRepresentation("");
- this.textAreaDescription.setValue(this.policySet.getDescription());
- //
- //
- //
- if (this.policySet.getVersion() == null) {
- this.policySet.setVersion("1");
- }
- this.textFieldVersion.setRequiredError("The exact format is: ((\\d+|\\*)\\.)*(\\d+|\\*|\\+)");
- this.textFieldVersion.addValidator(new RegexpValidator("((\\d+|\\*)\\.)*(\\d+|\\*|\\+)", true, "The version MUST a number optionally separated by '.' eg. 1 or 1.0 or 1.1.1 etc."));
- this.textFieldVersion.setValue(this.policySet.getVersion());
- }
-
- protected void initializeSelect() {
- this.listSelectAlgorithm.setContainerDataSource(this.algorithms);
- this.listSelectAlgorithm.setItemCaptionMode(ItemCaptionMode.PROPERTY);
- this.listSelectAlgorithm.setItemCaptionPropertyId("xacmlId");
- this.listSelectAlgorithm.setNullSelectionAllowed(false);
-
- if (this.policySet.getPolicyCombiningAlgId() == null) {
- this.policySet.setPolicyCombiningAlgId(XACML3.ID_POLICY_FIRST_APPLICABLE.stringValue());
- }
- this.listSelectAlgorithm.setValue(JPAUtils.findPolicyAlgorithm(this.policySet.getPolicyCombiningAlgId()).getId());
- }
-
- protected void initializeButton() {
- this.buttonSave.addClickListener(new ClickListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void buttonClick(ClickEvent event) {
- try {
- //
- // Commit
- //
- self.listSelectAlgorithm.commit();
- self.textFieldVersion.commit();
- self.textAreaDescription.commit();
- //
- // Save everything
- //
- self.policySet.setDescription(self.textAreaDescription.getValue());
- self.policySet.setVersion(self.textFieldVersion.getValue());
- Object id = self.listSelectAlgorithm.getValue();
- self.policySet.setPolicyCombiningAlgId(algorithms.getItem(id).getEntity().getXacmlId());
- //
- // Mark ourselves as saved
- //
- self.isSaved = true;
- //
- // Close window
- //
- self.close();
- } catch (SourceException | InvalidValueException e) { //NOPMD
- //
- // VAADIN will show the required error message to the user
- //
- }
- }
- });
- }
-
- public boolean isSaved() {
- return this.isSaved;
- }
-
- public PolicySetType getPolicySet() {
- return this.policySet;
- }
-
- @AutoGenerated
- private VerticalLayout buildMainLayout() {
- // common part: create layout
- mainLayout = new VerticalLayout();
- mainLayout.setImmediate(false);
- mainLayout.setWidth("-1px");
- mainLayout.setHeight("-1px");
- mainLayout.setMargin(true);
- mainLayout.setSpacing(true);
-
- // top-level component properties
- setWidth("-1px");
- setHeight("-1px");
-
- // labelID
- labelID = new Label();
- labelID.setCaption("Policy Set ID");
- labelID.setImmediate(false);
- labelID.setWidth("100.0%");
- labelID.setHeight("-1px");
- labelID.setValue("Label");
- mainLayout.addComponent(labelID);
-
- // textFieldVersion
- textFieldVersion = new TextField();
- textFieldVersion.setCaption("Version");
- textFieldVersion.setImmediate(false);
- textFieldVersion
- .setDescription("The format is numbers only separated by decimal point.");
- textFieldVersion.setWidth("-1px");
- textFieldVersion.setHeight("-1px");
- textFieldVersion.setInvalidAllowed(false);
- textFieldVersion.setRequired(true);
- textFieldVersion.setInputPrompt("Eg. 1 or 1.0 or 1.0.0 etc.");
- mainLayout.addComponent(textFieldVersion);
-
- // listSelectAlgorithm
- listSelectAlgorithm = new ListSelect();
- listSelectAlgorithm.setCaption("Policy Combining Algorithm");
- listSelectAlgorithm.setImmediate(false);
- listSelectAlgorithm.setWidth("100.0%");
- listSelectAlgorithm.setHeight("-1px");
- listSelectAlgorithm.setInvalidAllowed(false);
- listSelectAlgorithm.setRequired(true);
- mainLayout.addComponent(listSelectAlgorithm);
-
- // textAreaDescription
- textAreaDescription = new TextArea();
- textAreaDescription.setCaption("Description");
- textAreaDescription.setImmediate(false);
- textAreaDescription.setWidth("100.0%");
- textAreaDescription.setHeight("-1px");
- mainLayout.addComponent(textAreaDescription);
- mainLayout.setExpandRatio(textAreaDescription, 1.0f);
-
- // buttonSave
- buttonSave = new Button();
- buttonSave.setCaption("Save");
- buttonSave.setImmediate(true);
- buttonSave.setWidth("-1px");
- buttonSave.setHeight("-1px");
- mainLayout.addComponent(buttonSave);
- mainLayout.setComponentAlignment(buttonSave, new Alignment(48));
-
- return mainLayout;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/c68f98c5/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/PolicyUploadWindow.java
----------------------------------------------------------------------
diff --git a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/PolicyUploadWindow.java b/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/PolicyUploadWindow.java
deleted file mode 100644
index 06afe28..0000000
--- a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/PolicyUploadWindow.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.openaz.xacml.admin.view.windows;
-
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.OutputStream;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import com.vaadin.annotations.AutoGenerated;
-import com.vaadin.data.Property.ValueChangeEvent;
-import com.vaadin.data.Property.ValueChangeListener;
-import com.vaadin.ui.Alignment;
-import com.vaadin.ui.CheckBox;
-import com.vaadin.ui.Upload;
-import com.vaadin.ui.Upload.Receiver;
-import com.vaadin.ui.Upload.SucceededEvent;
-import com.vaadin.ui.Upload.SucceededListener;
-import com.vaadin.ui.VerticalLayout;
-import com.vaadin.ui.Window;
-
-public class PolicyUploadWindow extends Window implements Receiver, SucceededListener {
-
- /*- VaadinEditorProperties={"grid":"RegularGrid,20","showGrid":true,"snapToGrid":true,"snapToObject":true,"movingGuides":false,"snappingDistance":10} */
-
- @AutoGenerated
- private VerticalLayout mainLayout;
- @AutoGenerated
- private CheckBox checkBoxImportAdvice;
- @AutoGenerated
- private CheckBox checkBoxImportObligations;
- @AutoGenerated
- private CheckBox checkBoxIgnoreStandard;
- @AutoGenerated
- private CheckBox checkBoxImportAttributes;
- @AutoGenerated
- private Upload upload;
- private static final long serialVersionUID = 1L;
- private final PolicyUploadWindow self = this;
- private static final Log logger = LogFactory.getLog(PolicyUploadWindow.class);
- private Path directory = null;
- private Path newfile = null;
- private boolean succeeded = false;
-
- /**
- * The constructor should first build the main layout, set the
- * composition root and then do any custom initialization.
- *
- * The constructor will not be automatically regenerated by the
- * visual editor.
- */
- public PolicyUploadWindow(Path directory) {
- buildMainLayout();
- //
- // Create our main layout
- //
- this.setContent(mainLayout);
- //
- // Finish setting up the main layout
- //
- this.mainLayout.setSpacing(true);
- this.mainLayout.setMargin(true);
-
- this.checkBoxImportAdvice.setValue(true);
- this.checkBoxIgnoreStandard.setValue(true);
- this.checkBoxImportAttributes.setValue(true);
- this.checkBoxImportObligations.setValue(true);
-
- this.directory = directory;
-
- this.upload.addSucceededListener(this);
- this.upload.setReceiver(this);
-
- this.checkBoxImportAttributes.addValueChangeListener(new ValueChangeListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void valueChange(ValueChangeEvent event) {
- if (self.checkBoxImportAttributes.getValue()) {
- self.checkBoxIgnoreStandard.setEnabled(true);
- } else {
- self.checkBoxIgnoreStandard.setEnabled(false);
- }
- }
-
- });
- }
-
- @Override
- public OutputStream receiveUpload(String filename, String mimeType) {
- //
- // Validate the mime type
- //
- if (! mimeType.equalsIgnoreCase("text/xml")) {
- return null;
- }
- //
- // Create its new full path
- //
- this.newfile = Paths.get(self.directory.toString(), filename);
- //
- // Does it already exist?
- //
- if (Files.exists(this.newfile)) {
- //
- // TODO Prompt them to overwrite and/or bump the version???
- //
- return null;
- }
- //
- // Try to create the output stream
- //
- try {
- return new FileOutputStream(this.newfile.toFile());
- } catch (FileNotFoundException e) {
- logger.error("Failed to create uploaded file", e);
- }
- return null;
- }
-
- @Override
- public void uploadSucceeded(SucceededEvent event) {
- if (logger.isDebugEnabled()) {
- logger.debug("upload succeeded");
- }
- this.succeeded = true;
- this.close();
- }
-
- public Path getUploadedFile() {
- if (this.succeeded) {
- return this.newfile;
- }
- return null;
- }
-
- public boolean importAttributes() {
- return this.checkBoxImportAttributes.getValue();
- }
-
- public boolean importObligations() {
- return this.checkBoxImportObligations.getValue();
- }
-
- public boolean importAdvice() {
- return this.checkBoxImportAdvice.getValue();
- }
-
- public boolean ignoreStandard() {
- return this.checkBoxIgnoreStandard.getValue();
- }
-
- @AutoGenerated
- private VerticalLayout buildMainLayout() {
- // common part: create layout
- mainLayout = new VerticalLayout();
- mainLayout.setImmediate(false);
- mainLayout.setWidth("-1px");
- mainLayout.setHeight("-1px");
- mainLayout.setMargin(true);
- mainLayout.setSpacing(true);
-
- // top-level component properties
- setWidth("-1px");
- setHeight("-1px");
-
- // upload
- upload = new Upload();
- upload.setCaption("Upload Xacml Policy File");
- upload.setImmediate(false);
- upload.setWidth("-1px");
- upload.setHeight("-1px");
- mainLayout.addComponent(upload);
-
- // checkBoxImportAttributes
- checkBoxImportAttributes = new CheckBox();
- checkBoxImportAttributes
- .setCaption("Import attributes into attribute dictionary.");
- checkBoxImportAttributes.setImmediate(false);
- checkBoxImportAttributes.setWidth("-1px");
- checkBoxImportAttributes.setHeight("-1px");
- mainLayout.addComponent(checkBoxImportAttributes);
-
- // checkBoxIgnoreStandard
- checkBoxIgnoreStandard = new CheckBox();
- checkBoxIgnoreStandard.setCaption("Ignore Standard Attributes");
- checkBoxIgnoreStandard.setImmediate(false);
- checkBoxIgnoreStandard.setWidth("-1px");
- checkBoxIgnoreStandard.setHeight("-1px");
- mainLayout.addComponent(checkBoxIgnoreStandard);
- mainLayout.setComponentAlignment(checkBoxIgnoreStandard, new Alignment(
- 20));
-
- // checkBoxImportObligations
- checkBoxImportObligations = new CheckBox();
- checkBoxImportObligations
- .setCaption("Import obligations into obligation dictionary.");
- checkBoxImportObligations.setImmediate(false);
- checkBoxImportObligations.setWidth("-1px");
- checkBoxImportObligations.setHeight("-1px");
- mainLayout.addComponent(checkBoxImportObligations);
-
- // checkBoxImportAdvice
- checkBoxImportAdvice = new CheckBox();
- checkBoxImportAdvice
- .setCaption("Import advice into advice dictionary.");
- checkBoxImportAdvice.setImmediate(false);
- checkBoxImportAdvice.setWidth("-1px");
- checkBoxImportAdvice.setHeight("-1px");
- mainLayout.addComponent(checkBoxImportAdvice);
-
- return mainLayout;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/c68f98c5/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/RenamePolicyFileWindow.java
----------------------------------------------------------------------
diff --git a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/RenamePolicyFileWindow.java b/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/RenamePolicyFileWindow.java
deleted file mode 100644
index 3b9ade9..0000000
--- a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/RenamePolicyFileWindow.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.openaz.xacml.admin.view.windows;
-
-import com.vaadin.annotations.AutoGenerated;
-import com.vaadin.event.FieldEvents.TextChangeEvent;
-import com.vaadin.event.FieldEvents.TextChangeListener;
-import com.vaadin.event.ShortcutAction.KeyCode;
-import com.vaadin.ui.Alignment;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.Button.ClickEvent;
-import com.vaadin.ui.Button.ClickListener;
-// import com.vaadin.ui.CustomComponent;
-import com.vaadin.ui.TextField;
-import com.vaadin.ui.VerticalLayout;
-import com.vaadin.ui.Window;
-
-public class RenamePolicyFileWindow extends Window {
-
- /*- VaadinEditorProperties={"grid":"RegularGrid,20","showGrid":true,"snapToGrid":true,"snapToObject":true,"movingGuides":false,"snappingDistance":10} */
-
- @AutoGenerated
- private VerticalLayout mainLayout;
- @AutoGenerated
- private Button buttonSave;
- @AutoGenerated
- private TextField textFieldFilename;
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private RenamePolicyFileWindow self = this;
- private String newFilename = null;
- /**
- * The constructor should first build the main layout, set the
- * composition root and then do any custom initialization.
- *
- * The constructor will not be automatically regenerated by the
- * visual editor.
- */
- public RenamePolicyFileWindow(String currentFilename) {
- buildMainLayout();
- //setCompositionRoot(mainLayout);
- setContent(mainLayout);
- this.setCloseShortcut(KeyCode.ESCAPE);
- //
- // Initialize the text field
- //
- this.textFieldFilename.setValue(currentFilename);
- this.textFieldFilename.setImmediate(true);
- this.textFieldFilename.addTextChangeListener(new TextChangeListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void textChange(TextChangeEvent event) {
- if (event.getText() == null || event.getText().isEmpty()) {
- self.buttonSave.setEnabled(false);
- } else {
- self.buttonSave.setEnabled(true);
- }
- }
- });
- //
- // Initialize the button
- //
- this.buttonSave.setClickShortcut(KeyCode.ENTER);
- this.buttonSave.addClickListener(new ClickListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void buttonClick(ClickEvent event) {
- //
- // Save the value
- //
- self.newFilename = self.textFieldFilename.getValue();
- //
- // Make sure it ends with .xml
- //
- if (self.newFilename.endsWith(".xml") == false) {
- self.newFilename = self.newFilename + ".xml";
- }
- //
- // Close the window
- //
- self.close();
- }
- });
- this.textFieldFilename.focus();
- }
-
- public String getNewFilename() {
- return this.newFilename;
- }
-
- @AutoGenerated
- private VerticalLayout buildMainLayout() {
- // common part: create layout
- mainLayout = new VerticalLayout();
- mainLayout.setImmediate(false);
- mainLayout.setWidth("-1px");
- mainLayout.setHeight("-1px");
- mainLayout.setMargin(true);
- mainLayout.setSpacing(true);
-
- // top-level component properties
- setWidth("-1px");
- setHeight("-1px");
-
- // textFieldFilename
- textFieldFilename = new TextField();
- textFieldFilename.setCaption("Policy File Name");
- textFieldFilename.setImmediate(false);
- textFieldFilename.setWidth("-1px");
- textFieldFilename.setHeight("-1px");
- mainLayout.addComponent(textFieldFilename);
-
- // buttonSave
- buttonSave = new Button();
- buttonSave.setCaption("Save");
- buttonSave.setImmediate(false);
- buttonSave.setWidth("-1px");
- buttonSave.setHeight("-1px");
- mainLayout.addComponent(buttonSave);
- mainLayout.setComponentAlignment(buttonSave, new Alignment(24));
-
- return mainLayout;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/c68f98c5/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/RuleEditorWindow.java
----------------------------------------------------------------------
diff --git a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/RuleEditorWindow.java b/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/RuleEditorWindow.java
deleted file mode 100644
index e6baf44..0000000
--- a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/RuleEditorWindow.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.openaz.xacml.admin.view.windows;
-
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.EffectType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.RuleType;
-
-import org.apache.openaz.xacml.admin.XacmlAdminUI;
-import com.vaadin.annotations.AutoGenerated;
-import com.vaadin.data.Buffered.SourceException;
-import com.vaadin.data.Validator.InvalidValueException;
-import com.vaadin.event.ShortcutAction.KeyCode;
-import com.vaadin.ui.Alignment;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.Button.ClickEvent;
-import com.vaadin.ui.Button.ClickListener;
-import com.vaadin.ui.Label;
-import com.vaadin.ui.OptionGroup;
-import com.vaadin.ui.TextArea;
-import com.vaadin.ui.UI;
-import com.vaadin.ui.VerticalLayout;
-import com.vaadin.ui.Window;
-
-public class RuleEditorWindow extends Window {
-
- /*- VaadinEditorProperties={"grid":"RegularGrid,20","showGrid":true,"snapToGrid":true,"snapToObject":true,"movingGuides":false,"snappingDistance":10} */
-
- @AutoGenerated
- private VerticalLayout mainLayout;
- @AutoGenerated
- private Button buttonSave;
- @AutoGenerated
- private TextArea textAreaDescription;
- @AutoGenerated
- private OptionGroup optionGroupEffect;
- @AutoGenerated
- private Label labelRuleID;
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private final RuleEditorWindow self = this;
- private final RuleType rule;
- private boolean isSaved = false;
- /**
- * The constructor should first build the main layout, set the
- * composition root and then do any custom initialization.
- *
- * The constructor will not be automatically regenerated by the
- * visual editor.
- */
- public RuleEditorWindow(RuleType rule) {
- buildMainLayout();
- //setCompositionRoot(mainLayout);
- setContent(mainLayout);
- //
- // Save
- //
- this.rule = rule;
- //
- // Close shortcut
- //
- this.setCloseShortcut(KeyCode.ESCAPE);
- //
- // Initialize
- //
- this.initializeLabel();
- this.initializeOption();
- this.initializeText();
- this.initializeButton();
- }
-
- protected void initializeLabel() {
- if (this.rule.getRuleId() == null) {
- this.rule.setRuleId(((XacmlAdminUI)UI.getCurrent()).newRuleID());
- }
- this.labelRuleID.setValue(this.rule.getRuleId());
- }
-
- protected void initializeOption() {
- this.optionGroupEffect.setRequiredError("You MUST select an effect (Permit or Deny for the rule.");
- this.optionGroupEffect.addItem("Permit");
- this.optionGroupEffect.addItem("Deny");
- if (this.rule.getEffect() == null) {
- this.rule.setEffect(EffectType.PERMIT);
- }
- if (this.rule.getEffect() == EffectType.PERMIT) {
- this.optionGroupEffect.setValue("Permit");
- } else {
- this.optionGroupEffect.setValue("Deny");
- }
- }
-
- protected void initializeText() {
- this.textAreaDescription.setValue(this.rule.getDescription());
- }
-
- protected void initializeButton() {
- this.buttonSave.addClickListener(new ClickListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void buttonClick(ClickEvent event) {
- try {
- //
- // Commit
- //
- self.optionGroupEffect.commit();
- self.textAreaDescription.commit();
- //
- // Save everything
- //
- if (self.optionGroupEffect.getValue() == "Permit") {
- self.rule.setEffect(EffectType.PERMIT);
- } else {
- self.rule.setEffect(EffectType.DENY);
- }
- self.rule.setDescription(self.textAreaDescription.getValue());
- //
- // Set ourselves as saved
- //
- self.isSaved = true;
- //
- // Close the window
- //
- self.close();
- } catch (SourceException | InvalidValueException e) { //NOPMD
- //
- // VAADIN will show the required error message to the user
- //
- }
- }
- });
- }
-
- public boolean isSaved() {
- return this.isSaved;
- }
-
- public RuleType getRule() {
- return this.rule;
- }
-
- @AutoGenerated
- private VerticalLayout buildMainLayout() {
- // common part: create layout
- mainLayout = new VerticalLayout();
- mainLayout.setImmediate(false);
- mainLayout.setWidth("-1px");
- mainLayout.setHeight("-1px");
- mainLayout.setMargin(true);
- mainLayout.setSpacing(true);
-
- // top-level component properties
- setWidth("-1px");
- setHeight("-1px");
-
- // labelRuleID
- labelRuleID = new Label();
- labelRuleID.setCaption("Rule ID");
- labelRuleID.setImmediate(false);
- labelRuleID.setWidth("100.0%");
- labelRuleID.setHeight("-1px");
- labelRuleID.setValue("Label");
- mainLayout.addComponent(labelRuleID);
- mainLayout.setExpandRatio(labelRuleID, 1.0f);
-
- // optionGroupEffect
- optionGroupEffect = new OptionGroup();
- optionGroupEffect.setCaption("Choose the effect.");
- optionGroupEffect.setImmediate(false);
- optionGroupEffect.setWidth("-1px");
- optionGroupEffect.setHeight("-1px");
- optionGroupEffect.setInvalidAllowed(false);
- optionGroupEffect.setRequired(true);
- mainLayout.addComponent(optionGroupEffect);
-
- // textAreaDescription
- textAreaDescription = new TextArea();
- textAreaDescription.setCaption("Enter a description for the Rule.");
- textAreaDescription.setImmediate(false);
- textAreaDescription.setWidth("100.0%");
- textAreaDescription.setHeight("-1px");
- textAreaDescription.setNullSettingAllowed(true);
- textAreaDescription.setNullRepresentation("");
- mainLayout.addComponent(textAreaDescription);
- mainLayout.setExpandRatio(textAreaDescription, 1.0f);
-
- // buttonSave
- buttonSave = new Button();
- buttonSave.setCaption("Save");
- buttonSave.setImmediate(true);
- buttonSave.setWidth("-1px");
- buttonSave.setHeight("-1px");
- mainLayout.addComponent(buttonSave);
- mainLayout.setComponentAlignment(buttonSave, new Alignment(48));
-
- return mainLayout;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/c68f98c5/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/SelectPDPGroupWindow.java
----------------------------------------------------------------------
diff --git a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/SelectPDPGroupWindow.java b/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/SelectPDPGroupWindow.java
deleted file mode 100644
index fd3d8cb..0000000
--- a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/SelectPDPGroupWindow.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.openaz.xacml.admin.view.windows;
-
-import java.util.Set;
-
-import org.apache.openaz.xacml.api.pap.PDPGroup;
-import com.vaadin.annotations.AutoGenerated;
-import com.vaadin.data.Property.ValueChangeEvent;
-import com.vaadin.data.Property.ValueChangeListener;
-import com.vaadin.event.ShortcutAction.KeyCode;
-import com.vaadin.ui.AbstractSelect.ItemCaptionMode;
-import com.vaadin.ui.Alignment;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.Button.ClickEvent;
-import com.vaadin.ui.Button.ClickListener;
-import com.vaadin.ui.ListSelect;
-import com.vaadin.ui.VerticalLayout;
-import com.vaadin.ui.Window;
-
-public class SelectPDPGroupWindow extends Window {
-
- /*- VaadinEditorProperties={"grid":"RegularGrid,20","showGrid":true,"snapToGrid":true,"snapToObject":true,"movingGuides":false,"snappingDistance":10} */
-
- @AutoGenerated
- private VerticalLayout mainLayout;
- @AutoGenerated
- private Button buttonSave;
- @AutoGenerated
- private ListSelect listSelectPDPGroup;
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private final SelectPDPGroupWindow self = this;
-
- private boolean saved = false;
-
- private PDPGroup selectedGroup = null;
- /**
- * The constructor should first build the main layout, set the
- * composition root and then do any custom initialization.
- *
- * The constructor will not be automatically regenerated by the
- * visual editor.
- */
- // TODO - Refactor. Unused formal parameter: caption. Either determine
- // that this parameter is unnecessary and remove it (including removing
- // it from all constructor method consumers), or use it.
- // NOTE: Setting to NOPMD for now.
- public SelectPDPGroupWindow(Set<PDPGroup> groups, String caption) { //NOPMD
- buildMainLayout();
- //setCompositionRoot(mainLayout);
- setContent(mainLayout);
- //
- // Setup the shortcuts
- //
- this.setCloseShortcut(KeyCode.ESCAPE);
- this.buttonSave.setClickShortcut(KeyCode.ENTER);
- //
- // initialize
- //
- this.initialize(groups);
- //
- // Focus
- //
- this.listSelectPDPGroup.focus();
- //
- // setup the button
- //
- this.setupButtons();
- }
-
- protected void initialize(Set<PDPGroup> groups) {
- //
- // Initialize the list
- //
- this.initializeSelect(groups);
- //
- // Buttons
- //
- this.initializeButtons();
- }
-
- protected void initializeButtons() {
- this.buttonSave.addClickListener(new ClickListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void buttonClick(ClickEvent event) {
- //
- // Get the selected value
- //
- self.selectedGroup = (PDPGroup) self.listSelectPDPGroup.getValue();
- assert self.selectedGroup != null;
- //
- // Mark ourselves as saved
- //
- self.saved = true;
- //
- // Close window
- //
- self.close();
- }
- });
- }
-
- public boolean isSaved() {
- return saved;
- }
-
- public PDPGroup selectedGroup() {
- return this.selectedGroup;
- }
-
- private void initializeSelect(Set<PDPGroup> groups) {
- //
- // Initialize GUI properties
- //
- this.listSelectPDPGroup.setImmediate(true);
- this.listSelectPDPGroup.setItemCaptionMode(ItemCaptionMode.EXPLICIT);
- this.listSelectPDPGroup.setNullSelectionAllowed(false);
- this.listSelectPDPGroup.setNewItemsAllowed(false);
- this.listSelectPDPGroup.setMultiSelect(false);
- //
- // Add items
- //
- for (PDPGroup group : groups) {
- this.listSelectPDPGroup.addItem(group);
- this.listSelectPDPGroup.setItemCaption(group, group.getName());
- }
- //
- // Listen to events
- //
- this.listSelectPDPGroup.addValueChangeListener(new ValueChangeListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void valueChange(ValueChangeEvent event) {
- self.setupButtons();
- }
- });
- }
-
- protected void setupButtons() {
- if (self.listSelectPDPGroup.getValue() == null) {
- self.buttonSave.setEnabled(false);
- } else {
- self.buttonSave.setEnabled(true);
- }
- }
-
- @AutoGenerated
- private VerticalLayout buildMainLayout() {
- // common part: create layout
- mainLayout = new VerticalLayout();
- mainLayout.setImmediate(false);
- mainLayout.setWidth("-1px");
- mainLayout.setHeight("-1px");
- mainLayout.setMargin(true);
- mainLayout.setSpacing(true);
-
- // top-level component properties
- setWidth("-1px");
- setHeight("-1px");
-
- // listSelectPDPGroup
- listSelectPDPGroup = new ListSelect();
- listSelectPDPGroup.setImmediate(false);
- listSelectPDPGroup.setWidth("-1px");
- listSelectPDPGroup.setHeight("-1px");
- listSelectPDPGroup.setInvalidAllowed(false);
- listSelectPDPGroup.setRequired(true);
- mainLayout.addComponent(listSelectPDPGroup);
- mainLayout.setExpandRatio(listSelectPDPGroup, 1.0f);
-
- // buttonSave
- buttonSave = new Button();
- buttonSave.setCaption("Save");
- buttonSave.setImmediate(true);
- buttonSave.setWidth("-1px");
- buttonSave.setHeight("-1px");
- mainLayout.addComponent(buttonSave);
- mainLayout.setComponentAlignment(buttonSave, new Alignment(48));
-
- return mainLayout;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/c68f98c5/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/SelectPIPConfigurationWindow.java
----------------------------------------------------------------------
diff --git a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/SelectPIPConfigurationWindow.java b/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/SelectPIPConfigurationWindow.java
deleted file mode 100644
index dfa92ee..0000000
--- a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/SelectPIPConfigurationWindow.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.openaz.xacml.admin.view.windows;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import org.apache.openaz.xacml.admin.XacmlAdminUI;
-import org.apache.openaz.xacml.admin.jpa.PIPConfiguration;
-import org.apache.openaz.xacml.api.pap.PDPGroup;
-import org.apache.openaz.xacml.api.pap.PDPPIPConfig;
-import org.apache.openaz.xacml.std.pap.StdPDPPIPConfig;
-import com.vaadin.addon.jpacontainer.EntityItem;
-import com.vaadin.addon.jpacontainer.JPAContainer;
-import com.vaadin.addon.jpacontainer.provider.CachingLocalEntityProvider;
-import com.vaadin.annotations.AutoGenerated;
-import com.vaadin.ui.Alignment;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.Button.ClickEvent;
-import com.vaadin.ui.Button.ClickListener;
-// import com.vaadin.ui.CustomComponent;
-import com.vaadin.ui.Table;
-import com.vaadin.ui.UI;
-import com.vaadin.ui.VerticalLayout;
-import com.vaadin.ui.Window;
-
-public class SelectPIPConfigurationWindow extends Window {
-
- /*- VaadinEditorProperties={"grid":"RegularGrid,20","showGrid":true,"snapToGrid":true,"snapToObject":true,"movingGuides":false,"snappingDistance":10} */
-
- @AutoGenerated
- private VerticalLayout mainLayout;
- @AutoGenerated
- private Button buttonSave;
- @AutoGenerated
- private Table table;
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private static final Log logger = LogFactory.getLog(SelectPIPConfigurationWindow.class);
- private final SelectPIPConfigurationWindow self = this;
- private final JPAContainer<PIPConfiguration> container = new JPAContainer<PIPConfiguration>(PIPConfiguration.class);
- private boolean isSaved = false;
- private Set<PDPPIPConfig> selectedConfigs = null;
- /**
- * The constructor should first build the main layout, set the
- * composition root and then do any custom initialization.
- *
- * The constructor will not be automatically regenerated by the
- * visual editor.
- */
- public SelectPIPConfigurationWindow(PDPGroup group) {
- buildMainLayout();
- //setCompositionRoot(mainLayout);
- setContent(mainLayout);
- //
- // Initialize
- //
- this.initialize(group);
- }
-
- protected void initialize(PDPGroup group) {
- //
- // Setup the container
- //
- this.container.setEntityProvider(new CachingLocalEntityProvider<PIPConfiguration>(PIPConfiguration.class, ((XacmlAdminUI)UI.getCurrent()).getEntityManager()));
-
- this.initializeTable(group);
- this.initializeButton();
- }
-
- protected void initializeTable(PDPGroup group) {
- //
- // GUI properties
- //
- this.table.setContainerDataSource(this.container);
- this.table.setImmediate(true);
- this.table.setSelectable(true);
- this.table.setMultiSelect(true);
- this.table.setPageLength(this.container.size() > 10 ? 10 : this.container.size());
- this.table.setVisibleColumns("name", "description");
- //
- // Pre-select the group's configurations
- //
- for (PDPPIPConfig config : group.getPipConfigs()) {
- try {
- Integer id = Integer.parseInt(config.getId());
- if (this.container.containsId(id)) {
- this.table.select(id);
- }
- } catch (NumberFormatException e) {
- logger.error("invalid config id: " + config.getId());
- }
- }
- }
-
- protected void initializeButton() {
- this.buttonSave.addClickListener(new ClickListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void buttonClick(ClickEvent event) {
- //
- // Commit the table so we have everything that was selected
- //
- self.table.commit();
- //
- // We are going to fill this structure
- //
- self.selectedConfigs = new HashSet<PDPPIPConfig>();
- //
- // Get all the selected values
- //
- Object values = self.table.getValue();
- if (values != null && values instanceof Collection) {
- Collection<?> ids = (Collection<?>) values;
- for (Object id : ids) {
- //
- // Get the entity
- //
- EntityItem<PIPConfiguration> entity = self.container.getItem(id);
- PIPConfiguration config = entity.getEntity();
- //
- // Create object needed by PAP REST
- //
- StdPDPPIPConfig pipConfig = new StdPDPPIPConfig();
- pipConfig.setId(Integer.toString(config.getId()));
- pipConfig.setClassname(config.getClassname());
- pipConfig.setName(config.getName());
- pipConfig.setDescription(config.getDescription());
- Map<String, String> map = config.getConfiguration(null);
- pipConfig.setValues(map);
- //
- // Add it to the saved Set
- //
- self.selectedConfigs.add(pipConfig);
- }
- }
- //
- // Mark ourselves as saved
- //
- self.isSaved = true;
- //
- // Close the window
- //
- self.close();
- }
- });
- }
-
- public boolean isSaved() {
- return this.isSaved;
- }
-
- public Set<PDPPIPConfig> getSelectedConfigs() {
- return this.selectedConfigs;
- }
-
- @AutoGenerated
- private VerticalLayout buildMainLayout() {
- // common part: create layout
- mainLayout = new VerticalLayout();
- mainLayout.setImmediate(false);
- mainLayout.setWidth("-1px");
- mainLayout.setHeight("-1px");
- mainLayout.setMargin(true);
- mainLayout.setSpacing(true);
-
- // top-level component properties
- setWidth("-1px");
- setHeight("-1px");
-
- // table
- table = new Table();
- table.setCaption("PIP Configurations");
- table.setImmediate(false);
- table.setWidth("-1px");
- table.setHeight("-1px");
- mainLayout.addComponent(table);
-
- // buttonSave
- buttonSave = new Button();
- buttonSave.setCaption("Save");
- buttonSave.setImmediate(false);
- buttonSave.setWidth("-1px");
- buttonSave.setHeight("-1px");
- mainLayout.addComponent(buttonSave);
- mainLayout.setComponentAlignment(buttonSave, new Alignment(48));
-
- return mainLayout;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/c68f98c5/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/SelectWorkspacePoliciesWindow.java
----------------------------------------------------------------------
diff --git a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/SelectWorkspacePoliciesWindow.java b/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/SelectWorkspacePoliciesWindow.java
deleted file mode 100644
index 93cea8c..0000000
--- a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/SelectWorkspacePoliciesWindow.java
+++ /dev/null
@@ -1,331 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.openaz.xacml.admin.view.windows;
-
-import java.io.File;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.net.URI;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import org.apache.openaz.xacml.admin.XacmlAdminUI;
-import org.apache.openaz.xacml.admin.model.GitRepositoryContainer;
-import org.apache.openaz.xacml.admin.model.GitRepositoryContainer.FileItem;
-import org.apache.openaz.xacml.admin.util.AdminNotification;
-import org.apache.openaz.xacml.std.pap.StdPDPPolicy;
-import com.vaadin.annotations.AutoGenerated;
-import com.vaadin.data.Property.ValueChangeEvent;
-import com.vaadin.data.Property.ValueChangeListener;
-import com.vaadin.event.ItemClickEvent;
-import com.vaadin.event.ItemClickEvent.ItemClickListener;
-import com.vaadin.event.ShortcutAction.KeyCode;
-import com.vaadin.ui.Alignment;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.Button.ClickEvent;
-import com.vaadin.ui.Button.ClickListener;
-import com.vaadin.ui.TreeTable;
-import com.vaadin.ui.UI;
-import com.vaadin.ui.VerticalLayout;
-import com.vaadin.ui.Window;
-
-public class SelectWorkspacePoliciesWindow extends Window {
- @AutoGenerated
- private VerticalLayout mainLayout;
-
- @AutoGenerated
- private Button buttonSave;
-
- @AutoGenerated
- private TreeTable treeWorkspace;
-
- private static Log logger = LogFactory.getLog(SelectWorkspacePoliciesWindow.class);
-
- /*- VaadinEditorProperties={"grid":"RegularGrid,20","showGrid":true,"snapToGrid":true,"snapToObject":true,"movingGuides":false,"snappingDistance":10} */
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private final SelectWorkspacePoliciesWindow self = this;
- private GitRepositoryContainer treeContainer;
- private boolean isSaved = false;
- private StdPDPPolicy selectedPolicy = null;
-
-
-
- /**
- * The constructor should first build the main layout, set the
- * composition root and then do any custom initialization.
- *
- * The constructor will not be automatically regenerated by the
- * visual editor.
- */
- public SelectWorkspacePoliciesWindow() {
- buildMainLayout();
- //setCompositionRoot(mainLayout);
- setContent(mainLayout);
- //
- // Shortcuts
- //
- this.setCloseShortcut(KeyCode.ESCAPE);
- this.buttonSave.setClickShortcut(KeyCode.ENTER);
- //
- //
- //
- this.initializeTree();
- this.initializeButton();
- //
- //
- //
- this.treeWorkspace.focus();
- }
-
- protected void initializeTree() {
- //
- // This is where the user's Git repository is located
- //
- final Path gitPath = ((XacmlAdminUI)UI.getCurrent()).getUserGitPath();
- //
- // Create our Git file system container
- //
- this.treeContainer = new GitRepositoryContainer(gitPath, gitPath.toFile());
- //
- // Create our own filter to filter out File extensions and
- // also the Git directory.
- //
- this.treeContainer.setFilter(new FilenameFilter() {
-
- @Override
- public boolean accept(File dir, String name) {
- //
- // We don't want any of the hidden files
- //
- if (name.startsWith(".git") || name.equals(".DS_Store")) {
- return false;
- }
- //
- // We definitely want xml files
- //
- if (name.endsWith(".xml")) {
- return true;
- }
- //
- // We should test if its a directory, we want those
- // included.
- //
- Path path = Paths.get(dir.getAbsolutePath(), name);
- if (Files.isDirectory(path)) {
- return true;
- }
- logger.warn("Filtering out: " + path.toString());
- return false;
- }
-
- });
- //
- // Set TreeTables datasource as our git container
- //
- this.treeWorkspace.setContainerDataSource(this.treeContainer);
- //
- // Setup other properties etc.
- //
- this.treeWorkspace.setItemIconPropertyId("Icon");
- this.treeWorkspace.setVisibleColumns(new Object[]{"Name", "Version", "Size", "Last Modified", "Status"});
- this.treeWorkspace.setSizeFull();
- this.treeWorkspace.setSelectable(true);
- this.treeWorkspace.setEditable(false);
- //
- // Expand the first couple of directories
- //
- for (Object id : this.treeWorkspace.getItemIds()) {
- this.treeWorkspace.setCollapsed(id, false);
- for (Object child : this.treeWorkspace.getChildren(id)) {
- this.treeWorkspace.setCollapsed(child, false);
- }
- }
- //
- // Respond to table selections
- //
- this.treeWorkspace.addValueChangeListener(new ValueChangeListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void valueChange(ValueChangeEvent event) {
- if (self.treeWorkspace.getValue() != null) {
- self.buttonSave.setEnabled(true);
- } else {
- self.buttonSave.setEnabled(false);
- }
- }
- });
- //
- // Double-click events
- //
- this.treeWorkspace.addItemClickListener(new ItemClickListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void itemClick(ItemClickEvent event) {
- if (event.isDoubleClick()) {
- //
- // Save and close
- //
- self.doSave();
- }
- }
- });
- }
-
- protected void initializeButton() {
- this.buttonSave.addClickListener(new ClickListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void buttonClick(ClickEvent event) {
- assert treeWorkspace.getValue() != null;
- //
- // Save everything
- //
- self.doSave();
- }
- });
- }
-
- protected void doSave() {
- //
- // Get the current selection
- //
- FileItem selectedItem = (FileItem) this.treeWorkspace.getItem(this.treeWorkspace.getValue());
- //
- //
- //
- assert selectedItem != null;
- if (selectedItem == null) {
- return;
- }
-
- // create the id of the target file
-
- // Our standard for file naming is:
- // <domain>.<filename>.<version>.xml
-
- // since the file name usually has a ".xml", we need to strip that before adding the other parts
- String name = selectedItem.getName();
- String id = name;
- if (id.endsWith(".xml")) {
- id = id.substring(0, id.length() - 4);
- }
-
- // add on the version string
-
- String version = selectedItem.getVersion();
- id += "." + version;
-
- // put the .xml on the end
- id += ".xml";
-
- // tack on the domain in front. Do this one level at a time until we reach one of the roots
-
-
- File parentFile = selectedItem.getFile();
- while ((parentFile = (File) this.treeWorkspace.getParent(parentFile)) != null) {
- if (this.treeContainer.isRoot(parentFile)) {
- break;
- }
- id = parentFile.getName() + "." + id;
- }
-
- // Default policy to be Root policy; user can change to deferred later
- URI selectedURI = selectedItem.getFile().toURI();
- try {
- //
- // Create the policy
- //
- this.selectedPolicy = new StdPDPPolicy(id, true, name, selectedURI);
- //
- // Mark ourselves as saved
- //
- this.isSaved = true;
- } catch (IOException e) {
- logger.error("Unable to create policy '" + id + "': " + e.getMessage());
- AdminNotification.warn("Unable to create policy '" + id + "': " + e.getMessage());
- }
-
- //
- // Close the window
- //
- this.close();
- }
-
- public boolean isSaved() {
- return this.isSaved;
- }
-
- public StdPDPPolicy getSelectedPolicy() {
- return this.selectedPolicy;
- }
-
-
- @AutoGenerated
- private VerticalLayout buildMainLayout() {
- // common part: create layout
- mainLayout = new VerticalLayout();
- mainLayout.setImmediate(false);
- mainLayout.setWidth("-1px");
- mainLayout.setHeight("-1px");
- mainLayout.setMargin(true);
- mainLayout.setSpacing(true);
-
- // top-level component properties
- setWidth("-1px");
- setHeight("-1px");
-
- // treeWorkspace
- treeWorkspace = new TreeTable();
- treeWorkspace.setCaption("Select Policy(s) for PDP Group");
- treeWorkspace.setImmediate(true);
- treeWorkspace.setWidth("100.0%");
- treeWorkspace.setHeight("-1px");
- mainLayout.addComponent(treeWorkspace);
-
- // buttonSave
- buttonSave = new Button();
- buttonSave.setCaption("Save");
- buttonSave.setImmediate(false);
- buttonSave.setWidth("-1px");
- buttonSave.setHeight("-1px");
- mainLayout.addComponent(buttonSave);
- mainLayout.setComponentAlignment(buttonSave, new Alignment(48));
-
- return mainLayout;
- }
-
-
-
-
-
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/c68f98c5/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/SubDomainEditorWindow.java
----------------------------------------------------------------------
diff --git a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/SubDomainEditorWindow.java b/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/SubDomainEditorWindow.java
deleted file mode 100644
index 0e38a67..0000000
--- a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/SubDomainEditorWindow.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.openaz.xacml.admin.view.windows;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import com.vaadin.annotations.AutoGenerated;
-// import com.vaadin.data.Property.ValueChangeEvent;
-// import com.vaadin.data.Property.ValueChangeListener;
-import com.vaadin.data.Validator.InvalidValueException;
-import com.vaadin.data.validator.RegexpValidator;
-import com.vaadin.event.FieldEvents.TextChangeEvent;
-import com.vaadin.event.FieldEvents.TextChangeListener;
-import com.vaadin.event.ShortcutAction.KeyCode;
-import com.vaadin.ui.Alignment;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.Button.ClickEvent;
-import com.vaadin.ui.Button.ClickListener;
-import com.vaadin.ui.FormLayout;
-import com.vaadin.ui.TextField;
-import com.vaadin.ui.Window;
-
-public class SubDomainEditorWindow extends Window {
-
- /*- VaadinEditorProperties={"grid":"RegularGrid,20","showGrid":true,"snapToGrid":true,"snapToObject":true,"movingGuides":false,"snappingDistance":10} */
-
- @AutoGenerated
- private FormLayout mainLayout;
- @AutoGenerated
- private Button buttonSave;
- @AutoGenerated
- private TextField textFieldSubdomain;
-
- //
- // Full domain pattern:
- // "^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])(.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]))*$";
- //
- // We just want one part of it.
- //
- private static final String SUBDOMAIN_NAME_PATTERN = "^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$";
- private static final String ERROR_MESSAGE = "Either enter a single subdomain via RFC1123 - letters, digits and a hyphen. Cannot start or end with a hyphen.";
-
- private static final long serialVersionUID = 1L;
- private static final Log logger = LogFactory.getLog(SubDomainEditorWindow.class);
- private final SubDomainEditorWindow self = this;
- private boolean saved = false;
- private String subdomain = null;
-
- /**
- * The constructor should first build the main layout, set the
- * composition root and then do any custom initialization.
- *
- * The constructor will not be automatically regenerated by the
- * visual editor.
- */
- public SubDomainEditorWindow(String subdomain) {
- buildMainLayout();
- setContent(mainLayout);
- //
- // Save
- //
- this.subdomain = subdomain;
- //
- // Set our shortcuts
- //
- this.setCloseShortcut(KeyCode.ESCAPE);
- //
- // Initialize
- //
- this.initializeTextField();
- this.initializeButtons();
- //
- // Focus
- //
- this.textFieldSubdomain.focus();
- }
-
- protected void initializeTextField() {
- this.textFieldSubdomain.setRequired(true);
- this.textFieldSubdomain.setRequiredError("Please enter a valid sub domain");
- //
- // Validate the name entered
- //
- this.textFieldSubdomain.addValidator(new RegexpValidator(SUBDOMAIN_NAME_PATTERN, true, ERROR_MESSAGE) {
- private static final long serialVersionUID = 1L;
-
- });
- //
- // Respond to events
- //
- this.textFieldSubdomain.setImmediate(true);
- this.textFieldSubdomain.addTextChangeListener(new TextChangeListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void textChange(TextChangeEvent event) {
- if (event.getText() != null && event.getText().length() > 0) {
- self.buttonSave.setEnabled(true);
- } else {
- self.buttonSave.setEnabled(false);
- }
- }
-
- });
- }
-
- protected void initializeButtons() {
- this.buttonSave.setClickShortcut(KeyCode.ENTER);
- this.buttonSave.setEnabled(false);
- this.buttonSave.addClickListener(new ClickListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void buttonClick(ClickEvent event) {
- try {
- //
- // Make sure the text is valid
- //
- self.textFieldSubdomain.validate();
- //
- // Parse our the subdomain parts
- //
- self.subdomain = self.textFieldSubdomain.getValue();
- self.saved = true;
- //
- // Close it up
- //
- self.close();
- } catch (InvalidValueException e) {
- logger.error(e);
- }
- }
-
- });
- }
-
- public boolean isSaved() {
- return this.saved;
- }
-
- public String getSubDomain() {
- return this.subdomain;
- }
-
- @AutoGenerated
- private FormLayout buildMainLayout() {
- // common part: create layout
- mainLayout = new FormLayout();
- mainLayout.setImmediate(false);
- mainLayout.setWidth("-1px");
- mainLayout.setHeight("-1px");
- mainLayout.setMargin(true);
- mainLayout.setSpacing(true);
-
- // top-level component properties
- setWidth("-1px");
- setHeight("-1px");
-
- // textFieldSubdomain
- textFieldSubdomain = new TextField();
- textFieldSubdomain.setCaption("Enter Sub Domain");
- textFieldSubdomain.setImmediate(false);
- textFieldSubdomain
- .setDescription("You can enter sub domain name - do not use spaces or wildcard characters.");
- textFieldSubdomain.setWidth("-1px");
- textFieldSubdomain.setHeight("-1px");
- textFieldSubdomain.setInvalidAllowed(false);
- textFieldSubdomain
- .setInputPrompt("Examples: sales hr business marketing.");
- mainLayout.addComponent(textFieldSubdomain);
- mainLayout.setExpandRatio(textFieldSubdomain, 1.0f);
-
- // buttonSave
- buttonSave = new Button();
- buttonSave.setCaption("Save");
- buttonSave.setImmediate(true);
- buttonSave.setWidth("-1px");
- buttonSave.setHeight("-1px");
- mainLayout.addComponent(buttonSave);
- mainLayout.setComponentAlignment(buttonSave, new Alignment(48));
-
- return mainLayout;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/c68f98c5/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/VariableDefinitionEditorWindow.java
----------------------------------------------------------------------
diff --git a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/VariableDefinitionEditorWindow.java b/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/VariableDefinitionEditorWindow.java
deleted file mode 100644
index bec843e..0000000
--- a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/VariableDefinitionEditorWindow.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.openaz.xacml.admin.view.windows;
-
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.VariableDefinitionType;
-
-import com.vaadin.annotations.AutoGenerated;
-import com.vaadin.data.Buffered.SourceException;
-import com.vaadin.data.Property.ValueChangeEvent;
-import com.vaadin.data.Property.ValueChangeListener;
-import com.vaadin.data.Validator.InvalidValueException;
-import com.vaadin.event.FieldEvents.TextChangeEvent;
-import com.vaadin.event.FieldEvents.TextChangeListener;
-import com.vaadin.event.ShortcutAction.KeyCode;
-import com.vaadin.ui.Alignment;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.Button.ClickEvent;
-import com.vaadin.ui.Button.ClickListener;
-import com.vaadin.ui.TextField;
-import com.vaadin.ui.VerticalLayout;
-import com.vaadin.ui.Window;
-
-public class VariableDefinitionEditorWindow extends Window {
-
- /*- VaadinEditorProperties={"grid":"RegularGrid,20","showGrid":true,"snapToGrid":true,"snapToObject":true,"movingGuides":false,"snappingDistance":10} */
-
- @AutoGenerated
- private VerticalLayout mainLayout;
- @AutoGenerated
- private Button buttonSave;
- @AutoGenerated
- private TextField textFieldID;
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private final VariableDefinitionEditorWindow self = this;
- private final VariableDefinitionType variable;
- private boolean isSaved = false;
- /**
- * The constructor should first build the main layout, set the
- * composition root and then do any custom initialization.
- *
- * The constructor will not be automatically regenerated by the
- * visual editor.
- */
- public VariableDefinitionEditorWindow(VariableDefinitionType variable) {
- buildMainLayout();
- //setCompositionRoot(mainLayout);
- setContent(mainLayout);
- //
- // Save
- //
- this.variable = variable;
- //
- // Set our shortcuts
- //
- this.setCloseShortcut(KeyCode.ESCAPE);
- //
- // Initialize
- //
- this.initializeText();
- this.initializeButton();
- //
- // Initial focus
- //
- this.textFieldID.focus();
- }
-
- protected void initializeText() {
- //
- // Initialize GUI properties
- //
- this.textFieldID.setImmediate(true);
- //
- // Listen to changes
- //
- this.textFieldID.addTextChangeListener(new TextChangeListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void textChange(TextChangeEvent event) {
- if (event.getText() != null && event.getText().isEmpty() == false) {
- self.buttonSave.setEnabled(true);
- } else {
- self.buttonSave.setEnabled(false);
- }
- }
-
- });
- this.textFieldID.addValueChangeListener(new ValueChangeListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void valueChange(ValueChangeEvent event) {
- if (self.textFieldID.getValue() != null && self.textFieldID.getValue().isEmpty() == false) {
- self.buttonSave.setEnabled(true);
- } else {
- self.buttonSave.setEnabled(false);
- }
- }
- });
- //
- // Set the value
- //
- this.textFieldID.setValue(variable.getVariableId());
- }
-
- protected void initializeButton() {
- this.buttonSave.setClickShortcut(KeyCode.ENTER);
- this.buttonSave.addClickListener(new ClickListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void buttonClick(ClickEvent event) {
- try {
- //
- // Commit it
- //
- self.textFieldID.commit();
- //
- // Save it
- //
- self.variable.setVariableId(self.textFieldID.getValue());
- self.isSaved = true;
- //
- // Close window
- //
- self.close();
- } catch (SourceException | InvalidValueException e) { //NOPMD
- // Vaadin will display error
- // TODO - Verify that Vaadin will display error and update this
- // inline documentation accordingly
- }
- }
- });
- }
-
- public boolean isSaved() {
- return this.isSaved;
- }
-
- public VariableDefinitionType getVariable() {
- return this.variable;
- }
-
- @AutoGenerated
- private VerticalLayout buildMainLayout() {
- // common part: create layout
- mainLayout = new VerticalLayout();
- mainLayout.setImmediate(false);
- mainLayout.setWidth("-1px");
- mainLayout.setHeight("-1px");
- mainLayout.setMargin(true);
- mainLayout.setSpacing(true);
-
- // top-level component properties
- setWidth("-1px");
- setHeight("-1px");
-
- // textFieldID
- textFieldID = new TextField();
- textFieldID.setCaption("Variable ID");
- textFieldID.setImmediate(false);
- textFieldID.setWidth("-1px");
- textFieldID.setHeight("-1px");
- textFieldID.setInvalidAllowed(false);
- textFieldID.setRequired(true);
- textFieldID.setNullRepresentation("");
- mainLayout.addComponent(textFieldID);
-
- // buttonSave
- buttonSave = new Button();
- buttonSave.setCaption("Save and Continue");
- buttonSave.setImmediate(false);
- buttonSave.setWidth("-1px");
- buttonSave.setHeight("-1px");
- mainLayout.addComponent(buttonSave);
- mainLayout.setComponentAlignment(buttonSave, new Alignment(48));
-
- return mainLayout;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/c68f98c5/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/VariableReferenceEditorWindow.java
----------------------------------------------------------------------
diff --git a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/VariableReferenceEditorWindow.java b/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/VariableReferenceEditorWindow.java
deleted file mode 100644
index 53b47c4..0000000
--- a/openaz-xacml-pap-admin/src/main/java/org/apache/openaz/xacml/admin/view/windows/VariableReferenceEditorWindow.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.openaz.xacml.admin.view.windows;
-
-import java.util.Map;
-
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.VariableDefinitionType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.VariableReferenceType;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import com.vaadin.annotations.AutoGenerated;
-import com.vaadin.data.Buffered.SourceException;
-import com.vaadin.data.Property.ValueChangeEvent;
-import com.vaadin.data.Property.ValueChangeListener;
-import com.vaadin.data.Validator.InvalidValueException;
-import com.vaadin.event.FieldEvents.TextChangeEvent;
-import com.vaadin.event.FieldEvents.TextChangeListener;
-import com.vaadin.event.ShortcutAction.KeyCode;
-import com.vaadin.ui.Alignment;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.Button.ClickEvent;
-import com.vaadin.ui.Button.ClickListener;
-import com.vaadin.ui.ListSelect;
-import com.vaadin.ui.TextField;
-import com.vaadin.ui.VerticalLayout;
-import com.vaadin.ui.Window;
-
-public class VariableReferenceEditorWindow extends Window {
- /*- VaadinEditorProperties={"grid":"RegularGrid,20","showGrid":true,"snapToGrid":true,"snapToObject":true,"movingGuides":false,"snappingDistance":10} */
-
- @AutoGenerated
- private VerticalLayout mainLayout;
- @AutoGenerated
- private Button buttonSave;
- @AutoGenerated
- private TextField textFieldVariable;
- @AutoGenerated
- private ListSelect listSelectVariables;
- /*
- *
- */
- private static final long serialVersionUID = 1L;
- private static Log logger = LogFactory.getLog(VariableReferenceEditorWindow.class);
- private final VariableReferenceEditorWindow self = this;
- private final VariableReferenceType variable;
- private boolean isSaved = false;
- /**
- * The constructor should first build the main layout, set the
- * composition root and then do any custom initialization.
- *
- * The constructor will not be automatically regenerated by the
- * visual editor.
- */
- public VariableReferenceEditorWindow(VariableReferenceType variable, Map<VariableDefinitionType, PolicyType> variables) {
- buildMainLayout();
- //setCompositionRoot(mainLayout);
- setContent(mainLayout);
- //
- // Save parameters
- //
- this.variable = variable;
- //
- // Set our shortcuts
- //
- this.setCloseShortcut(KeyCode.ESCAPE);
- //
- // Initialize
- //
- this.initializeTextField();
- this.initializeSelect(variables);
- this.initializeButtons();
- //
- // Focus
- //
- this.textFieldVariable.focus();
- }
-
- protected void initializeTextField() {
- this.textFieldVariable.setImmediate(true);
- this.textFieldVariable.setNullRepresentation("");
- this.textFieldVariable.addTextChangeListener(new TextChangeListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void textChange(TextChangeEvent event) {
- if (event.getText() != null && event.getText().isEmpty() == false) {
- self.buttonSave.setEnabled(true);
- } else {
- self.buttonSave.setEnabled(false);
- }
- }
-
- });
- this.textFieldVariable.addValueChangeListener(new ValueChangeListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void valueChange(ValueChangeEvent event) {
- String value = self.textFieldVariable.getValue();
- if (value == null || value.isEmpty()) {
- self.buttonSave.setEnabled(false);
- } else {
- self.buttonSave.setEnabled(true);
- }
- }
- });
- if (this.variable != null) {
- this.textFieldVariable.setValue(this.variable.getVariableId());
- }
- }
-
- protected void initializeSelect(Map<VariableDefinitionType, PolicyType> vars) {
- //
- // Add existing variables into the table
- //
- if (vars != null) {
- for (VariableDefinitionType var : vars.keySet()) {
- this.listSelectVariables.addItem(var.getVariableId());
- }
- }
- //
- // Respond to changes
- //
- this.listSelectVariables.setImmediate(true);
- this.listSelectVariables.addValueChangeListener(new ValueChangeListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void valueChange(ValueChangeEvent event) {
- Object value = self.listSelectVariables.getValue();
- if (value != null) {
- self.textFieldVariable.setValue(value.toString());
- }
- }
- });
- }
-
- protected void initializeButtons() {
- this.buttonSave.setClickShortcut(KeyCode.ENTER);
- this.buttonSave.addClickListener(new ClickListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void buttonClick(ClickEvent event) {
- try {
- //
- // Commit
- //
- self.textFieldVariable.commit();
- //
- // Now we can save
- //
- self.isSaved = true;
- self.variable.setVariableId(self.textFieldVariable.getValue());
- //
- // And close the window
- //
- self.close();
- } catch (SourceException | InvalidValueException e) {
- logger.error("Commit variable id: " + e);
- }
- }
- });
- }
-
- public boolean isSaved() {
- return this.isSaved;
- }
-
- public VariableReferenceType getVariableReference() {
- return this.variable;
- }
-
- @AutoGenerated
- private VerticalLayout buildMainLayout() {
- // common part: create layout
- mainLayout = new VerticalLayout();
- mainLayout.setImmediate(false);
- mainLayout.setWidth("-1px");
- mainLayout.setHeight("-1px");
- mainLayout.setMargin(true);
- mainLayout.setSpacing(true);
-
- // top-level component properties
- setWidth("-1px");
- setHeight("-1px");
-
- // listSelectVariables
- listSelectVariables = new ListSelect();
- listSelectVariables.setCaption("Defined Variables");
- listSelectVariables.setImmediate(false);
- listSelectVariables.setWidth("100.0%");
- listSelectVariables.setHeight("-1px");
- mainLayout.addComponent(listSelectVariables);
- mainLayout.setExpandRatio(listSelectVariables, 1.0f);
-
- // textFieldVariable
- textFieldVariable = new TextField();
- textFieldVariable.setCaption("Variable");
- textFieldVariable.setImmediate(false);
- textFieldVariable.setWidth("-1px");
- textFieldVariable.setHeight("-1px");
- textFieldVariable.setInvalidAllowed(false);
- textFieldVariable.setRequired(true);
- textFieldVariable.setInputPrompt("Eg. \"12345\" or \"myVariable1\"");
- mainLayout.addComponent(textFieldVariable);
- mainLayout.setExpandRatio(textFieldVariable, 1.0f);
-
- // buttonSave
- buttonSave = new Button();
- buttonSave.setCaption("Save");
- buttonSave.setImmediate(true);
- buttonSave.setWidth("-1px");
- buttonSave.setHeight("-1px");
- mainLayout.addComponent(buttonSave);
- mainLayout.setComponentAlignment(buttonSave, new Alignment(48));
-
- return mainLayout;
- }
-
-}