| package org.casbin; |
| |
| import org.apache.commons.cli.*; |
| import org.casbin.jcasbin.main.Enforcer; |
| |
| public class Client { |
| public static void main(String[] args) { |
| try { |
| Object res = clientEnforce(args); |
| System.out.println(res); |
| } catch (ParseException e) { |
| e.printStackTrace(); |
| } |
| } |
| |
| public static Object clientEnforce(String[] args) throws ParseException { |
| Options options = new Options(); |
| Option model = new Option("m", "model", true, "the path of the model file"); |
| options.addOption(model); |
| Option config = new Option("p", "policy", true, "the path of the policy file"); |
| options.addOption(config); |
| Option enforceCMD = new Option("e", "enforce", true, "enforce"); |
| options.addOption(enforceCMD); |
| Option enforceExCMD = new Option("ex", "enforceEx", true, "enforceEx"); |
| options.addOption(enforceExCMD); |
| CommandLineParser parser = new DefaultParser(); |
| CommandLine cmd = parser.parse(options, args); |
| String modelPath = cmd.getOptionValue("model"); |
| String policyFile = cmd.getOptionValue("policy"); |
| Enforcer e = new Enforcer(modelPath, policyFile); |
| if (cmd.hasOption("enforce")) { |
| String enforceArgs = cmd.getOptionValue("enforce"); |
| return e.enforce(enforceArgs.split(",")); |
| } else if (cmd.hasOption("enforceEx")) { |
| String enforceExArgs = cmd.getOptionValue("enforceEx"); |
| return e.enforceEx(enforceExArgs.split(",")); |
| } else { |
| return null; |
| } |
| } |
| } |