The following document contains the results of FindBugs Report
FindBugs Version is 2.0.1
Threshold is medium
Effort is min
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Should org.deegree.rendering.r3d.ViewFrustum$Plane be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 649 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.rendering.r3d.model.WorldObject.getModelBBox() may expose internal representation by returning WorldObject.modelBBox | MALICIOUS_CODE | EI_EXPOSE_REP | 408 | Medium |
org.deegree.rendering.r3d.model.WorldObject.getPosition() may expose internal representation by returning WorldObject.position | MALICIOUS_CODE | EI_EXPOSE_REP | 331 | Medium |
org.deegree.rendering.r3d.model.WorldObject.getQualityLevels() may expose internal representation by returning WorldObject.qualityLevels | MALICIOUS_CODE | EI_EXPOSE_REP | 158 | Medium |
new org.deegree.rendering.r3d.model.WorldObject(String, String, Envelope, QualityModel[]) may expose internal representation by storing an externally mutable object into WorldObject.qualityLevels | MALICIOUS_CODE | EI_EXPOSE_REP2 | 139 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.rendering.r3d.model.geometry.SimpleAccessGeometry.getGeometry() may expose internal representation by returning SimpleAccessGeometry.coordinates | MALICIOUS_CODE | EI_EXPOSE_REP | 119 | Medium |
org.deegree.rendering.r3d.model.geometry.SimpleAccessGeometry.getInnerRings() may expose internal representation by returning SimpleAccessGeometry.innerRings | MALICIOUS_CODE | EI_EXPOSE_REP | 134 | Medium |
new org.deegree.rendering.r3d.model.geometry.SimpleAccessGeometry(float[], int[], SimpleGeometryStyle) may expose internal representation by storing an externally mutable object into SimpleAccessGeometry.coordinates | MALICIOUS_CODE | EI_EXPOSE_REP2 | 86 | Medium |
new org.deegree.rendering.r3d.model.geometry.SimpleAccessGeometry(float[], int[], SimpleGeometryStyle) may expose internal representation by storing an externally mutable object into SimpleAccessGeometry.innerRings | MALICIOUS_CODE | EI_EXPOSE_REP2 | 87 | Medium |
org.deegree.rendering.r3d.model.geometry.SimpleAccessGeometry.setGeometry(float[]) may expose internal representation by storing an externally mutable object into SimpleAccessGeometry.coordinates | MALICIOUS_CODE | EI_EXPOSE_REP2 | 127 | Medium |
org.deegree.rendering.r3d.model.geometry.SimpleAccessGeometry.setInnerRings(int[]) may expose internal representation by storing an externally mutable object into SimpleAccessGeometry.innerRings | MALICIOUS_CODE | EI_EXPOSE_REP2 | 142 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.rendering.r3d.model.geometry.TexturedGeometry.getTextureCoordinates() may expose internal representation by returning TexturedGeometry.textureCoordinates | MALICIOUS_CODE | EI_EXPOSE_REP | 124 | Medium |
new org.deegree.rendering.r3d.model.geometry.TexturedGeometry(float[], String, float[]) may expose internal representation by storing an externally mutable object into TexturedGeometry.textureCoordinates | MALICIOUS_CODE | EI_EXPOSE_REP2 | 90 | Medium |
new org.deegree.rendering.r3d.model.geometry.TexturedGeometry(float[], SimpleGeometryStyle, String, float[]) may expose internal representation by storing an externally mutable object into TexturedGeometry.textureCoordinates | MALICIOUS_CODE | EI_EXPOSE_REP2 | 79 | Medium |
new org.deegree.rendering.r3d.model.geometry.TexturedGeometry(float[], int[], String, float[]) may expose internal representation by storing an externally mutable object into TexturedGeometry.textureCoordinates | MALICIOUS_CODE | EI_EXPOSE_REP2 | 102 | Medium |
org.deegree.rendering.r3d.model.geometry.TexturedGeometry.setTextureCoordinates(float[]) may expose internal representation by storing an externally mutable object into TexturedGeometry.textureCoordinates | MALICIOUS_CODE | EI_EXPOSE_REP2 | 132 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.rendering.r3d.multiresolution.Arc.getFragments() may expose internal representation by returning Arc.fragments | MALICIOUS_CODE | EI_EXPOSE_REP | 157 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.rendering.r3d.multiresolution.MeshFragment defines compareTo(MeshFragment) and uses Object.equals() | BAD_PRACTICE | EQ_COMPARETO_USE_OBJECT_EQUALS | 180 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.rendering.r3d.multiresolution.MultiresolutionMesh.getBBox() may expose internal representation by returning MultiresolutionMesh.renderDomain | MALICIOUS_CODE | EI_EXPOSE_REP | 193 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.deegree.rendering.r3d.multiresolution.crit.ViewFrustumCrit(ViewParams, float, float, int, TextureManager[], float) may expose internal representation by storing an externally mutable object into ViewFrustumCrit.textureManagers | MALICIOUS_CODE | EI_EXPOSE_REP2 | 96 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Inconsistent synchronization of org.deegree.rendering.r3d.multiresolution.persistence.BatchedMTStoreManager.workspace; locked 50% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 208 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.deegree.rendering.r3d.opengl.rendering.RenderContext(ViewParams, float, int, ShaderProgram[]) may expose internal representation by storing an externally mutable object into RenderContext.ctSPrograms | MALICIOUS_CODE | EI_EXPOSE_REP2 | 104 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Found reliance on default encoding in org.deegree.rendering.r3d.opengl.rendering.ShaderProgram.compileShaderProgram(GL, int, String): new String(byte[]) | I18N | DM_DEFAULT_ENCODING | 142 | High |
Found reliance on default encoding in org.deegree.rendering.r3d.opengl.rendering.ShaderProgram.linkShaderProgram(GL): new String(byte[]) | I18N | DM_DEFAULT_ENCODING | 167 | High |
Found reliance on default encoding in org.deegree.rendering.r3d.opengl.rendering.ShaderProgram.validateShaderProgram(GL): new String(byte[]) | I18N | DM_DEFAULT_ENCODING | 188 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.rendering.r3d.opengl.rendering.dem.Colormap.getDifVec() may expose internal representation by returning Colormap.difVec | MALICIOUS_CODE | EI_EXPOSE_REP | 137 | Medium |
org.deegree.rendering.r3d.opengl.rendering.dem.Colormap.getMaxColor() may expose internal representation by returning Colormap.maxColor | MALICIOUS_CODE | EI_EXPOSE_REP | 130 | Medium |
org.deegree.rendering.r3d.opengl.rendering.dem.Colormap.getMinColor() may expose internal representation by returning Colormap.minColor | MALICIOUS_CODE | EI_EXPOSE_REP | 123 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Synchronization on interned String in org.deegree.rendering.r3d.opengl.rendering.dem.RenderMeshFragment.getTrianglePoints() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_SHARED_CONSTANT | 438 | Medium |
Synchronization on interned String in org.deegree.rendering.r3d.opengl.rendering.dem.RenderMeshFragment.load() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_SHARED_CONSTANT | 152 | Medium |
Synchronization on interned String in org.deegree.rendering.r3d.opengl.rendering.dem.RenderMeshFragment.unload() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_SHARED_CONSTANT | 163 | Medium |
org.deegree.rendering.r3d.opengl.rendering.dem.RenderMeshFragment.getTrianglePoints() may expose internal representation by returning RenderMeshFragment.triangle | MALICIOUS_CODE | EI_EXPOSE_REP | 533 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.deegree.rendering.r3d.opengl.rendering.dem.manager.TerrainRenderingManager(RenderFragmentManager, double, double, float[], float[], float[], float) may expose internal representation by storing an externally mutable object into TerrainRenderingManager.ambientColor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 125 | Medium |
new org.deegree.rendering.r3d.opengl.rendering.dem.manager.TerrainRenderingManager(RenderFragmentManager, double, double, float[], float[], float[], float) may expose internal representation by storing an externally mutable object into TerrainRenderingManager.diffuseColor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 126 | Medium |
new org.deegree.rendering.r3d.opengl.rendering.dem.manager.TerrainRenderingManager(RenderFragmentManager, double, double, float[], float[], float[], float) may expose internal representation by storing an externally mutable object into TerrainRenderingManager.specularColor | MALICIOUS_CODE | EI_EXPOSE_REP2 | 127 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Should org.deegree.rendering.r3d.opengl.rendering.dem.manager.TerrainRenderingManager$TextureWorker be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 503 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.deegree.rendering.r3d.opengl.rendering.dem.manager.TextureManager(DirectByteBufferPool, TextureTileManager, double[], int, int) may expose internal representation by storing an externally mutable object into TextureManager.translationToLocalCRS | MALICIOUS_CODE | EI_EXPOSE_REP2 | 109 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Should org.deegree.rendering.r3d.opengl.rendering.dem.manager.TextureManager$GPUCache be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 329 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to imageHeight in org.deegree.rendering.r3d.opengl.rendering.dem.manager.TextureTileManager.createTextureRequest(RenderContext, double[][], double, RenderMeshFragment) | STYLE | DLS_DEAD_LOCAL_STORE | 297 | Medium |
Dead store to imageWidth in org.deegree.rendering.r3d.opengl.rendering.dem.manager.TextureTileManager.createTextureRequest(RenderContext, double[][], double, RenderMeshFragment) | STYLE | DLS_DEAD_LOCAL_STORE | 291 | Medium |
new org.deegree.rendering.r3d.opengl.rendering.dem.manager.TextureTileManager(TextureTileProvider[], int) may expose internal representation by storing an externally mutable object into TextureTileManager.providers | MALICIOUS_CODE | EI_EXPOSE_REP2 | 83 | Medium |
Redundant nullcheck of provider, which is known to be non-null in org.deegree.rendering.r3d.opengl.rendering.dem.manager.TextureTileManager.createTextureRequest(RenderContext, double[][], double, RenderMeshFragment) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 211 | Medium |
Redundant nullcheck of match, which is known to be non-null in org.deegree.rendering.r3d.opengl.rendering.dem.manager.TextureTileManager.getMatchingResolution(double) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 185 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
exceptional return value of java.io.File.delete() ignored in org.deegree.rendering.r3d.opengl.rendering.dem.texturing.StyledGeometryTTProvider.addToCache(ByteBuffer, TextureTileRequest, double, Envelope, int, int) | BAD_PRACTICE | RV_RETURN_VALUE_IGNORED_BAD_PRACTICE | 374 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Should org.deegree.rendering.r3d.opengl.rendering.dem.texturing.StyledGeometryTTProvider$SGTextureCache be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 440 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.rendering.r3d.opengl.rendering.dem.texturing.TextureRequest overrides equals in TextureTileRequest and may not be symmetric | CORRECTNESS | EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC | 78 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Synchronization on interned String in org.deegree.rendering.r3d.opengl.rendering.dem.texturing.TextureTile.disable(GL, int) | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_SHARED_CONSTANT | 309 | Medium |
Synchronization on interned String in org.deegree.rendering.r3d.opengl.rendering.dem.texturing.TextureTile.enable(GL, int) | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_SHARED_CONSTANT | 287 | Medium |
Invocation of toString on TextureTile.textureID in org.deegree.rendering.r3d.opengl.rendering.dem.texturing.TextureTile.disable(GL, int) | CORRECTNESS | DMI_INVOKING_TOSTRING_ON_ARRAY | 311 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Invocation of hashCode on array in org.deegree.rendering.r3d.opengl.rendering.model.geometry.BillBoard.hashCode() | CORRECTNESS | DMI_INVOKING_HASHCODE_ON_ARRAY | 303 | Medium |
org.deegree.rendering.r3d.opengl.rendering.model.geometry.BillBoard.getLocation() may expose internal representation by returning BillBoard.location | MALICIOUS_CODE | EI_EXPOSE_REP | 321 | Medium |
org.deegree.rendering.r3d.opengl.rendering.model.geometry.BillBoard.getModelBBox() may expose internal representation by returning BillBoard.bbox | MALICIOUS_CODE | EI_EXPOSE_REP | 384 | Medium |
org.deegree.rendering.r3d.opengl.rendering.model.geometry.BillBoard.getPosition() may expose internal representation by returning BillBoard.location | MALICIOUS_CODE | EI_EXPOSE_REP | 326 | Medium |
new org.deegree.rendering.r3d.opengl.rendering.model.geometry.BillBoard(String, float[], float, float) may expose internal representation by storing an externally mutable object into BillBoard.location | MALICIOUS_CODE | EI_EXPOSE_REP2 | 128 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.rendering.r3d.opengl.rendering.model.geometry.RenderableGeometry.setVertexNormals(float[]) uses the same code for two branches | STYLE | DB_DUPLICATE_BRANCHES | 329 | Medium |
The field org.deegree.rendering.r3d.opengl.rendering.model.geometry.RenderableGeometry.coordPosition is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Medium | |
The field org.deegree.rendering.r3d.opengl.rendering.model.geometry.RenderableGeometry.direct is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Medium | |
The field org.deegree.rendering.r3d.opengl.rendering.model.geometry.RenderableGeometry.hasNormals is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Medium | |
The field org.deegree.rendering.r3d.opengl.rendering.model.geometry.RenderableGeometry.normalPosition is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Medium | |
The field org.deegree.rendering.r3d.opengl.rendering.model.geometry.RenderableGeometry.numberOfOrdinates is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Medium | |
The field org.deegree.rendering.r3d.opengl.rendering.model.geometry.RenderableGeometry.openGLType is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Medium | |
The field org.deegree.rendering.r3d.opengl.rendering.model.geometry.RenderableGeometry.style is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Medium | |
The field org.deegree.rendering.r3d.opengl.rendering.model.geometry.RenderableGeometry.vertexCount is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Medium | |
Switch statement found in org.deegree.rendering.r3d.opengl.rendering.model.geometry.RenderableGeometry.toString() where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 362 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
The field org.deegree.rendering.r3d.opengl.rendering.model.geometry.RenderableTexturedGeometry.texture is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Medium | |
The field org.deegree.rendering.r3d.opengl.rendering.model.geometry.RenderableTexturedGeometry.textureOrdinatesCount is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Medium | |
The field org.deegree.rendering.r3d.opengl.rendering.model.geometry.RenderableTexturedGeometry.texturePosition is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Class org.deegree.rendering.r3d.opengl.rendering.model.geometry.WorldRenderableObject defines non-transient non-serializable instance field switchLevels | BAD_PRACTICE | SE_BAD_FIELD | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Found reliance on default encoding in org.deegree.rendering.r3d.opengl.rendering.model.manager.RenderableManager.createDotFile(String): new java.io.OutputStreamWriter(OutputStream) | I18N | DM_DEFAULT_ENCODING | 275 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.rendering.r3d.opengl.rendering.model.manager.TreeRenderer$DistComparator.compare(BillBoard, BillBoard) negates the return value of Float.compare(float, float) | BAD_PRACTICE | RV_NEGATING_RESULT_OF_COMPARETO | 238 | Medium |
Should org.deegree.rendering.r3d.opengl.rendering.model.manager.TreeRenderer$DistComparator be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 212 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Unread field: org.deegree.rendering.r3d.opengl.rendering.model.prototype.BOXGeometry.cubeHalf; should this field be static? | PERFORMANCE | SS_SHOULD_BE_STATIC | 62 | Medium |
Unread field: org.deegree.rendering.r3d.opengl.rendering.model.prototype.BOXGeometry.testObjectSize; should this field be static? | PERFORMANCE | SS_SHOULD_BE_STATIC | 60 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.rendering.r3d.opengl.rendering.model.prototype.PrototypeReference.getLocation() may expose internal representation by returning PrototypeReference.location | MALICIOUS_CODE | EI_EXPOSE_REP | 151 | Medium |
new org.deegree.rendering.r3d.opengl.rendering.model.prototype.PrototypeReference(String, float, float[], float, float, float) may expose internal representation by storing an externally mutable object into PrototypeReference.location | MALICIOUS_CODE | EI_EXPOSE_REP2 | 86 | Medium |
The field org.deegree.rendering.r3d.opengl.rendering.model.prototype.PrototypeReference.angle is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Medium | |
The field org.deegree.rendering.r3d.opengl.rendering.model.prototype.PrototypeReference.depth is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Medium | |
The field org.deegree.rendering.r3d.opengl.rendering.model.prototype.PrototypeReference.height is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Medium | |
The field org.deegree.rendering.r3d.opengl.rendering.model.prototype.PrototypeReference.prototypeID is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Medium | |
The field org.deegree.rendering.r3d.opengl.rendering.model.prototype.PrototypeReference.width is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.rendering.r3d.opengl.tesselation.Vertex.getNormal() may expose internal representation by returning Vertex.normal | MALICIOUS_CODE | EI_EXPOSE_REP | 135 | Medium |
org.deegree.rendering.r3d.opengl.tesselation.Vertex.getNormalizedNormal() may expose internal representation by returning Vertex.normalizedNormal | MALICIOUS_CODE | EI_EXPOSE_REP | 151 | Medium |