1 21 package com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.persistent; 22 23 import java.util.ArrayList ; 24 import java.util.List ; 25 26 import com.jaspersoft.jasperserver.api.metadata.common.domain.InputControl; 27 import com.jaspersoft.jasperserver.api.metadata.common.domain.Resource; 28 import com.jaspersoft.jasperserver.api.metadata.common.service.ResourceFactory; 29 import com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.ReferenceResolver; 30 31 32 39 public class RepoInputControl extends RepoResource 40 { 41 42 45 private byte type = InputControl.TYPE_SINGLE_VALUE; 46 private boolean isMandatory = false; 47 private boolean isReadOnly = false; 48 private RepoDataType dataType = null; 49 private RepoListOfValues listOfValues = null; 50 private RepoQuery query = null; 51 private List queryVisibleColumns = new ArrayList (); 52 private String queryValueColumn = null; 53 private Object defaultValue = null; 54 private List defaultValues = null; 55 56 57 60 public byte getType() 61 { 62 return type; 63 } 64 65 68 public void setType(byte type) 69 { 70 this.type = type; 71 } 72 73 76 public boolean isMandatory() 77 { 78 return isMandatory; 79 } 80 81 84 public void setMandatory(boolean isMandatory) 85 { 86 this.isMandatory = isMandatory; 87 } 88 89 92 public boolean isReadOnly() 93 { 94 return isReadOnly; 95 } 96 97 100 public void setReadOnly(boolean isReadOnly) 101 { 102 this.isReadOnly = isReadOnly; 103 } 104 105 109 public RepoDataType getDataType() 110 { 111 return dataType; 112 } 113 114 117 public void setDataType(RepoDataType dataType) 118 { 119 this.dataType = dataType; 120 } 121 122 126 public RepoListOfValues getListOfValues() 127 { 128 return listOfValues; 129 } 130 131 134 public void setListOfValues(RepoListOfValues values) 135 { 136 this.listOfValues = values; 137 } 138 139 143 public RepoQuery getQuery() 144 { 145 return query; 146 } 147 148 151 public void setQuery(RepoQuery query) 152 { 153 this.query = query; 154 } 155 156 162 public List getQueryVisibleColumns() 163 { 164 return queryVisibleColumns; 165 } 166 167 170 public void setQueryVisibleColumns(List queryVisibleColumns) 171 { 172 this.queryVisibleColumns = queryVisibleColumns; 173 } 174 175 179 public String getQueryValueColumn() 180 { 181 return queryValueColumn; 182 } 183 184 187 public void setQueryValueColumn(String column) 188 { 189 this.queryValueColumn = column; 190 } 191 192 195 public Object getDefaultValue() 196 { 197 return defaultValue; 198 } 199 200 203 public void setDefaultValue(Object value) 204 { 205 this.defaultValue = value; 206 } 207 208 211 public List getDefaultValues() { 213 return defaultValues; 214 } 215 216 219 public void setDefaultValues(List values) 220 { 221 this.defaultValues = values; 222 } 223 224 protected Class getClientItf() { 225 return InputControl.class; 226 } 227 228 protected void copyTo(Resource clientRes, ResourceFactory resourceFactory) { 229 super.copyTo(clientRes, resourceFactory); 230 231 InputControl control = (InputControl) clientRes; 232 233 control.setType(getType()); 234 control.setMandatory(isMandatory()); 235 control.setReadOnly(isReadOnly()); 236 237 control.setDataType(getClientReference(getDataType(), resourceFactory)); 238 control.setListOfValues(getClientReference(getListOfValues(), resourceFactory)); 239 control.setQuery(getClientReference(getQuery(), resourceFactory)); 240 241 control.setQueryValueColumn(getQueryValueColumn()); 242 for (int i = 0; i < queryVisibleColumns.size(); i++) 243 control.addQueryVisibleColumn((String ) queryVisibleColumns.get(i)); 244 245 control.setDefaultValue(getDefaultValue()); 246 } 248 249 252 protected void copyFrom(Resource clientRes, ReferenceResolver referenceResolver) 253 { 254 super.copyFrom(clientRes, referenceResolver); 255 256 InputControl control = (InputControl) clientRes; 257 258 setType(control.getType()); 259 setMandatory(control.isMandatory()); 260 setReadOnly(control.isReadOnly()); 261 262 switch(control.getType()) { 263 case InputControl.TYPE_BOOLEAN: 264 setDataType(null); 265 setListOfValues(null); 266 setQuery(null); 267 break; 268 case InputControl.TYPE_SINGLE_VALUE: 269 case InputControl.TYPE_MULTI_VALUE: 270 setDataType((RepoDataType) getReference(control.getDataType(), RepoDataType.class, referenceResolver)); 271 setListOfValues(null); 272 setQuery(null); 273 break; 274 case InputControl.TYPE_SINGLE_SELECT_LIST_OF_VALUES: 275 case InputControl.TYPE_MULTI_SELECT_LIST_OF_VALUES: 276 case InputControl.TYPE_SINGLE_SELECT_LIST_OF_VALUES_RADIO: 277 case InputControl.TYPE_MULTI_SELECT_LIST_OF_VALUES_CHECKBOX: 278 setListOfValues((RepoListOfValues) getReference(control.getListOfValues(), RepoListOfValues.class, referenceResolver)); 279 setDataType(null); 280 setQuery(null); 281 break; 282 case InputControl.TYPE_SINGLE_SELECT_QUERY: 283 case InputControl.TYPE_MULTI_SELECT_QUERY: 284 case InputControl.TYPE_SINGLE_SELECT_QUERY_RADIO: 285 case InputControl.TYPE_MULTI_SELECT_QUERY_CHECKBOX: 286 setQuery((RepoQuery) getReference(control.getQuery(), RepoQuery.class, referenceResolver)); 287 setDataType(null); 288 setListOfValues(null); 289 break; 290 } 291 292 setQueryValueColumn(control.getQueryValueColumn()); 293 setQueryVisibleColumns(control.getQueryVisibleColumnsAsList()); 294 setDefaultValue(control.getDefaultValue()); 295 } 297 298 } 299 | Popular Tags |