/* * Copyright 2013 * * Licensed 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.openntf.domino.design.impl; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import org.openntf.domino.Document; import org.openntf.domino.nsfdata.structs.ODSUtils; /** * a Java - ScriptLibrary * * @author Roland Praml * */ public class ScriptLibraryCSJS extends AbstractDesignFileResource implements org.openntf.domino.design.ScriptLibraryCSJS { private static final long serialVersionUID = 1L; /** * @param document */ protected ScriptLibraryCSJS(final Document document) { super(document); } @Override protected boolean enforceRawFormat() { return false; } /* * (non-Javadoc) * * @see org.openntf.domino.design.FileResource#getFileData(java.lang.String) */ @Override public byte[] getFileData() { if (enforceRawFormat()) return getFileDataRaw("$JavaScriptLibrary"); return getDxl().selectSingleNode("//code/javascript").getText().getBytes(); } // @Override // protected boolean useNoteFormat() { // return false; // } // // @Override @Override public void writeOnDiskFile(final File odpFile) throws IOException { // TODO Check for $Scriptlib_error => throw exception if item exists String content; if (enforceRawFormat()) { content = ODSUtils.fromLMBCS(getFileData()); } else { content = getDxl().selectSingleNode("//code/javascript").getText(); } PrintWriter pw = new PrintWriter(odpFile); pw.write(content); pw.close(); odpFile.setLastModified(getDocLastModified().getTime()); } }