/** * Create a user mapping table with the minimum required columns followed by * the additional columns * * @param tableName * table name * @param additionalColumns * additional columns * @return user mapping table */ public static UserMappingTable create(String tableName, List<UserCustomColumn> additionalColumns) { List<UserCustomColumn> columns = new ArrayList<>(); columns.addAll(createRequiredColumns()); if (additionalColumns != null) { columns.addAll(additionalColumns); } return new UserMappingTable(tableName, columns, requiredColumns()); }
/** * Get the base ID column * * @return base ID column */ public UserCustomColumn getBaseIdColumn() { return getTable().getBaseIdColumn(); }
/** * Get the related ID column * * @return related ID column */ public UserCustomColumn getRelatedIdColumn() { return getTable().getRelatedIdColumn(); }
/** * Create the required table columns, starting at the provided index * * @param startingIndex * starting index * @return user custom columns */ public static List<UserCustomColumn> createRequiredColumns(int startingIndex) { List<UserCustomColumn> columns = new ArrayList<>(); columns.add(createBaseIdColumn(startingIndex++)); columns.add(createRelatedIdColumn(startingIndex++)); return columns; }
.numRequiredColumns()); UserMappingTable userMappingTable = UserMappingTable.create( mappingTableName, additionalColumns); TestCase.assertFalse(rte.has(userMappingTable.getTableName())); TestCase.assertEquals(UserMappingTable.numRequiredColumns() + additionalColumns.size(), userMappingTable.getColumns() .size()); UserCustomColumn baseIdColumn = userMappingTable.getBaseIdColumn(); TestCase.assertNotNull(baseIdColumn); TestCase.assertTrue(baseIdColumn TestCase.assertFalse(baseIdColumn.isPrimaryKey()); UserCustomColumn relatedIdColumn = userMappingTable .getRelatedIdColumn(); TestCase.assertNotNull(relatedIdColumn); TestCase.assertTrue(relatedIdColumn TestCase.assertFalse(rte.has(userMappingTable.getTableName())); ExtendedRelation extendedRelation = rte.addFeaturesRelationship( baseTableName, relatedTableName, userMappingTable); TestCase.assertTrue(rte.has()); TestCase.assertTrue(rte.has(userMappingTable.getTableName())); TestCase.assertNotNull(extendedRelation); extendedRelations = rte.getRelationships(); userMappingRow, UserMappingTable.requiredColumns()); TestCase.assertTrue(dao.create(userMappingRow) > 0);
.numRequiredColumns()); UserMappingTable userMappingTable = UserMappingTable.create(tableName + "_" + simpleTable.getTableName(), additionalMappingColumns); ExtendedRelation relation = relatedTables userMappingRow.setRelatedId(simpleAttributesRow.getId()); RelatedTablesUtils.populateUserRow(userMappingDao.getTable(), userMappingRow, UserMappingTable.requiredColumns()); String attributesName = attributesRow.getValue(TEXT_COLUMN) .toString();
/** * Constructor * * @param dao user custom data access object */ public UserMappingDao(UserCustomDao dao) { super(dao, new UserMappingTable(dao.getTable())); }
private static void createRelatedTablesFeaturesExtension( GeoPackage geoPackage, String tableName1, String tableName2) { RelatedTablesExtension relatedTables = new RelatedTablesExtension( geoPackage); List<UserCustomColumn> additionalMappingColumns = RelatedTablesUtils .createAdditionalUserColumns(UserMappingTable .numRequiredColumns()); UserMappingTable userMappingTable = UserMappingTable.create(tableName1 + "_" + tableName2, additionalMappingColumns); ExtendedRelation relation = relatedTables.addFeaturesRelationship( tableName1, tableName2, userMappingTable); insertRelatedTablesFeaturesExtensionRows(geoPackage, relation); }
/** * Create a user mapping table with the minimum required columns * * @param tableName * table name * @return user mapping table */ public static UserMappingTable create(String tableName) { return create(tableName, null); }
/** * Get the number of required columns * * @return required columns count */ public static int numRequiredColumns() { return requiredColumns().size(); }
/** * Get the base ID column index * * @return base ID column index */ public int getBaseIdColumnIndex() { return getTable().getBaseIdColumnIndex(); }
/** * Get the related ID column index * * @return related ID column index */ public int getRelatedIdColumnIndex() { return getTable().getRelatedIdColumnIndex(); }
/** * Create a user mapping table and extension row if either does not exist. * When not created, there is no guarantee that an existing table has the * same schema as the provided tabled. * * @param userMappingTable * user mapping table * @return true if table was created, false if the table already existed */ public boolean createUserMappingTable(UserMappingTable userMappingTable) { boolean created = false; String userMappingTableName = userMappingTable.getTableName(); getOrCreate(userMappingTableName); if (!geoPackage.isTable(userMappingTableName)) { geoPackage.createUserTable(userMappingTable); created = true; } return created; }
.numRequiredColumns()); final String mappingTableName = "features_media"; UserMappingTable userMappingTable = UserMappingTable.create( mappingTableName, additionalMappingColumns); TestCase.assertFalse(rte.has(userMappingTable.getTableName())); TestCase.assertEquals(UserMappingTable.numRequiredColumns() + additionalMappingColumns.size(), userMappingTable .getColumns().size()); UserCustomColumn baseIdColumn = userMappingTable.getBaseIdColumn(); TestCase.assertNotNull(baseIdColumn); TestCase.assertTrue(baseIdColumn TestCase.assertFalse(baseIdColumn.isPrimaryKey()); UserCustomColumn relatedIdColumn = userMappingTable .getRelatedIdColumn(); TestCase.assertNotNull(relatedIdColumn); TestCase.assertTrue(relatedIdColumn TestCase.assertTrue(relatedIdColumn.isNotNull()); TestCase.assertFalse(relatedIdColumn.isPrimaryKey()); TestCase.assertFalse(rte.has(userMappingTable.getTableName())); validateContents(mediaTable, mediaTable.getContents()); TestCase.assertTrue(rte.has()); TestCase.assertTrue(rte.has(userMappingTable.getTableName())); TestCase.assertNotNull(extendedRelation); List<ExtendedRelation> extendedRelations = rte.getRelationships(); .setRelatedId(mediaIds.get((int) (Math.random() * mediaCount)));
/** * Constructor * * @param dao * user custom data access object */ public UserMappingDao(UserCustomDao dao) { super(dao, new UserMappingTable(dao.getTable())); }
private static void createRelatedTablesMediaExtension(Activity activity, Context testContext, GeoPackage geoPackage) throws IOException { RelatedTablesExtension relatedTables = new RelatedTablesExtension( geoPackage); List<UserCustomColumn> additionalMediaColumns = RelatedTablesUtils .createAdditionalUserColumns(MediaTable.numRequiredColumns()); MediaTable mediaTable = MediaTable.create("media", additionalMediaColumns); List<UserCustomColumn> additionalMappingColumns = RelatedTablesUtils .createAdditionalUserColumns(UserMappingTable .numRequiredColumns()); String tableName1 = "geometry1"; UserMappingTable userMappingTable1 = UserMappingTable.create(tableName1 + "_" + mediaTable.getTableName(), additionalMappingColumns); ExtendedRelation relation1 = relatedTables.addMediaRelationship( tableName1, mediaTable, userMappingTable1); insertRelatedTablesMediaExtensionRows(activity, testContext, geoPackage, relation1, "BIT Systems%", "BIT Systems", "BITSystems_Logo.png", "image/png", "BIT Systems Logo", "http://www.bit-sys.com"); String tableName2 = "geometry2"; UserMappingTable userMappingTable2 = UserMappingTable.create(tableName2 + "_" + mediaTable.getTableName(), additionalMappingColumns); ExtendedRelation relation2 = relatedTables.addMediaRelationship( tableName2, mediaTable, userMappingTable2); insertRelatedTablesMediaExtensionRows(activity, testContext, geoPackage, relation2, "NGA%", "NGA", "NGA_Logo.png", "image/png", "NGA Logo", "http://www.nga.mil"); insertRelatedTablesMediaExtensionRows(activity, testContext, geoPackage, relation2, "NGA", "NGA", "NGA.jpg", "image/jpeg", "Aerial View of NGA East", "http://www.nga.mil"); }
/** * Create a default user mapping table and extension row if either does not * exist. When not created, there is no guarantee that an existing table has * the same schema as the provided tabled. * * @param mappingTableName * user mapping table name * @return true if table was created, false if the table already existed */ public boolean createUserMappingTable(String mappingTableName) { UserMappingTable userMappingTable = UserMappingTable .create(mappingTableName); return createUserMappingTable(userMappingTable); }
userMappingRow.setRelatedId(featureRow2.getId()); RelatedTablesUtils.populateUserRow(userMappingDao.getTable(), userMappingRow, UserMappingTable.requiredColumns()); DublinCoreMetadata.setValue(userMappingRow, DublinCoreType.TITLE, featureName);
/** * Get the base ID column index * * @return base ID column index */ public int getBaseIdColumnIndex() { return getTable().getBaseIdColumnIndex(); }
/** * Get the related ID column index * * @return related ID column index */ public int getRelatedIdColumnIndex() { return getTable().getRelatedIdColumnIndex(); }