private static String normalize(String path, List<Mapper> mappers) throws IOException { try { for (Mapper m : mappers) { String[] nue = m.getImplementation().mapFileName(path); if (nue != null) { for (int i = 0; i < nue.length; i++) { File f = new File(nue[i]); if (f.isFile()) { return new File(f.toURI().normalize()).getAbsolutePath(); } } } } return path; } catch (BuildException e) { throw new IOException(e.toString()); } }
@Test public void testGlobMapperRelativePath() { DependSelector s = new DependSelector(); File subdir = new File("selectortest/tar/bz2"); s.setTargetdir(subdir); Mapper.MapperType glob = new Mapper.MapperType(); glob.setValue("glob"); Mapper m = s.createMapper(); m.setType(glob); m.setFrom("*.bz2"); m.setTo("*.tar.bz2"); String results = selectorRule.selectionString(s); assertEquals("FFTFFFFFFTTF", results); }
@Test public void testRestrictedGlobMapper() { DependSelector s = new DependSelector(); File subdir = new File(selectorRule.getBeddir(), "tar/bz2"); s.setTargetdir(subdir); Mapper.MapperType glob = new Mapper.MapperType(); glob.setValue("glob"); Mapper m = s.createMapper(); m.setType(glob); m.setFrom("*.bz2"); m.setTo("*.tar.bz2"); String results = selectorRule.selectionString(s); assertEquals("FFFFFFFFFTTF", results); }
@Test public void testMirroredSelection() { DependSelector s = new DependSelector(); s.setTargetdir(new File(selectorRule.getOutputDir(), "selectortest2/tar/bz2")); Mapper.MapperType glob = new Mapper.MapperType(); glob.setValue("glob"); Mapper m = s.createMapper(); m.setType(glob); m.setFrom("*.bz2"); m.setTo("*.tar.bz2"); String results = selectorRule.mirrorSelectionString(s); assertEquals("FFFFFFFFFTTF", results); results = selectorRule.selectionString(s); assertEquals("FFFFFFFFFTTF", results); }
/** * Adds a license mapper. */ public void addConfiguredLicenseMapper(Mapper mapper) { if (licenseMapper != null) { throw new BuildException("Only one license mapper is allowed."); } this.licenseMapper = mapper.getImplementation(); }
/** * Add a mapper to convert the file names. * * @param mapper * a Mapper value. */ public void addMapper(Mapper mapper) { if (this.mapper != null) { throw new IllegalArgumentException("Cannot define more than one mapper"); } this.mapper = mapper; }
/** * Executes the task. * * @throws BuildException is there is a problem in the task execution. */ public void execute() throws BuildException { // first off, make sure that we've got a from and to extension if (fromExtension == null || toExtension == null || srcDir == null) { throw new BuildException("srcDir, fromExtension and toExtension " + "attributes must be set!"); } log("DEPRECATED - The renameext task is deprecated. Use move instead.", Project.MSG_WARN); log("Replace this with:", Project.MSG_INFO); log("<move todir=\"" + srcDir + "\" overwrite=\"" + replace + "\">", Project.MSG_INFO); log(" <fileset dir=\"" + srcDir + "\" />", Project.MSG_INFO); log(" <mapper type=\"glob\"", Project.MSG_INFO); log(" from=\"*" + fromExtension + "\"", Project.MSG_INFO); log(" to=\"*" + toExtension + "\" />", Project.MSG_INFO); log("</move>", Project.MSG_INFO); log("using the same patterns on <fileset> as you\'ve used here", Project.MSG_INFO); Move move = new Move(); move.bindToOwner(this); move.setOwningTarget(getOwningTarget()); move.setTaskName(getTaskName()); move.setLocation(getLocation()); move.setTodir(srcDir); move.setOverwrite(replace); fileset.setDir(srcDir); move.addFileset(fileset); Mapper me = move.createMapper(); me.setType(globType); me.setFrom("*" + fromExtension); me.setTo("*" + toExtension); move.execute(); }
/** * Add a mapper to convert the file names. * * @param mapper a <code>Mapper</code> value. */ public void addMapper(Mapper mapper) { if (this.mapper != null) { throw new BuildException( "Cannot define more than one mapper"); } this.mapper = mapper; }
/** * Defines the mapper to map source to destination files. * @param mapper the mapper to use * @exception BuildException if more than one mapper is defined * @since Ant 1.6.2 */ public void addMapper(final Mapper mapper) { if (mapperElement != null) { handleError("Cannot define more than one mapper"); } else { mapperElement = mapper; } }
@Test public void testIdentityMapper() { DependSelector s = new DependSelector(); s.setTargetdir(selectorRule.getBeddir()); Mapper.MapperType identity = new Mapper.MapperType(); identity.setValue("identity"); Mapper m = s.createMapper(); m.setType(identity); String results = selectorRule.selectionString(s); assertEquals("FFFFFFFFFFFF", results); }
@Test public void testMergeMapper() { DependSelector s = new DependSelector(); s.setTargetdir(selectorRule.getBeddir()); Mapper.MapperType merge = new Mapper.MapperType(); merge.setValue("merge"); Mapper m = s.createMapper(); m.setType(merge); m.setTo("asf-logo.gif.gz"); String results = selectorRule.selectionString(s); assertEquals("TFFFFTTTFFF", results.substring(0,11)); }
@Test public void testMergeMapper2() { DependSelector s = new DependSelector(); s.setTargetdir(selectorRule.getBeddir()); Mapper.MapperType merge = new Mapper.MapperType(); merge.setValue("merge"); Mapper m = s.createMapper(); m.setType(merge); m.setTo("asf-logo.gif.bz2"); String results = selectorRule.selectionString(s); assertEquals("TTFTTTTTTTTT", results); }
/** Mapper to be applied to each property in the list before its * value is taken */ public void addMapper(Mapper m) { this.mapper = m; }
private void checkHelpSet(File hsfile) throws Exception { log("Checking helpset: " + hsfile); HelpSet hs = new HelpSet(null, hsfile.toURI().toURL()); javax.help.Map map = hs.getCombinedMap(); log("Parsed helpset, checking map IDs in TOC/Index navigators..."); NavigatorView[] navs = hs.getNavigatorViews(); for (int i = 0; i < navs.length; i++) { String name = navs[i].getName(); File navfile = new File(hsfile.getParentFile(), (String)navs[i].getParameters().get("data")); if (! navfile.exists()) throw new BuildException("Navigator " + name + " not found", new Location(navfile.getAbsolutePath())); if (navs[i] instanceof IndexView) { log("Checking index navigator " + name, Project.MSG_VERBOSE); IndexView.parse(navfile.toURI().toURL(), hs, Locale.getDefault(), new VerifyTIFactory(hs, map, navfile, false)); } else if (navs[i] instanceof TOCView) { log("Checking TOC navigator " + name, Project.MSG_VERBOSE); TOCView.parse(navfile.toURI().toURL(), hs, Locale.getDefault(), new VerifyTIFactory(hs, map, navfile, true)); } else { log("Skipping non-TOC/Index view: " + name, Project.MSG_VERBOSE); } } log("Checking for duplicate map IDs..."); HelpSet.parse(hsfile.toURI().toURL(), null, new VerifyHSFactory()); log("Checking links from help map and between HTML files..."); @SuppressWarnings("unchecked") Enumeration<javax.help.Map.ID> e = map.getAllIDs(); Set<URI> okurls = new HashSet<>(1000); Set<URI> badurls = new HashSet<>(1000); Set<URI> cleanurls = new HashSet<>(1000); while (e.hasMoreElements()) { javax.help.Map.ID id = e.nextElement(); URL u = map.getURLFromID(id); if (u == null) { throw new BuildException("Bogus map ID: " + id.id, new Location(hsfile.getAbsolutePath())); } log("Checking ID " + id.id, Project.MSG_VERBOSE); List<String> errors = new ArrayList<>(); CheckLinks.scan(this, null, null, id.id, "", u.toURI(), okurls, badurls, cleanurls, false, false, false, 2, Collections.<Mapper>emptyList(), errors); for (String error : errors) { log(error, Project.MSG_WARN); } } }
/** * Add a mapper to translate file names to the "originals". */ public Mapper createMapper() { Mapper m = new Mapper(getProject()); mappers.add(m); return m; }
public Mapper createMapper() { mapper = new Mapper(getProject()); return mapper; }
/** * Defines the FileNameMapper to use (nested mapper element). * * @return Mappper to be configured */ public Mapper createMapper() { MyMapper mapper = new MyMapper(getProject()); mappers.addElement(mapper); return mapper; }
public void addMapper(Mapper mapper) { this.mapper = mapper; }
MapperAdapter(Mapper mapper) { this.mapper = mapper; }
/** Creates new RenameExtensions */ public RenameExtensions() { super(); globType = new Mapper.MapperType(); globType.setValue("glob"); }
/** * Add a nested filenamemapper. * @param fileNameMapper the mapper to add. * @since Ant 1.6.3 */ public void add(FileNameMapper fileNameMapper) { Mapper m = new Mapper(getProject()); m.add(fileNameMapper); addMapper(m); }
public void addConfiguredMapper(Mapper mapper) { add(mapper.getImplementation()); }
/** * Tests to make sure that the selector is selecting files correctly. */ @Test public void testSelectionBehaviour() { PresentSelector s; String results; Mapper m; Mapper.MapperType identity = new Mapper.MapperType(); identity.setValue("identity"); Mapper.MapperType glob = new Mapper.MapperType(); glob.setValue("glob"); Mapper.MapperType merge = new Mapper.MapperType(); merge.setValue("merge"); Mapper.MapperType flatten = new Mapper.MapperType(); flatten.setValue("flatten"); File beddir = selectorRule.getBeddir(); s = new PresentSelector(); s.setTargetdir(beddir); results = selectorRule.selectionString(s); assertEquals("TTTTTTTTTTTT", results); s = new PresentSelector(); s.setTargetdir(beddir); m = s.createMapper(); m.setType(identity); results = selectorRule.selectionString(s); assertEquals("TTTTTTTTTTTT", results); s = new PresentSelector(); File subdir = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/expected"); s.setTargetdir(subdir); m = s.createMapper(); m.setType(flatten); results = selectorRule.selectionString(s); assertEquals("TTTTTTTTTTTF", results); s = new PresentSelector(); s.setTargetdir(beddir); m = s.createMapper(); m.setType(merge); m.setTo("asf-logo.gif.gz"); results = selectorRule.selectionString(s); assertEquals("TTTTTTTTTTTT", results); s = new PresentSelector(); subdir = new File(beddir, "tar/bz2"); s.setTargetdir(subdir); m = s.createMapper(); m.setType(glob); m.setFrom("*.bz2"); m.setTo("*.tar.bz2"); results = selectorRule.selectionString(s); assertEquals("FFTFFFFFFFFF", results); s = new PresentSelector(); subdir = new File(selectorRule.getOutputDir(), "selectortest2"); s.setTargetdir(subdir); results = selectorRule.selectionString(s); assertEquals("TTTFFTTTTTTT", results); results = selectorRule.selectionString(s); assertEquals("TTTFFTTTTTTT", results); }
public Mapper createMapper() throws BuildException { return delegate.createMapper(); }
/** * Scan for broken links. * @param task an Ant task to associate with this * @param referrer the referrer file path (or full URL if not file:) * @param referrerLocation the location in the referrer, e.g. ":38:12", or "" if unavailable * @param u the URI to check * @param okurls a set of URIs known to be fully checked (including all anchored variants etc.) * @param badurls a set of URIs known to be bogus * @param cleanurls a set of (base) URIs known to have had their contents checked * @param checkexternal if true, check external links (all protocols besides file:) * @param recurse one of: * 0 - just check that it can be opened; * 1 - check also that any links from it can be opened; * 2 - recurse * @param mappers a list of Mappers to apply to get source files from HTML files */ public static void scan (Task task, ClassLoader globalClassLoader, java.util.Map<String,URLClassLoader> classLoaderMap, String referrer, String referrerLocation, URI u, Set<URI> okurls, Set<URI> badurls, Set<URI> cleanurls, boolean checkexternal, boolean checkspaces, boolean checkforbidden, int recurse, List<Mapper> mappers, List<String> errors) throws IOException { scan (task, globalClassLoader, classLoaderMap, referrer, referrerLocation, u, okurls, badurls, cleanurls, checkexternal, checkspaces, checkforbidden, recurse, mappers, Collections.<Filter>emptyList(), errors); }
/** * Add a nested filenamemapper. * * @param fileNameMapper * the mapper to add. */ public void add(FileNameMapper fileNameMapper) { Mapper m = new Mapper(getProject()); m.add(fileNameMapper); addMapper(m); }
/** * Add a <code>Mapper</code>. * @param mapper the <code>Mapper</code> to add. * @since Ant 1.6.3 */ public void addConfiguredMapper(Mapper mapper) { add(mapper.getImplementation()); }
/** * Adds a nested filenamemapper. * @param fileNameMapper the mapper to add * @exception BuildException if more than one mapper is defined * @since Ant 1.7.0 */ public void add(final FileNameMapper fileNameMapper) throws BuildException { final Mapper mapper = new Mapper(getProject()); mapper.add(fileNameMapper); addMapper(mapper); }
/** * Add a <code>Mapper</code>. * @param mapper the <code>Mapper</code> to add. */ public void addConfiguredMapper(Mapper mapper) { add(mapper.getImplementation()); }