Skip to content

Commit e4e513f

Browse files
authored
Merge pull request #35 from ngageoint/develop
2.0.1 updates
2 parents e3c70db + 8737eff commit e4e513f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+2242
-641
lines changed

CHANGELOG.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,17 @@ Adheres to [Semantic Versioning](http://semver.org/).
44

55
---
66

7-
## 2.0.1 (TBD)
8-
9-
* TBD
7+
## [2.0.1](https://github.com/ngageoint/geopackage-core-java/releases/tag/2.0.1) (02-13-2018)
8+
9+
* Coverage Data extension (previously Elevation Extension)
10+
* WebP extension column name fix
11+
* Zoom Other extension column name fix
12+
* RTree Index Extension core support
13+
* Extended Geometry bit encoding fix, set only for non standard geometries
14+
* Tile Grid zoom increase and decrease utilities
15+
* Zoom level determination fix for bounds resulting in a single point
16+
* Quote wrapping improvements and additional wrapping of names in SQL operations
17+
* wkb version update to 1.0.5
1018

1119
## [2.0.0](https://github.com/ngageoint/geopackage-core-java/releases/tag/2.0.0) (11-20-2017)
1220

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@ The [GeoPackage Java](https://github.com/ngageoint/geopackage-java) library is a
3737

3838
### Installation ###
3939

40-
Pull from the [Maven Central Repository](http://search.maven.org/#artifactdetails|mil.nga.geopackage|geopackage-core|2.0.0|jar) (JAR, POM, Source, Javadoc)
40+
Pull from the [Maven Central Repository](http://search.maven.org/#artifactdetails|mil.nga.geopackage|geopackage-core|2.0.1|jar) (JAR, POM, Source, Javadoc)
4141

4242
<dependency>
4343
<groupId>mil.nga.geopackage</groupId>
4444
<artifactId>geopackage-core</artifactId>
45-
<version>2.0.0</version>
45+
<version>2.0.1</version>
4646
</dependency>
4747

4848
### Build ###

docs/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ <h2 class="project-tagline">by the National Geospatial-Intelligence Agency</h2>
1818
<a href="http://ngageoint.github.io/geopackage-core-java/docs/api/" class="btn">API</a>
1919
<a href="https://github.com/ngageoint/geopackage-core-java/zipball/master" class="btn">.zip</a>
2020
<a href="https://github.com/ngageoint/geopackage-core-java/tarball/master" class="btn">.tar.gz</a>
21-
<a href="http://search.maven.org/#artifactdetails|mil.nga.geopackage|geopackage-core|2.0.0|jar" class="btn">The Central Repository</a>
21+
<a href="http://search.maven.org/#artifactdetails|mil.nga.geopackage|geopackage-core|2.0.1|jar" class="btn">The Central Repository</a>
2222
</section>
2323

2424
<section class="main-content">

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
<dependency>
5151
<groupId>mil.nga</groupId>
5252
<artifactId>wkb</artifactId>
53-
<version>1.0.4</version>
53+
<version>1.0.5</version>
5454
</dependency>
5555
<dependency>
5656
<groupId>org.osgeo</groupId>

src/main/java/mil/nga/geopackage/GeoPackageCore.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
import mil.nga.geopackage.core.srs.SpatialReferenceSystemSqlMmDao;
1313
import mil.nga.geopackage.db.GeoPackageCoreConnection;
1414
import mil.nga.geopackage.extension.ExtensionsDao;
15-
import mil.nga.geopackage.extension.elevation.GriddedCoverageDao;
16-
import mil.nga.geopackage.extension.elevation.GriddedTileDao;
15+
import mil.nga.geopackage.extension.coverage.GriddedCoverageDao;
16+
import mil.nga.geopackage.extension.coverage.GriddedTileDao;
1717
import mil.nga.geopackage.extension.index.GeometryIndexDao;
1818
import mil.nga.geopackage.extension.index.TableIndexDao;
1919
import mil.nga.geopackage.extension.link.FeatureTileLinkDao;

src/main/java/mil/nga/geopackage/core/contents/Contents.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public class Contents {
111111
/**
112112
* A human-readable description for the table_name content
113113
*/
114-
@DatabaseField(columnName = COLUMN_DESCRIPTION)
114+
@DatabaseField(columnName = COLUMN_DESCRIPTION, defaultValue = "")
115115
private String description;
116116

117117
/**

src/main/java/mil/nga/geopackage/core/contents/ContentsDao.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import java.util.List;
77

88
import mil.nga.geopackage.GeoPackageException;
9+
import mil.nga.geopackage.db.CoreSQLUtils;
910
import mil.nga.geopackage.db.GeoPackageCoreConnection;
1011
import mil.nga.geopackage.features.columns.GeometryColumns;
1112
import mil.nga.geopackage.features.columns.GeometryColumnsDao;
@@ -214,7 +215,8 @@ public int deleteCascade(Contents contents, boolean userTable)
214215
int count = deleteCascade(contents);
215216

216217
if (userTable) {
217-
db.execSQL("DROP TABLE IF EXISTS " + contents.getTableName());
218+
db.execSQL("DROP TABLE IF EXISTS "
219+
+ CoreSQLUtils.quoteWrap(contents.getTableName()));
218220
}
219221

220222
return count;
@@ -319,7 +321,7 @@ public int deleteByIdCascade(String id, boolean userTable)
319321
if (contents != null) {
320322
count = deleteCascade(contents, userTable);
321323
} else if (userTable) {
322-
db.execSQL("DROP TABLE IF EXISTS " + id);
324+
db.execSQL("DROP TABLE IF EXISTS " + CoreSQLUtils.quoteWrap(id));
323325
}
324326
}
325327
return count;
@@ -404,7 +406,7 @@ private void verifyCreate(Contents contents) throws SQLException {
404406
verifyTiles(dataType);
405407
break;
406408

407-
case ELEVATION_TILES:
409+
case GRIDDED_COVERAGE:
408410
verifyTiles(dataType);
409411
break;
410412

src/main/java/mil/nga/geopackage/core/contents/ContentsDataType.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ public enum ContentsDataType {
2525
ATTRIBUTES("attributes"),
2626

2727
/**
28-
* Tiled Gridded Elevation Data Extension
28+
* Tiled Gridded Coverage Data Extension
2929
*
30-
* @since 1.2.1
30+
* @since 2.0.1
3131
*/
32-
ELEVATION_TILES("2d-gridded-coverage");
32+
GRIDDED_COVERAGE("2d-gridded-coverage");
3333

3434
/**
3535
* Data type name

src/main/java/mil/nga/geopackage/db/CoreSQLUtils.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,11 @@ public class CoreSQLUtils {
1818
public static String quoteWrap(String name) {
1919
String quoteName = null;
2020
if (name != null) {
21-
quoteName = "\"" + name + "\"";
21+
if (name.startsWith("\"") && name.endsWith("\"")) {
22+
quoteName = name;
23+
} else {
24+
quoteName = "\"" + name + "\"";
25+
}
2226
}
2327
return quoteName;
2428
}

src/main/java/mil/nga/geopackage/db/GeoPackageTableCreator.java

Lines changed: 12 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
package mil.nga.geopackage.db;
22

3-
import java.io.InputStream;
43
import java.sql.SQLException;
54
import java.util.List;
6-
import java.util.Scanner;
7-
import java.util.regex.Pattern;
85

96
import mil.nga.geopackage.GeoPackageException;
107
import mil.nga.geopackage.core.srs.SpatialReferenceSystem;
118
import mil.nga.geopackage.core.srs.SpatialReferenceSystemDao;
9+
import mil.nga.geopackage.io.ResourceIOUtils;
1210
import mil.nga.geopackage.property.GeoPackageProperties;
1311
import mil.nga.geopackage.property.PropertyConstants;
1412
import mil.nga.geopackage.user.UserColumn;
@@ -140,7 +138,7 @@ public int createExtensions() {
140138
}
141139

142140
/**
143-
* Create the Tile Gridded Elevation Coverage extension table
141+
* Create the Tiled Gridded Coverage Data Coverage extension table
144142
*
145143
* @return executed statements
146144
* @since 1.2.1
@@ -151,7 +149,7 @@ public int createGriddedCoverage() {
151149
}
152150

153151
/**
154-
* Create the Tile Gridded Elevation Tile extension table
152+
* Create the Tiled Gridded Coverage Data Tile extension table
155153
*
156154
* @return executed statements
157155
* @since 1.2.1
@@ -202,39 +200,17 @@ public int createFeatureTileLink() {
202200
* @return executed statements
203201
*/
204202
private int createTable(String tableScript) {
205-
InputStream scriptStream = getClass().getResourceAsStream(
206-
"/"
207-
+ GeoPackageProperties.getProperty(
208-
PropertyConstants.SQL, "directory") + "/"
209-
+ tableScript);
210-
int statements = runScript(scriptStream);
211-
return statements;
212-
}
213203

214-
/**
215-
* Run the script input stream
216-
*
217-
* @param stream
218-
* input stream
219-
* @return executed statements
220-
*/
221-
private int runScript(final InputStream stream) {
222-
int count = 0;
204+
String path = GeoPackageProperties.getProperty(PropertyConstants.SQL,
205+
"directory");
206+
List<String> statements = ResourceIOUtils.parseSQLStatements(path,
207+
tableScript);
223208

224-
// Use multiple newlines as the delimiter
225-
Scanner s = new Scanner(stream);
226-
try {
227-
s.useDelimiter(Pattern.compile("\\n\\s*\\n"));
228-
// Execute each statement
229-
while (s.hasNext()) {
230-
String statement = s.next().trim();
231-
db.execSQL(statement);
232-
count++;
233-
}
234-
} finally {
235-
s.close();
209+
for (String statement : statements) {
210+
db.execSQL(statement);
236211
}
237-
return count;
212+
213+
return statements.size();
238214
}
239215

240216
/**
@@ -337,7 +313,7 @@ public void createRequired() {
337313
* @since 1.1.5
338314
*/
339315
public void dropTable(String table) {
340-
db.execSQL("DROP TABLE IF EXISTS " + table);
316+
db.execSQL("DROP TABLE IF EXISTS " + CoreSQLUtils.quoteWrap(table));
341317
}
342318

343319
}

0 commit comments

Comments
 (0)