Merge branch 'omaha_14.4.1' into omaha_pgen

Former-commit-id: 46ef76326a [formerly 90d13cb3a9920343bb518ac5f251a1076bf8f96b]
Former-commit-id: c7420a9074
This commit is contained in:
Steve Harris 2014-12-08 11:25:28 -06:00
commit 8209f732d5
689 changed files with 1974 additions and 129386 deletions

11
build/build.core/.project Normal file
View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>build.core</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>

View file

@ -0,0 +1,108 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
/**
* POJO-based representation of the contents of an Eclipse feature file.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 4, 2014 3836 bkowal Initial Commit
*
* </pre>
*
* @author bkowal
* @version 1.0
*/
class Feature
{
private String feature
private String featureDirectory
/*
* The first iteration of the build will assume that when includes
* are present, there will not be any plugins or dependencies
* because we will be working with the product feature
*/
private List includesList
private List dependenciesList
private List pluginsList
public Feature(String feature, String featureDirectory)
{
this.feature = feature
this.featureDirectory = featureDirectory
this.includesList = []
this.dependenciesList = []
this.pluginsList = []
}
public String getFeature()
{
return this.feature
}
public String getFeatureDirectory()
{
return this.featureDirectory
}
public void addInclude(String includedFeature)
{
this.includesList.add(includedFeature)
}
public List getIncludes()
{
return this.includesList
}
public boolean hasIncludes()
{
return this.includesList.size() > 0
}
public void addDependency(String dependency)
{
this.dependenciesList.add(dependency)
}
public List getDependencies()
{
return this.dependenciesList
}
public boolean hasDependencies()
{
return this.dependenciesList.size() > 0
}
public void addPlugin(String plugin)
{
this.pluginsList.add(plugin)
}
public List getPlugins()
{
return this.pluginsList
}
}

View file

@ -0,0 +1,52 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
/**
* Parses an Eclipse feature file (feature.xml) and returns a POJO representation
* of the contents of the feature file.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 4, 2014 3836 bkowal Initial Commit
*
* </pre>
*
* @author bkowal
* @version 1.0
*/
class FeatureParser
{
public static Feature parseFeature(String featureFile, String featureDirectory)
{
Feature feature = new Feature(featureFile, featureDirectory)
def featureXML = new XmlSlurper().parse(new File(featureFile))
featureXML.includes.each {feature.addInclude(it.attributes().id)}
featureXML.requires.import.each {feature.addDependency(it.attributes().feature)}
featureXML.plugin.each {feature.addPlugin(it.attributes().id)}
return feature
}
}

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>deploy.edex</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>

View file

@ -0,0 +1,51 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
/**
* Abstraction of a customized plugin deployer that provides access
* to a pre-configured groovy Ant Builder.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 4, 2014 3836 bkowal Initial Commit
*
* </pre>
*
* @author bkowal
* @version 1.0
*/
abstract class AbstractAntBasedPluginCustomDeployer
implements IPluginCustomDeployer
{
protected AntBuilder ant
protected AbstractAntBasedPluginCustomDeployer()
{
this.ant = new AntBuilder()
// disable ant logging - based on:
// http://stackoverflow.com/questions/15143221/enable-verbose-output-from-groovys-antbuilder
this.ant.project.getBuildListeners().firstElement().setMessageOutputLevel(0)
}
}

View file

@ -0,0 +1,72 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
/**
* Abstraction of a customized plugin deployer that deploys
* plugin-specific files and directories that exist outside
* of the Java src directory. Files are deployed from
* the specified externalDirectory in the plugin (if it exists) to the
* specified destinationDirectoryTree located beneath the root edex directory.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 4, 2014 3836 bkowal Initial Commit
*
* </pre>
*
* @author bkowal
* @version 1.0
*/
abstract class AbstractExternalPluginFilesDeployer
extends AbstractAntBasedPluginCustomDeployer {
private String externalDirectory
private String destinationDirectoryTree
protected AbstractExternalPluginFilesDeployer(String externalDirectory, String destinationDirectoryTree) {
super()
this.externalDirectory = externalDirectory
this.destinationDirectoryTree = destinationDirectoryTree
}
// Add plugin name if we want to add logging to this capability
protected void deployExternalFilesystem(String edexRootDirectory, String pluginFullPath)
{
String fullPluginExternalPath = pluginFullPath + File.separator + this.externalDirectory
// ensure that this plugin has an external directory
if (new File(fullPluginExternalPath).exists() == false)
{
return
}
String fullDestinationPath = edexRootDirectory + File.separator +
this.destinationDirectoryTree + File.separator + this.externalDirectory
// ensure that the destination directory exists
new File(fullDestinationPath).mkdirs()
// copy the files
ant.copy( todir : fullDestinationPath, overwrite : true )
{ fileset( dir : fullPluginExternalPath ) }
}
}

View file

@ -0,0 +1,61 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
/**
* Searches for and runs custom plugin-specific groovy scripts named plugin-deploy.groovy
* located directly within the plugin directory. The requirement is that the custom
* plugin deployments must only deploy files to a location relative to the EDEX root directory.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 4, 2014 3836 bkowal Initial Commit
*
* </pre>
*
* @author bkowal
* @version 1.0
*/
class CustomDeploymentRunner
implements IPluginCustomDeployer {
private static final String PLUGIN_GROOVY_SCRIPT = "plugin-deploy.groovy"
private static final String BINDING_EDEX_ROOT = "__EDEX_ROOT__"
private static final String BINDING_PLUGIN = "__PLUGIN__"
private static final String BINDING_PLUGIN_PATH = "__PLUGIN_PATH__"
public void deploy(String edexRootDirectory, String plugin, String pluginFullPath) {
File groovyScript = new File(pluginFullPath + File.separator + PLUGIN_GROOVY_SCRIPT)
if (groovyScript.exists() == false) {
return
}
Binding binding = new Binding()
binding.setVariable(BINDING_EDEX_ROOT, edexRootDirectory)
binding.setVariable(BINDING_PLUGIN, plugin)
binding.setVariable(BINDING_PLUGIN_PATH, pluginFullPath)
def groovyShell = new GroovyShell(binding)
groovyShell.run(groovyScript)
}
}

View file

@ -0,0 +1,120 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
import groovy.util.logging.*
/**
* Deploys the EDEX esb scripts, libraries, and other files.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 4, 2014 3836 bkowal Initial Commit
*
* </pre>
*
* @author bkowal
* @version 1.0
*/
@Log
class DeployESB
{
private static final String SETUP_ENV = "setup.env"
private DeployESB()
{
}
public static void deploy(String edexRootDirectory, String esbDirectory, String overrideArchitecture)
{
if (new File(esbDirectory).exists() == false)
{
log.log(java.util.logging.Level.SEVERE,
"The specified esb directory does not exist - " + esbDirectory)
System.exit(-1)
}
new File(edexRootDirectory).mkdirs()
// deploy the ESB directory structure.
AntBuilder ant = new AntBuilder()
ant.project.getBuildListeners().firstElement().setMessageOutputLevel(0)
log.info "Deploying ESB ..."
ant.copy( todir : edexRootDirectory,
overwrite : true )
{
fileset( dir : esbDirectory )
}
// remove setup.env
new File(edexRootDirectory + File.separator + "bin" + File.separator + SETUP_ENV).delete()
// remove lib_illusion
new File(edexRootDirectory + File.separator + "lib" + File.separator + "lib_illusion").deleteDir()
// copy the correct lib_illusion based on architecture
// determine architecture?
// since this is only a temporary consideration since we will eventually be switching to a 64-bit
// EDEX, we will just look at the OS architecture since the JDK does not provide a simple way
// to retrieve the required information about the JVM process, itself. The -Darchitecture argument
// can be used to override the dynamically determined architecture
String architecture = overrideArchitecture
if (architecture == "")
{
architecture =
(System.getProperty("os.arch") == "amd64") ? "x86_64" : "x86"
}
String esbLibIllusionPath = esbDirectory + File.separator + "lib" + File.separator +
"lib_illusion" + File.separator + architecture
if (new File(esbLibIllusionPath).exists() == false)
{
log.log(java.util.logging.Level.SEVERE,
"Unable to find the illusion lib associated with architecture - " + architecture)
System.exit(-1)
}
String libIllusionDestination = edexRootDirectory + File.separator +
"lib" + File.separator + "lib_illusion"
new File(libIllusionDestination).mkdirs()
ant.copy( todir : libIllusionDestination, overwrite : true )
{
fileset( dir : esbLibIllusionPath )
}
}
public static void deployEdexConfiguration(String edexRootDirectory, String esbDirectory)
{
final String setupEnvSrc = esbDirectory + File.separator + "bin" + File.separator + SETUP_ENV
final String destinationDirectory = edexRootDirectory + File.separator + "bin"
AntBuilder ant = new AntBuilder()
ant.project.getBuildListeners().firstElement().setMessageOutputLevel(0)
ant.copy( todir : destinationDirectory,
overwrite : true )
{
fileset( file : setupEnvSrc )
}
}
}

View file

@ -0,0 +1,53 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
/**
* Deploys plugin-provided localization files.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 4, 2014 3836 bkowal Initial Commit
*
* </pre>
*
* @author bkowal
* @version 1.0
*/
class DeployEdexLocalization
extends AbstractExternalPluginFilesDeployer
{
private static final String destinationDirectory = "utility"
private static final String destinationDirectoryTree = "data"
public DeployEdexLocalization()
{
super(destinationDirectory, destinationDirectoryTree)
}
public void deploy(String edexRootDirectory, String plugin, String pluginFullPath)
{
super.deployExternalFilesystem(edexRootDirectory, pluginFullPath)
}
}

View file

@ -0,0 +1,53 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
/**
* Deploys plugin-provided resource (properties) files.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 4, 2014 3836 bkowal Initial Commit
*
* </pre>
*
* @author bkowal
* @version 1.0
*/
class DeployEdexResources
extends AbstractExternalPluginFilesDeployer
{
private static final String destinationDirectory = "resources"
private static final String destinationDirectoryTree = "conf"
public DeployEdexResources()
{
super(destinationDirectory, destinationDirectoryTree)
}
public void deploy(String edexRootDirectory, String plugin, String pluginFullPath)
{
super.deployExternalFilesystem(edexRootDirectory, pluginFullPath)
}
}

View file

@ -0,0 +1,73 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
import groovy.util.logging.*
import ProjectInformation
/**
* Deploys the sample EDEX localization files when requested.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 4, 2014 3836 bkowal Initial Commit
*
* </pre>
*
* @author bkowal
* @version 1.0
*/
@Log
class DeployEdexSiteLocalization
{
private static final String EDEX_LOCALIZATION_DIRECTORY = "data" + File.separator +
"utility"
private DeployEdexSiteLocalization()
{
}
public static void deploy(String edexRootDirectory, ProjectInformation projectInformation, String site)
{
if (projectInformation == null)
{
log.log(java.util.logging.Level.WARNING,
"Unable to find the localization project associated with site " + site +
"; skipping localization deployment")
return
}
String localizationDestination = edexRootDirectory + File.separator + EDEX_LOCALIZATION_DIRECTORY
new File(localizationDestination).mkdirs()
AntBuilder ant = new AntBuilder()
ant.project.getBuildListeners().firstElement().setMessageOutputLevel(0)
log.info "Deploying localization for site ... " + site
ant.copy( todir : localizationDestination, overwrite : true )
{
fileset( dir : projectInformation.projectFullLocation + File.separator + "utility" )
}
}
}

View file

@ -0,0 +1,55 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
import java.io.File
/**
* Deploys plugin-provided EDEX mode files.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 4, 2014 3836 bkowal Initial Commit
*
* </pre>
*
* @author bkowal
* @version 1.0
*/
class DeployModes
extends AbstractExternalPluginFilesDeployer
{
private static final String destinationDirectory = 'modes'
private static final String destinationDirectoryTree = 'conf'
public DeployModes()
{
super(destinationDirectory, destinationDirectoryTree)
}
public void deploy(String edexRootDirectory, String plugin, String pluginFullPath)
{
super.deployExternalFilesystem(edexRootDirectory, pluginFullPath)
}
}

View file

@ -0,0 +1,118 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
import groovy.util.logging.*
import java.util.regex.Pattern
import java.util.regex.Matcher
import ProjectInformation
/**
* Deploys the Raytheon-maintained Python Packages when requested.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 4, 2014 3836 bkowal Initial Commit
*
* </pre>
*
* @author bkowal
* @version 1.0
*/
@Log
class DeployPythonPackages {
private static final String PYTHON_VERSION_PATTERN_STRING = "python([0-9].+)"
private static final Pattern pythonVersionPattern =
Pattern.compile(PYTHON_VERSION_PATTERN_STRING)
private DeployPythonPackages() {
}
public static deploy(String pythonRootDirectory, ProjectInformation projectInformation,
String[] pythonPackagesToDeploy) {
if (projectInformation == null) {
log.log(java.util.logging.Level.WARNING,
"Unable to find pythonPackages in the workspace; skipping python deployment")
return
}
if (pythonPackagesToDeploy.length == 0) {
log.info "No python packages have been specified for deployment; skipping python deployment."
return
}
// determine what the python version directory is
// loop through all directories in the python lib directory; attempt to find
// the one that matches our pattern
final String pythonLibDirectory = pythonRootDirectory + File.separator + "lib"
String pythonVersion = null
for (String libFile : new File(pythonLibDirectory).list())
{
Matcher matcher = pythonVersionPattern.matcher(libFile)
if (matcher.matches())
{
pythonVersion = matcher.group(1)
}
}
if (pythonVersion == null)
{
log.log(java.util.logging.Level.SEVERE,
"Unable to find the python version directory in " + pythonLibDirectory)
System.exit(-1)
}
AntBuilder ant = new AntBuilder()
ant.project.getBuildListeners().firstElement().setMessageOutputLevel(0)
log.info "Deploying pythonPackages ..."
final String pythonSitePackagesDirectory = pythonLibDirectory + File.separator +
"python" + pythonVersion + File.separator + "site-packages"
for (String pythonPackage : pythonPackagesToDeploy)
{
String pythonPackageDirectory = projectInformation.projectFullLocation + File.separator + pythonPackage
if (pythonPackage == "pypies")
{
// special case for pypies
pythonPackageDirectory += File.separator + "pypies"
}
if (new File(pythonPackageDirectory).exists() == false)
{
log.log(java.util.logging.Level.WARNING,
"Unable to find the " + pythonPackage + " python package in the workspace")
continue
}
String pythonPackageDestination = pythonSitePackagesDirectory + File.separator +
pythonPackage
log.info "Deploying pythonPackage ... " + pythonPackage
// Remove the existing deployment
new File(pythonPackageDestination).deleteDir()
// Create an empty destination directory
new File(pythonPackageDestination).mkdirs()
ant.copy( todir : pythonPackageDestination )
{ fileset( dir : pythonPackageDirectory ) }
}
}
}

View file

@ -0,0 +1,119 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
import groovy.util.logging.*
import IPluginCustomDeployer
/**
* Deploys plugin-provided web applications as war files.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 4, 2014 3836 bkowal Initial Commit
*
* </pre>
*
* @author bkowal
* @version 1.0
*/
@Log
class DeployWeb
extends AbstractAntBasedPluginCustomDeployer
{
private final String WEB_XML_PATH = "web" + File.separator + "WEB-INF" + File.separator + "web.xml"
public DeployWeb()
{
super()
}
public void deploy(String edexRootDirectory, String plugin, String pluginFullPath)
{
final String edexWebappsDirectory = edexRootDirectory + File.separator + "webapps"
// determine if the plugin encapsulates a web application
final String expectedWebXMLPath = pluginFullPath + File.separator + WEB_XML_PATH
if (new File(expectedWebXMLPath).exists() == false)
{
// no web application
return
}
String webAppRootKey = this.getWebAppRootKey(expectedWebXMLPath)
if (webAppRootKey == null)
{
log.log(java.util.logging.Level.WARNING,
"webAppRootKey not specified in web.xml for plugin - " + plugin + "; skipping web app deployment")
return
}
log.info "Deploying Web Application associated with plugin ... " + plugin
final String warFile = edexWebappsDirectory + File.separator + webAppRootKey + ".war"
final String unwarDirectory = edexWebappsDirectory + File.separator + webAppRootKey
this.cleanup(edexWebappsDirectory, warFile, unwarDirectory)
// produce the war file
this.ant.war( destfile : warFile,
webxml : expectedWebXMLPath )
{
fileset( dir : pluginFullPath + File.separator + "web",
excludes : "WEB-INF" + File.separator )
classes( dir : pluginFullPath + File.separator + "web" + File.separator +
"WEB-INF" + File.separator + "classes" )
webinf ( file : pluginFullPath + File.separator + "web" + File.separator +
"WEB-INF" + File.separator + "dwr.xml" )
}
// finally, unwar the war file
this.ant.unzip( src : warFile,
dest : unwarDirectory )
new File(warFile).delete()
}
private String getWebAppRootKey(String webXMLFile)
{
String webAppRootKey = null
def webXML = new XmlSlurper().parse(new File(webXMLFile))
webXML.'context-param'.each
{
String paramName = it.'param-name'.toString()
if (paramName == "webAppRootKey")
{
webAppRootKey = it.'param-value'.toString()
}
}
return webAppRootKey
}
private void cleanup(String edexWebappsDirectory, String warFile, String webAppDirectory)
{
// cleanup any previous deployments
new File(warFile).delete()
new File(webAppDirectory).deleteDir()
}
}

View file

@ -0,0 +1,42 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
/**
* Defines a customized plugin deployer. Customized Plugin deployers are
* used to deploy additional plugin-specific files that exist outside
* of a standard Java build.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 4, 2014 3836 bkowal Initial Commit
*
* </pre>
*
* @author bkowal
* @version 1.0
*/
interface IPluginCustomDeployer {
void deploy(String edexRootDirectory, String plugin, String pluginFullPath)
}

View file

@ -0,0 +1,54 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
/**
* POJO representation of projects discovered in the Eclipse workspace.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 4, 2014 3836 bkowal Initial Commit
*
* </pre>
*
* @author bkowal
* @version 1.0
*/
class ProjectInformation
{
// the name of the project as it is known to Eclipse
public String project
// the name of the project directory
// in most cases (not all) this will be the same as the project name
public String projectDirectory
// the full path to the plugin
public String projectFullLocation
public ProjectInformation()
{
this.project = null
this.projectDirectory = null
this.projectFullLocation = null
}
}

View file

@ -0,0 +1,15 @@
Run deploy-install.xml to execute the new groovy-based deployment mechanism.
The mechanism will need to remain ant-wrapped until the Groovy plugins are added
to the uframe Eclipse distribution.
One argument is required to run the script: -Dworkspace_loc=${workspace_loc}
Note: ENTER THE ARGUMENT EXACTLY AS IT IS WRITTEN ABOVE. ${workspace_loc} is
an Eclipse variable that references the actual location of the workspace.
deploy-install will deploy any EDEX features it finds in the workspace excluding:
com.raytheon.edex.wa.feature and com.raytheon.edex.feature.uframe
Currently, an EDEX feature is defined as a feature project that includes edex in
the name. Feature deployment options will most likely be more customizable when
the pure groovy version of this deployment can be used.

View file

@ -0,0 +1,563 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
import groovy.util.logging.*
import ProjectInformation
import Feature
import FeatureParser
import java.util.Properties
import java.util.List
import java.util.ArrayList
import java.util.regex.Matcher
import java.util.regex.Pattern
import DeployESB
import DeployPythonPackages
import DeployEdexSiteLocalization
import IPluginCustomDeployer
/**
* Initial version of the deploy-install driver. Temporarily
* wrapped by and executed by an ant script until the Groovy
* plugins become a standard part of the uframe Eclipse distribution.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 4, 2014 3836 bkowal Initial Commit
*
* </pre>
*
* @author bkowal
* @version 1.0
*/
@Log
class DeployInstall
{
private static final String edexFeatureRegex = '^.*\\.edex\\..*\\.feature$'
private static final Pattern EDEX_FEATURE_PATTERN =
Pattern.compile(edexFeatureRegex)
// temporarily have to declare and add this feature to the list of deployed features
// manually. there are improvements that can be made in 15.1.
private static final String COMMON_BASE_FEATURE = "com.raytheon.uf.common.base.feature"
// temporary. maintain backwards compatibility until baseline cleanup
private final List<String> blacklistedEdexFeatures
private projectInformationMap = [:]
private List<String> edexFeaturesToDeploy
private String edexRootDirectory
private String[] localizationSitesToDeploy = []
private boolean deployPythonPackages
private String pythonRootDirectory
private String[] pythonPackagesToDeploy = []
private String architecture
private List<IPluginCustomDeployer> customPluginDeployers
// a list of features that have been deployed to ensure that a feature is not deployed
// more than once.
private List featuresDeployed = []
// a list of the plugins that we will be deploying.
private List pluginsToDeploy = []
// used to track which feature a plugin was discovered in; will be used to
// verify that a plugin is not listed in more than one feature.
private pluginToFeatureMap = [:]
public DeployInstall(final String workspaceDirectory,
final String localizationSites, final boolean deployPythonPackages,
final String edexRootDirectory, final String pythonRootDirectory, final String pythonPackages,
final String architecture)
{
blacklistedEdexFeatures = new ArrayList<String>()
// never deploy these features
blacklistedEdexFeatures.add("com.raytheon.edex.wa.feature")
blacklistedEdexFeatures.add("com.raytheon.edex.feature.uframe")
this.init(workspaceDirectory.trim())
if (localizationSites.trim() != "")
{
this.localizationSitesToDeploy = localizationSites.trim().split(":")
}
this.deployPythonPackages = deployPythonPackages
this.edexRootDirectory = edexRootDirectory.trim()
this.pythonRootDirectory = pythonRootDirectory.trim()
if (pythonPackages.trim() != "")
{
this.pythonPackagesToDeploy = pythonPackages.trim().split(":")
}
this.architecture = architecture.trim()
}
public void deploy()
{
// recursively build the list of plugins that will be deployed.
for (String featureToDeploy : edexFeaturesToDeploy)
{
this.buildPluginList(featureToDeploy)
}
log.info "Found " + this.pluginsToDeploy.size() + " Plugins To Deploy."
this.cleanup()
this.deployPlugins()
// complete the esb deployment
// we need to determine the location of the build.edex project
ProjectInformation projectInformation = this.projectInformationMap["build.edex"]
if (projectInformation == null)
{
log.log(java.util.logging.Level.SEVERE,
"Unable to find project - build.edex")
System.exit(-1)
}
final String esbDirectory = projectInformation.projectFullLocation + File.separator + "esb"
DeployESB.deploy(this.edexRootDirectory, esbDirectory, this.architecture)
DeployESB.deployEdexConfiguration(this.edexRootDirectory, esbDirectory)
if (this.deployPythonPackages)
{
DeployPythonPackages.deploy(this.pythonRootDirectory,
this.projectInformationMap["pythonPackages"], this.pythonPackagesToDeploy)
}
if (this.localizationSitesToDeploy.length > 0)
{
for (String localizationSite : this.localizationSitesToDeploy)
{
String localizationProject = "localization." + localizationSite
DeployEdexSiteLocalization.deploy(this.edexRootDirectory,
this.projectInformationMap[localizationProject], localizationSite)
}
}
}
// remove the existing deployment
private void cleanup()
{
// remove the contents of the edex lib directory (execluding native)
log.info "Cleaning EDEX lib directory ..."
final String EDEX_LIB_DIRECTORY = this.edexRootDirectory + File.separator + "lib"
for (File file : new File(EDEX_LIB_DIRECTORY).listFiles())
{
if (file.getName() == "native")
{
continue
}
file.deleteDir()
}
// remove the shell scripts and the yajsw sub-directory from the edex bin directory
log.info "Cleaning EDEX bin directory ..."
final String EDEX_BIN_DIRECTORY = this.edexRootDirectory + File.separator + "bin"
for (File file : new File(EDEX_BIN_DIRECTORY).listFiles())
{
if (file.getName() == "yajsw")
{
file.deleteDir()
}
// we really should be checking the file extension here instead of just doing a
// basic String comparison
if (file.getName().endsWith(".sh") || file.getName() == "setup.env")
{
file.delete()
}
}
// remove the contents of the edex conf directory
log.info "Cleaning EDEX conf directory ..."
final String EDEX_CONF_DIRECTORY = this.edexRootDirectory + File.separator + "conf"
for (File file : new File(EDEX_CONF_DIRECTORY).listFiles())
{
if (file.isDirectory())
{
file.deleteDir()
}
else
{
file.delete()
}
}
}
private void deployPlugins()
{
// we will need ant to complete this
AntBuilder ant = new AntBuilder()
ant.project.getBuildListeners().firstElement().setMessageOutputLevel(0)
log.info "Deploying plugins ..."
for (String plugin : this.pluginsToDeploy)
{
this.deployPlugin(plugin, ant)
}
}
// FOSS plugins are plugins that include jar files.
private boolean isFOSSPlugin(ProjectInformation projectInformation)
{
final String jarSuffix = ".jar"
// loop through the files in the plugin directory; true if a single
// jar file is found.
for (String pluginFile : new File(projectInformation.projectFullLocation).listFiles())
{
if (pluginFile.endsWith(".jar"))
{
return true
}
}
return false
}
private void deployPlugin(String plugin, AntBuilder ant)
{
// first, attempt to find the plugin in the plugin map
ProjectInformation projectInformation = this.projectInformationMap[plugin]
if (projectInformation == null)
{
log.log(java.util.logging.Level.SEVERE,
"Unable to find plugin - " + plugin)
System.exit(-1)
}
// next, attempt to access the build.properties file for the plugin
final String PLUGIN_BUILD_PROPERTIES = projectInformation.projectFullLocation + File.separator +
"build.properties"
if (new File(PLUGIN_BUILD_PROPERTIES).exists() == false)
{
log.log(java.util.logging.Level.SEVERE,
"Unable to find the build.properties file for plugin - " + plugin)
System.exit(-1)
}
log.info "Deploying plugin ... " + plugin
// read the plugin build.properties file
BufferedReader br =
new BufferedReader(new FileReader(PLUGIN_BUILD_PROPERTIES))
Properties properties = new Properties()
properties.load(br)
final String output = properties.getProperty("output..")
final String binIncludes = properties.getProperty("bin.includes")
if (output == null)
{
// we will not be producing a jar file and are most likely deploying a FOSS plugin
this.deployFOSSPlugin(projectInformation, binIncludes, ant)
return
}
// jar the plugin
final String pluginJarName = plugin + ".jar"
final String edexLibPlugins = this.edexRootDirectory + File.separator + "lib" + File.separator +
"plugins"
new File(edexLibPlugins).mkdirs()
final String fullJarPath = edexLibPlugins + File.separator + pluginJarName
ant.jar( destfile : fullJarPath,
manifest : projectInformation.projectFullLocation + File.separator + "META-INF" +
File.separator + "MANIFEST.MF" )
{
fileset( dir : projectInformation.projectFullLocation + File.separator + output )
}
// is the plugin FOSS?
if (this.isFOSSPlugin(projectInformation))
{
this.deployFOSSPlugin(projectInformation, binIncludes, ant)
return
}
// finish the plugin based on build.properties
for (String binInclude : binIncludes.split(","))
{
binInclude = binInclude.trim()
if (binInclude == ".")
{
continue
}
// ensure that the artifact exists
final String artifact = projectInformation.projectFullLocation + File.separator + binInclude
if (new File(artifact).exists() == false)
{
log.log(java.util.logging.Level.SEVERE,
artifact + " specified in build.properties for plugin " + projectInformation.project + " was not found")
System.exit(-1)
}
// add the artifact to the jar
if (new File(artifact).isDirectory())
{
ant.jar( destfile : fullJarPath,
update : true )
{
fileset( dir : projectInformation.projectFullLocation,
includes : binInclude )
}
}
else
{
ant.jar( destfile : fullJarPath,
update : true )
{
fileset( file : artifact )
}
}
}
// run "custom" deployment steps
for (IPluginCustomDeployer pluginCustomDeployer : this.customPluginDeployers)
{
pluginCustomDeployer.deploy(this.edexRootDirectory, projectInformation.project,
projectInformation.projectFullLocation)
}
}
private void deployFOSSPlugin(ProjectInformation projectInformation, String binIncludes, AntBuilder ant)
{
final String edexLibDependencies = this.edexRootDirectory + File.separator + "lib" + File.separator +
"dependencies" + File.separator + projectInformation.project
// create the destination directory
new File(edexLibDependencies).mkdirs()
for (String binInclude : binIncludes.split(","))
{
binInclude = binInclude.trim()
if (binInclude == ".")
{
continue
}
// ensure that the artifact exists
final String artifact = projectInformation.projectFullLocation + File.separator + binInclude
if (new File(artifact).exists() == false)
{
log.log(java.util.logging.Level.SEVERE,
artifact + " specified in build.properties for plugin " + projectInformation.project + " was not found")
System.exit(-1)
}
if (new File(artifact).isDirectory())
{
ant.copy( todir : edexLibDependencies )
{
fileset( dir : artifact )
}
}
else
{
ant.copy( todir : edexLibDependencies, file : artifact )
}
}
}
private void buildPluginList(String featureName)
{
if (this.featuresDeployed.contains(featureName))
{
log.log(java.util.logging.Level.WARNING,
"Feature " + featureName + " has been included more than once; skipping the duplicate.")
return
}
log.info "Analyzing feature ... " + featureName
// first, attempt to find the feature in the project map
ProjectInformation projectInformation = this.projectInformationMap[featureName]
// verify that the feature exists
if (projectInformation == null)
{
log.log(java.util.logging.Level.SEVERE,
"Unable to find the specified feature - " + featureName)
System.exit(-1)
}
final String featureFullPath = projectInformation.projectFullLocation + File.separator + "feature.xml"
// verify that the feature exists
if (new File(featureFullPath).exists() == false)
{
log.log(java.util.logging.Level.SEVERE,
"Unable to find the specified feature - " + featureName + "; '" + featureFullPath + "' does not exist")
System.exit(-1)
}
Feature feature = FeatureParser.parseFeature(featureFullPath, featureName)
// first, process any features that the feature includes
for (String featureInclude : feature.getIncludes())
{
this.buildPluginList(featureInclude)
}
// should we also check dependencies?
// complete an initial analysis of the plugins that we will be deploying
for (String plugin : feature.getPlugins())
{
final String featureWithPlugin = this.pluginToFeatureMap[plugin]
if (featureWithPlugin == null)
{
// we have not seen this plugin yet
this.pluginToFeatureMap[plugin] = featureName
}
else
{
// we have seen this plugin before, verify that the plugin
// is not in more than one feature
if (featureWithPlugin != featureName)
{
log.log(java.util.logging.Level.SEVERE,
"Plugin is listed in more than one feature - " + featureWithPlugin + " AND " + featureName)
}
}
if (this.pluginsToDeploy.contains(plugin) == false)
{
this.pluginsToDeploy.add(plugin)
}
}
}
private void init(final String workspaceDirectory)
{
this.edexFeaturesToDeploy = new ArrayList<String>()
final String metadataProjectsDirectory = workspaceDirectory + File.separator +
".metadata" + File.separator + ".plugins" + File.separator + "org.eclipse.core.resources" +
File.separator + ".projects"
for (String project : new File(metadataProjectsDirectory).list())
{
// determine if the project is an EDEX feature.
Matcher matcher = EDEX_FEATURE_PATTERN.matcher(project)
if (matcher.matches() || project == COMMON_BASE_FEATURE)
{
// this is an EDEX feature.
if (blacklistedEdexFeatures.contains(project) == false)
{
this.edexFeaturesToDeploy.add(project)
log.log(java.util.logging.Level.INFO, 'Found EDEX Feature: ' + project)
}
}
final String expectedLocationFile = metadataProjectsDirectory +
File.separator + project + File.separator + ".location"
if (new File(expectedLocationFile).exists())
{
this.catalogProject(expectedLocationFile)
}
}
/*
* previously this was dynamically loaded via spring. However, spring
* was removed from groovy.
*/
this.customPluginDeployers = new ArrayList<IPluginCustomDeployer>()
this.customPluginDeployers.add(new DeployWeb())
this.customPluginDeployers.add(new DeployEdexLocalization())
this.customPluginDeployers.add(new DeployEdexResources())
this.customPluginDeployers.add(new CustomDeploymentRunner())
this.customPluginDeployers.add(new DeployModes())
}
private void catalogProject(String locationFile)
{
byte[] contents = new File(locationFile).getBytes()
final String FILE_ = "file:"
StringBuilder stringBuilder = new StringBuilder()
boolean buildLocationString = false
for (int i = 0; i < contents.length; i++)
{
if (contents[i] < 0 || contents[i] > 127)
{
continue
}
if (buildLocationString)
{
if (contents[i] == 0)
{
// the end of the file path (ideally).
break
}
char c = (char) contents[i]
stringBuilder.append(c)
}
else
{
// first: we want to find the letter 'f'
char c = (char) contents[i]
if ( c == 'f')
{
stringBuilder.append(c)
// we have found 'f'; determine if we have found "file:"
int counter = 0
while (counter < 4)
{
++i
c = (char) contents[i]
stringBuilder.append(c)
++counter
}
if (FILE_ == stringBuilder.toString())
{
buildLocationString = true
}
stringBuilder = new StringBuilder()
}
}
}
String projectLocationString = stringBuilder.toString()
// get the .project file
File projectMetadataFile =
new File(projectLocationString + File.separator + ".project")
// ensure that the project metadata file actually exists
if (projectMetadataFile.exists() == false)
{
return
}
// read the file
def projectMetadataXML = new XmlSlurper().parse(projectMetadataFile)
// extract the plugin name (as Eclipse sees it)
final String projectName = projectMetadataXML.name
ProjectInformation projectInformation = new ProjectInformation()
projectInformation.project = projectName
projectInformation.projectDirectory = new File(projectLocationString).getName()
projectInformation.projectFullLocation = projectLocationString
this.projectInformationMap[projectName] = projectInformation
}
}
DeployInstall deployInstall =
new DeployInstall(args[0], args[1], Boolean.parseBoolean(args[2]),
args[3], args[4], args[5], args[6])
deployInstall.deploy()

View file

@ -0,0 +1,79 @@
<project default="main" basedir=".">
<property name="localization.sites" value="" />
<property name="deploy.python" value="true" />
<!--
The python packages to deploy - provided that
deploy.python is true
-->
<property name="python.packages"
value="pypies:ufpy:dynamicserialize" />
<!-- EDEX root directory - defaults to /awips2/edex -->
<property name="edex.root" value="/awips2/edex" />
<!-- Python root directory - defaults to /awips2/python -->
<property name="python.root" value="/awips2/python" />
<!--
if groovy.path is not manually set, groovy must be
on the PATH.
-->
<property name="groovy.path" value="" />
<property name="architecture" value="x86_64" />
<condition property="requiredPropertiesSet">
<and>
<isset property="workspace_loc" />
</and>
</condition>
<available property="groovyPathSet"
file="${groovy.path}/groovy" type="file" />
<target name="main">
<antcall target="usage" />
<antcall target="deploy-using-specific-groovy" />
<antcall target="deploy-using-environment-groovy" />
</target>
<target name="usage" unless="${requiredPropertiesSet}">
<echo message="Usage: the following parameters are available when running deploy-install.xml." />
<echo message="REQUIRED PARAMETERS:" />
<echo message=" -Dworkspace_loc the location of the Eclipse workspace; use the 'workspace_loc' variable provided by Eclipse" />
<echo message="OPTIONAL PARAMETERS:" />
<echo message=" -Dlocalization.sites a colon delimited list of sites to deploy localization for" />
<echo message=" -Dedex.root the root of the EDEX installation; defaults to /awips2/edex" />
<echo message=" -Ddeploy.python a boolean value {true, false} indicating if python should be deployed" />
<echo message=" -Dpython.root the root of the python installation; defaults to /awips2/python" />
<echo message=" -Dpython.packages a colon delimited list of python packages to deploy; defaults to pypies:ufpy:dynamicserialize" />
<echo message=" -Darchitecture used to override the deployment architecture; use one of: {x86_64, x86}." />
<fail message="All required parameters have not been specified. Refer to the usage message above." />
</target>
<target name="deploy-using-specific-groovy" if="${groovyPathSet}">
<deploy
groovy.executable="${groovy.path}/groovy" />
</target>
<target name="deploy-using-environment-groovy" unless="${groovyPathSet}">
<deploy
groovy.executable="groovy" />
</target>
<macrodef name="deploy">
<attribute name="groovy.executable" />
<sequential>
<exec executable="@{groovy.executable}">
<arg value="-cp" />
<arg value="${basedir}${path.separator}${basedir}/../build.core" />
<arg value="${basedir}/RunDeployInstall.groovy" />
<arg value="${workspace_loc}" />
<arg value="${localization.sites}" />
<arg value="${deploy.python}" />
<arg value="${edex.root}" />
<arg value="${python.root}" />
<arg value="${python.packages}" />
<arg value="${architecture}" />
</exec>
</sequential>
</macrodef>
</project>

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="customPluginDeployersList" class="java.util.ArrayList">
<constructor-arg>
<list>
<ref bean="customLocalizationDeploy" />
<ref bean="customResourcesDeploy" />
<ref bean="customWebDeploy" />
<ref bean="customDeploymentRunner" />
</list>
</constructor-arg>
</bean>
<bean id="customWebDeploy" class="DeployWeb" />
<bean id="customLocalizationDeploy" class="DeployEdexLocalization" />
<bean id="customResourcesDeploy" class="DeployEdexResources" />
<bean id="customDeploymentRunner" class="CustomDeploymentRunner" />
</beans>

View file

@ -54,20 +54,25 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
/**
* Main User Administration Dialog.
*
*
* <pre>
*
*
* SOFTWARE HISTORY
*
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* May 23, 2012 mpduff Initial creation.
* Nov 26, 2012 1347 mpduff Make resizable.
* Jan 09, 2013 1412 djohnson Listen for user authentication data changes.
* Aug 12, 2013 2247 mpduff Dialog cleanup and consistency.
*
* Dec 05, 2014 3801 nabowle Check if widgets are disposed in populate
* lists. Hide Description menu when nothing
* is selected. Better enable/disable edit
* and delete buttons. Give delete dialogs
* a title.
*
* </pre>
*
*
* @author mpduff
* @version 1.0
*/
@ -104,7 +109,7 @@ public class UserAdminSelectDlg extends CaveSWTDialog implements
/**
* Constructor.
*
*
* @param parent
* The parent shell
*/
@ -227,7 +232,7 @@ public class UserAdminSelectDlg extends CaveSWTDialog implements
/*
* (non-Javadoc)
*
*
* @see com.raytheon.viz.ui.dialogs.CaveSWTDialog#preOpened()
*/
@Override
@ -473,6 +478,11 @@ public class UserAdminSelectDlg extends CaveSWTDialog implements
private void populateLists() {
NwsRoleDataManager man = NwsRoleDataManager.getInstance();
if (appCombo.isDisposed() || userList.isDisposed()
|| userTab.isDisposed() || roleTab.isDisposed()
|| roleList.isDisposed()) {
return;
}
String app = appCombo.getItem(appCombo.getSelectionIndex());
userTab.setText(app + " Users");
@ -486,6 +496,11 @@ public class UserAdminSelectDlg extends CaveSWTDialog implements
userList.setItems(man.getRoleData(app).getUsers());
if (selection < userList.getItemCount()) {
userList.select(selection);
editUserBtn.setEnabled(true);
deleteUserBtn.setEnabled(true);
} else {
editUserBtn.setEnabled(false);
deleteUserBtn.setEnabled(false);
}
populateUserRoleList();
@ -498,12 +513,21 @@ public class UserAdminSelectDlg extends CaveSWTDialog implements
roleList.setItems(man.getRoleData(app).getRoles());
if (selection < roleList.getItemCount()) {
roleList.select(selection);
editRoleBtn.setEnabled(true);
deleteRoleBtn.setEnabled(true);
} else {
editRoleBtn.setEnabled(false);
deleteRoleBtn.setEnabled(false);
}
populatePermissionList();
}
private void populateUserRoleList() {
NwsRoleDataManager man = NwsRoleDataManager.getInstance();
if (appCombo.isDisposed() || userList.isDisposed()
|| userPermList.isDisposed()) {
return;
}
String app = appCombo.getItem(appCombo.getSelectionIndex());
if (userList.getSelectionIndex() != -1) {
@ -547,7 +571,7 @@ public class UserAdminSelectDlg extends CaveSWTDialog implements
String user = userList.getItem(userList.getSelectionIndex());
MessageBox messageDialog = new MessageBox(this.shell, SWT.YES | SWT.NO);
messageDialog.setText("Title");
messageDialog.setText("Delete user - " + user);
messageDialog
.setMessage("Are you sure you wish to delete user " + user);
int response = messageDialog.open();
@ -576,7 +600,7 @@ public class UserAdminSelectDlg extends CaveSWTDialog implements
String role = roleList.getItem(roleList.getSelectionIndex());
MessageBox messageDialog = new MessageBox(this.shell, SWT.YES | SWT.NO);
messageDialog.setText("Title");
messageDialog.setText("Delete role - " + role);
messageDialog
.setMessage("Are you sure you wish to delete role " + role);
int response = messageDialog.open();
@ -615,51 +639,53 @@ public class UserAdminSelectDlg extends CaveSWTDialog implements
}
private void showPermissionMenu(final List list) {
Menu menu = new Menu(shell, SWT.POP_UP);
MenuItem item1 = new MenuItem(menu, SWT.PUSH);
item1.setText("Description...");
item1.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent arg0) {
String selection = list.getItem(list.getSelectionIndex());
StringBuilder messageText = new StringBuilder();
boolean roleFlag = false;
NwsRoleDataManager man = NwsRoleDataManager.getInstance();
for (RoleXML role : man.getRoleData(selectedApplication)
.getRoleList()) {
if (selection.equals(role.getRoleId())) {
messageText.append(getRoleDetails(role));
roleFlag = true;
break;
}
}
if (!roleFlag) {
for (PermissionXML perm : man.getRoleData(
selectedApplication).getPermissionList()) {
if (perm.getId().equals(selection)) {
messageText.append(getPermissionDetails(perm));
if (list.getSelectionCount() > 0) {
Menu menu = new Menu(shell, SWT.POP_UP);
MenuItem item1 = new MenuItem(menu, SWT.PUSH);
item1.setText("Description...");
item1.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent arg0) {
String selection = list.getItem(list.getSelectionIndex());
StringBuilder messageText = new StringBuilder();
boolean roleFlag = false;
NwsRoleDataManager man = NwsRoleDataManager.getInstance();
for (RoleXML role : man.getRoleData(selectedApplication)
.getRoleList()) {
if (selection.equals(role.getRoleId())) {
messageText.append(getRoleDetails(role));
roleFlag = true;
break;
}
}
}
if (messageText.length() == 0) {
messageText.append("No Description");
}
MessageBox messageDialog = new MessageBox(shell,
SWT.ICON_INFORMATION);
if (roleFlag) {
messageDialog.setText("Role Description");
} else {
messageDialog.setText("Permission Description");
}
messageDialog.setMessage(messageText.toString());
messageDialog.open();
}
});
shell.setMenu(menu);
menu.setVisible(true);
if (!roleFlag) {
for (PermissionXML perm : man.getRoleData(
selectedApplication).getPermissionList()) {
if (perm.getId().equals(selection)) {
messageText.append(getPermissionDetails(perm));
break;
}
}
}
if (messageText.length() == 0) {
messageText.append("No Description");
}
MessageBox messageDialog = new MessageBox(shell,
SWT.ICON_INFORMATION);
if (roleFlag) {
messageDialog.setText("Role Description");
} else {
messageDialog.setText("Permission Description");
}
messageDialog.setMessage(messageText.toString());
messageDialog.open();
}
});
shell.setMenu(menu);
menu.setVisible(true);
}
}
private String getRoleDetails(RoleXML role) {

View file

@ -108,7 +108,6 @@
<!-- set executable permissions - start.sh. -->
<chmod file="${edex.root.directory}/bin/start.sh" perm="ugo+rx" />
<chmod file="${edex.root.directory}/bin/yajsw/scripts/wrapperCapture.sh" perm="ugo+rx" />
</target>
<target name="deploy.esb-data">

View file

@ -45,6 +45,13 @@ if [ -z "${SKIP_RPM_CHECK}" ]; then
echo "Unable To Continue ... Terminating."
exit 1
fi
rpm -q awips2-yajsw > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "ERROR: awips2-yajsw Must Be Installed."
echo "Unable To Continue ... Terminating."
exit 1
fi
fi
path_to_script=`readlink -f $0`
@ -58,6 +65,7 @@ awips_home=$(dirname $EDEX_HOME)
if [ -z "$PYTHON_INSTALL" ]; then PYTHON_INSTALL="$awips_home/python"; fi
if [ -z "$JAVA_INSTALL" ]; then JAVA_INSTALL="$awips_home/java"; fi
if [ -z "$PSQL_INSTALL" ]; then PSQL_INSTALL="$awips_home/psql"; fi
if [ -z "$YAJSW_HOME" ]; then YAJSW_HOME="$awips_home/yajsw"; fi
# Source The File With The Localization Information
source ${dir}/setup.env
@ -150,4 +158,4 @@ if [ $DEBUG_FLAG == "on" ]; then
echo "To Debug ... Connect to Port: ${EDEX_DEBUG_PORT}."
fi
java -Xmx32m -XX:MaxPermSize=12m -XX:ReservedCodeCacheSize=4m -jar ${EDEX_HOME}/bin/yajsw/wrapper.jar -c ${EDEX_HOME}/conf/${CONF_FILE} ${WRAPPER_ARGS}
java -Xmx32m -XX:MaxPermSize=12m -XX:ReservedCodeCacheSize=4m -jar ${YAJSW_HOME}/wrapper.jar -c ${EDEX_HOME}/conf/${CONF_FILE} ${WRAPPER_ARGS}

View file

@ -1,180 +0,0 @@
#!/bin/sh
#####################################################################
# This software was developed and / or modified by Raytheon Company,
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
#
# U.S. EXPORT CONTROLLED TECHNICAL DATA
# This software product contains export-restricted data whose
# export/transfer/disclosure is restricted by U.S. law. Dissemination
# to non-U.S. persons whether in the United States or abroad requires
# an export license or other authorization.
#
# Contractor Name: Raytheon Company
# Contractor Address: 6825 Pine Street, Suite 340
# Mail Stop B8
# Omaha, NE 68106
# 402.291.0100
#
# See the AWIPS II Master Rights File ("Master Rights File.pdf") for
# further licensing information.
#####################################################################
#####################################################################
# Script for capturing data from a wrapper java process when the
# wrapper restarts the process
#
# SOFTWARE HISTORY
#
# Date Ticket# Engineer Description
# ------------- -------- ----------- --------------------------
# Aug 07, 2014 3470 rjpeter Initial creation
#
#####################################################################
# NOTE: Script must be located at /awips2/qpid/bin/yajsw/scripts for it to work
# base path to save capture data to, will create subdirectory for each server
basePath="/data/fxa/cave"
state=$1
string_state=$2
pid=$4
path_to_script=`readlink -f $0`
curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: Wrapper running $path_to_script due to state transition for pid $pid. New State $state|$string_state"
# ensure directory is created and has write permissions
checkDir() {
dir="$1"
if [ ! -d "$dir" ]; then
mkdir -p $dir
if [ ! -d "$dir" ]; then
message="Unable to create qpid capture data directory\n$dir"
echo -e "Capture failed: $message"
exit 1
fi
fi
if [ ! -w "$dir" ]; then
message="Do not have write permissions to qpid capture data directory\n$dir"
echo -e "Capture failed: $message"
exit 1
fi
}
# gets top output of local server
runTop() {
local curTime=`date "+%Y%m%d_%H:%M:%S"`
echo "$curTime: Capturing top"
echo "$curTime: Capturing top" >> $processFile
local out_file="${dataPath}/top.log"
export COLUMNS=160
top -b -c -n1 >> $out_file 2>&1
curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: top captured"
}
# runs jstack 10 times, if it fails will run again with -F
runJstack() {
local curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: Capturing jstacks"
local pid="$1"
local count=1
local cmd="/awips2/java/bin/jstack"
local prePath="${dataPath}/pid_${pid}_"
local log=""
while [ "$count" -le "10" ]; do
curTime=`date "+%Y%m%d_%H:%M:%S"`
log="${prePath}jstack_${count}.log"
echo "${curTime}: Running command: ${cmd} ${pid} >> ${log} 2>&1" >> $processFile
echo "Running for $curTime" >> $log
${cmd} ${pid} >> ${log} 2>&1
if [[ "$?" != "0" && $FORCE != "y" ]]; then
curTime=`date "+%Y%m%d_%H:%M:%S"`
echo "${curTime}: jstack for $pid failed to connect, rerunning with -F" >> $processFile
${cmd} -F ${pid} >> ${log} 2>&1
fi
let "count+=1"
done
curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: jstacks captured"
}
# runs jmap -heap
runJmapHeap() {
local curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: Capturing jmap -heap"
local pid=$1
local prePath="${dataPath}/pid_${pid}_"
local log="${prePath}jmapHeap.log"
local cmd="/awips2/java/bin/jmap -heap"
echo "${curTime}: Running command: $cmd $pid >> $log 2>&1" >> $processFile
$cmd $pid >> $log 2>&1
if [[ "$?" != "0" && $FORCE != "y" ]]; then
curTime=`date "+%Y%m%d_%H:%M:%S"`
echo "${curTime}: jmap for $pid failed to connect, rerunning with -F" >> $processFile
$cmd -F $pid >> $log 2>&1
fi
curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: jmap -heap captured"
}
# runs jmap, if it fails will run again with -F
runJmap() {
local curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: Capturing jmap -dump"
local pid=$1
local prePath="${dataPath}/pid_${pid}_jmap"
local log="${prePath}.log"
local dumpPath="${prePath}.hprof"
local cmd="/awips2/java/bin/jmap -dump:format=b,file=${dumpPath}"
echo "${curTime}: Running command: $cmd $pid >> $log 2>&1" >> $processFile
$cmd $pid >> $log 2>&1
if [[ "$?" != "0" && $FORCE != "y" ]]; then
curTime=`date "+%Y%m%d_%H:%M:%S"`
echo "${curTime}: jmap for $pid failed to connect, rerunning with -F" >> $processFile
$cmd -F $pid >> $log 2>&1
fi
curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: jmap -dump captured"
}
if [[ "$pid" != "-1" ]]; then
process=`ps -ef | grep $pid | grep java`
if [[ "$process" != "" ]]; then
hostName=`hostname -s`
dataPath="${basePath}/${hostName}/wrapperCaptureData_${curTime}_pid_$pid"
checkDir $dataPath
processFile=${dataPath}/capture_info.log
echo "Wrapper running $0 due to state transition for pid $pid. New State $state|$string_state" >> $processFile
echo "Process information:" >> $processFile
ps -ef | grep $pid >> $processFile
runTop &
runJstack $pid &
runJmapHeap $pid &
# TODO: Double check if jvm already dumped one
runJmap $pid &
wait
curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: Data captured to $dataPath"
else
curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: PID $pid is no longer running, nothing to capture"
fi
else
curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: PID was -1, process no longer running, nothing to capture"
fi

View file

@ -42,13 +42,11 @@ wrapper.pidfile=${EDEX_HOME}/bin/${EDEX_RUN_MODE}.pid
# use system java instead of awips2 java
wrapper.app.env.use.system.java=${WRAPPER_USE_SYSTEM_JAVA}
# Java Classpath (include wrapper.jar) Add class path elements as
# needed starting from 1
wrapper.java.classpath.1=${EDEX_HOME}/bin/yajsw/wrapper.jar
wrapper.java.classpath.2=${EDEX_HOME}/conf/
wrapper.java.classpath.3=${EDEX_HOME}/conf/cache/
wrapper.java.classpath.4=${EDEX_HOME}/conf/spring/
wrapper.java.classpath.5=${EDEX_HOME}/conf/resources/
# Java Classpath. Add class path elements as needed starting from 1.
wrapper.java.classpath.1=${EDEX_HOME}/conf/
wrapper.java.classpath.2=${EDEX_HOME}/conf/cache/
wrapper.java.classpath.3=${EDEX_HOME}/conf/spring/
wrapper.java.classpath.4=${EDEX_HOME}/conf/resources/
# include ANY jar files that are found in the locations denoted by
# wrapper.search.java.classpath.#

View file

@ -0,0 +1,10 @@
# Product Discipline 10: Oceanographic products, Parameter Category 1: Currents
0:0:Current direction:Degree true:DIRC
1:1:Current speed:m/s:SPC
# The HFR models are sending data in cm/s which does not match the standard grib2
# units. The reason for this change for center 9 subcenter 0.
2:2:u-component of current:cm/s:UOGRD
3:3:v-component of current:cm/s:VOGRD
# 4-191 Reserved
#192-254 Reserved for local use
255:255:Missing

View file

@ -20,7 +20,7 @@
-->
<DerivedParameter abbreviation="BARO" name="Barometric Velocity Vectors" unit="m/s">
<Method name="Vector">
<Field abbreviation="UBARO"/>
<Field abbreviation="VBARO"/>
<Field abbreviation="UBARO" unit="m/sec"/>
<Field abbreviation="VBARO" unit="m/sec"/>
</Method>
</DerivedParameter>

View file

@ -20,7 +20,7 @@
-->
<DerivedParameter abbreviation="OGRD" name="Current Vectors" unit="m/s">
<Method name="Vector">
<Field abbreviation="UOGRD"/>
<Field abbreviation="VOGRD"/>
<Field abbreviation="UOGRD" unit="m/sec"/>
<Field abbreviation="VOGRD" unit="m/sec"/>
</Method>
</DerivedParameter>

View file

@ -20,11 +20,11 @@
-->
<DerivedParameter abbreviation="SPBARO" name="Barotropic Velocity" unit="m/s">
<Method name="Magnitude">
<Field abbreviation="UBARO"/>
<Field abbreviation="VOGRD"/>
<Field abbreviation="UBARO" unit="m/sec"/>
<Field abbreviation="VOGRD" unit="m/sec"/>
</Method>
<Method name="Magnitude">
<Field abbreviation="BARO"/>
<Field abbreviation="BARO" unit="m/sec"/>
</Method>
</DerivedParameter>

View file

@ -20,10 +20,10 @@
-->
<DerivedParameter abbreviation="SPC" name="Current Speed" unit="m/s">
<Method name="Magnitude">
<Field abbreviation="UOGRD"/>
<Field abbreviation="VOGRD"/>
<Field abbreviation="UOGRD" unit="m/sec"/>
<Field abbreviation="VOGRD" unit="m/sec"/>
</Method>
<Method name="Magnitude">
<Field abbreviation="OGRD"/>
<Field abbreviation="OGRD" unit="m/sec"/>
</Method>
</DerivedParameter>

View file

@ -138,7 +138,8 @@
<parameter>BARO</parameter>
</paramLevelMatches>
<arrowStyle>
<displayUnits>m/min</displayUnits>
<displayUnits>cm/sec</displayUnits>
<scale>0.20</scale>
</arrowStyle>
</styleRule>
</styleRuleset>

View file

@ -4229,4 +4229,16 @@ in | .03937 | 0 | 4 | | |..|8000F0FF| | 16 | \
</contourStyle>
</styleRule>
<styleRule>
<paramLevelMatches>
<parameter>SPC</parameter>
<parameter>OGRD</parameter>
<parameter>BARO</parameter>
<parameter>SPBARO</parameter>
</paramLevelMatches>
<contourStyle>
<displayUnits>cm/sec</displayUnits>
</contourStyle>
</styleRule>
</styleRuleset>

View file

@ -5514,4 +5514,16 @@
</dataMapping>
</imageStyle>
</styleRule>
<styleRule>
<paramLevelMatches>
<parameter>SPC</parameter>
<parameter>OGRD</parameter>
<parameter>BARO</parameter>
<parameter>SPBARO</parameter>
</paramLevelMatches>
<imageStyle>
<displayUnits>cm/sec</displayUnits>
</imageStyle>
</styleRule>
</styleRuleset>

View file

@ -1,180 +0,0 @@
#!/bin/sh
#####################################################################
# This software was developed and / or modified by Raytheon Company,
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
#
# U.S. EXPORT CONTROLLED TECHNICAL DATA
# This software product contains export-restricted data whose
# export/transfer/disclosure is restricted by U.S. law. Dissemination
# to non-U.S. persons whether in the United States or abroad requires
# an export license or other authorization.
#
# Contractor Name: Raytheon Company
# Contractor Address: 6825 Pine Street, Suite 340
# Mail Stop B8
# Omaha, NE 68106
# 402.291.0100
#
# See the AWIPS II Master Rights File ("Master Rights File.pdf") for
# further licensing information.
#####################################################################
#####################################################################
# Script for capturing data from a wrapper java process when the
# wrapper restarts the process
#
# SOFTWARE HISTORY
#
# Date Ticket# Engineer Description
# ------------- -------- ----------- --------------------------
# Aug 07, 2014 3470 rjpeter Initial creation
#
#####################################################################
# NOTE: Script must be located at /awips2/qpid/bin/yajsw/scripts for it to work
# base path to save capture data to, will create subdirectory for each server
basePath="/data/fxa/cave"
state=$1
string_state=$2
pid=$4
path_to_script=`readlink -f $0`
curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: Wrapper running $path_to_script due to state transition for pid $pid. New State $state|$string_state"
# ensure directory is created and has write permissions
checkDir() {
dir="$1"
if [ ! -d "$dir" ]; then
mkdir -p $dir
if [ ! -d "$dir" ]; then
message="Unable to create qpid capture data directory\n$dir"
echo -e "Capture failed: $message"
exit 1
fi
fi
if [ ! -w "$dir" ]; then
message="Do not have write permissions to qpid capture data directory\n$dir"
echo -e "Capture failed: $message"
exit 1
fi
}
# gets top output of local server
runTop() {
local curTime=`date "+%Y%m%d_%H:%M:%S"`
echo "$curTime: Capturing top"
echo "$curTime: Capturing top" >> $processFile
local out_file="${dataPath}/top.log"
export COLUMNS=160
top -b -c -n1 >> $out_file 2>&1
curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: top captured"
}
# runs jstack 10 times, if it fails will run again with -F
runJstack() {
local curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: Capturing jstacks"
local pid="$1"
local count=1
local cmd="/awips2/java/bin/jstack"
local prePath="${dataPath}/pid_${pid}_"
local log=""
while [ "$count" -le "10" ]; do
curTime=`date "+%Y%m%d_%H:%M:%S"`
log="${prePath}jstack_${count}.log"
echo "${curTime}: Running command: ${cmd} ${pid} >> ${log} 2>&1" >> $processFile
echo "Running for $curTime" >> $log
${cmd} ${pid} >> ${log} 2>&1
if [[ "$?" != "0" && $FORCE != "y" ]]; then
curTime=`date "+%Y%m%d_%H:%M:%S"`
echo "${curTime}: jstack for $pid failed to connect, rerunning with -F" >> $processFile
${cmd} -F ${pid} >> ${log} 2>&1
fi
let "count+=1"
done
curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: jstacks captured"
}
# runs jmap -heap
runJmapHeap() {
local curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: Capturing jmap -heap"
local pid=$1
local prePath="${dataPath}/pid_${pid}_"
local log="${prePath}jmapHeap.log"
local cmd="/awips2/java/bin/jmap -heap"
echo "${curTime}: Running command: $cmd $pid >> $log 2>&1" >> $processFile
$cmd $pid >> $log 2>&1
if [[ "$?" != "0" && $FORCE != "y" ]]; then
curTime=`date "+%Y%m%d_%H:%M:%S"`
echo "${curTime}: jmap for $pid failed to connect, rerunning with -F" >> $processFile
$cmd -F $pid >> $log 2>&1
fi
curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: jmap -heap captured"
}
# runs jmap, if it fails will run again with -F
runJmap() {
local curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: Capturing jmap -dump"
local pid=$1
local prePath="${dataPath}/pid_${pid}_jmap"
local log="${prePath}.log"
local dumpPath="${prePath}.hprof"
local cmd="/awips2/java/bin/jmap -dump:format=b,file=${dumpPath}"
echo "${curTime}: Running command: $cmd $pid >> $log 2>&1" >> $processFile
$cmd $pid >> $log 2>&1
if [[ "$?" != "0" && $FORCE != "y" ]]; then
curTime=`date "+%Y%m%d_%H:%M:%S"`
echo "${curTime}: jmap for $pid failed to connect, rerunning with -F" >> $processFile
$cmd -F $pid >> $log 2>&1
fi
curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: jmap -dump captured"
}
if [[ "$pid" != "-1" ]]; then
process=`ps -ef | grep $pid | grep java`
if [[ "$process" != "" ]]; then
hostName=`hostname -s`
dataPath="${basePath}/${hostName}/wrapperCaptureData_${curTime}_pid_$pid"
checkDir $dataPath
processFile=${dataPath}/capture_info.log
echo "Wrapper running $0 due to state transition for pid $pid. New State $state|$string_state" >> $processFile
echo "Process information:" >> $processFile
ps -ef | grep $pid >> $processFile
runTop &
runJstack $pid &
runJmapHeap $pid &
# TODO: Double check if jvm already dumped one
runJmap $pid &
wait
curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: Data captured to $dataPath"
else
curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: PID $pid is no longer running, nothing to capture"
fi
else
curTime=`date +%Y%m%d_%H%M%S`
echo "$curTime: PID was -1, process no longer running, nothing to capture"
fi

View file

@ -1,46 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/ahessian"/>
<classpathentry kind="src" path="src/app/java"/>
<classpathentry kind="src" path="src/build/java"/>
<classpathentry kind="src" path="src/hessian"/>
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="src" path="src/srvmgr/java"/>
<classpathentry kind="src" path="src/test/java"/>
<classpathentry kind="src" path="src/ws/java"/>
<classpathentry kind="lib" path="build/gradle/gradle/wrapper/gradle-wrapper.jar"/>
<classpathentry kind="lib" path="lib/core/commons/commons-cli-2-SNAPSHOT.jar"/>
<classpathentry kind="lib" path="lib/core/commons/commons-collections-3.2.jar"/>
<classpathentry kind="lib" path="lib/core/commons/commons-configuration-1.8.jar"/>
<classpathentry kind="lib" path="lib/core/commons/commons-io-1.3.1.jar"/>
<classpathentry kind="lib" path="lib/core/commons/commons-lang-2.4.jar"/>
<classpathentry kind="lib" path="lib/core/commons/commons-logging-1.1.jar"/>
<classpathentry kind="lib" path="lib/core/commons/commons-vfs2-2.0.jar"/>
<classpathentry kind="lib" path="lib/core/groovy/groovy-all-1.8.6.jar"/>
<classpathentry kind="lib" path="lib/core/jna/jna-3.4.1.jar"/>
<classpathentry kind="lib" path="lib/core/jna/platform-3.4.1.jar"/>
<classpathentry kind="lib" path="lib/core/netty/netty-3.5.1.Final.jar"/>
<classpathentry kind="lib" path="lib/core/regex/jrexx-1.1.1.jar"/>
<classpathentry kind="lib" path="lib/core/yajsw/ahessian.jar"/>
<classpathentry kind="lib" path="lib/extended/abeille/formsrt.jar"/>
<classpathentry kind="lib" path="lib/extended/commons/commons-codec-1.3.jar"/>
<classpathentry kind="lib" path="lib/extended/commons/commons-httpclient-3.0.1.jar"/>
<classpathentry kind="lib" path="lib/extended/commons/commons-net-1.4.1.jar"/>
<classpathentry kind="lib" path="lib/extended/glazedlists/commons-beanutils-1.8.2.jar"/>
<classpathentry kind="lib" path="lib/extended/glazedlists/glazedlists-1.8.0_java15.jar"/>
<classpathentry kind="lib" path="lib/extended/jgoodies/forms-1.2.0.jar"/>
<classpathentry kind="lib" path="lib/extended/quartz/quartz-1.8.0.jar"/>
<classpathentry kind="lib" path="lib/extended/velocity/velocity-1.6.3.jar"/>
<classpathentry kind="lib" path="lib/extended/vfs-webdav/jackrabbit-webdav-1.5.6.jar"/>
<classpathentry kind="lib" path="lib/extended/vfs-webdav/slf4j-api-1.5.0.jar"/>
<classpathentry kind="lib" path="lib/extended/vfs-webdav/slf4j-jdk14-1.5.0.jar"/>
<classpathentry kind="lib" path="lib/extended/vfs-webdav/xercesImpl.jar"/>
<classpathentry kind="lib" path="lib/extended/yajsw/hessian4.jar"/>
<classpathentry kind="lib" path="lib/extended/yajsw/srvmgr.jar"/>
<classpathentry kind="lib" path="lib/groovy/joda/joda-time-1.6.jar"/>
<classpathentry kind="lib" path="lib/groovy/mail/activation.jar"/>
<classpathentry kind="lib" path="lib/groovy/mail/mail.jar"/>
<classpathentry kind="lib" path="lib/groovy/snmp/SNMP4J.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View file

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>yajsw</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View file

@ -1,36 +0,0 @@
<project name="Build YAJSW" default="main" basedir=".">
<!-- The location that the built jar files should be copied to. -->
<property name="destination.directory"
value="/tmp" />
<property name="gradle.directory"
value="${basedir}/build/gradle" />
<property name="gradle.build.script"
value="${gradle.directory}/gradlew.sh" />
<target name="main" depends="clean">
<echo message="Building 'Yet Another Java Service Wrapper' ..." />
<exec executable="/bin/bash" dir="${gradle.directory}">
<arg value="${gradle.build.script}" />
</exec>
<echo message="" />
<echo message="Copying Built Jars To Destination ... ${destination.directory}" />
<copy file="${gradle.directory}/wrapper/build/libs/wrapper.jar"
todir="${destination.directory}" />
<copy file="${gradle.directory}/wrapper-app/build/libs/wrapperApp.jar"
todir="${destination.directory}" />
<echo message="" />
<antcall target="clean" />
</target>
<target name="clean">
<exec executable="/bin/bash" dir="${gradle.directory}">
<arg value="${gradle.build.script}" />
<arg value="clean" />
</exec>
</target>
</project>

View file

@ -1,50 +0,0 @@
Manifest-Version: 1.0
Class-Path-Wrapper-Core:
./wrapperApp.jar
./lib/core/yajsw/ahessian.jar
./lib/core/netty/netty-3.5.1.Final.jar
./lib/core/jna/jna-3.4.1.jar
./lib/core/jna/platform-3.4.1.jar
./lib/core/commons/commons-configuration-1.8.jar
./lib/core/commons/commons-vfs2-2.0.jar
./lib/core/groovy/groovy-all-1.8.6.jar
./lib/core/commons/commons-collections-3.2.jar
./lib/core/commons/commons-io-1.3.1.jar
./lib/core/commons/commons-lang-2.4.jar
./lib/core/commons/commons-logging-1.1.jar
./lib/core/commons/commons-cli-2-SNAPSHOT.jar
./lib/core/regex/jrexx-1.1.1.jar
Class-Path-Wrapper-Extended:
./lib/extended/commons/commons-httpclient-3.0.1.jar
./lib/extended/commons/commons-codec-1.3.jar
./lib/extended/yajsw/hessian4.jar
./lib/extended/hessian/hessian-4.0.2.jar
./lib/extended/hessian/servlet-api.jar
./lib/extended/glazedlists/glazedlists-1.8.0_java15.jar
./lib/extended/glazedlists/commons-beanutils-1.8.2.jar
./lib/extended/quartz/quartz-1.8.0.jar
./lib/extended/quartz/jta-spec1_0_1.jar
./lib/extended/velocity/velocity-1.6.3.jar
./lib/extended/jgoodies/forms-1.2.0.jar
./lib/extended/vfs-webdav/jackrabbit-webdav-1.5.6.jar
./lib/extended/vfs-webdav/xercesImpl.jar
./lib/extended/vfs-webdav/slf4j-jdk14-1.5.0.jar
./lib/extended/vfs-webdav/slf4j-api-1.5.0.jar
./lib/extended/srvmgr-client/commons-beanutils-1.8.2.jar
./lib/extended/srvmgr-client/glazedlists-1.8.0_java15.jar
./lib/extended/abeille/formsrt.jar
Class-Path-App:
./wrapper.jar
./lib/core/netty/netty-3.5.1.Final.jar
./lib/core/commons/commons-configuration-1.8.jar
./lib/core/commons/commons-vfs2-2.0.jar
./lib/core/groovy/groovy-all-1.8.6.jar
./lib/core/commons/commons-collections-3.2.jar
./lib/core/commons/commons-io-1.3.1.jar
./lib/core/commons/commons-lang-2.4.jar
./lib/core/commons/commons-logging-1.1.jar
Main-Class: org.rzo.yajsw.boot.WrapperExeBooter

View file

@ -1,15 +0,0 @@
The manifest in this folder should be added to wrapper.jar and wrapperApp.jar
It assumes that the relative folder structure of the jar files is not changed.
If you would like to change the folder structure you should adapt the manifest accordingly.
A build script is included in the subfolder gradle.
Building SNAPSHOT jars is not included in this build. Please use the following subversion
revisions to build them:
commons-vfs-2.0-SNAPSHOT.jar 784083
commons-cli-2-SNAPSHOT.jar 647073
commons-configuration-1.7-SNAPSHOT.jar 784085
NOTE: the above projects have not had new releases for years, but have been commiting new features which are used here.

File diff suppressed because it is too large Load diff

View file

@ -1,4 +0,0 @@
These files have been created with abeille gui designer
https://abeille.dev.java.net/
They are used to generate the according gui classes.

File diff suppressed because it is too large Load diff

View file

@ -1,771 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<object classname="com.jeta.forms.store.memento.FormPackage">
<at name="fileversion">
<object classname="com.jeta.forms.store.memento.FormsVersion2">
<at name="major">2</at>
<at name="minor">0</at>
<at name="sub">0</at>
</object>
</at>
<at name="form">
<object classname="com.jeta.forms.store.memento.FormMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">1</at>
<at name="row">1</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
</super>
<at name="id">Z:\dev\forms\abeille-2.1.0_M2\examples\forms\srvmgr_install_dialog.xml</at>
<at name="path">forms\srvmgr_install_dialog.xml</at>
<at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:111PX:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:12DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE</at>
<at name="colspecs">FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:143PX:NONE,FILL:249PX:NONE,FILL:DEFAULT:NONE</at>
<at name="components">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">7</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.components.label.JETALabel</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="text">YAJSW Configuration</at>
<at name="height">14</at>
<at name="font">
<object classname="com.jeta.forms.store.properties.FontProperty">
<at name="family">Tahoma</at>
<at name="style">1</at>
<at name="size">11</at>
</object>
</at>
<at name="name"/>
<at name="width">118</at>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.FormMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">9</at>
<at name="colspan">4</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
</super>
<at name="id">embedded.13305839</at>
<at name="rowspecs">CENTER:DEFAULT:NONE</at>
<at name="colspecs">FILL:308PX:NONE,FILL:89PX:NONE,FILL:22PX:NONE,FILL:87PX:NONE</at>
<at name="components">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">4</at>
<at name="row">1</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">javax.swing.JButton</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">javax.swing.JButton</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="text">CLOSE</at>
<at name="height">22</at>
<at name="width">83</at>
<at name="name">CANCEL_BUTTON</at>
<at name="actionCommand">Cancel</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">1</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">javax.swing.JButton</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">javax.swing.JButton</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="text">INSTALL</at>
<at name="height">22</at>
<at name="width">85</at>
<at name="name">OK_BUTTON</at>
<at name="actionCommand">OK</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
</object>
</at>
<at name="properties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.gui.form.GridView</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="name"/>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="scollBars">
<object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
<at name="name">scollBars</at>
<at name="verticalpolicy">21</at>
<at name="horizontalpolicy">31</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList"/>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
<at name="cellpainters">
<object classname="com.jeta.forms.store.support.Matrix">
<at name="rows">
<object classname="[Ljava.lang.Object;" size="1">
<at name="item" index="0">
<object classname="[Ljava.lang.Object;" size="4"/>
</at>
</object>
</at>
</object>
</at>
<at name="rowgroups">
<object classname="com.jeta.forms.store.memento.FormGroupSet">
<at name="groups">
<object classname="java.util.HashMap"/>
</at>
</object>
</at>
<at name="colgroups">
<object classname="com.jeta.forms.store.memento.FormGroupSet">
<at name="groups">
<object classname="java.util.HashMap"/>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">2</at>
<at name="colspan">4</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.components.label.JETALabel</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="horizontalAlignment">0</at>
<at name="text">Install/Reinstall YAJSW Service</at>
<at name="height">15</at>
<at name="font">
<object classname="com.jeta.forms.store.properties.FontProperty">
<at name="family">Tahoma</at>
<at name="style">1</at>
<at name="size">12</at>
</object>
</at>
<at name="name"/>
<at name="width">516</at>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">4</at>
<at name="row">7</at>
<at name="colspan">2</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">javax.swing.JComboBox</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">javax.swing.JComboBox</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="height">20</at>
<at name="requestFocusEnabled">false</at>
<at name="items">
<object classname="com.jeta.forms.store.properties.ItemsProperty">
<at name="name">items</at>
</object>
</at>
<at name="componentCount">3</at>
<at name="width">388</at>
<at name="name">CONFIGURATION</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
<at name="editable">true</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">10</at>
<at name="colspan">4</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.components.label.JETALabel</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="height">12</at>
<at name="width">516</at>
<at name="name">MESSAGE</at>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">4</at>
<at name="row">4</at>
<at name="colspan">1</at>
<at name="rowspan">2</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">javax.swing.JList</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">javax.swing.JList</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="scrollableTracksViewportWidth">true</at>
<at name="height">123</at>
<at name="items">
<object classname="com.jeta.forms.store.properties.ItemsProperty">
<at name="name">items</at>
</object>
</at>
<at name="width">137</at>
<at name="name">HOSTS_LIST</at>
<at name="scollBars">
<object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
<at name="name">scollBars</at>
<at name="verticalpolicy">20</at>
<at name="horizontalpolicy">30</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
<at name="scrollableTracksViewportHeight">true</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">4</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.components.label.JETALabel</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="text">Hosts</at>
<at name="height">14</at>
<at name="font">
<object classname="com.jeta.forms.store.properties.FontProperty">
<at name="family">Tahoma</at>
<at name="style">1</at>
<at name="size">11</at>
</object>
</at>
<at name="name"/>
<at name="width">118</at>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
</object>
</at>
<at name="properties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.gui.form.GridView</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="name"/>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="scollBars">
<object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
<at name="name">scollBars</at>
<at name="verticalpolicy">21</at>
<at name="horizontalpolicy">31</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList"/>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
<at name="cellpainters">
<object classname="com.jeta.forms.store.support.Matrix">
<at name="rows">
<object classname="[Ljava.lang.Object;" size="11">
<at name="item" index="0">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="1">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="2">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="3">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="4">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="5">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="6">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="7">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="8">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="9">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="10">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
</object>
</at>
</object>
</at>
<at name="rowgroups">
<object classname="com.jeta.forms.store.memento.FormGroupSet">
<at name="groups">
<object classname="java.util.HashMap"/>
</at>
</object>
</at>
<at name="colgroups">
<object classname="com.jeta.forms.store.memento.FormGroupSet">
<at name="groups">
<object classname="java.util.HashMap"/>
</at>
</object>
</at>
</object>
</at>
</object>

View file

@ -1,725 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<object classname="com.jeta.forms.store.memento.FormPackage">
<at name="fileversion">
<object classname="com.jeta.forms.store.memento.FormsVersion2">
<at name="major">2</at>
<at name="minor">0</at>
<at name="sub">0</at>
</object>
</at>
<at name="form">
<object classname="com.jeta.forms.store.memento.FormMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">1</at>
<at name="row">1</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
</super>
<at name="id">Z:\dev\forms\abeille-2.1.0_M2\examples\forms\newHostDialog.xml</at>
<at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:12DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE</at>
<at name="colspecs">FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:143PX:NONE,FILL:120PX:NONE,FILL:DEFAULT:NONE</at>
<at name="components">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">6</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.components.label.JETALabel</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="text">Port</at>
<at name="height">14</at>
<at name="font">
<object classname="com.jeta.forms.store.properties.FontProperty">
<at name="family">Tahoma</at>
<at name="style">1</at>
<at name="size">11</at>
</object>
</at>
<at name="width">26</at>
<at name="name"></at>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">2</at>
<at name="colspan">4</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.components.label.JETALabel</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="horizontalAlignment">0</at>
<at name="text">Add Host</at>
<at name="height">15</at>
<at name="font">
<object classname="com.jeta.forms.store.properties.FontProperty">
<at name="family">Tahoma</at>
<at name="style">1</at>
<at name="size">12</at>
</object>
</at>
<at name="width">295</at>
<at name="name"></at>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">4</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.components.label.JETALabel</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="text">Host</at>
<at name="height">14</at>
<at name="font">
<object classname="com.jeta.forms.store.properties.FontProperty">
<at name="family">Tahoma</at>
<at name="style">1</at>
<at name="size">11</at>
</object>
</at>
<at name="width">26</at>
<at name="name"></at>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">4</at>
<at name="row">4</at>
<at name="colspan">2</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">javax.swing.JTextField</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">javax.swing.JTextField</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="height">20</at>
<at name="width">259</at>
<at name="name">HOST</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">9</at>
<at name="colspan">4</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.components.label.JETALabel</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="height">12</at>
<at name="width">295</at>
<at name="name">MESSAGE</at>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">4</at>
<at name="row">6</at>
<at name="colspan">2</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">javax.swing.JTextField</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">javax.swing.JTextField</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="height">20</at>
<at name="width">259</at>
<at name="name">PORT</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.FormMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">8</at>
<at name="colspan">4</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
</super>
<at name="id">embedded.7021349</at>
<at name="rowspecs">CENTER:DEFAULT:NONE</at>
<at name="colspecs">FILL:93PX:NONE,FILL:89PX:NONE,FILL:22PX:NONE,FILL:87PX:NONE</at>
<at name="components">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">4</at>
<at name="row">1</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">javax.swing.JButton</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">javax.swing.JButton</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="text">CANCEL</at>
<at name="height">22</at>
<at name="width">83</at>
<at name="name">CANCEL_BUTTON</at>
<at name="actionCommand">Cancel</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">1</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">javax.swing.JButton</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">javax.swing.JButton</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="text">ADD HOST</at>
<at name="height">22</at>
<at name="width">85</at>
<at name="name">OK_BUTTON</at>
<at name="actionCommand">OK</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
</object>
</at>
<at name="properties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.gui.form.GridView</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="name"></at>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="scollBars">
<object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
<at name="name">scollBars</at>
<at name="verticalpolicy">21</at>
<at name="horizontalpolicy">31</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList"/>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
<at name="cellpainters">
<object classname="com.jeta.forms.store.support.Matrix">
<at name="rows">
<object classname="[Ljava.lang.Object;" size="1">
<at name="item" index="0">
<object classname="[Ljava.lang.Object;" size="4"/>
</at>
</object>
</at>
</object>
</at>
<at name="rowgroups">
<object classname="com.jeta.forms.store.memento.FormGroupSet">
<at name="groups">
<object classname="java.util.HashMap"/>
</at>
</object>
</at>
<at name="colgroups">
<object classname="com.jeta.forms.store.memento.FormGroupSet">
<at name="groups">
<object classname="java.util.HashMap"/>
</at>
</object>
</at>
</object>
</at>
</item>
</object>
</at>
<at name="properties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.gui.form.GridView</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="name"/>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="scollBars">
<object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
<at name="name">scollBars</at>
<at name="verticalpolicy">21</at>
<at name="horizontalpolicy">31</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList"/>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
<at name="cellpainters">
<object classname="com.jeta.forms.store.support.Matrix">
<at name="rows">
<object classname="[Ljava.lang.Object;" size="10">
<at name="item" index="0">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="1">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="2">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="3">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="4">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="5">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="6">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="7">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="8">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="9">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
</object>
</at>
</object>
</at>
<at name="rowgroups">
<object classname="com.jeta.forms.store.memento.FormGroupSet">
<at name="groups">
<object classname="java.util.HashMap"/>
</at>
</object>
</at>
<at name="colgroups">
<object classname="com.jeta.forms.store.memento.FormGroupSet">
<at name="groups">
<object classname="java.util.HashMap"/>
</at>
</object>
</at>
</object>
</at>
</object>

View file

@ -1,734 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<object classname="com.jeta.forms.store.memento.FormPackage">
<at name="fileversion">
<object classname="com.jeta.forms.store.memento.FormsVersion2">
<at name="major">2</at>
<at name="minor">0</at>
<at name="sub">0</at>
</object>
</at>
<at name="form">
<object classname="com.jeta.forms.store.memento.FormMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">1</at>
<at name="row">1</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
</super>
<at name="id">Z:\dev\forms\abeille-2.1.0_M2\examples\forms\srvmgr_reload_console.xml</at>
<at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:12DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE</at>
<at name="colspecs">FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:143PX:NONE,FILL:249PX:NONE,FILL:DEFAULT:NONE</at>
<at name="components">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">6</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.components.label.JETALabel</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="text">YAJSW Configuration</at>
<at name="height">14</at>
<at name="font">
<object classname="com.jeta.forms.store.properties.FontProperty">
<at name="family">Tahoma</at>
<at name="style">1</at>
<at name="size">11</at>
</object>
</at>
<at name="name"/>
<at name="width">118</at>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.FormMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">8</at>
<at name="colspan">4</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
</super>
<at name="id">embedded.31326333</at>
<at name="rowspecs">CENTER:DEFAULT:NONE</at>
<at name="colspecs">FILL:308PX:NONE,FILL:89PX:NONE,FILL:22PX:NONE,FILL:87PX:NONE</at>
<at name="components">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">4</at>
<at name="row">1</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">javax.swing.JButton</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">javax.swing.JButton</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="text">CLOSE</at>
<at name="height">22</at>
<at name="width">83</at>
<at name="name">CANCEL_BUTTON</at>
<at name="actionCommand">Cancel</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">1</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">javax.swing.JButton</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">javax.swing.JButton</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="text">INSTALL</at>
<at name="height">22</at>
<at name="width">85</at>
<at name="name">OK_BUTTON</at>
<at name="actionCommand">OK</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
</object>
</at>
<at name="properties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.gui.form.GridView</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="name"/>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="scollBars">
<object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
<at name="name">scollBars</at>
<at name="verticalpolicy">21</at>
<at name="horizontalpolicy">31</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList"/>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
<at name="cellpainters">
<object classname="com.jeta.forms.store.support.Matrix">
<at name="rows">
<object classname="[Ljava.lang.Object;" size="1">
<at name="item" index="0">
<object classname="[Ljava.lang.Object;" size="4"/>
</at>
</object>
</at>
</object>
</at>
<at name="rowgroups">
<object classname="com.jeta.forms.store.memento.FormGroupSet">
<at name="groups">
<object classname="java.util.HashMap"/>
</at>
</object>
</at>
<at name="colgroups">
<object classname="com.jeta.forms.store.memento.FormGroupSet">
<at name="groups">
<object classname="java.util.HashMap"/>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">2</at>
<at name="colspan">4</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.components.label.JETALabel</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="horizontalAlignment">0</at>
<at name="text">Reload YAJSW Console Application</at>
<at name="height">15</at>
<at name="font">
<object classname="com.jeta.forms.store.properties.FontProperty">
<at name="family">Tahoma</at>
<at name="style">1</at>
<at name="size">12</at>
</object>
</at>
<at name="name"/>
<at name="width">516</at>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">4</at>
<at name="row">6</at>
<at name="colspan">2</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">javax.swing.JComboBox</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">javax.swing.JComboBox</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="height">20</at>
<at name="requestFocusEnabled">false</at>
<at name="items">
<object classname="com.jeta.forms.store.properties.ItemsProperty">
<at name="name">items</at>
</object>
</at>
<at name="componentCount">3</at>
<at name="width">388</at>
<at name="name">CONFIGURATION</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
<at name="editable">true</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">4</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.components.label.JETALabel</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="text">Console</at>
<at name="height">14</at>
<at name="font">
<object classname="com.jeta.forms.store.properties.FontProperty">
<at name="family">Tahoma</at>
<at name="style">1</at>
<at name="size">11</at>
</object>
</at>
<at name="name"/>
<at name="width">118</at>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">4</at>
<at name="row">4</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">javax.swing.JTextField</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">javax.swing.JTextField</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="enabled">false</at>
<at name="height">20</at>
<at name="width">139</at>
<at name="name">SERVICE</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">9</at>
<at name="colspan">4</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.components.label.JETALabel</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="height">12</at>
<at name="width">516</at>
<at name="name">MESSAGE</at>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
</object>
</at>
<at name="properties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.gui.form.GridView</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="name"/>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="scollBars">
<object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
<at name="name">scollBars</at>
<at name="verticalpolicy">21</at>
<at name="horizontalpolicy">31</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList"/>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
<at name="cellpainters">
<object classname="com.jeta.forms.store.support.Matrix">
<at name="rows">
<object classname="[Ljava.lang.Object;" size="10">
<at name="item" index="0">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="1">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="2">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="3">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="4">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="5">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="6">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="7">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="8">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
<at name="item" index="9">
<object classname="[Ljava.lang.Object;" size="6"/>
</at>
</object>
</at>
</object>
</at>
<at name="rowgroups">
<object classname="com.jeta.forms.store.memento.FormGroupSet">
<at name="groups">
<object classname="java.util.HashMap"/>
</at>
</object>
</at>
<at name="colgroups">
<object classname="com.jeta.forms.store.memento.FormGroupSet">
<at name="groups">
<object classname="java.util.HashMap"/>
</at>
</object>
</at>
</object>
</at>
</object>

View file

@ -1,508 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<object classname="com.jeta.forms.store.memento.FormPackage">
<at name="fileversion">
<object classname="com.jeta.forms.store.memento.FormsVersion2">
<at name="major">2</at>
<at name="minor">0</at>
<at name="sub">0</at>
</object>
</at>
<at name="form">
<object classname="com.jeta.forms.store.memento.FormMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">1</at>
<at name="row">1</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
</super>
<at name="id">6.Do, Dez 3, 2009 - 10:23:25</at>
<at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE</at>
<at name="colspecs">FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:8DLU:NONE</at>
<at name="components">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">4</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.components.label.JETALabel</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="text">The following services will be removed. Note: only YAJSW can be removed</at>
<at name="height">14</at>
<at name="font">
<object classname="com.jeta.forms.store.properties.FontProperty">
<at name="family">Tahoma</at>
<at name="style">1</at>
<at name="size">11</at>
</object>
</at>
<at name="width">415</at>
<at name="name"></at>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">6</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.components.label.JETALabel</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="text">Host/service name, Host/Service name</at>
<at name="height">14</at>
<at name="width">415</at>
<at name="name">SERVICES</at>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.FormMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">8</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
</super>
<at name="id">embedded.8.Do, Dez 3, 2009 - 10:26:04</at>
<at name="rowspecs">CENTER:DEFAULT:NONE</at>
<at name="colspecs">FILL:280PX:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE</at>
<at name="components">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">4</at>
<at name="row">1</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">javax.swing.JButton</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">javax.swing.JButton</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="text">Cancel</at>
<at name="height">22</at>
<at name="width">64</at>
<at name="name">CANCEL_BUTTON</at>
<at name="actionCommand">Cancel</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">1</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">javax.swing.JButton</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">javax.swing.JButton</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="text">OK</at>
<at name="height">22</at>
<at name="width">46</at>
<at name="name">OK_BUTTON</at>
<at name="actionCommand">OK</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
</object>
</at>
<at name="properties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.gui.form.GridView</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="name"></at>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="scollBars">
<object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
<at name="name">scollBars</at>
<at name="verticalpolicy">21</at>
<at name="horizontalpolicy">31</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList"/>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
<at name="cellpainters">
<object classname="com.jeta.forms.store.support.Matrix">
<at name="rows">
<object classname="[Ljava.lang.Object;" size="1">
<at name="item" index="0">
<object classname="[Ljava.lang.Object;" size="4"/>
</at>
</object>
</at>
</object>
</at>
<at name="rowgroups">
<object classname="com.jeta.forms.store.memento.FormGroupSet">
<at name="groups">
<object classname="java.util.HashMap"/>
</at>
</object>
</at>
<at name="colgroups">
<object classname="com.jeta.forms.store.memento.FormGroupSet">
<at name="groups">
<object classname="java.util.HashMap"/>
</at>
</object>
</at>
</object>
</at>
</item>
<item >
<at name="value">
<object classname="com.jeta.forms.store.memento.BeanMemento">
<super classname="com.jeta.forms.store.memento.ComponentMemento">
<at name="cellconstraints">
<object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
<at name="column">2</at>
<at name="row">2</at>
<at name="colspan">1</at>
<at name="rowspan">1</at>
<at name="halign">default</at>
<at name="valign">default</at>
<at name="insets" object="insets">0,0,0,0</at>
</object>
</at>
<at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
</super>
<at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
<at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
<at name="beanproperties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.components.label.JETALabel</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="horizontalAlignment">0</at>
<at name="text">Uninstall Services</at>
<at name="height">15</at>
<at name="font">
<object classname="com.jeta.forms.store.properties.FontProperty">
<at name="family">Tahoma</at>
<at name="style">1</at>
<at name="size">12</at>
</object>
</at>
<at name="width">415</at>
<at name="name"></at>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList">
<item >
<at name="value">
<object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
</object>
</at>
</item>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
</item>
</object>
</at>
<at name="properties">
<object classname="com.jeta.forms.store.memento.PropertiesMemento">
<at name="classname">com.jeta.forms.gui.form.GridView</at>
<at name="properties">
<object classname="com.jeta.forms.store.support.PropertyMap">
<at name="name"></at>
<at name="fill">
<object classname="com.jeta.forms.store.properties.effects.PaintProperty">
<at name="name">fill</at>
</object>
</at>
<at name="scollBars">
<object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
<at name="name">scollBars</at>
<at name="verticalpolicy">21</at>
<at name="horizontalpolicy">31</at>
</object>
</at>
<at name="border">
<object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
<super classname="com.jeta.forms.store.properties.BorderProperty">
<at name="name">border</at>
</super>
<at name="borders">
<object classname="java.util.LinkedList"/>
</at>
</object>
</at>
</object>
</at>
</object>
</at>
<at name="cellpainters">
<object classname="com.jeta.forms.store.support.Matrix">
<at name="rows">
<object classname="[Ljava.lang.Object;" size="9">
<at name="item" index="0">
<object classname="[Ljava.lang.Object;" size="3"/>
</at>
<at name="item" index="1">
<object classname="[Ljava.lang.Object;" size="3"/>
</at>
<at name="item" index="2">
<object classname="[Ljava.lang.Object;" size="3"/>
</at>
<at name="item" index="3">
<object classname="[Ljava.lang.Object;" size="3"/>
</at>
<at name="item" index="4">
<object classname="[Ljava.lang.Object;" size="3"/>
</at>
<at name="item" index="5">
<object classname="[Ljava.lang.Object;" size="3"/>
</at>
<at name="item" index="6">
<object classname="[Ljava.lang.Object;" size="3"/>
</at>
<at name="item" index="7">
<object classname="[Ljava.lang.Object;" size="3"/>
</at>
<at name="item" index="8">
<object classname="[Ljava.lang.Object;" size="3"/>
</at>
</object>
</at>
</object>
</at>
<at name="rowgroups">
<object classname="com.jeta.forms.store.memento.FormGroupSet">
<at name="groups">
<object classname="java.util.HashMap"/>
</at>
</object>
</at>
<at name="colgroups">
<object classname="com.jeta.forms.store.memento.FormGroupSet">
<at name="groups">
<object classname="java.util.HashMap"/>
</at>
</object>
</at>
</object>
</at>
</object>

File diff suppressed because it is too large Load diff

View file

@ -1 +0,0 @@
#Tue Feb 19 12:06:40 CST 2013

View file

@ -1,18 +0,0 @@
projectHome = '../../..'
sourceSets.main.java.srcDirs = ["$projectHome/src/ahessian"]
// this project uses the ahessian sub-project
dependencies {
compile project(':hessian4')
compile group: 'netty', name: 'netty', version: "$netty_version"
}
println '---------------------------'
println 'dependency jars:'
println '---------------------------'
configurations.compile.each { File file -> println file.absolutePath }
println '---------------------------'
jar.baseName = 'ahessian'

View file

@ -1,69 +0,0 @@
task createWrapper(type: Wrapper) {
gradleVersion = '0.9.2'
}
projectHome = '../..'
defaultTasks 'clean', 'build'
// common settings for all sub-projects
subprojects {
apply plugin: 'java'
defaultTasks 'clean', 'build'
coreLibsDir = "$projectHome/lib/core"
extendedLibsDir = "$projectHome/lib/extended"
// dependency versions
commons_cli_version = '2-SNAPSHOT'
commons_collections_version = '3.2'
commons_configuration_version = '1.8'
commons_io_version = '1.3.1'
commons_lang_version = '2.4'
commons_logging_version = '1.1'
commons_vfs2_version = '2.0'
groovy_all_version = '1.8.6'
jna_version = '3.4.1'
platform_version = '3.4.1'
netty_version = '3.5.1.Final'
jrexx_version = '1.1.1'
quartz_version = '1.8.0'
formsrt_version = ''
forms_version = '1.2.0'
velocity_version = '1.6.3'
glazedlists_version = '1.8.0_java15'
commons_beanutils_version = '1.8.2'
// for simplicity and to avoid dependency issues which arise due to the usage of SNAPSHOT libs
// we use libs from local disk instead of public repository
repositories {
flatDir name: 'localRepository',
dirs: [
"$coreLibsDir/commons",
"$coreLibsDir/groovy",
"$coreLibsDir/jna",
"$coreLibsDir/netty",
"$coreLibsDir/regex",
"$coreLibsDir/yajsw",
"$extendedLibsDir/quartz",
"$extendedLibsDir/abeille",
"$extendedLibsDir/jgoodies",
"$extendedLibsDir/glazedlists",
"$extendedLibsDir/velocity"
]
}
sourceCompatibility = 1.5
version = ''
}

View file

@ -1,6 +0,0 @@
#Thu Feb 10 17:06:13 CET 2011
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http://services.gradle.org/distributions/gradle-0.9.2-bin.zip

View file

@ -1,84 +0,0 @@
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem ##
@rem Gradle startup script for Windows ##
@rem ##
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set JAVA_OPTS=%JAVA_OPTS% -Dhttp.proxyHost=srvproxy.init-ka.lan -Dhttp.proxyPort=8080
@rem Uncomment those lines to set JVM options. GRADLE_OPTS and JAVA_OPTS can be used together.
@rem set GRADLE_OPTS=%GRADLE_OPTS% -Xmx512m
@rem set JAVA_OPTS=%JAVA_OPTS% -Xmx512m
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.\
@rem Find java.exe
set JAVA_EXE=java.exe
if not defined JAVA_HOME goto init
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
echo.
goto end
:init
@rem Get command-line arguments, handling Windowz variants
if not "%OS%" == "Windows_NT" goto win9xME_args
if "%eval[2+2]" == "4" goto 4NT_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
goto execute
:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$
:execute
@rem Setup the command line
set STARTER_MAIN_CLASS=org.gradle.wrapper.GradleWrapperMain
set CLASSPATH=%DIRNAME%\gradle\wrapper\gradle-wrapper.jar
set WRAPPER_PROPERTIES=%DIRNAME%\gradle\wrapper\gradle-wrapper.properties
set GRADLE_OPTS=%JAVA_OPTS% %GRADLE_OPTS% -Dorg.gradle.wrapper.properties="%WRAPPER_PROPERTIES%"
@rem Execute Gradle
"%JAVA_EXE%" %GRADLE_OPTS% -classpath "%CLASSPATH%" %STARTER_MAIN_CLASS% %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
if not "%OS%"=="Windows_NT" echo 1 > nul | choice /n /c:1
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit "%ERRORLEVEL%"
exit /b "%ERRORLEVEL%"
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

View file

@ -1,169 +0,0 @@
#!/bin/bash
##############################################################################
## ##
## Gradle wrapper script for UN*X ##
## ##
##############################################################################
# Uncomment those lines to set JVM options. GRADLE_OPTS and JAVA_OPTS can be used together.
# GRADLE_OPTS="$GRADLE_OPTS -Xmx512m"
# JAVA_OPTS="$JAVA_OPTS -Xmx512m"
JAVA_OPTS="$JAVA_OPTS -Dhttp.proxyPort=80 -Dhttp.proxyHost=proxy.ext.ray.com"
GRADLE_APP_NAME=Gradle
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn ( ) {
echo "$*"
}
die ( ) {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
esac
# Attempt to set JAVA_HOME if it's not already set.
if [ -z "$JAVA_HOME" ] ; then
if $darwin ; then
[ -z "$JAVA_HOME" -a -d "/Library/Java/Home" ] && export JAVA_HOME="/Library/Java/Home"
[ -z "$JAVA_HOME" -a -d "/System/Library/Frameworks/JavaVM.framework/Home" ] && export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Home"
else
javaExecutable="`which javac`"
[ -z "$javaExecutable" -o "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ] && die "JAVA_HOME not set and cannot find javac to deduce location, please set JAVA_HOME."
# readlink(1) is not available as standard on Solaris 10.
readLink=`which readlink`
[ `expr "$readLink" : '\([^ ]*\)'` = "no" ] && die "JAVA_HOME not set and readlink not available, please set JAVA_HOME."
javaExecutable="`readlink -f \"$javaExecutable\"`"
javaHome="`dirname \"$javaExecutable\"`"
javaHome=`expr "$javaHome" : '\(.*\)/bin'`
export JAVA_HOME="$javaHome"
fi
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched.
if $cygwin ; then
[ -n "$JAVACMD" ] && JAVACMD=`cygpath --unix "$JAVACMD"`
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
fi
STARTER_MAIN_CLASS=org.gradle.wrapper.GradleWrapperMain
CLASSPATH=`dirname "$0"`/gradle/wrapper/gradle-wrapper.jar
WRAPPER_PROPERTIES=`dirname "$0"`/gradle/wrapper/gradle-wrapper.properties
# Determine the Java command to use to start the JVM.
if [ -z "$JAVACMD" ] ; then
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
else
JAVACMD="java"
fi
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
if [ -z "$JAVA_HOME" ] ; then
warn "JAVA_HOME environment variable is not set"
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query businessSystem maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add GRADLE_APP_NAME to the JAVA_OPTS as -Xdock:name
if $darwin; then
JAVA_OPTS="$JAVA_OPTS -Xdock:name=$GRADLE_APP_NAME"
# we may also want to set -Xdock:image
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
JAVA_HOME=`cygpath --path --mixed "$JAVA_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
GRADLE_APP_BASE_NAME=`basename "$0"`
exec "$JAVACMD" $JAVA_OPTS $GRADLE_OPTS \
-classpath "$CLASSPATH" \
-Dorg.gradle.appname="$GRADLE_APP_BASE_NAME" \
-Dorg.gradle.wrapper.properties="$WRAPPER_PROPERTIES" \
$STARTER_MAIN_CLASS \
"$@"

View file

@ -1,16 +0,0 @@
projectHome = '../../..'
sourceSets.main.java.srcDirs = ["$projectHome/src/hessian"]
dependencies {
compile group: 'netty', name: 'netty', version: "$netty_version"
}
println '---------------------------'
println 'dependency jars:'
println '---------------------------'
configurations.compile.each { File file -> println file.absolutePath }
println '---------------------------'
jar.baseName = 'hessian4'

View file

@ -1,25 +0,0 @@
YAJSW uses gradle as build tool:
http://www.gradle.org/
The build is a multi project script. Gradle requires per project a build folder.
The following build folders are used:
wrapper -> wrapper.jar main yajsw jar
wrapper-app -> wrapperApp.jar wraps the application
ahessian -> ahessian.jar netty/hessian based asynch communication between wrapper and system tray icon. hessian packages renamed to avoid conflict with existing hessian libs
srvmgr -> srvmgr.jar experimental - monitoring of multiple servers
To execute a build:
- <yajsw>/build/gradle
- Navigte with a console to <yajsw>/build/gradle
- If you are behind a http proxy edit gradlew.bat/gardlew.sh and set the proxy in the java options
- execute gradlew
This will download gradle and execute the build script.
The produced jar files are found in the folders:
<yajsw>/build/gradle/<sub-project>/build/libs
Eclipse project files can be generated by adding the according gradle tasks to the gradle build scripts.

View file

@ -1,2 +0,0 @@
// defines a list of subprojects
include "wrapper", "wrapper-app", "ahessian", "hessian4", "srvmgr"

View file

@ -1,32 +0,0 @@
projectHome = '../../..'
sourceSets.main.java.srcDirs = ["$projectHome/src/srvmgr/java"]
dependencies {
compile project(':wrapper')
compile project(':ahessian')
}
dependencies {
compile group: 'netty', name: 'netty', version: "$netty_version"
compile group: 'glazedlists', name: 'glazedlists', version: "$glazedlists_version"
compile group: 'commons-beanutils', name: 'commons-beanutils', version: "$commons_beanutils_version"
compile group: 'commons-configuration', name: 'commons-configuration', version: "$commons_configuration_version"
compile group: 'groovy-all', name: 'groovy-all', version: "$groovy_all_version"
compile group: 'jna', name: 'jna', version: "$jna_version"
compile group: 'platform', name: 'platform', version: "$platform_version"
compile group: 'abeille', name: 'formsrt', version: "$formsrt_version"
compile group: 'forms', name: 'forms', version: "$forms_version"
}
//println '---------------------------'
//println 'dependency jars:'
//println '---------------------------'
//configurations.compile.each { File file -> println file.absolutePath }
//println '---------------------------'
// name of jar
jar.baseName = 'srvmgr'
// use default manifest

View file

@ -1,31 +0,0 @@
projectHome = '../../..'
sourceSets.main.java.srcDirs = ["$projectHome/src/app"]
dependencies {
compile project(':wrapper')
}
dependencies {
compile group: 'commons-collections', name: 'commons-collections', version: "$commons_collections_version"
compile group: 'commons-configuration', name: 'commons-configuration', version: "$commons_configuration_version"
compile group: 'commons-io', name: 'commons-io', version: "$commons_io_version"
compile group: 'commons-lang', name: 'commons-lang', version: "$commons_lang_version"
compile group: 'commons-logging', name: 'commons-logging', version: "$commons_logging_version"
compile group: 'netty', name: 'netty', version: "$netty_version"
}
//println '---------------------------'
//println 'dependency jars:'
//println '---------------------------'
//configurations.compile.each { File file -> println file.absolutePath }
//println '---------------------------'
// name of jar file
jar.baseName = 'wrapperApp'
// TODO generate manifest
jar {
manifest {
from '../../MANIFEST.MF'
}
}

View file

@ -1,54 +0,0 @@
projectHome = '../../..'
// set the sources for this build
sourceSets.main.java.srcDirs = ["$projectHome/src/main/java", "$projectHome/src/app/java"]
sourceSets.main.resources.srcDirs = ["$projectHome/src/main/java"]
sourceSets.main.resources.includes = ['resources/*']
// this project uses the ahessian sub-project
dependencies {
compile project(':ahessian')
}
dependencies {
compile group: 'commons-cli', name: 'commons-cli', version: "$commons_cli_version"
compile group: 'commons-collections', name: 'commons-collections', version: "$commons_collections_version"
compile group: 'commons-configuration', name: 'commons-configuration', version: "$commons_configuration_version"
compile group: 'commons-io', name: 'commons-io', version: "$commons_io_version"
compile group: 'commons-lang', name: 'commons-lang', version: "$commons_lang_version"
compile group: 'commons-logging', name: 'commons-logging', version: "$commons_logging_version"
compile group: 'commons-vfs2', name: 'commons-vfs2', version: "$commons_vfs2_version"
compile group: 'groovy-all', name: 'groovy-all', version: "$groovy_all_version"
compile group: 'jna', name: 'jna', version: "$jna_version"
compile group: 'platform', name: 'platform', version: "$platform_version"
compile group: 'netty', name: 'netty', version: "$netty_version"
compile group: 'jrexx', name: 'jrexx', version: "$jrexx_version"
compile group: 'quartz', name: 'quartz', version: "$quartz_version"
compile group: 'abeille', name: 'formsrt', version: "$formsrt_version"
compile group: 'forms', name: 'forms', version: "$forms_version"
compile group: 'velocity', name: 'velocity', version: "$velocity_version"
}
//println '---------------------------'
//println 'dependency jars:'
//println '---------------------------'
//configurations.compile.each { File file -> println file.absolutePath }
//println '---------------------------'
// name of jar file
jar.baseName = 'wrapper'
// TODO generate manifest instead of editing
jar {
manifest {
from '../../MANIFEST.MF'
}
exclude 'org/rzo/yajsw/app/AbstractWrapperJVMMain*'
exclude 'org/rzo/yajsw/app/WrapperGroovyMain*'
exclude 'org/rzo/yajsw/app/WrapperJVMMain*'
exclude 'org/rzo/yajsw/app/WrapperMainServiceUnix*'
exclude 'org/rzo/yajsw/app/WrapperMainServiceWin*'
exclude 'org/rzo/yajsw/app/WrapperManager.class'
exclude 'org/rzo/yajsw/app/WrapperManagerClassLoader*'
exclude 'org/rzo/yajsw/app/WrapperManagerProxy*'
}

View file

@ -1,4 +0,0 @@
These are files used to sign wrapperWS.jar
It is taken from
http://weblogs.java.net/blog/kirillcool/archive/2005/05/signing_jars_fo.html

View file

@ -1 +0,0 @@
keytool -genkey -keystore jaxb.keys -alias https://jaxb-workshop.dev.java.net/ -validity 1491

View file

@ -1 +0,0 @@
jarsigner -keystore jaxb.keys -storepass testyajsw ../wrapperWS.jar https://jaxb-workshop.dev.java.net/

View file

@ -1,101 +0,0 @@
<project default="main" basedir=".">
<!--
determine where the various destination directories are
without ant-contrib
-->
<!-- the location of javaUtilities -->
<dirname property="jutilities.dir" file="${basedir}" />
<!-- the EDEX destination -->
<available file="${basedir}/../build.edex"
property="edex.destination"
value="${basedir}/../build.edex" />
<available file="${basedir}/../../edexOsgi/build.edex"
property="edex.destination"
value="${basedir}/../../edexOsgi/build.edex" />
<!-- the QPID destination -->
<available file="${basedir}/../rpms/awips2.qpid/0.18"
property="qpid.destination"
value="${basedir}/../rpms/awips2.qpid/0.18" />
<available file="${basedir}/../../rpms/awips2.qpid/0.18"
property="qpid.destination"
value="${basedir}/../../rpms/awips2.qpid/0.18" />
<!-- yajsw gradle directories -->
<property name="gradle.script"
value="gradlew.sh" />
<property name="build.libs.directory"
value="build/libs" />
<property name="build.gradle.directory"
value="${basedir}/build/gradle" />
<property name="gradle.libs.directory"
value="${basedir}/lib" />
<property name="wrapperApp.artifact"
value="${build.gradle.directory}/wrapper-app/${build.libs.directory}/wrapperApp.jar" />
<property name="wrapper.artifact"
value="${build.gradle.directory}/wrapper/${build.libs.directory}/wrapper.jar" />
<property name="edex.bin.directory"
value="${edex.destination}/esb/bin" />
<property name="edex.yajsw.directory"
value="${edex.bin.directory}/yajsw" />
<!-- end of properties -->
<target name="main">
<antcall target="build" />
<antcall target="deploy" />
<antcall target="clean" />
</target>
<target name="build">
<exec executable="/bin/bash" dir="${build.gradle.directory}">
<arg value="${build.gradle.directory}/${gradle.script}" />
<arg value="build" />
</exec>
<echo message="${wrapper.artifact}" />
</target>
<target name="deploy">
<!-- deploy to EDEX -->
<copy todir="${edex.yajsw.directory}"
verbose="true" overwrite="true">
<fileset file="${wrapper.artifact}" />
<fileset file="${wrapperApp.artifact}" />
</copy>
<copy todir="${edex.yajsw.directory}/lib"
verbose="true" overwrite="true">
<fileset dir="${gradle.libs.directory}">
<include name="core/**" />
<exclude name="**/ReadMe.txt" />
</fileset>
</copy>
<!-- copy scripts -->
<mkdir dir="${edex.bin.directory}/yajsw/scripts" />
<copy todir="${edex.bin.directory}/yajsw/scripts"
failonerror="true" verbose="true" overwrite="true">
<fileset dir="${jutilities.dir}/yajsw-scripts">
<include name="*.sh" />
</fileset>
</copy>
<!-- deploy to QPID -->
<tar destfile="${qpid.destination}/SOURCES/yajsw-distribution.tar"
basedir="${edex.bin.directory}"
includes="yajsw/**">
</tar>
</target>
<target name="clean">
<exec executable="/bin/bash" dir="${build.gradle.directory}">
<arg value="${build.gradle.directory}/${gradle.script}" />
<arg value="clean" />
</exec>
</target>
</project>

View file

@ -1,23 +0,0 @@
This is the minimal set of libraries required by YAJSW
It includes the following core functionalities:
All platforms
* runConsole
* filter triggers
* regex filter triggers
* logging
* restart on exit code
* groovy scripting
* network start
Windows
* installService, uninstallService, startService, stopService
It does not include the following functions:
* installDaemon, uninstallDaemon, startDaemon, stopDaemon
* system tray icon
* timers
* services manager
* network start per webdav or http or ftp

View file

@ -1,25 +0,0 @@
The following libraries provide extended functionalites to YAJSW:
Timers require:
* quartz
Posix Installation of daemons requires:
* velocity
System tray requires:
* abeille
* jgoodies
* yajsw
ServiceManager requires:
* abeille
* jgoodies
* glazed lists
* hessian
Network loading in general
* commons
Network loading per webdav
* vfs-webdav

Some files were not shown because too many files have changed in this diff Show more