import com.thoughtworks.xstream.XStream; import org.apache.commons.io.FileUtils; import org.apache.commons.io.filefilter.DirectoryFileFilter; import org.apache.commons.io.filefilter.RegexFileFilter; import org.jpacrepo.model.PkgData; import org.jpacrepo.pacbase.Parser; import org.jpacrepo.service.PacmanService; import org.junit.Test; import javax.naming.*; import java.io.File; import java.io.InputStream; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Properties; /** * Created by walter on 22/03/15. */ public class ParseTest { // @Test public void test() throws Exception { Collection ls = FileUtils.listFiles(new File("/var/cache/pacman/pkg"), new RegexFileFilter(".*\\.pkg\\.tar\\.xz"), DirectoryFileFilter.DIRECTORY); int i = 0; List lista = new ArrayList<>(); for (File file : ls) { PkgData data = new Parser().parseFile(file); lista.add(data); //System.out.println(new XStream().toXML(data)); // if(i++>10) break; } System.out.print(lista); } @Test public void invokeStatelessBean() throws Exception { // Let's lookup the remote stateless calculator Properties prop = new Properties(); InputStream in = getClass().getClassLoader().getResourceAsStream("jboss-ejb-client.properties"); prop.load(in); prop.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming"); prop.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory"); prop.put(Context.PROVIDER_URL, "http-remoting://localhost:8080"); // prop.put(Context.PROVIDER_URL, "http-remoting://odroid-u3:8080"); // prop.put(Context.PROVIDER_URL, "remote://odroid-u3:4447"); prop.put(Context.SECURITY_PRINCIPAL, "jpacrepo"); prop.put(Context.SECURITY_CREDENTIALS, "password01."); prop.put("jboss.naming.client.ejb.context", true); Context context = new InitialContext(prop); Context ctx = new InitialContext(prop); traverseJndiNode("/", context); // final PacmanService stateService = (PacmanService) ctx.lookup("/jpacrepo-1.0/remote/PacmanServiceEJB!service.PacmanService"); final PacmanService stateService = (PacmanService) ctx.lookup("/jpacrepo-1.0/PacmanServiceEJB!org.jpacrepo.service.PacmanService"); stateService.deletePackage("linux-3.19.3-3-x86_64.pkg.tar.xz"); } private static void traverseJndiNode(String nodeName, Context context) { try { NamingEnumeration list = context.list(nodeName); while (list.hasMore()) { String childName = nodeName + "" + list.next().getName(); System.out.println(childName); traverseJndiNode(childName, context); } } catch (NamingException ex) { // We reached a leaf } } @Test public void parseTest() throws Exception { String[] files = new String[]{"/var/cache/pacman/pkg/mesa-10.4.5-1-x86_64.pkg.tar.xz", "/var/cache/pacman/pkg/mesa-10.5.3-1-x86_64.pkg.tar.xz"}; for (String file : files) { PkgData data = new Parser().parseFile(new File(file)); System.out.println(new XStream().toXML(data)); } } }