/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.transformation.validation; import java.util.Collections; import java.util.List; /** * TransformationValidationResult. Result object returned when entire transformation is validated. * * @since 8.0 */ public class TransformationValidationResult { private List statusList = null; private boolean insertAllowed; private boolean updateAllowed; private boolean deleteAllowed; private SqlTransformationResult selectStatus; private SqlTransformationResult insertStatus; private SqlTransformationResult updateStatus; private SqlTransformationResult deleteStatus; /** * Constructor */ public TransformationValidationResult() {} /** * Constructor * @param statusList the List of Status objects */ public TransformationValidationResult(List statusList) { this.statusList = statusList; } /** * Get the status List * @return the List of Status objects */ public List getStatusList() { if(statusList!=null) { return statusList; } return Collections.EMPTY_LIST; } /** * Get the isValid status * @return 'true' if valid, 'false' if not. */ public boolean isValid() { boolean valid = false; if(getStatusList().isEmpty()) { // should always have select result valid = hasSelectResult(); if(valid) { valid = getSelectResult().isValidatable(); } if(valid && hasInsertResult()) { valid = getInsertResult().isValidatable(); } if(valid && hasUpdateResult()) { valid = getUpdateResult().isValidatable(); } if(valid && hasDeleteResult()) { valid = getDeleteResult().isValidatable(); } } return valid; } /** * @return */ public SqlTransformationResult getSelectResult() { return selectStatus; } /** * @return */ public SqlTransformationResult getDeleteResult() { return deleteStatus; } /** * @return */ public SqlTransformationResult getInsertResult() { return insertStatus; } /** * @return */ public SqlTransformationResult getUpdateResult() { return updateStatus; } /** * @return */ public boolean hasSelectResult() { return (selectStatus != null); } /** * @return */ public boolean hasDeleteResult() { return (deleteStatus != null); } /** * @return */ public boolean hasInsertResult() { return (insertStatus != null); } /** * @return */ public boolean hasUpdateResult() { return (updateStatus != null); } /** * @param result */ public void setSelectResult(SqlTransformationResult selectStatus) { this.selectStatus = selectStatus; } /** * @param result */ public void setInsertResult(SqlTransformationResult insertStatus) { this.insertStatus = insertStatus; } /** * @param result */ public void setUpdateResult(SqlTransformationResult updateStatus) { this.updateStatus = updateStatus; } /** * @param result */ public void setDeleteResult(SqlTransformationResult deleteStatus) { this.deleteStatus = deleteStatus; } /** * @param result */ public void setStatuses(List statusList) { this.statusList = statusList; } /** * @return */ public boolean isDeleteAllowed() { return deleteAllowed; } /** * @return */ public boolean isInsertAllowed() { return insertAllowed; } /** * @return */ public boolean isUpdateAllowed() { return updateAllowed; } /** * @param b */ public void setDeleteAllowed(boolean b) { deleteAllowed = b; } /** * @param b */ public void setInsertAllowed(boolean b) { insertAllowed = b; } /** * @param b */ public void setUpdateAllowed(boolean b) { updateAllowed = b; } }