public String getSimpleName() { String name; if (m_file != null) { name = m_file.getName(); } else if (m_entry != null) { String entryName = m_entry.getName(); if (m_entry.isDirectory()) { int len = entryName.length(); int idx = entryName.lastIndexOf('/', len - 2); name = (idx == -1) ? entryName : entryName.substring(idx + 1, len - 1); } else { int idx = entryName.lastIndexOf('/'); name = (idx == -1) ? entryName : entryName.substring(idx + 1); } } else if (m_composite != null) { name = m_composite.getName(); // name = m_url.getFile(); } else { name = "???"; } // end if return name; }
public URL toURL() { URL url = null; try { if (m_file != null) { url = m_file.toURI().toURL(); } else if (m_entry != null) { String zipPath = m_composite.getName(); String entry = m_entry.getName(); url = new URL("jar:file:" + zipPath + "!/" + entry); } else if (m_composite != null) { url = m_composite.toURL(); } } catch (IOException ex) { // } catch (MalformedURLException ex) { } return url; }
public String getQualifiedName() { String name; if (m_file != null) { name = m_file.getPath(); } else if (m_entry != null) { name = m_entry.getName(); } else if (m_composite != null) { name = m_composite.toString(); } else { name = "???"; } // end if return name; }
public static FsFolder createFolder( FsFolder parent, String folderName, ZipFileAndURLUnion composite, ZipEntry entry) { FsFolder folder; FsEntry elem = composite.getInstance(parent, entry); if (elem instanceof FsFolder) { folder = (FsFolder) elem; } else if (elem instanceof FsFile) { folder = null; } else { folder = new FsFolder(parent, folderName, composite, entry); } return folder; }
private void buildChildren(ZipFileAndURLUnion composite) { // if (composite.) String foldername = getQualifiedName(); if ("com/neosapiens/plugins/codegen/simplecsharp/".equals(foldername)) { int i = 0; i++; } Enumeration<? extends ZipEntry> entries = composite.entries(); while (entries.hasMoreElements()) { ZipEntry entry = entries.nextElement(); String entryName = entry.getName(); // if entry part of folder if (entryName.startsWith(foldername) && !entryName.equals(foldername)) { FsEntry element = m_children.get(entryName); if (element == null) { element = FsEntry.createElement(this, composite, entry); m_children.put(entryName, element); } } // AbsFolderElement newElement = AbsFolderElement.createElement(this, m_zipfile, entry); // String simpleName = newElement.getSimpleName(); // AbsFolderElement element = m_children.get(simpleName); // if (element == null) { // m_children.put(simpleName, newElement); // } } // end while long size = m_entry.getSize(); size++; }
public static FsEntry createElement( FsFolder parent, ZipFileAndURLUnion composite, ZipEntry entry) { FsEntry element = null; String prefix = parent.getQualifiedName(); boolean directory = entry.isDirectory(); String entryName = entry.getName(); if (entryName.startsWith(prefix)) { String subEntryName = prefix; String suffix = entryName.substring(prefix.length()); StringTokenizer st = new StringTokenizer(suffix, "/"); while (st.hasMoreTokens()) { String token = st.nextToken(); String elementName = (st.hasMoreTokens() || directory) ? (token + "/") : token; subEntryName += elementName; if (st.hasMoreTokens()) { ZipEntry subEntry = composite.getEntry(subEntryName); if (subEntry == null) { int i = 0; i++; } FsEntry elem = composite.getInstance(parent, subEntry); if (elem == null) { elem = createFolder(parent, subEntryName, composite, subEntry); } if (elem instanceof FsFolder) { parent = (FsFolder) elem; } } else { // boolean directory = entry.isDirectory(); element = directory ? createFolder(parent, elementName, composite, entry) : FsFile.createFile(parent, elementName, composite, entry); } } } else { String subEntryName = ""; ; StringTokenizer st = new StringTokenizer(entryName, "/"); while (st.hasMoreTokens()) { String token = st.nextToken(); String elementName = (st.hasMoreTokens() || directory) ? (token + "/") : token; subEntryName += elementName; if (st.hasMoreTokens()) { ZipEntry subEntry = composite.getEntry(subEntryName); FsEntry elem = composite.getInstance(parent, subEntry); if (elem == null) { elem = createFolder(parent, subEntryName, composite, subEntry); } if (elem instanceof FsFolder) { parent = (FsFolder) elem; } } else { // boolean directory = entry.isDirectory(); element = directory ? createFolder(parent, elementName, composite, entry) : FsFile.createFile(parent, elementName, composite, entry); } } // end while } return element; }