/** * Return the string for logging purposes. */ public String getLogString(Accessor accessor) { StringWriter writer = new StringWriter(); writer.write("Executing "); writer.write(toString()); writer.write(Helper.cr()); writer.write("\tspec => "); writer.write(String.valueOf(getInteractionSpec())); writer.write(Helper.cr()); writer.write("\tproperties => "); writer.write(String.valueOf(getProperties())); writer.write(Helper.cr()); writer.write("\txml => "); Element dom = createInputDOM((EISAccessor)accessor); EISDOMRecord record = new EISDOMRecord(dom); record.transformToWriter(writer); return writer.toString(); }
if ((getInputRow() != null) && (!hasArguments())) { if (getInputResultPath().length() == 0) { if (getInputRow() instanceof XMLRecord) { dom = (Element)((XMLRecord)getInputRow()).getDOM(); if (!dom.getTagName().equals(getInputRootElementName())) { XMLRecord parameterRow = createXMLRecord(getInputRootElementName()); parameterRow.put("/" + getInputRootElementName(), getInputRow()); dom = (Element)parameterRow.getDOM(); XMLRecord parameterRow = createXMLRecord(getInputRootElementName()); for (int index = 0; index < getInputRow().size(); index++) { parameterRow.put(getInputRow().getFields().elementAt(index), getInputRow().getValues().elementAt(index)); XMLRecord parameterRow = createXMLRecord(getInputRootElementName()); parameterRow.put(getInputResultPath(), getInputRow()); dom = (Element)parameterRow.getDOM(); XMLRecord parameterRow = createXMLRecord(getInputRootElementName()); for (int index = 0; index < getArgumentNames().size(); index++) { String parameterName = (String)getArgumentNames().get(index); Object parameter = getParameters().get(index); if ((parameter == null) && (getInputRow() != null)) { parameter = getInputRow().get(parameterName);
protected void addXMLInteractionLines(NonreflectiveMethodDefinition method, XMLInteraction interaction, String variableName) { method.addLine("org.eclipse.persistence.eis.XMLInteraction " + variableName + " = new org.eclipse.persistence.eis.XMLInteraction();"); if ((interaction.getFunctionName() != null) && (interaction.getFunctionName().length() != 0)) { method.addLine(variableName + ".setFunctionName(\"" + interaction.getFunctionName() + "\");"); } if ((interaction.getInputRecordName() != null) && (interaction.getInputRecordName().length() != 0)) { method.addLine(variableName + ".setInputRecordName(\"" + interaction.getInputRecordName() + "\");"); } if ((interaction.getInputRootElementName() != null) && (interaction.getInputRootElementName().length() != 0)) { method.addLine(variableName + ".setInputRootElementName(\"" + interaction.getInputRootElementName() + "\");"); } if ((interaction.getInputResultPath() != null) && (interaction.getInputResultPath().length() != 0)) { method.addLine(variableName + ".setInputResultPath(\"" + interaction.getInputResultPath() + "\");"); } if ((interaction.getOutputResultPath() != null) && (interaction.getOutputResultPath().length() != 0)) { method.addLine(variableName + ".setOutputResultPath(\"" + interaction.getOutputResultPath() + "\");"); } for (int index = interaction.getArgumentNames().size(); index < interaction.getArgumentNames().size(); index++) { String argumentName = (String)interaction.getArgumentNames().get(index); String argument = (String)interaction.getArguments().get(index); method.addLine(variableName + ".addArgument(\"" + argumentName + "\", \"" + argument + "\");"); } }
/** * Set the default record name from the descriptor. */ public void prepare(AbstractSession session) { if (getInputRootElementName().length() == 0) { if ((getQuery() != null) && (getQuery().getDescriptor() instanceof EISDescriptor)) { EISDescriptor descriptor = (EISDescriptor)getQuery().getDescriptor(); setInputRootElementName(descriptor.getDataTypeName()); } else { setInputRootElementName("input"); } } if (getOutputRootElementName().length() == 0) { if ((getQuery() != null) && (getQuery().getDescriptor() instanceof EISDescriptor)) { EISDescriptor descriptor = (EISDescriptor)getQuery().getDescriptor(); setOutputRootElementName(descriptor.getDataTypeName()); } else { setInputRootElementName("output"); } } super.prepare(session); }
/** * Build a database row from the record returned from the interaction. */ public AbstractRecord buildRow(Record record, EISAccessor accessor) { if (record == null) { return null; } AbstractRecord row = accessor.getEISPlatform().createDatabaseRowFromDOMRecord(record, this, accessor); if (row == null) { return null; } if (getOutputResultPath().length() > 0) { row = (AbstractRecord)row.get(getOutputResultPath()); // Handle the case were the output row is mapped into a database row of values. } else if (hasOutputArguments()) { row = createXMLRecord(getOutputRootElementName()); for (int index = 0; index < getOutputArgumentNames().size(); index++) { DatabaseField field = (DatabaseField)getOutputArguments().get(index); row.put(field, row.get(getOutputArgumentNames().get(index))); } } return row; }
/** * Create a DOM input record for this interaction. * Convert the database row or arguments into an XML DOM tree. */ public Record createInputRecord(EISAccessor accessor) { Record record = accessor.getEISPlatform().createDOMRecord(getInputRecordName(), accessor); Element dom = createInputDOM(accessor); accessor.getEISPlatform().setDOMInRecord(dom, record, this, accessor); if (record instanceof XMLRecord) { ((XMLRecord) record).setSession(this.getQuery().getSession()); } return record; }
/** * INTERNAL: * Use the createRecord method on ObjectBuilder in case the root element is namespace qualified */ protected XMLRecord createXMLRecord(String rootName) { XMLRecord xmlRec; if (getQuery().getDescriptor() != null && getQuery().getDescriptor() instanceof EISDescriptor) { xmlRec = (XMLRecord)((XMLObjectBuilder)this.getQuery().getDescriptor().getObjectBuilder()).createRecord(getInputRootElementName(), getQuery().getSession()); } else { xmlRec = new org.eclipse.persistence.oxm.record.DOMRecord(getInputRootElementName()); xmlRec.setSession(getQuery().getSession()); } return xmlRec; } }
public Object getAttributeValueFromObject(Object object) { XMLInteraction interaction = (XMLInteraction)object; Vector argumentNames = interaction.getArgumentNames(); Vector arguments = interaction.getArguments(); Vector interactionArguments = new Vector(arguments.size()); for (int index = 0; index < arguments.size(); index++) { InteractionArgument interactionArgument = new InteractionArgument(); interactionArgument.setArgumentName((String)argumentNames.get(index)); Object argument = arguments.get(index); if (argument instanceof DatabaseField) { interactionArgument.setKey(argument); } else { interactionArgument.setValue(argument); } interactionArguments.add(interactionArgument); } return interactionArguments; }
/** * Create a DOM for this interaction. * Convert the database row or arguments into an XML DOM tree. * Handles arguments different as the XQuery and input can both have parameters. */ public Element createInputDOM(EISAccessor accessor) { // The input record can either be build from the interaction arguments, // or the modify row. if ((getInputRow() != null) && (!hasArguments())) { return super.createInputDOM(accessor); } XMLRecord parameterRow = createXMLRecord(getInputRootElementName()); for (int index = 0; index < getArgumentNames().size(); index++) { String parameterName = (String)getArgumentNames().get(index); Object parameter = getInputRow().get(parameterName); parameterRow.put(parameterName, parameter); } return (Element)parameterRow.getDOM(); }
/** * Build a database row from the record returned from the interaction. */ public AbstractRecord buildRow(Record record, EISAccessor accessor) { if (record == null) { return null; } AbstractRecord row = accessor.getEISPlatform().createDatabaseRowFromDOMRecord(record, this, accessor); if (row == null) { return null; } if (getOutputResultPath().length() > 0) { row = (AbstractRecord)row.get(getOutputResultPath()); // Handle the case were the output row is mapped into a database row of values. } else if (hasOutputArguments()) { row = createXMLRecord(getOutputRootElementName()); for (int index = 0; index < getOutputArgumentNames().size(); index++) { DatabaseField field = (DatabaseField)getOutputArguments().get(index); row.put(field, row.get(getOutputArgumentNames().get(index))); } } return row; }
/** * Set the default record name from the descriptor. */ public void prepare(AbstractSession session) { if (getInputRootElementName().length() == 0) { if ((getQuery() != null) && (getQuery().getDescriptor() instanceof EISDescriptor)) { EISDescriptor descriptor = (EISDescriptor)getQuery().getDescriptor(); setInputRootElementName(descriptor.getDataTypeName()); } else { setInputRootElementName("input"); } } if (getOutputRootElementName().length() == 0) { if ((getQuery() != null) && (getQuery().getDescriptor() instanceof EISDescriptor)) { EISDescriptor descriptor = (EISDescriptor)getQuery().getDescriptor(); setOutputRootElementName(descriptor.getDataTypeName()); } else { setInputRootElementName("output"); } } super.prepare(session); }
/** * Create a DOM input record for this interaction. * Convert the database row or arguments into an XML DOM tree. */ public Record createInputRecord(EISAccessor accessor) { Record record = accessor.getEISPlatform().createDOMRecord(getInputRecordName(), accessor); Element dom = createInputDOM(accessor); accessor.getEISPlatform().setDOMInRecord(dom, record, this, accessor); if (record instanceof XMLRecord) { ((XMLRecord) record).setSession(this.getQuery().getSession()); } return record; }
/** * INTERNAL: * Use the createRecord method on ObjectBuilder in case the root element is namespace qualified */ protected XMLRecord createXMLRecord(String rootName) { XMLRecord xmlRec; if (getQuery().getDescriptor() != null && getQuery().getDescriptor() instanceof EISDescriptor) { xmlRec = (XMLRecord)((XMLObjectBuilder)this.getQuery().getDescriptor().getObjectBuilder()).createRecord(getInputRootElementName(), getQuery().getSession()); } else { xmlRec = new org.eclipse.persistence.oxm.record.DOMRecord(getInputRootElementName()); xmlRec.setSession(getQuery().getSession()); } return xmlRec; } }
public Object getAttributeValueFromObject(Object object) { XMLInteraction interaction = (XMLInteraction)object; Vector argumentNames = interaction.getArgumentNames(); Vector arguments = interaction.getArguments(); Vector interactionArguments = new Vector(arguments.size()); for (int index = 0; index < arguments.size(); index++) { InteractionArgument interactionArgument = new InteractionArgument(); interactionArgument.setArgumentName((String)argumentNames.get(index)); Object argument = arguments.get(index); if (argument instanceof DatabaseField) { interactionArgument.setKey(argument); } else { interactionArgument.setValue(argument); } interactionArguments.add(interactionArgument); } return interactionArguments; }
/** * Create a DOM for this interaction. * Convert the database row or arguments into an XML DOM tree. * Handles arguments different as the XQuery and input can both have parameters. */ public Element createInputDOM(EISAccessor accessor) { // The input record can either be build from the interaction arguments, // or the modify row. if ((getInputRow() != null) && (!hasArguments())) { return super.createInputDOM(accessor); } XMLRecord parameterRow = createXMLRecord(getInputRootElementName()); for (int index = 0; index < getArgumentNames().size(); index++) { String parameterName = (String)getArgumentNames().get(index); Object parameter = getInputRow().get(parameterName); parameterRow.put(parameterName, parameter); } return (Element)parameterRow.getDOM(); }
protected void addXMLInteractionLines(NonreflectiveMethodDefinition method, XMLInteraction interaction, String variableName) { method.addLine("org.eclipse.persistence.eis.XMLInteraction " + variableName + " = new org.eclipse.persistence.eis.XMLInteraction();"); if ((interaction.getFunctionName() != null) && (interaction.getFunctionName().length() != 0)) { method.addLine(variableName + ".setFunctionName(\"" + interaction.getFunctionName() + "\");"); } if ((interaction.getInputRecordName() != null) && (interaction.getInputRecordName().length() != 0)) { method.addLine(variableName + ".setInputRecordName(\"" + interaction.getInputRecordName() + "\");"); } if ((interaction.getInputRootElementName() != null) && (interaction.getInputRootElementName().length() != 0)) { method.addLine(variableName + ".setInputRootElementName(\"" + interaction.getInputRootElementName() + "\");"); } if ((interaction.getInputResultPath() != null) && (interaction.getInputResultPath().length() != 0)) { method.addLine(variableName + ".setInputResultPath(\"" + interaction.getInputResultPath() + "\");"); } if ((interaction.getOutputResultPath() != null) && (interaction.getOutputResultPath().length() != 0)) { method.addLine(variableName + ".setOutputResultPath(\"" + interaction.getOutputResultPath() + "\");"); } for (int index = interaction.getArgumentNames().size(); index < interaction.getArgumentNames().size(); index++) { String argumentName = (String)interaction.getArgumentNames().get(index); String argument = (String)interaction.getArguments().get(index); method.addLine(variableName + ".addArgument(\"" + argumentName + "\", \"" + argument + "\");"); } }
if ((getInputRow() != null) && (!hasArguments())) { if (getInputResultPath().length() == 0) { if (getInputRow() instanceof XMLRecord) { dom = (Element)((XMLRecord)getInputRow()).getDOM(); if (!dom.getTagName().equals(getInputRootElementName())) { XMLRecord parameterRow = createXMLRecord(getInputRootElementName()); parameterRow.put("/" + getInputRootElementName(), getInputRow()); dom = (Element)parameterRow.getDOM(); XMLRecord parameterRow = createXMLRecord(getInputRootElementName()); for (int index = 0; index < getInputRow().size(); index++) { parameterRow.put(getInputRow().getFields().elementAt(index), getInputRow().getValues().elementAt(index)); XMLRecord parameterRow = createXMLRecord(getInputRootElementName()); parameterRow.put(getInputResultPath(), getInputRow()); dom = (Element)parameterRow.getDOM(); XMLRecord parameterRow = createXMLRecord(getInputRootElementName()); for (int index = 0; index < getArgumentNames().size(); index++) { String parameterName = (String)getArgumentNames().get(index); Object parameter = getParameters().get(index); if ((parameter == null) && (getInputRow() != null)) { parameter = getInputRow().get(parameterName);
/** * Build a database row from the record returned from the interaction. */ public AbstractRecord buildRow(Record record, EISAccessor accessor) { if (record == null) { return null; } AbstractRecord row = accessor.getEISPlatform().createDatabaseRowFromDOMRecord(record, this, accessor); if (row == null) { return null; } if (getOutputResultPath().length() > 0) { row = (AbstractRecord)row.get(getOutputResultPath()); // Handle the case were the output row is mapped into a database row of values. } else if (hasOutputArguments()) { row = createXMLRecord(getOutputRootElementName()); for (int index = 0; index < getOutputArgumentNames().size(); index++) { DatabaseField field = (DatabaseField)getOutputArguments().get(index); row.put(field, row.get(getOutputArgumentNames().get(index))); } } return row; }
/** * Set the default record name from the descriptor. */ public void prepare(AbstractSession session) { if (getInputRootElementName().length() == 0) { if ((getQuery() != null) && (getQuery().getDescriptor() instanceof EISDescriptor)) { EISDescriptor descriptor = (EISDescriptor)getQuery().getDescriptor(); setInputRootElementName(descriptor.getDataTypeName()); } else { setInputRootElementName("input"); } } if (getOutputRootElementName().length() == 0) { if ((getQuery() != null) && (getQuery().getDescriptor() instanceof EISDescriptor)) { EISDescriptor descriptor = (EISDescriptor)getQuery().getDescriptor(); setOutputRootElementName(descriptor.getDataTypeName()); } else { setInputRootElementName("output"); } } super.prepare(session); }
/** * Return the string for logging purposes. */ public String getLogString(Accessor accessor) { StringWriter writer = new StringWriter(); writer.write("Executing "); writer.write(toString()); writer.write(Helper.cr()); writer.write("\tspec => "); writer.write(String.valueOf(getInteractionSpec())); writer.write(Helper.cr()); writer.write("\tproperties => "); writer.write(String.valueOf(getProperties())); writer.write(Helper.cr()); writer.write("\txml => "); Element dom = createInputDOM((EISAccessor)accessor); EISDOMRecord record = new EISDOMRecord(dom); record.transformToWriter(writer); return writer.toString(); }