/******************************************************************************* | |
* 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: | |
* Oracle - initial API and implementation from Oracle TopLink | |
******************************************************************************/ | |
package org.eclipse.persistence.dbws; | |
// Javase imports | |
// Java extension imports | |
// EclipseLink imports | |
import org.eclipse.persistence.internal.xr.XRServiceAdapter; | |
import org.eclipse.persistence.internal.xr.XRServiceModel; | |
/** | |
* <p><b>PUBLIC</b>: model object for eclipselink-dbws.xml descriptor file. A DBWS (also known as | |
* an {@link XRServiceAdapter}) requires the following resources: | |
* <ul> | |
* <li>metadata in the form of a descriptor file called <tt><b>eclipselink-dbws.xml</b></tt> in the | |
* <code>META-INF/</code> directory<br> | |
* (inside a <tt>.jar</tt> file, as an external 'exploded' directory on the classpath<br> | |
* or in the WEB-INF/classes/META-INF/ directory inside a <tt>.war</tt> file).<br> | |
* </li> | |
* <li>an XML Schema Definition (<tt>.xsd</tt>) file called <tt><b>eclipselink-dbws-schema.xsd</b></tt><br> | |
* located at the root directory of a <tt>.jar</tt> file, at the root of the first directory on the<br> | |
* classpath or in the <code>WEB-INF/wsdl/</code> directory of a <tt>.war</tt> file | |
* </li> | |
* <li>an EclipseLink <tt>sessions.xml</tt> file called <tt><b>eclipselink-dbws-sessions.xml</b></tt> (in the | |
* <code>META-INF/</code> directory)<br> | |
* the naming convention for the <tt>sessions.xml</tt> files can be overridden by the<br> | |
* <b>optional</b> <tt><sessions-file></tt> entry in the <code>eclipselink-dbws.xml</code> | |
* descriptor file. | |
* </li> | |
* <li>EclipseLink metadata in the form of a EclipseLink {@link Project} (either deployment XML located<br> | |
* in the <code>META-INF/</code> directory or Java classes on the classpath or in the<br> | |
* <code>WEB-INF/classes</code> directory inside a <tt>.war</tt> file).<br> | |
* <br> | |
* <p>A typical <code>DBWS</code> requires two projects: one to represent the O-R side, the other to | |
* represent the O-X side.<br> | |
* The O-R and O-X <code>Projects</code> metadata must have:<br> | |
* i) identical case-sensitive <code>Project</code> names:<pre> | |
* <?xml version="1.0" encoding="UTF-8"?> | |
* <eclipselink:object-persistence version="Eclipse Persistence Services ..." | |
* xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
* xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
* xmlns:eclipselink="http://xmlns.oracle.com/ias/xsds/eclipselink" | |
* > | |
* <eclipselink:name>example</eclipselink:name> | |
* or | |
* ... | |
* import org.eclipse.persistence.sessions.Project; | |
* public class SomeORProject extends Project { | |
* public SomeORProject () { | |
* setName("Example"); | |
* ... | |
* } | |
* public class SomeOXProject extends Project { | |
* public SomeOXProject () { | |
* setName("Example"); | |
* ... | |
* } | |
* </pre> | |
* ii) identical case-sensitive aliases for {@link ClassDescriptor Descriptors} that are common | |
* between the projects: | |
* <pre> | |
* <eclipselink:class-mapping-descriptor xsi:type="eclipselink:relational-class-mapping-descriptor"> | |
* <eclipselink:class>some.package.SomeClass</eclipselink:class> | |
* <eclipselink:alias>SomeAlias</eclipselink:alias> | |
* ... | |
* <eclipselink:class-mapping-descriptor xsi:type="eclipselink:xml-class-mapping-descriptor"> | |
* <eclipselink:class>some.package.SomeClass</eclipselink:class> | |
* <eclipselink:alias>SomeAlias</eclipselink:alias> | |
* </pre> | |
* </li> | |
* </ul> | |
* An example <tt><b>eclipselink-dbws.xml</b></tt> descriptor file: | |
* <pre> | |
* <?xml version="1.0" encoding="UTF-8"?> | |
* <dbws | |
* xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
* xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
* > | |
* <name>example</name> | |
* <sessions-file>example-dbws-sessions.xml</sessions-file> | |
* <query> | |
* <name>countEmployees</name> | |
* <result> | |
* <type>xsd:int</type> | |
* <simple-xml-format> | |
* <simple-xml-format-tag>employee-info</simple-xml-format-tag> | |
* <simple-xml-tag>aggregate-info</simple-xml-tag> | |
* </simple-xml-format> | |
* </result> | |
* <sql><![CDATA[select count(*) from EMP]]></sql> | |
* </query> | |
* <query> | |
* <name>findAllEmployees</name> | |
* <result isCollection="true"> | |
* <type>empType</type> | |
* </result> | |
* <sql><![CDATA[select * from EMP]]></sql> | |
* </query> | |
* </dbws> | |
* | |
* @author Mike Norman - michael.norman@oracle.com | |
* @since EclipseLink 1.0 | |
*/ | |
public class DBWSModel extends XRServiceModel { | |
} |