1 56 57 package org.objectstyle.cayenne.modeler.dialog.validator; 58 59 import javax.swing.JFrame ; 60 61 import org.apache.log4j.Logger; 62 import org.objectstyle.cayenne.access.DataDomain; 63 import org.objectstyle.cayenne.access.DataNode; 64 import org.objectstyle.cayenne.map.Attribute; 65 import org.objectstyle.cayenne.map.DataMap; 66 import org.objectstyle.cayenne.map.Entity; 67 import org.objectstyle.cayenne.map.Procedure; 68 import org.objectstyle.cayenne.map.ProcedureParameter; 69 import org.objectstyle.cayenne.map.Relationship; 70 import org.objectstyle.cayenne.modeler.ProjectController; 71 import org.objectstyle.cayenne.project.ProjectPath; 72 import org.objectstyle.cayenne.project.validator.ValidationInfo; 73 import org.objectstyle.cayenne.query.Query; 74 75 81 public abstract class ValidationDisplayHandler { 82 private static Logger logObj = Logger.getLogger(ValidationDisplayHandler.class); 83 84 public static final int NO_ERROR = ValidationInfo.VALID; 85 public static final int WARNING = ValidationInfo.WARNING; 86 public static final int ERROR = ValidationInfo.ERROR; 87 88 protected ValidationInfo validationInfo; 89 protected DataDomain domain; 90 91 public static ValidationDisplayHandler getErrorMsg(ValidationInfo result) { 92 Object validatedObj = result.getValidatedObject(); 93 94 ValidationDisplayHandler msg = null; 95 if (validatedObj instanceof Attribute) { 96 msg = new AttributeErrorMsg(result); 97 } 98 else if (validatedObj instanceof Relationship) { 99 msg = new RelationshipErrorMsg(result); 100 } 101 else if (validatedObj instanceof Entity) { 102 msg = new EntityErrorMsg(result); 103 } 104 else if (validatedObj instanceof DataNode) { 105 msg = new DataNodeErrorMsg(result); 106 } 107 else if (validatedObj instanceof DataMap) { 108 msg = new DataMapErrorMsg(result); 109 } 110 else if (validatedObj instanceof DataDomain) { 111 msg = new DomainErrorMsg(result); 112 } 113 else if (validatedObj instanceof Procedure) { 114 msg = new ProcedureErrorMsg(result); 115 } 116 else if (validatedObj instanceof ProcedureParameter) { 117 msg = new ProcedureParameterErrorMsg(result); 118 } 119 else if (validatedObj instanceof Query) { 120 msg = new QueryErrorMsg(result); 121 } 122 else { 123 logObj.info("unknown project node: " + validatedObj); 125 msg = new NullHanlder(result); 126 } 127 128 return msg; 129 } 130 131 public ValidationDisplayHandler(ValidationInfo validationInfo) { 132 this.validationInfo = validationInfo; 133 } 134 135 138 public abstract void displayField(ProjectController mediator, JFrame frame); 139 140 141 public String getMessage() { 142 return validationInfo.getMessage(); 143 } 144 145 146 public int getSeverity() { 147 return validationInfo.getSeverity(); 148 } 149 150 public DataDomain getDomain() { 151 return domain; 152 } 153 154 public void setDomain(DataDomain domain) { 155 this.domain = domain; 156 } 157 158 public String toString() { 159 return getMessage(); 160 } 161 162 public ProjectPath getPath() { 163 return validationInfo.getPath(); 164 } 165 166 public ValidationInfo getValidationInfo() { 167 return validationInfo; 168 } 169 170 private static final class NullHanlder extends ValidationDisplayHandler { 171 NullHanlder(ValidationInfo info) { 172 super(info); 173 } 174 175 public void displayField(ProjectController mediator, JFrame frame) { 176 } 178 } 179 } | Popular Tags |