/**
  * Create a new GeoPackage metadata
  *
  * @param metadata
  */
 public void create(GeoPackageMetadata metadata) {
   ContentValues values = new ContentValues();
   values.put(GeoPackageMetadata.COLUMN_NAME, metadata.getName());
   values.put(GeoPackageMetadata.COLUMN_EXTERNAL_PATH, metadata.getExternalPath());
   long insertId = db.insert(GeoPackageMetadata.TABLE_NAME, null, values);
   if (insertId == -1) {
     throw new GeoPackageException(
         "Failed to insert GeoPackage metadata. Name: "
             + metadata.getName()
             + ", External Path: "
             + metadata.getExternalPath());
   }
   metadata.setId(insertId);
 }
 /**
  * Rename the GeoPackage metadata to the new name
  *
  * @param metadata
  * @param newName
  * @return
  */
 public boolean rename(GeoPackageMetadata metadata, String newName) {
   boolean renamed = rename(metadata.getName(), newName);
   if (renamed) {
     metadata.setName(newName);
   }
   return renamed;
 }
 /**
  * Delete the GeoPackage metadata
  *
  * @param metadata
  * @return
  */
 public boolean delete(GeoPackageMetadata metadata) {
   return delete(metadata.getName());
 }