protected LoadStrategy createLoadStrategyForReopen(Archive parent) throws IOException { LoadStrategy aLoadStrategy = null; LooseArchive loose = getLoadStrategy().getLooseArchive(); if (loose != null) { aLoadStrategy = getCommonArchiveFactory().createLoadStrategy(loose.getBinariesPath()); aLoadStrategy.setLooseArchive(loose); } else if (parent == null) aLoadStrategy = getCommonArchiveFactory().createLoadStrategy(getURI()); else aLoadStrategy = getCommonArchiveFactory().createChildLoadStrategy(getURI(), parent.getLoadStrategy()); return aLoadStrategy; }
protected ArchiveOptions getOptionsForOpening(LooseArchive loose) throws IOException, OpenFailureException{ if(loose.getBinariesPath() == null){ throw new OpenFailureException(CommonArchiveResourceHandler.getString(CommonArchiveResourceHandler.open_nested_EXC_, (new Object[] {loose.getUri(), getURI()})), null); // = "Could not open the nested archive "{0}" in "{1}"" } LoadStrategy strategy = getCommonArchiveFactory().createLoadStrategy(loose.getBinariesPath()); strategy.setLooseArchive(loose); return getOptions().cloneWith(strategy, loose.getUri()); }