use of ddf.catalog.data.AttributeDescriptor in project ddf by codice.
the class MetacardImplTest method testUpdatingWrappedMetacardFields.
@Test
public void testUpdatingWrappedMetacardFields() {
HashSet<AttributeDescriptor> descriptors = new HashSet<AttributeDescriptor>();
descriptors.add(new AttributeDescriptorImpl("test-string", true, /* indexed */
true, /* stored */
false, /* tokenized */
false, /* multivalued */
BasicTypes.STRING_TYPE));
MetacardType testType = new MetacardTypeImpl("test.type", descriptors);
MetacardImpl mi = new MetacardImpl(mc);
mi.setSourceId("testSource");
mi.setType(testType);
assertEquals("testSource", mi.getSourceId());
assertEquals(testType, mi.getMetacardType());
}
use of ddf.catalog.data.AttributeDescriptor in project ddf by codice.
the class MetacardTypeImplTest method compareExtendedMetacardTypeToEquivalentMetacardType.
private void compareExtendedMetacardTypeToEquivalentMetacardType(BiConsumer<MetacardType, MetacardType> assertions) {
final Set<AttributeDescriptor> originalDescriptors = new HashSet<>(BASIC_METACARD.getAttributeDescriptors());
final MetacardType baseMetacardType = new MetacardTypeImpl("base", originalDescriptors);
final Set<AttributeDescriptor> additionalDescriptors = new HashSet<>();
additionalDescriptors.add(new AttributeDescriptorImpl("foo", true, false, true, false, BasicTypes.BOOLEAN_TYPE));
additionalDescriptors.add(new AttributeDescriptorImpl("bar", false, true, false, true, BasicTypes.STRING_TYPE));
final MetacardType extendedMetacardType = new MetacardTypeImpl("type", baseMetacardType, additionalDescriptors);
final Set<AttributeDescriptor> combinedDescriptors = new HashSet<>(originalDescriptors);
combinedDescriptors.addAll(additionalDescriptors);
final MetacardType equivalentMetacardType = new MetacardTypeImpl("type", combinedDescriptors);
assertions.accept(extendedMetacardType, equivalentMetacardType);
}
use of ddf.catalog.data.AttributeDescriptor in project ddf by codice.
the class RequiredAttributesMetacardValidator method validateMetacard.
@Override
public Optional<MetacardValidationReport> validateMetacard(final Metacard metacard) {
Preconditions.checkArgument(metacard != null, "The metacard cannot be null.");
final MetacardType metacardType = metacard.getMetacardType();
if (metacardTypeName.equals(metacardType.getName())) {
final Set<ValidationViolation> violations = new HashSet<>();
for (final String attributeName : requiredAttributes) {
final Attribute attribute = metacard.getAttribute(attributeName);
if (attribute != null) {
final AttributeDescriptor descriptor = metacardType.getAttributeDescriptor(attributeName);
if (descriptor.isMultiValued()) {
if (attribute.getValues().size() == 0) {
addRequiredAttributeViolation(attributeName, violations);
}
} else if (attribute.getValue() == null) {
addRequiredAttributeViolation(attributeName, violations);
}
} else {
addRequiredAttributeViolation(attributeName, violations);
}
}
if (violations.size() > 0) {
return getReport(violations);
}
}
return Optional.empty();
}
use of ddf.catalog.data.AttributeDescriptor in project ddf by codice.
the class MetacardTypeImplTest method testNullAttributeDescriptors.
@Test
public void testNullAttributeDescriptors() {
MetacardType mt = new MetacardTypeImpl(NAME, (Set<AttributeDescriptor>) null);
assertThat(mt.getAttributeDescriptors(), hasSize(0));
}
use of ddf.catalog.data.AttributeDescriptor in project ddf by codice.
the class QualifiedMetacardTypeTest method prepareTest.
@BeforeClass
public static void prepareTest() {
qmtAttributes = new HashSet<AttributeDescriptor>();
AttributeDescriptor ad1 = new AttributeDescriptorImpl(GEO_ATTRIBUTE_DESCRIPTOR_NAME, true, true, false, false, BasicTypes.GEO_TYPE);
qmtAttributes.add(ad1);
AttributeDescriptor ad2 = new AttributeDescriptorImpl(METADATA_ATTRIBUTE_DESCRIPTOR_NAME, true, true, false, false, BasicTypes.XML_TYPE);
qmtAttributes.add(ad2);
}
Aggregations