| /******************************************************************************* |
| * 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()); |
| } |
| } |