Exemplo n.º 1
0
  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;
  }
Exemplo n.º 2
0
  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;
  }
Exemplo n.º 3
0
  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;
  }
Exemplo n.º 4
0
  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;
  }
Exemplo n.º 5
0
  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++;
  }
Exemplo n.º 6
0
  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;
  }