CommandReader: Difference between revisions

From Pickwiki
Jump to navigationJump to search
Stuboy (talk | contribs)
mNo edit summary
 
m link fix
 
Line 11: Line 11:
import java.io.*;
import java.io.*;


public class CommandReader extends BufferedReader {
public class [[CommandReader]] extends [[BufferedReader]] {


     public CommandReader(StringReader st) {
     public [[CommandReader]]([[StringReader]] st) {
         super(st);
         super(st);
     }
     }


     public static UniSession doLogin(String cmd[]) {
     public static [[UniSession]] doLogin(String cmd[]) {


         UniSession uSession;
         [[UniSession]] uSession;
         UniJava uJava = new UniJava();
         [[UniJava]] uJava = new [[UniJava]]();


         try {
         try {
Line 26: Line 26:
             uSession.connect(cmd[0],cmd[1],cmd[2],cmd[3]);
             uSession.connect(cmd[0],cmd[1],cmd[2],cmd[3]);
             System.out.print("Connected:"  + uSession.isActive()
             System.out.print("Connected:"  + uSession.isActive()
                 + " to:" + uSession.getHostName() + "/" + uSession.getAccountPath()
                 + " to:" + uSession.get[[HostName]]() + "/" + uSession.get[[AccountPath]]()
                 + " cmd:" + cmd[4]);  
                 + " cmd:" + cmd[4]);  
             if (cmd.length > 5) System.out.println(" parsing:" + cmd[5]);
             if (cmd.length > 5) System.out.println(" parsing:" + cmd[5]);
                 else            System.out.println("");
                 else            System.out.println("");
         } catch (UniSessionException e) {
         } catch ([[UniSessionException]] e) {
             System.out.println("Error: " + e);
             System.out.println("Error: " + e);
             uSession = null;
             uSession = null;
Line 37: Line 37:
     }
     }


     public static boolean doLogout(UniSession uSession) {
     public static boolean doLogout([[UniSession]] uSession) {


         try {
         try {
Line 43: Line 43:
             if (uSession.isActive()) uSession.disconnect();
             if (uSession.isActive()) uSession.disconnect();
         }
         }
             catch (UniSessionException e) {
             catch ([[UniSessionException]] e) {
             System.out.println("Error: " + e);
             System.out.println("Error: " + e);
         }
         }
Line 49: Line 49:
     }
     }


     public static String doUniCommand(UniSession uSession, String cmd) {
     public static String do[[UniCommand]]([[UniSession]] uSession, String cmd) {
         try {
         try {
             UniCommand uCmd = uSession.command();
             [[UniCommand]] uCmd = uSession.command();
             uCmd.setCommand(cmd);
             uCmd.setCommand(cmd);
             uCmd.exec();
             uCmd.exec();
Line 62: Line 62:
     public static  void main(String args[]) {
     public static  void main(String args[]) {
         if (args.length < 5) {
         if (args.length < 5) {
             System.out.println("Usage: java -classpath <classpath> CommandReader <host> <user> <pass> <account> <cmd> <filter>]");
             System.out.println("Usage: java -classpath <classpath> [[CommandReader]] <host> <user> <pass> <account> <cmd> <filter>]");
             System.out.println("<classpath> - must contain the commons-httpclient.jar and commons-logging.jar");
             System.out.println("<classpath> - must contain the commons-httpclient.jar and commons-logging.jar");
             System.out.println("<host> - uniVerse host");
             System.out.println("<host> - uniVerse host");
Line 70: Line 70:
             System.out.println("<cmd> - command to process");
             System.out.println("<cmd> - command to process");
             System.out.println("<filter> - filter string");
             System.out.println("<filter> - filter string");
             System.out.println("\neg. java CommandReader ironclad fkruger fubar2 UV \"SORT UV.ACCOUNT\" /usr/lpp");
             System.out.println("\neg. java [[CommandReader]] ironclad fkruger fubar2 UV \"SORT UV.ACCOUNT\" /usr/lpp");
             System.out.println();
             System.out.println();
             System.exit(1);
             System.exit(1);
         } else {
         } else {
             String strLine; int n = 0;
             String strLine; int n = 0;
             UniSession uSession = doLogin(args);
             [[UniSession]] uSession = doLogin(args);
             if (args.length > 5) {
             if (args.length > 5) {
                 try {
                 try {
                     CommandReader cr = new CommandReader(new StringReader(doUniCommand(uSession, args[4])));
                     [[CommandReader]] cr = new [[CommandReader]](new [[StringReader]](do[[UniCommand]](uSession, args[4])));
                     cr.mark(1);
                     cr.mark(1);
                     while (cr.read() > 0) {
                     while (cr.read() > 0) {
Line 94: Line 94:
                 }
                 }
             } else {
             } else {
                 System.out.println(doUniCommand(uSession,args[4]));
                 System.out.println(do[[UniCommand]](uSession,args[4]));
             }
             }
             System.out.println("Disconnected:" + doLogout(uSession) +  " parsed:"  + n + " lines");
             System.out.println("Disconnected:" + doLogout(uSession) +  " parsed:"  + n + " lines");

Latest revision as of 23:48, 26 February 2015

Nasty bit of code but it works.


/**
* A simple test program to execute a U2 command and parse the output.
*/

import asjava.uniobjects.*;
import asjava.uniclientlibs.*;
import java.io.*;

public class [[CommandReader]] extends [[BufferedReader]] {

    public [[CommandReader]]([[StringReader]] st) {
        super(st);
    }

    public static [[UniSession]] doLogin(String cmd[]) {

        [[UniSession]] uSession;
        [[UniJava]] uJava = new [[UniJava]]();

        try {
            uSession = uJava.openSession();
            uSession.connect(cmd[0],cmd[1],cmd[2],cmd[3]);
            System.out.print("Connected:"   + uSession.isActive()
                + " to:" + uSession.get[[HostName]]() + "/" + uSession.get[[AccountPath]]()
                + " cmd:" + cmd[4]); 
            if (cmd.length > 5) System.out.println(" parsing:" + cmd[5]);
                else            System.out.println("");
        } catch ([[UniSessionException]] e) {
            System.out.println("Error: " + e);
            uSession = null;
        }
        return uSession;
    }

    public static boolean doLogout([[UniSession]] uSession) {

        try {
            // lets disconnect from the database.
            if (uSession.isActive()) uSession.disconnect();
        }
            catch ([[UniSessionException]] e) {
            System.out.println("Error: " + e);
        }
        return !uSession.isActive();
    }

    public static String do[[UniCommand]]([[UniSession]] uSession, String cmd) {
        try {
            [[UniCommand]] uCmd = uSession.command();
            uCmd.setCommand(cmd);
            uCmd.exec();
            return uCmd.response();
        } catch (Exception e) {
            return "Cmd Error: " + e;
        }
    }

    public static   void main(String args[]) {
        if (args.length < 5) {
            System.out.println("Usage: java -classpath <classpath> [[CommandReader]] <host> <user> <pass> <account> <cmd> <filter>]");
            System.out.println("<classpath> - must contain the commons-httpclient.jar and commons-logging.jar");
            System.out.println("<host> - uniVerse host");
            System.out.println("<user> - the user id to log in with");
            System.out.println("<password> - the password");
            System.out.println("<account> - uniVerse account");
            System.out.println("<cmd> - command to process");
            System.out.println("<filter> - filter string");
            System.out.println("\neg. java [[CommandReader]] ironclad fkruger fubar2 UV \"SORT UV.ACCOUNT\" /usr/lpp");
            System.out.println();
            System.exit(1);
        } else {
            String strLine; int n = 0;
            [[UniSession]] uSession = doLogin(args);
            if (args.length > 5) {
                try {
                    [[CommandReader]] cr = new [[CommandReader]](new [[StringReader]](do[[UniCommand]](uSession, args[4])));
                    cr.mark(1);
                    while (cr.read() > 0) {
                        cr.reset();
                        n++;
                        strLine = cr.readLine();
                        if (strLine.indexOf(args[5])    > 0) {
                            System.out.println(strLine);
                        }
                        cr.mark(1);
                    }
                    cr.close();
                }   catch (Exception e) {
                    System.out.println("ex " + e);
                }
            } else {
                System.out.println(do[[UniCommand]](uSession,args[4]));
            }
            System.out.println("Disconnected:" + doLogout(uSession) +   " parsed:"  + n + " lines");
        }
    }
}