1402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll/******************************************************************************* 2402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * Copyright (c) 2005, 2006 IBM Corporation and others. 3402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * All rights reserved. This program and the accompanying materials 4402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * are made available under the terms of the Eclipse Public License v1.0 5402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * which accompanies this distribution, and is available at 6402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * http://www.eclipse.org/legal/epl-v10.html 7402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * 8402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * Contributors: 9402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * IBM Corporation - initial API and implementation 10402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll *******************************************************************************/ 11402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollpackage org.eclipse.releng.generators.rss; 12402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 13402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollimport java.io.File; 14402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 15402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollimport org.apache.tools.ant.BuildException; 16402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollimport org.apache.tools.ant.Task; 17402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 18402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollimport org.eclipse.releng.util.rss.Messages; 19402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollimport org.eclipse.releng.util.rss.RSSFeedUtil; 20402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 21402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll/** 22402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * Parameters: 23402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * debug - more output to console - eg., 0|1|2 24402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * 25402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * file - path to the XML file that will be read - eg., /path/to/file.to.read.xml 26402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * xpath - xpath string representing the object to read 27402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * 28402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * @author nickb 29402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * 30402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll */ 31402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollpublic class RSSFeedGetPropertyTask extends Task { 32402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 33402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll private int debug = 0; 34402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 35402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll //required fields 36402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll private File file; 37402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 38402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll private String xpath; 39402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 40402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll //optional 41402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll public void setDebug(int debug) { this.debug = debug; } 42402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 43402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll //required fields 44402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll public void setFile(String file) { 45402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll if (isNullString(file)) 46402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll { System.err.println(Messages.getString("RSSFeedCommon.FileError")); } //$NON-NLS-1$ 47402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll else 48402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll { this.file = new File(file); } 49402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll } 50402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll public void setXpath(String xpath) { 51402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll if (isNullString(xpath)) 52402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll { System.err.println(Messages.getString("RSSFeedCommon.XpathError")); } //$NON-NLS-1$ 53402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll else 54402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll { this.xpath = xpath; } 55402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll } 56402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 57402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll // The method executing the task 58402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll public void execute() throws BuildException { 59402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll RSSFeedUpdateEntryTask updater = new RSSFeedUpdateEntryTask(); 60402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll updater.setFile(file.toString()); 61402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll updater.setXpath(xpath); 62402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll updater.setDebug(debug); 63402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll updater.execute(); 64402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll } 65402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 66402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll private static boolean isNullString(String str) 67402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll { 68402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll return RSSFeedUtil.isNullString(str); 69402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll } 70402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 71402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll}