/* * Copyright (C) 2011 Alvaro Duran Tovar * * This file is part of AFA. * * AFA is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package afa.control.plugins; import afa.model.Plugin; import java.util.Vector; import org.jdom.Document; import org.jdom.Element; import org.jdom.JDOMException; import org.jdom.input.SAXBuilder; import afa.control.Constants; import java.io.File; import java.util.Iterator; import java.util.List; /** * * @author Alvaro Duran Tovar */ class RepositoryFileParser { static Vector<Plugin> getPlugins() throws Exception{ Vector<Plugin> vector = new Vector<Plugin>(); SAXBuilder builder = new SAXBuilder(); Element root = builder.build( new File(Constants.getRepositoryFile())).getRootElement(); Element plugins_elem = root; List<Element> plugins = plugins_elem.getChildren(); Iterator<Element> iterator = plugins.iterator(); while(iterator.hasNext()){ Element plugin_elem = iterator.next(); Plugin p = new Plugin(); Iterator<Element> meta = plugin_elem.getChildren().iterator(); while(meta.hasNext()){ Element data = meta.next(); if(data.getName().trim().equals("name")) p.setName(data.getText()); if(data.getName().trim().equals("location")){ p.setRepositoryLocation(data.getText()); p.setIsLocal(false); } if(data.getName().trim().equals("last_updated")) p.setLastUpdated(data.getText()); if(data.getName().trim().equals("category")) p.setCategory(data.getText()); } vector.add(p); } return vector; } }