@Override public EnumType createType() { return new EnumType(); }
public EnumType withPresentation(Presentation presentation) { return new EnumType(cardinality, presentation, values); }
public ConstantNode(EnumValue value){ this(value, new EnumType()); }
private EnumType createEnumType(ResultSet rs, Map<Integer, List<EnumItem>> attributes) throws SQLException { Cardinality cardinality; if(rs.getBoolean("multipleAllowed")) { cardinality = Cardinality.MULTIPLE; } else { cardinality = Cardinality.SINGLE; } List<EnumItem> enumValues = attributes.get(rs.getInt("id")); if(enumValues == null) { enumValues = Lists.newArrayList(); } return new EnumType(cardinality, enumValues); }
private FieldType createType(BodyElement element, Bind binding) { switch (binding.getType()) { case STRING: return TextType.SIMPLE; case DATE: case DATETIME: return LocalDateType.INSTANCE; case SELECT1: return new EnumType(Cardinality.SINGLE, enumItems((SelectElement) element)); case SELECT: return new EnumType(Cardinality.MULTIPLE, enumItems((SelectElement) element)); case INT: case DECIMAL: return new QuantityType(); case GEOPOINT: return GeoPointType.INSTANCE; } throw new IllegalArgumentException(binding.getType().name()); }
public static ConstantNode valueOf(FieldValue value) { if(value instanceof TextValue) { return new ConstantNode(((TextValue) value).asString()); } else if(value instanceof BooleanFieldValue) { return new ConstantNode(value == BooleanFieldValue.TRUE); } else if(value instanceof Quantity) { return new ConstantNode(value, new QuantityType()); } else if (value instanceof EnumValue) { return new ConstantNode(value, new EnumType()); } else { throw new IllegalArgumentException(value.getTypeClass().getId()); } }
@Override public FormField create() { List<EnumItem> values = Lists.newArrayList(); values.add(new EnumItem(EnumItem.generateId(), I18N.MESSAGES.defaultEnumItem(1))); values.add(new EnumItem(EnumItem.generateId(), I18N.MESSAGES.defaultEnumItem(2))); FormField field = new FormField(ResourceId.generateFieldId(EnumType.TYPE_CLASS)); field.setLabel(I18N.CONSTANTS.defaultCheckboxFieldLabel()); field.setType(new EnumType(Cardinality.MULTIPLE, values)); return field; } }
@Override public FormField create() { List<EnumItem> values = Lists.newArrayList(); values.add(new EnumItem(EnumItem.generateId(), I18N.MESSAGES.defaultEnumItem(1))); values.add(new EnumItem(EnumItem.generateId(), I18N.MESSAGES.defaultEnumItem(2))); FormField field = new FormField(ResourceId.generateFieldId(EnumType.TYPE_CLASS)); field.setLabel(I18N.CONSTANTS.defaultRadioFieldLabel()); field.setType(new EnumType(Cardinality.SINGLE, values)); return field; } }
@Override public FormField asFormField() { Cardinality cardinality = isMultipleAllowed() ? Cardinality.MULTIPLE : Cardinality.SINGLE; List<EnumItem> values = Lists.newArrayList(); for (AttributeDTO attribute : getAttributes()) { values.add(new EnumItem(CuidAdapter.attributeId(attribute.getId()), attribute.getName())); } return new FormField(CuidAdapter.attributeGroupField(getId())) .setLabel(getName()) .setType(new EnumType(cardinality, values)) .setRequired(isMandatory()); }
private FormField multiEnum(String id, String label, String... values) { List<EnumItem> enumValues = Lists.newArrayList(); for (String value : values) { enumValues.add(new EnumItem(ResourceId.valueOf(value), value)); } EnumType type = new EnumType(Cardinality.MULTIPLE, enumValues); FormField field = new FormField(ResourceId.valueOf(id)); field.setLabel(label); field.setType(type); return field; }
@Test public void deserializationEnumTypeNoChoices() { EnumType type = new EnumType(Cardinality.SINGLE, EnumType.Presentation.AUTOMATIC, Collections.<EnumItem>emptyList()); JsonValue jsonObject = type.getParametersAsJson(); EnumType reType = EnumType.TYPE_CLASS.deserializeType(jsonObject); assertThat(reType.getCardinality(), equalTo(Cardinality.SINGLE)); assertThat(reType.getPresentation(), equalTo(EnumType.Presentation.AUTOMATIC)); assertThat(reType.getValues(), hasSize(0)); } }
@Test public void deserializationEnumTypeNoChoices() { EnumType type = new EnumType(Cardinality.SINGLE, EnumType.Presentation.AUTOMATIC, Collections.<EnumItem>emptyList()); JsonValue jsonObject = type.getParametersAsJson(); EmbeddedEntity entity = FormConverter.toEmbeddedEntity(jsonObject); JsonValue fromEntity = FormConverter.fromEmbeddedEntity(entity); EnumType reType = EnumType.TYPE_CLASS.deserializeType(fromEntity); assertThat(reType.getCardinality(), equalTo(Cardinality.SINGLE)); assertThat(reType.getPresentation(), equalTo(EnumType.Presentation.AUTOMATIC)); assertThat(reType.getValues(), hasSize(0)); }
@Test public void testDeleted() { EnumItem female = new EnumItem(ResourceId.valueOf("G1"), "Female"); EnumItem male = new EnumItem(ResourceId.valueOf("G2"), "Male"); FormField stringField = new FormField(ResourceId.valueOf("F")).setType( new EnumType(Cardinality.SINGLE, female, male)); SingleEnumBlock block = (SingleEnumBlock) BlockFactory.get(stringField); Entity blockEntity = new Entity("Block", 1); block.update(blockEntity, 0, new EnumValue(female)); block.update(blockEntity, 1, new EnumValue(male)); FormEntity header = new FormEntity(); header.setNumberedRecordCount(2); header.setDeletedCount(1); Entity tombstone = new Entity("Tombstone", 1); TombstoneBlock.markDeleted(tombstone, 1); TombstoneIndex tombstoneIndex = new TombstoneIndex(header, Arrays.asList(tombstone).iterator()); ColumnView view = block.buildView(header, tombstoneIndex, Arrays.asList(blockEntity).iterator()); assertThat(view.numRows(), equalTo(1)); assertThat(view.getString(0), equalTo("Female")); }
public EmptyForm() { formClass = new FormClass(FORM_ID) .setLabel("Empty Form"); textField = formClass.addField(TEXT_FIELD_ID) .setCode("TEXT") .setLabel("Null Text") .setRequired(false) .setType(TextType.SIMPLE); quantityField = formClass.addField(QUANTITY_FIELD_ID) .setCode("QUANT") .setLabel("Null Quantity") .setRequired(false) .setType(new QuantityType(null)); enumField = formClass.addField(ENUM_FIELD_ID) .setCode("ENUM") .setLabel("Null Enumeration") .setRequired(false) .setType(new EnumType()); popEnumField = formClass.addField(POP_ENUM_FIELD_ID) .setCode("POPENUM") .setLabel("Populated Enumeration") .setRequired(false) .setType(new EnumType(Cardinality.SINGLE, new EnumItem(ENUM_ONE_ID,"One"), new EnumItem(ENUM_TWO_ID,"Two"))); }
@Test public void buildCompact() { EnumItem a = new EnumItem(ResourceId.valueOf("a"), "Enumerated Item A"); EnumItem b = new EnumItem(ResourceId.valueOf("b"), "Enumerated Item B"); EnumItem c = new EnumItem(ResourceId.valueOf("c"), "Enumerated Item C"); EnumType enumType = new EnumType(Cardinality.SINGLE, a, b, c); CompactingEnumColumnBuilder builder = new CompactingEnumColumnBuilder(new PendingSlot<ColumnView>(), enumType); for (int i = 0; i < 13; i++) { builder.onNext(new EnumValue(a.getId())); builder.onNext(new EnumValue(b.getId())); builder.onNext(new EnumValue(c.getId())); builder.onNext(null); } ColumnView column8 = builder.build8(); ColumnView column32 = builder.build32(); for (int i = 0; i < column32.numRows(); i++) { if (!Objects.equals(column8.getString(i), column32.getString(i))) { throw new AssertionError("Vectors not equal at index " + i); } } assertThat(builder.build(), instanceOf(DiscreteStringColumnView8.class)); }
public IncidentForm(BioDataForm bioDataForm) { this.bioDataForm = bioDataForm; formClass = new FormClass(FORM_ID); formClass.setLabel("Incident Form"); codeField = formClass.addField(PROTECTION_CODE_FIELD_ID) .setCode("PCODE") .setLabel("Protection Code") .setType(new ReferenceType(Cardinality.SINGLE, BioDataForm.FORM_ID)) .setRequired(true) .setVisible(true); urgencyField = formClass.addField(URGENCY) .setLabel("Urgency of the case") .setType(new EnumType(Cardinality.SINGLE, new EnumItem(HIGH, "High"), new EnumItem(MEDIUM, "Medium"), new EnumItem(LOW, "Low"))); referralField = formClass.addField(REFERRAL_FIELD_ID) .setLabel("Referrals") .setType(new SubFormReferenceType(ReferralSubForm.FORM_ID)); generator = new RecordGenerator(formClass) .distribution(PROTECTION_CODE_FIELD_ID, new RefGenerator(bioDataForm)); }
formClass.addField(selectField) .setLabel("Favorite color") .setType(new EnumType(Cardinality.SINGLE, EnumType.Presentation.AUTOMATIC, Collections.<EnumItem>emptyList()));