void setCatalog(String text) { if (text != null && text.trim().length() == 0) { text = null; } Procedure procedure = eventController.getCurrentProcedure(); if (procedure != null && !Util.nullSafeEquals(procedure.getCatalog(), text)) { procedure.setCatalog(text); eventController.fireProcedureEvent(new ProcedureEvent(this, procedure)); } } }
/** * Prints itself as XML to the provided XMLEncoder. * * @since 1.1 */ public void encodeAsXML(XMLEncoder encoder) { encoder.print("<procedure name=\""); encoder.print(Util.encodeXmlAttribute(getName())); encoder.print('\"'); if (getSchema() != null && getSchema().trim().length() > 0) { encoder.print(" schema=\""); encoder.print(getSchema().trim()); encoder.print('\"'); } if (getCatalog() != null && getCatalog().trim().length() > 0) { encoder.print(" catalog=\""); encoder.print(getCatalog().trim()); encoder.print('\"'); } if (isReturningValue()) { encoder.print(" returningValue=\"true\""); } encoder.println('>'); encoder.indent(1); encoder.print(getCallParameters()); encoder.indent(-1); encoder.println("</procedure>"); }
/** * Prints itself as XML to the provided XMLEncoder. * * @since 1.1 */ public void encodeAsXML(XMLEncoder encoder) { encoder.print("<procedure name=\""); encoder.print(Util.encodeXmlAttribute(getName())); encoder.print('\"'); if (getSchema() != null && getSchema().trim().length() > 0) { encoder.print(" schema=\""); encoder.print(getSchema().trim()); encoder.print('\"'); } if (getCatalog() != null && getCatalog().trim().length() > 0) { encoder.print(" catalog=\""); encoder.print(getCatalog().trim()); encoder.print('\"'); } if (isReturningValue()) { encoder.print(" returningValue=\"true\""); } encoder.println('>'); encoder.indent(1); encoder.print(getCallParameters()); encoder.indent(-1); encoder.println("</procedure>"); }
/** * Invoked when currently selected Procedure object is changed. */ public void currentProcedureChanged(ProcedureDisplayEvent e) { Procedure procedure = e.getProcedure(); if (procedure == null || !e.isProcedureChanged()) { return; } name.setText(procedure.getName()); schema.setText(procedure.getSchema()); catalog.setText(procedure.getCatalog()); ignoreChange = true; returnsValue.setSelected(procedure.isReturningValue()); ignoreChange = false; }
private boolean syncProcedures(DataMap targetDataMap, DataMap loadedDataMap, FiltersConfig filters) { Collection<Procedure> procedures = loadedDataMap.getProcedures(); if (procedures.isEmpty()) { return false; } boolean hasChanges = false; for (Procedure procedure : procedures) { PatternFilter proceduresFilter = filters.proceduresFilter(procedure.getCatalog(), procedure.getSchema()); if (proceduresFilter == null || !proceduresFilter.isIncluded(procedure.getName())) { continue; } Procedure oldProcedure = targetDataMap.getProcedure(procedure.getName()); // maybe we need to compare oldProcedure's and procedure's fully qualified names? if (oldProcedure != null) { targetDataMap.removeProcedure(procedure.getName()); logger.info("Replace procedure " + procedure.getName()); } else { logger.info("Add new procedure " + procedure.getName()); } targetDataMap.addProcedure(procedure); hasChanges = true; } return hasChanges; }
protected void updateCatalog() { boolean doAll = isAllEntities(); String defaultCatalog = dataMap.getDefaultCatalog(); // set catalog for DbEntities for (DbEntity entity : dataMap.getDbEntities()) { if (doAll || Util.isEmptyString(entity.getCatalog())) { if (!Util.nullSafeEquals(defaultCatalog, entity.getCatalog())) { entity.setCatalog(defaultCatalog); // any way to batch events, a big change will flood the app // with entity events..? mediator.fireDbEntityEvent(new EntityEvent(this, entity)); } } } // set catalog for procedures... for (Procedure procedure : dataMap.getProcedures()) { if (doAll || Util.isEmptyString(procedure.getCatalog())) { if (!Util.nullSafeEquals(defaultCatalog, procedure.getCatalog())) { procedure.setCatalog(defaultCatalog); // any way to batch events, a big change will flood the app // with procedure events..? mediator.fireProcedureEvent(new ProcedureEvent(this, procedure)); } } } view.dispose(); }