Re: JAPI error November 12 2009 at 6:46 AMNo score for this post
sroux
from IP address 213.190.76.3 Response to JAPI error Here's an extract of the jar, with the full ListEssConnection class - where everything related to Essbase happens indeed. I save you the Swing classes that kept me busy all day long yesterday...
I'm not a java guru so that code may not be the most beautiful and optimized.
----------------------------------------------
import com.essbase.api.base.*;
import com.essbase.api.session.*;
import com.essbase.api.datasource.*;
import com.essbase.api.domain.*;
import java.util.Vector;
public class ListEssConnections {
private static String usr = "";
private static String pwd = "";
private static String svr = "";
private static String prv = "http://" + svr + ":13080/aps/JAPI";
private static final int FAILURE_CODE = 1;
public Vector main(String[] args) {
int statusCode = 0;
IEssbase ess = null;
IEssOlapServer olapSvr = null;
Vector<Vector<String>> dataVector = new Vector<Vector<String>>();
try {
// Contrôle des arguments
checkArgs(args);
// Initialisation de l'instance
ess = IEssbase.Home.create(IEssbase.JAPI_VERSION);
// Connexion au fournisseur
IEssDomain dom = ess.signOn(usr, pwd, false, null, prv);
// Connexion à l'appli et database
olapSvr = (IEssOlapServer) dom.getOlapServer(svr);
olapSvr.connect();
IEssIterator requests = olapSvr.getRequests(null, null, null);
String etat = "";
String requete = "";
// entete
//System.out.println("Utilisateur" + "\t" + "Source" + "\t" + "Application" + "\t" + "Base" + "\t" + "Requete" + "\t" + "Temps" + "\t" + "Statut");
// Listing des connexions en cours
for (int i = 0; i < requests.getCount(); i++) {
Vector<String> data = new Vector<String>();
IEssOlapRequest request = (IEssOlapRequest) requests.getAt(i);
// Etat de la requête
switch (request.getRequestState()) {
case 0:
etat = "en cours...";
break;
case 1:
etat = "en cours d'arrêt";
break;
case 2:
etat = "terminé";
break;
default:
break;
}
// Requête de requête (Restructure, ClearData, GetStats, Calculate, DataLoad)
if (request.getRequestString().equals("Restructure")) {
requete = "Restructuration";
} else if (request.getRequestString().equals("ClearData")) {
requete = request.getRequestString();
} else if (request.getRequestString().equals("GetStats")) {
requete = request.getRequestString();
} else if (request.getRequestString().equals("Calculate")) {
requete = "Calcul";
} else {
requete = request.getRequestString();
}
//System.out.println(request.getUserName() + "\t" + request.getRequestSource() + "\t" + request.getOlapApplicationName() + "\t" + request.getCubeName() + "\t" + requete + "\t" + request.getRequestTime() + "\t" + etat);
data.add(request.getUserName());
data.add(request.getRequestSource());
data.add(request.getOlapApplicationName());
data.add(request.getCubeName());
data.add(requete);
data.add(String.valueOf(request.getRequestTime()));
data.add(etat);
dataVector.add(data);
}
} // Gestion des exceptions
catch (EssException x) {
GMessage gmessage = new GMessage();
gmessage.msg("Erreur : " + x.getMessage(), "Erreur");
//System.out.println("Error: " + x.getMessage());
statusCode = FAILURE_CODE;
} finally {
// Deconnexion
try {
if (olapSvr != null && olapSvr.isConnected() == true) {
olapSvr.disconnect();
}
} catch (EssException x) {
GMessage gmessage = new GMessage();
gmessage.msg("Erreur : " + x.getMessage(), "Erreur");
//System.out.println("Error: " + x.getMessage());
}
try {
if (ess != null && ess.isSignedOn() == true) {
ess.signOff();
}
} catch (EssException x) {
GMessage gmessage = new GMessage();
gmessage.msg("Erreur : " + x.getMessage(), "Erreur");
//System.out.println("Error: " + x.getMessage());
}
}
// Set status to failure only if exception occurs and do abnormal termination
// otherwise, it will by default terminate normally
if (statusCode == FAILURE_CODE) {
System.exit(FAILURE_CODE);
}
return dataVector;
}
static void checkArgs(String[] args) throws EssException {
if (args.length == 3) {
usr = args[0];
pwd = args[1];
svr = args[2];
} else {
System.err.println("Argument error!");
System.err.println(
"Usage: java " + ListEssConnections.class.getName() +
" user password server");
System.exit(1);
}
}
}
Responses
last recall for a JAPI lover around... - sroux on Nov 17, 6:42 AM
Re: last recall for a JAPI lover around... - Glenns on Nov 17, 8:58 AM
Re: JAPI error - Tim Tow on Nov 17, 9:52 AM
Re: JAPI error - sroux on Nov 17, 11:11 AM
Re: JAPI error - Tim Tow on Nov 17, 11:27 AM
Re: JAPI error - sroux on Nov 18, 6:22 AM
Re: JAPI error - sroux on Nov 18, 5:31 PM
Re: JAPI error - Tim Tow on Nov 18, 7:39 PM
Case solved - SRoux on Nov 26, 3:46 AM
Maybe acceptArgs overides the variable s_provider - SD on Nov 26, 4:20 AM
Re: JAPI error - Glenns on Nov 17, 11:12 AM
Re: JAPI error - Tim Tow on Nov 17, 11:30 AM