Return the attribute name part without device name It is able to resolve attribute alias before

@param fullname
@return
@throws DevFailed
7613
public static String getAttributeName(final String fullname) throws DevFailed {
        final String s = TangoUtil.getfullAttributeNameForAttribute(fullname);
        return s.substring(s.lastIndexOf('/') + 1);
    }
457348
public List<String> getPipeNames() throws DevFailed {
        List<PipeInfo> infoList = deviceProxyDAO.getPipeConfig(this);
        ArrayList<String>   pipeNames = new ArrayList<String>();
        for (PipeInfo info : infoList)
            pipeNames.add(info.getName());
        return pipeNames;
    }
874727
public void pushAttributeDataReadyEvent(final String deviceName, final String attributeName, final int counter)
            throws DevFailed {
        xlogger.entry();
        final String fullName = EventUtilities.buildEventName(deviceName, attributeName, EventType.DATA_READY_EVENT);
        final EventImpl eventImpl = getEventImpl(fullName);
        if (eventImpl != null) {
            for (ZMQ.Socket eventSocket : eventEndpoints.values()) {
                eventImpl.pushAttributeDataReadyEvent(counter, eventSocket);
            }
        }
        xlogger.exit();
    }
333216
public static DeviceProxy get(String deviceName) throws DevFailed {
        //	Get full device name (with tango host) to manage multi tango_host
        String fullDeviceName;
        if (deviceName.startsWith("tango:"))
            fullDeviceName = deviceName;
        else
            fullDeviceName = new TangoUrl(deviceName).toString().toLowerCase();

        String tangoHost;
        if (deviceName.contains("dbase=no"))
            tangoHost = "";
        else
            tangoHost = ApiUtil.get_default_db_obj().getUrl().getTangoHost();
        return get(fullDeviceName, tangoHost);
    }
934483
public Attribute getAttributeByFullName(CharSequence name) {
		for (Attribute attr : event.attributes)
			if (attr.text.equals(name))
				return attr;
		return null;
	}
580753
@Deprecated
        public AttributeInfo get_attribute_config(final DeviceProxy deviceProxy, final String attname)
            throws DevFailed {
        return get_attribute_info(deviceProxy, attname);
    }
441196
public String[] get_device_property_list(String devname, String wildcard) throws DevFailed {
		return databaseDAO.get_device_property_list(this, devname, wildcard);
	}
623672
public String get_host_name(final Connection connection) throws DevFailed {
        if (connection.url.use_db) {
            Database db;
            if (connection.url.host == null) {
                db = ApiUtil.get_db_obj();
            } else {
                db = ApiUtil.get_db_obj(connection.url.host, connection.url.strPort);
            }
            final DbDevImportInfo info = db.import_device(connection.devname);
            return info.hostname;
        }
        else {
            return connection.url.host;
        }
    }
323910
public String adm_name(final Connection connection) throws DevFailed {
        checkIfTango(connection, "adm_name");

        build_connection(connection);

        String name = null;
        try {
            name = connection.device.adm_name();
        } catch (final Exception e) {
            ApiUtilDAODefaultImpl.removePendingRepliesOfDevice(connection);
            throw_dev_failed(connection, e, "adm_name", false);
        }

        if (name !=null &&  !name.startsWith("tango://") && !name.startsWith("//"))
            name = "tango://" + connection.url.host + ":" + connection.url.port + "/" + name;
		// If no database, add syntax to be used in DeviceProxy constructor.
		if (!connection.url.use_db) {
            name += "#dbase=no";
		}
		return name;
    }
823898
public AttributeValue getAttributeValueObject_2() throws DevFailed {
		// Build a DeviceAttribute_3 from this
		final DeviceAttribute_3DAODefaultImpl att = new DeviceAttribute_3DAODefaultImpl();
		att.setAttributeValue(this);
		return att.getAttributeValueObject_2();
    }
5736
public String[] get_attribute_alias_list(Database database, String wildcard)
            throws DevFailed {
        DeviceData argIn = new DeviceData();
        argIn.insert(wildcard);
        DeviceData argOut = command_inout(database, "DbGetAttributeAliasList", argIn);
        return argOut.extractStringArray();
    }
338142
public DeviceAttribute read_attribute(final DeviceProxy deviceProxy, final String attname)
	    throws DevFailed {
	final String[] names = ApiUtil.toStringArray(attname);
	final DeviceAttribute[] attval = read_attribute(deviceProxy, names);
	return attval[0];
    }
1252198
public DbAttribute[] get_device_attribute_property(Database database, String deviceName, String[] attnames)
            throws DevFailed {
        if (!database.isAccess_checked()) checkAccess(database);

        DeviceData argIn = new DeviceData();
        DeviceData argOut;
        int mode = 2;

        try {
            //	value is an array
            argIn.insert(ApiUtil.toStringArray(deviceName, attnames));
            argOut = command_inout(database, "DbGetDeviceAttributeProperty2", argIn);
        } catch (DevFailed e) {
            if (e.errors[0].reason.equals("API_CommandNotFound")) {
                //	Value is just one element
                argOut = command_inout(database, "DbGetDeviceAttributeProperty", argIn);
                mode = 1;
            } else
                throw e;
        }
        return ApiUtil.toDbAttributeArray(argOut.extractStringArray(), mode);
    }
445407
public void delete_device_attribute_property(String devname, String attname, String propname) throws DevFailed {
		databaseDAO.delete_device_attribute_property(this, devname, attname, propname);
	}
1116676
private static void registerDeviceForJacorb(final String name) throws DevFailed {
        // Get the 3 fields of device name
        final StringTokenizer st = new StringTokenizer(name, "/");
        final String[] field = new String[3];
        for (int i = 0; i < 3 && st.countTokens() > 0; i++) {
            field[i] = st.nextToken();
        }

        // After a header used by JacORB, in the device name
        // the '/' char must be replaced by another separator
        final String separator = "&%25";
        final String targetname = ORBManager.SERVER_IMPL_NAME + "/" + ORBManager.NODB_POA + "/" + field[0] + separator
                + field[1] + separator + field[2];
        // And set the JacORB objectKeyMap HashMap
        final org.jacorb.orb.ORB jacorb = (org.jacorb.orb.ORB) ORBManager.getOrb();
        jacorb.addObjectKey(name, targetname);
    }
779107
public String[] get_attribute_list(final DeviceProxy deviceProxy) throws DevFailed {
        build_connection(deviceProxy);

        final int retries = deviceProxy.transparent_reconnection ? 2 : 1;
        for (int oneTry=1 ; oneTry<=retries ; oneTry++) {
            try {
                if (deviceProxy.url.protocol == TANGO) {
                    // Read All attribute config
                    final String[] wildcard = new String[1];

                    if (deviceProxy.device_3 != null) {
                        wildcard[0] = TangoConst.Tango_AllAttr_3;
                    } else {
                       wildcard[0] = TangoConst.Tango_AllAttr;
                    }
                    final AttributeInfo[] ac = get_attribute_info(deviceProxy, wildcard);
                    final String[] result = new String[ac.length];
                    for (int i = 0; i < ac.length; i++) {
                        result[i] = ac[i].name;
                    }
                    return result;
                } else {
                    return deviceProxy.taco_device.get_attribute_list();
                }
            }
            catch (DevFailed e) {
                if (oneTry>=retries)
                    throw e;
                //  else retry
            }
        }
        return null;    //  cannot occur
    }
1111725
public void delete_device_attribute_property(String devname, DbAttribute[] attr) throws DevFailed {
		databaseDAO.delete_device_attribute_property(this, devname, attr);
	}