Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   *  Copyright (c) 2011 Leibniz Institute of Plant Genetics and Crop Plant Research (IPK), Gatersleben, Germany.
   *  All rights reserved. This program and the accompanying materials
   *  are made available under the terms of the GNU Lesser Public License v2.1
   *  which accompanies this distribution, and is available at
   *  http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
   *
   *  Contributors:
   *      Leibniz Institute of Plant Genetics and Crop Plant Research (IPK), Gatersleben, Germany - RMI Client, FileChooser and WebDAV
  */
 package de.ipk_gatersleben.bit.bi.edal.rmi.client.util;
 
 import java.util.List;
 import java.util.Map;
 
 
A utility class used to manage Principal

Author(s):
Jinbo Chen
Version:
1.0
 
 public class PrincipalUtil {

From the classname and username to get a Principal Instance
 
 	public static Principal getInstance(String classnameString username) {
 		Class c = null;
 		Constructor con = null;
 		Principal principal = null;
 		try {
 			c = Class.forName(classname);
 			con = c.getConstructor(String.class);
 			principal = (Principalcon.newInstance(username);
 			return principal;
 		} catch (Exception e) {
 			return null;
 		}
 	}

check in the dataentry if the principalname and username have a permission methodname
 
 	public static boolean checkPermission(ClientPrimaryDataEntity dataentry,
 			String principalnameString usernameString methodname) {
 
 		try {
 			Map<PrincipalList<Methods>> permissionmap = dataentry
 			if (permissionmap != null) {
 				Iterator it = permissionmap.entrySet().iterator();
 				while (it.hasNext()) {
 							.next();
 					Principal key = entry.getKey();
 					if (key.getName().equals(username)
 							&& key.getClass().getName().equals(principalname)) {
 						List<Methodsvalue = entry.getValue();
 						for (Methods method : value) {
 							if (method.toString().equals(methodname)) {
 								return true;
 							}
 						}
 					}
 				}
 			}
 		} catch (RemoteException e) {
 			JOptionPane.showMessageDialog(
 					null,
 					"Call remote Edal server function exception:"
 							+ e.getMessage(), "EdalFileChooser",
 		} catch (PrimaryDataEntityException e) {
 			JOptionPane.showMessageDialog(null,
 					"Call Edal server function exception:" + e.getMessage(),
 					"EdalFileChooser".);
 		}
 		return false;
 	}

check in the dataentry if the username have a permission methodname
	public static boolean checkPermission(ClientPrimaryDataEntity dataentry,
			String usernameString methodname) {
		try {
			Map<PrincipalList<Methods>> permissionmap = dataentry
			if (permissionmap != null) {
				Iterator it = permissionmap.entrySet().iterator();
				while (it.hasNext()) {
							.next();
					Principal key = entry.getKey();
					if (key.getName().equals(username)) {
						List<Methodsvalue = entry.getValue();
						for (Methods method : value) {
							if (method.toString().equals(methodname)) {
								return true;
							}
						}
					}
				}
			}
catch (RemoteException e) {
			JOptionPane.showMessageDialog(
					null,
					"Call remote Edal server function exception:"
e.getMessage(), "EdalFileChooser",
			JOptionPane.showMessageDialog(null,
					"Call Edal server function exception:" + e.getMessage(),
					"EdalFileChooser".);
		}
		return false;
	}
New to GrepCode? Check out our FAQ X