Adds devices matching patterns <pl> to the group

@throws DevFailed
519370
public void add(final String[] pl) throws DevFailed {
	synchronized (this) {
	    for (final String element : pl) {
		if (element != null) {
		    final Vector v = factory.instanciate(element);
		    final Iterator it = v.iterator();
		    while (it.hasNext()) {
			add_i((GroupElement) it.next());
		    }
		}
	    }
	}
    }
874091
public void putClassPipeProperty(String className, ArrayList<DbPipe> dbPipes) throws DevFailed {
        for (DbPipe dbPipe : dbPipes)
            databaseDAO.putClassPipeProperty(this, className, dbPipe);
    }
202967
@Override
    public void exportDevices() throws DevFailed {
        // load server class
        for (final Entry<String, Class<?>> entry : tangoClasses.entrySet()) {
            final String tangoClass = entry.getKey();
            final Class<?> deviceClass = entry.getValue();
            logger.debug("loading class {}", deviceClass.getCanonicalName());
            final DeviceClassBuilder deviceClassBuilder = new DeviceClassBuilder(deviceClass, tangoClass);
            deviceClassList.add(deviceClassBuilder);
            // export all its devices
            final String[] deviceList = DatabaseFactory.getDatabase().getDeviceList(serverName, tangoClass);
            logger.debug("devices found  {}", Arrays.toString(deviceList));
            // if (deviceList.length == 0) {
            // throw DevFailedUtils.newDevFailed(ExceptionMessages.DB_ACCESS, "No device defined in database for class "
            // + tangoClass);
            // }
            for (final String deviceName : deviceList) {
                buildDevice(deviceName, deviceClassBuilder);
            }
        }
    }
938900
public void addTangoInterfaceChangeListener(ITangoInterfaceChangeListener listener, boolean stateless)
            throws DevFailed {
        event_listeners.add(ITangoInterfaceChangeListener.class, listener);
        eventIdentifier = subscribe_interface_change_event(stateless);
    }
1240207
public void addTangoChangeListener(ITangoChangeListener listener, String attrName, String[] filters, boolean stateless)
            throws DevFailed {
        TangoChange tangoChange;
        String key = deviceName+"/"+attrName;
        if ((tangoChange = tango_change_source.get(key)) == null) {
            tangoChange = new TangoChange(deviceProxy, attrName, filters);
            tango_change_source.put(key, tangoChange);
        }

        synchronized (moni) {
            tangoChange.addTangoChangeListener(listener, stateless);
        }
    }
928903
public void addTangoQualityChangeListener(ITangoQualityChangeListener listener, boolean stateless)
                throws DevFailed
    {
		event_listeners.add(ITangoQualityChangeListener.class, listener);
        event_identifier = subscribe_quality_change_event(attr_name, filters, stateless);
    }
880514
private void addCommandPolling(final CommandImpl command) throws DevFailed {
        if (MANAGER == null) {
            startCache();
        }
        removeCommandPolling(command);
        final CommandCache cache = new CommandCache(MANAGER, command, deviceName, deviceLock, aroundInvoke);
        if (command.getPollingPeriod() == 0) {
            extTrigCommandCacheMap.put(command, cache);
        } else {
            commandCacheMap.put(command, cache);
        }
        updatePoolConf();
    }
176046
public void setPipeConfig(PipeInfo pipeInfo) throws DevFailed {
        ArrayList<PipeInfo> infoList = new ArrayList<PipeInfo>(1);
        infoList.add(pipeInfo);
        setPipeConfig(infoList);
    }
990771
public void addTangoAttConfigListener(ITangoAttConfigListener listener, String attrName, String[] filters, boolean stateless)
            throws DevFailed {
        TangoAttConfig tangoAttConfig;
        String key = deviceName+"/"+attrName;
        if ((tangoAttConfig = tango_att_config_source.get(key)) == null) {
            tangoAttConfig = new TangoAttConfig(deviceProxy, attrName, filters);
            tango_att_config_source.put(key, tangoAttConfig);
        }

        synchronized (moni) {
            tangoAttConfig.addTangoAttConfigListener(listener, stateless);
        }
    }
974944
public void put_property(DbDatum property)
            throws DevFailed {
        DbAttribute db_att = new DbAttribute(deviceName);
        db_att.add(property);
        dev.put_attribute_property(db_att);
    }
802588
public void addTangoPipeListener(ITangoPipeListener listener,
                                     String attrName, boolean stateless) throws DevFailed {
        addTangoPipeListener(listener, attrName, new String[0], stateless);
    }
313934
public static String[] getDevicesForPattern(final String deviceNamePattern) throws DevFailed {
        String[] devices;
        // is p a device name or a device name pattern ?
        if (!deviceNamePattern.contains("*")) {
            // p is a pure device name
            devices = new String[1];
            devices[0] = TangoUtil.getfullNameForDevice(deviceNamePattern);
        } else {
            // ask the db the list of device matching pattern p
            final Database db = ApiUtil.get_db_obj();
            devices = db.get_device_exported(deviceNamePattern);
        }
        return devices;
    }
118790
def add_to_group(self, devices):
        """"""
        ids = {d.id for d in self.devices_in_group()}
        ids.update(self._device_ids(devices))
        self._set_group(ids)
786657
void addToRelockList(final DeviceProxy dev, final int validity) throws DevFailed {
        // Check if it is the first relock
        if (relockMap == null) {
            // Create hash table for admin devices object
            relockMap = new Hashtable<String, LockedDeviceAmin>();

            // Create a thread to unlock all devices at exit
            Runtime.getRuntime().addShutdownHook(new ShutdownThread());

            // Create thread fo garbage callector call preiodicaly
            new GarbageThread().start();
        }
        // Check if admin device already exists.
        String adm;
        try {
            adm = dev.adm_name();
        } catch (final DevFailed e) {
            // Give up
            return;
        }
        final LockedDevice ld = new LockedDevice(dev.get_name(), validity);
        LockedDeviceAmin lda;
        if (!relockMap.containsKey(adm)) {
            // if not, crate and add th the list
            lda = new LockedDeviceAmin(adm, ld);
            lda.start();
            relockMap.put(adm, lda);
        } else {
            lda = relockMap.get(adm);
            lda.add(ld);
        }
    }
1369413
public void add_device(Database database, DbDevInfo devinfo) throws DevFailed {
        if (!database.isAccess_checked()) checkAccess(database);

        DeviceData argIn = new DeviceData();
        argIn.insert(devinfo.toStringArray());
        command_inout(database, "DbAddDevice", argIn);
        //System.out.println(devinfo.name + " created");
    }
215604
private void createTheServer(Database database) throws DevFailed {
        ArrayList<DbDevInfo>    deviceInfoList =new ArrayList<DbDevInfo>();
        for (TangoClass clazz : classes) {
            for (TangoDevice device : clazz) {
                deviceInfoList.add(new DbDevInfo(device.name, clazz.name, serverName));
            }
        }
        DbDevInfo[] deviceInfoArray = new DbDevInfo[deviceInfoList.size()];
        for (int i=0 ; i<deviceInfoList.size() ; i++) {
            deviceInfoArray[i] = deviceInfoList.get(i);
        }
        database.add_server(serverName, deviceInfoArray);
    }
348750
public void addTangoDataReadyListener(ITangoDataReadyListener listener, String attrName, String[] filters)
            throws DevFailed {
        addTangoDataReadyListener(listener, attrName, filters, false);
    }