adapter = (MapSourceAdapter) this.manager.lookup(MapSourceAdapter.ROLE);
Object[] objects = (Object[]) service.getAttribute(SimpleProfileManager.class.getName() + location);
// check whether still valid
SourceValidity sourceValidity = null;
if (objects != null)
sourceValidity = (SourceValidity)objects[1];
Object[] validity = this.getValidity(key, location, sourceValidity, adapter);
if (((Boolean)validity[0]).booleanValue()) {
if (objects == null) {
return new Object[]{null, Boolean.FALSE};
} else {
return new Object[]{objects[0], Boolean.FALSE};
}
}
// load profile
SourceValidity newValidity = (SourceValidity)validity[1];
Object object = adapter.loadProfile(key);
if (newValidity != null) {
objects = new Object[] { object, newValidity };
service.setAttribute(SimpleProfileManager.class.getName() + location, objects);
}