blob: 15a5d2c19cc3a0af246a9e0677d534bbf87f82e6 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006, 2013 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 v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Oracle - initial API and implementation
*
******************************************************************************/
package org.eclipse.persistence.tools.mapping.tests.dom.orm;
import java.io.IOException;
import java.util.Vector;
import javax.xml.XMLConstants;
import org.eclipse.persistence.tools.mapping.orm.ExternalORMConfiguration;
import org.eclipse.persistence.tools.mapping.orm.ExternalPersistenceUnit;
import org.eclipse.persistence.tools.mapping.orm.ORMDocumentType;
import org.eclipse.persistence.tools.mapping.orm.dom.ORMConfiguration;
import org.eclipse.persistence.tools.mapping.orm.dom.ORMRepository;
import org.eclipse.persistence.tools.mapping.tests.AbstractExternalFormTests;
import org.w3c.dom.Node;
/**
* @version 2.6
*/
@SuppressWarnings("nls")
public final class ORMConfigurationTests extends AbstractExternalFormTests<ExternalORMConfiguration> {
private TextNodeTester<ExternalORMConfiguration, String> buildCatalogTester() {
return new TextNodeTester<ExternalORMConfiguration, String>() {
@Override
public String getNodeName() {
return ExternalORMConfiguration.CATALOG;
}
@Override
public String getValue(ExternalORMConfiguration form) {
return form.getCatalogName();
}
@Override
public String getValue1() {
return "cat";
}
@Override
public String getValue2() {
return "EL";
}
@Override
public void setValue(ExternalORMConfiguration form, String value) {
form.setCatalogName(value);
}
@Override
public String toString(String value) {
return value;
}
};
}
private TextNodeTester<ExternalORMConfiguration, String> buildDescriptionTester() {
return new TextNodeTester<ExternalORMConfiguration, String>() {
@Override
public String getNodeName() {
return ExternalORMConfiguration.DESCRIPTION;
}
@Override
public String getValue(ExternalORMConfiguration form) {
return form.getDescription();
}
@Override
public String getValue1() {
return "testing ORM configuration";
}
@Override
public String getValue2() {
return "something";
}
@Override
public void setValue(ExternalORMConfiguration form, String value) {
form.setDescription(value);
}
@Override
public String toString(String value) {
return value;
}
};
}
private NodeBuilder<ExternalORMConfiguration> buildORMConfigurationBuilder() {
return new NodeBuilder<ExternalORMConfiguration>() {
@Override
public ExternalORMConfiguration build() throws IOException {
ORMRepository repository = new ORMRepository();
return repository.buildORMConfiguration(null, ORMDocumentType.ECLIPELINK_2_6);
}
@Override
public Node getRootNode(ExternalORMConfiguration form) {
return ((ORMConfiguration) form).getElement();
}
};
}
private TextNodeTester<ExternalORMConfiguration, String> buildPackageTester() {
return new TextNodeTester<ExternalORMConfiguration, String>() {
@Override
public String getNodeName() {
return ExternalORMConfiguration.PACKAGE;
}
@Override
public String getValue(ExternalORMConfiguration form) {
return form.getPackageName();
}
@Override
public String getValue1() {
return Vector.class.getPackage().getName();
}
@Override
public String getValue2() {
return XMLConstants.class.getPackage().getName();
}
@Override
public void setValue(ExternalORMConfiguration form, String value) {
form.setPackageName(value);
}
@Override
public String toString(String value) {
return value;
}
};
}
private ChildNodeTester<ExternalORMConfiguration, Object> buildPersistenceUnitMetadataTester() {
return new ChildNodeTester<ExternalORMConfiguration, Object>() {
@Override
public void addChild(ExternalORMConfiguration form) {
form.addPersistenceUnitMetaData();
}
@Override
public String getNodeName() {
return ExternalPersistenceUnit.PERSISTENCE_UNIT_METADATA;
}
@Override
public boolean hasChild(ExternalORMConfiguration form) {
return form.hasPersistenceUnitMetaData();
}
@Override
public void removeChild(ExternalORMConfiguration form) {
form.removePersistenceUnitMetaData();
}
};
}
private TextNodeTester<ExternalORMConfiguration, String> buildSchemaTester() {
return new TextNodeTester<ExternalORMConfiguration, String>() {
@Override
public String getNodeName() {
return ExternalORMConfiguration.SCHEMA;
}
@Override
public String getValue(ExternalORMConfiguration form) {
return form.getSchemaName();
}
@Override
public String getValue1() {
return "HR";
}
@Override
public String getValue2() {
return "eclipselink";
}
@Override
public void setValue(ExternalORMConfiguration form, String value) {
form.setSchemaName(value);
}
@Override
public String toString(String value) {
return value;
}
};
}
/**
* {@inheritDoc}
*/
@Override
protected void populate(RootNodeTester<ExternalORMConfiguration> tester) {
tester.setBuilder(buildORMConfigurationBuilder());
tester.addTextNode(buildDescriptionTester());
tester.addNode(buildPersistenceUnitMetadataTester());
tester.addTextNode(buildPackageTester());
tester.addTextNode(buildSchemaTester());
tester.addTextNode(buildCatalogTester());
// tester.addChild(buildAccessTester());
// tester.addChild(buildSequenceGeneratorTester());
// tester.addChild(buildTableGeneratorTester());
// tester.addChild(buildNamedQueryTester());
// tester.addChild(buildNamedNativeQueryTester());
// tester.addChild(buildNamedStoredProcedureQueryTester());
// tester.addChild(buildSqlResultSetMappingTester());
// tester.addChild(buildMappedSuperclassTester());
// tester.addChild(buildEntityTester());
// tester.addChild(buildEmbeddableTester());
// tester.addChild(buildConverterTester());
}
}