package org.activityinfo.legacy.shared.adapter; import org.activityinfo.i18n.shared.I18N; import org.activityinfo.model.form.FormClass; import org.activityinfo.model.form.FormField; import org.activityinfo.model.legacy.CuidAdapter; import org.activityinfo.model.resource.ResourceId; import org.activityinfo.model.type.primitive.TextType; public class PartnerClassAdapter { public static ResourceId getNameField(ResourceId classId) { return CuidAdapter.field(classId, CuidAdapter.NAME_FIELD); } public static ResourceId getFullNameField(ResourceId classId) { return CuidAdapter.field(classId, CuidAdapter.FULL_NAME_FIELD); } /** * Partner was a builtin object type in api1. However, we need a different * FormClass for each legacy UserDatabase. */ public static FormClass create(int databaseId) { ResourceId classId = CuidAdapter.partnerFormClass(databaseId); FormClass formClass = new FormClass(classId); formClass.setLabel(I18N.CONSTANTS.partner()); // add the partner's name FormField nameField = new FormField(getNameField(classId)); nameField.setLabel(I18N.CONSTANTS.name()); nameField.setType(TextType.INSTANCE); nameField.setRequired(true); formClass.addElement(nameField); // partner full name FormField fullNameField = new FormField(getFullNameField(classId)); fullNameField.setLabel(I18N.CONSTANTS.fullName()); fullNameField.setType(TextType.INSTANCE); formClass.addElement(fullNameField); return formClass; } }