Example usage for org.apache.commons.lang.text StrTokenizer size

List of usage examples for org.apache.commons.lang.text StrTokenizer size

Introduction

In this page you can find the example usage for org.apache.commons.lang.text StrTokenizer size.

Prototype

public int size() 

Source Link

Document

Gets the number of tokens found in the String.

Usage

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);
}