[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

OzoneAdmin on WinNT, can't add newuser



Hi,

I was trying to add a new user via OzoneAdmin on WinNT.

The following method in org.ozoneDB.core.admin.AdminClient doesn't do
what expected when I invoke

ozoneAdmin newuser -name=kodak1 -id=102

at the command-line.

On NT the arguments are split into 5 parts
(newuser,-name,kodak1,-id,102) instead of
(newuser,-name=kodak1,-id=102).

protected void newUser( String[] _args ) throws Exception {
        String name = null;
        int id = -1;

        // check command line arguments
        for (int i = 1; i < _args.length; i++) {
            String arg = _args[i];

            if (arg.startsWith( "-name=" )) {
                name = arg.substring( 6 );
                verboseOut.println ("name=" + name);
            }
            else  if (arg.startsWith( "-id=" )) {
                id = Integer.parseInt( arg.substring( 4 ) );
                verboseOut.println ("id=" + id);
            }
        }
        try {
            admin.newUser( name, id );
        }
        catch( UserManagerExc e ) {
            out.println( "Unable to create new user: " + e.getMessage()
);
        }
    }


I have no idea and not much time (it's Friday you know, working is done)
why it is splitting the tokens within a =-sign.

Maybe you can replace the method (and the similar ones) so that the call
style is.

ozoneAdmin newuser -name kodak1 -id 102

The code can then be something like this and then everything works fine
with me.

protected void newUser( String[] _args ) throws Exception {
        String name = null;
        int id = -1;

        // check command line arguments
		int i = 1;
		while (i< _args.length) {
			String arg = _args[i++];

            if (arg.equals( "-name" )) {
                name = _args[i++];
                verboseOut.println ("name=" + name);
            }
            else  if (arg.equals( "-id" )) {
                id = Integer.parseInt( _args[i++] );
                verboseOut.println ("id=" + id);
            }
        }
        try {
            admin.newUser( name, id );
        }
        catch( UserManagerExc e ) {
            out.println( "Unable to create new user: " + e.getMessage()
);
        }
    }


Greetings
Mario