protected void finalize() throws Throwable { if(isOpen){ close(); } }
/** * Sets the looseArchive. * * @param looseArchive * The looseArchive to set */ public void setLooseArchive(LooseArchive looseArchive) { this.looseArchive = looseArchive; checkLoosePathsValid(); }
public List collectFiles() { //The loose archives need to be read first collectFilesFromLooseArchives(); List files = getFiles(); files.addAll(collectedLooseArchiveFiles.values()); collectedLooseArchiveFiles = Collections.EMPTY_MAP; return files; }
/** * @see LoadStrategy */ public boolean contains(String uri) { if (containsUsingLooseArchive(uri)) return true; return primContains(uri); }
public String getResourcesPath() throws FileNotFoundException { return getLooseArchive() == null ? getAbsolutePath() : getLooseArchive().getResourcesPath(); }
protected File createFile(String uri) { File aFile = null; if (isArchive(uri)) aFile = openNestedArchive(uri); if (aFile == null) { aFile = getArchiveFactory().createFile(); aFile.setURI(uri); aFile.setOriginalURI(uri); } aFile.setLoadingContainer(getContainer()); return aFile; }
protected void collectFilesFromLooseArchives() { if (!canHaveLooseChildren() || getLooseArchive() == null) { collectedLooseArchiveFiles = Collections.EMPTY_MAP; return; } collectedLooseArchiveFiles = new HashMap(); List children = LooseConfigRegister.singleton().getLooseChildren(getLooseArchive()); for (int i = 0; i < children.size(); i++) { LooseArchive loose = (LooseArchive) children.get(i); String uri = loose.getUri(); if (!collectedLooseArchiveFiles.containsKey(uri)) { Archive archive = openNestedArchive(loose); if (archive != null) { collectedLooseArchiveFiles.put(uri, archive); archive.setLoadingContainer(getContainer()); } } } }
Archive archive = (Archive) getContainer(); URIConverter converter = new ArchiveURIConverterImpl(archive, primGetResourcesPath()); ResourceSet rs = new ResourceSetImpl(); Resource.Factory.Registry reg = createResourceFactoryRegistry(); rs.setResourceFactoryRegistry(reg); setResourceSet(rs); rs.setURIConverter(converter); if (archive.shouldUseJavaReflection()) {
public Resource makeMofResource(String uri, EList extent) { Resource existing = getExistingMofResource(uri); if (existing != null) return existing; return getResourceSet().createResource(URI.createURI(uri)); }
protected File createDirectory(String uri){ File aFile = null; aFile = getArchiveFactory().createFile(); aFile.setDirectoryEntry(true); aFile.setURI(uri); aFile.setOriginalURI(uri); aFile.setLoadingContainer(getContainer()); return aFile; }
protected boolean isArchive(String uri) { return ((Archive) getContainer()).isNestedArchive(uri); }
if (!getContainer().isArchive() || isDirectory()) return true; Archive anArchive = (Archive) getContainer();
public boolean isMofResourceLoaded(java.lang.String uri) { Resource res = getExistingMofResource(uri); return res != null && res.isLoaded(); }
public String getBinariesPath() throws FileNotFoundException { return getLooseArchive() == null ? getAbsolutePath() : getLooseArchive().getBinariesPath(); }
/** * Used internally; clients should not need to call */ public FileIterator getFileIterator() throws IOException { return new FileIteratorImpl(getContainer().getFiles()); }
public void close() { super.close(); try { getZipFile().close(); } catch (Throwable t) { //Ignore } }
protected Archive openNestedArchive(String uri) { try { return ((Archive) getContainer()).openNestedArchive(uri); } catch (OpenFailureException e) { //Caught an exception trying to open the nested archive Logger.getLogger().logError(e); return null; } }
protected Archive openNestedArchive(LooseArchive loose) { try { return ((Archive) getContainer()).openNestedArchive(loose); } catch (OpenFailureException e) { //Caught an exception trying to open the nested archive Logger.getLogger().logError(e); return null; } }
protected void throwResourceLoadException(String resourceUri, Exception ex) throws ResourceLoadException { throw new ResourceLoadException(CommonArchiveResourceHandler.getString(CommonArchiveResourceHandler.load_resource_EXC_, (new Object[]{resourceUri, getContainer().getURI()})), ex); // = "Could not load resource "{0}" in archive "{1}"" }