blob: bc28f8691c3a623bf348a658e1d4150eae66fa7f [file] [log] [blame]
/*
* Copyright (c) 1998, 2019 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:
// Mike Norman - Aug 2008, created DBWS JDev(Boxer) packager
package org.eclipse.persistence.tools.dbws;
import static org.eclipse.persistence.tools.dbws.DBWSPackager.ArchiveUse.noArchive;
//javase imports
import java.io.OutputStream;
//EclipseLink imports
import org.eclipse.persistence.internal.sessions.factories.model.SessionConfigs;
import org.eclipse.persistence.internal.sessions.factories.model.session.DatabaseSessionConfig;
/**
* <p>
* <b>PUBLIC:</b> JDevPackager extends {@link IDEPackager}. It is responsible for generating<br>
* the source code of the DBWS Provider (instead of a <code>.class</code> file) and packaging in a<br>
* JDev-friendly directory structure all the other DBWS files produced by its parent:
* <pre>
* \--- JDev <b>Projectnnn</b> root directory
* | dbws-builder.xml
* |
* +---<b>public_html</b>
* | \---WEB-INF
* | | <b>web.xml</b>
* | |
* | \---wsdl
* | <b><i>swaref.xsd</i></b>
* | <b>eclipselink-dbws-schema.xsd</b>
* | <b>eclipselink-dbws.wsdl</b>
* |
* \---<b>src</b>
* | <b>eclipselink-dbws-or.xml</b>
* | <b>eclipselink-dbws-ox.xml</b>
* | <b>eclipselink-dbws-sessions.xml</b>
* | <b>eclipselink-dbws.xml</b>
* |
* \---_dbws
* <b>DBWSProvider.java</b> -- generated by this Packager
* </pre>
*
* @author Mike Norman - michael.norman@oracle.com
* @since EclipseLink 1.x
*/
public class JDevPackager extends IDEPackager {
public static final String PUBLIC_HTML_DIR = "public_html";
public JDevPackager() {
this(null, "jdev", noArchive);
srcDirname = SRC_DIR;
publicHTMLDirname = PUBLIC_HTML_DIR;
}
protected JDevPackager(Archiver archiver, String packagerLabel, ArchiveUse useJavaArchive) {
super(archiver, packagerLabel, useJavaArchive);
}
@Override
public SessionConfigs buildSessionsXML(OutputStream dbwsSessionsStream, DBWSBuilder builder) {
SessionConfigs ts = super.buildSessionsXML(dbwsSessionsStream, builder);
String dataSource = builder.getDataSource();
if (dataSource != null) {
DatabaseSessionConfig tmpConfig =
(DatabaseSessionConfig)ts.getSessionConfigs().firstElement();
WeblogicPackager.buildDatabaseSessionConfig(ts, tmpConfig, builder);
}
return ts;
}
}