some modification suggested by pmd:

- move fields before method
- chain StringBuilder appends
This commit is contained in:
Hannes Janetzek 2014-04-02 22:29:20 +02:00
parent e13bc7822f
commit 9bca50dfed
19 changed files with 192 additions and 182 deletions

View File

@ -48,8 +48,7 @@ public abstract class AssetAdapter {
String line;
try {
while ((line = r.readLine()) != null) {
sb.append(line);
sb.append('\n');
sb.append(line).append('\n');
}
} catch (IOException e) {
e.printStackTrace();

View File

@ -19,7 +19,7 @@ package org.oscim.backend.canvas;
import org.oscim.utils.FastMath;
public class Color {
public final class Color {
public static int fadePremul(int color, double alpha) {
alpha = FastMath.clamp(alpha, 0, 1);
@ -238,4 +238,8 @@ public class Color {
}
return fallBackColor;
}
private Color() {
/* Singleton */
}
}

View File

@ -55,7 +55,7 @@ public class BoundingBox {
/**
* The hash code of this object.
*/
private transient int hashCodeValue;
private final int hashCodeValue;
/**
* @param minLatitudeE6
@ -163,29 +163,29 @@ public class BoundingBox {
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("BoundingBox [minLat=");
sb.append(minLatitudeE6);
sb.append(", minLon=");
sb.append(minLongitudeE6);
sb.append(", maxLat=");
sb.append(maxLatitudeE6);
sb.append(", maxLon=");
sb.append(maxLongitudeE6);
sb.append("]");
return sb.toString();
return new StringBuilder()
.append("BoundingBox [minLat=")
.append(minLatitudeE6)
.append(", minLon=")
.append(minLongitudeE6)
.append(", maxLat=")
.append(maxLatitudeE6)
.append(", maxLon=")
.append(maxLongitudeE6)
.append("]")
.toString();
}
public String format() {
StringBuilder sb = new StringBuilder();
sb.append(minLatitudeE6 / CONVERSION_FACTOR);
sb.append(',');
sb.append(minLongitudeE6 / CONVERSION_FACTOR);
sb.append(',');
sb.append(maxLatitudeE6 / CONVERSION_FACTOR);
sb.append(',');
sb.append(maxLongitudeE6 / CONVERSION_FACTOR);
return sb.toString();
return new StringBuilder()
.append(minLatitudeE6 / CONVERSION_FACTOR)
.append(',')
.append(minLongitudeE6 / CONVERSION_FACTOR)
.append(',')
.append(maxLatitudeE6 / CONVERSION_FACTOR)
.append(',')
.append(maxLongitudeE6 / CONVERSION_FACTOR)
.toString();
}
/**

View File

@ -134,13 +134,13 @@ public class GeoPoint implements Comparable<GeoPoint> {
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("GeoPoint [lat=");
sb.append(this.getLatitude());
sb.append(", lon=");
sb.append(this.getLongitude());
sb.append("]");
return sb.toString();
return new StringBuilder()
.append("GeoPoint [lat=")
.append(this.getLatitude())
.append(", lon=")
.append(this.getLongitude())
.append("]")
.toString();
}
/**

View File

@ -328,7 +328,7 @@ public class GeometryBuffer {
for (int j = 0; j < index[i]; j += 2) {
sb.append('[')
.append(points[o + j])
.append(",")
.append(',')
.append(points[o + j + 1])
.append(']');
}

View File

@ -148,7 +148,7 @@ public class Tag {
* the textual representation of the tag.
*/
public static Tag parse(String tag) {
int splitPosition = tag.indexOf("=");
int splitPosition = tag.indexOf('=');
if (splitPosition < 0) {
return new Tag(tag, "");
}

View File

@ -60,15 +60,15 @@ public class Tile {
@Override
public String toString() {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("[X:");
stringBuilder.append(this.tileX);
stringBuilder.append(", Y:");
stringBuilder.append(this.tileY);
stringBuilder.append(", Z:");
stringBuilder.append(this.zoomLevel);
stringBuilder.append("]");
return stringBuilder.toString();
return new StringBuilder()
.append("[X:")
.append(this.tileX)
.append(", Y:")
.append(this.tileY)
.append(", Z:")
.append(this.zoomLevel)
.append("]")
.toString();
}
@Override

View File

@ -47,23 +47,14 @@ public class TileManager {
public final static Event TILE_LOADED = new Event();
public final static Event TILE_REMOVED = new Event();
public final EventDispatcher<Listener, MapTile> events = new EventDispatcher<Listener, MapTile>() {
@Override
public void tell(Listener l, Event event, MapTile tile) {
l.onTileManagerEvent(event, tile);
}
};
public interface Listener extends EventListener {
void onTileManagerEvent(Event event, MapTile tile);
};
private int mCacheLimit;
private final int mCacheLimit;
private int mCacheReduce;
private int mMinZoom;
private int mMaxZoom;
private final int mMinZoom;
private final int mMaxZoom;
private int[] mZoomTable;
/**
* limit number tiles with new data not uploaded to GL
@ -105,6 +96,8 @@ public class TileManager {
/* job queue filled in TileManager and polled by TileLoaders */
private final JobQueue jobQueue;
private final float[] mMapPlane = new float[8];
private final QuadTree<TileNode, MapTile> mIndex = new QuadTree<TileNode, MapTile>() {
@Override
@ -124,7 +117,17 @@ public class TileManager {
}
};
private final float[] mMapPlane = new float[8];
public final EventDispatcher<Listener, MapTile> events = new EventDispatcher<Listener, MapTile>() {
@Override
public void tell(Listener l, Event event, MapTile tile) {
l.onTileManagerEvent(event, tile);
}
};
public interface Listener extends EventListener {
void onTileManagerEvent(Event event, MapTile tile);
};
public TileManager(Map map, int minZoom, int maxZoom, int cacheLimit) {
mMap = map;
@ -144,8 +147,6 @@ public class TileManager {
mUpdateSerial = 0;
}
private int[] mZoomTable;
public void setZoomTable(int[] zoomLevel) {
mZoomTable = zoomLevel;
@ -524,7 +525,7 @@ public class TileManager {
if (!success || tile.state == CANCEL) {
log.debug("loading {}: {}",
(!success ? "failed" : "canceled"),
(success ? "canceled" : "failed"),
tile);
tile.clear();
return;

View File

@ -22,7 +22,7 @@ class S3DBTileLoader extends TileLoader {
static final Logger log = LoggerFactory.getLogger(S3DBTileLoader.class);
/** current TileDataSource used by this MapTileLoader */
private ITileDataSource mTileDataSource;
private final ITileDataSource mTileDataSource;
private ExtrusionLayer mLayers;
private ExtrusionLayer mRoofs;

View File

@ -35,16 +35,12 @@ public class Animator {
//static final Logger log = LoggerFactory.getLogger(MapAnimator.class);
public Animator(Map map) {
mMap = map;
}
private final int ANIM_NONE = 0;
private final int ANIM_MOVE = 1 << 0;
private final int ANIM_SCALE = 1 << 1;
private final int ANIM_ROTATE = 1 << 2;
private final int ANIM_TILT = 1 << 3;
private final int ANIM_FLING = 1 << 4;
private final static int ANIM_NONE = 0;
private final static int ANIM_MOVE = 1 << 0;
private final static int ANIM_SCALE = 1 << 1;
private final static int ANIM_ROTATE = 1 << 2;
private final static int ANIM_TILT = 1 << 3;
private final static int ANIM_FLING = 1 << 4;
private final Map mMap;
@ -61,6 +57,10 @@ public class Animator {
private int mState = ANIM_NONE;
public Animator(Map map) {
mMap = map;
}
public synchronized void animateTo(long duration, BoundingBox bbox) {
mMap.getMapPosition(mStartPos);
/* TODO for large distance first scale out, then in

View File

@ -32,7 +32,7 @@ public class GridRenderer extends ElementRenderer {
private final TextStyle mText;
private final LineLayer mLineLayer;
private final GeometryBuffer mLines;
private final StringBuffer mStringBuffer;
private final StringBuilder mStringBuffer;
private int mCurX, mCurY, mCurZ;
@ -77,7 +77,7 @@ public class GridRenderer extends ElementRenderer {
mLineLayer = layers.addLineLayer(0, lineStyle);
mLineLayer.addLine(mLines);
mStringBuffer = new StringBuffer(32);
mStringBuffer = new StringBuilder(32);
}
private void addLabels(int x, int y, int z) {
@ -86,17 +86,17 @@ public class GridRenderer extends ElementRenderer {
TextLayer tl = mTextLayer;
tl.clear();
StringBuffer sb = mStringBuffer;
StringBuilder sb = mStringBuffer;
for (int yy = -2; yy < 2; yy++) {
for (int xx = -2; xx < 2; xx++) {
sb.setLength(0);
sb.append(x + xx);
sb.append(" / ");
sb.append(y + yy);
sb.append(" / ");
sb.append(z);
sb.append(x + xx)
.append(" / ")
.append(y + yy)
.append(" / ")
.append(z);
TextItem ti = TextItem.pool.get();
ti.set(s * xx + s / 2, s * yy + s / 2, sb.toString(), mText);

View File

@ -40,18 +40,16 @@ public class ElementLayers extends TileData {
static final Logger log = LoggerFactory.getLogger(ElementLayers.class);
public static void initRenderer(GL20 gl) {
RenderElement.GL = gl;
public final static int[] VERTEX_SHORT_CNT = {
4, // LINE_VERTEX
6, // TEXLINE_VERTEX
2, // POLY_VERTEX
2, // MESH_VERTEX
4, // EXTRUSION_VERTEX
};
LineLayer.Renderer.init();
LineTexLayer.Renderer.init();
PolygonLayer.Renderer.init();
TextureLayer.Renderer.init();
BitmapLayer.Renderer.init();
MeshLayer.Renderer.init();
TextureItem.init(gl);
}
private final static int TEXTURE_VERTEX_SHORTS = 6;
private final static int SHORT_BYTES = 2;
/** mixed Polygon- and LineLayer */
private RenderElement baseLayers;
@ -269,17 +267,6 @@ public class ElementLayers extends TileData {
return layer;
}
public final static int[] VERTEX_SHORT_CNT = {
4, // LINE_VERTEX
6, // TEXLINE_VERTEX
2, // POLY_VERTEX
2, // MESH_VERTEX
4, // EXTRUSION_VERTEX
};
private final static int TEXTURE_VERTEX_SHORTS = 6;
private final static int SHORT_BYTES = 2;
// TODO move to specific layer implementation
public int getSize() {
int size = 0;
@ -399,4 +386,17 @@ public class ElementLayers extends TileData {
clear();
}
public static void initRenderer(GL20 gl) {
RenderElement.GL = gl;
LineLayer.Renderer.init();
LineTexLayer.Renderer.init();
PolygonLayer.Renderer.init();
TextureLayer.Renderer.init();
BitmapLayer.Renderer.init();
MeshLayer.Renderer.init();
TextureItem.init(gl);
}
}

View File

@ -400,12 +400,12 @@ public final class PolygonLayer extends RenderElement {
// TODO true could be avoided when same shader and vbo
setShader(polyShader, v, true);
if (color != 0) {
GLUtils.setColor(polyShader.uColor, color, alpha);
GLState.blend(true);
} else {
if (color == 0) {
/* disable drawing to framebuffer (will be re-enabled in fill) */
GL.glColorMask(false, false, false, false);
} else {
GLUtils.setColor(polyShader.uColor, color, alpha);
GLState.blend(true);
}
// TODO always pass stencil test: <-- only if not proxy?
@ -460,5 +460,9 @@ public final class PolygonLayer extends RenderElement {
//
// GLUtils.checkGlError("draw debug");
//}
private Renderer() {
/* Singleton */
}
}
}

View File

@ -119,16 +119,8 @@ public class XmlThemeBuilder extends DefaultHandler {
*/
public static void logUnknownAttribute(String element, String name,
String value, int attributeIndex) {
StringBuilder sb = new StringBuilder();
sb.append("unknown attribute in element ");
sb.append(element);
sb.append(" (");
sb.append(attributeIndex);
sb.append("): ");
sb.append(name);
sb.append('=');
sb.append(value);
log.debug(sb.toString());
log.debug("unknown attribute in element {} () : {} = {}",
element, attributeIndex, name, value);
}
private final ArrayList<RuleBuilder> mRulesList = new ArrayList<RuleBuilder>();

View File

@ -131,13 +131,13 @@ public abstract class TileSource {
@Override
public String toString() {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("FileOpenResult [success=");
stringBuilder.append(this.success);
stringBuilder.append(", errorMessage=");
stringBuilder.append(this.errorMessage);
stringBuilder.append("]");
return stringBuilder.toString();
return new StringBuilder()
.append("FileOpenResult [success=")
.append(this.success)
.append(", errorMessage=")
.append(this.errorMessage)
.append("]")
.toString();
}
}
}

View File

@ -29,6 +29,7 @@ import java.util.Map.Entry;
import org.oscim.core.Tile;
import org.oscim.utils.ArrayUtils;
import org.oscim.utils.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -408,10 +409,7 @@ public class LwHttp {
if (mSocket == null)
return;
try {
mSocket.close();
} catch (IOException e) {
}
IOUtils.closeQuietly(mSocket);
mSocket = null;
mCommandStream = null;
mResponseStream = null;

View File

@ -31,30 +31,30 @@ class QueryParameters {
@Override
public String toString() {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("QueryParameters [fromBaseTileX=");
stringBuilder.append(this.fromBaseTileX);
stringBuilder.append(", fromBaseTileY=");
stringBuilder.append(this.fromBaseTileY);
stringBuilder.append(", fromBlockX=");
stringBuilder.append(this.fromBlockX);
stringBuilder.append(", fromBlockY=");
stringBuilder.append(this.fromBlockY);
stringBuilder.append(", queryTileBitmask=");
stringBuilder.append(this.queryTileBitmask);
stringBuilder.append(", queryZoomLevel=");
stringBuilder.append(this.queryZoomLevel);
stringBuilder.append(", toBaseTileX=");
stringBuilder.append(this.toBaseTileX);
stringBuilder.append(", toBaseTileY=");
stringBuilder.append(this.toBaseTileY);
stringBuilder.append(", toBlockX=");
stringBuilder.append(this.toBlockX);
stringBuilder.append(", toBlockY=");
stringBuilder.append(this.toBlockY);
stringBuilder.append(", useTileBitmask=");
stringBuilder.append(this.useTileBitmask);
stringBuilder.append("]");
return stringBuilder.toString();
return new StringBuilder()
.append("QueryParameters [fromBaseTileX=")
.append(this.fromBaseTileX)
.append(", fromBaseTileY=")
.append(this.fromBaseTileY)
.append(", fromBlockX=")
.append(this.fromBlockX)
.append(", fromBlockY=")
.append(this.fromBlockY)
.append(", queryTileBitmask=")
.append(this.queryTileBitmask)
.append(", queryZoomLevel=")
.append(this.queryZoomLevel)
.append(", toBaseTileX=")
.append(this.toBaseTileX)
.append(", toBaseTileY=")
.append(this.toBaseTileY)
.append(", toBlockX=")
.append(this.toBlockX)
.append(", toBlockY=")
.append(this.toBlockY)
.append(", useTileBitmask=")
.append(this.useTileBitmask)
.append("]")
.toString();
}
}

View File

@ -177,37 +177,37 @@ public class SubFileParameter {
@Override
public String toString() {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("SubFileParameter [baseZoomLevel=");
stringBuilder.append(this.baseZoomLevel);
stringBuilder.append(", blockEntriesTableSize=");
stringBuilder.append(this.blockEntriesTableSize);
stringBuilder.append(", blocksHeight=");
stringBuilder.append(this.blocksHeight);
stringBuilder.append(", blocksWidth=");
stringBuilder.append(this.blocksWidth);
stringBuilder.append(", boundaryTileBottom=");
stringBuilder.append(this.boundaryTileBottom);
stringBuilder.append(", boundaryTileLeft=");
stringBuilder.append(this.boundaryTileLeft);
stringBuilder.append(", boundaryTileRight=");
stringBuilder.append(this.boundaryTileRight);
stringBuilder.append(", boundaryTileTop=");
stringBuilder.append(this.boundaryTileTop);
stringBuilder.append(", indexStartAddress=");
stringBuilder.append(this.indexStartAddress);
stringBuilder.append(", numberOfBlocks=");
stringBuilder.append(this.numberOfBlocks);
stringBuilder.append(", startAddress=");
stringBuilder.append(this.startAddress);
stringBuilder.append(", subFileSize=");
stringBuilder.append(this.subFileSize);
stringBuilder.append(", zoomLevelMax=");
stringBuilder.append(this.zoomLevelMax);
stringBuilder.append(", zoomLevelMin=");
stringBuilder.append(this.zoomLevelMin);
stringBuilder.append("]");
return stringBuilder.toString();
return new StringBuilder()
.append("SubFileParameter [baseZoomLevel=")
.append(this.baseZoomLevel)
.append(", blockEntriesTableSize=")
.append(this.blockEntriesTableSize)
.append(", blocksHeight=")
.append(this.blocksHeight)
.append(", blocksWidth=")
.append(this.blocksWidth)
.append(", boundaryTileBottom=")
.append(this.boundaryTileBottom)
.append(", boundaryTileLeft=")
.append(this.boundaryTileLeft)
.append(", boundaryTileRight=")
.append(this.boundaryTileRight)
.append(", boundaryTileTop=")
.append(this.boundaryTileTop)
.append(", indexStartAddress=")
.append(this.indexStartAddress)
.append(", numberOfBlocks=")
.append(this.numberOfBlocks)
.append(", startAddress=")
.append(this.startAddress)
.append(", subFileSize=")
.append(this.subFileSize)
.append(", zoomLevelMax=")
.append(this.zoomLevelMax)
.append(", zoomLevelMin=")
.append(this.zoomLevelMin)
.append("]")
.toString();
}
/**

View File

@ -18,6 +18,7 @@ package org.oscim.utils;
import java.io.Closeable;
import java.io.IOException;
import java.net.Socket;
import java.util.logging.Level;
/**
@ -43,6 +44,17 @@ public final class IOUtils {
}
}
/* for old java versions */
public static void closeQuietly(Socket closeable) {
try {
if (closeable != null) {
closeable.close();
}
} catch (IOException e) {
//log.debug(e.getMessage() + " " + e);
}
}
private IOUtils() {
}
}