Mercurial > hg > digilib
changeset 1197:e7608a7205e1
working on IIIF parser.
author | robcast |
---|---|
date | Wed, 17 Jul 2013 12:58:03 +0200 |
parents | 2c448b6b21da |
children | 569b6a1ab1a6 |
files | common/src/main/java/digilib/conf/DigilibRequest.java common/src/main/java/digilib/util/OptionsSet.java |
diffstat | 2 files changed, 30 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/common/src/main/java/digilib/conf/DigilibRequest.java Wed Jul 17 10:45:41 2013 +0200 +++ b/common/src/main/java/digilib/conf/DigilibRequest.java Wed Jul 17 12:58:03 2013 +0200 @@ -336,8 +336,20 @@ if (query.hasMoreTokens()) { token = query.nextToken(); if (!token.equals("/")) { - // TODO - setValueFromString("mo", token); + if (token.equals("full")) { + // full: size of original + options.setOption("ascale"); + setValue("scale", 1f); + } else if (token.startsWith("pct:")){ + // pct:n n% size of original + try { + float pct = Float.parseFloat(token.substring(4)); + options.setOption("ascale"); + setValue("scale", pct / 100); + } catch (NumberFormatException e) { + logger.error("Error parsing size parameter in IIIF path!"); + } + } // skip / if (query.hasMoreTokens()) { query.nextToken();
--- a/common/src/main/java/digilib/util/OptionsSet.java Wed Jul 17 10:45:41 2013 +0200 +++ b/common/src/main/java/digilib/util/OptionsSet.java Wed Jul 17 12:58:03 2013 +0200 @@ -60,6 +60,22 @@ } } + /** + * Set the option opt. + * + * @param opt + * @return + */ + public boolean setOption(String opt) { + return this.add(opt); + } + + /** + * Return if the option opt is set. + * + * @param opt + * @return + */ public boolean hasOption(String opt) { return this.contains(opt); }