Package nsf.playground.snippets

Source Code of nsf.playground.snippets.JavaScriptSnippetImporter

package nsf.playground.snippets;

import lotus.domino.Database;
import lotus.domino.Document;
import nsf.playground.beans.JavaScriptSnippetBean;

import com.ibm.sbt.playground.assets.Asset;
import com.ibm.sbt.playground.assets.AssetNode;
import com.ibm.sbt.playground.assets.NodeFactory;
import com.ibm.sbt.playground.assets.jssnippets.JSSnippet;
import com.ibm.sbt.playground.assets.jssnippets.JSSnippetNodeFactory;
import com.ibm.sbt.playground.vfs.VFSFile;

/**
* Class for importing JS Snippets.
*
* @author priand
*
*/
public class JavaScriptSnippetImporter extends AssetImporter {
 
  public static final String TYPE = "html";
  public static final String FORM = JavaScriptSnippetBean.FORM;
 
  public JavaScriptSnippetImporter(Database db) {
    super(db);
  }
 
  protected String getAssetType() {
    return TYPE;
  }

  protected String getAssetForm() {
    return FORM;
  }

  protected NodeFactory getNodeFactory() {
    return new JSSnippetNodeFactory();
  }

  @Override
  protected void saveAsset(ImportSource source, VFSFile root, AssetNode node, Asset asset) throws Exception {
    JSSnippet snippet = (JSSnippet)asset;
    Document doc = getDatabase().createDocument();
    try {
      setItemValue(doc,"Form", FORM);
      setItemValue(doc,"Author", doc.getParentDatabase().getParent().getEffectiveUserName()); // Should we make this private (reader field)?
      setItemValue(doc,"Id", node.getUnid());
      setItemValue(doc,"Category", node.getCategory());
      setItemValue(doc,"Name", node.getName());
      setItemValue(doc,"FilterRuntimes", snippet.getProperty("runtimes"));
      setItemValue(doc,"FilterLibraries", snippet.getProperty("jslibs"));
      setItemValues(doc,"Tags", snippet.getProperty("tags"));
      setItemValue(doc,"Description", snippet.getProperty("description"));
      setItemValue(doc,"ImportSource", source.getName());
      setItemValueRichText(doc,"Html", snippet.getHtml());
      setItemValueRichText(doc,"Css", snippet.getCss());
      setItemValueRichText(doc,"JavaScript", snippet.getJs());
      snippet.getProperties().remove("endpoints");
      snippet.getProperties().remove("jslibs");
      snippet.getProperties().remove("description");
      setItemValueRichText(doc,"Properties", snippet.getPropertiesAsString());
      setItemValueRichText(doc,"Documentation", snippet.getDocHtml());
     
      doc.save();
    } finally {
      doc.recycle();
    }
  }
}
TOP

Related Classes of nsf.playground.snippets.JavaScriptSnippetImporter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.