01: /**********************************************************************************
02: * $URL: https://source.sakaiproject.org/svn/archive/tags/sakai_2-4-1/import-parsers/common-cartridge/src/java/org/sakaiproject/importer/impl/translators/CCWebContentTranslator.java $
03: * $Id: CCWebContentTranslator.java 17722 2006-11-01 14:00:04Z ggolden@umich.edu $
04: ***********************************************************************************
05: *
06: * Copyright (c) 2006 The Sakai Foundation.
07: *
08: * Licensed under the Educational Community License, Version 1.0 (the "License");
09: * you may not use this file except in compliance with the License.
10: * You may obtain a copy of the License at
11: *
12: * http://www.opensource.org/licenses/ecl1.php
13: *
14: * Unless required by applicable law or agreed to in writing, software
15: * distributed under the License is distributed on an "AS IS" BASIS,
16: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17: * See the License for the specific language governing permissions and
18: * limitations under the License.
19: *
20: **********************************************************************************/package org.sakaiproject.importer.impl.translators;
21:
22: import java.io.FileInputStream;
23: import java.io.IOException;
24:
25: import org.sakaiproject.importer.api.IMSResourceTranslator;
26: import org.sakaiproject.importer.api.Importable;
27: import org.sakaiproject.importer.impl.importables.HtmlDocument;
28: import org.w3c.dom.Document;
29: import org.w3c.dom.Node;
30:
31: import org.sakaiproject.importer.impl.XPathHelper;
32:
33: public class CCWebContentTranslator implements IMSResourceTranslator {
34:
35: public String getTypeName() {
36: return "webcontent";
37: }
38:
39: public Importable translate(Node resourceNode, Document descriptor,
40: String contextPath, String archiveBasePath) {
41: HtmlDocument rv = new HtmlDocument();
42: String href = XPathHelper.getNodeValue("./@href", resourceNode);
43: String filename = href.substring(href.lastIndexOf("/"), href
44: .length() - 1);
45: try {
46: FileInputStream file = new FileInputStream(archiveBasePath
47: + "/" + href);
48: byte[] b = new byte[file.available()];
49: file.read(b);
50: file.close();
51: rv.setContent(new String(b));
52: rv.setContextPath(contextPath);
53: rv.setTitle(filename);
54: } catch (IOException e) {
55: return null;
56: }
57: return rv;
58: }
59:
60: public boolean processResourceChildren() {
61: return true;
62: }
63:
64: }
|