aboutsummaryrefslogtreecommitdiffstats
path: root/archiva-modules
Commit message (Expand)AuthorAgeFilesLines
* prevent NPEOlivier Lamy2012-06-011-0/+5
* fix compilation failureOlivier Lamy2012-06-013-17/+19
* fix download url with setting correctly file extension.Olivier Lamy2012-06-011-8/+15
* improve testOlivier Lamy2012-06-011-0/+18
* fix junitOlivier Lamy2012-05-302-5/+7
* start work on deleting artifacts tru the uiOlivier Lamy2012-05-306-92/+126
* remove not used imagesOlivier Lamy2012-05-2914-2/+2
* remove non needed parametersOlivier Lamy2012-05-293-7/+3
* this is fixed nowOlivier Lamy2012-05-292-10/+8
* add i18nOlivier Lamy2012-05-291-0/+1
* [MRM-1621] add download box in artifact detail for new ui.Olivier Lamy2012-05-294-2/+42
* return url for ArtifactDownloadInfos serviceOlivier Lamy2012-05-294-54/+59
* simplify by reusing an existing classOlivier Lamy2012-05-296-219/+55
* display artifact sizeOlivier Lamy2012-05-291-3/+3
* ensure ce use hsqldb for webdav unit testOlivier Lamy2012-05-291-5/+7
* use hsql for unit testsOlivier Lamy2012-05-291-2/+6
* upgrade hsql versionOlivier Lamy2012-05-293-2/+4
* artifact content view: display snapshot versionsOlivier Lamy2012-05-286-14/+19
* take care of metadata files with id as maven-metadata-archiva-vm-all-public.xmlOlivier Lamy2012-05-283-10/+19
* * fix rest url usedOlivier Lamy2012-05-242-1/+2
* fix i18nOlivier Lamy2012-05-242-1/+8
* [MRM-1629] Add a configuration field for the application url.Olivier Lamy2012-05-243-1/+79
* [MRM-1629] Add a configuration field for the application url.Olivier Lamy2012-05-241-1/+4
* [MRM-1629] Add a configuration field for the application url.Olivier Lamy2012-05-242-0/+33
* fix form titleOlivier Lamy2012-05-242-2/+2
* fix copy/paste idsOlivier Lamy2012-05-242-5/+5
* add unit test and a toString method for debug purposeOlivier Lamy2012-05-243-3/+35
* fix ui due to data structure changeOlivier Lamy2012-05-231-4/+2
* grhh add the beanOlivier Lamy2012-05-231-0/+66
* use bean rather than passing string. return back repositoryId used.Olivier Lamy2012-05-235-37/+67
* correctly encodeURIComponent parametersOlivier Lamy2012-05-231-4/+4
* add some debug informationsOlivier Lamy2012-05-231-0/+4
* if file not exists for a repository try next repositoryOlivier Lamy2012-05-231-2/+2
* fix issue when no repository has been selectedOlivier Lamy2012-05-221-3/+3
* remove too noisy logOlivier Lamy2012-05-221-2/+0
* add missing i18nOlivier Lamy2012-05-222-1/+3
* missed to add filesOlivier Lamy2012-05-212-0/+1529
* [MRM-1620] add a tab to browse artifact content in artifact detail view. Pret...Olivier Lamy2012-05-213-5/+8
* add small spinner when loading contentOlivier Lamy2012-05-216-4/+5
* cleanup content whent changing artifactOlivier Lamy2012-05-211-1/+2
* implements a basic go to anchot mechanismOlivier Lamy2012-05-213-4/+10
* [MRM-1620] add a tab to browse artifact content in artifact detail viewOlivier Lamy2012-05-211-0/+22
* [MRM-1620] add a tab to browse artifact content in artifact detail viewOlivier Lamy2012-05-213-11/+51
* add rest service to retrieve file content (from a jar or a pom content)Olivier Lamy2012-05-214-3/+153
* show a full dump on error */ //this should be implemented here too private static boolean errorDump = false; public XalanCommandLine(String[] args) { for (int i = 0; i < args.length; i++) { if (args[i].equals("-d") || args[i].equals("--full-error-dump")) { errorDump = true; } else if (args[i].equals("-x")) { dumpConfiguration = true; } else if ((args[i].charAt(0) == '-') && (args[i].charAt(1) == 'c')) { userConfigFile = args[i].substring(2); } else if (args[i].charAt(0) == '-') { printUsage(args[i]); } else if (foFile == null) { foFile = args[i]; } else if (xsltFile == null) { xsltFile = args[i]; } else if (pdfFile == null) { pdfFile = args[i]; } else { printUsage(args[i]); } } if (foFile == null || pdfFile == null || xsltFile == null) { printUsage(null); } } /* * shows usage info */ public void printUsage(String arg) { if (arg != null) { MessageHandler.errorln("Unkown argument: '"+ arg + "'"); } MessageHandler.errorln("Usage: java [-d] [-x]" + "[-cMyConfigFile] " + "org.apache.fop.apps.XalanCommandLine " + "xml-file xslt-file pdf-file"); MessageHandler.errorln("Options:\n" + " -d or --full-error-dump Show stack traces upon error"); MessageHandler.errorln(" -x dump configuration information"); MessageHandler.errorln("-cMyConfigFile use values in configuration file MyConfigFile instead of/additional to default"); System.exit(1); } /** * creates a SAX parser, using the value of org.xml.sax.parser * defaulting to org.apache.xerces.parsers.SAXParser * * @return the created SAX parser */ static XMLReader createParser() { String parserClassName = System.getProperty("org.xml.sax.parser"); if (parserClassName == null) { parserClassName = "org.apache.xerces.parsers.SAXParser"; } org.apache.fop.messaging.MessageHandler.logln( "using SAX parser " + parserClassName); try { return (XMLReader) Class.forName( parserClassName).newInstance(); } catch (ClassNotFoundException e) { org.apache.fop.messaging.MessageHandler.errorln( "Could not find " + parserClassName); } catch (InstantiationException e) { org.apache.fop.messaging.MessageHandler.errorln( "Could not instantiate " + parserClassName); } catch (IllegalAccessException e) { org.apache.fop.messaging.MessageHandler.errorln( "Could not access " + parserClassName); } catch (ClassCastException e) { org.apache.fop.messaging.MessageHandler.errorln( parserClassName + " is not a SAX driver"); } return null; } /** * create an InputSource from a file name * * @param filename the name of the file * @return the InputSource created */ protected static InputSource fileInputSource(String filename) { /* this code adapted from James Clark's in XT */ File file = new File(filename); String path = file.getAbsolutePath(); String fSep = System.getProperty("file.separator"); if (fSep != null && fSep.length() == 1) path = path.replace(fSep.charAt(0), '/'); if (path.length() > 0 && path.charAt(0) != '/') path = '/' + path; try { return new InputSource(new URL("file", null, path).toString()); } catch (java.net.MalformedURLException e) { throw new Error("unexpected MalformedURLException"); } } /** * mainline method * * first command line argument is xml input file * second command line argument is xslt file which commands the conversion from xml to xsl:fo * third command line argument is the output file * * @param command line arguments */ public void run () { Driver driver = new Driver(); if (errorDump) { driver.setErrorDump(true); } if (userConfigFile != null) { driver.loadUserconfiguration(userConfigFile); } if (dumpConfiguration) { Configuration.dumpConfiguration(); System.exit(0); } driver.setBaseDir(foFile); String version = Version.getVersion(); MessageHandler.logln(version); XMLReader parser = createParser(); if (parser == null) { MessageHandler.errorln("ERROR: Unable to create SAX parser"); System.exit(1); } // setting the parser features try { parser.setFeature("http://xml.org/sax/features/namespace-prefixes", true); } catch (SAXException e) { MessageHandler.errorln("Error in setting up parser feature namespace-prefixes"); MessageHandler.errorln("You need a parser which supports SAX version 2"); System.exit(1); } try { java.io.Writer writer; java.io.Reader reader; boolean usefile = false; MessageHandler.logln("transforming to xsl:fo markup"); // create a Writer // the following is an ugly hack to allow processing of larger files // if xml file size is larger than 700 kb write the fo:file to disk if ((new File(foFile).length()) > 500000) { writer = new FileWriter(pdfFile + ".tmp"); usefile = true; } else { writer = new StringWriter(); } // Use XSLTProcessorFactory to instantiate an XSLTProcessor. XSLTProcessor processor = XSLTProcessorFactory.getProcessor(); // Create the 3 objects the XSLTProcessor needs to perform the transformation. // Fix up the args... XMLParserLiaison xmlPL = processor.getXMLProcessorLiaison(); URL urlTmp = xmlPL.getURLFromString(foFile, null); MessageHandler.errorln("xml: " + urlTmp); XSLTInputSource xmlSource = new XSLTInputSource (urlTmp.toString()); urlTmp = xmlPL.getURLFromString(xsltFile, null); MessageHandler.errorln("xslt: " + urlTmp); XSLTInputSource xslSheet = new XSLTInputSource (urlTmp.toString()); XSLTResultTarget xmlResult = new XSLTResultTarget (writer); // Perform the transformation. processor.process(xmlSource, xslSheet, xmlResult); if (usefile) { reader = new FileReader(pdfFile + ".tmp"); } else { // create a input source containing the xsl:fo file which can be fed to Fop reader = new StringReader(writer.toString()); } writer.flush(); writer.close(); //set Driver methods to start Fop processing driver.setRenderer("org.apache.fop.render.pdf.PDFRenderer", version); driver.addElementMapping("org.apache.fop.fo.StandardElementMapping"); driver.addElementMapping("org.apache.fop.svg.SVGElementMapping"); driver.addPropertyList("org.apache.fop.fo.StandardPropertyListMapping"); driver.addPropertyList("org.apache.fop.svg.SVGPropertyListMapping"); OutputStream stream = new BufferedOutputStream(new FileOutputStream(pdfFile)); driver.setOutputStream(stream); driver.buildFOTree(parser, new InputSource(reader)); reader.close(); driver.format(); driver.render(); if (usefile) { new File (pdfFile + ".tmp").delete(); } stream.flush(); stream.close(); } catch (Exception e) { MessageHandler.errorln("FATAL ERROR: " + e.getMessage()); if (errorDump) { e.printStackTrace(); } System.exit(1); } } /** * mainline method * * first command line argument is xml input file * second command line argument is xslt file * third command line argument is the target pdf file * * @param command line arguments */ public static void main(String[] args) { XalanCommandLine xcmdLine = new XalanCommandLine(args); xcmdLine.run(); } }