| 1 56 57 package org.objectstyle.cayenne.modeler.dialog.query; 58 59 import org.objectstyle.cayenne.map.DataMap; 60 import org.objectstyle.cayenne.query.ProcedureQuery; 61 import org.objectstyle.cayenne.query.Query; 62 import org.objectstyle.cayenne.query.SQLTemplate; 63 import org.objectstyle.cayenne.query.SelectQuery; 64 import org.scopemvc.core.Selector; 65 66 69 public class QueryTypeModel { 70 71 public static final Selector OBJECT_SELECT_QUERY_SELECTOR = Selector 72 .fromString("objectSelectQuery"); 73 public static final Selector RAW_SQL_QUERY_SELECTOR = Selector 74 .fromString("rawSQLQuery"); 75 public static final Selector PROCEDURE_QUERY_SELECTOR = Selector 76 .fromString("procedureQuery"); 77 78 protected Query objectSelectQuery; 80 protected Query rawSQLQuery; 81 protected Query procedureQuery; 82 83 protected Query selectedQuery; 84 85 public QueryTypeModel(DataMap root) { 86 objectSelectQuery = new SelectQuery(); 88 procedureQuery = new ProcedureQuery(); 89 90 SQLTemplate rawSQLQuery = new SQLTemplate(true); 91 rawSQLQuery.setRoot(root); 92 rawSQLQuery.setFetchingDataRows(true); 93 this.rawSQLQuery = rawSQLQuery; 94 95 selectedQuery = objectSelectQuery; 97 } 98 99 public Query getSelectedQuery() { 100 return selectedQuery; 101 } 102 103 public void setSelectedQuery(Query selectedQuery) { 104 this.selectedQuery = selectedQuery; 105 } 106 107 public boolean isObjectSelectQuery() { 108 return selectedQuery == objectSelectQuery; 109 } 110 111 public void setObjectSelectQuery(boolean flag) { 112 if (!flag && isObjectSelectQuery()) { 113 selectedQuery = null; 114 } 115 else if (flag && !isObjectSelectQuery()) { 116 selectedQuery = objectSelectQuery; 117 } 118 } 119 120 public boolean isRawSQLQuery() { 121 return selectedQuery == rawSQLQuery; 122 } 123 124 public void setRawSQLQuery(boolean flag) { 125 if (!flag && isRawSQLQuery()) { 126 selectedQuery = null; 127 } 128 else if (flag && !isRawSQLQuery()) { 129 selectedQuery = rawSQLQuery; 130 } 131 } 132 133 public boolean isProcedureQuery() { 134 return selectedQuery == procedureQuery; 135 } 136 137 public void setProcedureQuery(boolean flag) { 138 if (!flag && isProcedureQuery()) { 139 selectedQuery = null; 140 } 141 else if (flag && !isProcedureQuery()) { 142 selectedQuery = procedureQuery; 143 } 144 } 145 } | Popular Tags |