Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
[ -2147483649, "double" ],
[ 4294967295, "int" ],
[ 4294967296, "double" ],
[ 1.5, "double" ],
[ [ "an array" ], "java.lang.Object" ], // TODO: test/fix this
// java objects
[ java.newInstanceSync("java.lang.String", "other string"), "java.lang.String" ],
[ java.newInstanceSync("java.lang.Boolean", "false"), "boolean" ],
[ java.newInstanceSync("java.lang.Integer", "2"), "int" ],
[ java.newInstanceSync("java.lang.Long", "2"), "long" ],
[ java.newInstanceSync("java.lang.Float", "2"), "int" ],
[ java.newInstanceSync("java.lang.Float", "1.5"), "double" ],
[ java.newInstanceSync("java.lang.Double", "2"), "int" ],
[ java.newInstanceSync("java.lang.Double", "1.5"), "double" ],
[ java.newInstanceSync("javax.management.Attribute", "name", "value"), "javax.management.Attribute" ]
].forEach(function(value) {
var param = value[0];
var javaClass = value[1];
it("returns \"" + javaClass + "\" for argument value \"" + param + "\" and typeof \"" + typeof param + "\"", function() {
assert.strictEqual(conversions.v8ToJavaClass(param), javaClass);
});
});
it("throws an exception when the object cannot be converted", function() {
assert.throws(
function() {
conversions.v8ToJavaClass(undefined);
},
[ "some string", "java.lang.String" ],
[ false, "boolean" ],
[ 1, "int" ],
[ -2147483648, "int" ],
[ -2147483649, "double" ],
[ 4294967295, "int" ],
[ 4294967296, "double" ],
[ 1.5, "double" ],
[ [ "an array" ], "java.lang.Object" ], // TODO: test/fix this
// java objects
[ java.newInstanceSync("java.lang.String", "other string"), "java.lang.String" ],
[ java.newInstanceSync("java.lang.Boolean", "false"), "boolean" ],
[ java.newInstanceSync("java.lang.Integer", "2"), "int" ],
[ java.newInstanceSync("java.lang.Long", "2"), "long" ],
[ java.newInstanceSync("java.lang.Float", "2"), "int" ],
[ java.newInstanceSync("java.lang.Float", "1.5"), "double" ],
[ java.newInstanceSync("java.lang.Double", "2"), "int" ],
[ java.newInstanceSync("java.lang.Double", "1.5"), "double" ],
[ java.newInstanceSync("javax.management.Attribute", "name", "value"), "javax.management.Attribute" ]
].forEach(function(value) {
var param = value[0];
var javaClass = value[1];
it("returns \"" + javaClass + "\" for argument value \"" + param + "\" and typeof \"" + typeof param + "\"", function() {
assert.strictEqual(conversions.v8ToJavaClass(param), javaClass);
});
});
it("throws an exception when the object cannot be converted", function() {
function init_inc(inc) {
// What do we have here?
var cp = environment['java.class.path'];
// java.class.path: /Users/andremar/Projects/js/rhino/js.jar
if (cp.match('/usr/local/share/rhino')) {
// XXX: I hate hardcoding these, but blah!
inc.push('/usr/local/share/startsiden-javascript-qunit');
inc.push('/usr/local/share/startsiden-javascript-envjs');
}
var paths = getinc();
for (i in paths) {
inc.push(paths[i]);
}
}
function safe_load(lib) {
this.initPromise.then(function(self){
// set up the log4j library to log to the console.
var ConsoleAppender = java.import('org.apache.log4j.ConsoleAppender');
var PatternLayout = java.import('org.apache.log4j.PatternLayout');
var consoleAppender = new ConsoleAppender(); //create appender
var PATTERN = "%d [%p|%c|%C{1}] %m%n";
consoleAppender.setLayoutSync(new PatternLayout(PATTERN));
consoleAppender.setThresholdSync(java.callStaticMethodSync('org.apache.log4j.Level', 'toLevel', config.log4jLevel || 'INFO'));
consoleAppender.activateOptionsSync();
java.callStaticMethodSync('org.apache.log4j.Logger', 'getRootLogger').addAppenderSync(consoleAppender);
});
}
this.initPromise.then(function(self){
// set up the log4j library to log to the console.
var ConsoleAppender = java.import('org.apache.log4j.ConsoleAppender');
var PatternLayout = java.import('org.apache.log4j.PatternLayout');
var consoleAppender = new ConsoleAppender(); //create appender
var PATTERN = "%d [%p|%c|%C{1}] %m%n";
consoleAppender.setLayoutSync(new PatternLayout(PATTERN));
consoleAppender.setThresholdSync(java.callStaticMethodSync('org.apache.log4j.Level', 'toLevel', config.log4jLevel || 'INFO'));
consoleAppender.activateOptionsSync();
java.callStaticMethodSync('org.apache.log4j.Logger', 'getRootLogger').addAppenderSync(consoleAppender);
});
}
console.log('epsgur', epsg3857ur);
// Create new Contents
var Contents = java.import('mil.nga.geopackage.core.contents.Contents');
var contents = new Contents();
contents.setTableNameSync(tableName);
contents.setDataTypeSync(java.callStaticMethodSync('mil.nga.geopackage.core.contents.ContentsDataType', 'fromName', 'tiles'));
contents.setIdentifierSync(tableName);
var srsDao = self.geoPackage.getSpatialReferenceSystemDaoSync();
var srsWgs84 = srsDao.getOrCreateSync(4326);
var Date = java.import('java.util.Date');
contents.setLastChange(new Date());
contents.setMinXSync(java.newDouble(llCorner.west));
contents.setMinYSync(java.newDouble(llCorner.south));
contents.setMaxXSync(java.newDouble(urCorner.east));
contents.setMaxYSync(java.newDouble(urCorner.north));
contents.setSrsSync(srsWgs84);
// Create the contents
self.geoPackage.getContentsDaoSync().createSync(contents);
// Create new Tile Matrix Set
var tileMatrixSetDao = self.geoPackage.getTileMatrixSetDaoSync();
var srsDao = self.geoPackage.getSpatialReferenceSystemDaoSync();
var srsEpsg3857 = srsDao.getOrCreateSync(3857);
var TileMatrixSet = java.import('mil.nga.geopackage.tiles.matrixset.TileMatrixSet');
var tileMatrixSet = new TileMatrixSet();
contents.setMinXSync(java.newDouble(llCorner.west));
contents.setMinYSync(java.newDouble(llCorner.south));
contents.setMaxXSync(java.newDouble(urCorner.east));
contents.setMaxYSync(java.newDouble(urCorner.north));
contents.setSrsSync(srsWgs84);
// Create the contents
self.geoPackage.getContentsDaoSync().createSync(contents);
// Create new Tile Matrix Set
var tileMatrixSetDao = self.geoPackage.getTileMatrixSetDaoSync();
var srsDao = self.geoPackage.getSpatialReferenceSystemDaoSync();
var srsEpsg3857 = srsDao.getOrCreateSync(3857);
var TileMatrixSet = java.import('mil.nga.geopackage.tiles.matrixset.TileMatrixSet');
var tileMatrixSet = new TileMatrixSet();
tileMatrixSet.setContentsSync(contents);
tileMatrixSet.setSrsSync(srsEpsg3857);
tileMatrixSet.setMinXSync(java.newDouble(epsg3857ll[0]));
tileMatrixSet.setMinYSync(java.newDouble(epsg3857ll[1]));
tileMatrixSet.setMaxXSync(java.newDouble(epsg3857ur[0]));
tileMatrixSet.setMaxYSync(java.newDouble(epsg3857ur[1]));
tileMatrixSetDao.createSync(tileMatrixSet);
// Create new Tile Matrix and tile table rows by going through each zoom
// level
var tileMatrixDao = self.geoPackage.getTileMatrixDaoSync();
self.tileDaos[tableName] = self.geoPackage.getTileDaoSync(tileMatrixSet);
for (var zoom = minZoom; zoom <= maxZoom; zoom++) {
columns.addSync(java.callStaticMethodSync('mil.nga.geopackage.features.user.FeatureColumn', 'createPrimaryKeyColumn', 0, 'id'));
columns.addSync(java.callStaticMethodSync('mil.nga.geopackage.features.user.FeatureColumn', 'createGeometryColumn', 1, 'geom', java.callStaticMethodSync('mil.nga.wkb.geom.GeometryType', 'fromName', 'GEOMETRY'), false, null));
self.tableProperties[tableName] = {};
for (var i = 0; i < propertyColumnNames.length; i++) {
self.tableProperties[tableName][propertyColumnNames[i]] = 'property_'+i;
columns.addSync(java.callStaticMethodSync('mil.nga.geopackage.features.user.FeatureColumn', 'createColumn', i+2, 'property_'+i, java.callStaticMethodSync('mil.nga.geopackage.db.GeoPackageDataType', 'fromName', 'TEXT'), false, null));
}
var featureTable = new FeatureTable(tableName, columns);
self.geoPackage.createFeatureTableSync(featureTable);
var epsg3857ll = proj4('EPSG:3857', [extent[0], extent[1]]);
var epsg3857ur = proj4('EPSG:3857', [extent[2], extent[3]]);
var contents = new Contents();
contents.setTableNameSync(tableName);
contents.setDataTypeSync(java.callStaticMethodSync('mil.nga.geopackage.core.contents.ContentsDataType', 'fromName', 'features'));
contents.setIdentifierSync(tableName);
// contents.setDescription("");
contents.setLastChange(new Date());
contents.setMinXSync(java.newDouble(epsg3857ll[0]));
contents.setMinYSync(java.newDouble(epsg3857ll[1]));
contents.setMaxXSync(java.newDouble(epsg3857ur[0]));
contents.setMaxYSync(java.newDouble(epsg3857ur[1]));
contents.setSrsSync(srsEpsg3857);
self.geoPackage.getContentsDaoSync().createSync(contents);
var geometryColumns = new GeometryColumns();
geometryColumns.setContentsSync(contents);
geometryColumns.setSrsSync(contents.getSrsSync());
geometryColumns.setGeometryTypeSync(java.callStaticMethodSync('mil.nga.wkb.geom.GeometryType', 'fromName', 'GEOMETRY'));
geometryColumns.setColumnNameSync('geom');
self.geoPackage.getGeometryColumnsDaoSync().create(geometryColumns);
var ArrayList = java.import('java.util.ArrayList');
var FeatureTable = java.import('mil.nga.geopackage.features.user.FeatureTable');
var Date = java.import('java.util.Date');
var GeometryColumns = java.import('mil.nga.geopackage.features.columns.GeometryColumns');
var BoundingBox = java.import('mil.nga.geopackage.BoundingBox');
var Contents = java.import('mil.nga.geopackage.core.contents.Contents');
var DataColumns = java.import('mil.nga.geopackage.schema.columns.DataColumns');
var srsDao = self.geoPackage.getSpatialReferenceSystemDaoSync();
var srsEpsg3857 = srsDao.getOrCreateSync(3857);
self.geoPackage.createGeometryColumnsTableSync();
var columns = new ArrayList();
columns.addSync(java.callStaticMethodSync('mil.nga.geopackage.features.user.FeatureColumn', 'createPrimaryKeyColumn', 0, 'id'));
columns.addSync(java.callStaticMethodSync('mil.nga.geopackage.features.user.FeatureColumn', 'createGeometryColumn', 1, 'geom', java.callStaticMethodSync('mil.nga.wkb.geom.GeometryType', 'fromName', 'GEOMETRY'), false, null));
self.tableProperties[tableName] = {};
for (var i = 0; i < propertyColumnNames.length; i++) {
self.tableProperties[tableName][propertyColumnNames[i]] = 'property_'+i;
columns.addSync(java.callStaticMethodSync('mil.nga.geopackage.features.user.FeatureColumn', 'createColumn', i+2, 'property_'+i, java.callStaticMethodSync('mil.nga.geopackage.db.GeoPackageDataType', 'fromName', 'TEXT'), false, null));
}
var featureTable = new FeatureTable(tableName, columns);
self.geoPackage.createFeatureTableSync(featureTable);
var epsg3857ll = proj4('EPSG:3857', [extent[0], extent[1]]);
var epsg3857ur = proj4('EPSG:3857', [extent[2], extent[3]]);
var contents = new Contents();
contents.setTableNameSync(tableName);
contents.setDataTypeSync(java.callStaticMethodSync('mil.nga.geopackage.core.contents.ContentsDataType', 'fromName', 'features'));
contents.setIdentifierSync(tableName);
// contents.setDescription("");
function newClassArray(params) {
var classArray = [];
params.forEach(function(value) {
// TODO: this must be done async
var javaClass = java.callStaticMethodSync("java.lang.Class", "forName", value);
classArray.push(javaClass);
});
var paramsClass = java.newArray("java.lang.Class", classArray);
return paramsClass;
}