blob: f06f774e8ecb5f88e77375c8aa93d28a3573d63d [file] [log] [blame]
/*
* Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.testing.tests.eis.xmlfile;
import java.io.*;
import jakarta.resource.cci.*;
import org.eclipse.persistence.eis.*;
import org.eclipse.persistence.internal.eis.adapters.xmlfile.*;
import org.eclipse.persistence.testing.framework.*;
/**
* Simple interaction test. Tests a file interaction.
*/
public class DirectInteractionTest extends DirectConnectTest {
public Connection connection;
public RecordFactory recordFactory;
public DirectInteractionTest() {
setName("DirectInteractionTest");
setDescription("Testing interaction XML data");
}
@Override
public void test() throws Exception {
connection = connect();
recordFactory = connectionFactory.getRecordFactory();
insertInteraction();
updateInteraction();
queryInteraction();
deleteInteraction();
connection.close();
}
protected void insertInteraction() throws Exception {
Interaction interaction = connection.createInteraction();
XMLFileInteractionSpec spec = new XMLFileInteractionSpec();
spec.setInteractionType(XMLFileInteractionSpec.INSERT);
spec.setFileName("xml-file-insert-test.xml");
String data1 = "<order id='1234' orderedby='Bob'></order>";
EISDOMRecord input = (EISDOMRecord)recordFactory.createMappedRecord("input");
input.transformFromXML(data1);
interaction.execute(spec, input);
interaction.close();
}
protected void queryInteraction() throws Exception {
Interaction interaction = connection.createInteraction();
XMLFileInteractionSpec spec = new XMLFileInteractionSpec();
spec.setInteractionType(XMLFileInteractionSpec.READ);
spec.setFileName("xml-file-insert-test.xml");
jakarta.resource.cci.Record output = interaction.execute(spec, null);
getSession().logMessage("output: " + output);
interaction.close();
}
protected void updateInteraction() throws Exception {
Interaction interaction = connection.createInteraction();
XMLFileInteractionSpec spec = new XMLFileInteractionSpec();
spec.setInteractionType(XMLFileInteractionSpec.UPDATE);
spec.setFileName("xml-file-insert-test.xml");
String data1 = "<order id='1234' orderedby='Joe'></order>";
EISDOMRecord input = (EISDOMRecord)recordFactory.createMappedRecord("input");
input.transformFromXML(data1);
interaction.execute(spec, input);
interaction.close();
}
protected void deleteInteraction() throws Exception {
Interaction interaction = connection.createInteraction();
XMLFileInteractionSpec spec = new XMLFileInteractionSpec();
spec.setInteractionType(XMLFileInteractionSpec.DELETE);
spec.setFileName("xml-file-insert-test.xml");
jakarta.resource.cci.Record output = interaction.execute(spec, null);
interaction.close();
if (new File("xml-file-insert-test.xml").exists()) {
throw new TestErrorException("delete did not remove the file.");
}
}
}