⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 entitypermissionpanel.java

📁 发泄网! 发泄网! 发泄网! 发泄网! 发泄网! 发泄网! 发泄网! 发泄网!
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			activeModel = groupModel;			location = new Point(				bodyPanel.getX() + groupPanel.getX() + activeScrollPane.getX() +  ev.getX(),				bodyPanel.getY() + groupPanel.getY() + activeScrollPane.getY() + ev.getY()				);				}*/						final int row = activeTable.rowAtPoint(new Point(ev.getX(), ev.getY()));		final PermissionTableModel finalModel = activeModel;				/*if (row == activeTable.getRowCount()-1) {			return;				}*/				activeTable.setRowSelectionInterval(row,row);		menu = new JPopupMenu("Permissions");		menu.add(new AbstractAction("Delete Permission") {		public void actionPerformed(ActionEvent ev) {			Permission p = finalModel.getPermission(row);			deletePermission(finalType, p);		}		});				menu.setVisible(true);		menu.show(			this,			location.x,			location.y			);			}			/**	* Removes permission from either permission table (as defined by	* the "type" parameter.	*/		public void deletePermission(PermissionType type, Permission p) {		if (type.equals(PermissionType.PERMISSION_USER)) {			permModel.permissions.remove(p);				SwingUtilities.updateComponentTreeUI(permPermissionTable);		} /*else if (type.equals(PermissionType.PERMISSION_GROUP)) {			groupModel.permissions.remove(p);				SwingUtilities.updateComponentTreeUI(groupPermissionTable);		}*/	}		public void addPermission() {		StaffMemberSearchWindow window = new StaffMemberSearchWindow();		window.setCriteria(textFor.getText());		window.setDestination(this);		window.display();	}	/** @deprecated Use the argument-less version */	public void addPermission(PermissionType type) {				if (type.equals(PermissionType.PERMISSION_USER)) {			Permission p = permModel.getPermission(permPermissionTable.getSelectedRow());			if (p.getReference().equals("Add User...")) {				// TODO: use new staff popup window				/*StaffMemberSearchPanel panel = new StaffMemberSearchPanel(					"Add Staff Member",					new EntityPermissionPanel(entityType, entityID, entityPermission),					new EntityPermissionPanel(entityType, entityID, entityPermission),					null);				PanelManager.getInstance().activatePanel(panel);*/			}		} /*else if (type.equals(PermissionType.PERMISSION_GROUP)) {			Permission p = userModel.getPermission(groupPermissionTable.getSelectedRow());			if (p.getReference().equals("Add Group...")) {			}		}*/			}			/**	* Loads all permission data from the back end.	*/		public void refreshData() {		Server server = ServerFactory.getInstance().getServer();				ServerCommand command = new ServerCommand(PermissionModule.PERM_ALL_ENTITY);		command.setParameter(PermissionModule.PARAM_ENTITY_ID, String.valueOf(entityID));		command.setParameter(PermissionModule.PARAM_ENTITY_TYPE, entityType.getCode());		ServerResponse response = server.sendCommand(command);				ArrayList permissions = null;			// User level access permissions		permModel.clear();		permissions = (ArrayList) response.getPart("permissions");		//permissions.add(createAddPermission("Add User..."));		permModel.addPermissions(permissions);		permPermissionTable.setModel(permModel);				SwingUtilities.updateComponentTreeUI(permPermissionTable);		// get the department and location details		command = new ServerCommand(StaffModule.STAFF_SEARCH_FORM);		ServerResponse sr = server.sendCommand(command);		ArrayList departments = (ArrayList) sr.getPart("departments");		departmentModel.removeAllElements();		for (int  i=0; i < departments.size(); i++) {			departmentModel.addElement((Department)departments.get(i));		}		ArrayList locations = (ArrayList) sr.getPart("locations");		locationModel.removeAllElements();		for (int  i=0; i < locations.size(); i++) {			locationModel.addElement((Site)locations.get(i));		}				// Group level access permissions		/*groupModel.clear();		permissions = (ArrayList) response.getPart("permissions.group");		java.util.List groupList = (java.util.List)response.getPart("group.list");		groupPermissionTable.setGroupAddListener(this);		groupPermissionTable.setGroupList(groupList);		System.out.println("Set group list with " + groupList.size() + " elements.");				permissions.add(createAddPermission("Add Group"));		groupModel.addPermissions(permissions);		groupPermissionTable.setModel(groupModel);				SwingUtilities.updateComponentTreeUI(groupPermissionTable); 		//Global access permissions				if (response.getPart("permissions.all") != null) {			Permission all = (Permission) response.getPart("permissions.all");			allReadCheckBox.setSelected(all.canRead());				allWriteCheckBox.setSelected(all.canWrite());			allDeleteCheckBox.setSelected(all.canDelete());		} else {			allReadCheckBox.setSelected(false);				allWriteCheckBox.setSelected(false);			allDeleteCheckBox.setSelected(false);		}*/			}			public void saveData() {				// Remove the 'add' permissions on the end of both user		// and group lists		//permModel.permissions.remove(permModel.permissions.size()-1);		//groupModel.permissions.remove(groupModel.permissions.size()-1);				Server server = ServerFactory.getInstance().getServer();				ServerCommand command = new ServerCommand(PermissionModule.PERM_SAVE_ENTITY);		command.setParameter(PermissionModule.PARAM_ENTITY_ID, String.valueOf(entityID));		command.setParameter(PermissionModule.PARAM_ENTITY_TYPE, entityType.getCode());		command.setParameter("permissions", permModel.permissions);		//command.setParameter("permissions.group", groupModel.permissions);		/*Permission all = new Permission();				all.setEntityID(entityID);		all.setEntityType(entityType);		all.setPermissionType(PermissionType.PERMISSION_ALL);		all.setPermission(Permission.READ_PERMISSION, allReadCheckBox.isSelected());		all.setPermission(Permission.WRITE_PERMISSION, allWriteCheckBox.isSelected());		all.setPermission(Permission.DELETE_PERMISSION, allDeleteCheckBox.isSelected());				command.setParameter("permissions.all", all);		*/		ServerResponse response = server.sendCommand(command);		// The user saving the data will want to return to the previous window		// NOTE: This fixes a bug if they double click the save button it will remove the last permission entry each time		// this is bad and will eventually lock the applet (while removing important data)		if (callback != null) callback.callback(this, CRMSComponent.CB_CLOSE_WINDOW, null);	}		public Permission createAddPermission(String text) {		Permission p = new Permission();		p.setID("add");		p.setReference(text);		return p;	}	public void callback(Object source, int mode, Object data) {		if (source instanceof StaffMemberSearchWindow) {			setStaffMemberFound((StaffMember)data);		}	}		public void setStaffMemberFound(StaffMember staffMember) {		Permission p = new Permission();		p.setEntityID(entityID);		p.setEntityType(entityType);		p.setID(staffMember.getUID());		p.setLocation(staffMember.getLocation());		p.setDivision(staffMember.getDepartment());		p.setPower(staffMember.getPower());		p.setReference(staffMember);		p.setPermission(Permission.READ_PERMISSION, true);		permModel.permissions.add(p);		permPermissionTable.tableChanged(new TableModelEvent(permModel));		textFor.setText("");	}		/*public void groupAdded(Group newGroup) {				for (int i=0; i < groupModel.permissions.size(); i++) {			Permission compare = (Permission) groupModel.permissions.get(i);			if (newGroup.getID().equals(compare.getID())) {				return;			}		}				Permission p = new Permission();		p.setEntityID(entityID);		p.setEntityType(entityType);		p.setPermissionType(PermissionType.PERMISSION_GROUP);		p.setID(newGroup.getID());		p.setReference(newGroup);		groupModel.permissions.add(groupModel.permissions.size()-1, p);		SwingUtilities.updateComponentTreeUI(groupPermissionTable);	}*/			class PermissionTableModel extends DefaultTableModel {				private ArrayList permissions = new ArrayList();				private PermissionType permissionType = null;				public PermissionTableModel(PermissionType type) {			this.permissionType = type;		}				public int getColumnCount() {			return 7;   		}				public int getRowCount() {			if (permissions == null) {			return 0;   			}			return permissions.size();   		}				public boolean isCellEditable(int row, int column) {			//if (permissionType.equals(PermissionType.PERMISSION_USER)) {				return (column >= 3); //&& (row < (permissions.size() -1 )));			//}			/*if (permissionType.equals(PermissionType.PERMISSION_GROUP)) {			return (column > 0 && row < (permissions.size() -1 )				|| (column == 0  && row == (permissions.size() - 1)));			}*/		}				public String getColumnName(int col) {						switch(col) {   				case 0:					return "Name";				case 1:					return "Division";				case 2:					return "Location";				case 3:					return "Read";				case 4:					return "Write";				case 5:					return "Delete";				case 6:					return "Security";				default:					return null;			}		}		public Object getValueAt(int row, int column) {						Permission p = (Permission) permissions.get(row);						switch(column) {				case 0:					return p.getReference() != null ? p.getReference() : "All";				case 1:					return p.getDivision() != null ? p.getDivision() : "All";				case 2:					return p.getLocation() != null ? p.getLocation() : "All";				case 3:					return new Boolean(p.canRead());				case 4:					return new Boolean(p.canWrite());				case 5:					return new Boolean(p.canDelete());				case 6:					return new Boolean(p.canSecurity());				default:					return null;			}					}		public void setValueAt(Object value, int row, int column) {			Permission p = (Permission) permissions.get(row);						if (column < 3) {				return;   			}						p.setPermission(column-3, ((Boolean)value).booleanValue());		}				public void clear() {			permissions = new ArrayList();   		}				public void addPermissions(java.util.List permissionList) {			permissions.addAll(permissionList);   		}				public int getPermissionCount() {			return permissions.size();   		}				public Permission getPermission(int i) {			return (Permission) permissions.get(i);   		}			}	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -