pack.close();
throw new IOException(msg);
}
// invalidate pid if path is unknown
PackageId pid = pack.getId();
if (pid != null && pid.getInstallationPath().equals(ZipVaultPackage.UNKNOWN_PATH)) {
pid = null;
}
if (pid == null) {
if (nameHint == null || nameHint.length() == 0) {
throw new IOException("Package does not contain a path specification and not name hint is given.");
}
pid = new PackageId(nameHint);
}
// create parent node
String path = pid.getInstallationPath() + ".zip";
String parentPath = Text.getRelativeParent(path, 1);
String name = Text.getName(path);
Node parent = mkdir(parentPath, false);
// remember installation state properties (GRANITE-2018)