if(!checkDescriptor(descriptor, depdendencies)){ return false;
private boolean validate(String id, Object req){ List<DependencyDescriptor> reqs = getDependencyDescriptors(); if(req != null){ if(Validator.validateService(reqs, id, req)){ return true; } theLogger.log(Level.WARNING, "Invalid service or id. id: {0}, service: {1}", new Object[]{id, req}); return false; } if(Validator.validateServiceId(reqs, id)){ return true; } theLogger.log(Level.WARNING, "Invalid service id: {0}.", id); return false; }
private void handleAllDependencies(Map<String,Object> requiredServices){ if(!ServiceLifecycleProvider.Validator.validateServices( myLifecycleProvider.getDependencyDescriptors(), requiredServices)){ throw new IllegalArgumentException( "Invalid dependency set for service."); } myLifecycleProvider.start(requiredServices); myService = myLifecycleProvider.getService(); if(myService == null){ getLogger().warn("The lifecycle failed to create a service."); }else{ getLogger().info( "Service created of type(s): {}", Arrays.toString( myLifecycleProvider.getServiceClassNames())); register(); } myLifecycleListener.flush(); }
/** * Validates the arguments before calling <code>handleChange</code>. * If the service is null and the dependencies are satisfied, a service is * created and <code>handleChange</code> is not called. * @param dependencyName name of the dependency changed * @param dependency new dependency * @param dependencies all available dependencies */ @Override public synchronized void dependencyChanged( String dependencyName, Object dependency, Map<String,Object> dependencies) { if(dependencyName == null){ throw new NullPointerException(); } if(!validate(dependencyName, dependency)){ return; } myStaisfiedFlag = Validator.validateServices(myDescriptors, dependencies); if(myService == null && isSatisfied()){ myService = create(dependencies); return; } handleChange(dependencyName, dependency, dependencies); } /**
@Override public synchronized void start(Map<String, Object> dependencies) { if(!Validator.validateServices(myDescriptors, dependencies)){ throw new IllegalArgumentException( "Invalid Dependency set for factory."); } myService = create(dependencies); myStaisfiedFlag = true; }
private boolean validate(String id, Object req){ List<DependencyDescriptor> reqs = myLifecycleProvider.getDependencyDescriptors(); return (req == null && Validator.validateServiceId(reqs, id)) || Validator.validateService(reqs, id, req); }