|
/*
|
|
* This program is a part of the IoTa Project.
|
|
*
|
|
* Copyright © 2011-2012 Université de Caen Basse-Normandie, GREYC
|
|
* Copyright © 2011 Orange Labs
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
* <http://www.gnu.org/licenses/>
|
|
*
|
|
* See AUTHORS for a list of contributors.
|
|
*/
|
|
package fr.unicaen.iota.xacml.vue;
|
|
|
|
import fr.unicaen.iota.xacml.AccessPolicyManager;
|
|
import fr.unicaen.iota.xacml.cond.OneOrGlobalFunction;
|
|
import fr.unicaen.iota.xacml.policy.GroupPolicy;
|
|
import fr.unicaen.iota.xacml.policy.Module;
|
|
import fr.unicaen.iota.xacml.policy.OwnerPolicies;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import javax.swing.tree.DefaultMutableTreeNode;
|
|
|
|
public class AccessPolicyManagerVue extends javax.swing.JFrame {
|
|
|
|
private String partner;
|
|
private String user;
|
|
private AccessPolicyManager apm;
|
|
private DefaultMutableTreeNode captureRoot;
|
|
private DefaultMutableTreeNode queryRoot;
|
|
private DefaultMutableTreeNode administrationRoot;
|
|
private boolean isInitiated = false;
|
|
|
|
/**
|
|
* Creates new form AccessPolicyManagerInterface
|
|
*/
|
|
public AccessPolicyManagerVue(String partner, String user) {
|
|
this.partner = partner;
|
|
this.user = user;
|
|
initComponents();
|
|
initGroups();
|
|
}
|
|
|
|
private void initGroups() {
|
|
apm = new AccessPolicyManager();
|
|
createQueryTreeNodes();
|
|
}
|
|
|
|
private void createQueryTreeNodes() {
|
|
root.removeAllChildren();
|
|
List list = apm.getPolicies(partner);
|
|
OwnerPolicies queryPolicy = (OwnerPolicies) list.get(0);
|
|
if (queryPolicy == null) {
|
|
queryPolicy = new OwnerPolicies(partner, Module.queryModule);
|
|
apm.addQueryPolicy(queryPolicy);
|
|
}
|
|
OwnerPoliciesTreeNode queryPolicyInterface = new OwnerPoliciesTreeNode(queryPolicy);
|
|
queryRoot = new DefaultMutableTreeNode(queryPolicyInterface);
|
|
root.add(queryRoot);
|
|
List groupPolicies = queryPolicy.getPolicies();
|
|
for (Object ob : groupPolicies) {
|
|
GroupPolicy gp = (GroupPolicy) ob;
|
|
GroupPolicyTreeNode groupPolicyInterface = new GroupPolicyTreeNode(gp);
|
|
DefaultMutableTreeNode groupRoot = new DefaultMutableTreeNode(groupPolicyInterface);
|
|
queryRoot.add(groupRoot);
|
|
DefaultMutableTreeNode filtersRoot = new DefaultMutableTreeNode("Filters");
|
|
groupRoot.add(filtersRoot);
|
|
|
|
UserGroupRuleTreeNode userGroupRuleTreeNode = new UserGroupRuleTreeNode(gp.getUsers(), gp.getUsersFilterFunction());
|
|
DefaultMutableTreeNode userGroupRoot = new DefaultMutableTreeNode(userGroupRuleTreeNode);
|
|
groupRoot.insert(userGroupRoot, 0);
|
|
|
|
ActionTargetTreeNode actionsTreeNode = new ActionTargetTreeNode(gp.getActions());
|
|
DefaultMutableTreeNode actionsRoot = new DefaultMutableTreeNode(actionsTreeNode);
|
|
groupRoot.insert(actionsRoot, 0);
|
|
|
|
EpcsRuleTreeNode epcsRuleTreeNode = new EpcsRuleTreeNode(gp.getEpcs(), gp.getEpcsFilterFunction());
|
|
DefaultMutableTreeNode epcsGroupRoot = new DefaultMutableTreeNode(epcsRuleTreeNode);
|
|
filtersRoot.add(epcsGroupRoot);
|
|
|
|
BizStepRuleTreeNode bizStepRuleTreeNode = new BizStepRuleTreeNode(gp.getBizSteps(), gp.getBizStepsFilterFunction());
|
|
DefaultMutableTreeNode bizStepGroupRoot = new DefaultMutableTreeNode(bizStepRuleTreeNode);
|
|
filtersRoot.add(bizStepGroupRoot);
|
|
|
|
EventTimeRuleTreeNode eventTimeRuleTreeNode = new EventTimeRuleTreeNode(gp.getEventTimes(), gp.getEventTimesFilterFunction());
|
|
DefaultMutableTreeNode eventTimeGroupRoot = new DefaultMutableTreeNode(eventTimeRuleTreeNode);
|
|
filtersRoot.add(eventTimeGroupRoot);
|
|
|
|
RecordTimeRuleTreeNode recordTimeRuleTreeNode = new RecordTimeRuleTreeNode(gp.getRecordTimes(), gp.getRecordTimesFilterFunction());
|
|
DefaultMutableTreeNode recordTimeGroupRoot = new DefaultMutableTreeNode(recordTimeRuleTreeNode);
|
|
filtersRoot.add(recordTimeGroupRoot);
|
|
|
|
OperationRuleTreeNode operationRuleTreeNode = new OperationRuleTreeNode(gp.getOperations(), gp.getOperationsFilterFunction());
|
|
DefaultMutableTreeNode operationGroupRoot = new DefaultMutableTreeNode(operationRuleTreeNode);
|
|
filtersRoot.add(operationGroupRoot);
|
|
|
|
EventTypeRuleTreeNode eventTypeRuleTreeNode = new EventTypeRuleTreeNode(gp.getEventTypes(), gp.getEventTypesFilterFunction());
|
|
DefaultMutableTreeNode eventTypeGroupRoot = new DefaultMutableTreeNode(eventTypeRuleTreeNode);
|
|
filtersRoot.add(eventTypeGroupRoot);
|
|
|
|
ParentIdRuleTreeNode parentIdRuleTreeNode = new ParentIdRuleTreeNode(gp.getParentIds(), gp.getParentIdsFilterFunction());
|
|
DefaultMutableTreeNode parentIdGroupRoot = new DefaultMutableTreeNode(parentIdRuleTreeNode);
|
|
filtersRoot.add(parentIdGroupRoot);
|
|
|
|
ChildEpcRuleTreeNode childEpcRuleTreeNode = new ChildEpcRuleTreeNode(gp.getChildEpcs(), gp.getChildEpcsFilterFunction());
|
|
DefaultMutableTreeNode childEpcGroupRoot = new DefaultMutableTreeNode(childEpcRuleTreeNode);
|
|
filtersRoot.add(childEpcGroupRoot);
|
|
|
|
QuantityRuleTreeNode quantityRuleTreeNode = new QuantityRuleTreeNode(gp.getQuantities(), gp.getQuantitiesFilterFunction());
|
|
DefaultMutableTreeNode quantityGroupRoot = new DefaultMutableTreeNode(quantityRuleTreeNode);
|
|
filtersRoot.add(quantityGroupRoot);
|
|
|
|
ReadPointRuleTreeNode readPointRuleTreeNode = new ReadPointRuleTreeNode(gp.getReadPoints(), gp.getReadPointsFilterFunction());
|
|
DefaultMutableTreeNode readPointGroupRoot = new DefaultMutableTreeNode(readPointRuleTreeNode);
|
|
filtersRoot.add(readPointGroupRoot);
|
|
|
|
BizLocRuleTreeNode bizLocRuleTreeNode = new BizLocRuleTreeNode(gp.getBizLocs(), gp.getBizLocsFilterFunction());
|
|
DefaultMutableTreeNode bizLocGroupRoot = new DefaultMutableTreeNode(bizLocRuleTreeNode);
|
|
filtersRoot.add(bizLocGroupRoot);
|
|
|
|
BizTransRuleTreeNode bizTransRuleTreeNode = new BizTransRuleTreeNode(gp.getBizTrans(), gp.getBizTransFilterFunction());
|
|
DefaultMutableTreeNode bizTransGroupRoot = new DefaultMutableTreeNode(bizTransRuleTreeNode);
|
|
filtersRoot.add(bizTransGroupRoot);
|
|
|
|
DispositionRuleTreeNode dispositionRuleTreeNode = new DispositionRuleTreeNode(gp.getDispositions(), gp.getDispositionsFilterFunction());
|
|
DefaultMutableTreeNode dispositionGroupRoot = new DefaultMutableTreeNode(dispositionRuleTreeNode);
|
|
filtersRoot.add(dispositionGroupRoot);
|
|
|
|
MasterDataIdRuleTreeNode masterDataIdRuleTreeNode = new MasterDataIdRuleTreeNode(gp.getMasterDataIds(), gp.getMasterDataIdsFilterFunction());
|
|
DefaultMutableTreeNode masterDataIdGroupRoot = new DefaultMutableTreeNode(masterDataIdRuleTreeNode);
|
|
filtersRoot.add(dispositionGroupRoot);
|
|
|
|
for (Object obAction : gp.getActions()) {
|
|
String action = (String) obAction;
|
|
StringAttributeTreeNode satn = new StringAttributeTreeNode(action, "action");
|
|
DefaultMutableTreeNode valueNode = new DefaultMutableTreeNode(satn);
|
|
actionsRoot.add(valueNode);
|
|
}
|
|
|
|
for (Object obUser : gp.getUsers()) {
|
|
String suser = (String) obUser;
|
|
String permission = (OneOrGlobalFunction.NAME_GLOBAL_PERMIT.equals(gp.getUsersFilterFunction().getFunctionName())) ? "DENY" : "PERMIT";
|
|
StringAttributeTreeNode satn = new StringAttributeTreeNode(suser, permission);
|
|
DefaultMutableTreeNode valueNode = new DefaultMutableTreeNode(satn);
|
|
userGroupRoot.add(valueNode);
|
|
}
|
|
|
|
for (Object obBizStep : gp.getBizSteps()) {
|
|
String bizStep = (String) obBizStep;
|
|
String permission = (OneOrGlobalFunction.NAME_GLOBAL_PERMIT.equals(gp.getBizStepsFilterFunction().getFunctionName())) ? "DENY" : "PERMIT";
|
|
StringAttributeTreeNode satn = new StringAttributeTreeNode(bizStep, permission);
|
|
DefaultMutableTreeNode valueNode = new DefaultMutableTreeNode(satn);
|
|
bizStepGroupRoot.add(valueNode);
|
|
}
|
|
|
|
for (Object obEpc : gp.getEpcs()) {
|
|
String epc = (String) obEpc;
|
|
String permission = (OneOrGlobalFunction.NAME_GLOBAL_PERMIT.equals(gp.getEpcsFilterFunction().getFunctionName())) ? "DENY" : "PERMIT";
|
|
StringAttributeTreeNode satn = new StringAttributeTreeNode(epc, permission);
|
|
DefaultMutableTreeNode valueNode = new DefaultMutableTreeNode(satn);
|
|
epcsGroupRoot.add(valueNode);
|
|
}
|
|
|
|
for (Object obEventTime : gp.getEventTimes()) {
|
|
List eventTimes = (List) obEventTime;
|
|
Date lowDate = (Date) eventTimes.get(0);
|
|
Date highDate = (Date) eventTimes.get(1);
|
|
String permission = (OneOrGlobalFunction.NAME_GLOBAL_PERMIT.equals(gp.getEventTimesFilterFunction().getFunctionName())) ? "DENY" : "PERMIT";
|
|
DateTimeAttributeTreeNode satn = new DateTimeAttributeTreeNode(lowDate, highDate, permission);
|
|
DefaultMutableTreeNode valueNode = new DefaultMutableTreeNode(satn);
|
|
eventTimeGroupRoot.add(valueNode);
|
|
}
|
|
|
|
for (Object obRecordTime : gp.getRecordTimes()) {
|
|
List recordTimes = (List) obRecordTime;
|
|
Date lowDate = (Date) recordTimes.get(0);
|
|
Date highDate = (Date) recordTimes.get(1);
|
|
String permission = (OneOrGlobalFunction.NAME_GLOBAL_PERMIT.equals(gp.getRecordTimesFilterFunction().getFunctionName())) ? "DENY" : "PERMIT";
|
|
DateTimeAttributeTreeNode satn = new DateTimeAttributeTreeNode(lowDate, highDate, permission);
|
|
DefaultMutableTreeNode valueNode = new DefaultMutableTreeNode(satn);
|
|
recordTimeGroupRoot.add(valueNode);
|
|
}
|
|
|
|
for (Object obOperation : gp.getOperations()) {
|
|
String operation = (String) obOperation;
|
|
String permission = (OneOrGlobalFunction.NAME_GLOBAL_PERMIT.equals(gp.getOperationsFilterFunction().getFunctionName())) ? "DENY" : "PERMIT";
|
|
StringAttributeTreeNode satn = new StringAttributeTreeNode(operation, permission);
|
|
DefaultMutableTreeNode valueNode = new DefaultMutableTreeNode(satn);
|
|
operationGroupRoot.add(valueNode);
|
|
}
|
|
|
|
for (Object obEventType : gp.getEventTypes()) {
|
|
String eventType = (String) obEventType;
|
|
String permission = (OneOrGlobalFunction.NAME_GLOBAL_PERMIT.equals(gp.getEventTypesFilterFunction().getFunctionName())) ? "DENY" : "PERMIT";
|
|
StringAttributeTreeNode satn = new StringAttributeTreeNode(eventType, permission);
|
|
DefaultMutableTreeNode valueNode = new DefaultMutableTreeNode(satn);
|
|
eventTypeGroupRoot.add(valueNode);
|
|
}
|
|
|
|
for (Object obParentId : gp.getParentIds()) {
|
|
String parentId = (String) obParentId;
|
|
String permission = (OneOrGlobalFunction.NAME_GLOBAL_PERMIT.equals(gp.getParentIdsFilterFunction().getFunctionName())) ? "DENY" : "PERMIT";
|
|
StringAttributeTreeNode satn = new StringAttributeTreeNode(parentId, permission);
|
|
DefaultMutableTreeNode valueNode = new DefaultMutableTreeNode(satn);
|
|
parentIdGroupRoot.add(valueNode);
|
|
}
|
|
|
|
for (Object obChildEpc : gp.getChildEpcs()) {
|
|
String childEpc = (String) obChildEpc;
|
|
String permission = (OneOrGlobalFunction.NAME_GLOBAL_PERMIT.equals(gp.getChildEpcsFilterFunction().getFunctionName())) ? "DENY" : "PERMIT";
|
|
StringAttributeTreeNode satn = new StringAttributeTreeNode(childEpc, permission);
|
|
DefaultMutableTreeNode valueNode = new DefaultMutableTreeNode(satn);
|
|
childEpcGroupRoot.add(valueNode);
|
|
}
|
|
|
|
for (Object obQuantity : gp.getQuantities()) {
|
|
List quantities = (List) obQuantity;
|
|
Long lowQuantity = (Long) quantities.get(0);
|
|
Long highQuantity = (Long) quantities.get(1);
|
|
String permission = (OneOrGlobalFunction.NAME_GLOBAL_PERMIT.equals(gp.getQuantitiesFilterFunction().getFunctionName())) ? "DENY" : "PERMIT";
|
|
IntegerAttributeTreeNode satn = new IntegerAttributeTreeNode(lowQuantity, highQuantity, permission);
|
|
DefaultMutableTreeNode valueNode = new DefaultMutableTreeNode(satn);
|
|
quantityGroupRoot.add(valueNode);
|
|
}
|
|
|
|
for (Object obReadPoint : gp.getReadPoints()) {
|
|
String readPoint = (String) obReadPoint;
|
|
String permission = (OneOrGlobalFunction.NAME_GLOBAL_PERMIT.equals(gp.getReadPointsFilterFunction().getFunctionName())) ? "DENY" : "PERMIT";
|
|
StringAttributeTreeNode satn = new StringAttributeTreeNode(readPoint, permission);
|
|
DefaultMutableTreeNode valueNode = new DefaultMutableTreeNode(satn);
|
|
readPointGroupRoot.add(valueNode);
|
|
}
|
|
|
|
for (Object obBizLoc : gp.getBizLocs()) {
|
|
String bizLoc = (String) obBizLoc;
|
|
String permission = (OneOrGlobalFunction.NAME_GLOBAL_PERMIT.equals(gp.getBizLocsFilterFunction().getFunctionName())) ? "DENY" : "PERMIT";
|
|
StringAttributeTreeNode satn = new StringAttributeTreeNode(bizLoc, permission);
|
|
DefaultMutableTreeNode valueNode = new DefaultMutableTreeNode(satn);
|
|
bizLocGroupRoot.add(valueNode);
|
|
}
|
|
|
|
for (Object obBizTrans : gp.getBizTrans()) {
|
|
String bizTrans = (String) obBizTrans;
|
|
String permission = (OneOrGlobalFunction.NAME_GLOBAL_PERMIT.equals(gp.getBizTransFilterFunction().getFunctionName())) ? "DENY" : "PERMIT";
|
|
StringAttributeTreeNode satn = new StringAttributeTreeNode(bizTrans, permission);
|
|
DefaultMutableTreeNode valueNode = new DefaultMutableTreeNode(satn);
|
|
bizTransGroupRoot.add(valueNode);
|
|
}
|
|
|
|
for (Object obDisposition : gp.getDispositions()) {
|
|
String disposition = (String) obDisposition;
|
|
String permission = (OneOrGlobalFunction.NAME_GLOBAL_PERMIT.equals(gp.getDispositionsFilterFunction().getFunctionName())) ? "DENY" : "PERMIT";
|
|
StringAttributeTreeNode satn = new StringAttributeTreeNode(disposition, permission);
|
|
DefaultMutableTreeNode valueNode = new DefaultMutableTreeNode(satn);
|
|
dispositionGroupRoot.add(valueNode);
|
|
}
|
|
|
|
for (Object obMasterDataId : gp.getMasterDataIds()) {
|
|
String masterDataId = (String) obMasterDataId;
|
|
String permission = (OneOrGlobalFunction.NAME_GLOBAL_PERMIT.equals(gp.getMasterDataIdsFilterFunction().getFunctionName())) ? "DENY" : "PERMIT";
|
|
StringAttributeTreeNode satn = new StringAttributeTreeNode(masterDataId, permission);
|
|
DefaultMutableTreeNode valueNode = new DefaultMutableTreeNode(satn);
|
|
masterDataIdGroupRoot.add(valueNode);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
private void initComponents() {
|
|
|
|
jPanel1 = new javax.swing.JPanel();
|
|
jLabelTitle = new javax.swing.JLabel();
|
|
jLabelPartner = new javax.swing.JLabel();
|
|
jLabelUser = new javax.swing.JLabel();
|
|
jPanel2 = new javax.swing.JPanel();
|
|
jButtonDelete = new javax.swing.JButton();
|
|
jButtonModify = new javax.swing.JButton();
|
|
jButtonSave = new javax.swing.JButton();
|
|
jButtonAddGroup = new javax.swing.JButton();
|
|
jButtonAddFilter = new javax.swing.JButton();
|
|
jScrollPane1 = new javax.swing.JScrollPane();
|
|
root = new DefaultMutableTreeNode(partner);
|
|
jTreeGroupsView = new javax.swing.JTree(root);
|
|
|
|
setDefaultCloseOperation(
|
|
javax.swing.WindowConstants.EXIT_ON_CLOSE);
|
|
|
|
jLabelTitle.setText("AccessPolicyManager");
|
|
|
|
jLabelPartner.setText("partner: " + partner);
|
|
|
|
jLabelUser.setText("user: " + user);
|
|
|
|
jButtonDelete.setText("Delete");
|
|
jButtonDelete.addActionListener(new java.awt.event.ActionListener() {
|
|
|
|
@Override
|
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
jButtonDeleteActionPerformed(evt);
|
|
}
|
|
});
|
|
|
|
jButtonModify.setText("Modify Filter");
|
|
jButtonModify.addActionListener(new java.awt.event.ActionListener() {
|
|
|
|
@Override
|
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
jButtonModifyActionPerformed(evt);
|
|
}
|
|
});
|
|
|
|
|
|
jButtonSave.setText("Save");
|
|
jButtonSave.addActionListener(new java.awt.event.ActionListener() {
|
|
|
|
@Override
|
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
jButtonSaveActionPerformed(evt);
|
|
}
|
|
});
|
|
|
|
jButtonAddGroup.setText("Add new group");
|
|
jButtonAddGroup.addActionListener(new java.awt.event.ActionListener() {
|
|
|
|
@Override
|
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
jButtonAddGroupActionPerformed(evt);
|
|
}
|
|
});
|
|
|
|
jScrollPane1.setViewportView(jTreeGroupsView);
|
|
|
|
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
|
|
jPanel2.setLayout(jPanel2Layout);
|
|
jPanel2Layout.setHorizontalGroup(
|
|
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup().addContainerGap(588, Short.MAX_VALUE).addComponent(jButtonSave).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jButtonModify).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jButtonDelete).addContainerGap()).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup().addContainerGap(309, Short.MAX_VALUE).addComponent(jButtonAddGroup, javax.swing.GroupLayout.PREFERRED_SIZE, 184, javax.swing.GroupLayout.PREFERRED_SIZE).addGap(305, 305, 305)).addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 798, Short.MAX_VALUE));
|
|
jPanel2Layout.setVerticalGroup(
|
|
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup().addGap(27, 27, 27).addComponent(jButtonAddGroup).addGap(18, 18, 18).addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 272, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 26, Short.MAX_VALUE).addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jButtonDelete).addComponent(jButtonModify).addComponent(jButtonSave)).addContainerGap()));
|
|
|
|
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
|
|
jPanel1.setLayout(jPanel1Layout);
|
|
jPanel1Layout.setHorizontalGroup(
|
|
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel1Layout.createSequentialGroup().addContainerGap().addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel1Layout.createSequentialGroup().addComponent(jLabelPartner).addContainerGap(759, Short.MAX_VALUE)).addGroup(jPanel1Layout.createSequentialGroup().addComponent(jLabelUser).addContainerGap(778, Short.MAX_VALUE)).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup().addComponent(jLabelTitle).addGap(330, 330, 330)).addGroup(jPanel1Layout.createSequentialGroup().addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addContainerGap()))));
|
|
jPanel1Layout.setVerticalGroup(
|
|
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel1Layout.createSequentialGroup().addComponent(jLabelTitle).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jLabelPartner).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jLabelUser).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addContainerGap()));
|
|
|
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
|
getContentPane().setLayout(layout);
|
|
layout.setHorizontalGroup(
|
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE));
|
|
layout.setVerticalGroup(
|
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
|
|
|
|
mouseEventHandler = new MouseEventHandler(jTreeGroupsView, this);
|
|
jTreeGroupsView.addMouseListener(mouseEventHandler);
|
|
|
|
pack();
|
|
}// </editor-fold>
|
|
|
|
private void jButtonAddGroupActionPerformed(java.awt.event.ActionEvent evt) {
|
|
Object o = jTreeGroupsView.getLastSelectedPathComponent();
|
|
DefaultMutableTreeNode nodeSelected = (DefaultMutableTreeNode) o;
|
|
Object object = nodeSelected.getUserObject();
|
|
if (object instanceof OwnerPoliciesTreeNode) {
|
|
GroupPolicyInterface dialog = new GroupPolicyInterface(this, rootPaneCheckingEnabled);
|
|
dialog.setVisible(true);
|
|
}
|
|
}
|
|
|
|
public void handleGroupPolicyAdding(String content) {
|
|
Object o = jTreeGroupsView.getLastSelectedPathComponent();
|
|
DefaultMutableTreeNode nodeSelected = (DefaultMutableTreeNode) o;
|
|
Object object = nodeSelected.getUserObject();
|
|
if (object instanceof OwnerPoliciesTreeNode) {
|
|
OwnerPoliciesTreeNode ownerPoliciesTreeNode = (OwnerPoliciesTreeNode) object;
|
|
if (Module.queryModule.equals(ownerPoliciesTreeNode.getOwnerPolicies().getType())) {
|
|
GroupPolicy groupPolicy = new GroupPolicy(content, partner);
|
|
groupPolicy.addAction("test");
|
|
groupPolicy.createPolicy();
|
|
apm.addQueryGroupPolicy(partner, groupPolicy);
|
|
GroupPolicyTreeNode groupPolicyTreeNode = new GroupPolicyTreeNode(groupPolicy);
|
|
createQueryTreeNodes();
|
|
}
|
|
}
|
|
jTreeGroupsView.updateUI();
|
|
}
|
|
|
|
private void jButtonDeleteActionPerformed(java.awt.event.ActionEvent evt) {
|
|
}
|
|
|
|
private void jButtonModifyActionPerformed(java.awt.event.ActionEvent evt) {
|
|
Object o = jTreeGroupsView.getLastSelectedPathComponent();
|
|
DefaultMutableTreeNode nodeSelected = (DefaultMutableTreeNode) o;
|
|
Object object = nodeSelected.getUserObject();
|
|
}
|
|
|
|
private void addFilterInTree(DefaultMutableTreeNode parent, String content) {
|
|
if (parent.getUserObject() instanceof RuleTreeNode) {
|
|
RuleTreeNode ruleTreeNode = (RuleTreeNode) parent.getUserObject();
|
|
String permission = (ruleTreeNode.getFunction().getFunctionName().equals(OneOrGlobalFunction.NAME_GLOBAL_PERMIT)) ? "DENY" : "PERMIT";
|
|
StringAttributeTreeNode epcAtt = new StringAttributeTreeNode(content, permission);
|
|
DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(epcAtt);
|
|
parent.add(childNode);
|
|
jTreeGroupsView.updateUI();
|
|
}
|
|
}
|
|
|
|
private void addFilterInTree(DefaultMutableTreeNode parent, List dates) {
|
|
if (parent.getUserObject() instanceof RuleTreeNode) {
|
|
RuleTreeNode ruleTreeNode = (RuleTreeNode) parent.getUserObject();
|
|
String permission = (ruleTreeNode.getFunction().getFunctionName().equals(OneOrGlobalFunction.NAME_GLOBAL_PERMIT)) ? "DENY" : "PERMIT";
|
|
DateTimeAttributeTreeNode epcAtt = new DateTimeAttributeTreeNode((Date) dates.get(0), (Date) dates.get(1), permission);
|
|
DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(epcAtt);
|
|
parent.add(childNode);
|
|
jTreeGroupsView.updateUI();
|
|
}
|
|
}
|
|
|
|
void handleUserAdding(String text) {
|
|
Object object = mouseEventHandler.getLastObjectSelected();
|
|
DefaultMutableTreeNode nodeSelected = mouseEventHandler.getLastNodeSelected();
|
|
DefaultMutableTreeNode groupPolicyNode = (DefaultMutableTreeNode) nodeSelected.getParent();
|
|
Object groupObject = groupPolicyNode.getUserObject();
|
|
if (groupObject instanceof GroupPolicyTreeNode) {
|
|
GroupPolicyTreeNode groupPolicyTreeNode = (GroupPolicyTreeNode) groupObject;
|
|
apm.addQueryUserFilter(partner, groupPolicyTreeNode.getGroupPolicy().getName(), text);
|
|
}
|
|
addFilterInTree(nodeSelected, text);
|
|
}
|
|
|
|
void handleActionAdding(String text) {
|
|
Object object = mouseEventHandler.getLastObjectSelected();
|
|
DefaultMutableTreeNode nodeSelected = mouseEventHandler.getLastNodeSelected();
|
|
DefaultMutableTreeNode groupPolicyNode = (DefaultMutableTreeNode) nodeSelected.getParent();
|
|
Object groupObject = groupPolicyNode.getUserObject();
|
|
if (groupObject instanceof GroupPolicyTreeNode) {
|
|
GroupPolicyTreeNode groupPolicyTreeNode = (GroupPolicyTreeNode) groupObject;
|
|
apm.addQueryActionFilter(partner, groupPolicyTreeNode.getGroupPolicy().getName(), text);
|
|
}
|
|
addFilterInTree(nodeSelected, text);
|
|
}
|
|
|
|
void handleBizStepAdding(String text) {
|
|
Object object = mouseEventHandler.getLastObjectSelected();
|
|
DefaultMutableTreeNode nodeSelected = mouseEventHandler.getLastNodeSelected();
|
|
DefaultMutableTreeNode filterNode = (DefaultMutableTreeNode) nodeSelected.getParent();
|
|
DefaultMutableTreeNode groupPolicyNode = (DefaultMutableTreeNode) filterNode.getParent();
|
|
Object groupObject = groupPolicyNode.getUserObject();
|
|
if (groupObject instanceof GroupPolicyTreeNode) {
|
|
GroupPolicyTreeNode groupPolicyTreeNode = (GroupPolicyTreeNode) groupObject;
|
|
apm.addQueryBizStepFilter(partner, groupPolicyTreeNode.getGroupPolicy().getName(), text);
|
|
}
|
|
addFilterInTree(nodeSelected, text);
|
|
}
|
|
|
|
void handleEpcAdding(String text) {
|
|
Object object = mouseEventHandler.getLastObjectSelected();
|
|
DefaultMutableTreeNode nodeSelected = mouseEventHandler.getLastNodeSelected();
|
|
DefaultMutableTreeNode filterNode = (DefaultMutableTreeNode) nodeSelected.getParent();
|
|
DefaultMutableTreeNode groupPolicyNode = (DefaultMutableTreeNode) filterNode.getParent();
|
|
Object groupObject = groupPolicyNode.getUserObject();
|
|
if (groupObject instanceof GroupPolicyTreeNode) {
|
|
GroupPolicyTreeNode groupPolicyTreeNode = (GroupPolicyTreeNode) groupObject;
|
|
apm.addQueryEpcFilter(partner, groupPolicyTreeNode.getGroupPolicy().getName(), text);
|
|
}
|
|
addFilterInTree(nodeSelected, text);
|
|
}
|
|
|
|
void handleEventTimeAdding(List dates) {
|
|
Object object = mouseEventHandler.getLastObjectSelected();
|
|
DefaultMutableTreeNode nodeSelected = mouseEventHandler.getLastNodeSelected();
|
|
DefaultMutableTreeNode filterNode = (DefaultMutableTreeNode) nodeSelected.getParent();
|
|
DefaultMutableTreeNode groupPolicyNode = (DefaultMutableTreeNode) filterNode.getParent();
|
|
Object groupObject = groupPolicyNode.getUserObject();
|
|
if (groupObject instanceof GroupPolicyTreeNode) {
|
|
GroupPolicyTreeNode groupPolicyTreeNode = (GroupPolicyTreeNode) groupObject;
|
|
apm.addQueryEventTimeFilter(partner, groupPolicyTreeNode.getGroupPolicy().getName(), dates);
|
|
}
|
|
addFilterInTree(nodeSelected, dates);
|
|
}
|
|
|
|
void handleRecordTimeAdding(List dates) {
|
|
Object object = mouseEventHandler.getLastObjectSelected();
|
|
DefaultMutableTreeNode nodeSelected = mouseEventHandler.getLastNodeSelected();
|
|
DefaultMutableTreeNode filterNode = (DefaultMutableTreeNode) nodeSelected.getParent();
|
|
DefaultMutableTreeNode groupPolicyNode = (DefaultMutableTreeNode) filterNode.getParent();
|
|
Object groupObject = groupPolicyNode.getUserObject();
|
|
if (groupObject instanceof GroupPolicyTreeNode) {
|
|
GroupPolicyTreeNode groupPolicyTreeNode = (GroupPolicyTreeNode) groupObject;
|
|
apm.addQueryRecordTimeFilter(partner, groupPolicyTreeNode.getGroupPolicy().getName(), dates);
|
|
}
|
|
addFilterInTree(nodeSelected, dates);
|
|
}
|
|
|
|
void handleOperationAdding(String text) {
|
|
Object object = mouseEventHandler.getLastObjectSelected();
|
|
DefaultMutableTreeNode nodeSelected = mouseEventHandler.getLastNodeSelected();
|
|
DefaultMutableTreeNode filterNode = (DefaultMutableTreeNode) nodeSelected.getParent();
|
|
DefaultMutableTreeNode groupPolicyNode = (DefaultMutableTreeNode) filterNode.getParent();
|
|
Object groupObject = groupPolicyNode.getUserObject();
|
|
if (groupObject instanceof GroupPolicyTreeNode) {
|
|
GroupPolicyTreeNode groupPolicyTreeNode = (GroupPolicyTreeNode) groupObject;
|
|
apm.addQueryOperationFilter(partner, groupPolicyTreeNode.getGroupPolicy().getName(), text);
|
|
}
|
|
addFilterInTree(nodeSelected, text);
|
|
}
|
|
|
|
void handleEventTypeAdding(String text) {
|
|
Object object = mouseEventHandler.getLastObjectSelected();
|
|
DefaultMutableTreeNode nodeSelected = mouseEventHandler.getLastNodeSelected();
|
|
DefaultMutableTreeNode filterNode = (DefaultMutableTreeNode) nodeSelected.getParent();
|
|
DefaultMutableTreeNode groupPolicyNode = (DefaultMutableTreeNode) filterNode.getParent();
|
|
Object groupObject = groupPolicyNode.getUserObject();
|
|
if (groupObject instanceof GroupPolicyTreeNode) {
|
|
GroupPolicyTreeNode groupPolicyTreeNode = (GroupPolicyTreeNode) groupObject;
|
|
apm.addQueryEventTypeFilter(partner, groupPolicyTreeNode.getGroupPolicy().getName(), text);
|
|
}
|
|
addFilterInTree(nodeSelected, text);
|
|
}
|
|
|
|
void handleParentIdAdding(String text) {
|
|
Object object = mouseEventHandler.getLastObjectSelected();
|
|
DefaultMutableTreeNode nodeSelected = mouseEventHandler.getLastNodeSelected();
|
|
DefaultMutableTreeNode filterNode = (DefaultMutableTreeNode) nodeSelected.getParent();
|
|
DefaultMutableTreeNode groupPolicyNode = (DefaultMutableTreeNode) filterNode.getParent();
|
|
Object groupObject = groupPolicyNode.getUserObject();
|
|
if (groupObject instanceof GroupPolicyTreeNode) {
|
|
GroupPolicyTreeNode groupPolicyTreeNode = (GroupPolicyTreeNode) groupObject;
|
|
apm.addQueryParentIdFilter(partner, groupPolicyTreeNode.getGroupPolicy().getName(), text);
|
|
}
|
|
addFilterInTree(nodeSelected, text);
|
|
}
|
|
|
|
void handleChildEpcAdding(String text) {
|
|
Object object = mouseEventHandler.getLastObjectSelected();
|
|
DefaultMutableTreeNode nodeSelected = mouseEventHandler.getLastNodeSelected();
|
|
DefaultMutableTreeNode filterNode = (DefaultMutableTreeNode) nodeSelected.getParent();
|
|
DefaultMutableTreeNode groupPolicyNode = (DefaultMutableTreeNode) filterNode.getParent();
|
|
Object groupObject = groupPolicyNode.getUserObject();
|
|
if (groupObject instanceof GroupPolicyTreeNode) {
|
|
GroupPolicyTreeNode groupPolicyTreeNode = (GroupPolicyTreeNode) groupObject;
|
|
apm.addQueryChildEpcFilter(partner, groupPolicyTreeNode.getGroupPolicy().getName(), text);
|
|
}
|
|
addFilterInTree(nodeSelected, text);
|
|
}
|
|
|
|
void handleQuantityAdding(List quantities) {
|
|
Object object = mouseEventHandler.getLastObjectSelected();
|
|
DefaultMutableTreeNode nodeSelected = mouseEventHandler.getLastNodeSelected();
|
|
DefaultMutableTreeNode filterNode = (DefaultMutableTreeNode) nodeSelected.getParent();
|
|
DefaultMutableTreeNode groupPolicyNode = (DefaultMutableTreeNode) filterNode.getParent();
|
|
Object groupObject = groupPolicyNode.getUserObject();
|
|
if (groupObject instanceof GroupPolicyTreeNode) {
|
|
GroupPolicyTreeNode groupPolicyTreeNode = (GroupPolicyTreeNode) groupObject;
|
|
apm.addQueryQuantityFilter(partner, groupPolicyTreeNode.getGroupPolicy().getName(), quantities);
|
|
}
|
|
addFilterInTree(nodeSelected, quantities);
|
|
}
|
|
|
|
void handleReadPointAdding(String text) {
|
|
Object object = mouseEventHandler.getLastObjectSelected();
|
|
DefaultMutableTreeNode nodeSelected = mouseEventHandler.getLastNodeSelected();
|
|
DefaultMutableTreeNode filterNode = (DefaultMutableTreeNode) nodeSelected.getParent();
|
|
DefaultMutableTreeNode groupPolicyNode = (DefaultMutableTreeNode) filterNode.getParent();
|
|
Object groupObject = groupPolicyNode.getUserObject();
|
|
if (groupObject instanceof GroupPolicyTreeNode) {
|
|
GroupPolicyTreeNode groupPolicyTreeNode = (GroupPolicyTreeNode) groupObject;
|
|
apm.addQueryReadPointFilter(partner, groupPolicyTreeNode.getGroupPolicy().getName(), text);
|
|
}
|
|
addFilterInTree(nodeSelected, text);
|
|
}
|
|
|
|
void handleBizLocAdding(String text) {
|
|
Object object = mouseEventHandler.getLastObjectSelected();
|
|
DefaultMutableTreeNode nodeSelected = mouseEventHandler.getLastNodeSelected();
|
|
DefaultMutableTreeNode filterNode = (DefaultMutableTreeNode) nodeSelected.getParent();
|
|
DefaultMutableTreeNode groupPolicyNode = (DefaultMutableTreeNode) filterNode.getParent();
|
|
Object groupObject = groupPolicyNode.getUserObject();
|
|
if (groupObject instanceof GroupPolicyTreeNode) {
|
|
GroupPolicyTreeNode groupPolicyTreeNode = (GroupPolicyTreeNode) groupObject;
|
|
apm.addQueryBizLocFilter(partner, groupPolicyTreeNode.getGroupPolicy().getName(), text);
|
|
}
|
|
addFilterInTree(nodeSelected, text);
|
|
}
|
|
|
|
void handleBizTransAdding(String text) {
|
|
Object object = mouseEventHandler.getLastObjectSelected();
|
|
DefaultMutableTreeNode nodeSelected = mouseEventHandler.getLastNodeSelected();
|
|
DefaultMutableTreeNode filterNode = (DefaultMutableTreeNode) nodeSelected.getParent();
|
|
DefaultMutableTreeNode groupPolicyNode = (DefaultMutableTreeNode) filterNode.getParent();
|
|
Object groupObject = groupPolicyNode.getUserObject();
|
|
if (groupObject instanceof GroupPolicyTreeNode) {
|
|
GroupPolicyTreeNode groupPolicyTreeNode = (GroupPolicyTreeNode) groupObject;
|
|
apm.addQueryBizTransFilter(partner, groupPolicyTreeNode.getGroupPolicy().getName(), text);
|
|
}
|
|
addFilterInTree(nodeSelected, text);
|
|
}
|
|
|
|
void handleDispositionAdding(String text) {
|
|
Object object = mouseEventHandler.getLastObjectSelected();
|
|
DefaultMutableTreeNode nodeSelected = mouseEventHandler.getLastNodeSelected();
|
|
DefaultMutableTreeNode filterNode = (DefaultMutableTreeNode) nodeSelected.getParent();
|
|
DefaultMutableTreeNode groupPolicyNode = (DefaultMutableTreeNode) filterNode.getParent();
|
|
Object groupObject = groupPolicyNode.getUserObject();
|
|
if (groupObject instanceof GroupPolicyTreeNode) {
|
|
GroupPolicyTreeNode groupPolicyTreeNode = (GroupPolicyTreeNode) groupObject;
|
|
apm.addQueryDispositionFilter(partner, groupPolicyTreeNode.getGroupPolicy().getName(), text);
|
|
}
|
|
addFilterInTree(nodeSelected, text);
|
|
}
|
|
|
|
void handleMasterDataIdAdding(String text) {
|
|
Object object = mouseEventHandler.getLastObjectSelected();
|
|
DefaultMutableTreeNode nodeSelected = mouseEventHandler.getLastNodeSelected();
|
|
DefaultMutableTreeNode filterNode = (DefaultMutableTreeNode) nodeSelected.getParent();
|
|
DefaultMutableTreeNode groupPolicyNode = (DefaultMutableTreeNode) filterNode.getParent();
|
|
Object groupObject = groupPolicyNode.getUserObject();
|
|
if (groupObject instanceof GroupPolicyTreeNode) {
|
|
GroupPolicyTreeNode groupPolicyTreeNode = (GroupPolicyTreeNode) groupObject;
|
|
apm.addQueryMasterDataIdFilter(partner, groupPolicyTreeNode.getGroupPolicy().getName(), text);
|
|
}
|
|
addFilterInTree(nodeSelected, text);
|
|
}
|
|
|
|
private void jButtonSaveActionPerformed(java.awt.event.ActionEvent evt) {
|
|
apm.save(partner);
|
|
}
|
|
|
|
/**
|
|
* @param args the command line arguments
|
|
*/
|
|
public static void main(String args[]) {
|
|
java.awt.EventQueue.invokeLater(new Runnable() {
|
|
|
|
@Override
|
|
public void run() {
|
|
new AccessPolicyManagerVue("toto", "user1.1").setVisible(true);
|
|
}
|
|
});
|
|
}
|
|
// Variables declaration - do not modify
|
|
private javax.swing.JButton jButtonAddGroup;
|
|
private javax.swing.JButton jButtonAddFilter;
|
|
private javax.swing.JButton jButtonDelete;
|
|
private javax.swing.JButton jButtonModify;
|
|
private javax.swing.JButton jButtonSave;
|
|
private javax.swing.JLabel jLabelPartner;
|
|
private javax.swing.JLabel jLabelTitle;
|
|
private javax.swing.JLabel jLabelUser;
|
|
private javax.swing.JPanel jPanel1;
|
|
private javax.swing.JPanel jPanel2;
|
|
private javax.swing.JScrollPane jScrollPane1;
|
|
private javax.swing.JTree jTreeGroupsView;
|
|
private DefaultMutableTreeNode root;
|
|
private MouseEventHandler mouseEventHandler;
|
|
// End of variables declaration
|
|
}
|