All Downloads are FREE. Search and download functionalities are using the official Maven repository.

admin.astor.tango_release.TangoClassRelease Maven / Gradle / Ivy

//+======================================================================
// $Source:  $
//
// Project:   Tango
//
// Description:  java source code for the ClassRelease class definition .
//
// $Author: verdier $
//
// $Revision: $
//
// $Log: ClassRelease.java,v $
//
//-======================================================================

package admin.astor.tango_release;

import fr.esrf.Tango.DevFailed;
import fr.esrf.TangoApi.DbServer;
import fr.esrf.TangoApi.DeviceProxy;
import fr.esrf.TangoDs.Except;

/**
 *	This class define a Tango class object with its
 *	Tango and IDL release number.
 *
 * @author  verdier
 */
public class  TangoClassRelease {

    String  className;
    String  serverName;
    int     idl = 0;
    String  error = "";
    //===============================================================
    //===============================================================
    public TangoClassRelease(DbServer dbServer, String className) {
        this.className = className;
        this.serverName = dbServer.name();
        try {
            String[]  deviceNames = getDevices(dbServer, className);
            if (deviceNames.length>0)
                idl = new DeviceProxy(deviceNames[0]).get_idl_version();
            else
                error = "No device found for class " + className + " on server " + dbServer.name();
        }
        catch (DevFailed e) {
            error = e.errors[0].desc;
        }
    }
    //===============================================================
    //===============================================================
    public String[] getDevices(DbServer dbServer, String className) throws DevFailed {
        return dbServer.get_device_name(className);
    }
	//===============================================================
	//===============================================================
    public String toString() {
        StringBuilder   sb = new StringBuilder();
        sb.append("\t");
        sb.append(className).append(" (");
        if (idl>0) {
            sb.append("idl=").append(idl);
        }
        else
            sb.append(error);
        sb.append(")");

        return sb.toString();
    }
	//===============================================================
	//===============================================================
	public static void main (String[] args) {

		String		serverName = "VacGaugeServer/sr_c1-pen";
		String		className = "VacGauge";

		if (args.length>0)
			className = args[0];
		try {
			TangoClassRelease	client =
                    new TangoClassRelease(new DbServer(serverName), className);
            System.out.println(client);
		}
		catch(DevFailed e) {
			Except.print_exception(e);
		}
		catch(Exception e) {
			e.printStackTrace();
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy