ClassPathEntry classPathEntry = new ClassPathEntry(file, output); classPathEntry.setFilter(ListUtil.commaSeparatedList((String)filterArgs.get("filter"))); classPathEntry.setApkFilter(ListUtil.commaSeparatedList((String)filterArgs.get("apkfilter"))); classPathEntry.setJarFilter(ListUtil.commaSeparatedList((String)filterArgs.get("jarfilter"))); classPathEntry.setAarFilter(ListUtil.commaSeparatedList((String)filterArgs.get("aarfilter"))); classPathEntry.setWarFilter(ListUtil.commaSeparatedList((String)filterArgs.get("warfilter"))); classPathEntry.setEarFilter(ListUtil.commaSeparatedList((String)filterArgs.get("earfilter"))); classPathEntry.setZipFilter(ListUtil.commaSeparatedList((String)filterArgs.get("zipfilter")));
/** * Sets up the filter dialog with the filters from the specified class path * entry. */ private void getFiltersFrom(int index) { ClassPathEntry firstEntry = (ClassPathEntry)listModel.get(index); filterDialog.setFilter(firstEntry.getFilter()); filterDialog.setApkFilter(firstEntry.getApkFilter()); filterDialog.setJarFilter(firstEntry.getJarFilter()); filterDialog.setAarFilter(firstEntry.getAarFilter()); filterDialog.setWarFilter(firstEntry.getWarFilter()); filterDialog.setEarFilter(firstEntry.getEarFilter()); filterDialog.setJmodFilter(firstEntry.getJmodFilter()); filterDialog.setZipFilter(firstEntry.getZipFilter()); }
private void writeJarOptions(String inputEntryOptionName, String outputEntryOptionName, ClassPath classPath) { if (classPath != null) { for (int index = 0; index < classPath.size(); index++) { ClassPathEntry entry = classPath.get(index); String optionName = entry.isOutput() ? outputEntryOptionName : inputEntryOptionName; writer.print(optionName); writer.print(' '); writer.print(relativeFileName(entry.getFile())); // Append the filters, if any. boolean filtered = false; filtered = writeFilter(filtered, entry.getZipFilter()); filtered = writeFilter(filtered, entry.getEarFilter()); filtered = writeFilter(filtered, entry.getWarFilter()); filtered = writeFilter(filtered, entry.getJarFilter()); filtered = writeFilter(filtered, entry.getFilter()); if (filtered) { writer.print(ConfigurationConstants.CLOSE_ARGUMENTS_KEYWORD); } writer.println(); } } }
/** * Applies the entered filter to the specified class path entries. * Any previously set filters are discarded. */ private void setFiltersAt(int[] indices) { for (int index = indices.length - 1; index >= 0; index--) { ClassPathEntry entry = (ClassPathEntry)listModel.get(indices[index]); entry.setFilter(filterDialog.getFilter()); entry.setApkFilter(filterDialog.getApkFilter()); entry.setJarFilter(filterDialog.getJarFilter()); entry.setAarFilter(filterDialog.getAarFilter()); entry.setWarFilter(filterDialog.getWarFilter()); entry.setEarFilter(filterDialog.getEarFilter()); entry.setJmodFilter(filterDialog.getJmodFilter()); entry.setZipFilter(filterDialog.getZipFilter()); } // Make sure they are selected and thus repainted. list.setSelectedIndices(indices); }
DataEntryReader reader) boolean isApk = classPathEntry.isApk(); boolean isJar = classPathEntry.isJar(); boolean isAar = classPathEntry.isAar(); boolean isWar = classPathEntry.isWar(); boolean isEar = classPathEntry.isEar(); boolean isJmod = classPathEntry.isJmod(); boolean isZip = classPathEntry.isZip(); List filter = classPathEntry.getFilter(); List apkFilter = classPathEntry.getApkFilter(); List jarFilter = classPathEntry.getJarFilter(); List aarFilter = classPathEntry.getAarFilter(); List warFilter = classPathEntry.getWarFilter(); List earFilter = classPathEntry.getEarFilter(); List jmodFilter = classPathEntry.getJmodFilter(); List zipFilter = classPathEntry.getZipFilter(); isZip ? "zip" : "directory") + " [" + classPathEntry.getName() + "]" + (filter != null || apkFilter != null ||
new ClassPathEntry(file.isAbsolute() ? file : new File(baseDir, fileName), output); entry.setFilter(ListUtil.commaSeparatedList(filter)); entry.setJarFilter(ListUtil.commaSeparatedList(jarFilter)); entry.setWarFilter(ListUtil.commaSeparatedList(warFilter)); entry.setEarFilter(ListUtil.commaSeparatedList(earFilter)); entry.setZipFilter(ListUtil.commaSeparatedList(zipFilter));
protected static void inputJar( @NonNull ClassPath classPath, @NonNull File file, @Nullable List<String> filter) { ClassPathEntry classPathEntry = new ClassPathEntry(file, false /*output*/); if (filter != null) { classPathEntry.setFilter(filter); } classPath.add(classPathEntry); } }
if (classPathEntry.isOutput()) long lastModified = lastModified(classPathEntry.getFile(), true); if (outputLastModified > lastModified) long lastModified = lastModified(classPathEntry.getFile(), false); if (inputLastModified < lastModified) long lastModified = lastModified(classPathEntry.getFile(), false); if (inputLastModified < lastModified)
/** * Converts the given array of File objects into a corresponding array of * ClassPathEntry objects. */ private ClassPathEntry[] classPathEntries(File[] files, boolean isOutput) { ClassPathEntry[] entries = new ClassPathEntry[files.length]; for (int index = 0; index < entries.length; index++) { entries[index] = new ClassPathEntry(files[index], isOutput); } return entries; }
/** * Reads the given input class path entry. */ private void readInput(String messagePrefix, ClassPathEntry classPathEntry, DataEntryReader dataEntryReader) throws IOException { try { // Create a reader that can unwrap jars, wars, ears, jmods and zips. DataEntryReader reader = DataEntryReaderFactory.createDataEntryReader(messagePrefix, classPathEntry, dataEntryReader); // Create the data entry pump. DirectoryPump directoryPump = new DirectoryPump(classPathEntry.getFile()); // Pump the data entries into the reader. directoryPump.pumpDataEntries(reader); } catch (IOException ex) { throw (IOException)new IOException("Can't read [" + classPathEntry + "] (" + ex.getMessage() + ")").initCause(ex); } } }
DataEntryReader reader) boolean isApk = classPathEntry.isApk(); boolean isJar = classPathEntry.isJar(); boolean isAar = classPathEntry.isAar(); boolean isWar = classPathEntry.isWar(); boolean isEar = classPathEntry.isEar(); boolean isJmod = classPathEntry.isJmod(); boolean isZip = classPathEntry.isZip(); List filter = classPathEntry.getFilter(); List apkFilter = classPathEntry.getApkFilter(); List jarFilter = classPathEntry.getJarFilter(); List aarFilter = classPathEntry.getAarFilter(); List warFilter = classPathEntry.getWarFilter(); List earFilter = classPathEntry.getEarFilter(); List jmodFilter = classPathEntry.getJmodFilter(); List zipFilter = classPathEntry.getZipFilter(); isZip ? "zip" : "directory") + " [" + classPathEntry.getName() + "]" + (filter != null || apkFilter != null ||
ClassPathEntry entry = new ClassPathEntry(file(nextWord), isOutput); entry.setFilter(filters[--counter]); if (counter > 0) entry.setJarFilter(filters[--counter]); if (counter > 0) entry.setWarFilter(filters[--counter]); if (counter > 0) entry.setEarFilter(filters[--counter]); if (counter > 0) entry.setZipFilter(filters[--counter]);
protected void outJar(@NonNull File file) { ClassPathEntry classPathEntry = new ClassPathEntry(file, true /*output*/); configuration.programJars.add(classPathEntry); }
/** * Reads the given input class path entry. */ private void readInput(String messagePrefix, ClassPathEntry classPathEntry, DataEntryReader dataEntryReader) throws IOException { try { // Create a reader that can unwrap jars, wars, ears, jmods and zips. DataEntryReader reader = DataEntryReaderFactory.createDataEntryReader(messagePrefix, classPathEntry, dataEntryReader); // Create the data entry pump. DirectoryPump directoryPump = new DirectoryPump(classPathEntry.getFile()); // Pump the data entries into the reader. directoryPump.pumpDataEntries(reader); } catch (IOException ex) { throw (IOException)new IOException("Can't read [" + classPathEntry + "] (" + ex.getMessage() + ")").initCause(ex); } } }
DataEntryReader reader) boolean isApk = classPathEntry.isApk(); boolean isJar = classPathEntry.isJar(); boolean isAar = classPathEntry.isAar(); boolean isWar = classPathEntry.isWar(); boolean isEar = classPathEntry.isEar(); boolean isJmod = classPathEntry.isJmod(); boolean isZip = classPathEntry.isZip(); List filter = classPathEntry.getFilter(); List apkFilter = classPathEntry.getApkFilter(); List jarFilter = classPathEntry.getJarFilter(); List aarFilter = classPathEntry.getAarFilter(); List warFilter = classPathEntry.getWarFilter(); List earFilter = classPathEntry.getEarFilter(); List jmodFilter = classPathEntry.getJmodFilter(); List zipFilter = classPathEntry.getZipFilter(); isZip ? "zip" : "directory") + " [" + classPathEntry.getName() + "]" + (filter != null || apkFilter != null ||
String optionName = entry.isOutput() ? outputEntryOptionName : inputEntryOptionName; writer.print(relativeFileName(entry.getFile())); filtered = writeFilter(filtered, entry.getAarFilter()); filtered = writeFilter(filtered, entry.getApkFilter()); filtered = writeFilter(filtered, entry.getZipFilter()); filtered = writeFilter(filtered, entry.getJmodFilter()); filtered = writeFilter(filtered, entry.getEarFilter()); filtered = writeFilter(filtered, entry.getWarFilter()); filtered = writeFilter(filtered, entry.getJarFilter()); filtered = writeFilter(filtered, entry.getFilter());
if (firstEntry.isOutput()) throw new IOException("The output jar [" + firstEntry.getName() + "] must be specified after an input jar, or it will be empty."); if (entry.isOutput()) if (entry.getFilter() == null && entry.getJarFilter() == null && entry.getWarFilter() == null && entry.getEarFilter() == null && entry.getZipFilter() == null && programJars.get(index + 1).isOutput()) throw new IOException("The output jar [" + entry.getName() + "] must have a filter, or all subsequent jars will be empty."); if (!otherEntry.isOutput() && entry.getFile().equals(otherEntry.getFile())) throw new IOException("The output jar [" + entry.getName() + "] must be different from all input jars."); if (!entry.isOutput()) !programJars.get(nextIndex).isOutput())
new ClassPathEntry(new File(classPathString.substring(index, next_index)), false);