/** * Liefert das System-Objekt mit der angegebenen PID zurück. * * @param pid Die permanente ID des System-Objekts * @return Das gewünschte System-Objekt oder <code>null</code>, wenn es kein Objekt mit der * angegebenen PID gibt. * @see de.bsvrz.dav.daf.main.config.DataModel */ public SystemObject getObject(String pid) { if (pid == null || pid.equals("") || pid.equals("null")) return null; SystemObject object = _dataModel.getObject(pid); if (isValid(object)) return object; synchronized (this) { // Sans, STS, KonfigAss: Korrektur _newlyActiveObjects if (_newlyActiveObjects == null) { _newlyActiveObjects = new HashMap<String, SystemObject>(); long startTime = System.currentTimeMillis(); final Map<String, ConfigurationArea> areas = ((ConfigDataModel) _dataModel).getAllConfigurationAreas(); for (ConfigurationArea configurationArea : areas.values()) { final Collection<SystemObject> newObjects = configurationArea.getNewObjects(); for (SystemObject newObject : newObjects) { final String newObjectPid = newObject.getPid(); if (newObjectPid != null && newObjectPid.length() > 0 && isValid(newObject)) { _newlyActiveObjects.put(newObjectPid, newObject); } } _debug.fine( "Zwischenspeicherung von neuerdings aktiven Objekten dauerte in Millisekunden", System.currentTimeMillis() - startTime); } } return _newlyActiveObjects.get(pid); } // final Set<ConfigurationArea> configurationAreas = _configurationAreaVersions.keySet(); // for(ConfigurationArea configurationArea : configurationAreas) { // final Collection<SystemObject> newObjects = configurationArea.getNewObjects(); // for(SystemObject systemObject : newObjects) { // if(systemObject.getPid().equals(pid) && isValid(systemObject)) return systemObject; // } // } // return null; }
/** * Liefert das System-Objekt mit der angegebenen Objekt-ID zurück. * * @param id Die Objekt-ID des System-Objekts * @return Das gewünschte System-Objekt oder <code>null</code>, wenn es kein Objekt mit der * angegebenen ID gibt. * @see de.bsvrz.dav.daf.main.config.DataModel */ public SystemObject getObject(long id) { return _dataModel.getObject(id); }