diff --git a/.gitignore b/.gitignore
index 78010540..bfef843e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,9 @@
+.DS_Store
/classes
/package
/nbproject/private/
/build/
-/dist/
\ No newline at end of file
+/dist/
+*.jar
+*.zip
+src/corba/com/bbn/openmap/corba
diff --git a/build.xml b/build.xml
index c6dd5352..87bcdad7 100644
--- a/build.xml
+++ b/build.xml
@@ -18,7 +18,7 @@
**/*.gif, **/*.png, **/IntersectionTest.java" />
-
+
@@ -221,5 +221,14 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/openmap/com/bbn/openmap/MapBean.java b/src/openmap/com/bbn/openmap/MapBean.java
index c7c494bb..8e5e87f3 100644
--- a/src/openmap/com/bbn/openmap/MapBean.java
+++ b/src/openmap/com/bbn/openmap/MapBean.java
@@ -151,7 +151,7 @@ public class MapBean extends JComponent
/**
* OpenMap version.
*/
- public static final String version = "5.1.15";
+ public static final String version = "5.1.15b";
/**
* Suppress the copyright message on initialization.
diff --git a/src/openmap/com/bbn/openmap/layer/location/LocationLayer.java b/src/openmap/com/bbn/openmap/layer/location/LocationLayer.java
index 72995f21..63fc2a51 100644
--- a/src/openmap/com/bbn/openmap/layer/location/LocationLayer.java
+++ b/src/openmap/com/bbn/openmap/layer/location/LocationLayer.java
@@ -581,14 +581,30 @@ public Properties getProperties(Properties props) {
props.put(prefix + AllowPartialsProperty, new Boolean(declutterMatrix.isAllowPartials()).toString());
}
- StringBuffer handlerList = new StringBuffer();
+ StringBuilder handlerList = new StringBuilder();
// Need to hand this off to the location handlers, and build a
// list of marker names to use in the LocationLayer property
// list.
if (dataHandlers != null) {
+ String handler;
+ int len;
for (LocationHandler dataHandler : dataHandlers) {
dataHandler.getProperties(props);
+ handler = dataHandler.getPropertyPrefix();
+ if (handler != null) {
+ handler = handler.trim();
+ len = handler.length();
+ if (handler.charAt(len - 1) == '.') {
+ len--;
+ }
+ if (len > 0) {
+ if (handlerList.length() != 0) {
+ handlerList.append(' ');
+ }
+ handlerList.append(handler, 0, len);
+ }
+ }
}
}
diff --git a/src/openmap/com/bbn/openmap/omGraphics/OMScalingRaster.java b/src/openmap/com/bbn/openmap/omGraphics/OMScalingRaster.java
index aa5c478a..8c6564fb 100644
--- a/src/openmap/com/bbn/openmap/omGraphics/OMScalingRaster.java
+++ b/src/openmap/com/bbn/openmap/omGraphics/OMScalingRaster.java
@@ -563,44 +563,71 @@ public void render(Graphics graphics) {
* @param loc the pixel location of the image.
*/
protected void renderImage(Graphics g, Image image, Point loc) {
+ if (image == null) {
+ if (DEBUG) {
+ logger.fine("ignoring null bitmap image");
+ }
+ return;
+ }
+ if (!(g instanceof Graphics2D)) {
+ if (DEBUG) {
+ logger.fine("ignoring graphics (" + g.getClass() + ")");
+ }
+ return;
+ }
+ final Rectangle visibleImageArea = getClippedRectangle();
+ if (visibleImageArea == null) {
+ if (DEBUG) {
+ logger.fine("ignoring null visible image area");
+ }
+ return;
+ }
+ try {
+ drawImage((Graphics2D) g, visibleImageArea, image, loc);
+ } catch (Exception ex) {
+ logger.warning(ex.toString());
+ logger.info(getClass().getName() + "[x=" + x + ",y=" + y + ",width=" + width
+ + ",height=" + height + "]" + "[vx=" + visibleImageArea.x + ",vy="
+ + visibleImageArea.y + ",vwidth=" + visibleImageArea.width + ",vheight="
+ + visibleImageArea.height + "]");
+ }
+ }
- Rectangle visibleImageArea = getClippedRectangle();
-
- if (image != null) {
-
- if (visibleImageArea != null) {
-
- if (DEBUG) {
- logger.fine("drawing " + visibleImageArea + " image at " + loc.x + ", "
- + loc.y);
- }
+ /**
+ * Draw the image.
+ *
+ * @param g
+ * @param g the Graphics object to render the image into. Assumes this is a
+ * derivative of the Graphics passed into the OMGraphic, and can be
+ * modified without worrying about passing settings on to other
+ * OMGraphics.
+ * @param image the image to render.
+ * @param loc the pixel location of the image.
+ * @throws Exception if error.
+ */
+ protected void drawImage(final Graphics2D g, final Rectangle visibleImageArea,
+ final Image image, final Point loc)
+ throws Exception {
+ if (DEBUG) {
+ logger.fine("drawing " + visibleImageArea + " image at " + loc.x + ", " + loc.y);
+ }
+ if (image instanceof BufferedImage) {
+ g.drawImage(((BufferedImage) image).getSubimage(visibleImageArea.x, visibleImageArea.y, visibleImageArea.width, visibleImageArea.height), scalingXFormOp, loc.x, loc.y);
+ } else {
- if (g instanceof Graphics2D) {
- if (image instanceof BufferedImage) {
- ((Graphics2D) g).drawImage(((BufferedImage) image).getSubimage(visibleImageArea.x, visibleImageArea.y, visibleImageArea.width, visibleImageArea.height), scalingXFormOp, loc.x, loc.y);
- } else {
-
- int sx1 = visibleImageArea.x;
- int sy1 = visibleImageArea.y;
- int sx2 = sx1 + visibleImageArea.width;
- int sy2 = sy1 + visibleImageArea.height;
-
- int dx1 = loc.x;
- int dy1 = loc.y;
- Point2D d2 = scalingXFormOp.getPoint2D(new Point2D.Double(dx1
- + visibleImageArea.width, dy1
- + visibleImageArea.height), new Point2D.Double());
- int dx2 = (int) d2.getX();
- int dy2 = (int) d2.getY();
-
- ((Graphics2D) g).drawImage(image, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, this);
- }
- } // else what? Never seen this test fail with Java2D
+ int sx1 = visibleImageArea.x;
+ int sy1 = visibleImageArea.y;
+ int sx2 = sx1 + visibleImageArea.width;
+ int sy2 = sy1 + visibleImageArea.height;
- }
+ int dx1 = loc.x;
+ int dy1 = loc.y;
+ Point2D d2 = scalingXFormOp.getPoint2D(new Point2D.Double(dx1
+ + visibleImageArea.width, dy1 + visibleImageArea.height), new Point2D.Double());
+ int dx2 = (int) d2.getX();
+ int dy2 = (int) d2.getY();
- } else if (DEBUG) {
- logger.fine("ignoring null bitmap image");
+ g.drawImage(image, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, this);
}
}
diff --git a/src/openmap/com/bbn/openmap/util/PropUtils.java b/src/openmap/com/bbn/openmap/util/PropUtils.java
index 772de377..63657bb9 100644
--- a/src/openmap/com/bbn/openmap/util/PropUtils.java
+++ b/src/openmap/com/bbn/openmap/util/PropUtils.java
@@ -582,7 +582,7 @@ public static long longFromProperties(Properties p, String propName, long defaul
*/
public static Color parseColorFromProperties(Properties p, String propName, String dfault)
throws NumberFormatException {
- return ColorFactory.parseColorFromProperties(p, propName, dfault, false);
+ return ColorFactory.parseColorFromProperties(p, propName, dfault, true);
}
/**
@@ -657,7 +657,7 @@ public static Color parseColor(String colorString, boolean forceAlpha)
* @see ColorFactory#parseColor(String, boolean)
*/
public static Color parseColor(String colorString) throws NumberFormatException {
- return ColorFactory.parseColor(colorString, false);
+ return ColorFactory.parseColor(colorString, true);
}
/**