example2/dataHandler/BasicDataHandler.java


package example2.dataHandler;

import java.util.Vector;

import com.sap.ip.me.api.conf.Configuration;
import com.sap.ip.me.api.conf.MEVersion;
import com.sap.ip.me.api.user.User;
import com.sap.ip.me.api.user.UserManager;

public class BasicDataHandler  {
    private Vector retVector;
    private String miHomeFolder;
    private int columns;
    private static BasicDataHandler bdh = null;

    public static BasicDataHandler instance(){
        if(bdh == null) bdh = new BasicDataHandler();
        return bdh;
    }
    
    public Vector getDataArray(){
        Vector dataVec = new Vector();
        retVector = new Vector();

        // Load array in Bean with Information about the Mobile Engine, i is the index for the entries
        // The Vector has 2 columns so we set the columns variable to 2
        columns = 2;
        dataVec = new Vector();
        dataVec.addElement("Environment");
        dataVec.addElement("Value");
        retVector.addElement(dataVec);

        dataVec = new Vector();
        dataVec.addElement("Operating system");
        dataVec.addElement(stringLoad(Configuration.getOperatingSystemName()));
        retVector.addElement(dataVec);

        dataVec = new Vector();
        dataVec.addElement("VM vendor");
        dataVec.addElement(stringLoad(Configuration.getJVMVendorName()));
        retVector.addElement(dataVec);

        dataVec = new Vector();
        dataVec.addElement("MI runtime");
        dataVec.addElement(stringLoad(Configuration.getMERuntime()));
        retVector.addElement(dataVec);

        dataVec = new Vector();
        dataVec.addElement("MI folder");
        dataVec.addElement(stringLoad(Configuration.getInstallationDirectory()));
        retVector.addElement(dataVec);

        dataVec = new Vector();
        dataVec.addElement("MI main version");
        dataVec.addElement(stringLoad(MEVersion.getMainVersion()));
        retVector.addElement(dataVec);

        dataVec = new Vector();
        dataVec.addElement("MI build");
        dataVec.addElement(stringLoad(MEVersion.getBuild()));
        retVector.addElement(dataVec);

        dataVec = new Vector();
        dataVec.addElement("MI version info");
        dataVec.addElement(stringLoad(MEVersion.getFullName()));
        retVector.addElement(dataVec);

        dataVec = new Vector();
        dataVec.addElement("MI home URL");
        dataVec.addElement(stringLoad(stringLoad(getMiHomeFolder())));
        retVector.addElement(dataVec);

        // Check if user is logged in.

        dataVec = new Vector();
        dataVec.addElement("Current user");
        User actUser = UserManager.getInstance().getCurrentUser();
        if (actUser == null) {
            // Should never occur, since in ME 2.5 you always have to be logged in to start an application
            dataVec.addElement(stringLoad("Not logged in"));
        } else {
            dataVec.addElement(stringLoad(actUser.getUniqueID()));
        }
        retVector.addElement(dataVec);
        // Set length and width of the array.
        return retVector;
    }

    private String stringLoad(String var) {
        // This method checks if a String is null - if so, it uses a standard text
        String vartmp = var;
        if (vartmp == null)
            vartmp = "Not available";

        return vartmp;
    }

    public int getDataCount() {
        return retVector.size();
    }

    /**
     * used to set the MI homefolder from the main application
     */
    public void setMiHomeFolder(String string) {
        miHomeFolder = string;
    }

    public String getMiHomeFolder() {
        return miHomeFolder;
    }

    /**
     * @return number of columns
     */
    public int getColumns() {
        return columns;
    }

}