blob: 4351617dac96f2ae310172459d58e0ac69809878 [file] [log] [blame]
package org.eclipse.osbp.runtime.functionlibrary.validation;
import java.util.Map;
import java.util.Set;
import org.eclipse.osbp.runtime.common.validation.IStatus;
import org.eclipse.osbp.runtime.common.validation.IValidationParticipant;
import org.eclipse.osbp.runtime.common.validation.ValidationKind;
import org.eclipse.osbp.ui.api.functionlibrary.IFunctionLibraryService;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.component.annotations.ReferenceCardinality;
import org.osgi.service.component.annotations.ReferencePolicy;
import org.slf4j.Logger;
@Component(immediate = true)
public class FunctionLibraryValidationParticipant implements IValidationParticipant {
private static Logger log = org.slf4j.LoggerFactory.getLogger(FunctionLibraryValidationParticipant.class);
private static IFunctionLibraryService functionLibraryService;
public static IFunctionLibraryService getFunctionLibraryService() {
return functionLibraryService;
}
@Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.STATIC)
public synchronized void bindFunctionLibraryService(final IFunctionLibraryService functionLibraryService) {
FunctionLibraryValidationParticipant.functionLibraryService = functionLibraryService;
log.debug("Validator FunctionLibraryService bound");
}
public synchronized void unbindFunctionLibraryService(final IFunctionLibraryService functionLibraryService) {
FunctionLibraryValidationParticipant.functionLibraryService = null;
log.debug("Validator FunctionLibraryService unbound");
}
@Override
public Set<IStatus> validate(Object object, ValidationKind kind, Map<String, Object> properties) {
return FunctionLibraryValidationParticipant.getFunctionLibraryService().validation(object.getClass().getSimpleName()+"Validations", object, properties);
}
}