/******************************************************************************* | |
* Copyright (c) 1998, 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: | |
* dmccann - September 15/2009 - 1.2 - Initial implementation | |
******************************************************************************/ | |
package org.eclipse.persistence.testing.sdo.helper.sdohelper; | |
import java.io.File; | |
import java.io.FileInputStream; | |
import java.io.InputStream; | |
import java.io.InputStreamReader; | |
import java.io.Reader; | |
import java.util.ArrayList; | |
import java.util.List; | |
import javax.xml.namespace.QName; | |
import javax.xml.transform.Source; | |
import javax.xml.transform.stream.StreamSource; | |
import org.eclipse.persistence.oxm.XMLContext; | |
import org.eclipse.persistence.sdo.SDOChangeSummary; | |
import org.eclipse.persistence.sdo.SDOConstants; | |
import org.eclipse.persistence.sdo.SDODataObject; | |
import org.eclipse.persistence.sdo.SDOHelper; | |
import org.eclipse.persistence.sdo.SDOProperty; | |
import org.eclipse.persistence.sdo.SDOSequence; | |
import org.eclipse.persistence.sdo.SDOType; | |
import org.eclipse.persistence.sdo.helper.SDOCopyHelper; | |
import org.eclipse.persistence.sdo.helper.SDODataFactory; | |
import org.eclipse.persistence.sdo.helper.SDODataHelper; | |
import org.eclipse.persistence.sdo.helper.SDOEqualityHelper; | |
import org.eclipse.persistence.sdo.helper.SDOHelperContext; | |
import org.eclipse.persistence.sdo.helper.SDOTypeHelper; | |
import org.eclipse.persistence.sdo.helper.SDOXMLHelper; | |
import org.eclipse.persistence.sdo.helper.SDOXSDHelper; | |
import org.eclipse.persistence.sdo.types.SDOChangeSummaryType; | |
import org.eclipse.persistence.sdo.types.SDODataObjectType; | |
import org.eclipse.persistence.sdo.types.SDODataType; | |
import org.eclipse.persistence.sdo.types.SDOObjectType; | |
import org.eclipse.persistence.sdo.types.SDOOpenSequencedType; | |
import org.eclipse.persistence.sdo.types.SDOPropertyType; | |
import org.eclipse.persistence.sdo.types.SDOTypeType; | |
import org.eclipse.persistence.sdo.types.SDOWrapperType; | |
import org.eclipse.persistence.sdo.types.SDOXMLHelperLoadOptionsType; | |
import commonj.sdo.ChangeSummary; | |
import commonj.sdo.DataObject; | |
import commonj.sdo.Property; | |
import commonj.sdo.Sequence; | |
import commonj.sdo.Type; | |
import commonj.sdo.helper.CopyHelper; | |
import commonj.sdo.helper.DataFactory; | |
import commonj.sdo.helper.DataHelper; | |
import commonj.sdo.helper.EqualityHelper; | |
import commonj.sdo.helper.HelperContext; | |
import commonj.sdo.helper.TypeHelper; | |
import commonj.sdo.helper.XMLHelper; | |
import commonj.sdo.helper.XSDHelper; | |
import commonj.sdo.impl.HelperProvider; | |
import junit.framework.TestCase; | |
public class SDOHelperTestCases extends TestCase { | |
HelperContext aHelperContext; | |
TypeHelper typeHelper; | |
XMLHelper xmlHelper; | |
XSDHelper xsdHelper; | |
EqualityHelper equalityHelper; | |
CopyHelper copyHelper; | |
DataFactory dataFactory; | |
DataHelper dataHelper; | |
DataObject customerTypeDO; | |
List types; | |
Type teamType; | |
DataObject teamDO; | |
public void setUp() throws Exception { | |
aHelperContext = SDOHelperContext.getHelperContext(); | |
typeHelper = aHelperContext.getTypeHelper(); | |
xmlHelper = aHelperContext.getXMLHelper(); | |
xsdHelper = aHelperContext.getXSDHelper(); | |
equalityHelper = aHelperContext.getEqualityHelper(); | |
copyHelper = aHelperContext.getCopyHelper(); | |
dataFactory = aHelperContext.getDataFactory(); | |
dataHelper = aHelperContext.getDataHelper(); | |
Reader rdr = new InputStreamReader(new FileInputStream(new File( | |
"./org/eclipse/persistence/testing/sdo/schemas/Team_cs_on_root.xsd"))); | |
types = xsdHelper.define(rdr, null); | |
teamType = typeHelper.getType("http://www.example.org", "Team"); | |
teamDO = dataFactory.create(teamType); | |
} | |
/** | |
* Also tests getType method. | |
*/ | |
public void testUnwrapType() { | |
assertTrue(SDOHelper.unwrap(teamType, SDOType.class) instanceof SDOType); | |
} | |
public void testUnwrapTypeToSDOTypeType() { | |
Type typeType = typeHelper.getType(SDOConstants.SDO_URL, SDOConstants.TYPE); | |
assertTrue(SDOHelper.unwrap(typeType, SDOTypeType.class) instanceof SDOTypeType); | |
} | |
public void testUnwrapTypeToSDOPropertyType() { | |
Type propertyType = typeHelper.getType(SDOConstants.SDO_URL, SDOConstants.PROPERTY); | |
assertTrue(SDOHelper.unwrap(propertyType, SDOPropertyType.class) instanceof SDOPropertyType); | |
} | |
public void testUnwrapTypeToSDOChangeSummaryType() { | |
Type csType = typeHelper.getType(SDOConstants.SDO_URL, SDOConstants.CHANGESUMMARY); | |
assertTrue(SDOHelper.unwrap(csType, SDOChangeSummaryType.class) instanceof SDOChangeSummaryType); | |
} | |
public void testUnwrapTypeToSDODataObjectType() { | |
Type doType = typeHelper.getType(SDOConstants.SDO_URL, SDOConstants.DATAOBJECT); | |
assertTrue(SDOHelper.unwrap(doType, SDODataObjectType.class) instanceof SDODataObjectType); | |
} | |
public void testUnwrapTypeToSDODataType() { | |
Type dataType = typeHelper.getType(SDOConstants.SDO_URL, SDOConstants.BOOLEAN); | |
assertTrue(SDOHelper.unwrap(dataType, SDODataType.class) instanceof SDODataType); | |
} | |
public void testUnwrapTypeToSDOOpenSequencedType() { | |
Type osType = typeHelper.getType(SDOConstants.ORACLE_SDO_URL, "OpenSequencedType"); | |
assertTrue(SDOHelper.unwrap(osType, SDOOpenSequencedType.class) instanceof SDOOpenSequencedType); | |
} | |
public void testUnwrapTypeToSDOWrapperType() { | |
Type wrapperType = new SDOWrapperType(teamType, "MyTeamTypeWrapper", (SDOTypeHelper) typeHelper); | |
assertTrue(SDOHelper.unwrap(wrapperType, SDOWrapperType.class) instanceof SDOWrapperType); | |
} | |
public void testUnwrapTypeToSDOXMLHelperLoadOptionsType() { | |
Type loType = new SDOXMLHelperLoadOptionsType((SDOTypeHelper) typeHelper, SDOHelper.getType(teamType)); | |
assertTrue(SDOHelper.unwrap(loType, SDOXMLHelperLoadOptionsType.class) instanceof SDOXMLHelperLoadOptionsType); | |
} | |
public void testUnwrapTypeToSDOObjectType() { | |
Type sdoObjectType = new SDOObjectType("http://www.example.org", "Team", (SDOTypeHelper) typeHelper); | |
assertTrue(SDOHelper.unwrap(sdoObjectType, SDOObjectType.class) instanceof SDOObjectType); | |
} | |
/** | |
* Also tests getProperty method. | |
*/ | |
public void testUnwrapProperty() { | |
Property prop = teamType.getProperty("employee"); | |
assertTrue(SDOHelper.unwrap(prop, SDOProperty.class) instanceof SDOProperty); | |
} | |
/** | |
* Also tests getDataObject method. | |
*/ | |
public void testUnwrapDataObject() { | |
assertTrue(SDOHelper.unwrap(teamDO, SDODataObject.class) instanceof SDODataObject); | |
} | |
/** | |
* Also tests getChangeSummary method. | |
*/ | |
public void testCastToSDOChangeSummary() { | |
ChangeSummary teamCS = teamDO.getChangeSummary(); | |
assertTrue(SDOHelper.unwrap(teamCS, SDOChangeSummary.class) instanceof SDOChangeSummary); | |
} | |
/** | |
* Also tests getSequence method. | |
*/ | |
public void testUnwrapSequence() { | |
Sequence teamSeq = teamDO.getSequence(); | |
assertTrue(SDOHelper.unwrap(teamSeq, SDOSequence.class) instanceof SDOSequence); | |
} | |
/** | |
* Also tests getHelperContext method. | |
*/ | |
public void testUnwrapHelperContext() { | |
HelperContext hCtx = HelperProvider.getDefaultContext(); | |
assertTrue(SDOHelper.unwrap(hCtx, SDOHelperContext.class) instanceof SDOHelperContext); | |
} | |
/** | |
* Also tests getCopyHelper method. | |
*/ | |
public void testUnwrapCopyHelper() { | |
assertTrue(SDOHelper.unwrap(copyHelper, SDOCopyHelper.class) instanceof SDOCopyHelper); | |
} | |
/** | |
* Also tests getDataFactory method. | |
*/ | |
public void testUnwrapDataFactory() { | |
assertTrue(SDOHelper.unwrap(dataFactory, SDODataFactory.class) instanceof SDODataFactory); | |
} | |
/** | |
* Also tests getDataHelper method. | |
*/ | |
public void testUnwrapDataHelper() { | |
assertTrue(SDOHelper.unwrap(dataHelper, SDODataHelper.class) instanceof SDODataHelper); | |
} | |
/** | |
* Also tests getEqualityHelper method. | |
*/ | |
public void testUnwrapEqualityHelper() { | |
assertTrue(SDOHelper.unwrap(equalityHelper, SDOEqualityHelper.class) instanceof SDOEqualityHelper); | |
} | |
/** | |
* Also tests getTypeHelper method. | |
*/ | |
public void testUnwrapTypeHelper() { | |
assertTrue(SDOHelper.unwrap(typeHelper, SDOTypeHelper.class) instanceof SDOTypeHelper); | |
} | |
/** | |
* Also tests getXSDHelper method. | |
*/ | |
public void testUnwrapXSDHelper() { | |
assertTrue(SDOHelper.unwrap(xsdHelper, SDOXSDHelper.class) instanceof SDOXSDHelper); | |
} | |
/** | |
* Also tests getXMLHelper method. | |
*/ | |
public void testUnwrapXMLHelper() { | |
assertTrue(SDOHelper.unwrap(xmlHelper, SDOXMLHelper.class) instanceof SDOXMLHelper); | |
} | |
public void testUnwrapXMLHelperToXMLContext() { | |
assertTrue(SDOHelper.unwrap(xmlHelper, XMLContext.class) instanceof XMLContext); | |
} | |
} |