This Essbase discussion board is provided as a free service and dedicated to all the Essbase professionals out there!
 Return to Index  

Re: JAPI error

November 12 2009 at 6:46 AM
No score for this post

 
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);
}
}
}


 
Scoring disabled. You must be logged in to score posts.Respond to this message   
Responses

  1. last recall for a JAPI lover around... - sroux on Nov 17, 6:42 AM
    1. Re: last recall for a JAPI lover around... - Glenns on Nov 17, 8:58 AM
      1. Re: JAPI error - Tim Tow on Nov 17, 9:52 AM
        1. Re: JAPI error - sroux on Nov 17, 11:11 AM
          1. Re: JAPI error - Tim Tow on Nov 17, 11:27 AM
            1. Re: JAPI error - sroux on Nov 18, 6:22 AM
              1. Re: JAPI error - sroux on Nov 18, 5:31 PM
                1. Re: JAPI error - Tim Tow on Nov 18, 7:39 PM
                  1. Case solved - SRoux on Nov 26, 3:46 AM
                    1. Maybe acceptArgs overides the variable s_provider - SD on Nov 26, 4:20 AM
        2. Re: JAPI error - Glenns on Nov 17, 11:12 AM
          1. Re: JAPI error - Tim Tow on Nov 17, 11:30 AM
     

RSS feed for this forum - http://www.network54.com/Forum/58296?xml=rss. Please email hypess (at) gmail.com, if you have any questions/feedback/issues.