/* * */ package uk.ac.ebi.fg.myequivalents.cmdline; import static java.lang.System.err; import uk.ac.ebi.fg.myequivalents.access_control.model.User; import uk.ac.ebi.fg.myequivalents.managers.interfaces.AccessControlManager; import uk.ac.ebi.fg.myequivalents.resources.Resources; /** * The line comman for * {@link AccessControlManager#setUserRole(String, uk.ac.ebi.fg.myequivalents.access_control.model.User.Role)}. * * <dl><dt>date</dt><dd>Aug 22, 2013</dd></dl> * @author Marco Brandizi * */ public class UserSetRoleLineCommand extends LineCommand { public UserSetRoleLineCommand () { super ( "user set role" ); } @Override public void run ( String... args ) { super.run ( args ); if ( this.exitCode != 0 ) return; AccessControlManager accMgr = Resources.getInstance ().getMyEqManagerFactory ().newAccessControlManagerFullAuth ( this.email, this.userPassword ); args = cmdLine.getArgs (); if ( args != null && args.length >= 5 ) accMgr.setUserRole ( args [ 3 ], User.Role.valueOf ( args [ 4 ].toUpperCase () ) ); err.println ( "\nUser's role Updated" ); return; } @Override public void printUsage () { String rstr = "", sep = ""; for ( User.Role r: User.Role.values () ) { rstr += sep + r.toString ().toLowerCase (); sep = "|"; } err.println ( "\n user set role email <" + rstr + ">" ); err.println ( " Changes the user role (requires admin powers)" ); } }