package flintstones.method.twoTuple; import java.util.HashMap; import javax.inject.Inject; import org.eclipse.e4.core.contexts.ContextInjectionFactory; import org.eclipse.e4.core.services.nls.Translation; import flintstones.entity.domain.Domain; import flintstones.entity.method.Method; import flintstones.entity.validatedmethod.ValidatedMethod; import flintstones.entity.valuation.Valuation; import flintstones.helper.chainvalidator.ChainValidator; import flintstones.helper.chainvalidator.operation.method.ValidBLTSDomainOperation; import flintstones.helper.chainvalidator.operation.method.ValuationTypeOperation; import flintstones.helper.faq.interfaces.IMarkdownFAQ; import flintstones.method.twoTuple.messages.Messages; import flintstones.valuation.linguistic.LinguisticValuation; import flintstones.valuation.twoTuple.TwoTupleValuation; public class TwoTupleMethod extends ValidatedMethod implements IMarkdownFAQ { @Inject @Translation private Messages messages; @Override public String getName() { return "2-tuple linguistic computational model"; } @Override protected void reloadValidator() { validator = ContextInjectionFactory.make(ChainValidator.class, context); int numDomains = domainService.getAll().length; String numDomainEntity = domainMessages.Domain_count; Domain[] domains = domainService.getAll(); String domainsEntity = domainMessages.Domain_entities; ValidBLTSDomainOperation validBLTSDomainOperation = new ValidBLTSDomainOperation(domainsEntity, domains); Valuation[] valuations = valuationService.getAll(); String valuationsEntity = valuationMessages.Valuation_entity; ValuationTypeOperation valuationTypeOperator = new ValuationTypeOperation(valuationsEntity, LinguisticValuation.class.getSimpleName(), valuations); validator.setReturn(this.getName()) .greaterThan(numDomainEntity, numDomains, 0) .named("numDomains") .custom(validBLTSDomainOperation) .named("domains") .custom(valuationTypeOperator) .named("valuations"); } @Override protected HashMap exportData() { HashMap map = new HashMap(); map.put(Method.TYPE_OF_VALUATION, TwoTupleValuation.ID); return map; } @Override public String getFAQFile() { return "faq/faq"; } }