openoffice-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cmar...@apache.org
Subject svn commit: r1722954 [2/2] - in /openoffice/devtools/lazybones-templates: ./ branches/ tags/ trunk/ trunk/.gradle/ trunk/.gradle/2.7/ trunk/.gradle/2.7/taskArtifacts/ trunk/gradle/ trunk/gradle/wrapper/ trunk/templates/ trunk/templates/aoo-client/ trun...
Date Mon, 04 Jan 2016 19:58:09 GMT
Added: openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/java/com/sun/star/lib/loader/Loader.java
URL: http://svn.apache.org/viewvc/openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/java/com/sun/star/lib/loader/Loader.java?rev=1722954&view=auto
==============================================================================
--- openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/java/com/sun/star/lib/loader/Loader.java
(added)
+++ openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/java/com/sun/star/lib/loader/Loader.java
Mon Jan  4 19:58:09 2016
@@ -0,0 +1,381 @@
+/**************************************************************
+ * 
+ * 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 com.sun.star.lib.loader;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.net.JarURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.Enumeration;
+import java.util.jar.Attributes;
+import java.util.jar.Manifest;
+import java.util.StringTokenizer;
+import java.util.Vector;
+
+/**
+ * This class can be used as a loader for application classes which use UNO.
+ *
+ * <p>The Loader class detects a UNO installation on the system and adds the
+ * UNO jar files to the search path of a customized class loader, which is used
+ * for loading the application classes.</p>
+ */
+public final class Loader {
+
+    private static ClassLoader m_Loader = null;
+
+    /**
+     * do not instantiate
+     */
+    private Loader() {}
+
+    /**
+     * The main method instantiates a customized class loader with the
+     * UNO jar files added to the search path and loads the application class,
+     * which is specified in the Main-Class attribute of the
+     * com/sun/star/lib/Loader.class entry of the manifest file or
+     * as first parameter in the argument list.
+     */
+    public static void main( String[] arguments ) throws Exception {
+        
+        // get the name of the class to be loaded from the manifest
+        String className = null;
+        Class clazz = Loader.class;
+        ClassLoader loader = clazz.getClassLoader();
+        Vector res = new Vector();
+        try {
+            Enumeration en = loader.getResources( "META-INF/MANIFEST.MF" );
+            while ( en.hasMoreElements() ) {
+                res.add( (URL) en.nextElement() );
+            }
+            // the jarfile with the com/sun/star/lib/loader/Loader.class
+            // per-entry attribute is most probably the last resource in the
+            // list, therefore search backwards
+            for ( int i = res.size() - 1; i >= 0; i-- ) {
+                URL jarurl = (URL) res.elementAt( i );
+                try {
+                    JarURLConnection jarConnection =
+                        (JarURLConnection) jarurl.openConnection();
+                    Manifest mf = jarConnection.getManifest();
+                    Attributes attrs = (Attributes) mf.getAttributes(
+                        "com/sun/star/lib/loader/Loader.class" );
+                    if ( attrs != null ) {
+                        className = attrs.getValue( "Application-Class" );
+                        if ( className != null )
+                            break;
+                    }
+                } catch ( IOException e ) {
+                    // if an I/O error occurs when opening a new
+                    // JarURLConnection, ignore this manifest file
+                    System.err.println( "com.sun.star.lib.loader.Loader::" +
+                                        "main: bad manifest file: " + e );
+                }
+            }
+        } catch ( IOException e ) {
+            // if an I/O error occurs when getting the manifest resources,
+            // try to get the name of the class to be loaded from the argument
+            // list
+            System.err.println( "com.sun.star.lib.loader.Loader::" +
+                                "main: cannot get manifest resources: " + e );
+        }
+        
+        // if no manifest entry was found, get the name of the class
+        // to be loaded from the argument list
+        String[] args;            
+        if ( className == null ) {
+            if ( arguments.length > 0 ) {            
+                className = arguments[0];            
+                args = new String[arguments.length - 1];
+                System.arraycopy( arguments, 1, args, 0, args.length );
+            } else {
+                throw new IllegalArgumentException(
+                    "The name of the class to be loaded must be either " +
+                    "specified in the Main-Class attribute of the " +
+                    "com/sun/star/lib/loader/Loader.class entry " +
+                    "of the manifest file or as a command line argument." );
+            }
+        } else {
+            args = arguments;            
+        }
+        
+        // load the class with the customized class loader and
+        // invoke the main method
+        if ( className != null ) {
+            ClassLoader cl = getCustomLoader();
+            Thread.currentThread().setContextClassLoader(cl);
+            Class c = cl.loadClass( className );
+            Method m = c.getMethod( "main", new Class[] { String[].class } );
+            m.invoke( null, new Object[] { args } );
+        }
+    }
+
+    /**
+     * Gets the customized class loader with the UNO jar files added to the
+     * search path.
+     *
+     * @return the customized class loader       
+     */
+    public static synchronized ClassLoader getCustomLoader() {
+
+        final String CLASSESDIR = "classes";
+        final String JUHJAR = "juh.jar";
+        
+        if ( m_Loader == null ) {
+            
+            // get the urls from which to load classes and resources
+            // from the class path
+            Vector vec = new Vector();
+            String classpath = null;
+            try {
+                classpath = System.getProperty( "java.class.path" );
+            } catch ( SecurityException e ) {
+                // don't add the class path entries to the list of class
+                // loader URLs
+                System.err.println( "com.sun.star.lib.loader.Loader::" +
+                    "getCustomLoader: cannot get system property " +
+                    "java.class.path: " + e );
+            }
+            if ( classpath != null ) {
+                addUrls(vec, classpath, File.pathSeparator);
+            }
+            
+            // get the urls from which to load classes and resources       
+            // from the UNO installation
+            String path = InstallationFinder.getPath();        
+            if ( path != null ) {            
+                File fClassesDir = new File( path, CLASSESDIR );
+                File fJuh = new File( fClassesDir, JUHJAR );
+                if ( fJuh.exists() ) {
+                    URL[] clurls = new URL[1];
+                    try {
+                        clurls[0] = fJuh.toURL();                
+                        ClassLoader cl = new CustomURLClassLoader( clurls );
+                        Class c = cl.loadClass(
+                            "com.sun.star.comp.helper.UnoInfo" );
+                        Method m = c.getMethod( "getJars", (Class[]) null );
+                        URL[] jarurls = (URL[]) m.invoke(
+                            null, (Object[]) null );
+                        for ( int i = 0; i < jarurls.length; i++ ) {
+                            vec.add( jarurls[i] );
+                        }
+                    } catch ( MalformedURLException e ) {
+                        // don't add the UNO jar files to the list of class
+                        // loader URLs
+                        System.err.println( "com.sun.star.lib.loader.Loader::" +
+                            "getCustomLoader: cannot add UNO jar files: " + e );
+                    } catch ( ClassNotFoundException e ) {
+                        // don't add the UNO jar files to the list of class
+                        // loader URLs
+                        System.err.println( "com.sun.star.lib.loader.Loader::" +
+                            "getCustomLoader: cannot add UNO jar files: " + e );
+                    } catch ( NoSuchMethodException e ) {
+                        // don't add the UNO jar files to the list of class
+                        // loader URLs
+                        System.err.println( "com.sun.star.lib.loader.Loader::" +
+                            "getCustomLoader: cannot add UNO jar files: " + e );
+                    } catch ( IllegalAccessException e ) {
+                        // don't add the UNO jar files to the list of class
+                        // loader URLs
+                        System.err.println( "com.sun.star.lib.loader.Loader::" +
+                            "getCustomLoader: cannot add UNO jar files: " + e );
+                    } catch ( InvocationTargetException e ) {
+                        // don't add the UNO jar files to the list of class
+                        // loader URLs
+                        System.err.println( "com.sun.star.lib.loader.Loader::" +
+                            "getCustomLoader: cannot add UNO jar files: " + e );
+                    }
+                } else {
+                    callUnoinfo(path, vec);
+                }
+            } else {
+                System.err.println( "com.sun.star.lib.loader.Loader::" +
+                    "getCustomLoader: no UNO installation found!" );
+            }
+        
+            // copy urls to array
+            URL[] urls = new URL[vec.size()];
+            vec.toArray( urls );
+
+            // instantiate class loader
+            m_Loader = new CustomURLClassLoader( urls );            
+        }
+
+        return m_Loader;        
+    }
+
+    private static void addUrls(Vector urls, String data, String delimiter) {
+        StringTokenizer tokens = new StringTokenizer( data, delimiter );
+        while ( tokens.hasMoreTokens() ) {
+            try {
+                urls.add( new File( tokens.nextToken() ).toURL() );
+            } catch ( MalformedURLException e ) {
+                // don't add this class path entry to the list of class loader
+                // URLs
+                System.err.println( "com.sun.star.lib.loader.Loader::" +
+                    "getCustomLoader: bad pathname: " + e );
+            }
+        }
+    }
+
+    private static void callUnoinfo(String path, Vector urls) {
+        Process p;
+        try {
+            p = Runtime.getRuntime().exec(
+                new String[] { new File(path, "unoinfo").getPath(), "java" });
+        } catch (IOException e) {
+            System.err.println(
+                "com.sun.star.lib.loader.Loader::getCustomLoader: exec" +
+                " unoinfo: " + e);
+            return;
+        }
+        new Drain(p.getErrorStream()).start();
+        int code;
+        byte[] buf = new byte[1000];
+        int n = 0;
+        try {
+            InputStream s = p.getInputStream();
+            code = s.read();
+            for (;;) {
+                if (n == buf.length) {
+                    if (n > Integer.MAX_VALUE / 2) {
+                        System.err.println(
+                            "com.sun.star.lib.loader.Loader::getCustomLoader:" +
+                            " too much unoinfo output");
+                        return;
+                    }
+                    byte[] buf2 = new byte[2 * n];
+                    for (int i = 0; i < n; ++i) {
+                        buf2[i] = buf[i];
+                    }
+                    buf = buf2;
+                }
+                int k = s.read(buf, n, buf.length - n);
+                if (k == -1) {
+                    break;
+                }
+                n += k;
+            }
+        } catch (IOException e) {
+            System.err.println(
+                "com.sun.star.lib.loader.Loader::getCustomLoader: reading" +
+                " unoinfo output: " + e);
+            return;
+        }
+        int ev;
+        try {
+            ev = p.waitFor();
+        } catch (InterruptedException e) {
+            Thread.currentThread().interrupt();
+            System.err.println(
+                "com.sun.star.lib.loader.Loader::getCustomLoader: waiting for" +
+                " unoinfo: " + e);
+            return;
+        }
+        if (ev != 0) {
+            System.err.println(
+                "com.sun.star.lib.loader.Loader::getCustomLoader: unoinfo"
+                + " exit value " + n);
+            return;
+        }
+        String s;
+        if (code == '0') {
+            s = new String(buf);
+        } else if (code == '1') {
+            try {
+                s = new String(buf, "UTF-16LE");
+            } catch (UnsupportedEncodingException e) {
+                System.err.println(
+                    "com.sun.star.lib.loader.Loader::getCustomLoader:" +
+                    " transforming unoinfo output: " + e);
+                return;
+            }
+        } else {
+            System.err.println(
+                "com.sun.star.lib.loader.Loader::getCustomLoader: bad unoinfo"
+                + " output");
+            return;
+        }
+        addUrls(urls, s, "\0");
+    }
+
+    private static final class Drain extends Thread {
+        public Drain(InputStream stream) {
+            super("unoinfo stderr drain");
+            this.stream = stream;
+        }
+
+        public void run() {
+            try {
+                while (stream.read() != -1) {}
+            } catch (IOException e) { /* ignored */ }
+        }
+
+        private final InputStream stream;
+    }
+
+    /**
+     * A customized class loader which is used to load classes and resources
+     * from a search path of user-defined URLs.
+     */
+    private static final class CustomURLClassLoader extends URLClassLoader {
+        
+        public CustomURLClassLoader( URL[] urls ) {
+            super( urls );
+        }
+
+        protected Class findClass( String name ) throws ClassNotFoundException {
+            // This is only called via this.loadClass -> super.loadClass ->
+            // this.findClass, after this.loadClass has already called
+            // super.findClass, so no need to call super.findClass again:
+            throw new ClassNotFoundException( name );
+        }
+
+        protected Class loadClass( String name, boolean resolve )
+            throws ClassNotFoundException
+        {          
+            Class c = findLoadedClass( name );
+            if ( c == null ) {
+                try {
+                    c = super.findClass( name );
+                } catch ( ClassNotFoundException e ) {
+                    return super.loadClass( name, resolve );
+                } catch ( SecurityException e ) {
+                    // A SecurityException "Prohibited package name: java.lang"
+                    // may occur when the user added the JVM's rt.jar to the
+                    // java.class.path:
+                    return super.loadClass( name, resolve );
+                }
+            }
+            if ( resolve ) {
+                resolveClass( c );
+            }
+            return c;
+        }
+    }
+}

Propchange: openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/java/com/sun/star/lib/loader/Loader.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/java/com/sun/star/lib/loader/WinRegKey.java
URL: http://svn.apache.org/viewvc/openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/java/com/sun/star/lib/loader/WinRegKey.java?rev=1722954&view=auto
==============================================================================
--- openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/java/com/sun/star/lib/loader/WinRegKey.java
(added)
+++ openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/java/com/sun/star/lib/loader/WinRegKey.java
Mon Jan  4 19:58:09 2016
@@ -0,0 +1,196 @@
+/**************************************************************
+ * 
+ * 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 com.sun.star.lib.loader;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+
+
+/**
+ * This class provides functionality for reading string values from the
+ * Windows Registry. It requires the native library unowinreg.dll.
+ */
+final class WinRegKey {
+    
+    private String m_rootKeyName;
+    private String m_subKeyName;
+            
+    // native methods to access the windows registry
+    private static native boolean winreg_RegOpenClassesRoot( long[] hkresult );
+    private static native boolean winreg_RegOpenCurrentConfig(
+        long[] hkresult );
+    private static native boolean winreg_RegOpenCurrentUser( long[] hkresult );
+    private static native boolean winreg_RegOpenLocalMachine( long[] hkresult );
+    private static native boolean winreg_RegOpenUsers( long[] hkresult );
+    private static native boolean winreg_RegOpenKeyEx( long parent, String name,
+        long[] hkresult );
+    private static native boolean winreg_RegCloseKey( long hkey );    
+    private static native boolean winreg_RegQueryValueEx(
+        long hkey, String value, long[] type, 
+        byte[] data, long[] size );
+    private static native boolean winreg_RegQueryInfoKey(
+        long hkey, long[] subkeys, long[] maxSubkeyLen, 
+        long[] values, long[] maxValueNameLen,
+        long[] maxValueLen, long[] secDescriptor );
+    
+    // load the native library unowinreg.dll
+    static {        
+        try {
+            ClassLoader cl = WinRegKey.class.getClassLoader();            
+            InputStream is = cl.getResourceAsStream( "win/unowinreg.dll" );
+            if ( is != null ) {                
+                // generate a temporary name for lib file and write to temp
+                // location
+                BufferedInputStream istream = new BufferedInputStream( is );
+                File libfile = File.createTempFile( "unowinreg", ".dll" );
+                libfile.deleteOnExit(); // ensure deletion
+                BufferedOutputStream ostream = new BufferedOutputStream(
+                    new FileOutputStream( libfile ) );
+                int bsize = 2048; int n = 0;
+                byte[] buffer = new byte[bsize];
+                while ( ( n = istream.read( buffer, 0, bsize ) ) != -1 ) {
+                    ostream.write( buffer, 0, n );
+                }        
+                istream.close();
+                ostream.close();            
+                // load library
+                System.load( libfile.getPath() );
+            } else {
+                // If the library cannot be found as a class loader resource,
+                // try the global System.loadLibrary(). The JVM will look for
+                // it in the java.library.path.            
+                System.loadLibrary( "unowinreg" );
+            }            
+        } catch ( java.lang.Exception e ) {
+            System.err.println( "com.sun.star.lib.loader.WinRegKey: " +
+                "loading of native library failed!" + e );
+        }
+    }
+    
+    /**
+     * Constructs a <code>WinRegKey</code>.
+     */
+    public WinRegKey( String rootKeyName, String subKeyName ) {
+        m_rootKeyName = rootKeyName;
+        m_subKeyName = subKeyName;
+    }
+
+    /**
+     * Reads a string value for the specified value name.
+     */    
+    public String getStringValue( String valueName ) throws WinRegKeyException {
+        byte[] data = getValue( valueName );
+        // remove terminating null character
+        return new String( data, 0, data.length - 1 );
+    }
+
+    /**
+     * Reads a value for the specified value name.
+     */
+    private byte[] getValue( String valueName ) throws WinRegKeyException {
+        
+        byte[] result = null;
+        long[] hkey = {0};
+        
+        // open the specified registry key
+        boolean bRet = false;
+        long[] hroot = {0};
+        if ( m_rootKeyName.equals( "HKEY_CLASSES_ROOT" ) ) {
+            bRet = winreg_RegOpenClassesRoot( hroot );
+        } else if ( m_rootKeyName.equals( "HKEY_CURRENT_CONFIG" ) ) {
+            bRet = winreg_RegOpenCurrentConfig( hroot );
+        } else if ( m_rootKeyName.equals( "HKEY_CURRENT_USER" ) ) {
+            bRet = winreg_RegOpenCurrentUser( hroot );
+        } else if ( m_rootKeyName.equals( "HKEY_LOCAL_MACHINE" ) ) {
+            bRet = winreg_RegOpenLocalMachine( hroot );
+        } else if ( m_rootKeyName.equals( "HKEY_USERS" ) ) {
+            bRet = winreg_RegOpenUsers( hroot );
+        } else {
+            throw new WinRegKeyException( "unknown root registry key!");
+        }
+        if ( !bRet ) {
+            throw new WinRegKeyException( "opening root registry key " +
+                "failed!" );
+        }
+        if ( !winreg_RegOpenKeyEx( hroot[0], m_subKeyName, hkey ) ) {
+            if ( !winreg_RegCloseKey( hroot[0] ) ) {
+                throw new WinRegKeyException( "opening registry key and " +
+                    "releasing root registry key handle failed!" );
+            }            
+            throw new WinRegKeyException( "opening registry key failed!" );
+        }
+            
+        // get the size of the longest data component among the key's values
+        long[] subkeys = {0};
+        long[] maxSubkeyLen = {0};
+        long[] values = {0};
+        long[] maxValueNameLen = {0};
+        long[] maxValueLen = {0};
+        long[] secDescriptor = {0};
+        if ( !winreg_RegQueryInfoKey( hkey[0], subkeys, maxSubkeyLen,
+                 values, maxValueNameLen, maxValueLen, secDescriptor ) ) {
+            if ( !winreg_RegCloseKey( hkey[0] ) ||
+                 !winreg_RegCloseKey( hroot[0] ) ) {
+                throw new WinRegKeyException( "retrieving information about " +
+                    "the registry key and releasing registry key handles " +
+                    "failed!" );
+            }                
+            throw new WinRegKeyException( "retrieving information about " +
+                "the registry key failed!" );
+        }
+        
+        // get the data for the specified value name
+        byte[] buffer = new byte[ (int) maxValueLen[0] ];        
+        long[] size = new long[1];
+        size[0] = buffer.length;
+        long[] type = new long[1];
+        type[0] = 0;
+        if ( !winreg_RegQueryValueEx( hkey[0], valueName, type, buffer,
+                 size ) ) {
+            if ( !winreg_RegCloseKey( hkey[0] ) ||
+                 !winreg_RegCloseKey( hroot[0] ) ) {
+                throw new WinRegKeyException( "retrieving data for the " +
+                    "specified value name and releasing registry key handles " +
+                    "failed!" );
+            }
+            throw new WinRegKeyException( "retrieving data for the " +
+                "specified value name failed!" );
+        }
+        
+        // release registry key handles
+        if ( !winreg_RegCloseKey( hkey[0] ) ||
+             !winreg_RegCloseKey( hroot[0] ) ) {
+            throw new WinRegKeyException( "releasing registry key handles " +
+                "failed!" );
+        }
+        
+        result = new byte[ (int) size[0] ];
+        System.arraycopy( buffer, 0, result, 0, (int)size[0] );
+        
+        return result;
+    } 
+}

Propchange: openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/java/com/sun/star/lib/loader/WinRegKey.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/java/com/sun/star/lib/loader/WinRegKeyException.java
URL: http://svn.apache.org/viewvc/openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/java/com/sun/star/lib/loader/WinRegKeyException.java?rev=1722954&view=auto
==============================================================================
--- openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/java/com/sun/star/lib/loader/WinRegKeyException.java
(added)
+++ openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/java/com/sun/star/lib/loader/WinRegKeyException.java
Mon Jan  4 19:58:09 2016
@@ -0,0 +1,47 @@
+/**************************************************************
+ * 
+ * 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 com.sun.star.lib.loader;
+
+/**
+ * WinRegKeyException is a checked exception.
+ */
+final class WinRegKeyException extends java.lang.Exception {    
+    
+    /**
+     * Constructs a <code>WinRegKeyException</code>.
+     */
+    public WinRegKeyException() {
+        super();
+    }
+
+    /**
+     * Constructs a <code>WinRegKeyException</code> with the specified
+     * detail message.
+     *
+	 * @param  message   the detail message
+     */
+    public WinRegKeyException( String message ) {
+        super( message );
+    }
+}

Propchange: openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/java/com/sun/star/lib/loader/WinRegKeyException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/resources/META-INF/LICENSE
URL: http://svn.apache.org/viewvc/openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/resources/META-INF/LICENSE?rev=1722954&view=auto
==============================================================================
--- openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/resources/META-INF/LICENSE
(added)
+++ openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/resources/META-INF/LICENSE
Mon Jan  4 19:58:09 2016
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   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.

Propchange: openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/resources/META-INF/LICENSE
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/resources/META-INF/NOTICE
URL: http://svn.apache.org/viewvc/openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/resources/META-INF/NOTICE?rev=1722954&view=auto
==============================================================================
--- openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/resources/META-INF/NOTICE
(added)
+++ openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/resources/META-INF/NOTICE
Mon Jan  4 19:58:09 2016
@@ -0,0 +1,9 @@
+Apache OpenOffice (http://www.openoffice.org)
+Copyright 2011, 2015 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+Portions of this software copyright (c) 2000-2011, 
+Oracle and/or its affiliates  <http://www.oracle.com/>.
+

Propchange: openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/resources/META-INF/NOTICE
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/resources/win/unowinreg.dll
URL: http://svn.apache.org/viewvc/openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/resources/win/unowinreg.dll?rev=1722954&view=auto
==============================================================================
Binary file - no diff available.

Propchange: openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/main/resources/win/unowinreg.dll
------------------------------------------------------------------------------
    svn:mime-type = application/x-dosexec

Added: openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/test/groovy/.retain
URL: http://svn.apache.org/viewvc/openoffice/devtools/lazybones-templates/trunk/templates/aoo-client/src/test/groovy/.retain?rev=1722954&view=auto
==============================================================================
    (empty)




Mime
View raw message