/************************************************************** * * 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. * *************************************************************/ /* Import standard OpenOffice.org API classes. For more information on these classes and the OpenOffice.org API, see the OpenOffice.org Developers Guide at: http://api.openoffice.org/ */ import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XComponentContext; import com.sun.star.frame.XDesktop; import com.sun.star.frame.XModel; /* Import XScriptContext class. An instance of this class is available to all BeanShell scripts in the global variable "XSCRIPTCONTEXT". This variable can be used to access the document for which this script was invoked. Methods available are: XSCRIPTCONTEXT.getDocument() returns XModel XSCRIPTCONTEXT.getInvocationContext() returns XScriptInvocationContext or NULL XSCRIPTCONTEXT.getDesktop() returns XDesktop XSCRIPTCONTEXT.getComponentContext() returns XComponentContext For more information on using this class see the scripting developer guides at: http://api.openoffice.org/docs/DevelopersGuide/ScriptingFramework/ScriptingFramework.xhtml */ // Hello World in BeanShell import com.sun.star.text.XTextDocument; import com.sun.star.text.XText; import com.sun.star.text.XTextRange; import bsh.Interpreter; oDoc = UnoRuntime.queryInterface(XModel.class,XSCRIPTCONTEXT.getInvocationContext()); if ( oDoc == null ) oDoc = XSCRIPTCONTEXT.getDocument(); xTextDoc = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class,oDoc); xText = xTextDoc.getText(); xTextRange = xText.getEnd(); sb = new StringBuilder(); sb.append("Hello World (in BeanShell v" + Interpreter.VERSION + ") \n\n"); // import java.util.Map; import java.util.TreeMap; env=new TreeMap(System.getenv()); ks=env.keySet(); // get keys ksit=ks.iterator(); // get iterator sb.append( "ENV Dump:\n" ); while ( ksit.hasNext() ) { envName=ksit.next(); sb .append("\n[") .append(envName) .append("]=[") .append(env.get(envName)) .append("] "); } xText.getEnd().setString( sb.toString() ); // BeanShell OpenOffice.org scripts should always return 0 return 0;