Home|Products|Doc/Java|Community|Company
![]()
This documents describes the VectorStar Java interface.

/*
Vectornova SAdeCV
Copyright (c) 2008-2009
All rights reserved.
*/
package com.vnova.demo;
import com.vnova.vsql.VectorSQL;
import java.lang.reflect.Array;
public class VectorSqlExamplet
{
//=================================================================
//=== Main
//=================================================================
public static
void main(String[] args)
{
try {
com.vnova.vsql.VectorSQL
vs = new com.vnova.vsql.VectorSQL();
java.util.Vector retval;
String command;
String host =
"localhost";
short httpPort = 9089;
short telnetPort = 10001;
System.out.print("This
examplet demonstrates VectorSQL function calls");
//
====================================================== // 1.-
GO() / TEXT mode
vs.OPTION("FORMAT",
"TEXT/TXT")
.USE("Police")
.OPEN("Ticket,Vehicle,Person")
.FROM("Vehicle").WHERE("Make =
'NISSAN'")
.OR("Make =
'TOYOTA'").OR("Make = 'FORD'")
.AND("Year >= 2000") .AND("Year <= 2005")
.FROM("Ticket").WHERE("Date
>= 20050101").AND("Date <= 20051231")
.JOIN("Ticket","Vehicle,Person","Vehicle,Driver")
.GROUP_BY("Vehicle.Make,State")
.SELECT("GROUP, MIN Vehicle.Year, MAX
Vehicle.Year, SUM Amount");
command
= vs.COMMAND();
retval = vs.GO();
print("1.-
GO() / TEXT mode", command, retval);
//
2.- GO() / BINARY mode
vs.RESET();
// clear vs command log
vs.OPTION("FORMAT",
"BINARY/COLUMNS")
.USE("Police")
.OPEN("Ticket,Vehicle,Person")
.FROM("Vehicle").WHERE("Make =
'NISSAN'")
.OR("Make =
'TOYOTA'").OR("Make = 'FORD'")
.AND("Year >= 2000") .AND("Year <= 2005")
.FROM("Ticket").WHERE("Date
>= 20050101").AND("Date <= 20051231")
.JOIN("Ticket","Vehicle,Person","Vehicle,Driver")
.GROUP_BY("Vehicle.Make,State")
.SELECT("GROUP, MIN Vehicle.Year, MAX
Vehicle.Year, SUM Amount");
command
= vs.COMMAND();
retval = vs.GO();
print("2.-
GO() / BINARY mode", command, null);
Object[]
metadata = (Object[]) retval.elementAt(0);
System.out.println("\nresult
metadata:");
Output.Show(metadata);
Object[]
colsdata = (Object[]) retval.elementAt(1);
System.out.println("\nresult
data:");
Output.Show(colsdata);
double
sumAmount[] = (double[])java.lang.reflect.Array.get(colsdata, 4);
double
sumOfSumAmount = 0;
for
(int i=0; i<sumAmount.length; i++)
sumOfSumAmount += sumAmount[i];
System.out.println("\ngrand
total (in Java):\n" + sumOfSumAmount + "\n");
//
======================================================
//
3.- Call a procedure defined in a library
vs.RESET()
.USE("VaR")
.OPEN("Scenario")
.FROM("Scenario")
.LIBRARY("VSQL/hlp/tut/VaR/lib/lib.vsq")
.CALL("varPVs", "'N1 id1
id2',NL_CHR_,'N2 id20 id30 id40 id100'");
//
The resulting format is defined in the library
command
= vs.COMMAND();
retval = vs.GO();
print("3.-
Call a procedure defined in a library", command, retval);
//
======================================================
//
4.- DO() / VectorSQL-produced command
vs.RESET()
.OPTION("FORMAT",
"TEXT/TXT")
.USE("Police")
.OPEN("Ticket,Vehicle,Person")
.FROM("Vehicle").WHERE("Make =
'NISSAN'")
.OR("Make =
'TOYOTA'").OR("Make = 'FORD'")
.AND("Year >= 2000") .AND("Year <= 2005")
.FROM("Ticket").WHERE("Date
>= 20050101").AND("Date <= 20051231")
.JOIN("Ticket","Vehicle,Person","Vehicle,Driver")
.GROUP_BY("Vehicle.Make,State")
.SELECT("GROUP, MIN Vehicle.Year, MAX
Vehicle.Year, SUM Amount");
command
= vs.COMMAND();
retval = vs.DO(command);
print("4.-
DO() / VectorSQL-produced command", command, retval);
//
5.- DO() / arbitrary command
command
= "CURRENT_NODE''";
retval = vs.DO(command);
print("5.-
DO() / arbitrary command", command, retval);
//
======================================================
//
6.- Remote execution / NJHTTP
//
NOTE: NJ HTTP server is assumed to be running on the remote host
if
(args.length < 1) {
System.out.println("WARNING:
no host was specified, using '" + host + "'");
System.out.println("(see
README.txt to sepecify the host at the command line)");
}
else
{
host
= args[0];
}
vs.RESET()
.OPTION("CMD/HOST",
host).OPTION("CMD/PORT", httpPort).OPTION("CMD/PROTOCOL",
"NJHTTP");
command = vs.COMMAND() +
";;CURRENT_NODE''";
retval = vs.DO(command);
print("6.-
Remote execution / NJHTTP", command, retval);
//
7.- Remote execution / TELNET
//
NOTE: A telnet server daemon is assumed to be running on the remote host, where
a
//
remote VSL process will be launched on demand.
if
(args.length != 3) {
System.out.println("7.-
Remote execution / TELNET");
System.out.println("WARNING:
no usr/psswd: skipping TELNET section");
System.out.println("(see
README.txt for info on usr/pssd via cmd line)");
}
else
{
String
user = args[1];
String
passwd = args[2];
vs.RESET();
vs.OPTION("CMD/HOST",
host).OPTION("CMD/PORT", telnetPort)
.OPTION("CMD/PROTOCOL",
"TELNET")
.OPTION("CMD/USER",
user).OPTION("CMD/PASSWORD", passwd);
command
= vs.COMMAND() + ";;CURRENT_NODE''";
retval = vs.DO(command);
print("7.-
Remote execution / TELNET", command, retval);
}
}
catch
(com.vnova.VectorNovaException e1)
{
e1.printStackTrace();
}
catch(Exception
e2)
{
e2.printStackTrace();
}
}
public static
void print(String title, String command, java.util.Vector retval) {
System.out.print("\n");
System.out.println(title);
System.out.println("command:");
System.out.println(command);
if
(retval != null) {
System.out.println("\nresult:");
Output.Show(retval.toArray());
}
System.out.print("\n");
}
}
![]()