13.4.1-14 baseline

Former-commit-id: ffcce90f3f [formerly be236eb722] [formerly c749e122eb] [formerly ffcce90f3f [formerly be236eb722] [formerly c749e122eb] [formerly 18b90226a2 [formerly c749e122eb [formerly 0e4ca3ea4159ea0256e22f9814f0de85180a41fb]]]]
Former-commit-id: 18b90226a2
Former-commit-id: f7316ae4bd [formerly cebc1ddb63] [formerly a7fc76319d4a743a6f6c8fc92e7f97e543ca980f [formerly dee685e3c7]]
Former-commit-id: 1e747c10c7b7049ff47d3fe068c65055d7ab4a0e [formerly 8ec7524cbb]
Former-commit-id: d46b0413fb
This commit is contained in:
Steve Harris 2013-06-06 15:15:27 -04:00
parent 7e31d1a9a1
commit c57686831a
37 changed files with 1121 additions and 3889 deletions

View file

@ -58,6 +58,7 @@ import com.raytheon.uf.viz.alertviz.internal.LogMessageDAO;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Sep 4, 2008 1433 chammack Initial creation
* Jun 3, 2013 2026 randerso Improve error handling
* </pre>
*
* @author chammack
@ -208,10 +209,12 @@ public class AlertvizJob extends Job {
@Override
public void run() {
String xmlString = null;
StatusMessage statusMessage = null;
try {
StringReader sr = new StringReader(tm.getText());
StatusMessage statusMessage = (StatusMessage) umsh
xmlString = tm.getText();
StringReader sr = new StringReader(xmlString);
statusMessage = (StatusMessage) umsh
.unmarshal(sr);
if (statusMessage.getEventTime() == null) {
statusMessage.setEventTime(SimulatedTime
@ -220,34 +223,25 @@ public class AlertvizJob extends Job {
displayAlert(statusMessage);
} catch (JMSException e) {
String message = "Unable to retrieve JMS message text";
handleInteralError(message, e);
} catch (JAXBException e) {
String message = "Unable to unmarshal XML:\n"
+ xmlString;
handleInteralError(message, e);
} catch (Exception e) {
// Log to internal Log4j log
Container
.logInternal(
Priority.ERROR,
"AlertVizJob: exception when retrieving text message text or "
+ "creating text message unmarshaller.",
e);
StatusMessage sm = new StatusMessage();
sm.setPriority(Priority.CRITICAL);
sm.setMachineToCurrent();
sm.setCategory("GDN_ADMIN");
sm.setSourceKey("GDN_ADMIN");
sm.setMessage(e.getMessage());
sm.setEventTime(SimulatedTime.getSystemTime()
.getTime());
try {
LogMessageDAO.getInstance().save(sm);
} catch (AlertvizException e1) {
// Nothing but we can do but print
// stacktrace
// Log to internal Log4j log
Container
.logInternal(
Priority.ERROR,
"AlertVizJob unalbe to save to internal database.",
e);
String message = "Unexpected exception";
if (xmlString == null) {
message += ": ";
} else if (statusMessage == null) {
message += " while processing:\n"
+ xmlString;
} else {
message += " while processing:\n"
+ statusMessage;
}
handleInteralError(message, e);
}
}
@ -266,6 +260,25 @@ public class AlertvizJob extends Job {
}
}
private void handleInteralError(String message, Throwable e) {
// Log to internal Log4j log
Container.logInternal(Priority.CRITICAL, message, e);
StatusMessage sm = new StatusMessage("GDN_ADMIN", "GDN_ADMIN",
Priority.CRITICAL, this.getClass().getPackage().getName(),
message, e);
sm.setMachineToCurrent();
sm.setEventTime(SimulatedTime.getSystemTime().getTime());
try {
LogMessageDAO.getInstance().save(sm);
} catch (AlertvizException e1) {
// Nothing but we can do but print stacktrace
// Log to internal Log4j log
Container.logInternal(Priority.ERROR,
"AlertVizJob unalbe to save to internal database.", e);
}
}
/*
* (non-Javadoc)
*

View file

@ -36,8 +36,8 @@ import com.raytheon.uf.viz.alertviz.config.Category;
import com.raytheon.uf.viz.alertviz.config.Configuration;
import com.raytheon.uf.viz.alertviz.config.ForcedConfiguration;
import com.raytheon.uf.viz.alertviz.config.Source;
import com.raytheon.uf.viz.alertviz.internal.PurgeLogJob;
import com.raytheon.uf.viz.alertviz.internal.LogMessageDAO;
import com.raytheon.uf.viz.alertviz.internal.PurgeLogJob;
import com.raytheon.uf.viz.core.VizApp;
/**
@ -51,6 +51,7 @@ import com.raytheon.uf.viz.core.VizApp;
* ------------ ---------- ----------- --------------------------
* Sep 8, 2008 1433 chammack Initial creation
* Oct 18, 2010 5849 cjeanbap NullPointerExceptin thrown if category is null
* Jun 03, 2013 2026 randerso Fixed typo
* </pre>
*
* @author chammack
@ -120,7 +121,7 @@ public class Container implements IConfigurationChangedListener {
return;
}
if (source == null || source.getConfigurationItem() == null) {
if ((source == null) || (source.getConfigurationItem() == null)) {
message.setSourceKey("GDN_ADMIN");
message.setCategory("GDN_ADMIN");
message.setMessage(message.getMessage() + " (" + SOURCE_MISSING
@ -148,8 +149,9 @@ public class Container implements IConfigurationChangedListener {
AlertMetadata amd = source.getConfigurationItem().lookup(
message.getPriority());
if (forcedConfiguration != null)
if (forcedConfiguration != null) {
amd = forcedConfiguration.applyForcedSettings(amd, message);
}
final AlertMetadata metadata = amd;
@ -173,7 +175,7 @@ public class Container implements IConfigurationChangedListener {
sm.setPriority(priority);
sm.setMachineToCurrent();
sm.setSourceKey("GDN_ADMIN");
sm.setCategory("GDN)ADMIN");
sm.setCategory("GDN_ADMIN");
sm.setMessage(msg);
sm.setEventTime(SimulatedTime.getSystemTime().getTime());
addToLog(sm);
@ -192,7 +194,7 @@ public class Container implements IConfigurationChangedListener {
.getEventTime().getTime() : this.shotgunMessageStartTime;
if (this.lastMessage.getCategory().equals(message.getCategory())
&& this.lastMessage.getPriority() == message.getPriority()
&& (this.lastMessage.getPriority() == message.getPriority())
&& this.lastMessage.getMessage().equals(
message.getMessage())
&& (Math.abs(message.getEventTime().getTime()
@ -250,12 +252,12 @@ public class Container implements IConfigurationChangedListener {
boolean printError = true;
if (errorMsg != null) {
if (errorMsg.equals(lastErrorDialogMessage)) {
if (System.currentTimeMillis() - lastErrorDialogTime < 60000) {
if ((System.currentTimeMillis() - lastErrorDialogTime) < 60000) {
printError = false;
}
}
} else if (lastErrorDialogMessage == null) {
if (System.currentTimeMillis() - lastErrorDialogTime < 60000) {
if ((System.currentTimeMillis() - lastErrorDialogTime) < 60000) {
printError = false;
}
}
@ -301,7 +303,7 @@ public class Container implements IConfigurationChangedListener {
}
public static boolean hasMissing(StatusMessage statMsg) {
return statMsg.getMessage() != null
return (statMsg.getMessage() != null)
&& (statMsg.getMessage().contains(CATEGORY_MISSING) || statMsg
.getMessage().contains(SOURCE_MISSING));
}
@ -319,8 +321,9 @@ public class Container implements IConfigurationChangedListener {
String cat = message.getCategory();
String source = message.getSourceKey();
boolean isInternal = (cat != null && cat.equalsIgnoreCase("GDN_ADMIN"))
|| (source != null && source.equalsIgnoreCase("GDN_ADMIN"));
boolean isInternal = ((cat != null) && cat
.equalsIgnoreCase("GDN_ADMIN"))
|| ((source != null) && source.equalsIgnoreCase("GDN_ADMIN"));
if (isInternal) {
switch (message.getPriority()) {
case CRITICAL:

View file

@ -57,7 +57,9 @@ import com.vividsolutions.jts.geom.Coordinate;
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Apr 12, 2011 bsteffen Initial creation
* Apr 12, 2011 bsteffen Initial creation
* May 31, 2013 1847 bsteffen D2D nsharp will now format Lat/Lons as
* stationId like NC ncharp.
*
* </pre>
*
@ -174,15 +176,19 @@ public abstract class D2DNSharpResourceData extends
fcstTime = new Timestamp(time.getValidPeriod().getStart().getTime());
stnInfo.setRangestarttime(fcstTime);
}
String pointName = this.pointName;
if (coordinate != null) {
stnInfo.setLongitude(coordinate.x);
stnInfo.setLatitude(coordinate.y);
if (pointName == null) {
pointName = String.format("%.2f/%.2f", coordinate.y,
coordinate.x);
}
}
if (pointName != null) {
stnInfo.setStnDisplayInfo(pointName + " "
+ formatTimestamp(fcstTime));
} else {
stnInfo.setStnDisplayInfo(formatTimestamp(fcstTime));
stnInfo.setStnId(pointName);
}
return stnInfo;
}

View file

@ -11,3 +11,4 @@ Require-Bundle: org.eclipse.core.runtime,
com.raytheon.uf.common.comm;bundle-version="1.12.1174"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Export-Package: com.raytheon.uf.viz.spring.dm

View file

@ -9,6 +9,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.IPath;
@ -34,6 +35,7 @@ import org.osgi.framework.Constants;
* Jan 24, 2013 1522 bkowal Halt initialization if a p2 installation
* has been started
* Mar 05, 2013 1754 djohnson Catch exceptions and allow as much of the Spring container to boot as possible.
* May 23, 2013 2005 njensen Added springSuccess flag
*
* </pre>
*
@ -42,102 +44,110 @@ import org.osgi.framework.Constants;
*/
public class Activator implements BundleActivator {
// The plug-in ID
public static final String PLUGIN_ID = "com.raytheon.uf.viz.spring.dm";
// The plug-in ID
public static final String PLUGIN_ID = "com.raytheon.uf.viz.spring.dm";
private static final String SPRING_PATH = "res" + IPath.SEPARATOR
+ "spring";
private static final String SPRING_PATH = "res" + IPath.SEPARATOR
+ "spring";
private static final String SPRING_FILE_EXT = "*.xml";
private static final String SPRING_FILE_EXT = "*.xml";
// The shared instance
private static Activator plugin;
private static final Pattern COMMA_SPLIT = Pattern.compile("[,]");
/**
* The constructor
*/
public Activator() {
}
private static final Pattern SEMICOLON_SPLIT = Pattern.compile("[;]");
/*
* (non-Javadoc)
*
* @see
* org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
*/
@Override
// The shared instance
private static Activator plugin;
private boolean springSuccess = true;
/**
* The constructor
*/
public Activator() {
}
/*
* (non-Javadoc)
*
* @see
* org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
*/
@Override
public void start(BundleContext context) throws Exception {
if (this.isInstallOperation()) {
return;
}
plugin = this;
if (this.isInstallOperation()) {
return;
}
plugin = this;
Map<String, OSGIXmlApplicationContext> contextMap = new HashMap<String, OSGIXmlApplicationContext>();
Set<String> processing = new HashSet<String>();
Bundle[] bundles = context.getBundles();
Map<String, Bundle> bundleMap = new HashMap<String, Bundle>();
for (Bundle b : bundles) {
bundleMap.put(b.getSymbolicName(), b);
}
for (Bundle b : bundles) {
createContext(bundleMap, contextMap, b, processing);
}
}
Map<String, OSGIXmlApplicationContext> contextMap = new HashMap<String, OSGIXmlApplicationContext>();
Set<String> processing = new HashSet<String>();
Bundle[] bundles = context.getBundles();
Map<String, Bundle> bundleMap = new HashMap<String, Bundle>();
for (Bundle b : bundles) {
bundleMap.put(b.getSymbolicName(), b);
}
for (Bundle b : bundles) {
createContext(bundleMap, contextMap, b, processing);
}
}
private OSGIXmlApplicationContext createContext(
Map<String, Bundle> bundles,
Map<String, OSGIXmlApplicationContext> contextMap, Bundle bundle,
Set<String> processing) {
String bundleName = bundle.getSymbolicName();
OSGIXmlApplicationContext appCtx = contextMap.get(bundleName);
if (contextMap.containsKey(bundleName) == false
&& bundleName.contains(".edex.") == false) {
if (processing.contains(bundleName)) {
throw new RuntimeException(
"Found recursive spring dependency while processing plugins: "
+ bundleName);
}
processing.add(bundleName);
private OSGIXmlApplicationContext createContext(
Map<String, Bundle> bundles,
Map<String, OSGIXmlApplicationContext> contextMap, Bundle bundle,
Set<String> processing) {
String bundleName = bundle.getSymbolicName();
OSGIXmlApplicationContext appCtx = contextMap.get(bundleName);
if (contextMap.containsKey(bundleName) == false
&& bundleName.contains(".edex.") == false) {
if (processing.contains(bundleName)) {
springSuccess = false;
throw new RuntimeException(
"Found recursive spring dependency while processing plugins: "
+ bundleName);
}
processing.add(bundleName);
// No context created yet and not edex project, check for files
Enumeration<?> entries = bundle.findEntries(SPRING_PATH,
SPRING_FILE_EXT, true);
if (entries != null) {
List<String> files = new ArrayList<String>();
while (entries.hasMoreElements()) {
URL url = (URL) entries.nextElement();
try {
url = FileLocator.toFileURL(url);
files.add(url.toString());
} catch (IOException e) {
throw new RuntimeException(
"Error resolving spring file: " + url, e);
}
}
if (files.size() > 0) {
// Files found, check for dependencies
String requiredBundlesHeader = (String) bundle.getHeaders()
.get(Constants.REQUIRE_BUNDLE);
// Split comma separated string from MANIFEST
String[] requiredBundles = requiredBundlesHeader
.split("[,]");
List<OSGIXmlApplicationContext> parentContexts = new ArrayList<OSGIXmlApplicationContext>();
for (String requiredBndl : requiredBundles) {
// Extract bundle name which is first item in
// semicolon
// split list
String[] bndlParts = requiredBndl.split("[;]");
Bundle reqBndl = bundles.get(bndlParts[0]);
if (reqBndl != null) {
// Found bundle, process context for bundle
OSGIXmlApplicationContext parent = createContext(
bundles, contextMap, reqBndl, processing);
if (parent != null) {
// Context found, add to list
parentContexts.add(parent);
}
}
}
// No context created yet and not edex project, check for files
Enumeration<?> entries = bundle.findEntries(SPRING_PATH,
SPRING_FILE_EXT, true);
if (entries != null) {
List<String> files = new ArrayList<String>();
while (entries.hasMoreElements()) {
URL url = (URL) entries.nextElement();
try {
url = FileLocator.toFileURL(url);
files.add(url.toString());
} catch (IOException e) {
throw new RuntimeException(
"Error resolving spring file: " + url, e);
}
}
if (files.size() > 0) {
// Files found, check for dependencies
String requiredBundlesHeader = (String) bundle.getHeaders()
.get(Constants.REQUIRE_BUNDLE);
// Split comma separated string from MANIFEST
String[] requiredBundles = COMMA_SPLIT
.split(requiredBundlesHeader);
List<OSGIXmlApplicationContext> parentContexts = new ArrayList<OSGIXmlApplicationContext>();
for (String requiredBndl : requiredBundles) {
// Extract bundle name which is first item in
// semicolon
// split list
String[] bndlParts = SEMICOLON_SPLIT
.split(requiredBndl);
Bundle reqBndl = bundles.get(bndlParts[0]);
if (reqBndl != null) {
// Found bundle, process context for bundle
OSGIXmlApplicationContext parent = createContext(
bundles, contextMap, reqBndl, processing);
if (parent != null) {
// Context found, add to list
parentContexts.add(parent);
}
}
}
try {
if (parentContexts.size() > 0) {
@ -159,58 +169,63 @@ public class Activator implements BundleActivator {
System.err
.println("Errors booting the Spring container. CAVE will not be fully functional.");
t.printStackTrace();
springSuccess = false;
}
}
}
contextMap.put(bundleName, appCtx);
}
processing.remove(bundleName);
return appCtx;
}
}
}
contextMap.put(bundleName, appCtx);
}
processing.remove(bundleName);
return appCtx;
}
/*
* (non-Javadoc)
*
* @see
* org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
*/
@Override
/*
* (non-Javadoc)
*
* @see
* org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
*/
@Override
public void stop(BundleContext context) throws Exception {
plugin = null;
}
plugin = null;
}
/**
* Returns the shared instance
*
* @return the shared instance
*/
public static Activator getDefault() {
return plugin;
}
/**
* Returns the shared instance
*
* @return the shared instance
*/
public static Activator getDefault() {
return plugin;
}
/**
* Based on the command line arguments, determine whether or not an Eclipse
* p2 repository will be installed
*
* @return true if an Eclipse p2 repository is going to be installed, false
* otherwise
*/
private boolean isInstallOperation() {
final String P2_DIRECTOR = "org.eclipse.equinox.p2.director";
/**
* Based on the command line arguments, determine whether or not an Eclipse
* p2 repository will be installed
*
* @return true if an Eclipse p2 repository is going to be installed, false
* otherwise
*/
private boolean isInstallOperation() {
final String P2_DIRECTOR = "org.eclipse.equinox.p2.director";
/**
* We look at the command line arguments instead of the program
* arguments (com.raytheon.uf.viz.application.ProgramArguments) because
* the command line arguments include almost everything that was passed
* as an argument to the Eclipse executable instead of just what CAVE is
* interested in.
*/
for (String argument : Platform.getCommandLineArgs()) {
if (P2_DIRECTOR.equals(argument)) {
return Boolean.TRUE;
}
}
/**
* We look at the command line arguments instead of the program
* arguments (com.raytheon.uf.viz.application.ProgramArguments) because
* the command line arguments include almost everything that was passed
* as an argument to the Eclipse executable instead of just what CAVE is
* interested in.
*/
for (String argument : Platform.getCommandLineArgs()) {
if (P2_DIRECTOR.equals(argument)) {
return Boolean.TRUE;
}
}
return Boolean.FALSE;
}
return Boolean.FALSE;
}
public boolean isSpringInitSuccessful() {
return springSuccess;
}
}

View file

@ -112,6 +112,7 @@ import com.raytheon.viz.ui.statusline.StatusStore;
* Feb 28,2012 14436 mli Add RP.S - Rip Current
* Apr 03,2012 436 randerso Reworked dialog to be called by Python MakeHazard procedure
* Apr 09,2012 436 randerso Merged RNK's MakeHazards_Elevation procedure
* May 30,2012 2028 randerso Cleaned up dialog layout
*
* </pre>
*
@ -786,7 +787,6 @@ public class MakeHazardDialog extends CaveSWTDialog implements
gd = new GridData(SWT.FILL, SWT.FILL, true, true);
gd.minimumHeight = 100;
gd.minimumWidth = 100;
gd.heightHint = this.defaultMapWidth;
gd.widthHint = this.defaultMapWidth;
theMapComposite.setLayoutData(gd);
try {
@ -1021,7 +1021,8 @@ public class MakeHazardDialog extends CaveSWTDialog implements
hazardGroupList = new org.eclipse.swt.widgets.List(hazardTypeGroup,
SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE);
gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
gd.heightHint = hazardGroupList.getItemHeight() * 12
gd.heightHint = hazardGroupList.getItemHeight()
* Math.min(12, groups.size())
+ hazardGroupList.getBorderWidth();
hazardGroupList.setLayoutData(gd);
hazardGroupList.addSelectionListener(selAdapt);

View file

@ -36,7 +36,6 @@ import org.eclipse.swt.widgets.ScrollBar;
import org.geotools.coverage.grid.GeneralGridEnvelope;
import org.geotools.coverage.grid.GridGeometry2D;
import org.geotools.geometry.GeneralEnvelope;
import org.geotools.geometry.jts.ReferencedEnvelope;
import org.geotools.referencing.operation.builder.GridToEnvelopeMapper;
import org.opengis.coverage.grid.GridEnvelope;
import org.opengis.metadata.spatial.PixelOrientation;
@ -73,7 +72,8 @@ import com.vividsolutions.jts.geom.Envelope;
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Aug 23, 2011 randerso Initial creation
* Aug 23, 2011 randerso Initial creation
* May 30, 2013 #2028 randerso Fixed date line issue with map display
*
* </pre>
*
@ -305,25 +305,10 @@ public abstract class AbstractZoneSelector extends PaneManager {
this.mapRscList = mapRscList;
try {
// display envelope in lat/lon
Envelope env = getBoundingEnvelope();
// get envelope in the projection
ReferencedEnvelope llEnv = new ReferencedEnvelope(env,
MapUtil.LATLON_PROJECTION);
ReferencedEnvelope projEnv = llEnv.transform(gloc.getCrs(), true);
double[] in = new double[] { llEnv.getMinX(), llEnv.getMinY(),
llEnv.getMaxX(), llEnv.getMaxY() };
double[] out = new double[in.length];
MathTransform mt1 = MapUtil.getTransformFromLatLon(gloc.getCrs());
mt1.transform(in, 0, out, 0, 2);
Coordinate llCrs = new Coordinate(projEnv.getMinX(),
projEnv.getMinY());
Coordinate urCrs = new Coordinate(projEnv.getMaxX(),
projEnv.getMaxY());
Coordinate llCrs = new Coordinate(env.getMinX(), env.getMinY());
Coordinate urCrs = new Coordinate(env.getMaxX(), env.getMaxY());
Coordinate llGrid = MapUtil.nativeToGridCoordinate(llCrs,
PixelOrientation.CENTER, gloc);
@ -384,6 +369,8 @@ public abstract class AbstractZoneSelector extends PaneManager {
for (ZoneSelectorResource mapRsc : this.mapRscList) {
env.expandToInclude(mapRsc.getBoundingEnvelope());
}
double delta = Math.max(env.getWidth(), env.getHeight()) * 0.02;
env.expandBy(delta);
return env;
}

View file

@ -36,11 +36,19 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.graphics.Rectangle;
import org.geotools.coverage.grid.GeneralGridEnvelope;
import org.geotools.coverage.grid.GridGeometry2D;
import org.geotools.geometry.GeneralEnvelope;
import org.geotools.geometry.jts.JTS;
import org.geotools.geometry.jts.ReferencedEnvelope;
import org.opengis.metadata.spatial.PixelOrientation;
import org.opengis.referencing.operation.MathTransform;
import org.opengis.referencing.operation.TransformException;
import com.raytheon.uf.common.dataplugin.gfe.db.objects.GridLocation;
import com.raytheon.uf.common.dataquery.db.QueryResult;
import com.raytheon.uf.common.geospatial.MapUtil;
import com.raytheon.uf.common.geospatial.util.WorldWrapCorrector;
import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.status.UFStatus.Priority;
@ -74,6 +82,7 @@ import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Envelope;
import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.GeometryFactory;
import com.vividsolutions.jts.geom.LinearRing;
import com.vividsolutions.jts.geom.Point;
import com.vividsolutions.jts.geom.Polygon;
import com.vividsolutions.jts.geom.prep.PreparedGeometry;
@ -91,6 +100,7 @@ import com.vividsolutions.jts.io.WKBReader;
* ------------ ---------- ----------- --------------------------
* Aug 11, 2011 randerso Initial creation
* Apr 10, 2013 #1854 randerso Fix for compatibility with PostGIS 2.0
* May 30, 2013 #2028 randerso Fixed date line issue with map display
*
* </pre>
*
@ -543,6 +553,8 @@ public class ZoneSelectorResource extends DbMapResource {
private GridLocation gloc;
private WorldWrapCorrector worldWrapCorrector;
/**
* @param data
* @param loadProperties
@ -557,6 +569,14 @@ public class ZoneSelectorResource extends DbMapResource {
this.outlineColor = RGBColors.getRGBColor("white");
this.wfoOutlineColor = RGBColors.getRGBColor("yellow");
this.gloc = gloc;
GeneralEnvelope env = new GeneralEnvelope(MapUtil.LATLON_PROJECTION);
env.setEnvelope(-180.0, -90.0, 180.0, 90.0);
GridGeometry2D latLonGridGeometry = new GridGeometry2D(
new GeneralGridEnvelope(new int[] { 0, 0 }, new int[] { 360,
180 }, false), env);
this.worldWrapCorrector = new WorldWrapCorrector(latLonGridGeometry);
}
private ZoneInfo getZoneInfo(String zoneName) {
@ -746,7 +766,7 @@ public class ZoneSelectorResource extends DbMapResource {
if (font == null) {
font = GFEFonts.getFont(aTarget, 2);
}
double screenToWorldRatio = paintProps.getView().getExtent()
double worldToScreenRatio = paintProps.getView().getExtent()
.getWidth()
/ paintProps.getCanvasBounds().width;
@ -772,7 +792,7 @@ public class ZoneSelectorResource extends DbMapResource {
+ Math.abs(tuple.y - y);
minDistance = Math.min(distance, minDistance);
}
if (minDistance > 100 * screenToWorldRatio) {
if (minDistance > 100 * worldToScreenRatio) {
String[] text = new String[] { "", "" };
if (this.labelZones) {
text[0] = zone;
@ -972,7 +992,7 @@ public class ZoneSelectorResource extends DbMapResource {
protected String getGeospatialConstraint(String geometryField, Envelope env) {
StringBuilder constraint = new StringBuilder();
Geometry g1 = MapUtil.getBoundingGeometry(gloc);
Geometry g1 = buildBoundingGeometry(gloc);
if (env != null) {
g1 = g1.intersection(MapUtil.createGeometry(env));
}
@ -980,19 +1000,24 @@ public class ZoneSelectorResource extends DbMapResource {
constraint.append("ST_Intersects(");
constraint.append(geometryField);
constraint.append(", ST_GeomFromText('");
constraint.append(g1.toString());
constraint.append(g1.toText());
constraint.append("',4326))");
return constraint.toString();
}
/**
* Get the bounding envelope of all overlapping geometry in CRS coordinates
*
* @return the envelope
*/
public Envelope getBoundingEnvelope() {
if (this.boundingEnvelope == null) {
try {
this.boundingEnvelope = new Envelope();
StringBuilder query = new StringBuilder("SELECT ");
query.append("asBinary(ST_extent(");
query.append("asBinary(ST_Envelope(");
query.append(resourceData.getGeomField());
query.append(")) as extent");
@ -1019,11 +1044,20 @@ public class ZoneSelectorResource extends DbMapResource {
query.toString(), "maps", QueryLanguage.SQL);
WKBReader wkbReader = new WKBReader();
byte[] b = (byte[]) mappedResult.getRowColumnValue(0, "extent");
if (b != null) {
Geometry g = wkbReader.read(b);
this.boundingEnvelope.expandToInclude(g
.getEnvelopeInternal());
for (int i = 0; i < mappedResult.getResultCount(); i++) {
byte[] b = (byte[]) mappedResult.getRowColumnValue(i,
"extent");
if (b != null) {
Geometry g = wkbReader.read(b);
Envelope env = g.getEnvelopeInternal();
ReferencedEnvelope llEnv = new ReferencedEnvelope(env,
MapUtil.LATLON_PROJECTION);
ReferencedEnvelope projEnv = llEnv.transform(
gloc.getCrs(), true);
this.boundingEnvelope.expandToInclude(projEnv);
}
}
} catch (VizException e) {
@ -1048,4 +1082,129 @@ public class ZoneSelectorResource extends DbMapResource {
// d = new double[] { d[d.length - 1] };
return d;
}
private Geometry buildBoundingGeometry(GridLocation gloc) {
try {
Coordinate ll = MapUtil.gridCoordinateToNative(
new Coordinate(0, 0), PixelOrientation.LOWER_LEFT, gloc);
Coordinate ur = MapUtil.gridCoordinateToNative(
new Coordinate(gloc.getNx(), gloc.getNy()),
PixelOrientation.LOWER_LEFT, gloc);
MathTransform latLonToCRS = MapUtil.getTransformFromLatLon(gloc
.getCrs());
Coordinate pole = null;
double[] output = new double[2];
try {
latLonToCRS.transform(new double[] { 0, 90 }, 0, output, 0, 1);
Coordinate northPole = new Coordinate(output[0], output[1]);
if (northPole.x >= ll.x && northPole.x <= ur.x
&& northPole.y >= ll.y && northPole.y <= ur.y) {
pole = northPole;
}
} catch (TransformException e) {
// north pole not defined in CRS
}
if (pole == null) {
try {
latLonToCRS.transform(new double[] { 0, -90 }, 0, output,
0, 1);
Coordinate southPole = new Coordinate(output[0], output[1]);
if (southPole.x >= ll.x && southPole.x <= ur.x
&& southPole.y >= ll.y && southPole.y <= ur.y) {
pole = southPole;
}
} catch (TransformException e) {
// south pole not defined in CRS
}
}
// compute delta = min cell dimension in meters
Coordinate cellSize = gloc.gridCellSize();
double delta = Math.min(cellSize.x, cellSize.y) * 1000;
Geometry poly;
if (pole == null) {
poly = polygonFromGloc(gloc, delta, ll, ur);
} else {
// if pole is in the domain split the domain into four quadrants
// with corners at the pole
Coordinate[][] quadrant = new Coordinate[4][2];
quadrant[0][0] = ll;
quadrant[0][1] = pole;
quadrant[1][0] = new Coordinate(ll.x, pole.y);
quadrant[1][1] = new Coordinate(pole.x, ur.y);
quadrant[2][0] = pole;
quadrant[2][1] = ur;
quadrant[3][0] = new Coordinate(pole.x, ll.y);
quadrant[3][1] = new Coordinate(ur.x, pole.y);
List<Polygon> polygons = new ArrayList<Polygon>(4);
for (Coordinate[] q : quadrant) {
if (q[1].x > q[0].x && q[1].y > q[0].y) {
polygons.add(polygonFromGloc(gloc, delta, q[0], q[1]));
}
}
GeometryFactory gf = new GeometryFactory();
poly = gf.createMultiPolygon(polygons
.toArray(new Polygon[polygons.size()]));
}
MathTransform crsToLatLon = MapUtil.getTransformToLatLon(gloc
.getCrs());
poly = JTS.transform(poly, crsToLatLon);
// correct for world wrap
poly = this.worldWrapCorrector.correct(poly);
return poly;
} catch (Exception e) {
statusHandler.handle(Priority.PROBLEM,
"Error computing bounding geometry", e);
}
return null;
}
private Polygon polygonFromGloc(GridLocation gridLoc, double delta,
Coordinate ll, Coordinate ur) {
double width = ur.x - ll.x;
double height = ur.y - ll.y;
int nx = (int) Math.abs(Math.ceil(width / delta));
int ny = (int) Math.abs(Math.ceil(height / delta));
double dx = width / nx;
double dy = height / ny;
Coordinate[] coordinates = new Coordinate[2 * (nx + ny) + 1];
int i = 0;
for (int x = 0; x < nx; x++) {
coordinates[i++] = new Coordinate(x * dx + ll.x, ll.y);
}
for (int y = 0; y < ny; y++) {
coordinates[i++] = new Coordinate(ur.x, y * dy + ll.y);
}
for (int x = nx; x > 0; x--) {
coordinates[i++] = new Coordinate(x * dx + ll.x, ur.y);
}
for (int y = ny; y > 0; y--) {
coordinates[i++] = new Coordinate(ll.x, y * dy + ll.y);
}
coordinates[i++] = coordinates[0];
GeometryFactory gf = new GeometryFactory();
LinearRing shell = gf.createLinearRing(coordinates);
Polygon poly = gf.createPolygon(shell, null);
return poly;
}
}

View file

@ -19,7 +19,8 @@ Require-Bundle: org.eclipse.ui,
com.raytheon.uf.viz.ui.menus;bundle-version="1.12.1174",
com.raytheon.uf.viz.application;bundle-version="1.0.0",
com.raytheon.viz.alerts;bundle-version="1.12.1174",
com.raytheon.uf.common.comm;bundle-version="1.12.1174"
com.raytheon.uf.common.comm;bundle-version="1.12.1174",
com.raytheon.uf.viz.spring.dm
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

View file

@ -37,6 +37,7 @@ import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.equinox.app.IApplication;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.application.WorkbenchAdvisor;
import org.eclipse.ui.internal.WorkbenchPlugin;
@ -95,6 +96,7 @@ import com.raytheon.viz.core.units.UnitRegistrar;
* Apr 17, 2013 1786 mpduff startComponent now sets StatusHandlerFactory
* Apr 23, 2013 #1939 randerso Allow serialization to complete initialization
* before connecting to JMS to avoid deadlock
* May 23, 2013 #2005 njensen Shutdown on spring initialization errors
*
* </pre>
*
@ -158,6 +160,24 @@ public abstract class AbstractCAVEComponent implements IStandaloneComponent {
display = new Display();
}
// verify Spring successfully initialized, otherwise stop CAVE
if (!com.raytheon.uf.viz.spring.dm.Activator.getDefault()
.isSpringInitSuccessful()) {
String msg = "CAVE's Spring container did not initialize correctly and CAVE must shut down.";
boolean restart = false;
if (!nonui) {
msg += " Attempt to restart CAVE?";
restart = MessageDialog.openQuestion(new Shell(display),
"Startup Error", msg);
} else {
System.err.println(msg);
}
if (restart) {
return IApplication.EXIT_RESTART;
}
return IApplication.EXIT_OK;
}
try {
initializeLocalization(nonui);
} catch (Exception e) {

View file

@ -78,10 +78,12 @@ import com.vividsolutions.jts.geom.LineString;
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* May 27, 2009 #2161 lvenable Initial creation
* 10-21-09 #1711 bsteffen Updated Baseline and Points to use new ToolsDataManager
* 11/17/2009 #3120 rjpeter Updated to use LevelMappingFactory.
* 07/31/2012 #875 rferrel Now uses points.
* May 27, 2009 2161 lvenable Initial creation
* Oct 21, 2009 1711 bsteffen Updated Baseline and Points to use new
* ToolsDataManager
* Nov 17, 2009 3120 rjpeter Updated to use LevelMappingFactory.
* Jul 31, 2012 875 rferrel Now uses points.
* May 30, 2013 2055 bsteffen Remove modelName from sounding pointName.
*
* </pre>
*
@ -277,8 +279,7 @@ public class GridDataCatalog extends AbstractInventoryDataCatalog {
D2DNSharpResourceData tmpData = new GribNSharpResourceData(
catalogEntry.getSelectedData().getSourcesKey());
tmpData.setCoordinate(getPointCoordinate(catalogEntry));
String pointName = catalogEntry.getSelectedData().getSourcesText()
+ "-" + catalogEntry.getSelectedData().getPlanesKey();
String pointName = catalogEntry.getSelectedData().getPlanesKey();
tmpData.setPointName(pointName);
rscData = tmpData;
break;

View file

@ -70,6 +70,7 @@ import com.vividsolutions.jts.geom.LineString;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 1, 2009 bsteffen Initial creation
* May 08, 2013 DR14824 mgamazaychikov Added alterProductParameters method
*
* </pre>
*
@ -635,5 +636,50 @@ public class PointDataCatalog extends AbstractInventoryDataCatalog {
}
return validPlanes;
}
/**
* Alter product parameters
*
* @param selectedKey
* @param selectedValue
* @param productParameters
*/
@Override
public void alterProductParameters(String selectedKey,
String selectedValue,
HashMap<String, RequestConstraint> productParameters) {
if (selectedKey.equalsIgnoreCase("line")) {
LineString line = ToolsDataManager.getInstance().getBaseline(
selectedValue);
RequestConstraint stationRC = new RequestConstraint();
stationRC.setConstraintType(RequestConstraint.ConstraintType.IN);
String sourceKey = productParameters.get("pluginName")
.getConstraintValue();
Collection<String> closest = new ArrayList<String>();
for (Coordinate c : line.getCoordinates()) {
SurfaceObsLocation loc = getClosestStation(c, sourceKey,
closest);
if (loc == null) {
break;
}
closest.add(loc.getStationId());
stationRC.addToConstraintValueList(loc.getStationId());
}
productParameters.put("location.stationId", stationRC);
} else if (selectedKey.equalsIgnoreCase("point")) {
Coordinate point = PointsDataManager.getInstance().getCoordinate(
selectedValue);
String sourceKey = productParameters.get("pluginName")
.getConstraintValue();
SurfaceObsLocation closestStation = getClosestStation(point,
sourceKey);
System.out.println();
productParameters.put("location.stationId", new RequestConstraint(
closestStation.getStationId()));
return;
}
return;
}
}

View file

@ -51,6 +51,7 @@ import com.vividsolutions.jts.geom.Geometry;
* May 9, 2012 #14887 Qinglu Lin Change 0.1 to 0.16875f for PORTION_OF_CENTER;
* 0.10 to 0.0625 for EXTREME_DELTA; Added/modified code.
* May 1, 2013 1963 jsanchez Refactored calculatePortion to match A1. Do not allow 'Central' to be included if East and West is included.
* Jun 3, 2013 2029 jsanchez Updated A1 special case for calculating a central portion. Allowed East Central and West Central.
* </pre>
*
* @author chammack
@ -114,21 +115,18 @@ public class GisUtil {
|| (iQuad.q == 2 && iQuad.ne == iQuad.sw)
|| (iQuad.qq == 2 && iQuad.nn == iQuad.ss)
|| (iQuad.qq == 2 && iQuad.ee == iQuad.ww)) {
if (iQuad.nnx == iQuad.ssx && iQuad.wwx == iQuad.eex) {
portions.add(Direction.CENTRAL);
return portions;
}
return getPointDesc(iQuad, useExtreme);
}
// Another possible case of a stripe across the middle.
if (iQuad.q == 4 && iQuad.centralGeom != null
&& iQuad.centralGeom.intersects(warnedArea)) {
portions.add(Direction.CENTRAL);
return portions;
}
// All quadrants in use.
if (iQuad.q == 4 && iQuad.qq == 4) {
if ((iQuad.north && iQuad.south && !iQuad.east && !iQuad.west)
|| (iQuad.east && iQuad.west && !iQuad.north && !iQuad.south)) {
// Add CENTRAL if north and south are impacted, but not east and
// west. Apply vice versa
portions.add(Direction.CENTRAL);
return portions;
}
return EnumSet.noneOf(Direction.class);
}
// Only one typical quadrant in use.
@ -230,18 +228,27 @@ public class GisUtil {
private static EnumSet<Direction> getPointDesc(ImpactedQuadrants iQuad,
boolean useExtrme) {
EnumSet<Direction> portions = EnumSet.noneOf(Direction.class);
int counter = 0;
if (iQuad.nnw || iQuad.nne) {
if (iQuad.north) {
portions.add(Direction.NORTH);
} else if (iQuad.ssw || iQuad.sse) {
counter++;
} else if (iQuad.south) {
portions.add(Direction.SOUTH);
counter++;
}
if (iQuad.ene || iQuad.ese) {
if (iQuad.east) {
portions.add(Direction.EAST);
} else if (iQuad.wnw || iQuad.wsw) {
counter++;
} else if (iQuad.west) {
portions.add(Direction.WEST);
} else if (iQuad.cc) {
counter++;
}
// Only add CENTRAL if only one portion was set. For example, NORTH EAST
// CENTRAL is not allowed.
if (iQuad.cc && counter < 2) {
portions.add(Direction.CENTRAL);
}

View file

@ -36,6 +36,7 @@ import com.vividsolutions.jts.geom.prep.PreparedGeometryFactory;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* May 2, 2013 1963 jsanchez Initial creation
* Jun 3, 2013 2029 jsanchez Fixed incorrect A1 port. Added additional attributes to calculate portions of areas.
*
* </pre>
*
@ -77,6 +78,18 @@ public class ImpactedQuadrants {
protected int sw;
/** Indicates if the north portion is impacted */
protected boolean north;
/** Indicates if the south portion is impacted */
protected boolean south;
/** Indicates if the east portion is impacted */
protected boolean east;
/** Indicates if the west portion is impacted */
protected boolean west;
/**
* q is the accumulation of the quadrants,
*/
@ -124,6 +137,7 @@ public class ImpactedQuadrants {
nne = ene = ese = sse = ssw = wsw = wnw = nnw = false;
nn = ss = ee = ww = ne = nw = se = sw = 0;
nnx = ssx = eex = wwx = 0;
north = south = east = west = false;
xxx = 0;
}
@ -204,7 +218,7 @@ public class ImpactedQuadrants {
if (impactedQuadrants.wnw || impactedQuadrants.wsw) {
impactedQuadrants.ww = 1;
}
if (impactedQuadrants.nne || impactedQuadrants.ese) {
if (impactedQuadrants.ene || impactedQuadrants.ese) {
impactedQuadrants.ee = 1;
}
@ -222,6 +236,9 @@ public class ImpactedQuadrants {
// Identify extremes in use.
identifyExtremes(impactedQuadrants, envelopeInternal, warnedArea);
identifyAreaIntersection(impactedQuadrants, envelopeInternal,
warnedArea);
return impactedQuadrants;
}
@ -319,4 +336,69 @@ public class ImpactedQuadrants {
impactedQuadrants.xxx = impactedQuadrants.nnx + impactedQuadrants.ssx
+ impactedQuadrants.eex + impactedQuadrants.wwx;
}
/**
* Identifies portions of the parent envelope which is 20% from each edge.
*
* @param impactedQuadrants
* @param parentEnvelopeInternal
* @param warnedArea
*/
private static void identifyAreaIntersection(
ImpactedQuadrants impactedQuadrants,
Envelope parentEnvelopeInternal, Geometry warnedArea) {
double deltaY = parentEnvelopeInternal.getHeight() * 0.20;
double deltaX = parentEnvelopeInternal.getWidth() * 0.20;
double minLat = parentEnvelopeInternal.getMinY();
double maxLat = parentEnvelopeInternal.getMaxY();
double minLon = parentEnvelopeInternal.getMinX();
double maxLon = parentEnvelopeInternal.getMaxX();
Coordinate c1 = new Coordinate(minLon, maxLat); // upper left
Coordinate c2 = new Coordinate(maxLon, maxLat); // upper right
Coordinate c3 = new Coordinate(maxLon, minLat); // lower right
Coordinate c4 = new Coordinate(minLon, minLat); // lower left
Coordinate c5 = new Coordinate(c2.x, c2.y - deltaY);
Coordinate c6 = new Coordinate(c1.x, c1.y - deltaY);
Coordinate c7 = new Coordinate(c4.x, c4.y + deltaY);
Coordinate c8 = new Coordinate(c3.x, c3.y + deltaY);
Coordinate c9 = new Coordinate(c2.x - deltaX, c2.y);
Coordinate c10 = new Coordinate(c3.x - deltaX, c3.y);
Coordinate c11 = new Coordinate(c1.x + deltaX, c1.y);
Coordinate c12 = new Coordinate(c4.x + deltaX, c4.y);
PreparedGeometry north = createPortionMasks(c1, c2, c5, c6);
PreparedGeometry south = createPortionMasks(c7, c8, c3, c4);
PreparedGeometry east = createPortionMasks(c9, c2, c3, c10);
PreparedGeometry west = createPortionMasks(c1, c11, c12, c4);
impactedQuadrants.north = north.intersects(warnedArea);
impactedQuadrants.south = south.intersects(warnedArea);
impactedQuadrants.east = east.intersects(warnedArea);
impactedQuadrants.west = west.intersects(warnedArea);
}
/**
* Creates a PreparedGeometry object from 4 coordinates
*
* @param c1
* - upper left
* @param c2
* - upper right
* @param c3
* - lower right
* @param c4
* - lower left
* @return
*/
private static PreparedGeometry createPortionMasks(Coordinate c1,
Coordinate c2, Coordinate c3, Coordinate c4) {
Coordinate[] coords = new Coordinate[] { c1, c2, c3, c4, c1 };
GeometryFactory gf = new GeometryFactory();
Geometry geom = gf.createPolygon(gf.createLinearRing(coords), null);
return PreparedGeometryFactory.prepare(geom);
}
}

View file

@ -461,7 +461,6 @@ public abstract class AbstractWWAResource extends
}
protected void cleanupData(DataTime paintTime, DataTime[] descFrameTimes) {
System.out.println("entryMap size " + entryMap.size());
List<TimeRange> framePeriods = new ArrayList<TimeRange>(
descFrameTimes.length);
for (int i = 0; i < descFrameTimes.length; i++) {

View file

@ -48,6 +48,8 @@ import com.raytheon.uf.common.util.FileUtil;
* Mar 11, 2013 dgilling Initial creation
* May 22, 2013 #1759 dgilling Ensure addSitePath() also adds base
* path.
* May 31, 2013 #1759 dgilling Ensure any site-specific paths are
* always removed post-execution.
*
* </pre>
*
@ -85,11 +87,20 @@ public class IscScript extends PythonScript {
public Object execute(String methodName, Map<String, Object> args,
String siteId) throws JepException {
addSiteSpecificInclude(siteId);
Object retVal = super.execute(methodName, args);
jep.eval("rollbackImporter.rollback()");
removeSiteSpecificInclude(siteId);
return retVal;
try {
addSiteSpecificInclude(siteId);
Object retVal = super.execute(methodName, args);
return retVal;
} finally {
// if we don't run these two commands after execution, site-specific
// paths and modules can get stuck in the interpreter's copy of
// sys.path or sys.modules if a JepException is thrown by the
// execute() method.
// the RollbackImporter handles sys.modules
jep.eval("rollbackImporter.rollback()");
// while this cleans up sys.path
removeSiteSpecificInclude(siteId);
}
}
public String getScriptName() {

View file

@ -6,17 +6,17 @@
<round>00-01:00:00</round>
</defaultRule>
<defaultRule>
<versionsToKeep>38</versionsToKeep>
<versionsToKeep>15</versionsToKeep>
<delta>=00-03:00:00</delta>
<round>00-01:00:00</round>
</defaultRule>
<defaultRule>
<versionsToKeep>42</versionsToKeep>
<versionsToKeep>11</versionsToKeep>
<delta>=00-06:00:00</delta>
<round>00-01:00:00</round>
</defaultRule>
<defaultRule>
<versionsToKeep>50</versionsToKeep>
<versionsToKeep>10</versionsToKeep>
<delta>=01-00:00:00</delta>
<round>+00-12:00:00</round>
</defaultRule>

View file

@ -10,7 +10,7 @@
</rule>
<rule>
<keyValue>1001</keyValue>
<versionsToKeep>50</versionsToKeep>
<versionsToKeep>14</versionsToKeep>
<delta>=01-00:00:00</delta>
<round>+00-12:00:00</round>
</rule>
@ -25,7 +25,7 @@
</rule>
<rule>
<keyValue>1002</keyValue>
<versionsToKeep>50</versionsToKeep>
<versionsToKeep>14</versionsToKeep>
<delta>=01-00:00:00</delta>
<round>+00-12:00:00</round>
</rule>
@ -39,19 +39,19 @@
</rule>
<rule>
<keyValue>1003</keyValue>
<versionsToKeep>38</versionsToKeep>
<versionsToKeep>15</versionsToKeep>
<delta>=00-03:00:00</delta>
<round>00-01:00:00</round>
</rule>
<rule>
<keyValue>1003</keyValue>
<versionsToKeep>42</versionsToKeep>
<versionsToKeep>11</versionsToKeep>
<delta>=00-06:00:00</delta>
<round>00-01:00:00</round>
</rule>
<rule>
<keyValue>1003</keyValue>
<versionsToKeep>50</versionsToKeep>
<versionsToKeep>10</versionsToKeep>
<delta>=01-00:00:00</delta>
<round>+00-12:00:00</round>
</rule>
@ -65,19 +65,19 @@
</rule>
<rule>
<keyValue>1004</keyValue>
<versionsToKeep>38</versionsToKeep>
<versionsToKeep>15</versionsToKeep>
<delta>=00-03:00:00</delta>
<round>00-01:00:00</round>
</rule>
<rule>
<keyValue>1004</keyValue>
<versionsToKeep>42</versionsToKeep>
<versionsToKeep>11</versionsToKeep>
<delta>=00-06:00:00</delta>
<round>00-01:00:00</round>
</rule>
<rule>
<keyValue>1004</keyValue>
<versionsToKeep>50</versionsToKeep>
<versionsToKeep>10</versionsToKeep>
<delta>=01-00:00:00</delta>
<round>+00-12:00:00</round>
</rule>
@ -91,19 +91,19 @@
</rule>
<rule>
<keyValue>1005</keyValue>
<versionsToKeep>38</versionsToKeep>
<versionsToKeep>15</versionsToKeep>
<delta>=00-03:00:00</delta>
<round>00-01:00:00</round>
</rule>
<rule>
<keyValue>1005</keyValue>
<versionsToKeep>42</versionsToKeep>
<versionsToKeep>11</versionsToKeep>
<delta>=00-06:00:00</delta>
<round>00-01:00:00</round>
</rule>
<rule>
<keyValue>1005</keyValue>
<versionsToKeep>50</versionsToKeep>
<versionsToKeep>10</versionsToKeep>
<delta>=01-00:00:00</delta>
<round>+00-12:00:00</round>
</rule>
@ -117,19 +117,19 @@
</rule>
<rule>
<keyValue>1006</keyValue>
<versionsToKeep>38</versionsToKeep>
<versionsToKeep>15</versionsToKeep>
<delta>=00-03:00:00</delta>
<round>00-01:00:00</round>
</rule>
<rule>
<keyValue>1006</keyValue>
<versionsToKeep>42</versionsToKeep>
<versionsToKeep>11</versionsToKeep>
<delta>=00-06:00:00</delta>
<round>00-01:00:00</round>
</rule>
<rule>
<keyValue>1006</keyValue>
<versionsToKeep>50</versionsToKeep>
<versionsToKeep>10</versionsToKeep>
<delta>=01-00:00:00</delta>
<round>+00-12:00:00</round>
</rule>
@ -143,19 +143,19 @@
</rule>
<rule>
<keyValue>1007</keyValue>
<versionsToKeep>38</versionsToKeep>
<versionsToKeep>15</versionsToKeep>
<delta>=00-03:00:00</delta>
<round>00-01:00:00</round>
</rule>
<rule>
<keyValue>1007</keyValue>
<versionsToKeep>42</versionsToKeep>
<versionsToKeep>11</versionsToKeep>
<delta>=00-06:00:00</delta>
<round>00-01:00:00</round>
</rule>
<rule>
<keyValue>1007</keyValue>
<versionsToKeep>50</versionsToKeep>
<versionsToKeep>10</versionsToKeep>
<delta>=01-00:00:00</delta>
<round>+00-12:00:00</round>
</rule>

View file

@ -105,7 +105,8 @@ import com.raytheon.uf.edex.decodertools.time.TimeTools;
* 05/28/2009 2410 J. Sanchez Posted data for unknstnvalue.
* 12/11/2009 2488 M. Duff Fixed problem with storing text products.
* 03/07/2013 15545 w. kwock Added Observe time to log
* 03/21/2013 15967 w. kwock Fix the error in buildTsFcstRiv riverstatus table issue
* 03/21/2013 15967 w. kwock Fix the error in buildTsFcstRiv riverstatus table issue
* 04/05/2013 16036 w. kwock Fixed no ts=RZ in ingestfilter table but posted to height table
*
* </pre>
*
@ -2410,9 +2411,9 @@ public class PostShef {
errorMsg.setLength(0);
errorMsg.append("Error on saveOrUpdate stnclass table: " + sql);
dao.saveOrUpdate(stnClass);
}
/* since a record was added, set the match_found variable */
matchFound = true;
/* since a record was added, set the match_found variable */
matchFound = true;
}
} catch (Exception e) {
log.error("Query = [" + sql + "]");
log.error(shefRecord.getTraceId() + " - " + errorMsg.toString());

View file

@ -1,137 +0,0 @@
/**
* 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.
**/
package com.raytheon.uf.common.dataplugin.warning;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import com.raytheon.uf.common.dataplugin.persist.PersistableDataObject;
import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
/**
* UGC Zones are part of Warning Records. This class will be utilized by the
* Warning Decoder.
*
* <pre>
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jun 12, 2008 bwoodle Initial creation
*
* </pre>
*
* @author bwoodle
* @version 1.0
*/
@Entity
@Table(name = "warning_ugczone")
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize
public class UGCZone extends PersistableDataObject implements
ISerializableObject {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@XmlAttribute
@DynamicSerializeElement
private Integer key;
@Column(length = 8)
@XmlAttribute
@DynamicSerializeElement
private String zone;
@ManyToOne
@JoinColumn(name = "parentWarning", nullable = false)
private AbstractWarningRecord parentWarning;
public UGCZone() {
}
public UGCZone(String zone) {
this.zone = zone;
}
public UGCZone(String zone, AbstractWarningRecord warning) {
this.zone = zone;
parentWarning = warning;
}
public String toString() {
return zone;
}
/**
* @return the key
*/
public Integer getKey() {
return key;
}
/**
* @param key
* the key to set
*/
public void setKey(Integer key) {
this.key = key;
}
/**
* @return the zone
*/
public String getZone() {
return zone;
}
/**
* @param zone
* the zone to set
*/
public void setZone(String zone) {
this.zone = zone;
}
/**
* @return the parentWarning
*/
public AbstractWarningRecord getParentWarning() {
return parentWarning;
}
/**
* @param parentWarning
* the parentWarning to set
*/
public void setParentWarning(AbstractWarningRecord parentWarning) {
this.parentWarning = parentWarning;
}
}

View file

@ -48,7 +48,8 @@ import com.vividsolutions.jts.geom.prep.PreparedGeometryFactory;
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Oct 12, 2011 mschenke Initial creation
* Oct 12, 2011 mschenke Initial creation
* May 30, 2013 #2028 randerso Changed to return simple geometry or multi-geometry if possible
*
* </pre>
*
@ -93,8 +94,15 @@ public class WorldWrapCorrector {
} else {
wrapCorrect(geom, geoms);
}
return geom.getFactory().createGeometryCollection(
geoms.toArray(new Geometry[geoms.size()]));
Geometry retVal;
if (geoms.size() == 1) {
retVal = geoms.get(0);
} else {
retVal = geom.getFactory().buildGeometry(geoms);
}
return retVal;
}
/**

View file

@ -51,6 +51,7 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
* ------------ ---------- ----------- --------------------------
* Jun 23, 2011 mschenke Initial creation
* Apr 12, 2013 1903 rjpeter Fix allocateLock freezing out other lock requests.
* May 30, 2013 2056 rjpeter Allow ACQUIRING state to be released.
* </pre>
*
* @author mschenke
@ -73,6 +74,8 @@ public class FileLocker {
final List<Object> lockers = new ArrayList<Object>();
long lockTime = System.currentTimeMillis();
File lockFile;
LockState lockState = LockState.ACQUIRING;
@ -210,6 +213,7 @@ public class FileLocker {
// TODO: This is not safe as another thread could have a
// read lock and we may clobber the read
lock.lockers.add(locker);
lock.lockTime = System.currentTimeMillis();
return true;
}
}
@ -265,30 +269,24 @@ public class FileLocker {
return allocateLock(file, lock);
} else if (lock != null) {
synchronized (lock) {
switch (lock.lockState) {
case IN_USE:
if ((type == Type.READ)
&& (type == lock.lockType)) {
// A different waiter grabbed it for
// reading, we can read it also
lock.lockers.add(locker);
return true;
} else {
long curTime = System.currentTimeMillis();
long lastMod = lock.lockFile.lastModified();
if ((curTime - lastMod) > MAX_WAIT) {
System.err
.println("Releasing lock: "
+ "Lock has been allocated for "
+ ((curTime - lastMod) / 1000)
+ "s on file "
+ file.getPath());
locks.remove(file);
}
if ((type == Type.READ) && (type == lock.lockType)
&& LockState.IN_USE.equals(lock.lockState)) {
// A different waiter grabbed it for
// reading, we can read it also
lock.lockers.add(locker);
lock.lockTime = System.currentTimeMillis();
return true;
} else {
long curTime = System.currentTimeMillis();
if ((curTime - lock.lockTime) > MAX_WAIT) {
System.err
.println("Releasing lock: "
+ "Lock has been allocated for "
+ ((curTime - lock.lockTime) / 1000)
+ "s on file "
+ file.getPath());
locks.remove(file);
}
break;
// ACUIRING - NOOP wait for lock to be acquired
// RELEASED - loop again and check if next waiter
}
}
}
@ -309,6 +307,7 @@ public class FileLocker {
try {
boolean fileUnlocked = false;
LockedFile lock = null;
// Get the Lock
synchronized (locks) {
lock = locks.get(file);
@ -319,7 +318,8 @@ public class FileLocker {
}
synchronized (lock) {
if (lock.lockState == LockState.IN_USE) {
if ((lock.lockState == LockState.IN_USE)
|| lock.lockingThread.equals(Thread.currentThread())) {
lock.lockers.remove(locker);
if (lock.lockers.isEmpty()) {
@ -370,14 +370,23 @@ public class FileLocker {
// Get the lock directory, make sure it is not already taken
File parentDir = file.getParentFile();
// If we can't write to the parent directory of the file we are locking,
// can't do any locking
if (!parentDir.exists()) {
parentDir.mkdirs();
}
// If we can't write to the parent directory of the file we are
// locking, can't do any locking
if (parentDir.canWrite() == false) {
UFStatus.getHandler()
.handle(Priority.PROBLEM,
"Cannot write to directory: "
+ parentDir.getAbsolutePath());
return false;
}
boolean gotLock = false;
File lockFile = new File(parentDir, "." + file.getName() + "_LOCK");
try {
// start with a moderate wait
long waitInterval = 100;
@ -409,8 +418,10 @@ public class FileLocker {
"Error obtaining file lock: " + file, e);
} finally {
synchronized (lock) {
long millis = System.currentTimeMillis();
lock.lockFile = lockFile;
lock.lockFile.setLastModified(System.currentTimeMillis());
lock.lockTime = millis;
lock.lockFile.setLastModified(millis);
lock.lockState = LockState.IN_USE;
}
}

View file

@ -7,8 +7,13 @@ grepString="(/awips2/cave/cave|/usr/local/viz/cave)"
edexGrepString="edex.run.mode="
# the remote servers to grab top on. Use to get general state of server
REMOTE_SERVERS_TO_CHECK="dx1f dx3 dx4"
# the remote servers to grab top on. Use to get general state of servers
REMOTE_SERVERS_TO_CHECK="${DX_SERVERS}"
# in case environ variable is undefined
if [ "$REMOTE_SERVERS_TO_CHECK" == "" ]; then
REMOTE_SERVERS_TO_CHECK="dx1f dx2f dx3 dx4"
fi
# Flags to control what data capure grabs, to enable flag must be YES, anything else will be considered off.
RUN_JSTACK="Y"
@ -292,7 +297,7 @@ runJmap() {
local log="${prePath}dump.log"
local dumpPath="${prePath}dump"
if [ "$ACCUM" = "y" ]; then
if [ "$ACCUM" == "y" ]; then
# accum needs to change hprof by date
local t2=`date "+%Y%m%d_%H%M%S"`
dumpPath="${dumpPath}_${t2}.hprof"
@ -337,7 +342,7 @@ runQpidStat() {
local cmd="/awips2/python/bin/qpid-stat -q -Smsg -L500 ${qpidHost}"
local log="${prepath}qpid-stat-queues.log"
echo "${t1}: Running command: $cmd >> $log 2>&1 &" >> $processFile
if [ "$ACCUM" = "y" ]; then
if [ "$ACCUM" == "y" ]; then
echo >> $log
echo >> $log
echo "Running for $t1" >> $log
@ -347,7 +352,7 @@ runQpidStat() {
log="${prepath}qpid-stat-sessions.log"
cmd="/awips2/python/bin/qpid-stat -s -Smsg -L500 ${qpidHost}"
echo "${t1}: Running command: $cmd >> $log 2>&1 &" >> $processFile
if [ "$ACCUM" = "y" ]; then
if [ "$ACCUM" == "y" ]; then
echo >> $log
echo >> $log
echo "Running for $t1" >> $log

View file

@ -120,9 +120,9 @@ public class NsharpTimeLineConfigDialog extends Dialog {
if (timeLineList.getSelectionCount() > 0 ) {
selectedTimeList.clear();
for(int i=0; i < timeLineList.getSelectionCount(); i++) {
selectedSndTime = timeLineList.getSelection()[i];
selectedSndTime = timeLineList.getSelection()[i];
//remove "--InActive" or "--Active"
selectedSndTime= selectedSndTime.substring(0, selectedSndTime.indexOf('-'));
selectedSndTime= selectedSndTime.substring(0, selectedSndTime.indexOf("--"));
selectedTimeList.add(selectedSndTime);
}

View file

@ -72,6 +72,7 @@ import com.vividsolutions.jts.geom.Coordinate;
* 16 Aug 2012 843 B. Hebbard Added OSCAT
* 17 Aug 2012 655 B. Hebbard Added paintProps as parameter to IDisplayable draw
* 12/19/2012 #960 Greg Hull override propertiesChanged() to update colorBar.
* 30 May 2013 B. Hebbard Merge changes by RTS in OB13.3.1 for DataStoreFactory.getDataStore(...)
*
* </pre>
*
@ -131,12 +132,11 @@ public class NcscatResource extends
// Given the NcscatRecord, locate the associated HDF5 data...
File location = HDF5Util.findHDF5Location(nsRecord);
String hdf5File = location.getAbsolutePath();
String group = nsRecord.getDataURI();
String dataset = "Ncscat";
// ...and retrieve it
IDataStore ds = DataStoreFactory.getDataStore(new File(hdf5File));
IDataStore ds = DataStoreFactory.getDataStore(location);
IDataRecord dr;
try {
dr = ds.retrieve(group, dataset, Request.ALL);

View file

@ -68,6 +68,9 @@ import com.raytheon.uf.viz.core.exception.VizException;
* 21 Nov 2012 838 B. Hebbard Initial creation.
* 25 Apr 2013 838 G. Hull add request constraint to the query for the cycle time
* 30 Apr 2013 838 B. Hebbard IOC version (for OB13.4.1)
* 30 May 2013 838 B. Hebbard Update for compatibility with changes by RTS in OB13.3.1
* [ DataStoreFactory.getDataStore(...) parameter ]
*
* </pre>
*
@ -205,11 +208,11 @@ public class NtransResource extends AbstractNatlCntrsResource<NtransResourceData
private byte[] getCgmFromNtrans(NtransRecord nr) {
// Given the NcscatRecord, locate the associated HDF5 data...
File location = HDF5Util.findHDF5Location(nr);
String hdf5File = location.getAbsolutePath(); //TODO same??
String group = nr.getDataURI();
String uri = nr.getDataURI();
//String uri = nr.getDataURI();
String dataset = "NTRANS";
// get filename and directory for IDataStore
@ -218,10 +221,9 @@ public class NtransResource extends AbstractNatlCntrsResource<NtransResourceData
//File file = new File(dir, filename);
// ...and retrieve it
// get IDataStore
//IDataStore ds = DataStoreFactory.getDataStore(file);
IDataStore ds = DataStoreFactory.getDataStore(new File(hdf5File));
IDataRecord dr;
IDataStore ds = DataStoreFactory.getDataStore(location);
IDataRecord dr = null;
//IDataRecord[] dr;
try {
dr = ds.retrieve(group, dataset, Request.ALL);
@ -245,7 +247,9 @@ public class NtransResource extends AbstractNatlCntrsResource<NtransResourceData
}
public void dispose() {
pictureInfo.dispose();
if (pictureInfo != null) {
pictureInfo.dispose();
}
super.dispose();
}
}

View file

@ -137,6 +137,10 @@ if [ "${1}" = "-postgres" ]; then
buildRPM "awips2-database"
buildRPM "awips2-maps-database"
buildRPM "awips2-pgadmin3"
buildRPM "awips2-data.hdf5-gfe.climo"
buildRPM "awips2-data.hdf5-topo"
buildRPM "awips2-notification"
buildRPM "awips2-tools"
exit 0
fi

View file

@ -1,81 +0,0 @@
Copyright \251 2008 Sun Microsystems, Inc., 4150 Network Circle, Santa
Clara, California 95054, U.S.A. All rights reserved.
Sun Microsystems, Inc. has intellectual property rights relating to
technology embodied in the product that is described in this document.
In particular, and without limitation, these intellectual property
rights may include one or more of the U.S. patents listed at
http://www.sun.com/patents and one or more additional patents or
pending patent applications in the U.S. and in other countries.
THIS PRODUCT CONTAINS CONFIDENTIAL INFORMATION AND TRADE SECRETS OF SUN
MICROSYSTEMS, INC. USE, DISCLOSURE OR REPRODUCTION IS PROHIBITED
WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SUN MICROSYSTEMS, INC.
U.S. Government Rights - Commercial software. Government users are
subject to the Sun Microsystems, Inc. standard license agreement and
applicable provisions of the FAR and its supplements.
Use is subject to license terms.
This distribution may include materials developed by third parties.
Sun, Sun Microsystems, the Sun logo, Java, Jini and Java SE are
trademarks or registered trademarks of Sun Microsystems, Inc. in the
U.S. and other countries.
Products covered by and information contained in this service manual
are controlled by U.S. Export Control laws and may be subject to the
export or import laws in other countries. Nuclear, missile, chemical
biological weapons or nuclear maritime end uses or end users, whether
direct or indirect, are strictly prohibited. Export or reexport to
countries subject to U.S. embargo or to entities identified on U.S.
export exclusion lists, including, but not limited to, the denied
persons and specially designated nationals lists is strictly
prohibited.
Copyright © 2008 Sun Microsystems, Inc., 4150 Network Circle, Santa
Clara, California 95054, Etats-Unis. Tous droits réservés.
Sun Microsystems, Inc. détient les droits de propriété intellectuelle
relatifs à la technologie incorporée dans le produit qui est décrit dans
ce document. En particulier, et ce sans limitation, ces droits de
propriété intellectuelle peuvent inclure un ou plus des brevets américains
listés à l'adresse http://www.sun.com/patents et un ou les brevets
supplémentaires ou les applications de brevet en attente aux Etats -
Unis et dans les autres pays.
CE PRODUIT CONTIENT DES INFORMATIONS CONFIDENTIELLES ET DES SECRETS
COMMERCIAUX DE SUN MICROSYSTEMS, INC. SON UTILISATION, SA DIVULGATION
ET SA REPRODUCTION SONT INTERDITES SANS L AUTORISATION EXPRESSE, ECRITE
ET PREALABLE DE SUN MICROSYSTEMS, INC.
Droits du gouvernement des États-Unis - logiciel commercial. Les
droits des utilisateur du gouvernement des États-Unis sont
soumis aux termes de la licence standard Sun Microsystems et
aux conditions appliquées de la FAR et de ces compléments.
L'utilisation est soumise aux termes de la Licence.
Cette distribution peut inclure des élements développés par des tiers.
Sun, Sun Microsystems, le logo Sun, Java, Jini et Java SE sont des
marques de fabrique ou des marques déposées de Sun Microsystems, Inc. aux
Etats-Unis et dans d'autres pays.
Les produits qui font l'objet de ce manuel d'entretien et les
informations qu'il contient sont regis par la legislation americaine en
matiere de controle des exportations et peuvent etre soumis au droit
d'autres pays dans le domaine des exportations et importations. Les
utilisations finales, ou utilisateurs finaux, pour des armes
nucleaires, des missiles, des armes biologiques et chimiques ou du
nucleaire maritime, directement ou indirectement, sont strictement
interdites. Les exportations ou reexportations vers des pays sous
embargo des Etats-Unis, ou vers des entites figurant sur les listes
d'exclusion d'exportation americaines, y compris, mais de maniere non
exclusive, la liste de personnes qui font objet d'un ordre de ne pas
participer, d'une facon directe ou indirecte, aux exportations des
produits ou des services qui sont regi par la legislation americaine en
matiere de controle des exportations et la liste de ressortissants
specifiquement designes, sont rigoureusement interdites.

View file

@ -1,342 +0,0 @@
Sun Microsystems, Inc. Binary Code License Agreement
for the JAVA SE DEVELOPMENT KIT (JDK), VERSION 6
SUN MICROSYSTEMS, INC. ("SUN") IS WILLING TO LICENSE THE
SOFTWARE IDENTIFIED BELOW TO YOU ONLY UPON THE CONDITION
THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS BINARY
CODE LICENSE AGREEMENT AND SUPPLEMENTAL LICENSE TERMS
(COLLECTIVELY "AGREEMENT"). PLEASE READ THE AGREEMENT
CAREFULLY. BY DOWNLOADING OR INSTALLING THIS SOFTWARE, YOU
ACCEPT THE TERMS OF THE AGREEMENT. INDICATE ACCEPTANCE BY
SELECTING THE "ACCEPT" BUTTON AT THE BOTTOM OF THE
AGREEMENT. IF YOU ARE NOT WILLING TO BE BOUND BY ALL THE
TERMS, SELECT THE "DECLINE" BUTTON AT THE BOTTOM OF THE
AGREEMENT AND THE DOWNLOAD OR INSTALL PROCESS WILL NOT
CONTINUE.
1. DEFINITIONS. "Software" means the identified above in
binary form, any other machine readable materials
(including, but not limited to, libraries, source files,
header files, and data files), any updates or error
corrections provided by Sun, and any user manuals,
programming guides and other documentation provided to you
by Sun under this Agreement. "General Purpose Desktop
Computers and Servers" means computers, including desktop,
laptop and tablet computers, or servers, used for general
computing functions under end user control (such as but not
specifically limited to email, general purpose Internet
browsing, and office suite productivity tools).
The use of Software in systems and solutions that provide
dedicated functionality (other than as mentioned above) or
designed for use in embedded or function-specific software
applications, for example but not limited to: Software
embedded in or bundled with industrial control systems,
wireless mobile telephones, wireless handheld devices,
kiosks, TV/STB, Blu-ray Disc devices, telematics and
network control switching equipment, printers and storage
management systems, and other related systems are excluded
from this definition and not licensed under this
Agreement. "Programs" means Java technology applets and
applications intended to run on the Java Platform Standard
Edition (Java SE) platform on Java-enabled General Purpose
Desktop Computers and Servers.
2. LICENSE TO USE. Subject to the terms and conditions of
this Agreement, including, but not limited to the Java
Technology Restrictions of the Supplemental License Terms,
Sun grants you a non-exclusive, non-transferable, limited
license without license fees to reproduce and use
internally Software complete and unmodified for the sole
purpose of running Programs. Additional licenses for
developers and/or publishers are granted in the
Supplemental License Terms.
3. RESTRICTIONS. Software is confidential and copyrighted.
Title to Software and all associated intellectual property
rights is retained by Sun and/or its licensors. Unless
enforcement is prohibited by applicable law, you may not
modify, decompile, or reverse engineer Software. You
acknowledge that Licensed Software is not designed or
intended for use in the design, construction, operation or
maintenance of any nuclear facility. Sun Microsystems, Inc.
disclaims any express or implied warranty of fitness for
such uses. No right, title or interest in or to any
trademark, service mark, logo or trade name of Sun or its
licensors is granted under this Agreement. Additional
restrictions for developers and/or publishers licenses are
set forth in the Supplemental License Terms.
4. LIMITED WARRANTY. Sun warrants to you that for a period
of ninety (90) days from the date of purchase, as evidenced
by a copy of the receipt, the media on which Software is
furnished (if any) will be free of defects in materials and
workmanship under normal use. Except for the foregoing,
Software is provided "AS IS". Your exclusive remedy and
Sun's entire liability under this limited warranty will be
at Sun's option to replace Software media or refund the fee
paid for Software. Any implied warranties on the Software
are limited to 90 days. Some states do not allow
limitations on duration of an implied warranty, so the
above may not apply to you. This limited warranty gives you
specific legal rights. You may have others, which vary from
state to state.
5. DISCLAIMER OF WARRANTY. UNLESS SPECIFIED IN THIS
AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS,
REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED
WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE
EXTENT THAT THESE DISCLAIMERS ARE HELD TO BE LEGALLY
INVALID.
6. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY
LAW, IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT,
CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT
OF OR RELATED TO THE USE OF OR INABILITY TO USE SOFTWARE,
EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES. In no event will Sun's liability to you, whether
in contract, tort (including negligence), or otherwise,
exceed the amount paid by you for Software under this
Agreement. The foregoing limitations will apply even if the
above stated warranty fails of its essential purpose. Some
states do not allow the exclusion of incidental or
consequential damages, so some of the terms above may not
be applicable to you.
7. TERMINATION. This Agreement is effective until
terminated. You may terminate this Agreement at any time by
destroying all copies of Software. This Agreement will
terminate immediately without notice from Sun if you fail
to comply with any provision of this Agreement. Either
party may terminate this Agreement immediately should any
Software become, or in either party's opinion be likely to
become, the subject of a claim of infringement of any
intellectual property right. Upon Termination, you must
destroy all copies of Software.
8. EXPORT REGULATIONS. All Software and technical data
delivered under this Agreement are subject to US export
control laws and may be subject to export or import
regulations in other countries. You agree to comply
strictly with all such laws and regulations and acknowledge
that you have the responsibility to obtain such licenses to
export, re-export, or import as may be required after
delivery to you.
9. TRADEMARKS AND LOGOS. You acknowledge and agree as
between you and Sun that Sun owns the SUN, SOLARIS, JAVA,
JINI, FORTE, and iPLANET trademarks and all SUN, SOLARIS,
JAVA, JINI, FORTE, and iPLANET-related trademarks, service
marks, logos and other brand designations ("Sun Marks"),
and you agree to comply with the Sun Trademark and Logo
Usage Requirements currently located at
http://www.sun.com/policies/trademarks. Any use you make of
the Sun Marks inures to Sun's benefit.
10. U.S. GOVERNMENT RESTRICTED RIGHTS. If Software is being
acquired by or on behalf of the U.S. Government or by a
U.S. Government prime contractor or subcontractor (at any
tier), then the Government's rights in Software and
accompanying documentation will be only as set forth in
this Agreement; this is in accordance with 48 CFR 227.7201
through 227.7202-4 (for Department of Defense (DOD)
acquisitions) and with 48 CFR 2.101 and 12.212 (for non-DOD
acquisitions).
11. GOVERNING LAW. Any action related to this Agreement
will be governed by California law and controlling U.S.
federal law. No choice of law rules of any jurisdiction
will apply.
12. SEVERABILITY. If any provision of this Agreement is
held to be unenforceable, this Agreement will remain in
effect with the provision omitted, unless omission would
frustrate the intent of the parties, in which case this
Agreement will immediately terminate.
13. INTEGRATION. This Agreement is the entire agreement
between you and Sun relating to its subject matter. It
supersedes all prior or contemporaneous oral or written
communications, proposals, representations and warranties
and prevails over any conflicting or additional terms of
any quote, order, acknowledgment, or other communication
between the parties relating to its subject matter during
the term of this Agreement. No modification of this
Agreement will be binding, unless in writing and signed by
an authorized representative of each party.
SUPPLEMENTAL LICENSE TERMS
These Supplemental License Terms add to or modify the terms
of the Binary Code License Agreement. Capitalized terms not
defined in these Supplemental Terms shall have the same
meanings ascribed to them in the Binary Code License
Agreement . These Supplemental Terms shall supersede any
inconsistent or conflicting terms in the Binary Code
License Agreement, or in any license contained within the
Software.
A. Software Internal Use and Development License Grant.
Subject to the terms and conditions of this Agreement and
restrictions and exceptions set forth in the Software
"README" file incorporated herein by reference, including,
but not limited to the Java Technology Restrictions of
these Supplemental Terms, Sun grants you a non-exclusive,
non-transferable, limited license without fees to reproduce
internally and use internally the Software complete and
unmodified for the purpose of designing, developing, and
testing your Programs.
B. License to Distribute Software. Subject to the terms and
conditions of this Agreement and restrictions and
exceptions set forth in the Software README file,
including, but not limited to the Java Technology
Restrictions of these Supplemental Terms, Sun grants you a
non-exclusive, non-transferable, limited license without
fees to reproduce and distribute the Software, provided
that (i) you distribute the Software complete and
unmodified and only bundled as part of, and for the sole
purpose of running, your Programs, (ii) the Programs add
significant and primary functionality to the Software,
(iii) you do not distribute additional software intended to
replace any component(s) of the Software, (iv) you do not
remove or alter any proprietary legends or notices
contained in the Software, (v) you only distribute the
Software subject to a license agreement that protects Sun's
interests consistent with the terms contained in this
Agreement, and (vi) you agree to defend and indemnify Sun
and its licensors from and against any damages, costs,
liabilities, settlement amounts and/or expenses (including
attorneys' fees) incurred in connection with any claim,
lawsuit or action by any third party that arises or results
from the use or distribution of any and all Programs and/or
Software.
C. License to Distribute Redistributables. Subject to the
terms and conditions of this Agreement and restrictions and
exceptions set forth in the Software README file, including
but not limited to the Java Technology Restrictions of
these Supplemental Terms, Sun grants you a non-exclusive,
non-transferable, limited license without fees to reproduce
and distribute those files specifically identified as
redistributable in the Software "README" file
("Redistributables") provided that: (i) you distribute the
Redistributables complete and unmodified, and only bundled
as part of Programs, (ii) the Programs add significant and
primary functionality to the Redistributables, (iii) you do
not distribute additional software intended to supersede
any component(s) of the Redistributables (unless otherwise
specified in the applicable README file), (iv) you do not
remove or alter any proprietary legends or notices
contained in or on the Redistributables, (v) you only
distribute the Redistributables pursuant to a license
agreement that protects Sun's interests consistent with the
terms contained in the Agreement, (vi) you agree to defend
and indemnify Sun and its licensors from and against any
damages, costs, liabilities, settlement amounts and/or
expenses (including attorneys' fees) incurred in connection
with any claim, lawsuit or action by any third party that
arises or results from the use or distribution of any and
all Programs and/or Software.
D. Java Technology Restrictions. You may not create,
modify, or change the behavior of, or authorize your
licensees to create, modify, or change the behavior of,
classes, interfaces, or subpackages that are in any way
identified as "java", "javax", "sun" or similar convention
as specified by Sun in any naming convention designation.
E. Distribution by Publishers. This section pertains to
your distribution of the Software with your printed book or
magazine (as those terms are commonly used in the industry)
relating to Java technology ("Publication"). Subject to and
conditioned upon your compliance with the restrictions and
obligations contained in the Agreement, in addition to the
license granted in Paragraph 1 above, Sun hereby grants to
you a non-exclusive, nontransferable limited right to
reproduce complete and unmodified copies of the Software on
electronic media (the "Media") for the sole purpose of
inclusion and distribution with your Publication(s),
subject to the following terms: (i) You may not distribute
the Software on a stand-alone basis; it must be distributed
with your Publication(s); (ii) You are responsible for
downloading the Software from the applicable Sun web site;
(iii) You must refer to the Software as JavaTM SE
Development Kit 6; (iv) The Software must be reproduced in
its entirety and without any modification whatsoever
(including, without limitation, the Binary Code License and
Supplemental License Terms accompanying the Software and
proprietary rights notices contained in the Software);
(v) The Media label shall include the following
information: Copyright 2006, Sun Microsystems, Inc. All
rights reserved. Use is subject to license terms. Sun, Sun
Microsystems, the Sun logo, Solaris, Java, the Java Coffee
Cup logo, J2SE, and all trademarks and logos based on Java
are trademarks or registered trademarks of Sun
Microsystems, Inc. in the U.S. and other countries. This
information must be placed on the Media label in such a
manner as to only apply to the Sun Software; (vi) You must
clearly identify the Software as Sun's product on the Media
holder or Media label, and you may not state or imply that
Sun is responsible for any third-party software contained
on the Media; (vii) You may not include any third party
software on the Media which is intended to be a replacement
or substitute for the Software; (viii) You shall indemnify
Sun for all damages arising from your failure to comply
with the requirements of this Agreement. In addition, you
shall defend, at your expense, any and all claims brought
against Sun by third parties, and shall pay all damages
awarded by a court of competent jurisdiction, or such
settlement amount negotiated by you, arising out of or in
connection with your use, reproduction or distribution of
the Software and/or the Publication. Your obligation to
provide indemnification under this section shall arise
provided that Sun: (a) provides you prompt notice of the
claim; (b) gives you sole control of the defense and
settlement of the claim; (c) provides you, at your expense,
with all available information, assistance and authority to
defend; and (d) has not compromised or settled such claim
without your prior written consent; and (ix) You shall
provide Sun with a written notice for each Publication;
such notice shall include the following information: (1)
title of Publication, (2) author(s), (3) date of
Publication, and (4) ISBN or ISSN numbers. Such notice
shall be sent to Sun Microsystems, Inc., 4150 Network
Circle, M/S USCA12-110, Santa Clara, California 95054,
U.S.A , Attention: Contracts Administration.
F. Source Code. Software may contain source code that,
unless expressly licensed for other purposes, is provided
solely for reference purposes pursuant to the terms of this
Agreement. Source code may not be redistributed unless
expressly provided for in this Agreement.
G. Third Party Code. Additional copyright notices and
license terms applicable to portions of the Software are
set forth in the THIRDPARTYLICENSEREADME.txt file. In
addition to any terms and conditions of any third party
opensource/freeware license identified in the
THIRDPARTYLICENSEREADME.txt file, the disclaimer of
warranty and limitation of liability provisions in
paragraphs 5 and 6 of the Binary Code License Agreement
shall apply to all Software in this distribution.
H. Termination for Infringement. Either party may terminate
this Agreement immediately should any Software become, or
in either party's opinion be likely to become, the subject
of a claim of infringement of any intellectual property
right.
I. Installation and Auto-Update. The Software's
installation and auto-update processes transmit a limited
amount of data to Sun (or its service provider) about those
specific processes to help Sun understand and optimize
them. Sun does not associate the data with personally
identifiable information. You can find more information
about the data Sun collects at http://java.com/data/.
For inquiries please contact: Sun Microsystems, Inc., 4150
Network Circle, Santa Clara, California 95054, U.S.A.

View file

@ -0,0 +1,79 @@
Oracle Binary Code License Agreement for Java SE and JavaFX Technologies
ORACLE AMERICA, INC. ("ORACLE"), FOR AND ON BEHALF OF ITSELF AND ITS SUBSIDIARIES AND AFFILIATES UNDER COMMON CONTROL, IS WILLING TO LICENSE THE SOFTWARE TO YOU ONLY UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS BINARY CODE LICENSE AGREEMENT AND SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY "AGREEMENT"). PLEASE READ THE AGREEMENT CAREFULLY. BY SELECTING THE "ACCEPT LICENSE AGREEMENT" (OR THE EQUIVALENT) BUTTON AND/OR BY USING THE SOFTWARE YOU ACKNOWLEDGE THAT YOU HAVE READ THE TERMS AND AGREE TO THEM. IF YOU ARE AGREEING TO THESE TERMS ON BEHALF OF A COMPANY OR OTHER LEGAL ENTITY, YOU REPRESENT THAT YOU HAVE THE LEGAL AUTHORITY TO BIND THE LEGAL ENTITY TO THESE TERMS. IF YOU DO NOT HAVE SUCH AUTHORITY, OR IF YOU DO NOT WISH TO BE BOUND BY THE TERMS, THEN SELECT THE "DECLINE LICENSE AGREEMENT" (OR THE EQUIVALENT) BUTTON AND YOU MUST NOT USE THE SOFTWARE ON THIS SITE OR ANY OTHER MEDIA ON WHICH THE SOFTWARE IS CONTAINED.
1. DEFINITIONS. "Software" means the software identified above in binary form that you selected for download, install or use (in the version You selected for download, install or use) from Oracle or its authorized licensees, any other machine readable materials (including, but not limited to, libraries, source files, header files, and data files), any updates or error corrections provided by Oracle, and any user manuals, programming guides and other documentation provided to you by Oracle under this Agreement. "General Purpose Desktop Computers and Servers" means computers, including desktop and laptop computers, or servers, used for general computing functions under end user control (such as but not specifically limited to email, general purpose Internet browsing, and office suite productivity tools). The use of Software in systems and solutions that provide dedicated functionality (other than as mentioned above) or designed for use in embedded or function-specific software applications, for example but not limited to: Software embedded in or bundled with industrial control systems, wireless mobile telephones, wireless handheld devices, netbooks, kiosks, TV/STB, Blu-ray Disc devices, telematics and network control switching equipment, printers and storage management systems, and other related systems are excluded from this definition and not licensed under this Agreement. "Programs" means: (a) Java technology applets and applications intended to run on the Java Platform, Standard Edition platform on Java-enabled General Purpose Desktop Computers and Servers, and (b) JavaFX technology applications intended to run on the JavaFX Runtime on JavaFX-enabled General Purpose Desktop Computers and Servers. “README File” means the README file for the Software set forth in the Software or otherwise available from Oracle at or through the following URL: http://www.oracle.com/technetwork/java/javase/documentation/index.html
2. LICENSE TO USE. Subject to the terms and conditions of this Agreement including, but not limited to, the Java Technology Restrictions of the Supplemental License Terms, Oracle grants you a non-exclusive, non-transferable, limited license without license fees to reproduce and use internally the Software complete and unmodified for the sole purpose of running Programs.
3. RESTRICTIONS. Software is copyrighted. Title to Software and all associated intellectual property rights is retained by Oracle and/or its licensors. Unless enforcement is prohibited by applicable law, you may not modify, decompile, or reverse engineer Software. You acknowledge that the Software is developed for general use in a variety of information management applications; it is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use the Software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle disclaims any express or implied warranty of fitness for such uses. No right, title or interest in or to any trademark, service mark, logo or trade name of Oracle or its licensors is granted under this Agreement. Additional restrictions for developers and/or publishers licenses are set forth in the Supplemental License Terms.
4. DISCLAIMER OF WARRANTY. THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. ORACLE FURTHER DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
5. LIMITATION OF LIABILITY. IN NO EVENT SHALL ORACLE BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, OR DAMAGES FOR LOSS OF PROFITS, REVENUE, DATA OR DATA USE, INCURRED BY YOU OR ANY THIRD PARTY, WHETHER IN AN ACTION IN CONTRACT OR TORT, EVEN IF ORACLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ORACLE'S ENTIRE LIABILITY FOR DAMAGES HEREUNDER SHALL IN NO EVENT EXCEED ONE THOUSAND DOLLARS (U.S. $1,000).
6. TERMINATION. This Agreement is effective until terminated. You may terminate this Agreement at any time by destroying all copies of Software. This Agreement will terminate immediately without notice from Oracle if you fail to comply with any provision of this Agreement. Either party may terminate this Agreement immediately should any Software become, or in either party's opinion be likely to become, the subject of a claim of infringement of any intellectual property right. Upon termination, you must destroy all copies of Software.
7. EXPORT REGULATIONS. You agree that U.S. export control laws and other applicable export and import laws govern your use of the Software, including technical data; additional information can be found on Oracle's Global Trade Compliance web site (http://www.oracle.com/products/export). You agree that neither the Software nor any direct product thereof will be exported, directly, or indirectly, in violation of these laws, or will be used for any purpose prohibited by these laws including, without limitation, nuclear, chemical, or biological weapons proliferation.
8. TRADEMARKS AND LOGOS. You acknowledge and agree as between you and Oracle that Oracle owns the ORACLE and JAVA trademarks and all ORACLE- and JAVA-related trademarks, service marks, logos and other brand designations ("Oracle Marks"), and you agree to comply with the Third Party Usage Guidelines for Oracle Trademarks currently located at http://www.oracle.com/us/legal/third-party-trademarks/index.html . Any use you make of the Oracle Marks inures to Oracle's benefit.
9. U.S. GOVERNMENT LICENSE RIGHTS. If Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government prime contractor or subcontractor (at any tier), then the Government's rights in Software and accompanying documentation shall be only those set forth in this Agreement.
10. GOVERNING LAW. This agreement is governed by the substantive and procedural laws of California. You and Oracle agree to submit to the exclusive jurisdiction of, and venue in, the courts of San Francisco, or Santa Clara counties in California in any dispute arising out of or relating to this agreement.
11. SEVERABILITY. If any provision of this Agreement is held to be unenforceable, this Agreement will remain in effect with the provision omitted, unless omission would frustrate the intent of the parties, in which case this Agreement will immediately terminate.
12. INTEGRATION. This Agreement is the entire agreement between you and Oracle relating to its subject matter. It supersedes all prior or contemporaneous oral or written communications, proposals, representations and warranties and prevails over any conflicting or additional terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during the term of this Agreement. No modification of this Agreement will be binding, unless in writing and signed by an authorized representative of each party.
SUPPLEMENTAL LICENSE TERMS
These Supplemental License Terms add to or modify the terms of the Binary Code License Agreement. Capitalized terms not defined in these Supplemental Terms shall have the same meanings ascribed to them in the Binary Code License Agreement. These Supplemental Terms shall supersede any inconsistent or conflicting terms in the Binary Code License Agreement, or in any license contained within the Software.
A. SOFTWARE INTERNAL USE FOR DEVELOPMENT LICENSE GRANT. Subject to the terms and conditions of this Agreement and restrictions and exceptions set forth in the README File incorporated herein by reference, including, but not limited to the Java Technology Restrictions of these Supplemental Terms, Oracle grants you a non-exclusive, non-transferable, limited license without fees to reproduce internally and use internally the Software complete and unmodified for the purpose of designing, developing, and testing your Programs.
B. LICENSE TO DISTRIBUTE SOFTWARE. Subject to the terms and conditions of this Agreement and restrictions and exceptions set forth in the README File, including, but not limited to the Java Technology Restrictions of these Supplemental Terms, Oracle grants you a non-exclusive, non-transferable, limited license without fees to reproduce and distribute the Software, provided that (i) you distribute the Software complete and unmodified and only bundled as part of, and for the sole purpose of running, your Programs, (ii) the Programs add significant and primary functionality to the Software, (iii) you do not distribute additional software intended to replace any component(s) of the Software, (iv) you do not remove or alter any proprietary legends or notices contained in the Software, (v) you only distribute the Software subject to a license agreement that protects Oracle's interests consistent with the terms contained in this Agreement, and (vi) you agree to defend and indemnify Oracle and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software. The license set forth in this Section B does not extend to the Software identified in Section D.
C. LICENSE TO DISTRIBUTE REDISTRIBUTABLES. Subject to the terms and conditions of this Agreement and restrictions and exceptions set forth in the README File, including but not limited to the Java Technology Restrictions of these Supplemental Terms, Oracle grants you a non-exclusive, non-transferable, limited license without fees to reproduce and distribute those files specifically identified as redistributable in the README File ("Redistributables") provided that: (i) you distribute the Redistributables complete and unmodified, and only bundled as part of Programs, (ii) the Programs add significant and primary functionality to the Redistributables, (iii) you do not distribute additional software intended to supersede any component(s) of the Redistributables (unless otherwise specified in the applicable README File), (iv) you do not remove or alter any proprietary legends or notices contained in or on the Redistributables, (v) you only distribute the Redistributables pursuant to a license agreement that protects Oracle's interests consistent with the terms contained in the Agreement, (vi) you agree to defend and indemnify Oracle and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software. The license set forth in this Section C does not extend to the Software identified in Section D.
D. JAVA TECHNOLOGY RESTRICTIONS. You may not create, modify, or change the behavior of, or authorize your licensees to create, modify, or change the behavior of, classes, interfaces, or subpackages that are in any way identified as "java", "javax", "javafx", "sun", “oracle” or similar convention as specified by Oracle in any naming convention designation. You shall not redistribute the Software listed on Schedule 1.
E. SOURCE CODE. Software may contain source code that, unless expressly licensed for other purposes, is provided solely for reference purposes pursuant to the terms of this Agreement. Source code may not be redistributed unless expressly provided for in this Agreement.
F. THIRD PARTY CODE. Additional copyright notices and license terms applicable to portions of the Software are set forth in the THIRDPARTYLICENSEREADME file set forth in the Software or otherwise available from Oracle at or through the following URL: http://www.oracle.com/technetwork/java/javase/documentation/index.html. In addition to any terms and conditions of any third party opensource/freeware license identified in the THIRDPARTYLICENSEREADME file, the disclaimer of warranty and limitation of liability provisions in paragraphs 4 and 5 of the Binary Code License Agreement shall apply to all Software in this distribution.
G. TERMINATION FOR INFRINGEMENT. Either party may terminate this Agreement immediately should any Software become, or in either party's opinion be likely to become, the subject of a claim of infringement of any intellectual property right.
H. INSTALLATION AND AUTO-UPDATE. The Software's installation and auto-update processes transmit a limited amount of data to Oracle (or its service provider) about those specific processes to help Oracle understand and optimize them. Oracle does not associate the data with personally identifiable information. You can find more information about the data Oracle collects as a result of your Software download at http://www.oracle.com/technetwork/java/javase/documentation/index.html.
For inquiries please contact: Oracle America, Inc., 500 Oracle Parkway,
Redwood Shores, California 94065, USA.
License for Archived Java SE Technologies; last updated 02 April 2013
Schedule 1 to Supplemental Terms
Non-redistributable Java Technologies
JavaFX Runtime versions prior to version 2.0.2, except for version 1.3.1
JavaFX Development Kit (or SDK) versions prior to version 2.0.2, except for the version 1.3.1 Runtime components which are included in the version 1.3.1 Development Kit
JavaFX Production Suite
Java Naming and Directory Interface(TM)
Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files
Jvmstat
Any patches, bug fixes or updates made available by Oracle through Oracle Premier Support, including those made available under Oracle's Java SE Support program

View file

@ -1,719 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=us-ascii">
<meta name="collection" content="reference">
<title>README -- Java Platform, Standard Edition Development Kit</title>
</head>
<body lang="en-US" bgcolor="#FFFFFF">
<h1 align="center">README</h1>
<h2 align="center">Java<sup><font size="-2">TM</font></sup> Platform,
Standard Edition 6<br>
Development Kit</h2>
<p align="center"><b>JDK<sup><font size="-2">TM</font></sup> 6</b></p>
<h2>Contents</h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#install">System Requirements &amp; Installation</a></li>
<li><a href="#docs">JDK Documentation</a></li>
<li><a href="#relnotes">Release Notes</a></li>
<li><a href="#compatibility">Compatibility</a></li>
<li><a href="#bugs">Bug Reports and Feedback</a></li>
<li><a href="#contents">Contents of the JDK</a></li>
<li><a href="#jre">Java Runtime Environment</a></li>
<li><a href="#redistribution">Redistribution</a></li>
<li><a href="#endorsed">Java Endorsed Standards Override
Mechanism</a></li>
<li><a href="#javadb">Java DB</a></li>
<li><a href="#webpages">Web Pages</a></li>
</ul>
<h2><a name="introduction" id="introduction"></a>Introduction</h2>
<blockquote>
Thank you for downloading this release of the Java<sup><font size=
"-2">TM</font></sup> Platform, Standard Edition Development Kit
(JDK<sup><font size="-2">TM</font></sup>). The JDK is a development
environment for building applications, applets, and components using the
Java programming language.
</blockquote>
<blockquote>
The JDK includes tools useful for developing and testing programs written
in the Java programming language and running on the Java<sup><font size=
"-2">TM</font></sup> platform.
</blockquote>
<h2><a name="install" id="install"></a>System Requirements &amp;
Installation</h2>
<blockquote>
System requirements, installation instructions and troubleshooting tips
are located on the Java Software web site at:
</blockquote>
<blockquote>
<a href="http://java.sun.com/javase/6/webnotes/install/">JDK 6
Installation Instructions</a>
</blockquote>
<h2><a name="docs" id="docs"></a>JDK<sup><font size="-2">TM</font></sup>
Documentation</h2>
<blockquote>
The on-line <a href=
"http://java.sun.com/javase/6/docs/">Java<sup><font size=
"-2">TM</font></sup> Platform, Standard Edition (Java SE)
Documentation</a> contains API specifications, feature descriptions,
developer guides, reference pages for JDK<sup><font size=
"-2">TM</font></sup> tools and utilities, demos, and links to related
information. This documentation is also available in a download bundle
which you can install on your machine. To obtain the documentation bundle,
see the <a href="http://java.sun.com/javase/6/download.jsp">download
page</a>. For API documentation, refer to the <a href=
"http://java.sun.com/javase/6/docs/api/index.html">The
Java<sup><font size="-2">TM</font></sup> Platform, Standard Edition API
Specification</a> This provides brief descriptions of the API with an
emphasis on specifications, not on code examples.
</blockquote>
<h2><a name="relnotes" id="relnotes"></a>Release Notes</h2>
<blockquote>
See the <a href="http://java.sun.com/javase/6/webnotes/">Java SE 6 Release
Notes</a> on the Java Software web site for additional information
pertaining to this release. Please check the on-line release notes
occasionally for the latest information as they will be updated as needed.
</blockquote>
<h2><a name="compatibility" id="compatibility"></a>Compatibility</h2>
<blockquote>
See <a href=
"http://java.sun.com/javase/6/webnotes/compatibility.html">Compatibility
with Previous Releases</a> on the Java Software web site for the list of
known compatibility issues. Every effort has been made to support programs
written for previous versions of the Java<sup><font size=
"-2">TM</font></sup> platform. Although some incompatible changes were
necessary, most software should migrate to the current version with no
reprogramming. Any failure to do so is considered a bug, except for a
small number of cases where compatibility was deliberately broken, as
described on our compatibility web page. Some compatibility-breaking
changes were required to close potential security holes or to fix
implementation or design bugs.
</blockquote>
<h2><a name="bugs" id="bugs"></a>Bug Reports and Feedback</h2>
<blockquote>
The <a href="http://bugs.sun.com/bugdatabase/index.jsp">Bug Database</a>
web site lets you search for and examine existing bug reports, submit your
own bug reports, and tell us which bug fixes matter most to you. To
directly submit a bug or request a feature, fill out this form:
</blockquote>
<blockquote>
<a href=
"http://bugs.sun.com/services/bugreport/index.jsp">http://bugs.sun.com/services/bugreport/index.jsp</a>
</blockquote>
<blockquote>
You can send feedback to the <a href=
"http://java.sun.com/docs/forms/sendusmail.html">Java SE documentation
team</a>. You can also send comments directly to <a href=
"http://developers.sun.com/contact/index.jsp">Java Software engineering
team email addresses</a>.
</blockquote>
<blockquote>
<b>Note</b> - Please do not seek technical support through the Bug
Database or our development teams. For support options, see <a href=
"http://java.sun.com/developer/support/">Support and Services</a> on the
Java Software web site.
</blockquote>
<h2><a name="contents" id="contents"></a>Contents of the JDK<sup><font size=
"-2">TM</font></sup></h2>
<blockquote>
This section contains a general summary of the files and directories in
the JDK<sup><font size="-2">TM</font></sup>. For details on the files and
directories, see the <a href=
"http://java.sun.com/javase/6/docs/technotes/tools/index.html#general">JDK
File Structure</a> section of the Java SE documentation for your platform.
</blockquote>
<dl>
<dd>
<dl>
<dt><b>Development Tools</b></dt>
<dd>(In the <code>bin/</code> subdirectory) Tools and utilities that
will help you develop, execute, debug, and document programs written
in the Java<sup><font size="-2">TM</font></sup> programming language.
For further information, see the <a href=
"http://java.sun.com/javase/6/docs/technotes/tools/index.html">tool
documentation</a>.<br>
<br></dd>
<dt><b>Runtime Environment</b></dt>
<dd>(In the <code>jre/</code> subdirectory) An implementation of the
Java Runtime Environment (JRE<sup><font size="-2">TM</font></sup>) for
use by the JDK. The JRE includes a Java<sup><font size=
"-2">TM</font></sup> Virtual Machine (JVM<sup><font size=
"-2">TM</font></sup>), class libraries, and other files that support
the execution of programs written in the Java<sup><font size=
"-2">TM</font></sup> programming language.<br>
<br></dd>
<dt><b>Additional Libraries</b></dt>
<dd>(In the <code>lib/</code> subdirectory) Additional class libraries
and support files required by the development tools.<br>
<br></dd>
<dt><b>Demo Applets and Applications</b></dt>
<dd>(In the <code>demo/</code> subdirectory) Examples, with source
code, of programming for the Java<sup><font size="-2">TM</font></sup>
platform. These include examples that use Swing and other
Java<sup><font size="-2">TM</font></sup> Foundation Classes, and the
Java<sup><font size="-2">TM</font></sup> Platform Debugger
Architecture.<br>
<br></dd>
<dt><b>Sample Code</b></dt>
<dd>(In the <code>sample</code> subdirectory) Samples, with source
code, of programming for certain Java API's.<br>
<br></dd>
<dt><b>C header Files</b></dt>
<dd>(In the <code>include/</code> subdirectory) Header files that
support native-code programming using the <a href=
"http://java.sun.com/javase/6/docs/technotes/guides/jni/">Java Native
Interface</a>, the <a href=
"http://java.sun.com/javase/6/docs/technotes/guides/jvmti/">JVM<sup><font size="-2">TM</font></sup>
Tool Interface</a>, and other functionality of the
Java<sup><font size="-2">TM</font></sup> platform.<br>
<br></dd>
<dt><b>Source Code</b></dt>
<dd>(In <code>src.zip</code>) Java<sup><font size="-2">TM</font></sup>
programming language source files for all classes that make up the
Java&nbsp;core API (that is, sources files for the java.*, javax.* and
some org.* packages, but not for com.sun.* packages). This source code
is provided for informational purposes only, to help developers learn
and use the Java<sup><font size="-2">TM</font></sup> programming
language. These files do not include platform-specific implementation
code and cannot be used to rebuild the class libraries. To extract
these file, use any common zip utility. Or, you may use the Jar
utility in the JDK's <code>bin/</code> directory:<br>
<br>
<code>jar xvf src.zip</code></dd>
</dl>
</dd>
</dl>
<h2><a name="jre" id="jre"></a>The Java Runtime Environment
(JRE<sup><font size="-2">TM</font></sup>)</h2>
<blockquote>
The Java<sup><font size="-2">TM</font></sup> Runtime Environment
(JRE<sup><font size="-2">TM</font></sup>) is available as a separately
downloadable product. See the <a href=
"http://java.sun.com/javase/6/download.jsp">download web site</a>.
</blockquote>
<blockquote>
The JRE allows you to run applications written in the Java<sup><font size=
"-2">TM</font></sup> programming language. Like the JDK<sup><font size=
"-2">TM</font></sup>, it contains the Java<sup><font size=
"-2">TM</font></sup> Virtual Machine (JVM<sup><font size=
"-2">TM</font></sup>), classes comprising the Java<sup><font size=
"-2">TM</font></sup> platform API, and supporting files. Unlike the JDK,
it does not contain development tools such as compilers and debuggers.
</blockquote>
<blockquote>
You can freely redistribute the JRE with your application, according to
the terms of the JRE license. Once you have developed your application
using the JDK, you can ship it with the JRE so your end-users will have a
Java<sup><font size="-2">TM</font></sup> platform on which to run your
software.
</blockquote>
<h2><a name="redistribution" id="redistribution"></a>Redistribution</h2>
<blockquote>
<blockquote>
<hr>
NOTE - The license for this software does not allow the redistribution
of beta and other pre-release versions.
<hr>
</blockquote>
</blockquote>
<blockquote>
Subject to the terms and conditions of the Software License Agreement and
the obligations, restrictions, and exceptions set forth below, You may
reproduce and distribute the Software (and also portions of Software
identified below as Redistributable), provided that:
</blockquote>
<blockquote>
<ol type="a">
<li>you distribute the Software complete and unmodified and only bundled
as part of Your applets and applications ("Programs"),</li>
<li>your Programs add significant and primary functionality to the
Software,</li>
<li>your Programs are only intended to run on Java-enabled general
purpose desktop computers and servers,</li>
<li>you distribute Software for the sole purpose of running your
Programs,</li>
<li>you do not distribute additional software intended to replace any
component(s) of the Software,</li>
<li>you do not remove or alter any proprietary legends or notices
contained in or on the Software,</li>
<li>you only distribute the Software subject to a license agreement that
protects Sun's interests consistent with the terms contained in this
Agreement, and</li>
<li>you agree to defend and indemnify Sun and its licensors from and
against any damages, costs, liabilities, settlement amounts and/or
expenses (including attorneys' fees) incurred in connection with any
claim, lawsuit or action by any third party that arises or results from
the use or distribution of any and all Programs and/or Software.</li>
</ol>
</blockquote>
<blockquote>
The term "vendors" used here refers to licensees, developers, and
independent software vendors (ISVs) who license and distribute the
Java<sup><font size="-2">TM</font></sup> Development Kit
(JDK<sup><font size="-2">TM</font></sup>) with their programs.
</blockquote>
<blockquote>
Vendors must follow the terms of the Java Development Kit Binary Code
License agreement.
</blockquote>
<h3>Required vs. Optional Files</h3>
<blockquote>
The files that make up the Java<sup><font size="-2">TM</font></sup>
Development Kit (JDK<sup><font size="-2">TM</font></sup>) are divided into
two categories: required and optional. Optional files may be excluded from
redistributions of the JDK at the vendor's discretion.
</blockquote>
<blockquote>
The following section contains a list of the files and directories that
may optionally be omitted from redistributions of the JDK. All files not
in these lists of optional files must be included in redistributions of
the JDK.
</blockquote>
<h3>Optional Files and Directories</h3>
<blockquote>
The following files may be optionally excluded from redistributions. These
files are located in the jdk1.6.0_&lt;version&gt; directory, where
&lt;version&gt; is the update version number. Solaris<sup><font size=
"-2">TM</font></sup> and Linux filenames and separators are shown. Windows
executables have the ".exe" suffix. Corresponding files with
<code>_g</code> in the name can also be excluded. The corresponding man
pages should be excluded for any excluded executables (with paths listed
below beginning with <code>bin/</code>, for the Solaris<sup><font size=
"-2">TM</font></sup> Operating System and Linux).
</blockquote>
<dl>
<dd>
<dl>
<dt><code>jre/lib/charsets.jar</code></dt>
<dd>Character conversion classes</dd>
<dt><code>jre/lib/ext/</code></dt>
<dd><code>sunjce_provider.jar</code> - the SunJCE provider for Java
Cryptography APIs<br>
<code>localedata.jar</code> - contains many of the resources needed
for non US English locales<br>
<code>ldapsec.jar</code> - contains security features supported by the
LDAP service provider<br>
<code>dnsns.jar</code> - for the InetAddress wrapper of JNDI DNS
provider</dd>
<dt><code>bin/rmid</code> and <code>jre/bin/rmid</code></dt>
<dd>Java RMI Activation System Daemon</dd>
<dt><code>bin/rmiregistry</code> and
<code>jre/bin/rmiregistry</code></dt>
<dd>Java Remote Object Registry</dd>
<dt><code>bin/tnameserv</code> and <code>jre/bin/tnameserv</code></dt>
<dd>Java IDL Name Server</dd>
<dt><code>bin/keytool</code> and <code>jre/bin/keytool</code></dt>
<dd>Key and Certificate Management Tool</dd>
<dt><code>bin/kinit</code> and <code>jre/bin/kinit</code></dt>
<dd>Used to obtain and cache Kerberos ticket-granting tickets</dd>
<dt><code>bin/klist</code> and <code>jre/bin/klist</code></dt>
<dd>Kerberos display entries in credentials cache and keytab</dd>
<dt><code>bin/ktab</code> and <code>jre/bin/ktab</code></dt>
<dd>Kerberos key table manager</dd>
<dt><code>bin/policytool</code> and
<code>jre/bin/policytool</code></dt>
<dd>Policy File Creation and Management Tool</dd>
<dt><code>bin/orbd</code> and <code>jre/bin/orbd</code></dt>
<dd>Object Request Broker Daemon</dd>
<dt><code>bin/servertool</code> and
<code>jre/bin/servertool</code></dt>
<dd>Java IDL Server Tool</dd>
<dt><code>bin/javaws</code>, <code>jre/bin/javaws</code>,
<code>jre/lib/javaws/</code> and <code>jre/lib/javaws.jar</code></dt>
<dd>Java Web Start</dd>
<dt><code>db/</code></dt>
<dd>
Java DB, Sun Microsystems's distribution of the Apache Derby
database technology. Default installation locations are:
<ul>
<li>Solaris: <code>/opt/SUNWjavadb</code></li>
<li>Linux: <code>/opt/sun/javadb</code></li>
<li>Windows: <code>C:\Program Files\Sun\JavaDB</code></li>
</ul>For information on Java DB and Derby, including user and API
documentation, the capabilities of Java DB and further resources,
see the index.html file in the above directories.
</dd>
<dt><code>demo/</code></dt>
<dd>Demo Applets and Applications</dd>
<dt><code>sample/</code></dt>
<dd>Sample Code</dd>
<dt><code>src.zip</code></dt>
<dd>Archive of source files</dd>
</dl>
</dd>
</dl>
<h3><a name="redistributablejdkfiles" id=
"redistributablejdkfiles"></a>Redistributable JDK<sup><font size=
"-2">TM</font></sup> Files</h3>
<blockquote>
The limited set of files and directories from the JDK listed below may be
included in vendor redistributions of the Java<sup><font size=
"-2">TM</font></sup> Runtime Environment (JRE<sup><font size=
"-2">TM</font></sup>). They cannot be redistributed separately, and must
accompany an identically versioned JRE distribution. All paths are
relative to the top-level directory of the JDK. The corresponding man
pages should be included for any included executables (with paths listed
below beginning with <code>bin/</code>, for the Solaris<sup><font size=
"-2">TM</font></sup> Operating System and Linux).
</blockquote>
<dl>
<dd>
<dl>
<dt><code>jre/lib/cmm/PYCC.pf</code></dt>
<dd>Color profile. This file is required only if one wishes to convert
between the PYCC color space and another color space.</dd>
<dt>All <code>.ttf</code> font files in the
<code>jre/lib/fonts/</code> directory.</dt>
<dd>Note that the LucidaSansRegular.ttf font is already contained in
the JRE, so there is no need to bring that file over from the
JDK.</dd>
<dt><code>jre/lib/audio/soundbank.gm</code></dt>
<dd>This MIDI soundbank is present in the JDK, but it has been removed
from the JRE in order to reduce the size of the JRE download bundle.
However, a soundbank file is necessary for MIDI playback, and
therefore the JDK's <code>soundbank.gm</code> file may be included in
redistributions of the JRE at the vendor's discretion. Several
versions of enhanced MIDI soundbanks are available from the Java Sound
web site: <a href=
"http://java.sun.com/products/java-media/sound/">http://java.sun.com/products/java-media/sound/</a>.
These alternative soundbanks may be included in redistributions of the
JRE.</dd>
<dt>The javac bytecode compiler, consisting of the following
files:</dt>
<dd><code>bin/javac</code> [Solaris<sup><font size=
"-2">TM</font></sup> Operating System and Linux]<br>
<code>bin/sparcv9/javac</code> [Solaris<sup><font size=
"-2">TM</font></sup> Operating System (SPARC(R) Platform Edition)]<br>
<code>bin/amd64/javac</code> [Solaris<sup><font size=
"-2">TM</font></sup> Operating System (AMD)]<br>
<code>bin/javac.exe</code> [Microsoft Windows]<br>
<code>lib/tools.jar</code> [All platforms]</dd>
<dt>The Annotation Processing Tool, consisting of the following
files:</dt>
<dd><code>lib/tools.jar</code> [All platforms]<br>
<code>bin/apt</code> [Solaris<sup><font size="-2">TM</font></sup>
Operating System and Linux]<br>
<code>bin/sparcv9/apt</code> [Solaris<sup><font size=
"-2">TM</font></sup> Operating System (SPARC(R) Platform Edition)]<br>
<code>bin/amd64/apt</code> [Solaris<sup><font size=
"-2">TM</font></sup> Operating System (AMD)]<br>
<code>bin/apt.exe</code> [Microsoft Windows]</dd>
<dt><code>lib/jconsole.jar</code></dt>
<dd>The Jconsole application. NOTE: The Jconsole application requires
the dynamic attach mechanism.</dd>
<dt>The dynamic attach mechanism consisting of the following
files:</dt>
<dd><code>lib/tools.jar</code> [All platforms]<br>
<code>jre/lib/sparc/libattach.so</code> [Solaris<sup><font size=
"-2">TM</font></sup> Operating System (SPARC(R) Platform Edition) and
Linux]<br>
<code>jre/lib/sparcv9/libattach.so</code> [Solaris<sup><font size=
"-2">TM</font></sup> Operating System (SPARC(R) Platform Edition) and
Linux]<br>
<code>jre/lib/i386/libattach.so</code> [Solaris<sup><font size=
"-2">TM</font></sup> Operating System (x86) and Linux]<br>
<code>jre/lib/amd64/libattach.so</code> [Solaris<sup><font size=
"-2">TM</font></sup> Operating System (AMD) and Linux]<br>
<code>jre\bin\attach.dll</code> [Microsoft Windows]<br></dd>
<dt>The Java Platform Debugger Architecture implementation consisting
of the files shown in the dynamic attach section above, and the
following files:</dt>
<dd><code>lib/tools.jar</code> [All platforms]<br>
<code>lib/sa-jdi.jar</code> [All platforms]<br>
<code>jre/lib/sparc/libsaproc.so</code> [Solaris<sup><font size=
"-2">TM</font></sup> Operating System (SPARC(R) Platform Edition) and
Linux]<br>
<code>jre/lib/sparcv9/libsaproc.so</code> [Solaris<sup><font size=
"-2">TM</font></sup> Operating System (SPARC(R) Platform Edition) and
Linux]<br>
<code>jre/lib/i386/libsaproc.so</code> [Solaris<sup><font size=
"-2">TM</font></sup> Operating System (x86) and Linux]<br>
<code>jre/lib/amd64/libsaproc.so</code> [Solaris<sup><font size=
"-2">TM</font></sup> Operating System (AMD) and Linux]<br></dd>
<dt><code>jre\bin\server\</code></dt>
<dd>On Microsoft Windows platforms, the JDK includes both the Java
HotSpot<sup><font size="-2">TM</font></sup> Server VM and Java
HotSpot<sup><font size="-2">TM</font></sup> Client VM. However, the
JRE for Microsoft Windows platforms includes only the Java
HotSpot<sup><font size="-2">TM</font></sup> Client VM. Those wishing
to use the Java HotSpot<sup><font size="-2">TM</font></sup> Server VM
with the JRE may copy the JDK's <code>jre\bin\server</code> folder to
a <code>bin\server</code> directory in the JRE. Software vendors may
redistribute the Java HotSpot<sup><font size="-2">TM</font></sup>
Server VM with their redistributions of the JRE.</dd>
</dl>
</dd>
</dl>
<h3>Unlimited Strength Java Cryptography Extension</h3>
<blockquote>
Due to import control restrictions for some countries, the Java
Cryptography Extension (JCE) policy files shipped with the JDK and the JRE
allow strong but limited cryptography to be used. These files are located
at<br>
<br>
<code>&lt;java-home&gt;/lib/security/local_policy.jar</code><br>
<code>&lt;java-home&gt;/lib/security/US_export_policy.jar</code><br>
<br>
where <code>&lt;java-home&gt;</code> is the <code>jre</code> directory of
the JDK or the top-level directory of the JRE.
</blockquote>
<blockquote>
An unlimited strength version of these files indicating no restrictions on
cryptographic strengths is available on the JDK web site for those living
in eligible countries. Those living in eligible countries may download the
unlimited strength version and replace the strong cryptography jar files
with the unlimited strength files.
</blockquote>
<h3>The cacerts Certificates File</h3>
<blockquote>
Root CA certificates may be added to or removed from the Java SE
certificate file located at
</blockquote>
<blockquote>
<code>&lt;java-home&gt;/lib/security/cacerts</code>
</blockquote>
<blockquote>
For more information, see <a href=
"http://java.sun.com/javase/6/docs/technotes/tools/solaris/keytool.html#cacerts">
The cacerts Certificates File</a> section in the keytool documentation.
</blockquote>
<h2><a name="endorsed" id="endorsed"></a> Java Endorsed Standards Override
Mechanism</h2>
<blockquote>
From time to time it is necessary to update the Java platform in order to
incorporate newer versions of standards that are created outside of the
Java Community Process<font size="-2"><sup>SM</sup></font> (JCP<font size=
"-2"><sup>SM</sup></font> <a href=
"http://www.jcp.org/">http://www.jcp.org/</a>) (<i>Endorsed
Standards</i>), or in order to update the version of a technology included
in the platform to correspond to a later standalone version of that
technology (<i>Standalone Technologies</i>).
</blockquote>
<blockquote>
The <i>Endorsed Standards Override Mechanism</i> provides a means whereby
later versions of classes and interfaces that implement Endorsed Standards
or Standalone Technologies may be incorporated into the Java Platform.
</blockquote>
<blockquote>
For more information on the Endorsed Standards Override Mechanism,
including the list of platform packages that it may be used to override,
see
</blockquote>
<blockquote>
<a href=
"http://java.sun.com/javase/6/docs/technotes/guides/standards/">http://java.sun.com/javase/6/docs/technotes/guides/standards/</a>
</blockquote>
<h2><a name="javadb" id="javadb"></a>Java DB</h2>
<blockquote>
This distribution bundles Java DB, Sun Microsystems' distribution of the
Apache Derby pure Java database technology. Default installation locations
are:
<ul>
<li>Solaris: <code>/opt/SUNWjavadb</code></li>
<li>Linux: <code>/opt/sun/javadb</code></li>
<li>Windows: <code>C:\Program Files\Sun\JavaDB</code></li>
</ul>
<p>For information on Java DB and Derby, including user and API
documentation, the capabilities of Java DB and further resources, see the
index.html file in the above directories.</p>
</blockquote>
<h2><a name="webpages" id="webpages"></a>Web Pages</h2>
<blockquote>
For additional information, refer to these Sun Microsystems pages on the
World Wide Web:
</blockquote>
<dl>
<dd>
<dl>
<dt><a href="http://java.sun.com/">http://java.sun.com/</a></dt>
<dd>The Java Software web site, with the latest information on Java
technology, product information, news, and features.</dd>
<dt><a href=
"http://java.sun.com/docs">http://java.sun.com/docs</a></dt>
<dd>Java<sup><font size="-2">TM</font></sup> platform Documentation
provides access to white papers, the Java Tutorial and other
documents.</dd>
<dt><a href=
"http://developer.java.sun.com/">http://developer.java.sun.com</a></dt>
<dd>Developer Services web site (Free registration required).
Additional technical information, news, and features; user forums;
support information, and much more.</dd>
<dt><a href=
"http://java.sun.com/products/">http://java.sun.com/products/</a></dt>
<dd>Java Technology Products &amp; API</dd>
</dl>
</dd>
</dl>
<hr>
<p><font size="2">The Java<sup><font size="-2">TM</font></sup> Development
Kit (JDK<sup><font size="-2">TM</font></sup>) is a product of Sun
Microsystems<sup><font size="-2">TM</font></sup>, Inc.<br>
<br>
Copyright &copy; 2008 Sun Microsystems, Inc.<br>
4150 Network Circle, Santa Clara, California 95054, U.S.A.<br>
All rights reserved.</font></p>
<script type="text/javascript" language="JavaScript" src="/js/omi/jsc/s_code_remote.js">
</script>
</body>
</html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,26 @@
The MIT License (MIT)
[OSI Approved License]
The MIT License (MIT)
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

Binary file not shown.

Binary file not shown.

View file

@ -1,15 +0,0 @@
License
PostgreSQL is released under the BSD license.
PostgreSQL Database Management System
(formerly known as Postgres, then as Postgres95)
Portions Copyright (c) 1996-2005, The PostgreSQL Global Development Group
Portions Copyright (c) 1994, The Regents of the University of California
Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.

View file

@ -0,0 +1,325 @@
=========================================================================
== Apache License ==
=========================================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
=========================================================================
== AMQP License ==
=========================================================================
Copyright Notice
================
(c) Copyright JPMorgan Chase Bank & Co., Cisco Systems, Inc., Envoy Technologies Inc.,
iMatix Corporation, IONA\ufffd Technologies, Red Hat, Inc.,
TWIST Process Innovations, and 29West Inc. 2006. All rights reserved.
License
=======
JPMorgan Chase Bank & Co., Cisco Systems, Inc., Envoy Technologies Inc., iMatix
Corporation, IONA Technologies, Red Hat, Inc., TWIST Process Innovations, and
29West Inc. (collectively, the "Authors") each hereby grants to you a worldwide,
perpetual, royalty-free, nontransferable, nonexclusive license to
(i) copy, display, distribute and implement the Advanced Messaging Queue Protocol
("AMQP") Specification and (ii) the Licensed Claims that are held by
the Authors, all for the purpose of implementing the Advanced Messaging
Queue Protocol Specification. Your license and any rights under this
Agreement will terminate immediately without notice from
any Author if you bring any claim, suit, demand, or action related to
the Advanced Messaging Queue Protocol Specification against any Author.
Upon termination, you shall destroy all copies of the Advanced Messaging
Queue Protocol Specification in your possession or control.
As used hereunder, "Licensed Claims" means those claims of a patent or
patent application, throughout the world, excluding design patents and
design registrations, owned or controlled, or that can be sublicensed
without fee and in compliance with the requirements of this
Agreement, by an Author or its affiliates now or at any
future time and which would necessarily be infringed by implementation
of the Advanced Messaging Queue Protocol Specification. A claim is
necessarily infringed hereunder only when it is not possible to avoid
infringing it because there is no plausible non-infringing alternative
for implementing the required portions of the Advanced Messaging Queue
Protocol Specification. Notwithstanding the foregoing, Licensed Claims
shall not include any claims other than as set forth above even if
contained in the same patent as Licensed Claims; or that read solely
on any implementations of any portion of the Advanced Messaging Queue
Protocol Specification that are not required by the Advanced Messaging
Queue Protocol Specification, or that, if licensed, would require a
payment of royalties by the licensor to unaffiliated third parties.
Moreover, Licensed Claims shall not include (i) any enabling technologies
that may be necessary to make or use any Licensed Product but are not
themselves expressly set forth in the Advanced Messaging Queue Protocol
Specification (e.g., semiconductor manufacturing technology, compiler
technology, object oriented technology, networking technology, operating
system technology, and the like); or (ii) the implementation of other
published standards developed elsewhere and merely referred to in the
body of the Advanced Messaging Queue Protocol Specification, or
(iii) any Licensed Product and any combinations thereof the purpose or
function of which is not required for compliance with the Advanced
Messaging Queue Protocol Specification. For purposes of this definition,
the Advanced Messaging Queue Protocol Specification shall be deemed to
include both architectural and interconnection requirements essential
for interoperability and may also include supporting source code artifacts
where such architectural, interconnection requirements and source code
artifacts are expressly identified as being required or documentation to
achieve compliance with the Advanced Messaging Queue Protocol Specification.
As used hereunder, "Licensed Products" means only those specific portions
of products (hardware, software or combinations thereof) that implement
and are compliant with all relevant portions of the Advanced Messaging
Queue Protocol Specification.
The following disclaimers, which you hereby also acknowledge as to any
use you may make of the Advanced Messaging Queue Protocol Specification:
THE ADVANCED MESSAGING QUEUE PROTOCOL SPECIFICATION IS PROVIDED "AS IS,"
AND THE AUTHORS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE
CONTENTS OF THE ADVANCED MESSAGING QUEUE PROTOCOL SPECIFICATION ARE
SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF THE ADVANCED
MESSAGING QUEUE PROTOCOL SPECIFICATION WILL NOT INFRINGE ANY THIRD PARTY
PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL,
INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY
USE, IMPLEMENTATION OR DISTRIBUTION OF THE ADVANCED MESSAGING QUEUE
PROTOCOL SPECIFICATION.
The name and trademarks of the Authors may NOT be used in any manner,
including advertising or publicity pertaining to the Advanced Messaging
Queue Protocol Specification or its contents without specific, written
prior permission. Title to copyright in the Advanced Messaging Queue
Protocol Specification will at all times remain with the Authors.
No other rights are granted by implication, estoppel or otherwise.
Upon termination of your license or rights under this Agreement, you
shall destroy all copies of the Advanced Messaging Queue Protocol
Specification in your possession or control.
Trademarks
==========
"JPMorgan", "JPMorgan Chase", "Chase", the JPMorgan Chase logo and the
Octagon Symbol are trademarks of JPMorgan Chase & Co.
IMATIX and the iMatix logo are trademarks of iMatix Corporation sprl.
IONA, IONA Technologies, and the IONA logos are trademarks of IONA
Technologies PLC and/or its subsidiaries.
LINUX is a trademark of Linus Torvalds. RED HAT and JBOSS are registered
trademarks of Red Hat, Inc. in the US and other countries.
Java, all Java-based trademarks and OpenOffice.org are trademarks of
Sun Microsystems, Inc. in the United States, other countries, or both.
Other company, product, or service names may be trademarks or service
marks of others.
Links to full AMQP specification:
=================================
http://www.envoytech.org/spec/amq/
http://www.iona.com/opensource/amqp/
http://www.redhat.com/solutions/specifications/amqp/
http://www.twiststandards.org/tiki-index.php?page=AMQ
http://www.imatix.com/amqp