List of usage examples for org.apache.commons.lang.text StrTokenizer size
public int size()
From source file:com.akrema.stringeval.utils.ExprUtils.java
/** * extract arguments from the input string * and specify if we have integer or string arguments * * @param inputstring the parameters in the expression * @return map contain number of argument+value *//* www. ja v a 2 s .co m*/ public static HashMap<Integer, Object> extractArguments(String inputstring) throws InputStringException { HashMap<Integer, Object> args = new HashMap<Integer, Object>(); StrTokenizer tokenizer = new StrTokenizer(inputstring, StringCONST.DELM); if (tokenizer.size() > 3) { throw new InputStringException(" the arguments list must be 3 "); } int index = 1; while (tokenizer.hasNext()) { String ch = tokenizer.nextToken(); if (ch.matches("\\d+")) { args.put(index, Integer.parseInt(ch)); index++; } else { args.put(index, ch); index++; } } return args; }
From source file:com.hmsinc.epicenter.model.geography.util.GeocoderDotUSClient.java
public Geometry geocode(String address, String city, String state, String zipcode) { Validate.notNull(address);/* w w w . java 2 s .co m*/ Validate.notNull(city); Validate.notNull(state); Validate.notNull(zipcode); Geometry g = null; try { final GetMethod get = new GetMethod(geoCoderURL); final NameValuePair[] query = { new NameValuePair("address", address), new NameValuePair("city", city), new NameValuePair("state", state), new NameValuePair("zipcode", zipcode) }; get.setQueryString(query); httpClient.executeMethod(get); final String response = get.getResponseBodyAsString(); get.releaseConnection(); if (response != null) { final StrTokenizer tokenizer = StrTokenizer.getCSVInstance(response); if (tokenizer.size() == 5) { final Double latitude = Double.valueOf(tokenizer.nextToken()); final Double longitude = Double.valueOf(tokenizer.nextToken()); g = factory.createPoint(new Coordinate(longitude, latitude)); logger.debug("Geometry: " + g.toString()); } } } catch (HttpException e) { throw new RuntimeException(e); } catch (IOException e) { throw new RuntimeException(e); } return g; }
From source file:org.apache.felix.sigil.eclipse.preferences.PrefsUtils.java
public static final String[] stringToArray(String string) { StrTokenizer tokenizer = new StrTokenizer(string, ',', '"'); String[] array = new String[tokenizer.size()]; for (int i = 0; i < array.length; i++) { array[i] = tokenizer.nextToken(); }// ww w. j a v a2 s .c om return array; }
From source file:org.goobi.presentation.contentservlet.controller.GetPdfMultiMetsAction.java
/************************************************************************************ * exectute multiple mets handling and generation of one pdf file from it to send it back to output stream of the servlet, after setting correct * mime type//from www . j av a 2 s.c om * * @param request {@link HttpServletRequest} of ServletRequest * @param response {@link HttpServletResponse} for writing to response output stream * @throws IOException * @throws ServletException * @throws ContentLibException * @throws URISyntaxException * @throws CacheException ************************************************************************************/ @Override public void run(ServletContext servletContext, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ContentLibException, URISyntaxException, CacheException { /* first of all validation */ validateParameters(request); /* * -------------------------------- get central configuration and -------------------------------- */ ContentServerConfiguration config = ContentServerConfiguration.getInstance(); OutputStream myOutStream = response.getOutputStream(); setTargetNameAndMimeType(request, response, config); Watermark myWatermark = null; /* get mets filegroup from request or from configuration */ String strMetsFileGroup = request.getParameter("metsFileGroup"); if (strMetsFileGroup == null) { strMetsFileGroup = config.getDefaultMetsFileGroup(); } try { if (config.getWatermarkUse()) { File watermarkfile = new File(new URI(config.getWatermarkConfigFilePath())); if (request.getParameterMap().containsKey("watermarkText")) { myWatermark = new Watermark(watermarkfile, request.getParameter("watermarkText")); } else { myWatermark = new Watermark(watermarkfile); } } // defining the DocumentPart-List LinkedList<DocumentPart> documentparts = new LinkedList<DocumentPart>(); /* define title page, if configured */ PDFTitlePage titlepage = new PDFTitlePage(); if (config.getPdfTitlePageUse()) { titlepage.readConfiguration(config.getPdfTitlePageConfigFile()); } /* run through all Documentparts in parameter 'files' */ StrTokenizer stdocuments = new StrTokenizer(request.getParameter("files"), "$$"); while (stdocuments.hasNext()) { /* get all parameters from each Documentpart */ StrTokenizer docparams = new StrTokenizer(stdocuments.nextToken(), "$"); /* create DocumentPart */ String doctype = docparams.nextToken(); URL url = new URL(config.getRepositoryPathMets() + docparams.nextToken()); // URL url2 = new URL("http://gdz.sub.uni-goettingen.de/mets_export.php?PPN=PPN271629789"); DocumentPart dp; if (doctype.equals("pdf")) { dp = new DocumentPart(url, DocumentPartType.PDF); } else { dp = new DocumentPart(url, DocumentPartType.METS); dp.setMetsFileGroup(strMetsFileGroup); } /* possibly a divid */ if (docparams.size() == 3) { dp.setDivid(docparams.nextToken()); } /* if titlepage should be used, add it now to documentpart */ if (config.getPdfTitlePageUse()) { dp.setTitlepage(titlepage.clone()); } /* add documentpart to list */ documentparts.add(dp); } // create metadata extractor SimplePDFMetadataExtractor spme = new SimplePDFMetadataExtractor(); // create bookmark extractor StructureMetadataExtractor bmke = new SimpleStructureMetadataExtractor(); // create PDF Manager PDFCreator pdfcreator = new PDFCreator(); PDFConfiguration pdfconfig = new PDFConfiguration(); File iccfile = new File(Util.getBaseFolderAsFile(), "sRGB.icc"); pdfconfig.setIccinputfilename(iccfile.getAbsolutePath()); pdfconfig.setPagesize(getPageSize(request)); pdfconfig.setPdfDefaultAlwaysCompressToJPEG(config.getPdfDefaultAlwaysCompressToJPEG()); pdfconfig.setPdfDefaultAlwaysUseRenderedImage(config.getPdfDefaultAlwaysUseRenderedImage()); boolean pdfa = Boolean.parseBoolean(getParameterFromRequestOrConfig("writeAsPdfA", request)); pdfconfig.setWriteAsPdfA(pdfa); pdfcreator.createPDF(myOutStream, documentparts, pdfconfig, spme, bmke, myWatermark); } catch (Exception e) { LOGGER.error("error while multiple files to pdf generation (" + e.getClass().getName() + ")", e); Document pdfdoc = new Document(); PdfWriter writer; try { writer = PdfWriter.getInstance(pdfdoc, myOutStream); } catch (DocumentException e1) { throw new ContentLibException("wrapped DocumentException", e1); } pdfdoc.open(); /*--------------------------------- * Generate Watermark *---------------------------------*/ String errorString = e.getClass().getName() + ": " + e.getMessage(); String jpgfile = new File(Util.getBaseFolderAsFile(), "errorfile.jpg").getAbsolutePath(); LOGGER.debug("errorfile to embedd: " + jpgfile); FileInputStream inputFileStream = new FileInputStream(jpgfile); RenderedImage ri = ServletWatermark.generateErrorWatermark(inputFileStream, errorString) .getRenderedImage(); /* * -------------------------------- prepare target and read created image -------------------------------- */ BufferedImage buffImage = ImageManipulator.fromRenderedToBuffered(ri); Image pdfImage; try { pdfImage = Image.getInstance(buffImage, null, false); pdfdoc.add(pdfImage); } catch (BadElementException e1) { LOGGER.error("error while adding pdfImage", e); throw new ContentLibException("wrapped BadElementException", e1); } catch (DocumentException e2) { LOGGER.error("error while adding pdfImage", e); throw new ContentLibException("wrapped DocumentException", e2); } /* * -------------------------------- close all -------------------------------- */ try { inputFileStream.close(); pdfdoc.close(); writer.close(); } catch (Error e2) { LOGGER.warn("Caught unknown error when closing the pdf writer. Probably due to a broken pipe"); } finally { myOutStream.flush(); myOutStream.close(); } } finally { if (myOutStream != null) { myOutStream.flush(); myOutStream.close(); } } }
From source file:org.goobi.presentation.contentservlet.controller.GetPdfMultiMetsAction.java
/************************************************************************************ * validate all parameters of request for mets handling, throws IllegalArgumentException if one request parameter is not valid * // w w w. j a v a 2 s .c o m * @param request {@link HttpServletRequest} of ServletRequest * @throws IllegalArgumentException ************************************************************************************/ @Override public void validateParameters(HttpServletRequest request) throws IllegalArgumentException { ContentServerConfiguration config = ContentServerConfiguration.getInstance(); /* validate repository */ if (config.getRepositoryPathMets() == null) { throw new IllegalArgumentException("no repository url defined"); } /* validate pagesize */ String strPageSize = request.getParameter("pagesize"); if (strPageSize != null && !ContentLibUtil.getAllPdfSizesAsList().contains(strPageSize)) { throw new IllegalArgumentException("unknown pagesize used; value has be one of: " + ContentLibUtil.getAllPdfSizesAsList().toString()); } /* files has to be not blank */ if (StringUtils.isBlank(request.getParameter("files"))) { throw new IllegalArgumentException("parameter files can not be null or empty"); } else { // TODO: Check if the tokenizer can be moved into contentLib. /* run through all Documentparts in parameter files */ StrTokenizer stk1 = new StrTokenizer(request.getParameter("files"), "$$"); while (stk1.hasNext()) { /* get all parameters from each Documentpart */ StrTokenizer stk2 = new StrTokenizer(stk1.nextToken(), "$"); LOGGER.debug("number of parameters: " + stk2.size()); if (stk2.size() != 2 && stk2.size() != 3) { throw new IllegalArgumentException( "wrong number of parameters, type and url are needed, for mets a third parameter for divid can be used"); } /* check doctype (possible values pdf and mets) as first parameter */ String doctype = stk2.nextToken(); LOGGER.debug("document type: " + doctype); if (!doctype.equals("pdf") && !doctype.equals("mets")) { throw new IllegalArgumentException( "wrong doctype for file (" + doctype + "), possible values are pdf and mets"); } /* get url */ String url = stk2.nextToken(); LOGGER.debug("document URL: " + url); /* if pdf there is not third parameter required */ if (doctype.equals("pdf") && stk2.size() == 3) { throw new IllegalArgumentException( "wrong number of parameters, type pdf can only have two parameters for type and url; only mets file can have a third parameter for divid"); } /* if mets there is possibly a divid */ if (doctype.equals("mets") && stk2.size() == 3) { String divid = stk2.nextToken(); LOGGER.debug("document divid: " + divid); } } } }
From source file:uk.co.danielrendall.fractdim.generate.Generator.java
private Point getPoint(String point) throws Exception { StrTokenizer tok = new StrTokenizer(point, ","); if (tok.size() != 2) throw new Exception("Wrong number of tokens"); String xs = tok.getTokenArray()[0].trim(); String ys = tok.getTokenArray()[1].trim(); double x = Double.parseDouble(xs); double y = Double.parseDouble(ys); return new Point(x, y); }