- add in xmlquery and product handler code necessary to build this app Project: http://git-wip-us.apache.org/repos/asf/oodt/repo Commit: http://git-wip-us.apache.org/repos/asf/oodt/commit/4066b63b Tree: http://git-wip-us.apache.org/repos/asf/oodt/tree/4066b63b Diff: http://git-wip-us.apache.org/repos/asf/oodt/diff/4066b63b
Branch: refs/heads/feature/zookeeper-config Commit: 4066b63bc1b79db56c7468a6ed9edbbe22b78c90 Parents: f1e5bed Author: Chris Mattmann <[email protected]> Authored: Sun Jul 16 11:33:30 2017 -0700 Committer: Chris Mattmann <[email protected]> Committed: Sun Jul 16 11:33:30 2017 -0700 ---------------------------------------------------------------------- .../fmprod/src/main/conf/displayableTypes.xml | 50 + webapp/fmprod/src/main/conf/mime.properties | 407 ++++++++ webapp/fmprod/src/main/conf/ofsn-ps.xml | 201 ++++ webapp/fmprod/src/main/dtd/query.dtd | 100 ++ .../oodt/product/HttpRedirectException.java | 40 + .../oodt/product/LargeProductQueryHandler.java | 57 ++ .../apache/oodt/product/ProductException.java | 62 ++ .../org/apache/oodt/product/QueryHandler.java | 38 + .../java/org/apache/oodt/product/Retriever.java | 46 + .../handlers/ofsn/AbstractCrawlLister.java | 116 +++ .../ofsn/DirListNonRecursiveHandler.java | 60 ++ .../handlers/ofsn/DirListRecursiveHandler.java | 63 ++ .../ofsn/FileListNonRecursiveHandler.java | 56 ++ .../handlers/ofsn/FileListRecursiveHandler.java | 55 ++ .../product/handlers/ofsn/MD5GetHandler.java | 143 +++ .../product/handlers/ofsn/OFSNFileHandler.java | 255 +++++ .../ofsn/OFSNFileHandlerConfiguration.java | 131 +++ .../OFSNFileHandlerConfigurationReader.java | 93 ++ .../product/handlers/ofsn/OFSNGetHandler.java | 73 ++ .../handlers/ofsn/OFSNHandlerConfig.java | 121 +++ .../product/handlers/ofsn/OFSNListHandler.java | 61 ++ .../handlers/ofsn/RawSizeListHandler.java | 60 ++ .../handlers/ofsn/SingleFileListHandler.java | 64 ++ .../handlers/ofsn/SingleZipFileListHandler.java | 83 ++ .../handlers/ofsn/StdOFSNGetHandler.java | 112 +++ .../product/handlers/ofsn/URLGetHandler.java | 252 +++++ .../handlers/ofsn/metadata/OFSNMetKeys.java | 41 + .../ofsn/metadata/OFSNXMLConfigMetKeys.java | 55 ++ .../handlers/ofsn/metadata/OFSNXMLMetKeys.java | 43 + .../handlers/ofsn/metadata/OODTMetKeys.java | 31 + .../handlers/ofsn/metadata/XMLQueryMetKeys.java | 32 + .../handlers/ofsn/util/OFSNObjectFactory.java | 112 +++ .../product/handlers/ofsn/util/OFSNUtils.java | 197 ++++ .../apache/oodt/xmlquery/ByteArrayCodec.java | 63 ++ .../xmlquery/ChunkedProductInputStream.java | 215 ++++ .../java/org/apache/oodt/xmlquery/Codec.java | 85 ++ .../org/apache/oodt/xmlquery/CodecFactory.java | 60 ++ .../oodt/xmlquery/CompressedObjectCodec.java | 110 +++ .../oodt/xmlquery/CompressedStringCodec.java | 91 ++ .../java/org/apache/oodt/xmlquery/Header.java | 211 ++++ .../org/apache/oodt/xmlquery/LargeResult.java | 166 ++++ .../org/apache/oodt/xmlquery/ObjectCodec.java | 106 ++ .../org/apache/oodt/xmlquery/QueryElement.java | 148 +++ .../apache/oodt/xmlquery/QueryException.java | 37 + .../org/apache/oodt/xmlquery/QueryHeader.java | 304 ++++++ .../org/apache/oodt/xmlquery/QueryResult.java | 151 +++ .../java/org/apache/oodt/xmlquery/Result.java | 447 +++++++++ .../java/org/apache/oodt/xmlquery/Results.java | 60 ++ .../org/apache/oodt/xmlquery/Statistic.java | 155 +++ .../org/apache/oodt/xmlquery/StringCodec.java | 51 + .../oodt/xmlquery/UnsupportedMimeTypeCodec.java | 44 + .../java/org/apache/oodt/xmlquery/XMLQuery.java | 981 +++++++++++++++++++ .../xmlquery/activity/QueryConstructed.java | 23 + .../oodt/xmlquery/activity/ResultsReceived.java | 23 + .../java/org/apache/oodt/xmlquery/package.html | 26 + .../src/site/resources/images/delegation.png | Bin 0 -> 59132 bytes .../src/site/resources/images/delegation.psd | Bin 0 -> 277484 bytes .../src/site/resources/images/edm-query.jpg | Bin 0 -> 57650 bytes .../src/site/resources/images/grid-product.jpg | Bin 0 -> 55049 bytes .../src/site/resources/images/large-stack.png | Bin 0 -> 41424 bytes .../src/site/resources/images/large-stack.psd | Bin 0 -> 282874 bytes .../src/site/resources/images/results.png | Bin 0 -> 53580 bytes .../src/site/resources/images/results.psd | Bin 0 -> 275480 bytes .../src/site/resources/images/small-stack.png | Bin 0 -> 12368 bytes .../src/site/resources/images/small-stack.psd | Bin 0 -> 89725 bytes .../src/site/resources/images/xmlquery.png | Bin 0 -> 85734 bytes .../src/site/resources/images/xmlquery.psd | Bin 0 -> 352069 bytes webapp/fmprod/src/site/site.xml | 33 + webapp/fmprod/src/site/xdoc/disquery/index.xml | 106 ++ webapp/fmprod/src/site/xdoc/servlet/index.xml | 640 ++++++++++++ webapp/fmprod/src/site/xdoc/tutorial/index.xml | 659 +++++++++++++ webapp/fmprod/src/site/xdoc/tutorials/index.xml | 36 + .../fmprod/src/site/xdoc/tutorials/lh/index.xml | 718 ++++++++++++++ .../fmprod/src/site/xdoc/tutorials/ps/index.xml | 481 +++++++++ .../fmprod/src/site/xdoc/tutorials/qh/index.xml | 704 +++++++++++++ .../apache/oodt/xmlquery/CodecFactoryTest.java | 61 ++ .../org/apache/oodt/xmlquery/CodecTest.java | 77 ++ .../xmlquery/CompressedObjectCodecTest.java | 42 + .../xmlquery/CompressedStringCodecTest.java | 37 + .../oodt/xmlquery/EmptyByteArrayCodecTest.java | 51 + .../org/apache/oodt/xmlquery/HeaderTest.java | 142 +++ .../apache/oodt/xmlquery/ObjectCodecTest.java | 42 + .../apache/oodt/xmlquery/QueryElementTest.java | 93 ++ .../org/apache/oodt/xmlquery/ResultTest.java | 166 ++++ .../apache/oodt/xmlquery/StringCodecTest.java | 37 + .../org/apache/oodt/xmlquery/XMLQueryTest.java | 225 +++++ .../handlers/ofsn/util/OFSNUtilsTest.java | 59 ++ .../xmlquery/ChunkedProductInputStreamTest.java | 170 ++++ .../apache/oodt/xmlquery/LargeResultTest.java | 54 + 89 files changed, 11500 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/oodt/blob/4066b63b/webapp/fmprod/src/main/conf/displayableTypes.xml ---------------------------------------------------------------------- diff --git a/webapp/fmprod/src/main/conf/displayableTypes.xml b/webapp/fmprod/src/main/conf/displayableTypes.xml new file mode 100644 index 0000000..aca9ad0 --- /dev/null +++ b/webapp/fmprod/src/main/conf/displayableTypes.xml @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<!DOCTYPE displayableTypes [ + <!ELEMENT displayableTypes (type*)> + <!ELEMENT type (#PCDATA)> +]> +<displayableTypes> + <type>text/plain</type> + <type>text/richtext</type> + <type>text/enriched</type> + <type>text/tab-separated-values</type> + <type>text/html</type> + <type>text/xml</type> + <type>text/rtf</type> + <type>message/rfc822</type> + <type>message/partial</type> + <type>message/external-body</type> + <type>message/news</type> + <type>message/http</type> + <type>message/delivery-status</type> + <type>message/disposition-notification</type> + <type>message/s-http</type> + <type>application/rtf</type> + <type>application/pdf</type> + <type>image/jpeg</type> + <type>image/gif</type> + <type>image/tiff</type> + <type>image/png</type> + <type>audio/basic</type> + <type>audio/32kadpcm</type> + <type>audio/mpeg</type> + <type>video/mpeg</type> + <type>video/quicktime</type> + <type>model/vrml</type> +</displayableTypes> http://git-wip-us.apache.org/repos/asf/oodt/blob/4066b63b/webapp/fmprod/src/main/conf/mime.properties ---------------------------------------------------------------------- diff --git a/webapp/fmprod/src/main/conf/mime.properties b/webapp/fmprod/src/main/conf/mime.properties new file mode 100755 index 0000000..af95ada --- /dev/null +++ b/webapp/fmprod/src/main/conf/mime.properties @@ -0,0 +1,407 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# Internet media types supported by OODT +# +# $Id: mime.properties,v 1.1.1.1 2004-03-02 19:37:13 kelly Exp $ + +# These types aren't in the official list at IANA, but are listed +# here for internal OODT use: + +application/vnd.jpl.large-product: org.apache.oodt.xmlquery.StringCodec + +# These types aren't in the official list at IANA, but are supported +# in various environments: + +application/x-java-serialized-object org.apache.oodt.xmlquery.ObjectCodec +application/java-vm org.apache.oodt.xmlquery.ObjectCodec + +# This types are translated from the Internet media type registry at +# ftp://ftp.iana.org/in-notes/iana/assignments/media-types/media-types + +text/plain: org.apache.oodt.xmlquery.StringCodec +text/richtext: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/enriched: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/tab-separated-values: org.apache.oodt.xmlquery.StringCodec +text/html: org.apache.oodt.xmlquery.CompressedStringCodec +text/sgml: org.apache.oodt.xmlquery.CompressedStringCodec +text/vnd.latex-z: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/vnd.fmi.flexstor: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/uri-list: org.apache.oodt.xmlquery.StringCodec +text/vnd.abc: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/rfc822-headers: org.apache.oodt.xmlquery.StringCodec +text/vnd.in3d.3dml: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/prs.lines.tag: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/vnd.in3d.spot: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/css: org.apache.oodt.xmlquery.CompressedStringCodec +text/xml: org.apache.oodt.xmlquery.StringCodec +text/rtf: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/directory: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/calendar: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/vnd.wap.wml: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/vnd.wap.wmlscript: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/vnd.motorola.reflex: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/vnd.fly: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/vnd.wap.sl: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/vnd.wap.si: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/t140: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/vnd.ms-mediapackage: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/vnd.IPTC.NewsML: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/vnd.IPTC.NITF: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/vnd.curl: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/vnd.DMClientScript: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +text/parityfec: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +multipart/mixed: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +multipart/alternative: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +multipart/digest: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +multipart/parallel: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +multipart/appledouble: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +multipart/header-set: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +multipart/form-data: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +multipart/related: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +multipart/report: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +multipart/voice-message: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +multipart/signed: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +multipart/encrypted: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +multipart/byteranges: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +message/rfc822: org.apache.oodt.xmlquery.CompressedStringCodec +message/partial: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +message/external-body: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +message/news: org.apache.oodt.xmlquery.CompressedStringCodec +message/http: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +message/delivery-status: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +message/disposition-notification: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +message/s-http: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/octet-stream: org.apache.oodt.xmlquery.ByteArrayCodec +application/postscript: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/oda: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/atomicmail: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/andrew-inset: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/slate: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/wita: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/dec-dx: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/dca-rft: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/activemessage: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/rtf: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/applefile: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/mac-binhex40: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/news-message-id: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/news-transmission: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/wordperfect5.1: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/pdf: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/zip: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/macwriteii: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/msword: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/remote-printing: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/mathematica: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/cybercash: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/commonground: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/iges: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/riscos: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/eshop: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/x400-bp: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/sgml: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/cals-1840: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/pgp-encrypted: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/pgp-signature: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/pgp-keys: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.framemaker: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.mif: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ms-excel: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ms-powerpoint: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ms-project: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ms-works: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ms-tnef: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.svd: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.music-niff: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ms-artgalry: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.truedoc: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.koan: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.street-stream: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.fdf: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/set-payment-initiation: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/set-payment: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/set-registration-initiation: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/set-registration: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.seemail: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.businessobjects: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.meridian-slingshot: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.xara: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/sgml-open-catalog: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.rapid: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.enliven: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.japannet-registration-wakeup: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.japannet-verification-wakeup: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.japannet-payment-wakeup: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.japannet-directory-service: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.intertrust.digibox: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.intertrust.nncp: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/prs.alvestrand.titrax-sheet: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.noblenet-web: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.noblenet-sealer: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.noblenet-directory: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/prs.nprend: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.webturbo: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/hyperstudio: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.shana.informed.formtemplate: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.shana.informed.formdata: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.shana.informed.package: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.shana.informed.interchange: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.$commerce_battelle: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.osa.netdeploy: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ibm.MiniPay: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.japannet-jpnstore-wakeup: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.japannet-setstore-wakeup: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.japannet-verification: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.japannet-registration: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.hp-HPGL: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.hp-PCL: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.hp-PCLXL: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.musician: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.FloGraphIt: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.intercon.formnet: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vemmi: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ms-asf: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ecdis-update: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.powerbuilder6: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.powerbuilder6-s: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.lotus-wordpro: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.lotus-approach: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.lotus-1-2-3: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.lotus-organizer: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.lotus-screencam: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.lotus-freelance: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.fujitsu.oasys: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.fujitsu.oasys2: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.swiftview-ics: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.dna: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/prs.cww: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.wt.stf: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.dxr: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.mitsubishi.misty-guard.trustweb: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ibm.modcap: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.acucobol: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.fujitsu.oasys3: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/marc: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.fujitsu.oasysprs: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.fujitsu.oasysgp: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.visio: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.netfpx: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.audiograph: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.epson.salt: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.3M.Post-it-Notes: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.novadigm.EDX: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.novadigm.EXT: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.novadigm.EDM: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.claymore: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.comsocaller: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/pkcs7-mime: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/pkcs7-signature: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/pkcs10: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.yellowriver-custom-menu: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ecowin.chart: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ecowin.series: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ecowin.filerequest: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ecowin.fileupdate: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ecowin.seriesrequest: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ecowin.seriesupdate: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/EDIFACT: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/EDI-X12: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/EDI-Consent: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.wrq-hp3000-labelled: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.minisoft-hp3000-save: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ffsns: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.hp-hps: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.fujixerox.docuworks: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/xml: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.anser-web-funds-transfer-initiation: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.anser-web-certificate-issue-initiation: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.is-xpr: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.intu.qbo: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.publishare-delta-tree: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.cybank: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/batch-SMTP: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.uplanet.alert: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.uplanet.cacheop: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.uplanet.list: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.uplanet.listcmd: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.uplanet.channel: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.uplanet.bearer-choice: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.uplanet.signal: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.uplanet.alert-wbxml: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.uplanet.cacheop-wbmxl: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.uplanet.list-wbxml: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.uplanet.listcmd-wbxml: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.uplanet.channel-wbxml: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.uplanet.bearer-choice-wbxml: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.epson.quickanime: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.commonspace: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.fut-misnet: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.xfdl: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.intu.qfx: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.epson.ssf: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.epson.msf: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.powerbuilder7: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.powerbuilder7-s: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.lotus-notes: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/pkixcmp: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.wap.wmlc: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.wap.wmlscriptc: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.motorola.flexsuite: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.wap.wbxml: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.motorola.flexsuite.wem: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.motorola.flexsuite.kmr: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.motorola.flexsuite.adsi: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.motorola.flexsuite.fis: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.motorola.flexsuite.gotap: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.motorola.flexsuite.ttc: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ufdl: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.accpac.simply.imp: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.accpac.simply.aso: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.vcx: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/ipp: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/ocsp-request: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/ocsp-response: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.previewsystems.box: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.mediastation.cdkey: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.pg.format: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.pg.osasli: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.hp-hpid: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/pkix-cert: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/pkix-crl: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.Mobius.TXF: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.Mobius.PLC: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.Mobius.DIS: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.Mobius.DAF: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.Mobius.MSL: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.cups-raster: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.cups-postscript: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.cups-raw: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/index: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/index.cmd: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/index.response: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/index.obj: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/index.vnd: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.triscape.mxs: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.powerbuilder75: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.powerbuilder75-s: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.dpgraph: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/http: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/sdp: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.eudora.data: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.fujixerox.docuworks.binder: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.vectorworks: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.grafeq: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.bmi: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ericsson.quickcall: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.hzn-3d-crossword: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.wap.slc: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.wap.sic: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.groove-injector: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.fujixerox.ddd: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.groove-account: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.groove-identity-message: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.groove-tool-message: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.groove-tool-template: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.groove-vcard: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ctc-posml: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.canon-lips: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.canon-cpdl: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.trueapp: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.s3sms: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/iotp: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.mcd: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.httphone: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.informix-visionary: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.msign: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.ms-lrm: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.contact.cmsg: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.epson.esf: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/whoispp-query: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/whoispp-response: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.mozilla.xul+xml: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/parityfec: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.palm: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.fsc.weblaunch: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/vnd.tve-trigger: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/dvcs: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +application/sieve: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/jpeg: org.apache.oodt.xmlquery.ByteArrayCodec +image/gif: org.apache.oodt.xmlquery.ByteArrayCodec +image/ief: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/g3fax: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/tiff: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/cgm: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/naplps: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/vnd.dwg: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/vnd.svf: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/vnd.dxf: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/png: org.apache.oodt.xmlquery.ByteArrayCodec +image/vnd.fpx: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/vnd.net-fpx: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/vnd.xiff: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/prs.btif: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/vnd.fastbidsheet: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/vnd.wap.wbmp: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/prs.pti: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/vnd.cns.inf2: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/vnd.mix: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/vnd.fujixerox.edmics-rlc: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/vnd.fujixerox.edmics-mmr: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +image/vnd.fst: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/basic: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/32kadpcm: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/vnd.qcelp: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/vnd.digital-winds: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/vnd.lucent.voice: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/vnd.octel.sbc: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/vnd.rhetorex.32kadpcm: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/vnd.vmx.cvsd: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/vnd.nortel.vbk: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/vnd.cns.anp1: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/vnd.cns.inf1: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/L16: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/vnd.everad.plj: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/telephone-event: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/tone: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/prs.sid: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/vnd.nuera.ecelp4800: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/vnd.nuera.ecelp7470: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/mpeg: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/parityfec: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +audio/MP4A-LATM: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +video/mpeg: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +video/quicktime: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +video/vnd.vivo: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +video/vnd.motorola.video: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +video/vnd.motorola.videop: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +video/vnd.fvt: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +video/pointer: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +video/parityfec: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +video/vnd.mpegurl: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +video/MP4V-ES: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +model/iges: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +model/vrml: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +model/mesh: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +model/vnd.dwf: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +model/vnd.gtw: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +model/vnd.flatland.3dml: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +model/vnd.vtu: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +model/vnd.mts: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +model/vnd.gdl: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +model/vnd.gs-gdl: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +model/vnd.parasolid.transmit.text: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec +model/vnd.parasolid.transmit.binary: org.apache.oodt.xmlquery.UnsupportedMimeTypeCodec http://git-wip-us.apache.org/repos/asf/oodt/blob/4066b63b/webapp/fmprod/src/main/conf/ofsn-ps.xml ---------------------------------------------------------------------- diff --git a/webapp/fmprod/src/main/conf/ofsn-ps.xml b/webapp/fmprod/src/main/conf/ofsn-ps.xml new file mode 100644 index 0000000..01939dd --- /dev/null +++ b/webapp/fmprod/src/main/conf/ofsn-ps.xml @@ -0,0 +1,201 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<!-- +Configures a new OODT OFSN style product server. This is a product server +of the form: + +http://host/webgrid/prod?OFSN=/some/ofsn+AND+RT=sometype + +OFSN is an online file specification name, as defined by the PDS standards. +RT is a transformation identifier, identifying a remote transformation to be applied +at the given OFSN path. + +More more information on the OFSN style product servers, see the PDS original here: + +http://oodt/pds-client/guide/product + +Required attributes: + id: defines a unique URN/id for this product server instance + name: defines a human readable name for this product server instance + productRoot: defines the root path in which the OFSN product server should start looking for + paths based on a given OFSN + +FIXME: Change XML namespace URI for oodt prefix? +--> +<oodt:ofsn xmlns:oodt="http://oodt.jpl.nasa.gov/xml/namespaces/oodt/1.0" + id="urn:oodt:prod:ofsn" + name="OODT OFSN Style Product Handler" + productRoot="/some/path" + > + + <!-- defines a new OFSN handler. There are 2 valid types: + + listing: this type generates a list of files given an OFSN. The list will + be returned and formatted in XML for easy parsing. + + get: this type returns the bits of the requested ofsn, after performing some + type of transformation on them. + + Required attributes: + + name: gives the handler type a identifiable name. This should be a valid RT name for use in the OODT + product server query, e.g., if you want the dir list non-recursive listing handler to be called on + RT=DIRLIST1, then set name to "DIRLIST1", as below. + + type: either listing, or get, depending on the desired handler type. + + class: defines a class that implements either the org.apache.oodt.product.handlers.ofsn.OFSNListHandler + interface (for "listing" handlers), or the org.apache.oodt.product.handlers.ofsn.OFSNGetHandler (for + "get" handlers). Note that this class must be on the classpath in order for it to be referenced in + this configuration. + + --> + + <!-- + Optionally, each handler can have its own configuration, specified on the form of + <property name="some name" value="some value"/> + + where some name is the name of the configuration property and some value is the + value of the configuration property. + + Optional properties (for GET handlers): + + property name: mimeType + property value: the desired MIME type (also referred to as content-type) a handler should return + content as (eg. "text/plain"). More formally, any value of the form + "type/subtype(; parameter=...)*" as defined in RFC 2045. + --> + + + <!-- + The DIRLIST1 type is identical to DIRLIST but does not recursively + descend into subdirectories. + --> + <handler name="DIRLIST1" type="listing" + class="org.apache.oodt.product.handlers.ofsn.DirListNonRecursiveHandler"/> + + + <!-- + The DIRLIST type returns an XML file with directory names (and only + directory names) and total size of files in each directory starting in + the requested directory and traversing into the subdirectories. + --> + <handler name="DIRLIST" type="listing" + class="org.apache.oodt.product.handlers.ofsn.DirListRecursiveHandler"/> + + + <!-- + The DIRFILELIST1 is identical to DIRFILELIST except that it does not + recurse into subdirectories. + --> + <handler name="DIRFILELIST1" type="listing" + class="org.apache.oodt.product.handlers.ofsn.FileListNonRecursiveHandler"/> + + <!-- + The DIRFILELIST returns an XML document containing all of the filenames + (and only the files, not directories) and their sizes, recursing into + subdirectories. + --> + <handler name="DIRFILELIST" type="listing" + class="org.apache.oodt.product.handlers.ofsn.FileListRecursiveHandler"/> + + <!-- + The RAW_SIZE generates an XML document telling the size of the raw file that + would be returned by the corresponding RAW type. + --> + <handler name="RAW_SIZE" type="listing" + class="org.apache.oodt.product.handlers.ofsn.RawSizeListHandler"> + + <!-- + Required attributes: + isSizeCmd: this value should be set to true in this handler to ensure that + only the size is printed in the OFSN doc. + --> + <property name="isSizeCmd" value="true"/> + </handler> + + <!-- + The FILELIST type returns an XML file naming the requested file and also + giving its size. + --> + <handler name="FILE_LIST" type="listing" + class="org.apache.oodt.product.handlers.ofsn.SingleFileListHandler"/> + + + <!-- + The FILELISTZIP is similar to FILELIST except that it tells what the size + of the requested file would be if compressed into a ZIP archive. + --> + <handler name="FILE_LIST_ZIP" type="listing" + class="org.apache.oodt.product.handlers.ofsn.SingleZipFileListHandler"> + + <!-- + Optional attributes: + cacheDirRoot: defines the cache dir that the product server should use when asked to create temporary + files, e.g., by a listing or get handler. By default, if not specified, it defaults to /tmp + + --> + <property name="cacheDirRoot" value="/tmp"/> + </handler> + + <!-- + The RAW type merely returns the requested file without any modification + (MIME type application/octet-stream ). + --> + <handler name="RAW" type="get" + class="org.apache.oodt.product.handlers.ofsn.StdOFSNGetHandler"/> + + + <!-- + The MD5 type returns an MD5 hash of the file bytes generated on the server side. + --> + + <handler name="MD5" type="get" + class="org.apache.oodt.product.handlers.ofsn.MD5GetHandler"> + + <property name="mimeType" value="text/plain"/> + + </handler> + + + <!-- + The URL type returns a URL listing pointing to files within an OFSN + + (Optional) Use the below properties to customize the constructed URL returned: + 1. prodServerHostname: the product server hostname + 2. prodServerPort: the product server's port + 3. prodServerContextRoot: the name of the product server webapp + 4. productRoot: the root directory of the product server - identical + to the root directory at the top of this XML file + 5. returnType: the desired return type. i.e. RAW, MD5, etc. + --> + <handler name="URL" type="get" + class="org.apache.oodt.product.handlers.ofsn.URLGetHandler"> + + <!-- the below values are the default if nothing specified + <property name="prodServerHostname" value="localhost"/> + <property name="prodServerPort" value="8080"/> + <property name="prodServerContextRoot" value="web-grid"/> + <property name="productRoot" value="/some/path"/> + <property name="returnType" value="RAW"/> + --> + + <property name="mimeType" value="text/plain"/> + + </handler> +</oodt:ofsn> http://git-wip-us.apache.org/repos/asf/oodt/blob/4066b63b/webapp/fmprod/src/main/dtd/query.dtd ---------------------------------------------------------------------- diff --git a/webapp/fmprod/src/main/dtd/query.dtd b/webapp/fmprod/src/main/dtd/query.dtd new file mode 100755 index 0000000..0cf3401 --- /dev/null +++ b/webapp/fmprod/src/main/dtd/query.dtd @@ -0,0 +1,100 @@ +<?xml encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + + <!ELEMENT query + (queryAttributes, + queryResultModeId, + queryPropogationType, + queryPropogationLevels, + queryMimeAccept*, + queryMaxResults, + queryResults, + queryKWQString, + queryStatistics?, + querySelectSet, + queryFromSet, + queryWhereSet, + queryResultSet)> + + <!ELEMENT queryAttributes + (queryId, queryTitle*, queryDesc*, queryType*, + queryStatusId*, querySecurityType*, + queryParentId*, queryChildId*, + queryRevisionNote*, + queryDataDictId*)> + + <!ELEMENT queryStatistics (statistic*)> + + <!ELEMENT querySelectSet + (queryElement*)> + + <!ELEMENT queryFromSet + (queryElement*)> + + <!ELEMENT queryWhereSet + (queryElement*)> + + <!ELEMENT queryElement + (tokenRole*, tokenValue*)> + + <!ELEMENT statistic (url, time)> + + <!ELEMENT queryResultSet + (resultElement*)> + + <!ELEMENT resultElement + (resultId*, resultMimeType*, + profId*, identifier*, resultHeader, + resultValue*)> + <!ATTLIST resultElement classified (true|false) 'false'> + <!ATTLIST resultElement validity CDATA #IMPLIED> + + <!ELEMENT resultHeader (headerElement*)> + <!ELEMENT headerElement (elemName, elemType?, elemUnit?)> + + <!ELEMENT queryId (#PCDATA)> + <!ELEMENT queryTitle (#PCDATA)> + <!ELEMENT queryType (#PCDATA)> + <!ELEMENT queryDesc (#PCDATA)> + <!ELEMENT queryParentId (#PCDATA)> + <!ELEMENT queryChildId (#PCDATA)> + <!ELEMENT queryStatusId (#PCDATA)> + <!ELEMENT querySecurityType (#PCDATA)> + <!ELEMENT queryRevisionNote (#PCDATA)> + <!ELEMENT queryDataDictId (#PCDATA)> + <!ELEMENT queryResultModeId (#PCDATA)> + <!ELEMENT queryPropogationType (#PCDATA)> + <!ELEMENT queryPropogationLevels (#PCDATA)> + <!ELEMENT queryMimeAccept (#PCDATA)> + <!ELEMENT queryMaxResults (#PCDATA)> + <!ELEMENT queryResults (#PCDATA)> + <!ELEMENT queryKWQString (#PCDATA)> + <!ELEMENT url (#PCDATA)> + <!ELEMENT time (#PCDATA)> + <!ELEMENT elemName (#PCDATA)> + <!ELEMENT elemType (#PCDATA)> + <!ELEMENT elemUnit (#PCDATA)> + <!ELEMENT elemValue (#PCDATA)> + <!ELEMENT resultId (#PCDATA)> + <!ELEMENT resultMimeType (#PCDATA)> + <!ELEMENT resultValue (#PCDATA)> + <!ATTLIST resultValue xml:space (default|preserve) 'default'> + <!ELEMENT profId (#PCDATA)> + <!ELEMENT identifier (#PCDATA)> + <!ELEMENT tokenRole (#PCDATA)> + <!ELEMENT tokenValue (#PCDATA)> http://git-wip-us.apache.org/repos/asf/oodt/blob/4066b63b/webapp/fmprod/src/main/java/org/apache/oodt/product/HttpRedirectException.java ---------------------------------------------------------------------- diff --git a/webapp/fmprod/src/main/java/org/apache/oodt/product/HttpRedirectException.java b/webapp/fmprod/src/main/java/org/apache/oodt/product/HttpRedirectException.java new file mode 100644 index 0000000..ce9711a --- /dev/null +++ b/webapp/fmprod/src/main/java/org/apache/oodt/product/HttpRedirectException.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.oodt.product; + +import org.apache.oodt.product.ProductException; + +/** + * A class + * + * @author mcayanan + * + */ +public class HttpRedirectException extends ProductException { + private static final long serialVersionUID = 4680689951141346403L; + private String location; + + public HttpRedirectException(String location) { + super(); + this.location = location; + } + + public String getLocation() { + return location; + } +} http://git-wip-us.apache.org/repos/asf/oodt/blob/4066b63b/webapp/fmprod/src/main/java/org/apache/oodt/product/LargeProductQueryHandler.java ---------------------------------------------------------------------- diff --git a/webapp/fmprod/src/main/java/org/apache/oodt/product/LargeProductQueryHandler.java b/webapp/fmprod/src/main/java/org/apache/oodt/product/LargeProductQueryHandler.java new file mode 100644 index 0000000..029e9ce --- /dev/null +++ b/webapp/fmprod/src/main/java/org/apache/oodt/product/LargeProductQueryHandler.java @@ -0,0 +1,57 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package org.apache.oodt.product; + +/** + * Handle requests for products that are too large to fit in an {@link + * org.apache.oodt.xmlquery.XMLQuery} object. + * + * @author Kelly + * @version $Revision: 1.1.1.1 $ + */ +public interface LargeProductQueryHandler extends QueryHandler { + /** + * Retrieve a chunk of a product. + * + * The product is identified by a string ID. The query handler should return a + * binary chunk of the product using the given offset and length. If the ID isn't + * recognized, it should return null. It should throw an exception if retrieval + * fails for some reason. + * + * @param id Product ID. + * @param offset Where in the product to get a chunk of it. + * @param length How much of the product to get. + * @return A chunk, or null if the <var>id</var> is unknown. + * @throws ProductException if an error occurs. + */ + byte[] retrieveChunk(String id, long offset, int length) throws ProductException; + + /** + * Close off a product. + * + * This method indicates that the product is no longer required and its resources + * can be freed by the query handler. If the ID is unknown, no untoward action is + * required. It should throw an exception if there is an error during the + * resource release (such as an {@link java.io.IOException} when closing a file. + * + * @param id Product ID. + * @throws ProductException if an error occurs. + */ + void close(String id); +} http://git-wip-us.apache.org/repos/asf/oodt/blob/4066b63b/webapp/fmprod/src/main/java/org/apache/oodt/product/ProductException.java ---------------------------------------------------------------------- diff --git a/webapp/fmprod/src/main/java/org/apache/oodt/product/ProductException.java b/webapp/fmprod/src/main/java/org/apache/oodt/product/ProductException.java new file mode 100755 index 0000000..83686a3 --- /dev/null +++ b/webapp/fmprod/src/main/java/org/apache/oodt/product/ProductException.java @@ -0,0 +1,62 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package org.apache.oodt.product; + +/** + * Checked exception to indicate a product fault. + * + * @author Kelly + */ +public class ProductException extends Exception { + /** + * Construct a product exception with no detail message. + */ + public ProductException() {} + + /** + * Construct a product exception with the given detail message. + * + * @param msg Detail message. + */ + public ProductException(String msg) { + super(msg); + } + + /** + * Creates a new <code>ProductException</code> instance. + * + * @param cause a <code>Throwable</code> value. + */ + public ProductException(Throwable cause) { + super(cause); + } + + /** + * Creates a new <code>ProductException</code> instance. + * + * @param msg a <code>String</code> value. + * @param cause a <code>Throwable</code> value. + */ + public ProductException(String msg, Throwable cause) { + super(msg, cause); + } + + /** Serial version unique ID. */ + static final long serialVersionUID = 8240102969482071451L; +} http://git-wip-us.apache.org/repos/asf/oodt/blob/4066b63b/webapp/fmprod/src/main/java/org/apache/oodt/product/QueryHandler.java ---------------------------------------------------------------------- diff --git a/webapp/fmprod/src/main/java/org/apache/oodt/product/QueryHandler.java b/webapp/fmprod/src/main/java/org/apache/oodt/product/QueryHandler.java new file mode 100644 index 0000000..6addbce --- /dev/null +++ b/webapp/fmprod/src/main/java/org/apache/oodt/product/QueryHandler.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package org.apache.oodt.product; + +import org.apache.oodt.xmlquery.XMLQuery; + +/** + * Handler for queries in a product service. + * + * @author Kelly + * @version $Revision: 1.1.1.1 $ + */ +public interface QueryHandler { + /** + * Run a query. + * + * @param q The query. + * @return The response. + * @throws ProductException if an error occurs. + */ + XMLQuery query(XMLQuery q) throws ProductException; +} http://git-wip-us.apache.org/repos/asf/oodt/blob/4066b63b/webapp/fmprod/src/main/java/org/apache/oodt/product/Retriever.java ---------------------------------------------------------------------- diff --git a/webapp/fmprod/src/main/java/org/apache/oodt/product/Retriever.java b/webapp/fmprod/src/main/java/org/apache/oodt/product/Retriever.java new file mode 100755 index 0000000..a7b4ea2 --- /dev/null +++ b/webapp/fmprod/src/main/java/org/apache/oodt/product/Retriever.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package org.apache.oodt.product; + +/** + * Retrievers retrieve products. + * + * @author Kelly + * @version $Revision: 1.1.1.1 $ + */ +public interface Retriever { + /** + * Retrieve a chunk from a large product. + * + * @param productID Product ID. + * @param offset Where in the product to retrieve the data. + * @param length How much data to get. + * @return The data. + * @throws ProductException if an error occurs. + */ + byte[] retrieveChunk(String productID, long offset, int length) throws ProductException; + + /** + * Close off a large product. + * + * @param productID Product ID. + * @throws ProductException if an error occurs. + */ + void close(String productID); +} http://git-wip-us.apache.org/repos/asf/oodt/blob/4066b63b/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/AbstractCrawlLister.java ---------------------------------------------------------------------- diff --git a/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/AbstractCrawlLister.java b/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/AbstractCrawlLister.java new file mode 100644 index 0000000..40b3094 --- /dev/null +++ b/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/AbstractCrawlLister.java @@ -0,0 +1,116 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package org.apache.oodt.product.handlers.ofsn; + +//JDK imports +import org.apache.oodt.product.ProductException; + +import java.io.File; +import java.io.FileFilter; +import java.util.Collections; +import java.util.List; +import java.util.Properties; +import java.util.Stack; +import java.util.Vector; +import java.util.logging.Level; +import java.util.logging.Logger; + +//OODT imports + +/** + * + * An abstract {@link OFSNListHandler} for generating file lists based on two + * simple flags: recurse, and crawlForDirs, indicating to crawl for directories + * rather than files. + * + * @author mattmann + * @version $Revision$ + * + */ +public abstract class AbstractCrawlLister implements OFSNListHandler { + + protected final static Logger LOG = Logger + .getLogger(AbstractCrawlLister.class.getName()); + + protected static final FileFilter FILE_FILTER = new FileFilter() { + public boolean accept(File pathname) { + return pathname.isFile(); + } + }; + + protected static final FileFilter DIR_FILTER = new FileFilter() { + public boolean accept(File pathname) { + return pathname.isDirectory(); + } + }; + + /* + * (non-Javadoc) + * + * @see + * org.apache.oodt.product.handlers.ofsn.OFSNListHandler#configure(java. + * util.Properties) + */ + public abstract void configure(Properties conf); + + /* + * (non-Javadoc) + * + * @see + * org.apache.oodt.product.handlers.ofsn.OFSNListHandler#getListing(java + * .lang.String) + */ + public abstract File[] getListing(String ofsn) throws ProductException; + + protected File[] crawlFiles(File dirRoot, boolean recur, + boolean crawlForDirs) { + if (dirRoot == null || ((!dirRoot.exists()))) { + throw new IllegalArgumentException("dir root: [" + dirRoot + + "] is null or non existant!"); + } + + List<File> fileList = new Vector<File>(); + + // start crawling + Stack<File> stack = new Stack<File>(); + stack.push(dirRoot.isDirectory() ? dirRoot : dirRoot.getParentFile()); + while (!stack.isEmpty()) { + File dir = (File) stack.pop(); + LOG.log(Level.INFO, "OFSN: Crawling " + dir); + + File[] productFiles; + productFiles = crawlForDirs ? dir.listFiles(DIR_FILTER) : dir.listFiles(FILE_FILTER); + + if(productFiles!=null) { + Collections.addAll(fileList, productFiles); + } + if (recur) { + File[] subdirs = dir.listFiles(DIR_FILTER); + if (subdirs != null) { + for (File subdir : subdirs) { + stack.push(subdir); + } + } + } + } + + return fileList.toArray(new File[fileList.size()]); + } + +} http://git-wip-us.apache.org/repos/asf/oodt/blob/4066b63b/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/DirListNonRecursiveHandler.java ---------------------------------------------------------------------- diff --git a/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/DirListNonRecursiveHandler.java b/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/DirListNonRecursiveHandler.java new file mode 100644 index 0000000..afabb4f --- /dev/null +++ b/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/DirListNonRecursiveHandler.java @@ -0,0 +1,60 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package org.apache.oodt.product.handlers.ofsn; + +//JDK imports +import java.io.File; +import java.util.Properties; + +//OODT imports +import org.apache.oodt.product.ProductException; + +/** + * + * Generates a directory listing, without recursing into the OFSN path. + * + * @author mattmann + * @version $Revision$ + * + */ +public class DirListNonRecursiveHandler extends AbstractCrawlLister { + + /* + * (non-Javadoc) + * + * @see + * org.apache.oodt.product.handlers.ofsn.OFSNListHandler#getListing(java + * .lang.String) + */ + public File[] getListing(String ofsn) throws ProductException { + return crawlFiles(new File(ofsn), false, true); + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.oodt.product.handlers.ofsn.OFSNListHandler#configure(java. + * util.Properties) + */ + public void configure(Properties conf) { + // no properties defined yet + } + +} http://git-wip-us.apache.org/repos/asf/oodt/blob/4066b63b/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/DirListRecursiveHandler.java ---------------------------------------------------------------------- diff --git a/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/DirListRecursiveHandler.java b/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/DirListRecursiveHandler.java new file mode 100644 index 0000000..00dd4ec --- /dev/null +++ b/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/DirListRecursiveHandler.java @@ -0,0 +1,63 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package org.apache.oodt.product.handlers.ofsn; + +//JDK imports +import java.io.File; +import java.util.Properties; + +//OODT imports +import org.apache.oodt.product.ProductException; + +/** + * + * Generates a directory listing, recursing into the OFSN path. + * + * @author mattmann + * @version $Revision$ + * + */ +public class DirListRecursiveHandler extends AbstractCrawlLister { + + /* + * (non-Javadoc) + * + * @see + * org.apache.oodt.product.handlers.ofsn.AbstractCrawlLister#configure(java + * .util.Properties) + */ + @Override + public void configure(Properties conf) { + // no properties yet + + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.oodt.product.handlers.ofsn.AbstractCrawlLister#getListing( + * java.lang.String) + */ + @Override + public File[] getListing(String ofsn) throws ProductException { + return crawlFiles(new File(ofsn), true, true); + } + +} http://git-wip-us.apache.org/repos/asf/oodt/blob/4066b63b/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/FileListNonRecursiveHandler.java ---------------------------------------------------------------------- diff --git a/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/FileListNonRecursiveHandler.java b/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/FileListNonRecursiveHandler.java new file mode 100644 index 0000000..2d8cfea --- /dev/null +++ b/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/FileListNonRecursiveHandler.java @@ -0,0 +1,56 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package org.apache.oodt.product.handlers.ofsn; + +//JDK imports +import java.io.File; +import java.util.Properties; + +//OODT imports +import org.apache.oodt.product.ProductException; + +/** + * + * A non recursive file listing from a given OFSN. + * + * @author mattmann + * @version $Revision$ + * + */ +public class FileListNonRecursiveHandler extends AbstractCrawlLister { + + /* (non-Javadoc) + * @see org.apache.oodt.product.handlers.ofsn.OFSNListHandler#configure(java.util.Properties) + */ + @Override + public void configure(Properties conf) { + // TODO Auto-generated method stub + // nothing yet + + } + + /* (non-Javadoc) + * @see org.apache.oodt.product.handlers.ofsn.OFSNListHandler#getListing(java.lang.String) + */ + @Override + public File[] getListing(String ofsn) throws ProductException { + return crawlFiles(new File(ofsn), false, false); + } + +} http://git-wip-us.apache.org/repos/asf/oodt/blob/4066b63b/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/FileListRecursiveHandler.java ---------------------------------------------------------------------- diff --git a/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/FileListRecursiveHandler.java b/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/FileListRecursiveHandler.java new file mode 100644 index 0000000..5543494 --- /dev/null +++ b/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/FileListRecursiveHandler.java @@ -0,0 +1,55 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package org.apache.oodt.product.handlers.ofsn; + +//JDK imports +import java.io.File; +import java.util.Properties; + +//OODT imports +import org.apache.oodt.product.ProductException; + +/** + * + * A recursive file listing from the provided ofsn. + * + * @author mattmann + * @version $Revision$ + * + */ +public class FileListRecursiveHandler extends AbstractCrawlLister { + + /* (non-Javadoc) + * @see org.apache.oodt.product.handlers.ofsn.AbstractCrawlLister#configure(java.util.Properties) + */ + @Override + public void configure(Properties conf) { + // TODO Auto-generated method stub + // nothing yet + } + + /* (non-Javadoc) + * @see org.apache.oodt.product.handlers.ofsn.AbstractCrawlLister#getListing(java.lang.String) + */ + @Override + public File[] getListing(String ofsn) throws ProductException { + return crawlFiles(new File(ofsn), true, false); + } + +} http://git-wip-us.apache.org/repos/asf/oodt/blob/4066b63b/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/MD5GetHandler.java ---------------------------------------------------------------------- diff --git a/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/MD5GetHandler.java b/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/MD5GetHandler.java new file mode 100644 index 0000000..95ffe20 --- /dev/null +++ b/webapp/fmprod/src/main/java/org/apache/oodt/product/handlers/ofsn/MD5GetHandler.java @@ -0,0 +1,143 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package org.apache.oodt.product.handlers.ofsn; + +//JDK imports + +import org.apache.commons.codec.binary.Hex; +import org.apache.commons.io.FileUtils; +import org.apache.oodt.product.ProductException; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.Properties; +import java.util.logging.Level; +import java.util.logging.Logger; + +//APACHE imports +//OODT imports + +/** + * + * A {@link OFSNGetHandler} to perform an MD5 for a file on the server side. + * + * @author mattmann + * @version $Revision$ + * + */ +public class MD5GetHandler implements OFSNGetHandler { + + private MessageDigest md = null; + private static Logger LOG = Logger.getLogger(MD5GetHandler.class.getName()); + public MD5GetHandler() throws InstantiationException { + try { + this.md = MessageDigest.getInstance("MD5"); + } catch (NoSuchAlgorithmException e) { + LOG.log(Level.SEVERE, e.getMessage()); + throw new InstantiationException(e.getMessage()); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.oodt.product.handlers.ofsn.OFSNListHandler#configure(java. + * util.Properties) + */ + public void configure(Properties conf) { + // TODO Auto-generated method stub + + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.oodt.product.handlers.ofsn.OFSNGetHandler#retrieveChunk(java + * .lang.String, long, int) + */ + public byte[] retrieveChunk(String filepath, long offset, int length) + throws ProductException { + try { + String hash = this.hashData(FileUtils.readFileToByteArray(new File( + filepath))); + byte[] retBytes = new byte[length]; + byte[] hashBytes = hash.getBytes(); + ByteArrayInputStream is = new ByteArrayInputStream(hashBytes); + is.skip(offset); + is.read(retBytes, 0, length); + return retBytes; + } catch (IOException e) { + LOG.log(Level.SEVERE, e.getMessage()); + throw new ProductException("Error reading bytes from file: [" + filepath + + "] MD5: Message: " + e.getMessage()); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.oodt.product.handlers.ofsn.OFSNGetHandler#sizeOf(java.lang + * .String) + */ + public long sizeOf(String filepath) { + try { + String hash = this.hashData(FileUtils.readFileToByteArray(new File( + filepath))); + return hash.getBytes().length; + } catch (IOException e) { + LOG.log(Level.SEVERE, e.getMessage()); + return -1; + } + } + + /** + * Use this method ot generate a test MD5 of a provide {@link File} specified + * in args[0]. + * + * @param args + * Only need to specify 1 arg, the full path to the {@link File} to + * MD5. + * @throws Exception + * If any error occurs. + */ + public static void main(String[] args) throws Exception { + if (args.length != 1) { + System.err.println("MD5GetHandler <file>"); + System.exit(1); + } + + String filepath = args[0]; + String hashString = new MD5GetHandler().hashData(FileUtils + .readFileToByteArray(new File(filepath))); + System.out.println(hashString); + } + + private String hashData(byte[] dataToHash) { + this.md.update(dataToHash, 0, dataToHash.length); + byte[] hash = this.md.digest(); + return new String(Hex.encodeHex(hash)); + } + +}
