public void setValueAt(Object aValue, int rowIndex, int columnIndex) { // if code reaches here, then value can be modified Field field = null; String fieldName = null; if (columnIndex == IS_QUERYABLE) { fieldName = (String) getValueAt(rowIndex, this.NAME); field = pnlSchema.findFieldInMaps(fieldName); if (field != null) { field.setQueryable(((Boolean) aValue).booleanValue()); // need to add field to the modified fields map to keep track of // it when figuring out which fields can be added to new tables if (pnlSchema.getCommittedField(fieldName) != null && pnlSchema.getNQInitField(fieldName) != null) { pnlSchema.addModifiedField(field); } } } super.setValueAt(aValue, rowIndex, columnIndex); }
private boolean canAttributeChange(int row, int column) { boolean change = false; // Logic for allowing the user to edit the queryable attribute // -- User can change a NQ committed field to Q but CAN NOT // change a Q committed field to NQ. While on the Set Up // Schema panel, the user should be able to change the // queryable attribute for new fields as long as they are NOT // part of a table. String fieldName = (String) getValueAt(row, this.NAME); Field field = pnlSchema.getNewField(fieldName); if (field != null) { // new field so can change from Q to NQ and back to Q provided // the field is not in a table change = isFieldNotInTable(field); } else { field = pnlSchema.getCommittedField(fieldName); if (field != null) { // committed field so determine if original state // was NQ or Q....if NQ, then its state can be changed // from NQ to Q and back to NQ provided it is NOT part // of a table and the changes haven't been committed Field initField = pnlSchema.getNQInitField(fieldName); if (initField != null) { // The original state of the committed field is NQ change = isFieldNotInTable(field); } } else { field = pnlSchema.getModifiedField(fieldName); if (field != null) { change = isFieldNotInTable(field); } } } // end of else return change; }
public void setPanel(PnlConfigMetadataSchema schema) { pnlSchema = schema; panelType = schema.getPanelType(); }