package org.activityinfo.legacy.shared.adapter; import com.google.common.base.Function; import org.activityinfo.model.legacy.CuidAdapter; import org.activityinfo.model.resource.ResourceId; import org.activityinfo.model.form.FormInstance; import org.activityinfo.legacy.shared.model.AdminEntityDTO; /** * Converts an AdminEntityDTO to a FormInstance */ public class AdminEntityInstanceAdapter implements Function<AdminEntityDTO, FormInstance> { @Override public FormInstance apply(AdminEntityDTO input) { ResourceId classId = CuidAdapter.adminLevelFormClass(input.getLevelId()); ResourceId instanceId = CuidAdapter.entity(input.getId()); FormInstance instance = new FormInstance(instanceId, classId); // Parent field value if (input.getParentId() != null) { instance.set(CuidAdapter.field(classId, CuidAdapter.ADMIN_PARENT_FIELD), CuidAdapter.entity(input.getParentId())); } instance.set(CuidAdapter.field(classId, CuidAdapter.NAME_FIELD), input.getName()); return instance; } }