CASA/c_test/java_sample/src/JavaSample.java
2006-02-01 17:48:29 +00:00

223 lines
7.3 KiB
Java

/***********************************************************************
*
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; version 2.1
* of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, Novell, Inc.
*
* To contact Novell about this file by physical or electronic mail,
* you may find current contact information at www.novell.com.
*
***********************************************************************/
import com.novell.casa.MiCasa;
import com.novell.casa.MiCasaException;
import com.novell.casa.NetCredential;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class JavaSample {
static String APPID = "JavaSampleApp";
static String USERNAME = "JavaSampl€User";
static String PASSWORD = "JavaSampl€Password";
public static void main(String[] args) {
System.out.println("*******************************************************");
System.out.println("******** miCASA Sample Program written in Java ******");
System.out.println("*******************************************************");
ShowMenu();
return;
}
static private void ShowMenu() {
while (true) {
System.out.println("");
System.out.println("********** Menu *********");
System.out.println("* 1. Add secret *");
System.out.println("* 2. Display secret *");
System.out.println("* 3. Remove secret *");
System.out.println("* 4. Run automated test *");
System.out.println("* 5. Quit *");
System.out.println("***************************");
System.out.println("Select option and Press enter");
try {
byte[] ba = new byte[100];
int bytesRead;
bytesRead = System.in.read(ba);
if (ba[0] == ('5'))
break;
if (ba[0] == '1')
AddSecret();
else if (ba[0] == ('3'))
RemoveSecret();
else if (ba[0] == ('2'))
DisplaySecret();
else if (ba[0] == ('4'))
RunTest();
} catch (Exception e) {
}
}
}
static String GetInfo(String prompt) {
System.out.print("Enter " + prompt);
BufferedReader keyb = new BufferedReader(new InputStreamReader(System.in));
try {
String line = keyb.readLine();
return line;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
static private void AddSecret() {
while (true) {
String sID = GetInfo("SecretID: ");
String sUsername = GetInfo("Username: ");
String sPassword = GetInfo("Password: ");
if (sID != null && sUsername != null && sPassword != null) {
try {
MiCasa.setCredential(0, sID, null, MiCasa.USERNAME_TYPE_CN_F, sUsername, sPassword);
} catch (MiCasaException e) {
System.out.println(e.getMessage());
} catch (Exception e) {
e.printStackTrace();
}
return;
} else {
System.out.println("Invalid input, try again");
}
}
}
static private void RemoveSecret() {
String sID = GetInfo("SecretID to remove: ");
if (sID != null) {
try {
MiCasa.removeCredential(0, sID, null);
} catch (MiCasaException e) {
System.out.println(e.getMessage());
} catch (Exception e) {
e.printStackTrace();
}
}
}
static private void DisplaySecret() {
String sID = GetInfo("SecretID to display: ");
if (sID != null) {
try {
NetCredential nc = MiCasa.getCredential(0, sID, null, MiCasa.USERNAME_TYPE_CN_F);
if (nc != null) {
System.out.println("Username:" + nc.getUsername());
System.out.println("Password:" + nc.getPassword());
} else
System.out.println(sID + " not found");
} catch (MiCasaException e) {
System.out.println(e.getMessage());
} catch (Exception e) {
e.printStackTrace();
}
}
}
static private void RunTest() {
int count = 1;
String sCount = GetInfo("times to run: ");
try {
int icount = Integer.parseInt(sCount);
count = icount;
} catch (Exception e) {
}
for (int i = 0; i < count; i++) {
System.out.println("Setting Credential .....");
try {
MiCasa.setCredential(0, APPID, null, 0, USERNAME, PASSWORD);
System.out.println("Succeeded");
} catch (Exception e) {
System.out.println("Failed");
System.out.println(e.toString());
return;
}
System.out.println("");
// did we get it the credential back
System.out.println("Getting Credential .....");
try {
NetCredential bc = MiCasa.getCredential(0, APPID, null, 0);
if (bc != null) {
if (bc.getUsername().equals(USERNAME))
System.out.println(" Username matched : " + bc.getUsername());
if (bc.getPassword().equals(PASSWORD))
System.out.println(" Password matched : " + bc.getPassword());
} else {
System.out.println("Failed");
}
} catch (Exception e) {
System.out.println(e.toString());
}
try {
System.out.println("\r\nRemoving Credential");
MiCasa.removeCredential(0, APPID, null);
} catch (Exception e) {
System.out.println(e.toString());
}
try {
NetCredential bc = MiCasa.getCredential(0, APPID, null, 0);
if (bc != null) {
System.out.println("\r\nCredential exists and should not - FAILED!");
} else
System.out.println("\r\nCredential not found as expected - SUCCESS!");
} catch (Exception e) {
System.out.println("\r\n Credential not found as expected - SUCCESS!");
}
System.out.println("Test completed ");
}
}
}