package org.karmaexchange.dao;
import org.karmaexchange.resources.msg.ValidationErrorInfo.ValidationError;
import org.karmaexchange.resources.msg.ValidationErrorInfo.ValidationErrorType;
import com.googlecode.objectify.Key;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper=true)
@ToString(callSuper=true)
public final class AssociatedOrganization extends KeyWrapper<Organization> {
public enum Association {
EVENT_SPONSOR,
EVENT_OWNER_ANCESTOR,
EVENT_OWNER
}
private String orgName;
private Association association;
public AssociatedOrganization(Key<Organization> orgKey, String orgName,
Association association) {
super(orgKey);
this.orgName = orgName;
this.association = association;
}
public AssociatedOrganization(Organization org, Association association) {
super(Key.create(org));
this.orgName = org.getOrgName();
this.association = association;
}
public ValidationError validate(BaseDao<?> resource, String listFieldName) {
if ((orgName == null) || (key == null)) {
return new BaseDao.ListValueValidationError(
resource, ValidationErrorType.RESOURCE_FIELD_LIST_VALUE_INVALID_VALUE, listFieldName,
this.toString());
}
return null;
}
}