Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Hi,

On 1 July 2011 15:19, Michael Meeks <michael.meeks@novell.com> wrote:
Hi Matus,

On Fri, 2011-07-01 at 13:53 +0200, Matúš Kukan wrote:
- It is probably somehow related to published service
ProductRegistration.idl in offapi.

       Well - we'd have to leave the IDL interface - and add it as a thing to
remove in the wiki page:

       http://wiki.documentfoundation.org/Development/LibreOffice4

I wrote there something. Feel free to change if you want.

And there is also productregistration.jar.component in desktop. It
seems to be unused but It's java and I'm not sure about that.

       Lets kill it all :-) re-apply Kendy's accidentally reverted patch, and
hack all that registration code out, along with the various #defines
SID_foo etc. that goes along with it [ and not to forget the scp2 too ].

Well, it turned out re-applying was not necessary in the end. Just to
remove unused files. I've git push-ed that.
I've done also some cleaning work, which probably needs to be reviewed.

Thanks,
Matus
From 3b19ce0a6e4558cee25e972dbf3cf6e7051c4691 Mon Sep 17 00:00:00 2001
From: Matus Kukan <matus.kukan@gmail.com>
Date: Sat, 2 Jul 2011 18:25:09 +0200
Subject: [PATCH] Remove productregistration.jar library related code

---
 scp2/source/ooo/file_ooo.scp |    9 ---------
 1 files changed, 0 insertions(+), 9 deletions(-)

diff --git a/scp2/source/ooo/file_ooo.scp b/scp2/source/ooo/file_ooo.scp
index 28891ed..fb85ddf 100644
--- a/scp2/source/ooo/file_ooo.scp
+++ b/scp2/source/ooo/file_ooo.scp
@@ -1746,15 +1746,6 @@ File gid_File_Config_Javasettingsunopkginstall
   #endif
 End
 
-#ifdef ENABLE_SVCTAGS
-File gid_File_Jar_Productregistration
-    TXT_FILE_BODY;
-    Name = "productregistration.jar";
-    Dir = gid_Dir_Classes;
-    Styles = (PACKED);
-End
-#endif
-
 #ifdef THEME_DEFAULT
 File gid_File_Images_Zip
     TXT_FILE_BODY;
-- 
1.7.1

From 1706bfd7f589330ade5903a7710281ff37295790 Mon Sep 17 00:00:00 2001
From: Matus Kukan <matus.kukan@gmail.com>
Date: Sat, 2 Jul 2011 18:22:48 +0200
Subject: [PATCH] Remove productregistration.jar library related code

---
 desktop/prj/build.lst                              |    3 -
 desktop/prj/d.lst                                  |    1 -
 .../com/sun/star/registration/Registration.java    |  334 -------
 .../com/sun/star/registration/makefile.mk          |   62 --
 .../com/sun/star/registration/manifest             |    2 -
 .../registration/productregistration.jar.component |   34 -
 .../com/sun/star/servicetag/BrowserSupport.java    |  201 -----
 .../com/sun/star/servicetag/Installer.java         |  943 --------------------
 .../star/servicetag/LinuxSystemEnvironment.java    |  322 -------
 .../com/sun/star/servicetag/RegistrationData.java  |  531 -----------
 .../sun/star/servicetag/RegistrationDocument.java  |  440 ---------
 .../com/sun/star/servicetag/Registry.java          |  553 ------------
 .../com/sun/star/servicetag/ServiceTag.java        |  636 -------------
 .../com/sun/star/servicetag/SolarisServiceTag.java |   64 --
 .../star/servicetag/SolarisSystemEnvironment.java  |  420 ---------
 .../com/sun/star/servicetag/SunConnection.java     |  292 ------
 .../sun/star/servicetag/SysnetRegistryHelper.java  |  375 --------
 .../com/sun/star/servicetag/SystemEnvironment.java |  436 ---------
 .../servicetag/UnauthorizedAccessException.java    |   55 --
 .../registration/com/sun/star/servicetag/Util.java |  293 ------
 .../star/servicetag/WindowsSystemEnvironment.java  |  232 -----
 .../com/sun/star/servicetag/makefile.mk            |   79 --
 .../servicetag/resources/product_registration.xsd  |  366 --------
 23 files changed, 0 insertions(+), 6674 deletions(-)
 delete mode 100755 desktop/source/registration/com/sun/star/registration/Registration.java
 delete mode 100755 desktop/source/registration/com/sun/star/registration/makefile.mk
 delete mode 100755 desktop/source/registration/com/sun/star/registration/manifest
 delete mode 100755 
desktop/source/registration/com/sun/star/registration/productregistration.jar.component
 delete mode 100755 desktop/source/registration/com/sun/star/servicetag/BrowserSupport.java
 delete mode 100755 desktop/source/registration/com/sun/star/servicetag/Installer.java
 delete mode 100755 desktop/source/registration/com/sun/star/servicetag/LinuxSystemEnvironment.java
 delete mode 100755 desktop/source/registration/com/sun/star/servicetag/RegistrationData.java
 delete mode 100755 desktop/source/registration/com/sun/star/servicetag/RegistrationDocument.java
 delete mode 100755 desktop/source/registration/com/sun/star/servicetag/Registry.java
 delete mode 100755 desktop/source/registration/com/sun/star/servicetag/ServiceTag.java
 delete mode 100755 desktop/source/registration/com/sun/star/servicetag/SolarisServiceTag.java
 delete mode 100755 
desktop/source/registration/com/sun/star/servicetag/SolarisSystemEnvironment.java
 delete mode 100755 desktop/source/registration/com/sun/star/servicetag/SunConnection.java
 delete mode 100755 desktop/source/registration/com/sun/star/servicetag/SysnetRegistryHelper.java
 delete mode 100755 desktop/source/registration/com/sun/star/servicetag/SystemEnvironment.java
 delete mode 100755 
desktop/source/registration/com/sun/star/servicetag/UnauthorizedAccessException.java
 delete mode 100755 desktop/source/registration/com/sun/star/servicetag/Util.java
 delete mode 100755 
desktop/source/registration/com/sun/star/servicetag/WindowsSystemEnvironment.java
 delete mode 100755 desktop/source/registration/com/sun/star/servicetag/makefile.mk
 delete mode 100755 
desktop/source/registration/com/sun/star/servicetag/resources/product_registration.xsd

diff --git a/desktop/prj/build.lst b/desktop/prj/build.lst
index dbc8c22..e9a287a 100644
--- a/desktop/prj/build.lst
+++ b/desktop/prj/build.lst
@@ -43,9 +43,6 @@ dt    desktop\scripts                                                 nmake   -   
    u       dt_scripts dt_inc NULL
 dt     desktop\util                                                    nmake   -       all     
dt_util dt_app dt_pagein.u dt_so_comp dt_spl dt_uwrapper.u dt_usplash.u dt_wrapper.w 
dt_officeloader.w dt_officeloader_unx.u dt_migr dt_rebase.w dt_win32_quickstart_so.w dt_zipintro 
NULL
 dt     desktop\zipintro                                                        nmake   -       all 
    dt_zipintro NULL
 dt  desktop\registry\data\org\openoffice\Office                     nmake   -  all sn_regconfig 
NULL
-dt  desktop\source\registration\com\sun\star\servicetag\resources   get     -  all sn_svctagres 
NULL
-dt  desktop\source\registration\com\sun\star\servicetag             nmake   -  all sn_svctag NULL
-dt  desktop\source\registration\com\sun\star\registration           nmake   -  all sn_regjob 
sn_svctag NULL
 dt desktop\qa\deployment_misc nmake - all sn_qa_deployment_misc dt_dp_misc dt_inc NULL
 dt desktop\test\deployment\active nmake - all dt_test_deployment_active NULL
 dt desktop\test\deployment\boxt nmake - all dt_test_deployment_boxt NULL
diff --git a/desktop/prj/d.lst b/desktop/prj/d.lst
index 047b46d..38bdf49 100644
--- a/desktop/prj/d.lst
+++ b/desktop/prj/d.lst
@@ -147,7 +147,6 @@ mkdir: %_DEST%\xml\registry\spool\org\openoffice\Office\Jobs
 ..\%__SRC%\misc\migrationoo2.component %_DEST%\xml\migrationoo2.component
 ..\%__SRC%\misc\migrationoo3.component %_DEST%\xml\migrationoo3.component
 ..\%__SRC%\misc\offacc.component %_DEST%\xml\offacc.component
-..\%__SRC%\misc\productregistration.jar.component %_DEST%\xml\productregistration.jar.component
 ..\%__SRC%\misc\socomp.component %_DEST%\xml\socomp.component
 ..\%__SRC%\misc\spl.component %_DEST%\xml\spl.component
 ..\%__SRC%\misc\splash.component %_DEST%\xml\splash.component
diff --git a/desktop/source/registration/com/sun/star/registration/Registration.java 
b/desktop/source/registration/com/sun/star/registration/Registration.java
deleted file mode 100755
index d00ed1d..0000000
--- a/desktop/source/registration/com/sun/star/registration/Registration.java
+++ /dev/null
@@ -1,334 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-package com.sun.star.registration;
-
-import com.sun.star.beans.NamedValue;
-import com.sun.star.comp.loader.FactoryHelper;
-import com.sun.star.frame.DispatchResultEvent;
-import com.sun.star.frame.DispatchResultState;
-import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.lang.XMultiComponentFactory;
-import com.sun.star.lang.XSingleServiceFactory;
-import com.sun.star.registry.*;
-import com.sun.star.servicetag.*;
-import com.sun.star.system.*;
-import com.sun.star.task.*;
-import com.sun.star.uno.*;
-import com.sun.star.uri.XExternalUriReferenceTranslator;
-import com.sun.star.util.XStringSubstitution;
-
-import java.io.*;
-import java.net.URI;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.Locale;
-import java.util.Set;
-import java.net.HttpURLConnection;
-
-public class Registration {
-    
-    public static XSingleServiceFactory __getServiceFactory(String implName,
-        XMultiServiceFactory multiFactory, XRegistryKey regKey) {
-        XSingleServiceFactory xSingleServiceFactory = null;
-
-        if (implName.equals(Registration.class.getName())) {
-            xSingleServiceFactory = FactoryHelper.getServiceFactory(_Registration.class, 
_serviceName, multiFactory, regKey);
-        }
-
-        return xSingleServiceFactory;
-    }
-
-    static final String _serviceName = "com.sun.star.comp.framework.DoRegistrationJob";
-
-    static public class _Registration implements XJob {
-        XComponentContext xComponentContext;
-        
-        XStringSubstitution xPathSubstService = null;
-        XExternalUriReferenceTranslator xUriTranslator = null;
-        
-        RegistrationData theRegistrationData = null;
-
-        public _Registration(XComponentContext xComponentContext) {
-            this.xComponentContext = xComponentContext;
-        }
-        
-        private String resolvePath(String path) {
-            try {
-                if( xPathSubstService == null || xUriTranslator == null ) {
-                    XMultiComponentFactory theServiceManager = 
xComponentContext.getServiceManager();
-                    if( xPathSubstService == null ) {
-                        Object o = theServiceManager.createInstanceWithContext(
-                            "com.sun.star.util.PathSubstitution", 
-                            xComponentContext );
-                        xPathSubstService = (XStringSubstitution) 
-                            UnoRuntime.queryInterface(XStringSubstitution.class, o);
-                    }
-                    
-                    if( xUriTranslator == null ) {
-                        Object o = theServiceManager.createInstanceWithContext(
-                            "com.sun.star.uri.ExternalUriReferenceTranslator", 
-                            xComponentContext );
-                        xUriTranslator =  (XExternalUriReferenceTranslator)
-                            UnoRuntime.queryInterface(XExternalUriReferenceTranslator.class, o);
-                    }
-                }
-                
-                String s = xPathSubstService.substituteVariables(path, true);
-                return xUriTranslator.translateToExternal(s);
-            } catch (java.lang.Exception e) {
-                return path;
-            }
-        }
-        
-        private void openBrowser(String url) {
-            try {
-                XMultiComponentFactory theServiceManager = xComponentContext.getServiceManager();
-            
-                Object o = theServiceManager.createInstanceWithContext(
-                    "com.sun.star.system.SystemShellExecute", 
-                    xComponentContext );
-            
-                XSystemShellExecute xShellExecuteService = (XSystemShellExecute) 
-                    UnoRuntime.queryInterface(XSystemShellExecute.class, o);
-
-                xShellExecuteService.execute( url, "", SystemShellExecuteFlags.DEFAULTS );
-            } catch (java.lang.Exception e) {
-            }
-       }            
-        
-        private ServiceTag getServiceTagFromRegistrationData(File xmlFile, String productURN) {
-            try {
-                RegistrationData storedRegData = RegistrationData.loadFromXML(new 
FileInputStream(xmlFile));
-                Set<ServiceTag> storedServiceTags = storedRegData.getServiceTags();
-                
-                Iterator<ServiceTag> tagIterator = storedServiceTags.iterator();
-                while( tagIterator.hasNext() ) {
-                    ServiceTag tag = tagIterator.next();
-                    if( tag.getProductURN().equals(productURN) ) {
-                        theRegistrationData = storedRegData;
-                        return tag;
-                    }
-                }
-                
-                // product URN has changed, remove registration data file
-                xmlFile.delete();
-            } catch (IOException e) {
-                // fall through intentionally
-            } catch (IllegalArgumentException e) {
-                // file is damaged (or a name clash appeared)
-                xmlFile.delete();
-            }
-            return null;
-        }
-
-        /* 
-         * XJob
-         *
-         * NOTE: as this Job hets triggered by the the JobExecutor service from first start
-         * wizard and registration reminder code (because their frames do not implement
-         * XDispatchProvider), making this an XAsyncJob doesn't make sense as the 
-         * JobExecutor waits for the jobFinished call on the listener passed.
-         */
-        public Object execute(NamedValue[] args)
-            throws com.sun.star.lang.IllegalArgumentException, com.sun.star.uno.Exception {
-
-            final NamedValue[] f_args = args;
-            
-            new Thread( 
-                new Runnable () {
-                    public void run() {
-                        try {
-                            executeImpl(f_args);
-                        } catch(com.sun.star.uno.Exception e) {
-                        }
-                    }
-                }
-            ).start();
-            
-            NamedValue ret[] = new NamedValue[1];
-            ret[0] = new NamedValue( "Deactivate", new Boolean(false) );
-            return ret;
-        }
-        
-        public synchronized void executeImpl(NamedValue[] args)
-            throws com.sun.star.lang.IllegalArgumentException, com.sun.star.uno.Exception {
-                
-            // extract the interesting part of the argument list
-            NamedValue[] theJobConfig = null;
-            NamedValue[] theEnvironment = null;
- 
-            int c = args.length;
-            for (int i=0; i<c; ++i) {
-                if (args[i].Name.equals("JobConfig"))
-                    theJobConfig = (NamedValue[]) AnyConverter.toArray(args[i].Value);
-                else if (args[i].Name.equals("Environment"))
-                    theEnvironment = (NamedValue[]) AnyConverter.toArray(args[i].Value);
-            }
- 
-            if (theEnvironment==null)
-                throw new com.sun.star.lang.IllegalArgumentException("no environment");
- 
-            boolean saveConfig = false;
-            
-            String productName              = "";
-            String productVersion           = "";
-            String productURN               = "";
-            String productParent            = "";
-            String productParentURN         = "";
-            String productDefinedInstanceID = "";
-            String productSource            = "";
-            String vendor                   = "";
-            
-            String urlRegData = null;
-            String registrationURL = null;
-
-            c = theJobConfig.length;
-            for (int i=0; i<c; ++i) {
-                if( theJobConfig[i].Name.equals("ProductName") ) {
-                    productName = AnyConverter.toString(theJobConfig[i].Value);
-                } else if( theJobConfig[i].Name.equals("ProductVersion") ) {
-                    productVersion = AnyConverter.toString(theJobConfig[i].Value);
-                } else if( theJobConfig[i].Name.equals("ProductURN") ) {
-                    productURN = AnyConverter.toString(theJobConfig[i].Value);
-                } else if( theJobConfig[i].Name.equals("ProductParent") ) {
-                    productParent = AnyConverter.toString(theJobConfig[i].Value);
-                } else if( theJobConfig[i].Name.equals("ProductParentURN") ) {
-                    productParentURN = AnyConverter.toString(theJobConfig[i].Value);
-                } else if( theJobConfig[i].Name.equals("ProductSource") ) {
-                    productSource = AnyConverter.toString(theJobConfig[i].Value);
-                } else if( theJobConfig[i].Name.equals("Vendor") ) {
-                    vendor = AnyConverter.toString(theJobConfig[i].Value);
-                } else if( theJobConfig[i].Name.equals("RegistrationData") ) {
-                    urlRegData = resolvePath(AnyConverter.toString(theJobConfig[i].Value));
-                } else if( theJobConfig[i].Name.equals("RegistrationURL") ) {
-                    registrationURL = AnyConverter.toString(theJobConfig[i].Value);
-                } else {  
-                    System.err.println( theJobConfig[i].Name + " = " + 
AnyConverter.toString(theJobConfig[i].Value) );
-                }
-            }
-
-            if (registrationURL==null)
-                throw new com.sun.star.lang.IllegalArgumentException("no registration url");
-            
-            boolean local_only = false;
-
-            c = theEnvironment.length;
-            for (int i=0; i<c; ++i) {
-                if( theEnvironment[i].Name.equals("EventName") ) {
-                    if( ! AnyConverter.toString(theEnvironment[i].Value).equals("onRegisterNow") ) 
{
-                        local_only = true;
-                    }
-                }
-            }
-            
-            try { 
-                
-                /* ensure only one thread accesses/writes registration.xml at a time
-                 * regardless how many instances of this Job exist.
-                 */
-                synchronized( _serviceName ) {
-                    
-                    File xmlRegData = new File( new URI( urlRegData ) );
-                
-                    ServiceTag tag = getServiceTagFromRegistrationData(xmlRegData, productURN);
-                    if( tag == null ) {
-                        tag = ServiceTag.newInstance(
-                            ServiceTag.generateInstanceURN(),
-                            productName,
-                            productVersion,
-                            productURN,
-                            productParent,
-                            productParentURN,
-                            productDefinedInstanceID,
-                            vendor,
-                            System.getProperty("os.arch"),
-                            Installer.getZoneName(),
-                            productSource);
-                
-                        theRegistrationData = new RegistrationData();
-                        theRegistrationData.addServiceTag(tag);
-                        theRegistrationData.storeToXML( new FileOutputStream( xmlRegData ) );
-                    }
-                
-                    // Store the service tag in local registry, which might have been installed 
later
-                    if( Registry.isSupported() ) {
-                        // ignore communication failures with local service tag client
-                        try {
-                            if( Registry.getSystemRegistry().getServiceTag(tag.getInstanceURN()) 
== null ) {
-                                Registry.getSystemRegistry().addServiceTag(tag);
-                            }
-                        } catch( java.io.IOException e) {
-                            e.printStackTrace();
-                        } catch (java.lang.RuntimeException e) {
-                            e.printStackTrace();
-                        }
-                    }
-                }
-                
-                if( ! local_only ) {
-                    registrationURL = registrationURL.replaceAll("\\$\\{registry_urn\\}", 
theRegistrationData.getRegistrationURN());
-                    registrationURL = registrationURL.replaceAll("\\$\\{locale\\}", 
Locale.getDefault().getLanguage());
-                    
-                    HttpURLConnection con = (HttpURLConnection) new 
URL(registrationURL).openConnection();
-                    con.setDoInput(true);
-                    con.setDoOutput(true);
-                    con.setUseCaches(false);
-                    con.setAllowUserInteraction(false);
-                    con.setRequestMethod("POST");
-
-                    con.setRequestProperty("Content-Type", "text/xml;charset=\"utf-8\"");
-                    try {
-                        con.connect();
-
-                        OutputStream out = con.getOutputStream();
-                        theRegistrationData.storeToXML(out);
-                        out.flush();
-                        out.close();
-
-                        int returnCode = con.getResponseCode();
-                    } catch(java.lang.Exception e) {
-                        // IOException and UnknownHostException
-                    }
-                    openBrowser(registrationURL);
-                }
-            } catch (java.net.MalformedURLException e) {
-                e.printStackTrace();
-                throw new com.sun.star.lang.IllegalArgumentException( e.toString() );
-            } catch (java.net.URISyntaxException e) {
-                e.printStackTrace();
-                throw new com.sun.star.lang.IllegalArgumentException( e.toString() );
-            } catch (java.io.IOException e) {
-                e.printStackTrace();
-                throw new com.sun.star.uno.RuntimeException( e.toString() );
-            } catch (java.lang.RuntimeException e) {
-                e.printStackTrace();
-                throw new com.sun.star.uno.RuntimeException( e.toString() );
-            }
-        }
-    }
-}
diff --git a/desktop/source/registration/com/sun/star/registration/makefile.mk 
b/desktop/source/registration/com/sun/star/registration/makefile.mk
deleted file mode 100755
index 8598022..0000000
--- a/desktop/source/registration/com/sun/star/registration/makefile.mk
+++ /dev/null
@@ -1,62 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-# 
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org.  If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJNAME        = setup_native
-PRJ            = ..$/..$/..$/..$/..$/..
-TARGET = productregistration
-PACKAGE        = com$/sun$/star$/registration
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE :  settings.mk
-
-.IF "$(ENABLE_SVCTAGS)" == "YES"
-
-JARFILES = jurt.jar unoil.jar ridl.jar 
-JAVAFILES = \
-    Registration.java
-
-JAVACLASSFILES= $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-
-JARTARGET               = $(TARGET).jar
-JARCOMPRESS             = TRUE
-JARCLASSDIRS            = $(PACKAGE) com$/sun$/star$/servicetag
-CUSTOMMANIFESTFILE      = manifest
-.ENDIF                 # "$(ENABLE_SVCTAGS)" == "YES"
-
-# --- Targets ------------------------------------------------------
-
-
-.INCLUDE :  target.mk
-
-ALLTAR : $(MISC)/productregistration.jar.component
-
-$(MISC)/productregistration.jar.component .ERRREMOVE : \
-        $(SOLARENV)/bin/createcomponent.xslt productregistration.jar.component
-    $(XSLTPROC) --nonet --stringparam uri \
-        '$(COMPONENTPREFIX_BASIS_JAVA)productregistration.jar' -o $@ \
-        $(SOLARENV)/bin/createcomponent.xslt productregistration.jar.component
diff --git a/desktop/source/registration/com/sun/star/registration/manifest 
b/desktop/source/registration/com/sun/star/registration/manifest
deleted file mode 100755
index 952aaa8..0000000
--- a/desktop/source/registration/com/sun/star/registration/manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-RegistrationClassName: com.sun.star.registration.Registration
-UNO-Type-Path: 
diff --git 
a/desktop/source/registration/com/sun/star/registration/productregistration.jar.component 
b/desktop/source/registration/com/sun/star/registration/productregistration.jar.component
deleted file mode 100755
index c022a98..0000000
--- a/desktop/source/registration/com/sun/star/registration/productregistration.jar.component
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--**********************************************************************
-*
-* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-*
-* Copyright 2000, 2010 Oracle and/or its affiliates.
-*
-* OpenOffice.org - a multi-platform office productivity suite
-*
-* This file is part of OpenOffice.org.
-*
-* OpenOffice.org is free software: you can redistribute it and/or modify
-* it under the terms of the GNU Lesser General Public License version 3
-* only, as published by the Free Software Foundation.
-*
-* OpenOffice.org is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-* GNU Lesser General Public License version 3 for more details
-* (a copy is included in the LICENSE file that accompanied this code).
-*
-* You should have received a copy of the GNU Lesser General Public License
-* version 3 along with OpenOffice.org.  If not, see
-* <http://www.openoffice.org/license.html>
-* for a copy of the LGPLv3 License.
-*
-**********************************************************************-->
-
-<component loader="com.sun.star.loader.Java2"
-    xmlns="http://openoffice.org/2010/uno-components";>
-  <implementation name="com.sun.star.registration.Registration">
-    <service name="com.sun.star.comp.framework.DoRegistrationJob"/>
-  </implementation>
-</component>
diff --git a/desktop/source/registration/com/sun/star/servicetag/BrowserSupport.java 
b/desktop/source/registration/com/sun/star/servicetag/BrowserSupport.java
deleted file mode 100755
index c475b75..0000000
--- a/desktop/source/registration/com/sun/star/servicetag/BrowserSupport.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-package com.sun.star.servicetag;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-import java.io.IOException;
-import java.net.URI;
-
-/**
- * BrowserSupport class.
- *
- * The implementation of the com.sun.servicetag API needs to be
- * compiled with JDK 5 as well since the consumer of this API
- * may require to support JDK 5 (e.g. NetBeans). 
- *
- * The Desktop.browse() method can be backported in this class 
- * if needed.  The current implementation only supports JDK 6.
- */
-class BrowserSupport {
-    private static boolean isBrowseSupported = false;
-    private static Method browseMethod = null;
-    private static Object desktop = null;
-    private static volatile Boolean result = false;
-   
-
-    private static void initX() {
-    if  (desktop != null) {
-            return;
-    }
-        boolean supported = false;
-        Method browseM = null;
-        Object desktopObj = null;
-        try {
-            // Determine if java.awt.Desktop is supported
-            Class desktopCls = Class.forName("java.awt.Desktop", true, null);
-            Method getDesktopM = desktopCls.getMethod("getDesktop"); 
-            browseM = desktopCls.getMethod("browse", URI.class); 
-
-            Class actionCls = Class.forName("java.awt.Desktop$Action", true, null);
-            final Method isDesktopSupportedMethod = desktopCls.getMethod("isDesktopSupported"); 
-            Method isSupportedMethod = desktopCls.getMethod("isSupported", actionCls); 
-            Field browseField = actionCls.getField("BROWSE");
-            // isDesktopSupported calls getDefaultToolkit which can block 
-            // infinitely, see 6636099 for details, to workaround we call 
-            // in a  thread and time it out, noting that the issue is specific
-        // to X11, it does not hurt for Windows.
-            Thread xthread = new Thread() {
-                public void run() {
-                    try {
-                        // support only if Desktop.isDesktopSupported() and 
-                        // Desktop.isSupported(Desktop.Action.BROWSE) return true.
-                        result = (Boolean) isDesktopSupportedMethod.invoke(null);
-                    } catch (IllegalAccessException e) {
-                        // should never reach here
-                        InternalError x =
-                            new InternalError("Desktop.getDesktop() method not found");
-                        x.initCause(e);
-                    } catch (InvocationTargetException e) {
-                        // browser not supported
-                        if (Util.isVerbose()) {
-                            e.printStackTrace();
-                        }
-                    }
-                }
-            };
-        // set it to daemon, so that the vm will exit.
-        xthread.setDaemon(true);
-            xthread.start();
-            try {
-                xthread.join(5 * 1000);
-            } catch (InterruptedException ie) {
-                // ignore the exception
-            }
-            if (result.booleanValue()) {
-                desktopObj = getDesktopM.invoke(null);
-                result = (Boolean) isSupportedMethod.invoke(desktopObj, browseField.get(null));
-                supported = result.booleanValue();
-            }
-        } catch (ClassNotFoundException e) {
-            // browser not supported
-            if (Util.isVerbose()) {
-                e.printStackTrace();
-            }
-        } catch (NoSuchMethodException e) {
-            // browser not supported
-            if (Util.isVerbose()) {
-                e.printStackTrace();
-            }
-        } catch (NoSuchFieldException e) {
-            // browser not supported
-            if (Util.isVerbose()) {
-                e.printStackTrace();
-            }
-        } catch (IllegalAccessException e) {
-            // should never reach here
-            InternalError x =
-                    new InternalError("Desktop.getDesktop() method not found");
-            x.initCause(e);
-            throw x;
-        } catch (InvocationTargetException e) {
-            // browser not supported
-            if (Util.isVerbose()) {
-                e.printStackTrace();
-            }
-        }
-        isBrowseSupported = supported;
-        browseMethod = browseM;
-        desktop = desktopObj;
-    }
-
-    static boolean isSupported() {
-    initX();
-        return isBrowseSupported; 
-    }
-
-    /**
-     * Launches the default browser to display a {@code URI}.
-     * If the default browser is not able to handle the specified
-     * {@code URI}, the application registered for handling
-     * {@code URIs} of the specified type is invoked. The application
-     * is determined from the protocol and path of the {@code URI}, as
-     * defined by the {@code URI} class.
-     * <p>
-     * This method calls the Desktop.getDesktop().browse() method.
-     * <p>
-     * @param uri the URI to be displayed in the user default browser
-     *
-     * @throws NullPointerException if {@code uri} is {@code null}
-     * @throws UnsupportedOperationException if the current platform
-     * does not support the {@link Desktop.Action#BROWSE} action
-     * @throws IOException if the user default browser is not found,
-     * or it fails to be launched, or the default handler application
-     * failed to be launched
-     * @throws IllegalArgumentException if the necessary permissions
-     * are not available and the URI can not be converted to a {@code URL}
-     */
-    static void browse(URI uri) throws IOException {
-        if (uri == null) {
-            throw new NullPointerException("null uri");
-        }
-        if (!isSupported()) {
-            throw new UnsupportedOperationException("Browse operation is not supported");
-        }
-
-        // Call Desktop.browse() method
-        try { 
-        if (Util.isVerbose()) {
-                System.out.println("desktop: " + desktop + ":browsing..." + uri);
-        }
-            browseMethod.invoke(desktop, uri);
-        } catch (IllegalAccessException e) {
-            // should never reach here
-            InternalError x = 
-                new InternalError("Desktop.getDesktop() method not found");
-            x.initCause(e);
-                throw x;
-        } catch (InvocationTargetException e) {
-            Throwable x = e.getCause();
-            if (x != null) {
-                if (x instanceof UnsupportedOperationException) {
-                    throw (UnsupportedOperationException) x;
-                } else if (x instanceof IllegalArgumentException) {
-                    throw (IllegalArgumentException) x;
-                } else if (x instanceof IOException) {
-                    throw (IOException) x;
-                } else if (x instanceof SecurityException) {
-                    throw (SecurityException) x;
-                } else {
-                    // ignore
-                } 
-            } 
-        }
-    }
-}
diff --git a/desktop/source/registration/com/sun/star/servicetag/Installer.java 
b/desktop/source/registration/com/sun/star/servicetag/Installer.java
deleted file mode 100755
index 41d328c..0000000
--- a/desktop/source/registration/com/sun/star/servicetag/Installer.java
+++ /dev/null
@@ -1,943 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-package com.sun.star.servicetag;
-
-import java.io.*;
-import java.util.HashSet;
-import java.util.Locale;
-import java.util.Properties;
-import java.util.Set;
-import java.util.List;
-import java.util.ArrayList;
-import static com.sun.star.servicetag.Util.*;
-
-/**
- * Service Tag Installer for Java SE.
- */
-public class Installer {
-    // System properties for testing
-    private static String SVCTAG_DIR_PATH =
-        "servicetag.dir.path";
-    private static String SVCTAG_ENABLE_REGISTRATION = 
-        "servicetag.registration.enabled";
-    private final static String SUN_VENDOR = "Sun Microsystems";
-    private final static String REGISTRATION_XML = "registration.xml";
-    private final static String SERVICE_TAG_FILE = "servicetag";
-    private final static String REGISTRATION_HTML_NAME = "register";
-
-    private final static Locale[] knownSupportedLocales = 
-        new Locale[] { Locale.ENGLISH,
-                       Locale.JAPANESE,
-                       Locale.SIMPLIFIED_CHINESE};
-
-    private final static String javaHome = System.getProperty("java.home");
-    private static File svcTagDir;
-    private static File serviceTagFile;
-    private static File regXmlFile;
-    private static RegistrationData registration;
-    private static boolean supportRegistration;
-    private static String registerHtmlParent;
-    private static Set<Locale> supportedLocales = new HashSet<Locale>();
-    private static Properties swordfishProps = null;
-    private static String[] jreArchs = null;
-    static {
-        String dir = System.getProperty(SVCTAG_DIR_PATH);
-        if (dir == null) {
-            svcTagDir = new File(getJrePath(), "lib" + File.separator + SERVICE_TAG_FILE);
-        } else {
-            svcTagDir = new File(dir);
-        }
-        serviceTagFile = new File(svcTagDir, SERVICE_TAG_FILE);
-        regXmlFile = new File(svcTagDir, REGISTRATION_XML);
-        if (System.getProperty(SVCTAG_ENABLE_REGISTRATION) == null) {
-            supportRegistration = isJdk();
-        } else {
-            supportRegistration = true;
-        }       
-    }
-
-    private Installer() {
-    }
-
-    // Implementation of ServiceTag.getJavaServiceTag(String) method
-    static ServiceTag getJavaServiceTag(String source) throws IOException {
-        if (!System.getProperty("java.vendor").startsWith(SUN_VENDOR)) {
-            // Products bundling this implementation may run on 
-            // Mac OS which is not a Sun JDK
-            return null;
-        }
-        boolean cleanup = false;
-        try {
-            // Check if we have the swordfish entries for this JRE version
-            if (loadSwordfishEntries() == null) {
-                return null;
-            }
-
-            ServiceTag st = getJavaServiceTag();
-            // Check if the service tag created by this bundle owner
-            if (st != null && st.getSource().equals(source)) {
-                // Install the system service tag if supported
-                // stclient may be installed after the service tag creation
-                if (Registry.isSupported()) {
-                    installSystemServiceTag();
-                }
-                return st;
-            }
-
-            // in case any exception thrown during the cleanup
-            cleanup = true;
-
-            // re-create a new one for this bundle owner
-            // first delete the registration data
-            deleteRegistrationData();
-            cleanup = false;
-
-            // create service tag and generate new register.html pages
-            return createServiceTag(source);
-        } finally {
-            if (cleanup) {
-                if (regXmlFile.exists()) {
-                    regXmlFile.delete();
-                }
-                if (serviceTagFile.exists()) {
-                    serviceTagFile.delete();
-                }
-            }
-        }
-    }
-
-    /**
-     * Returns the Java SE registration data located in
-     * the <JRE>/lib/servicetag/registration.xml by default. 
-     *
-     * @throws IllegalArgumentException if the registration data
-     *         is of invalid format.
-     */
-    private static synchronized RegistrationData getRegistrationData()
-            throws IOException {
-        if (registration != null) {
-            return registration;
-        }
-        if (regXmlFile.exists()) {
-            BufferedInputStream in = null;
-            try {
-                in = new BufferedInputStream(new FileInputStream(regXmlFile));
-                registration = RegistrationData.loadFromXML(in);
-            } catch (IllegalArgumentException ex) {
-                System.err.println("Error: Bad registration data \"" +
-                                    regXmlFile + "\":" + ex.getMessage());
-                throw ex;
-            } finally {
-                if (in != null) {
-                    in.close();
-                }
-            }
-        } else {
-            registration = new RegistrationData();
-        }
-        return registration;
-    }
-
-    /**
-     * Write the registration data to the registration.xml file.
-     *
-     * The offline registration page has to be regenerated with 
-     * the new registration data. 
-     *
-     * @throws java.io.IOException
-     */
-    private static synchronized void writeRegistrationXml() 
-            throws IOException {
-        if (!svcTagDir.exists()) {
-            // This check is for NetBeans or other products that
-            // bundles this com.sun.servicetag implementation for 
-            // pre-6u5 release.
-            if (!svcTagDir.mkdir()) {
-                throw new IOException("Failed to create directory: " + svcTagDir);
-            }
-        }
-
-        // regenerate the new offline registration page
-        deleteRegistrationHtmlPage();
-        getRegistrationHtmlPage();
-
-        BufferedOutputStream out = null;
-        try {
-            out = new BufferedOutputStream(new FileOutputStream(regXmlFile));
-            getRegistrationData().storeToXML(out);
-        } catch (IllegalArgumentException ex) {
-            System.err.println("Error: Bad registration data \"" +
-                                regXmlFile + "\":" + ex.getMessage());
-            throw ex;
-        } finally {
-            if (out != null) {
-                out.close();
-            }
-        }
-    }
-
-    /**
-     * Returns the instance urn(s) stored in the servicetag file
-     * or empty set if file not exists.
-     */
-    private static Set<String> getInstalledURNs() throws IOException {
-        Set<String> urnSet = new HashSet<String>();
-        if (serviceTagFile.exists()) {
-            BufferedReader in = null;
-            try {
-                in = new BufferedReader(new FileReader(serviceTagFile));
-                String urn;
-                while ((urn = in.readLine()) != null) {
-                    urn = urn.trim();
-                    if (urn.length() > 0) {
-                        urnSet.add(urn);
-                    }
-                }
-            } finally {
-                if (in != null) {
-                    in.close();
-                }
-            }
-        }
-        return urnSet;
-    }
-
-    /** 
-     * Return the Java SE service tag(s) if it exists.
-     * Typically only one Java SE service tag but it could have two for
-     * Solaris 32-bit and 64-bit on the same install directory.
-     *
-     * @return the service tag(s) for Java SE
-     */
-    private static ServiceTag[] getJavaServiceTagArray() throws IOException {
-        RegistrationData regData = getRegistrationData();
-        Set<ServiceTag> svcTags = regData.getServiceTags();
-        Set<ServiceTag> result = new HashSet<ServiceTag>();
-
-        Properties props = loadSwordfishEntries();
-        String jdkUrn = props.getProperty("servicetag.jdk.urn");
-        String jreUrn = props.getProperty("servicetag.jre.urn");
-        for (ServiceTag st : svcTags) {
-            if (st.getProductURN().equals(jdkUrn) || 
-                st.getProductURN().equals(jreUrn)) {
-                result.add(st);
-            }
-        }
-        return result.toArray(new ServiceTag[0]);
-    }
-
-    /**
-     * Returns the Java SE service tag for this running platform;
-     * or null if not exist.
-     * This method will return the 64-bit service tag if the JDK
-     * supports both 32-bit and 64-bit if already created.
-     */
-    private static ServiceTag getJavaServiceTag() throws IOException {
-        String definedId = getProductDefinedId();
-        for (ServiceTag st : getJavaServiceTagArray()) {
-            if (st.getProductDefinedInstanceID().equals(definedId)) {
-                return st;
-            }
-        } 
-        return null;
-    }
-
-    /**
-     * Create a service tag for Java SE and install in the system
-     * service tag registry if supported.
-     *
-     * A registration data <JRE>/lib/servicetag/registration.xml
-     * will be created to storeToXML the XML entry for Java SE service tag.
-     * If the system supports service tags, this method will install
-     * the Java SE service tag in the system service tag registry and
-     * its <tt>instance_urn</tt> will be stored to <JRE>/lib/servicetag/servicetag.
-     *
-     * If <JRE>/lib/servicetag/registration.xml exists but is not installed
-     * in the system service tag registry (i.e. servicetag doesn't exist), 
-     * this method will install it as described above.
-     *
-     * If the system supports service tag, stclient will be used
-     * to create the Java SE service tag.  
-     *
-     * A Solaris 32-bit and 64-bit JDK will be installed in the same
-     * directory but the registration.xml will have 2 service tags.
-     * The servicetag file will also contain 2 instance_urns for that case.
-     */
-    private static ServiceTag createServiceTag(String svcTagSource)
-            throws IOException {
-        // determine if a new service tag is needed to be created
-        ServiceTag newSvcTag = null;
-        if (getJavaServiceTag() == null) {
-            newSvcTag = newServiceTag(svcTagSource);
-        }
-
-        // Add the new service tag in the registration data
-        if (newSvcTag != null) {
-            RegistrationData regData = getRegistrationData();
-
-            // Add the service tag to the registration data in JDK/JRE
-            newSvcTag = regData.addServiceTag(newSvcTag);
-
-            // add if there is a service tag for the OS 
-            ServiceTag osTag = SolarisServiceTag.getServiceTag();
-            if (osTag != null && regData.getServiceTag(osTag.getInstanceURN()) == null) {
-                regData.addServiceTag(osTag);
-            }
-            // write to the registration.xml
-            writeRegistrationXml();
-        }
-        
-        // Install the system service tag if supported
-        if (Registry.isSupported()) {
-            installSystemServiceTag();
-        }
-        return newSvcTag;
-    }
-
-    private static void installSystemServiceTag() throws IOException {
-        // only install the service tag in the registry if 
-        // it has permission to write the servicetag file.
-        if ((!serviceTagFile.exists() && !svcTagDir.canWrite()) || 
-                (serviceTagFile.exists() && !serviceTagFile.canWrite())) {
-            return;
-        }
-
-        Set<String> urns = getInstalledURNs();
-        ServiceTag[] javaSvcTags = getJavaServiceTagArray();
-        if (urns.size() < javaSvcTags.length) {
-            for (ServiceTag st : javaSvcTags) {
-                // Add the service tag in the system service tag registry
-                // if not installed
-                String instanceURN = st.getInstanceURN();
-                if (!urns.contains(instanceURN)) {
-                    Registry.getSystemRegistry().addServiceTag(st);
-                }
-            }
-        }
-        writeInstalledUrns();
-    }
-
-    private static ServiceTag newServiceTag(String svcTagSource) throws IOException {
-        // Load the swoRDFish information for the service tag creation
-        Properties props = loadSwordfishEntries();
-
-        // Determine the product URN and name
-        String productURN;
-        String productName;
-
-        if (isJdk()) {
-            // <HOME>/jre exists which implies it's a JDK
-            productURN = props.getProperty("servicetag.jdk.urn");
-            productName = props.getProperty("servicetag.jdk.name");
-        } else {
-            // Otherwise, it's a JRE
-            productURN = props.getProperty("servicetag.jre.urn");
-            productName = props.getProperty("servicetag.jre.name");
-        }
-
-        return ServiceTag.newInstance(ServiceTag.generateInstanceURN(),
-                                      productName,
-                                      System.getProperty("java.version"),
-                                      productURN,
-                                      props.getProperty("servicetag.parent.name"),
-                                      props.getProperty("servicetag.parent.urn"),
-                                      getProductDefinedId(),
-                                      SUN_VENDOR,
-                                      System.getProperty("os.arch"),
-                                      getZoneName(),
-                                      svcTagSource);
-    }
-
-    /**
-     * Delete the registration data, the offline registration pages and 
-     * the service tags in the system service tag registry if installed.
-     *
-     * The registration.xml and servicetag file will be removed.
-     */
-    private static synchronized void deleteRegistrationData()
-            throws IOException {
-        try {
-            // delete the offline registration page
-            deleteRegistrationHtmlPage();
-
-            // Remove the service tag from the system ST registry if exists
-            Set<String> urns = getInstalledURNs();
-            if (urns.size() > 0 && Registry.isSupported()) {
-                for (String u : urns) {
-                    Registry.getSystemRegistry().removeServiceTag(u);
-                }
-            }
-            registration = null; 
-        } finally {
-            // Delete the registration.xml and servicetag files if exists
-            if (regXmlFile.exists()) {
-                if (!regXmlFile.delete()) {
-                    throw new IOException("Failed to delete " + regXmlFile);
-                } 
-            } 
-            if (serviceTagFile.exists()) {
-                if (!serviceTagFile.delete()) {
-                    throw new IOException("Failed to delete " + serviceTagFile);
-                } 
-            }
-        }
-    }
-    
-    /**
-     * Updates the registration data to contain one single service tag
-     * for the running Java runtime.
-     */
-    private static synchronized void updateRegistrationData(String svcTagSource) 
-            throws IOException {
-        RegistrationData regData = getRegistrationData();
-        ServiceTag curSvcTag = newServiceTag(svcTagSource);
-
-        ServiceTag[] javaSvcTags = getJavaServiceTagArray();
-        Set<String> urns = getInstalledURNs();
-        for (ServiceTag st : javaSvcTags) {
-            if (!st.getProductDefinedInstanceID().equals(curSvcTag.getProductDefinedInstanceID())) 
{
-                String instanceURN = st.getInstanceURN();
-                regData.removeServiceTag(instanceURN);
-
-                // remove it from the system service tag registry if exists 
-                if (urns.contains(instanceURN) && Registry.isSupported()) {
-                    Registry.getSystemRegistry().removeServiceTag(instanceURN);
-                }
-            }
-        }
-        writeRegistrationXml();
-        writeInstalledUrns();
-    }
-
-    private static void writeInstalledUrns() throws IOException {
-        // if the Registry is not supported, 
-        // remove the servicetag file
-        if (!Registry.isSupported() && serviceTagFile.exists()) {
-            serviceTagFile.delete();
-            return;
-        }
-
-        PrintWriter out = null;
-        try {
-            out = new PrintWriter(serviceTagFile);
-
-            ServiceTag[] javaSvcTags = getJavaServiceTagArray();
-            for (ServiceTag st : javaSvcTags) {
-                // Write the instance_run to the servicetag file
-                String instanceURN = st.getInstanceURN();
-                out.println(instanceURN);
-            }
-        } finally {
-            if (out != null) {
-                out.close();
-            }
-        }
-    }
-
-    /**
-     * Load the values associated with the swoRDFish metadata entries
-     * for Java SE. The swoRDFish metadata entries are different for
-     * different release.
-     *
-     * @param version Version of Java SE
-     */
-    private static synchronized Properties loadSwordfishEntries() throws IOException {
-        if (swordfishProps != null) {
-            return swordfishProps;
-        }
-
-        // The version string for Java SE 6 is 1.6.0
-        // We just need the minor number in the version string
-        int version = Util.getJdkVersion();
-
-        String filename = "/com/sun/servicetag/resources/javase_" +
-                version + "_swordfish.properties";
-        InputStream in = Installer.class.getClass().getResourceAsStream(filename);
-        if (in == null) {
-            return null;
-        }
-        swordfishProps = new Properties();
-        try {
-            swordfishProps.load(in);
-        } finally {
-            in.close();
-        }
-        return swordfishProps;
-    }
-
-    /**
-     * Returns the product defined instance ID for Java SE.
-     * It is a list of comma-separated name/value pairs:
-     *    "id=<full-version>  <arch> [<arch>]*"
-     *    "dir=<java.home system property value>"
-     *
-     * where <full-version> is the full version string of the JRE,
-     *       <arch> is the architecture that the runtime supports
-     *       (i.e. "sparc", "sparcv9", "i386", "amd64" (ISA list))
-     *
-     * For Solaris, it can be dual mode that can support both
-     * 32-bit and 64-bit. the "id" will be set to
-     *     "1.6.0_03-b02 sparc sparcv9"
-     * 
-     * The "dir" property is included in the service tag to enable
-     * the Service Tag software to determine if a service tag for 
-     * Java SE is invalid and perform appropriate service tag
-     * cleanup if necessary.  See RFE# 6574781 Service Tags Enhancement. 
-     *
-     */
-    private static String getProductDefinedId() {
-        StringBuilder definedId = new StringBuilder();
-        definedId.append("id=");
-        definedId.append(System.getProperty("java.runtime.version"));
- 
-        String[] archs = getJreArchs();
-        for (String name : archs) {
-            definedId.append(" " + name);
-        }
-
-        String location = ",dir=" + javaHome;
-        if ((definedId.length() + location.length()) < 256) {
-            definedId.append(",dir=");
-            definedId.append(javaHome);
-        } else {
-            // if it exceeds the limit, we will not include the location
-            if (isVerbose()) {
-                System.err.println("Warning: Product defined instance ID exceeds the field 
limit:");
-            }
-        }
-
-        return definedId.toString();
-    }
-
-    /**
-     * Returns the architectures that the runtime supports
-     *  (i.e. "sparc", "sparcv9", "i386", "amd64" (ISA list))
-     * The directory name where libjava.so is located.
-     *
-     * On Windows, returns the "os.arch" system property value.
-     */
-    private synchronized static String[] getJreArchs() {
-        if (jreArchs != null) {
-            return jreArchs;
-        }
-
-        Set<String> archs = new HashSet<String>();
-
-        String os = System.getProperty("os.name");
-        if (os.equals("SunOS") || os.equals("Linux")) {
-            // Traverse the directories under <JRE>/lib. 
-            // If <JRE>/lib/<arch>/libjava.so exists, add <arch>
-            // to the product defined ID 
-            File dir = new File(getJrePath() + File.separator + "lib");
-            if (dir.isDirectory()) {
-                String[] children = dir.list();
-                for (String name : children) {
-                    File f = new File(dir, name + File.separator + "libjava.so");
-                    if (f.exists()) {
-                        archs.add(name);
-                    }
-                }
-            }
-        } else {
-            // Windows - append the os.arch
-            archs.add(System.getProperty("os.arch"));
-        }
-        jreArchs = archs.toArray(new String[0]);
-        return jreArchs;
-    }
-
-    /**
-     * Return the zonename if zone is supported; otherwise, return
-     * "global".
-     */
-    public static String getZoneName() throws IOException {
-        String zonename = "global";
-
-        String command = "/usr/bin/zonename";
-        File f = new File(command);
-        // com.sun.servicetag package has to be compiled with JDK 5 as well
-        // JDK 5 doesn't support the File.canExecute() method.
-        // Risk not checking isExecute() for the zonename command is very low.
-        if (f.exists()) {
-            ProcessBuilder pb = new ProcessBuilder(command);
-            Process p = pb.start();
-            String output = commandOutput(p);
-            if (p.exitValue() == 0) {
-                zonename = output.trim();
-            }
-
-        }
-        return zonename;
-    }
-
-    private synchronized static String getRegisterHtmlParent() throws IOException {
-        if (registerHtmlParent == null) {
-            File htmlDir;    // register.html is put under the JDK directory
-            if (getJrePath().endsWith(File.separator + "jre")) {
-                htmlDir = new File(getJrePath(), "..");
-            } else {
-                // j2se non-image build
-                htmlDir = new File(getJrePath());
-            }
-
-            // initialize the supported locales
-            initSupportedLocales(htmlDir);
-
-            // Determine the location of the offline registration page
-            String path = System.getProperty(SVCTAG_DIR_PATH);
-            if (path == null) {
-                // Default is <JDK>/register.html
-                registerHtmlParent = htmlDir.getCanonicalPath();
-            } else {
-                File f = new File(path);
-                registerHtmlParent = f.getCanonicalPath();
-                if (!f.isDirectory()) {
-                    throw new InternalError("Path " + path + " set in \"" +
-                            SVCTAG_DIR_PATH + "\" property is not a directory");
-                }
-            }
-        }
-        return registerHtmlParent;
-    }
-
-    /**
-     * Returns the File object of the offline registration page localized
-     * for the default locale in the JDK directory.
-     */
-    static synchronized File getRegistrationHtmlPage() throws IOException {
-        if (!supportRegistration) {
-            // No register.html page generated if JRE
-            return null;
-        }
-
-        String parent = getRegisterHtmlParent(); 
-
-        // check if the offline registration page is already generated
-        File f = new File(parent, REGISTRATION_HTML_NAME + ".html");
-        if (!f.exists()) {
-            // Generate the localized version of the offline registration Page
-            generateRegisterHtml(parent);
-        }
-
-        String name = REGISTRATION_HTML_NAME;
-        List<Locale> candidateLocales = getCandidateLocales(Locale.getDefault());
-        for (Locale l : candidateLocales) {
-            if (supportedLocales.contains(l)) {
-                name = REGISTRATION_HTML_NAME + "_" + l.toString();
-                break;
-            }
-        }
-        File htmlFile = new File(parent, name + ".html");
-        if (isVerbose()) {
-            System.out.print("Offline registration page: " + htmlFile);
-            System.out.println((htmlFile.exists() ? 
-                               "" : " not exist. Use register.html"));
-        }
-        if (htmlFile.exists()) {
-            return htmlFile;
-        } else {
-            return new File(parent,
-                            REGISTRATION_HTML_NAME + ".html");
-        }
-    }
-
-    private static List<Locale> getCandidateLocales(Locale locale) {
-        String language = locale.getLanguage();
-        String country = locale.getCountry();
-        String variant = locale.getVariant();
-                                                                                
-        List<Locale> locales = new ArrayList<Locale>(3);
-        if (variant.length() > 0) {
-            locales.add(locale);
-        }
-        if (country.length() > 0) {
-            locales.add((locales.size() == 0) ?
-                        locale : new Locale(language, country, ""));
-        }
-        if (language.length() > 0) {
-            locales.add((locales.size() == 0) ?
-                        locale : new Locale(language, "", ""));
-        }
-        return locales;
-    }
-    
-    // Remove the offline registration pages 
-    private static void deleteRegistrationHtmlPage() throws IOException {
-        String parent = getRegisterHtmlParent(); 
-        if (parent == null) {
-            return;
-        }
-        
-        for (Locale locale : supportedLocales) {
-            String name = REGISTRATION_HTML_NAME;
-            if (!locale.equals(Locale.ENGLISH)) {
-                name += "_" + locale.toString();
-            }
-            File f = new File(parent, name + ".html");
-            if (f.exists()) {
-                if (!f.delete()) {
-                    throw new IOException("Failed to delete " + f);
-                } 
-            }
-        }
-    }
-
-    private static void initSupportedLocales(File jdkDir) {
-        if (supportedLocales.isEmpty()) {
-            // initialize with the known supported locales
-            for (Locale l : knownSupportedLocales) {
-                supportedLocales.add(l);
-            }
-        }
-
-        // Determine unknown supported locales if any
-        // by finding the localized version of README.html
-        // This prepares if a new locale in JDK is supported in
-        // e.g. in the OpenSource world
-        FilenameFilter ff = new FilenameFilter() {
-            public boolean accept(File dir, String name) {
-                String fname = name.toLowerCase();
-                if (fname.startsWith("readme") && fname.endsWith(".html")) { 
-                    return true;
-                }
-                return false;
-            }
-        };
-
-        String[] readmes = jdkDir.list(ff);
-        for (String name : readmes) {
-            String basename = name.substring(0, name.length() - ".html".length()); 
-            String[] ss = basename.split("_");
-            switch (ss.length) {
-                case 1:
-                    // English version
-                    break;
-                case 2:
-                    supportedLocales.add(new Locale(ss[1]));
-                    break;
-                case 3:
-                    supportedLocales.add(new Locale(ss[1], ss[2]));
-                    break;
-                default:
-                    // ignore 
-                    break;
-            }
-        }
-        if (isVerbose()) {
-            System.out.println("Supported locales: ");
-            for (Locale l : supportedLocales) {
-                System.out.println(l);
-            }
-        }
-    }            
-    
-    private static final String JDK_HEADER_PNG_KEY = "@@JDK_HEADER_PNG@@";
-    private static final String JDK_VERSION_KEY = "@@JDK_VERSION@@";
-    private static final String REGISTRATION_URL_KEY = "@@REGISTRATION_URL@@";
-    private static final String REGISTRATION_PAYLOAD_KEY = "@@REGISTRATION_PAYLOAD@@";
-
-    @SuppressWarnings("unchecked")
-    private static void generateRegisterHtml(String parent) throws IOException {
-        int version = Util.getJdkVersion();
-        int update = Util.getUpdateVersion();
-        String jdkVersion = "Version " + version;
-        if (update > 0) {
-            // product name is not translated
-            jdkVersion += " Update " + update;
-        }
-        RegistrationData regData = getRegistrationData();
-        String registerURL = SunConnection.getRegistrationURL(
-                                 regData.getRegistrationURN()).toString();
-        // Make sure it uses the canonical path before getting the URI.
-        File img = new File(svcTagDir.getCanonicalPath(), "jdk_header.png");
-        String headerImageSrc = img.toURI().toString();
-
-        // Format the registration data in one single line
-        StringBuilder payload = new StringBuilder();
-        String xml = regData.toString().replaceAll("\"", "%22");
-        BufferedReader reader = new BufferedReader(new StringReader(xml));
-        try {
-            String line = null;
-            while ((line = reader.readLine()) != null) {
-                payload.append(line.trim());
-            }
-        } finally {
-            reader.close();
-        }
-        
-        String resourceFilename = "/com/sun/servicetag/resources/register";
-        for (Locale locale : supportedLocales) {
-            String name = REGISTRATION_HTML_NAME;
-            String resource = resourceFilename;
-            if (!locale.equals(Locale.ENGLISH)) {
-                name += "_" + locale.toString();
-                resource += "_" + locale.toString();
-            }
-            File f = new File(parent, name + ".html");
-            InputStream in = null;
-            BufferedReader br = null;
-            PrintWriter pw = null;
-            try {
-                in = Installer.class.getClass().getResourceAsStream(resource + ".html");
-                if (in == null) {
-                    // if the resource file is missing
-                    if (isVerbose()) {
-                        System.out.println("Missing resouce file: " + resource + ".html");
-                    }
-                    continue;
-                }
-                if (isVerbose()) {
-                    System.out.println("Generating " + f + " from " + resource + ".html");
-                }
-    
-                br = new BufferedReader(new InputStreamReader(in, "UTF-8"));
-                pw = new PrintWriter(f, "UTF-8");
-                String line = null;
-                while ((line = br.readLine()) != null) {
-                    String output = line;
-                    if (line.contains(JDK_VERSION_KEY)) {
-                        output = line.replace(JDK_VERSION_KEY, jdkVersion);
-                    } else if (line.contains(JDK_HEADER_PNG_KEY)) {
-                        output = line.replace(JDK_HEADER_PNG_KEY, headerImageSrc);
-                    } else if (line.contains(REGISTRATION_URL_KEY)) {
-                        output = line.replace(REGISTRATION_URL_KEY, registerURL);
-                    } else if (line.contains(REGISTRATION_PAYLOAD_KEY)) {
-                        output = line.replace(REGISTRATION_PAYLOAD_KEY, payload.toString());
-                    }
-                    pw.println(output);
-                }
-                f.setReadOnly();
-                pw.flush();
-            } finally {
-                if (pw != null) {
-                    pw.close();
-                }
-                if (in != null) {
-                    in.close();
-                }
-                if (br!= null) {
-                    br.close();
-                }
-            }
-        }
-    }
-
-    /**
-     * A utility class to create a service tag for Java SE.
-     * <p>
-     * <b>Usage:</b><br>
-     * <blockquote><tt>    
-     * &lt;JAVA_HOME&gt;/bin/java com.sun.servicetag.Installer
-     * </tt></blockquote>
-     * <p>
-     */
-    public static void main(String[] args) {
-        String source = "Manual";
-
-        // Parse the options (arguments starting with "-" )
-        boolean delete = false;
-        boolean update = false;
-        boolean register = false;
-        int count = 0;
-        while (count < args.length) {
-            String arg = args[count];
-            if (arg.trim().length() == 0) {
-                // skip empty arguments
-                count++;
-                continue;
-            }
-
-            if (arg.equals("-source")) {
-                source = args[++count];
-            } else if (arg.equals("-delete")) {
-                delete = true;
-            } else if (arg.equals("-register")) {
-                register = true;
-            } else {
-                usage();
-                return;
-            }
-            count++;
-        }
-        try {
-            if (delete) {
-                deleteRegistrationData();
-            } else {
-                ServiceTag[] javaSvcTags = getJavaServiceTagArray();
-                String[] archs = getJreArchs();
-                if (javaSvcTags.length > archs.length) {
-                    // 64-bit has been uninstalled
-                    // so remove the service tag
-                    updateRegistrationData(source); 
-                } else {
-                    // create the service tag
-                    createServiceTag(source);
-                }
-            }
-
-            if (register) {
-                // Registration is only supported by JDK
-                // For testing purpose, override with a "servicetag.enable.registration" property
-
-                RegistrationData regData = getRegistrationData();
-                if (supportRegistration && !regData.getServiceTags().isEmpty()) {
-                    SunConnection.register(regData);
-                }
-            }
-        System.exit(0);
-        } catch (IOException e) {
-            System.err.println("I/O Error: " + e.getMessage());
-            if (isVerbose()) {
-                e.printStackTrace();
-            }
-        } catch (IllegalArgumentException ex) {
-            if (isVerbose()) {
-                ex.printStackTrace();
-            }
-        } catch (Exception e) {
-            System.err.println("Error: " + e.getMessage());
-            if (isVerbose()) {
-                e.printStackTrace();
-            }
-        }
-    System.exit(1);
-    }
-
-    private static void usage() {
-        System.out.println("Usage:");
-        System.out.print("    " + Installer.class.getName());
-        System.out.println(" [-delete|-source <source>|-register]");
-        System.out.println("       to create a service tag for the Java platform");
-        System.out.println("");
-        System.out.println("Internal Options:");
-        System.out.println("    -source: to specify the source of the service tag to be created");
-        System.out.println("    -delete: to delete the service tag ");
-        System.out.println("    -register: to register the JDK");
-        System.out.println("    -help:   to print this help message");
-    }
-}
diff --git a/desktop/source/registration/com/sun/star/servicetag/LinuxSystemEnvironment.java 
b/desktop/source/registration/com/sun/star/servicetag/LinuxSystemEnvironment.java
deleted file mode 100755
index 786fe3a..0000000
--- a/desktop/source/registration/com/sun/star/servicetag/LinuxSystemEnvironment.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-package com.sun.star.servicetag;
-
-// The Service Tags team maintains the latest version of the implementation
-// for system environment data collection.  JDK will include a copy of
-// the most recent released version for a JDK release. We rename
-// the package to com.sun.servicetag so that the Sun Connection
-// product always uses the latest version from the com.sun.scn.servicetags
-// package. JDK and users of the com.sun.servicetag API
-// (e.g. NetBeans and SunStudio) will use the version in JDK.
-
-import java.io.*;
-import java.util.*;
-
-/**
- * Linux implementation of the SystemEnvironment class.
- */
-class LinuxSystemEnvironment extends SystemEnvironment {
-    LinuxSystemEnvironment() {
-        setHostId(getLinuxHostId());
-
-        setSystemModel(getLinuxModel());
-        setSystemManufacturer(getLinuxSystemManufacturer());
-        setCpuManufacturer(getLinuxCpuManufacturer());
-        setSerialNumber(getLinuxSN());
-        setPhysMem(getLinuxPhysMem());
-        setSockets(getLinuxSockets());
-        setCores(getLinuxCores());
-        setVirtCpus(getLinuxVirtCpus());
-        setCpuName(getLinuxCpuName());
-        setClockRate(getLinuxClockRate());
-    }
-    private String dmiInfo = null;
-    private String kstatCpuInfo = null;
-
-    private static final int SN  = 1;
-    private static final int SYS = 2;
-    private static final int CPU = 3;
-    private static final int MODEL = 4;
-
-    private String getLinuxHostId() {
-        String output = getCommandOutput("/usr/bin/hostid");
-        // trim off the leading 0x
-        if (output.startsWith("0x")) {
-            output = output.substring(2);
-        }
-        return output;
-    }
-
-    /**
-     * Tries to obtain and return the cpu manufacturer.
-     * @return The cpu manufacturer (an empty string if not found or an error occurred)
-     */
-    private String getLinuxCpuManufacturer() {
-        String tmp = getLinuxPSNInfo(CPU);
-        if (tmp.length() > 0) {
-            return tmp;
-        }
-
-        String contents = getFileContent("/proc/cpuinfo");
-        for (String line : contents.split("\n")) {
-            if (line.contains("vendor_id")) {
-                String[] ss = line.split(":", 2);
-                if (ss.length > 1) {
-                    return ss[1].trim();
-                }
-            }
-        }
-
-        // returns an empty string if it can't be found or an error happened
-        return getLinuxDMIInfo("dmi type 4", "manufacturer");
-    }
-
-    private String getLinuxModel() {
-        String tmp = getLinuxPSNInfo(MODEL);
-        if (tmp.length() > 0) {
-            return tmp + "::" + getCommandOutput("/bin/uname","-v");
-        }
-
-        tmp = getLinuxDMIInfo("dmi type 1", "product name");
-        if (tmp.length() > 0) {
-            return tmp + "::" + getCommandOutput("/bin/uname","-v");
-        }
-
-        return getCommandOutput("/bin/uname","-i")
-            + "::" + getCommandOutput("/bin/uname","-v");
-    }
-
-
-    /**
-     * Tries to obtain and return the system manufacturer.
-     * @return The system manufacturer (an empty string if not found or an error occurred)
-     */
-    private String getLinuxSystemManufacturer() {
-        String tmp = getLinuxPSNInfo(SYS);
-        if (tmp.length() > 0) {
-            return tmp;
-        }
-
-        // returns an empty string if it can't be found or an error happened
-        return getLinuxDMIInfo("dmi type 1", "manufacturer");
-    }
-
-    /**
-     * Tries to obtain and return the serial number of the system.
-     * @return The serial number (an empty string if not found or an error occurred)
-     */
-    private String getLinuxSN() {
-        String tmp = getLinuxPSNInfo(SN);
-        if (tmp.length() > 0) {
-            return tmp;
-        }
-
-        // returns an empty string if it can't be found or an error happened
-        return getLinuxDMIInfo("dmi type 1", "serial number");
-    }
-
-    private String getLinuxPSNInfo(int target) {
-        // try to read from the psn file if it exists
-        String contents = getFileContent("/var/run/psn");
-        String[] ss = contents.split("\n");
-        if (target <= ss.length) {
-            return ss[target-1];
-        }
-
-        // default case is to return ""
-        return "";
-    }
-
-    // reads from dmidecode with the given type and target
-    // returns an empty string if nothing was found or an error occurred
-    // Sample output segment:
-    // Handle 0x0001
-    //         DMI type 1, 25 bytes.
-    //         System Information
-    //                 Manufacturer: System manufacturer
-    //                 Product Name: System Product Name
-    //                 Version: System Version
-    //                 Serial Number: System Serial Number
-    //                 UUID: 3091D719-B25B-D911-959D-6D1B12C7686E
-    //                 Wake-up Type: Power Switch
-
-    private synchronized String getLinuxDMIInfo(String dmiType, String target) {
-        // only try to get dmidecode information once, after that, we can
-        // reuse the output
-        if (dmiInfo == null) {
-            Thread dmidecodeThread = new Thread() {
-                public void run() {
-                    dmiInfo = getCommandOutput("/usr/sbin/dmidecode");
-                }
-            };
-            dmidecodeThread.start();
-
-            try {
-                dmidecodeThread.join(3000);
-                if (dmidecodeThread.isAlive()) {
-                    dmidecodeThread.interrupt();
-                    dmiInfo = "";
-                }
-            } catch (InterruptedException ie) {
-                dmidecodeThread.interrupt();
-            }
-        }
-
-        if (dmiInfo.length() == 0) {
-            return "";
-        }
-        boolean dmiFlag = false;
-        for (String s : dmiInfo.split("\n")) {
-            String line = s.toLowerCase();
-            if (dmiFlag) {
-                if (line.contains(target)) {
-                    String key = target + ":";
-                    int indx = line.indexOf(key) + key.length();
-                    if (line.contains(key) && indx < line.length()) {
-                        return line.substring(indx).trim();
-                    }
-                    String[] ss = line.split(":"); 
-                    return ss[ss.length-1];
-                }
-            } else if (line.contains(dmiType)) {
-                dmiFlag = true;
-            }
-        }
-        return "";
-    }
-
-    private String getLinuxClockRate() {
-        String contents = getFileContent("/proc/cpuinfo");
-        String token = "cpu MHz";
-        for (String line : contents.split("\n")) {
-            if (line.contains(token)) {
-                String[] key = line.split(":", 2);
-                if (key.length > 1) {
-                    return key[1].trim();
-                }
-            }
-        }
-        return "";
-    }
-
-    private String getLinuxCpuName() {
-        String contents = getFileContent("/proc/cpuinfo");
-        String token = "model name";
-        for (String line : contents.split("\n")) {
-            if (line.contains(token)) {
-                String[] key = line.split(":", 2);
-                if (key.length > 1) {
-                    return key[1].trim();
-                }
-            }
-        }
-        return "";
-    }
-
-    private String getLinuxVirtCpus() {
-        Set<String> set = new HashSet<String>();
-        String contents = getFileContent("/proc/cpuinfo");
-        String token = "processor";
-        for (String line : contents.split("\n")) {
-            if (line.contains(token)) {
-                String[] key = line.split(":", 2);
-                if (key.length > 1) {
-                    set.add(key[1].trim());
-                }
-            }
-        }
-        return "" + set.size();
-    }
-
-    private String getLinuxCores() {
-        Set<String> set = new HashSet<String>();
-        String contents = getFileContent("/proc/cpuinfo");
-        String token = "core id";
-        for (String line : contents.split("\n")) {
-            if (line.contains(token)) {
-                String[] key = line.split(":", 2);
-                if (key.length > 1) {
-                    set.add(key[1].trim());
-                }
-            }
-        }
-        if (set.size() == 0) {
-            return "1";
-        }
-        return "" + set.size();
-    }
-
-    private String getLinuxPhysMem() {
-        String contents = getFileContent("/proc/meminfo");
-        for (String line : contents.split("\n")) {
-            if (line.contains("MemTotal")) {
-                String[] total = line.split(":", 2);
-                if (total.length > 1) {
-                    String[] mem = total[1].trim().split(" ");
-                    if (mem.length >= 1) {
-                        return mem[0].trim();
-                    } else {
-                        return total[1].trim();
-                    }
-                }
-            }
-        }
-
-        return "";
-    }
-
-    private String getLinuxSockets() {
-        Set<String> physIdSet = new HashSet<String>();
-        Set<String> procSet = new HashSet<String>();
-        String contents = getFileContent("/proc/cpuinfo");
-        String physIdToken = "physical id";
-        String procToken = "processor";
-
-        for (String line : contents.split("\n")) {
-            if (line.contains(physIdToken)) {
-                String[] key = line.split(":", 2);
-                if (key.length > 1) {
-                    physIdSet.add(key[1].trim());
-                }
-            }
-
-            if (line.contains(procToken)) {
-                String[] key = line.split(":", 2);
-                if (key.length > 1) {
-                    procSet.add(key[1].trim());
-                }
-            }
-        }
-        if (physIdSet.size() != 0) {
-            return "" + physIdSet.size();
-        }
-        return "" + procSet.size();
-    }
-}
diff --git a/desktop/source/registration/com/sun/star/servicetag/RegistrationData.java 
b/desktop/source/registration/com/sun/star/servicetag/RegistrationData.java
deleted file mode 100755
index 9323e5d..0000000
--- a/desktop/source/registration/com/sun/star/servicetag/RegistrationData.java
+++ /dev/null
@@ -1,531 +0,0 @@
-
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright 1997-2008 Sun Microsystems, Inc. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License. You can obtain
- * a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
- * or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
- * Sun designates this particular file as subject to the "Classpath" exception
- * as provided by Sun in the GPL Version 2 section of the License file that
- * accompanied this code.  If applicable, add the following below the License
- * Header, with the fields enclosed by brackets [] replaced by your own
- * identifying information: "Portions Copyrighted [year]
- * [name of copyright owner]"
- *
- * Contributor(s):
- *
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package com.sun.star.servicetag;
-
-import java.io.*;
-import java.net.UnknownHostException;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Set;
-
-import static com.sun.star.servicetag.RegistrationDocument.*;
-
-/**
- * A {@code RegistrationData} object is a container of one or more 
- * {@link #getServiceTags service tags} that identify the 
- * components for product registration.
- * Each {@code RegistrationData} object has a {@link #getRegistrationURN
- * uniform resource name} (URN) as its identifier.
- * <a name="EnvMap"></a>
- * It also has an <i>environment map</i> with
- * the following elements:
- * <blockquote>
- *       <table border=0>
- *       <tr>
- *          <td><tt>hostname</tt></td>
- *          <td>Hostname of the system</td>
- *          <td>e.g. woody</td>
- *       </tr>
- *       <tr>
- *          <td><tt>hostId</tt></td>
- *          <td>Host ID of the system</td>
- *          <td>e.g. 83abc1ab</td>
- *       </tr>
- *       <tr>
- *          <td><tt>osName</tt></td>
- *          <td>Operating system name</td>
- *          <td> e.g. SunOS</td>
- *       </tr>
- *       <tr>
- *          <td><tt>osVersion</tt></td>
- *          <td>Operating system version</td>
- *          <td> e.g. 5.10</td>
- *       </tr>
- *       <tr>
- *          <td><tt>osArchitecture</tt></td>
- *          <td>Operating system architecture</td>
- *          <td> e.g. sparc</td>
- *       </tr>
- *       <tr>
- *          <td><tt>systemModel</tt></td>
- *          <td>System model</td>
- *          <td> e.g. SUNW,Sun-Fire-V440</td>
- *       </tr>
- *       <tr>
- *          <td><tt>systemManufacturer</tt></td>
- *          <td>System manufacturer</td>
- *          <td> e.g. Sun Microsystems</td>
- *       </tr>
- *       <tr>
- *          <td><tt>cpuManufacturer</tt></td>
- *          <td>CPU manufacturer</td>
- *          <td> e.g. Sun Microsystems</td>
- *       </tr>
- *       <tr>
- *          <td><tt>serialNumber</tt></td>
- *          <td>System serial number</td>
- *          <td> e.g. BEL078932</td>
- *       </tr>
- *       <tr>
- *          <td><tt>physmem</tt></td>
- *          <td>Physical memory for the system (in MB)</td>
- *          <td> e.g. 4096</td>
- *       </tr>
- *       </table>
- *  </blockquote>
- * The <tt>hostname</tt> and <tt>osName</tt> element must have a non-empty value.
- * If an element is not available on a system and their value will be
- * empty.
- * <p>
- * <a name="XMLSchema">
- * <b>Registration XML Schema</b></a>
- * <p>
- * A {@code RegistrationData} object can be {@link #loadFromXML loaded} from 
- * and {@link #storeToXML stored} into an XML file in the format described 
- * by the
- * <a 
href="https://sn-tools.central.sun.com/twiki/pub/ServiceTags/RegistrationRelayService/product_registration.xsd";>
- * registration data schema</a>.  The registration data schema is defined by the 
- * Service Tags Technology.
- * <p>
- * Typically the registration data is constructed at installation time
- * and stored in an XML file for later service tag lookup or registration.
- * 
- * <p>
- * <b>Example Usage</b>
- * <p>
- * The examples below show how the {@code RegistrationData} can be 
- * used for product registration.
- * Exception handling is not shown in these examples for clarity.
- * <ol>
- * <li>This example shows how the JDK creates a JDK service tag, installs it
- * in the system service tag registry and adds it to the registration data.
- * <br>
- * <blockquote><pre>
- *   // create a service tag object with an instance_urn
- *   ServiceTag st = ServiceTag.newInstance(ServiceTag.generateInstanceURN(),
- *                                          ....);
- *   // Adds to the system service tag registry if supported
- *   if (Registry.isSupported()) {
- *       Registry.getSystemRegistry().addServiceTag(st);
- *   }
- * 
- *   // add to the registration data
- *   RegistrationData registration  = new RegistrationData();
- *   registration.addServiceTag(st); 
- * </pre></blockquote>
- * </li>
- * <li>At this point, the registration data is ready to 
- * send to Sun Connection for registration. This example shows how to register 
- * the JDK via the <i>Registration Relay Service</i>.
- * <p>
- * There are several registration services for Sun Connection. For example,
- * the <a 
href="https://sn-tools.central.sun.com/twiki/bin/view/ServiceTags/RegistrationRelayService";>
- * Registration Relay Service</a> is a web application interface that
- * processes the registration data payload sent via HTTP post
- * and hosts the registration user interface for a specified 
- * registration URL.  Refer to the 
- * Registration Relay Service Specification for details.
- * <p>
- * <blockquote><pre>
- *   // Open the connection to the URL of the registration service
- *   HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
- *   con.setDoInput(true);
- *   con.setDoOutput(true);
- *   con.setUseCaches(false);
- *   con.setAllowUserInteraction(false);
- *   con.setRequestMethod("POST");
- *   con.setRequestProperty("Content-Type", "text/xml;charset=\"utf-8\"");
- *   con.connect();
- *
- *   // send the registration data to the registration service
- *   OutputStream out = con.getOutputStream();
- *   registration.storeToXML(out);
- *   out.close();
- * </pre></blockquote>
- * </li>
- * <li>This example shows how to store the registration data in an XML file.
- *     for later service tag lookup or registration.
- * <br>
- * <blockquote><pre>
- *   BufferedOutputStream out = new BufferedOutputStream(
- *       new FileOutputStream(""&lt;JAVA_HOME&gt;/lib/servicetag/registration.xml"));
- *   registration.storeToXML(out);
- *   out.close();
- * </pre></blockquote>
- * </li> 
- * <li>This example shows how to install service tags that are in the 
- * registration data in the system service tag registry when determined
- * to be available.  The system service tag registry might not have existed 
- * when the registration data was constructed.
- * <br>
- * <blockquote><pre>
- *   if (Registry.isSupported()) {
- *       Set&lt;ServiceTag&gt; svctags = registration.getServiceTags();
- *       for (ServiceTag st : svctags) {
- *           Registry.getSystemRegistry().addServiceTag(st);
- *       }
- *   }
- * </pre></blockquote>
- * </li>
- * </ol>
- * 
- * @see <a href="https://sunconnection.sun.com/inventory";>Sun Connection Inventory Channel</a>
- */
-public class RegistrationData {
-    private final Map<String, String> environment;
-    private final Map<String, String> cpuInfo;
-    private final Map<String, ServiceTag> svcTagMap;
-    private final String urn;
-
-    /**
-     * Creates a {@code RegistrationData} object with a generated
-     * {@link #getRegistrationURN registration URN}.
-     * The following keys in the {@link #getEnvironmentMap environment map}
-     * will be initialized for the configuration of the 
-     * running system:
-     * <blockquote>
-     * <tt>hostname</tt>, <tt>osName</tt>,  <tt>osVersion</tt> and
-     * <tt>osArchitecture</tt>
-     * </blockquote>
-     * and the value of other keys may be empty.
-     */
-    public RegistrationData() {
-        this(Util.generateURN());
-    }
-    
-    // package private
-    RegistrationData(String urn) {
-        this.urn = urn;
-        SystemEnvironment sysEnv = SystemEnvironment.getSystemEnvironment();
-        this.environment = initEnvironment(sysEnv);
-        this.cpuInfo = initCpuInfo(sysEnv);
-        this.svcTagMap = new LinkedHashMap<String, ServiceTag>();
-    }
-    
-    private Map<String, String> initEnvironment(SystemEnvironment sysEnv) {
-        Map<String, String> map = new LinkedHashMap<String, String>();
-        map.put(ST_NODE_HOSTNAME, sysEnv.getHostname());
-        map.put(ST_NODE_HOST_ID, sysEnv.getHostId());
-        map.put(ST_NODE_OS_NAME, sysEnv.getOsName());
-        map.put(ST_NODE_OS_VERSION, sysEnv.getOsVersion());
-        map.put(ST_NODE_OS_ARCH, sysEnv.getOsArchitecture());
-        map.put(ST_NODE_SYSTEM_MODEL, sysEnv.getSystemModel());
-        map.put(ST_NODE_SYSTEM_MANUFACTURER, sysEnv.getSystemManufacturer());
-        map.put(ST_NODE_CPU_MANUFACTURER, sysEnv.getCpuManufacturer());
-        map.put(ST_NODE_SERIAL_NUMBER, sysEnv.getSerialNumber());
-        map.put(ST_NODE_PHYS_MEM, sysEnv.getPhysMem());
-        return map;
-    }  
-
-    private Map<String, String> initCpuInfo(SystemEnvironment sysEnv) {
-        Map<String, String> map = new LinkedHashMap<String, String>();
-        map.put(ST_NODE_SOCKETS, sysEnv.getSockets());
-        map.put(ST_NODE_CORES, sysEnv.getCores());
-        map.put(ST_NODE_VIRT_CPUS, sysEnv.getVirtCpus());
-        map.put(ST_NODE_CPU_NAME, sysEnv.getCpuName());
-        map.put(ST_NODE_CLOCK_RATE, sysEnv.getClockRate());
-        return map;
-    }  
-    
-    /**
-     * Returns the uniform resource name of this registration data
-     * in this format:
-     * <tt>urn:st:&lt;32-char {@link java.util.UUID uuid}&gt;</tt>
-     * 
-     * @return the URN of this registration data.
-     */
-    public String getRegistrationURN() {
-        return urn;
-    }
-
-    /**
-     * Returns a map containing the environment information for this
-     * registration data.  See the set of <a href="#EnvMap">keys</a>
-     * in the environment map. Subsequent update to the environment
-     * map via the {@link #setEnvironment setEnvironment} method will not be reflected
-     * in the returned map.
-     * 
-     * @return an environment map for this registration data. 
-     */
-    public Map<String, String> getEnvironmentMap() {
-        return new LinkedHashMap<String,String>(environment);
-    }
-
-    /**
-     * Returns a map containing the cpu information for this
-     * registration data.  Subsequent update to the cpu info
-     * map via the {@link #setCpuInfo setCpuInfo} method will not be reflected
-     * in the returned map.
-     *
-     * @return a cpu info map for this registration data.
-     */
-    public Map<String, String> getCpuInfoMap() {
-        return new LinkedHashMap<String,String>(cpuInfo);
-    }
-
-    /**
-     * Sets an element of the specified {@code name} in the environment map 
-     * with the given {@code value}.
-     * 
-     * @throws IllegalArgumentException if {@code name} is not a valid key
-     * in the environment map, or {@code value} is not valid.
-     */
-    public void setEnvironment(String name, String value) {    
-        if (name == null) {
-            throw new NullPointerException("name is null");
-        }
-        if (value == null) {
-            throw new NullPointerException("value is null");
-        }
-        if (environment.containsKey(name)) {
-            if (name.equals(ST_NODE_HOSTNAME) || name.equals(ST_NODE_OS_NAME)) {
-                if (value.length() == 0) {
-                    throw new IllegalArgumentException("\"" +
-                        name + "\" requires non-empty value.");
-                }
-            }
-            environment.put(name, value);
-        } else {
-            throw new IllegalArgumentException("\"" +
-                 name + "\" is not an environment element.");
-        }   
-    }
-
-    /**
-     * Sets an element of the specified {@code name} in the cpu info map
-     * with the given {@code value}.
-     *
-     * @throws IllegalArgumentException if {@code name} is not a valid key
-     * in the cpu info map, or {@code value} is not valid.
-     */
-    public void setCpuInfo(String name, String value) {    
-        if (name == null) {
-            throw new NullPointerException("name is null");
-        }
-        if (value == null) {
-            throw new NullPointerException("value is null");
-        }
-        if (cpuInfo.containsKey(name)) {
-            cpuInfo.put(name, value);
-        } else {
-            throw new IllegalArgumentException("\"" +
-                 name + "\" is not an cpuinfo element.");
-        }   
-    }
-
-    /**
-     * Returns all service tags in this registration data.
-     * 
-     * @return  a {@link Set Set} of the service tags
-     * in this registration data.
-     */
-    public Set<ServiceTag> getServiceTags() {
-        return new HashSet<ServiceTag>(svcTagMap.values());
-    }
-
-    /**
-     * Adds a service tag to this registration data. 
-     * If the given service tag has an empty <tt>instance_urn</tt>,
-     * this method will generate a URN and place it in the copy 
-     * of the service tag in this registration data. 
-     * This method will return the {@code ServiceTag} object
-     * added to this registration data.
-     * 
-     * @param st {@code ServiceTag} object to be added.
-     * @return a {@code ServiceTag} object added to this registration data.
-     * 
-     * @throws IllegalArgumentException if 
-     *   a service tag of the same {@link ServiceTag#getInstanceURN 
-     *   <tt>instance_urn</tt>} already exists in the registry.
-     */
-    public synchronized ServiceTag addServiceTag(ServiceTag st) {
-        ServiceTag svcTag = ServiceTag.newInstanceWithUrnTimestamp(st);
-        
-        String instanceURN = svcTag.getInstanceURN();
-        if (svcTagMap.containsKey(instanceURN)) {
-            throw new IllegalArgumentException("Instance_urn = " + instanceURN +
-                    " already exists in the registration data.");
-        } else {
-            svcTagMap.put(instanceURN, svcTag);
-        }
-        return svcTag;
-    }
-
-    /**
-     * Returns a service tag of the given <tt>instance_urn</tt> in this registration
-     * data.
-     *
-     * @param instanceURN the <tt>instance_urn</tt> of the service tag
-     * @return the {@code ServiceTag} object of the given  <tt>instance_urn</tt>
-     *         if exists; otherwise return {@code null}.
-     */
-    public synchronized ServiceTag getServiceTag(String instanceURN) {
-        if (instanceURN == null) {
-            throw new NullPointerException("instanceURN is null");
-        }
-        return svcTagMap.get(instanceURN);
-    }
-
-    /**
-     * Removes a service tag of the given <tt>instance_urn</tt> from this 
-     * registration data.
-     *
-     * @param instanceURN the <tt>instance_urn</tt> of 
-     * the service tag to be removed.
-     *
-     * @return the removed {@code ServiceTag} object;
-     * or {@code null} if the service tag does not exist in this 
-     * registration data.
-     */
-    public synchronized ServiceTag removeServiceTag(String instanceURN) {
-        if (instanceURN == null) {
-            throw new NullPointerException("instanceURN is null");
-        }
-
-        ServiceTag svcTag = null;
-        if (svcTagMap.containsKey(instanceURN)) {
-            svcTag = svcTagMap.remove(instanceURN);
-        }
-        return svcTag;
-    }
-
-     /**
-     * Updates the <tt>product_defined_instance_id</tt> in the service tag 
-     * of the given <tt>instance_urn</tt> in this registration data.
-     * 
-     * @param instanceURN the <tt>instance_urn</tt> of the service tag to be updated.
-     * @param productDefinedInstanceID the value of the
-     * <tt>product_defined_instance_id</tt> to be set.
-     * 
-     * @return the updated {@code ServiceTag} object;
-     * or {@code null} if the service tag does not exist in this 
-     * registration data.
-     */
-    public synchronized ServiceTag updateServiceTag(String instanceURN,
-                                                    String productDefinedInstanceID) {
-        ServiceTag svcTag = getServiceTag(instanceURN);
-        if (svcTag == null) {
-            return null;
-        }
-
-        svcTag = ServiceTag.newInstanceWithUrnTimestamp(svcTag);
-        // update the product defined instance ID field
-        svcTag.setProductDefinedInstanceID(productDefinedInstanceID);
-        svcTagMap.put(instanceURN, svcTag);
-        return svcTag;
-    }
-    
-    /**
-     * Reads the registration data from the XML document on the 
-     * specified input stream.  The XML document must be 
-     * in the format described by the <a href="#XMLSchema">
-     * registration data schema</a>.
-     * The specified stream is closed after this method returns.
-     * 
-     * @param in the input stream from which to read the XML document.
-     * @return a {@code RegistrationData} object read from the input
-     * stream.
-     * 
-     * @throws IllegalArgumentException if the input stream 
-     * contains an invalid registration data.
-     * 
-     * @throws IOException if an error occurred when reading from the input stream.
-     */
-    public static RegistrationData loadFromXML(InputStream in) throws IOException {
-        try {
-            return RegistrationDocument.load(in);
-        } finally {
-            in.close();
-        }
-    }
-    
-    /**
-     * Writes the registration data to the specified output stream 
-     * in the format described by the <a href="#XMLSchema">
-     * registration data schema</a> with "UTF-8" encoding.
-     * The specified stream remains open after this method returns.
-     * 
-     * @param os the output stream on which to write the XML document.
-     * 
-     * @throws IOException if an error occurred when writing to the output stream.
-     */
-    public void storeToXML(OutputStream os) throws IOException {
-        RegistrationDocument.store(os, this);
-        os.flush();
-    }
-
-    /** 
-     * Returns a newly allocated byte array containing the registration
-     * data in XML format.
-     *
-     * @return a newly allocated byte array containing the registration
-     * data in XML format.
-     */
-    public byte[] toXML() {
-        try {
-            ByteArrayOutputStream out = new ByteArrayOutputStream();
-            storeToXML(out);
-            return out.toByteArray();
-        } catch (IOException e) {
-            // should not reach here
-            return new byte[0];
-        }
-    }
-
-    /**
-     * Returns a string representation of this registration data in XML
-     * format.
-     * 
-     * @return a string representation of this registration data in XML
-     *         format.
-     */
-    @Override
-    public String toString() {
-        try {
-            ByteArrayOutputStream out = new ByteArrayOutputStream();
-            storeToXML(out);
-            return out.toString("UTF-8");
-        } catch (IOException e) {
-            // should not reach here
-            return "Error creating the return string.";
-        }
-    }
-}
diff --git a/desktop/source/registration/com/sun/star/servicetag/RegistrationDocument.java 
b/desktop/source/registration/com/sun/star/servicetag/RegistrationDocument.java
deleted file mode 100755
index 4bfa1aa..0000000
--- a/desktop/source/registration/com/sun/star/servicetag/RegistrationDocument.java
+++ /dev/null
@@ -1,440 +0,0 @@
-
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright 1997-2008 Sun Microsystems, Inc. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License. You can obtain
- * a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
- * or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
- * Sun designates this particular file as subject to the "Classpath" exception
- * as provided by Sun in the GPL Version 2 section of the License file that
- * accompanied this code.  If applicable, add the following below the License
- * Header, with the fields enclosed by brackets [] replaced by your own
- * identifying information: "Portions Copyrighted [year]
- * [name of copyright owner]"
- *
- * Contributor(s):
- *
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package com.sun.star.servicetag;
-
-import java.io.*;
-import java.net.URL;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-import org.xml.sax.InputSource;
-
-import javax.xml.XMLConstants;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.validation.Schema;
-import javax.xml.validation.SchemaFactory;
-import javax.xml.validation.Validator;
-
-// For write operation
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-/**
- * XML Support Class for Product Registration.
- */
-class RegistrationDocument {
-
-    private static final String REGISTRATION_DATA_SCHEMA =
-            "/com/sun/star/servicetag/resources/product_registration.xsd";
-    private static final String REGISTRATION_DATA_VERSION = "1.0";
-    private static final String SERVICE_TAG_VERSION = "1.0";
-    final static String ST_NODE_REGISTRATION_DATA = "registration_data";
-    final static String ST_ATTR_REGISTRATION_VERSION = "version";
-    final static String ST_NODE_ENVIRONMENT = "environment";
-    final static String ST_NODE_HOSTNAME = "hostname";
-    final static String ST_NODE_HOST_ID = "hostId";
-    final static String ST_NODE_OS_NAME = "osName";
-    final static String ST_NODE_OS_VERSION = "osVersion";
-    final static String ST_NODE_OS_ARCH = "osArchitecture";
-    final static String ST_NODE_SYSTEM_MODEL = "systemModel";
-    final static String ST_NODE_SYSTEM_MANUFACTURER = "systemManufacturer";
-    final static String ST_NODE_CPU_MANUFACTURER = "cpuManufacturer";
-    final static String ST_NODE_SERIAL_NUMBER = "serialNumber";
-    final static String ST_NODE_PHYS_MEM = "physmem";
-    final static String ST_NODE_CPU_INFO = "cpuinfo";
-    final static String ST_NODE_SOCKETS = "sockets";
-    final static String ST_NODE_CORES = "cores";
-    final static String ST_NODE_VIRT_CPUS = "virtcpus";
-    final static String ST_NODE_CPU_NAME = "name";
-    final static String ST_NODE_CLOCK_RATE = "clockrate";
-    final static String ST_NODE_REGISTRY = "registry";
-    final static String ST_ATTR_REGISTRY_URN = "urn";
-    final static String ST_ATTR_REGISTRY_VERSION = "version";
-    final static String ST_NODE_SERVICE_TAG = "service_tag";
-    final static String ST_NODE_INSTANCE_URN = "instance_urn";
-    final static String ST_NODE_PRODUCT_NAME = "product_name";
-    final static String ST_NODE_PRODUCT_VERSION = "product_version";
-    final static String ST_NODE_PRODUCT_URN = "product_urn";
-    final static String ST_NODE_PRODUCT_PARENT_URN = "product_parent_urn";
-    final static String ST_NODE_PRODUCT_PARENT = "product_parent";
-    final static String ST_NODE_PRODUCT_DEFINED_INST_ID = "product_defined_inst_id";
-    final static String ST_NODE_PRODUCT_VENDOR = "product_vendor";
-    final static String ST_NODE_PLATFORM_ARCH = "platform_arch";
-    final static String ST_NODE_TIMESTAMP = "timestamp";
-    final static String ST_NODE_CONTAINER = "container";
-    final static String ST_NODE_SOURCE = "source";
-    final static String ST_NODE_INSTALLER_UID = "installer_uid";
-
-    static RegistrationData load(InputStream in) throws IOException {
-        Document document = initializeDocument(in);
-        
-        // Gets the registration URN
-        Element root = getRegistrationDataRoot(document);
-        Element registryRoot =
-                getSingletonElementFromRoot(root, ST_NODE_REGISTRY);
-        String urn = registryRoot.getAttribute(ST_ATTR_REGISTRY_URN);
-        
-        // Construct a new RegistrationData object from the DOM tree
-        // Initialize the environment map and service tags
-        RegistrationData regData = new RegistrationData(urn);
-        addServiceTags(registryRoot, regData);
-
-        Element envRoot = getSingletonElementFromRoot(root, ST_NODE_ENVIRONMENT);
-        buildEnvironmentMap(envRoot, regData);
-
-        Element cpuInfo = getSingletonElementFromRoot(envRoot, ST_NODE_CPU_INFO);
-        buildCpuInfoMap(cpuInfo, regData);
-        return regData;
-    }
-
-    static void store(OutputStream os, RegistrationData registration) 
-            throws IOException {
-        // create a new document with the root node
-        Document document = initializeDocument();
-
-        // create the nodes for the environment map and the service tags
-        // in the registration data
-        addEnvironmentNodes(document,
-                            registration.getEnvironmentMap(),
-                            registration.getCpuInfoMap());
-        addServiceTagRegistry(document, 
-                              registration.getRegistrationURN(),
-                              registration.getServiceTags());
-        transform(document, os);
-    }
-
-    // initialize a document from an input stream 
-    private static Document initializeDocument(InputStream in) throws IOException {
-        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-        SchemaFactory sf = null;
-        try {
-            // Some Java versions (e.g., 1.5.0_06-b05) fail with a
-            // NullPointerException if SchemaFactory.newInstance is called with
-            // a null context class loader, so work around that here (and the
-            // class loader of this class hopefully is not the null bootstrap
-            // class loader):
-            ClassLoader cl = Thread.currentThread().getContextClassLoader();
-            if (cl == null) {
-                Thread.currentThread().setContextClassLoader(
-                    RegistrationDocument.class.getClassLoader());
-            }
-            try {
-               sf = SchemaFactory.newInstance(
-                   XMLConstants.W3C_XML_SCHEMA_NS_URI);
-            } finally {
-               Thread.currentThread().setContextClassLoader(cl);
-            }
-
-            Schema schema = null;
-            try {
-                // Even using the workaround above is not enough on some
-                // Java versions. Therefore try to workaround the validation
-                // completely!
-                URL xsdUrl = RegistrationDocument.class.getResource(REGISTRATION_DATA_SCHEMA);
-                schema = sf.newSchema(xsdUrl);
-            }
-        catch (NullPointerException nex) {
-        }
-            
-            Validator validator = null;
-            if (schema != null)
-                validator = schema.newValidator();
-
-            DocumentBuilder builder = factory.newDocumentBuilder();
-            Document doc = builder.parse(new InputSource(in));
-            
-            if (validator != null)
-                validator.validate(new DOMSource(doc));
-            
-            return doc;
-        } catch (SAXException sxe) {
-            IllegalArgumentException e = new IllegalArgumentException("Error generated in 
parsing");
-            e.initCause(sxe);
-            throw e;
-        } catch (ParserConfigurationException pce) {
-            // Parser with specific options can't be built
-            // should not reach here
-            InternalError x = new InternalError("Error in creating the new document");
-            x.initCause(pce);
-            throw x;
-        }
-    }
-
-    // initialize a new document for the registration data
-    private static Document initializeDocument() throws IOException {
-        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-        try {
-            DocumentBuilder builder = factory.newDocumentBuilder();
-            Document doc = builder.newDocument();
-
-            // initialize the document with the registration_data root
-            Element root = doc.createElement(ST_NODE_REGISTRATION_DATA);
-            doc.appendChild(root);
-            root.setAttribute(ST_ATTR_REGISTRATION_VERSION, REGISTRATION_DATA_VERSION);
-
-            return doc;
-        } catch (ParserConfigurationException pce) {
-            // Parser with specified options can't be built
-            // should not reach here
-            InternalError x = new InternalError("Error in creating the new document");
-            x.initCause(pce);
-            throw x;
-        }
-    }
-
-    // Transform the current DOM tree with the given output stream.
-    private static void transform(Document document, OutputStream os) {
-        try {
-            // Use a Transformer for output
-            TransformerFactory tFactory = TransformerFactory.newInstance();
-            tFactory.setAttribute("indent-number", new Integer(3));
-
-            Transformer transformer = tFactory.newTransformer();
-
-            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
-            transformer.setOutputProperty(OutputKeys.METHOD, "xml");
-            transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
-            transformer.setOutputProperty(OutputKeys.STANDALONE, "yes");
-            transformer.transform(new DOMSource(document),
-                new StreamResult(new BufferedWriter(new OutputStreamWriter(os, "UTF-8"))));
-        } catch (UnsupportedEncodingException ue) {
-            // Should not reach here
-            InternalError x = new InternalError("Error generated during transformation");
-            x.initCause(ue);
-            throw x;
-        } catch (TransformerConfigurationException tce) {
-            // Error generated by the parser
-            // Should not reach here
-            InternalError x = new InternalError("Error in creating the new document");
-            x.initCause(tce);
-            throw x;
-        } catch (TransformerException te) {
-            // Error generated by the transformer
-            InternalError x = new InternalError("Error generated during transformation");
-            x.initCause(te);
-            throw x;
-        }
-    }
-
-    private static void addServiceTagRegistry(Document document, 
-                                              String registryURN,
-                                              Set<ServiceTag> svcTags) {
-        // add service tag registry node and its attributes
-        Element reg = document.createElement(ST_NODE_REGISTRY);
-        reg.setAttribute(ST_ATTR_REGISTRY_URN, registryURN);
-        reg.setAttribute(ST_ATTR_REGISTRY_VERSION, SERVICE_TAG_VERSION);
-        
-        Element root = getRegistrationDataRoot(document);
-        root.appendChild(reg);
-        
-        // adds the elements for the service tags
-        for (ServiceTag st : svcTags) {
-            addServiceTagElement(document, reg, st);
-        }
-    }
-
-    private static void addServiceTagElement(Document document, 
-                                             Element registryRoot,
-                                             ServiceTag st) {
-        Element svcTag = document.createElement(ST_NODE_SERVICE_TAG);
-        registryRoot.appendChild(svcTag);
-        addChildElement(document, svcTag,
-                        ST_NODE_INSTANCE_URN, st.getInstanceURN());
-        addChildElement(document, svcTag,
-                        ST_NODE_PRODUCT_NAME, st.getProductName());
-        addChildElement(document, svcTag,
-                        ST_NODE_PRODUCT_VERSION, st.getProductVersion());
-        addChildElement(document, svcTag,
-                        ST_NODE_PRODUCT_URN, st.getProductURN());
-        addChildElement(document, svcTag,
-                        ST_NODE_PRODUCT_PARENT_URN, st.getProductParentURN());
-        addChildElement(document, svcTag,
-                        ST_NODE_PRODUCT_PARENT, st.getProductParent());
-        addChildElement(document, svcTag,
-                        ST_NODE_PRODUCT_DEFINED_INST_ID,
-                        st.getProductDefinedInstanceID());
-        addChildElement(document, svcTag,
-                        ST_NODE_PRODUCT_VENDOR, st.getProductVendor());
-        addChildElement(document, svcTag,
-                        ST_NODE_PLATFORM_ARCH, st.getPlatformArch());
-        addChildElement(document, svcTag,
-                        ST_NODE_TIMESTAMP, Util.formatTimestamp(st.getTimestamp()));
-        addChildElement(document, svcTag,
-                        ST_NODE_CONTAINER, st.getContainer());
-        addChildElement(document, svcTag,
-                        ST_NODE_SOURCE, st.getSource());
-        addChildElement(document, svcTag,
-                        ST_NODE_INSTALLER_UID,
-                        String.valueOf(st.getInstallerUID()));
-    }
-
-    private static void addChildElement(Document document, Element root,
-                                        String element, String text) {
-        Element node = document.createElement(element);
-        node.appendChild(document.createTextNode(text));
-        root.appendChild(node);
-    }
-
-    // Constructs service tags from the document
-    private static void addServiceTags(Element registryRoot,
-                                       RegistrationData registration) {
-        NodeList children = registryRoot.getElementsByTagName(ST_NODE_SERVICE_TAG);
-        int length = (children == null ? 0 : children.getLength());
-        for (int i = 0; i < length; i++) {
-            Element svcTagElement = (Element) children.item(i);
-            ServiceTag st = getServiceTag(svcTagElement);
-            registration.addServiceTag(st);
-        }
-    }
-
-    // build environment map from the document
-    private static void buildEnvironmentMap(Element envRoot, 
-                                         RegistrationData registration) {
-        registration.setEnvironment(ST_NODE_HOSTNAME, getTextValue(envRoot, ST_NODE_HOSTNAME));
-        registration.setEnvironment(ST_NODE_HOST_ID, getTextValue(envRoot, ST_NODE_HOST_ID));
-        registration.setEnvironment(ST_NODE_OS_NAME, getTextValue(envRoot, ST_NODE_OS_NAME));
-        registration.setEnvironment(ST_NODE_OS_VERSION, getTextValue(envRoot, ST_NODE_OS_VERSION));
-        registration.setEnvironment(ST_NODE_OS_ARCH, getTextValue(envRoot, ST_NODE_OS_ARCH));
-        registration.setEnvironment(ST_NODE_SYSTEM_MODEL, getTextValue(envRoot, 
ST_NODE_SYSTEM_MODEL));
-        registration.setEnvironment(ST_NODE_SYSTEM_MANUFACTURER, getTextValue(envRoot, 
ST_NODE_SYSTEM_MANUFACTURER));
-        registration.setEnvironment(ST_NODE_CPU_MANUFACTURER, getTextValue(envRoot, 
ST_NODE_CPU_MANUFACTURER));
-        registration.setEnvironment(ST_NODE_SERIAL_NUMBER, getTextValue(envRoot, 
ST_NODE_SERIAL_NUMBER));
-        registration.setEnvironment(ST_NODE_PHYS_MEM, getTextValue(envRoot, ST_NODE_PHYS_MEM));
-    }
-
-    private static void buildCpuInfoMap(Element cpuInfoRoot, 
-                                         RegistrationData registration) {
-        registration.setCpuInfo(ST_NODE_SOCKETS, getTextValue(cpuInfoRoot, ST_NODE_SOCKETS));
-        registration.setCpuInfo(ST_NODE_CORES, getTextValue(cpuInfoRoot, ST_NODE_CORES));
-        registration.setCpuInfo(ST_NODE_VIRT_CPUS, getTextValue(cpuInfoRoot, ST_NODE_VIRT_CPUS));
-        registration.setCpuInfo(ST_NODE_CPU_NAME, getTextValue(cpuInfoRoot, ST_NODE_CPU_NAME));
-        registration.setCpuInfo(ST_NODE_CLOCK_RATE, getTextValue(cpuInfoRoot, ST_NODE_CLOCK_RATE));
-    }
-
-    // add the nodes representing the environment map in the document
-    private static void addEnvironmentNodes(Document document,
-                                            Map<String, String> envMap,
-                                            Map<String, String> cpuInfoMap) {
-        Element root = getRegistrationDataRoot(document);
-
-        Element env = document.createElement(ST_NODE_ENVIRONMENT);
-        root.appendChild(env);
-        Set<Map.Entry<String, String>> keys = envMap.entrySet();
-        for (Map.Entry<String, String> entry : keys) {
-            addChildElement(document, env, entry.getKey(), entry.getValue());
-        }
-
-        Element cpuInfo = document.createElement(ST_NODE_CPU_INFO);
-        env.appendChild(cpuInfo);
-        keys = cpuInfoMap.entrySet();
-        for (Map.Entry<String, String> entry : keys) {
-            addChildElement(document, cpuInfo, entry.getKey(), entry.getValue());
-        }
-    }
-
-    private static Element getRegistrationDataRoot(Document doc) {
-        Element root = doc.getDocumentElement();
-        if (!root.getNodeName().equals(ST_NODE_REGISTRATION_DATA)) {
-            throw new IllegalArgumentException("Not a " + 
-                    ST_NODE_REGISTRATION_DATA +
-                    " node \"" + root.getNodeName() + "\"");
-        }
-        return root;
-    }
-
-    private static Element getSingletonElementFromRoot(Element root, String name) {
-        NodeList children = root.getElementsByTagName(name);
-        int length = (children == null ? 0 : children.getLength());
-        if (length != 1) {
-            throw new IllegalArgumentException("Invalid number of " + name +
-                    " nodes = " + length);
-        }
-        Element e = (Element) children.item(0);
-        if (!e.getNodeName().equals(name)) {
-            throw new IllegalArgumentException("Not a  " + name +
-                    " node \"" + e.getNodeName() + "\"");
-        }
-        return e;
-    }
-
-    // Constructs one ServiceTag instance from a service tag element root
-    private static ServiceTag getServiceTag(Element svcTagElement) {
-        return new ServiceTag(
-            getTextValue(svcTagElement, ST_NODE_INSTANCE_URN),
-            getTextValue(svcTagElement, ST_NODE_PRODUCT_NAME),
-            getTextValue(svcTagElement, ST_NODE_PRODUCT_VERSION),
-            getTextValue(svcTagElement, ST_NODE_PRODUCT_URN),
-            getTextValue(svcTagElement, ST_NODE_PRODUCT_PARENT),
-            getTextValue(svcTagElement, ST_NODE_PRODUCT_PARENT_URN),
-            getTextValue(svcTagElement, ST_NODE_PRODUCT_DEFINED_INST_ID),
-            getTextValue(svcTagElement, ST_NODE_PRODUCT_VENDOR),
-            getTextValue(svcTagElement, ST_NODE_PLATFORM_ARCH),
-            getTextValue(svcTagElement, ST_NODE_CONTAINER),
-            getTextValue(svcTagElement, ST_NODE_SOURCE),   
-            Util.getIntValue(getTextValue(svcTagElement, ST_NODE_INSTALLER_UID)),
-            Util.parseTimestamp(getTextValue(svcTagElement, ST_NODE_TIMESTAMP))
-        );
-    }
-
-    private static String getTextValue(Element e, String tagName) {
-        String value = "";
-        NodeList nl = e.getElementsByTagName(tagName);
-        if (nl != null && nl.getLength() > 0) {
-            Element el = (Element) nl.item(0);
-            Node node = el.getFirstChild();
-            if (node != null) {
-                value = node.getNodeValue();
-            }
-        }
-        return value;
-    }
-}
diff --git a/desktop/source/registration/com/sun/star/servicetag/Registry.java 
b/desktop/source/registration/com/sun/star/servicetag/Registry.java
deleted file mode 100755
index 57a9452..0000000
--- a/desktop/source/registration/com/sun/star/servicetag/Registry.java
+++ /dev/null
@@ -1,553 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-package com.sun.star.servicetag;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Properties;
-import java.util.Set;
-
-import static com.sun.star.servicetag.Util.*;
-import static com.sun.star.servicetag.RegistrationDocument.*;
-
-/**
- * A service tag registry is a XML-based registry containing 
- * the list of {@link ServiceTag service tags} installed in the system.
- * The {@code Registry} class provides interfaces 
- * to add, remove, update, and get a service tag from a service tag
- * registry.
- * This {@code Registry} class may not be supported
- * on all systems. The {@link #isSupported} method 
- * can be called to determine if it is supported.
- * <p>
- * A registry may implement restrictions to only allow certain users
- * to {@link #updateServiceTag update} and 
- * to {@link #removeServiceTag remove} a service tag record. Typically, 
- * only the owner of the service tag, the owner of the registry
- * and superuser are authorized to update or remove a service tag in 
- * the registry.
- *
- * @see <a 
href="https://sn-tools.central.sun.com/twiki/bin/view/ServiceTags/ServiceTagDevGuideHelper";>
- * Service Tag User Guide</a>
- */
-public class Registry {
-
-    private static final String STCLIENT_SOLARIS = "/usr/bin/stclient";
-    private static final String STCLIENT_LINUX = "/opt/sun/servicetag/bin/stclient";
-    // stclient exit value (see sthelper.h)
-    private static final int ST_ERR_NOT_AUTH = 245;
-    private static final int ST_ERR_REC_NOT_FOUND = 225;
-
-    // The stclient output has to be an exported interface
-    private static final String INSTANCE_URN_DESC = "Product instance URN=";
-    private static boolean initialized = false;
-    private static boolean supportsHelperClass = true; // default
-    private static File stclient = null;
-    private static String stclientPath = null;
-    private static Registry registry = new Registry();
-
-    // System properties for testing
-    private static String SVCTAG_STCLIENT_CMD = "servicetag.stclient.cmd";
-    private static String SVCTAG_STHELPER_SUPPORTED = "servicetag.sthelper.supported";
-
-    private Registry() {
-    }
-
-    private synchronized static String getSTclient() {
-        if (!initialized) {
-            // the system property always overrides the default setting
-            if (System.getProperty(SVCTAG_STHELPER_SUPPORTED) != null) {
-                supportsHelperClass = Boolean.getBoolean(SVCTAG_STHELPER_SUPPORTED);
-            }
-
-            // This is only used for testing
-            stclientPath = System.getProperty(SVCTAG_STCLIENT_CMD);         
-            if (stclientPath != null) {
-                return stclientPath;
-            }
-
-            // Initialization to determine the platform's stclient pathname
-            String os = System.getProperty("os.name");
-            if (os.equals("SunOS")) {
-                stclient = new File(STCLIENT_SOLARIS);
-            } else if (os.equals("Linux")) {
-                stclient = new File(STCLIENT_LINUX);
-            } else if (os.startsWith("Windows")) {
-        stclient = getWindowsStClientFile();
-            } else {
-                if (isVerbose()) {
-                    System.out.println("Running on non-Sun JDK");
-                }
-            }
-            initialized = true;
-        }
-
-        // com.sun.servicetag package has to be compiled with JDK 5 as well
-        // JDK 5 doesn't support the File.canExecute() method.
-        // Risk not checking isExecute() for the stclient command is very low.
-
-        if (stclientPath == null && stclient != null && stclient.exists()) {
-            stclientPath = stclient.getAbsolutePath();
-        }
-        return stclientPath;
-    }
-
-    /**
-     * Returns the system service tag registry. The {@code Registry} class 
-     * may not be supported on some platforms; use the {@link #isSupported}
-     * method to determine if it is supported.
-     *
-     * @return the {@code Registry} object for the system service tag registry.
-     *
-     * @throws UnsupportedOperationException if the {@code Registry} class is 
-     * not supported.
-     */
-    public static Registry getSystemRegistry() {
-        if (isSupported()) { 
-            return registry;
-        } else {
-            throw new UnsupportedOperationException("Registry class is not supported");
-        }
-    }
-
-    /**
-     * Returns {@code true} if the {@code Registry} class is supported on this system.
-     * 
-     * @return {@code true} if the {@code Registry} class is supported; 
-     * otherwise, return {@code false}.
-     */
-    public static boolean isSupported() {
-        return (getSTclient() != null && supportsHelperClass);
-    }
-
-    private static List<String> getCommandList() {
-        // Set up the arguments to call stclient
-        List<String> command = new ArrayList<String>();
-        if (System.getProperty(SVCTAG_STCLIENT_CMD) != null) {
-            // This is for jtreg testing use. This will be set to something
-            // like:
-            // $JAVA_HOME/bin/java -cp $TEST_DIR \
-            //    -Dstclient.registry.path=$TEST_DIR/registry.xml \
-            //    SvcTagClient
-            // On Windows, the JAVA_HOME and TEST_DIR path could contain
-            // space e.g. c:\Program Files\Java\jdk1.6.0_05\bin\java. 
-            // The SVCTAG_STCLIENT_CMD must be set with a list of 
-            // space-separated parameters.  If a parameter contains spaces,
-            // it must be quoted with '"'.
-
-            String cmd = getSTclient();
-            int len = cmd.length();
-            int i = 0;
-            while (i < len) {
-                char separator = ' ';
-                if (cmd.charAt(i) == '"') {
-                    separator = '"';
-                    i++;
-                }
-                // look for the separator or matched the closing '"'
-                int j;
-                for (j = i+1; j < len; j++) {
-                    if (cmd.charAt(j) == separator) {
-                        break;
-                    } 
-                }
-
-                if (i == j-1) {
-                    // add an empty parameter
-                    command.add("\"\"");
-                } else {
-                    // double quotes and space are not included
-                    command.add(cmd.substring(i,j));
-                }
-
-                // skip spaces
-                for (i = j+1; i < len; i++) {
-                    if (!Character.isSpaceChar(cmd.charAt(i))) {
-                        break;
-                    }
-                }
-            }
-            if (isVerbose()) {
-                System.out.println("Command list:");
-                for (String s : command) {
-                    System.out.println(s);
-                }
-            }
-        } else { 
-            command.add(getSTclient());
-        }
-        return command;
-    }
-
-    // Returns null if the service tag record not found;
-    // or throw UnauthorizedAccessException or IOException
-    // based on the exitValue.
-    private static ServiceTag checkReturnError(int exitValue, 
-                                               String output,
-                                               ServiceTag st) throws IOException {
-        switch (exitValue) {
-            case ST_ERR_REC_NOT_FOUND:
-                return null;
-            case ST_ERR_NOT_AUTH:
-                if (st != null) {
-                    throw new UnauthorizedAccessException(
-                        "Not authorized to access " + st.getInstanceURN() + 
-                        " installer_uid=" + st.getInstallerUID());
-                } else  {
-                    throw new UnauthorizedAccessException(
-                        "Not authorized:" + output); 
-                }
-            default: 
-                throw new IOException("stclient exits with error" +
-                     " (" + exitValue + ")\n" + output); 
-        }
-    }
-
-    /**
-     * Adds a service tag to this registry.
-     * If the given service tag has an empty <tt>instance_urn</tt>,
-     * this helper class will generate a URN and place it in the
-     * copy of the service tag in this registry.
-     * This method will return the {@code ServiceTag} representing
-     * the service tag entry to this registry.
-     * 
-     * @param st {@code ServiceTag} object
-     * @return a {@code ServiceTag} object representing the service tag
-     *         entry to this registry.
-     * 
-     * @throws IllegalArgumentException if a service tag of the same
-     * <tt>instance_urn</tt> already exists in this registry.
-     * 
-     * @throws java.io.IOException if an I/O error occurs in this operation.
-     */
-    public ServiceTag addServiceTag(ServiceTag st) throws IOException {
-        List<String> command = getCommandList();
-        command.add("-a");
-        if (st.getInstanceURN().length() > 0) {
-            ServiceTag sysSvcTag = getServiceTag(st.getInstanceURN());
-            if (sysSvcTag != null) {
-                throw new IllegalArgumentException("Instance_urn = " + 
-                    st.getInstanceURN() + " already exists");
-            }
-            command.add("-i");
-            command.add(st.getInstanceURN());
-        }
-        command.add("-p");
-        command.add(st.getProductName());
-        command.add("-e");
-        command.add(st.getProductVersion());
-        command.add("-t");
-        command.add(st.getProductURN());
-        if (st.getProductParentURN().length() > 0) {
-            command.add("-F");
-            command.add(st.getProductParentURN());
-        }
-        command.add("-P");
-        command.add(st.getProductParent());
-        if (st.getProductDefinedInstanceID().length() > 0) {
-            command.add("-I");
-            command.add(st.getProductDefinedInstanceID());
-        }
-        command.add("-m");
-        command.add(st.getProductVendor());
-        command.add("-A");
-        command.add(st.getPlatformArch());
-        command.add("-z");
-        command.add(st.getContainer());
-        command.add("-S");
-        command.add(st.getSource());
-
-        BufferedReader in = null;
-        try {
-            ProcessBuilder pb = new ProcessBuilder(command);
-            Process p = pb.start();
-            String output = commandOutput(p);
-            if (isVerbose()) {
-                System.out.println("Output from stclient -a command:");
-                System.out.println(output);
-            }
-            String urn = "";
-            if (p.exitValue() == 0) {
-                // Obtain the instance urn from the stclient output
-                in = new BufferedReader(new StringReader(output));
-                String line = null;
-                while ((line = in.readLine()) != null) {
-                    line = line.trim();
-                    if (line.startsWith(INSTANCE_URN_DESC)) {
-                        urn = line.substring(INSTANCE_URN_DESC.length());
-                        break;
-                    }
-                }
-                if (urn.length() == 0) {
-                    throw new IOException("Error in creating service tag:\n" +
-                        output);
-                }
-                return getServiceTag(urn);
-            } else {
-                return checkReturnError(p.exitValue(), output, st);
-            } 
-        } finally {
-            if (in != null) {
-                in.close();
-            }
-        }
-    }
-
-    /**
-     * Removes a service tag of the given <tt>instance_urn</tt> from this
-     * registry. 
-     *
-     * @param instanceURN the <tt>instance_urn</tt> of the service tag 
-     *        to be removed.
-     * 
-     * @return the {@code ServiceTag} object removed from this registry;
-     * or {@code null} if the service tag does not exist in this registry. 
-     * 
-     * @throws UnauthorizedAccessException if the user is not authorized to 
-     * remove the service tag of the given <tt>instance_urn</tt> 
-     * from this registry.
-     *
-     * @throws java.io.IOException if an I/O error occurs in this operation.
-     */
-    public ServiceTag removeServiceTag(String instanceURN) throws IOException {
-        ServiceTag st = getServiceTag(instanceURN);
-        if (st == null) {
-            return null;
-        }
-
-        List<String> command = getCommandList();
-        command.add("-d");
-        command.add("-i");
-        command.add(instanceURN);
-
-        ProcessBuilder pb = new ProcessBuilder(command);
-        Process p = pb.start();
-        String output = commandOutput(p);
-        if (isVerbose()) {
-            System.out.println("Output from stclient -d command:");
-            System.out.println(output);
-        }
-        if (p.exitValue() == 0) {
-            return st;
-        } else {
-            return checkReturnError(p.exitValue(), output, st);
-        }
-    }
-
-    /**
-     * Updates the <tt>product_defined_instance_id</tt> in the service tag 
-     * of the specified <tt>instance_urn</tt> in this registry.
-     * 
-     * @param instanceURN the <tt>instance_urn</tt> of the service tag to be updated.
-     * @param productDefinedInstanceID the value of the 
-     * <tt>product_defined_instance_id</tt> to be set.
-     * 
-     * @return the updated {@code ServiceTag} object;
-     * or {@code null} if the service tag does not exist in this
-     * registry.
-     *
-     * @throws UnauthorizedAccessException if the user is not authorized to 
-     * update the service tag from this registry.
-     *
-     * @throws IOException if an I/O error occurs in this operation.
-     */
-    public ServiceTag updateServiceTag(String instanceURN,
-                                       String productDefinedInstanceID) 
-            throws IOException {
-        ServiceTag svcTag = getServiceTag(instanceURN);
-        if (svcTag == null) {
-            return null;
-        }
-
-        List<String> command = getCommandList();
-        command.add("-u");
-        command.add("-i");
-        command.add(instanceURN);
-        command.add("-I");
-        if (productDefinedInstanceID.length() > 0) {
-            command.add(productDefinedInstanceID);
-        } else {
-            command.add("\"\"");
-        }
-
-        ProcessBuilder pb = new ProcessBuilder(command);
-        Process p = pb.start();
-        String output = commandOutput(p);
-        if (isVerbose()) {
-            System.out.println("Output from stclient -u command:");
-            System.out.println(output);
-        }
-
-        if (p.exitValue() == 0) {
-            return getServiceTag(instanceURN);
-        } else {
-            return checkReturnError(p.exitValue(), output, svcTag);
-        }
-    }
-
-    /**
-     * Returns a {@code ServiceTag} object of the given  <tt>instance_urn</tt>
-     * in this registry.
-     * 
-     * @param instanceURN the  <tt>instance_urn</tt> of the service tag
-     * @return a {@code ServiceTag} object of the given <tt>instance_urn</tt>
-     * in this registry; or {@code null} if not found.
-     * 
-     * @throws java.io.IOException if an I/O error occurs in this operation.
-     */
-    public ServiceTag getServiceTag(String instanceURN) throws IOException {
-        if (instanceURN == null) {
-            throw new NullPointerException("instanceURN is null");
-        }
-
-        List<String> command = getCommandList();
-        command.add("-g");
-        command.add("-i");
-        command.add(instanceURN);
-
-        ProcessBuilder pb = new ProcessBuilder(command);
-        Process p = pb.start();
-        String output = commandOutput(p);
-        if (isVerbose()) {
-            System.out.println("Output from stclient -g command:");
-            System.out.println(output);
-        }
-        if (p.exitValue() == 0) {
-            return parseServiceTag(output);
-        } else {
-            return checkReturnError(p.exitValue(), output, null);
-        }
-    }
-
-    private ServiceTag parseServiceTag(String output) throws IOException {
-        BufferedReader in = null;
-        try {
-            Properties props = new Properties();
-            // parse the service tag output from stclient
-            in = new BufferedReader(new StringReader(output));
-            String line = null;
-            while ((line = in.readLine()) != null) {
-                if ((line = line.trim()).length() > 0) {
-                    String[] ss = line.trim().split("=", 2);
-                    if (ss.length == 2) {
-                        props.setProperty(ss[0].trim(), ss[1].trim());
-                    } else {
-                        props.setProperty(ss[0].trim(), "");
-                    }
-                }
-            }
-
-            String urn = props.getProperty(ST_NODE_INSTANCE_URN);
-            String productName = props.getProperty(ST_NODE_PRODUCT_NAME);
-            String productVersion = props.getProperty(ST_NODE_PRODUCT_VERSION);
-            String productURN = props.getProperty(ST_NODE_PRODUCT_URN);
-            String productParent = props.getProperty(ST_NODE_PRODUCT_PARENT);
-            String productParentURN = props.getProperty(ST_NODE_PRODUCT_PARENT_URN);
-            String productDefinedInstanceID =
-                props.getProperty(ST_NODE_PRODUCT_DEFINED_INST_ID);
-            String productVendor = props.getProperty(ST_NODE_PRODUCT_VENDOR);
-            String platformArch = props.getProperty(ST_NODE_PLATFORM_ARCH);
-            String container = props.getProperty(ST_NODE_CONTAINER);
-            String source = props.getProperty(ST_NODE_SOURCE);
-            int installerUID =
-                Util.getIntValue(props.getProperty(ST_NODE_INSTALLER_UID));
-            Date timestamp =
-                Util.parseTimestamp(props.getProperty(ST_NODE_TIMESTAMP));
-
-            return new ServiceTag(urn,
-                                  productName,
-                                  productVersion,
-                                  productURN,
-                                  productParent,
-                                  productParentURN,
-                                  productDefinedInstanceID,
-                                  productVendor,
-                                  platformArch,
-                                  container,
-                                  source,
-                                  installerUID,
-                                  timestamp);
-        } finally {
-            if (in != null) {
-                in.close();
-            }
-        }
-
-    }
-
-    /**
-     * Returns the service tags of the specified 
-     * <tt>product_urn</tt> in this registry.
-     * 
-     * @param productURN the  <tt>product_urn</tt> to look up
-     * @return a {@code Set} of {@code ServiceTag} objects
-     * of the specified <tt>product_urn</tt> in this registry.
-     * 
-     * @throws java.io.IOException if an I/O error occurs in this operation.
-     */
-    public Set<ServiceTag> findServiceTags(String productURN) throws IOException {
-        if (productURN == null) {
-            throw new NullPointerException("productURN is null");
-        }
-
-        List<String> command = getCommandList();
-        command.add("-f");
-        command.add("-t");
-        command.add(productURN);
-
-        BufferedReader in = null;
-        try {
-            ProcessBuilder pb = new ProcessBuilder(command);
-            Process p = pb.start();
-            String output = commandOutput(p);
-
-            Set<ServiceTag> instances = new HashSet<ServiceTag>();
-            if (p.exitValue() == 0) {
-                // parse the service tag output from stclient
-                in = new BufferedReader(new StringReader(output));
-                String line = null;
-                while ((line = in.readLine()) != null) {
-                    String s = line.trim();
-                    if (s.startsWith("urn:st:")) {
-                        instances.add(getServiceTag(s));
-                    }
-                }
-            } else {
-                checkReturnError(p.exitValue(), output, null);
-            }
-            return instances;
-        } finally {
-            if (in != null) {
-                in.close();
-            }
-        }
-    }
-}
diff --git a/desktop/source/registration/com/sun/star/servicetag/ServiceTag.java 
b/desktop/source/registration/com/sun/star/servicetag/ServiceTag.java
deleted file mode 100755
index cbaf44e..0000000
--- a/desktop/source/registration/com/sun/star/servicetag/ServiceTag.java
+++ /dev/null
@@ -1,636 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-package com.sun.star.servicetag;
-
-import java.util.Date;
-import java.io.IOException;
-import static com.sun.star.servicetag.RegistrationDocument.*;
-
-/**
- * A service tag is an XML-based data structure that identifies a product or 
- * a component on a system. The service tag schema is defined by the 
- * Service Tags Technology. The location of the DTD file is platform dependent.
- * On Solaris, see <tt>/usr/share/lib/xml/dtd/servicetag.dtd</tt>.
- * <p>
- * A valid {@code ServiceTag} instance must comply to the service tag schema
- * and contain the following fields:
- * <ul>
- *   <li>{@link #getInstanceURN <tt>instance_urn</tt>}</li>
- *   <li>{@link #getProductName <tt>product_name</tt>}</li>
- *   <li>{@link #getProductVersion <tt>product_version</tt>}</li>
- *   <li>{@link #getProductURN <tt>product_urn</tt>}</li>
- *   <li>{@link #getProductParent <tt>product_parent</tt>}</li>
- *   <li>{@link #getProductParentURN <tt>product_parent_urn</tt>}</li>
- *   <li>{@link #getProductDefinedInstanceID <tt>product_defined_inst_id</tt>}</li>
- *   <li>{@link #getProductVendor <tt>product_vendor</tt>}</li>
- *   <li>{@link #getPlatformArch <tt>platform_arch</tt>}</li>
- *   <li>{@link #getContainer <tt>container</tt>}</li>
- *   <li>{@link #getSource <tt>source</tt>}</li>
- *   <li>{@link #getInstallerUID <tt>installer_uid</tt>}</li>
- *   <li>{@link #getTimestamp <tt>timestamp</tt>}</li>
- * </ul>
- * 
- * The <tt>instance_urn</tt> can be specified when a {@code ServiceTag} 
- * object is created, or it can be generated when it is added to
- * a {@link RegistrationData} object, or {@link Registry
- * system service tag registry}. The <tt>installer_uid</tt> and 
- * <tt>timestamp</tt> are set when a {@code ServiceTag} object
- * is added to a {@link RegistrationData} object, or {@link Registry
- * system service tag registry}.
- * 
- * @see <a href="https://sunconnection.sun.com/FAQ/sc_faq.html";>Service Tags FAQ</a>
- */
-public class ServiceTag {
-
-    private String instanceURN;
-    private String productName;
-    private String productVersion;
-    private String productURN;
-    private String productParent;
-    private String productParentURN;        
-    private String productDefinedInstanceID;
-    private String productVendor;
-    private String platformArch;
-    private String container;
-    private String source;
-    private int installerUID;
-    private Date timestamp;
-
-    // Service Tag Field Lengths (defined in sthelper.h)
-    // Since the constants defined in sthelper.h includes the null-terminated 
-    // character, so minus 1 from the sthelper.h defined values.
-    private final int MAX_URN_LEN             = 256 - 1;
-    private final int MAX_PRODUCT_NAME_LEN    = 256 - 1;
-    private final int MAX_PRODUCT_VERSION_LEN = 64 - 1;
-    private final int MAX_PRODUCT_PARENT_LEN  = 256 - 1;
-    private final int MAX_PRODUCT_VENDOR_LEN  = 64 - 1;
-    private final int MAX_PLATFORM_ARCH_LEN   = 64 - 1;
-    private final int MAX_CONTAINER_LEN       = 64 - 1;
-    private final int MAX_SOURCE_LEN          = 64 - 1;
-
-    // private constructors
-    private ServiceTag() {
-    }
-    // package private
-    ServiceTag(String instanceURN,
-               String productName,
-               String productVersion,
-               String productURN,
-               String productParent,
-               String productParentURN,
-               String productDefinedInstanceID,
-               String productVendor,
-               String platformArch,
-               String container,
-               String source,
-               int installerUID,
-               Date timestamp) {
-        setInstanceURN(instanceURN);
-        setProductName(productName);
-        setProductVersion(productVersion);
-        setProductURN(productURN);
-        setProductParentURN(productParentURN);
-        setProductParent(productParent);
-        setProductDefinedInstanceID(productDefinedInstanceID);
-        setProductVendor(productVendor);
-        setPlatformArch(platformArch);
-        setContainer(container);
-        setSource(source);
-        setInstallerUID(installerUID);
-        setTimestamp(timestamp);
-    }
-    
-    /**
-     * Creates a service tag object with no <tt>instance_urn</tt>.
-     * 
-     * @param productName               the name of the product.
-     * @param productVersion            the version of the product.
-     * @param productURN                the uniform resource name of the product
-     * @param productParent             the name of the product's parent.
-     * @param productParentURN          the uniform resource name of the product's parent.
-     * @param productDefinedInstanceID  the instance identifier.
-     * @param productVendor             the vendor of the product.
-     * @param platformArch              the operating system architecture.
-     * @param container                 the container of the product.
-     * @param source                    the source of the product.
-     * 
-     * @throws IllegalArgumentException if any value of the input fields
-     *    does not conform to the service tag XML schema. 
-     */
-    public static ServiceTag newInstance(String productName,
-                                         String productVersion,
-                                         String productURN,
-                                         String productParent,
-                                         String productParentURN,
-                                         String productDefinedInstanceID,
-                                         String productVendor,
-                                         String platformArch,
-                                         String container,
-                                         String source) {
-          return new ServiceTag("", /* empty instance_urn */
-                                productName,
-                                productVersion,
-                                productURN,
-                                productParent,
-                                productParentURN,
-                                productDefinedInstanceID,
-                                productVendor,
-                                platformArch,
-                                container,
-                                source,
-                                -1,
-                                null);
-    }
-
-    /**
-     * Creates a service tag object with a specified <tt>instance_urn</tt>.
-     * 
-     * @param instanceURN               the uniform resource name of this instance.
-     * @param productName               the name of the product.
-     * @param productVersion            the version of the product.
-     * @param productURN                the uniform resource name of the product
-     * @param productParent             the name of the product's parent.
-     * @param productParentURN          the uniform resource name of the product's parent.
-     * @param productDefinedInstanceID  the instance identifier.
-     * @param productVendor             the vendor of the product.
-     * @param platformArch              the operating system architecture.
-     * @param container                 the container of the product.
-     * @param source                    the source of the product.
-     * 
-     * @throws IllegalArgumentException if any value of the input fields 
-     *    does not conform to the service tag XML schema. 
-     */
-    public static ServiceTag newInstance(String instanceURN,
-                                         String productName,
-                                         String productVersion,
-                                         String productURN,
-                                         String productParent,
-                                         String productParentURN,
-                                         String productDefinedInstanceID,
-                                         String productVendor,
-                                         String platformArch,
-                                         String container,
-                                         String source) {
-          return new ServiceTag(instanceURN,
-                                productName,
-                                productVersion,
-                                productURN,
-                                productParent,
-                                productParentURN,
-                                productDefinedInstanceID,
-                                productVendor,
-                                platformArch,
-                                container,
-                                source,
-                                -1,
-                                null);
-    }
-
-    // Creates a copy of the ServiceTag instance
-    // with instance_urn and timestamp initialized
-    static ServiceTag newInstanceWithUrnTimestamp(ServiceTag st) {
-        String instanceURN = 
-            (st.getInstanceURN().length() == 0 ? Util.generateURN() :
-                                                 st.getInstanceURN());
-        ServiceTag svcTag = new ServiceTag(instanceURN,
-                                           st.getProductName(),
-                                           st.getProductVersion(),
-                                           st.getProductURN(),
-                                           st.getProductParent(),
-                                           st.getProductParentURN(),
-                                           st.getProductDefinedInstanceID(),
-                                           st.getProductVendor(),
-                                           st.getPlatformArch(),
-                                           st.getContainer(),
-                                           st.getSource(),
-                                           st.getInstallerUID(),
-                                           new Date());
-        return svcTag;
-    }
-    
-    /**
-     * Returns a uniform resource name (URN) in this format:
-     * <blockquote>
-     * "<tt>urn:st:<32-char {@link java.util.UUID uuid}></tt>"
-     * </blockquote> 
-     * @return a URN.
-     */
-    public static String generateInstanceURN() {
-        return Util.generateURN();
-    }
-    
-    /**
-     * Returns the uniform resource name of this service tag instance.
-     *
-     * @return  the <tt>instance_urn</tt> of this service tag.
-     */
-    public String getInstanceURN() {
-        return instanceURN;
-    }
-
-    /**
-     * Returns the name of the product.
-     *
-     * @return the product name.  
-     */
-    public String getProductName() {
-        return productName;
-    }
-
-    /**
-     * Returns the version of the product.
-     *
-     * @return the product version.  
-     */
-    public String getProductVersion() {
-        return productVersion;
-    }
-    
-    /**
-     * Returns the uniform resource name of the product.
-     *
-     * @return the product URN.  
-     */
-    public String getProductURN() {
-        return productURN;
-    }
-    
-    /**
-     * Returns the uniform resource name of the product's parent.
-     *
-     * @return the product's parent URN.
-     */
-    public String getProductParentURN() {
-        return productParentURN;
-    }
-    
-    /**
-     * Returns the name of the product's parent.
-     *
-     * @return the product's parent name.  
-     */
-    public String getProductParent() {
-        return productParent;
-    }
-    
-    /**
-     * Returns the identifier defined for this product instance.
-     *
-     * @return  the identifier defined for this product instance. 
-     */
-    public String getProductDefinedInstanceID() {
-        return productDefinedInstanceID;
-    }
-    
-    /**
-     * Returns the vendor of the product.
-     *
-     * @return the product vendor.
-     */
-    public String getProductVendor() {
-        return productVendor;
-    }
-    
-    /**
-     * Returns the platform architecture on which the product 
-     * is running on.
-     *
-     * @return the platform architecture on which the product is running on.
-     */
-    public String getPlatformArch() {
-        return platformArch;
-    }
-
-    /**
-     * Returns the timestamp.  This timestamp is set when this service tag
-     * is added to or updated in a {@code RegistrationData} object or 
-     * the system service tag registry.
-     * This method may return {@code null}.
-     *
-     * @return timestamp when this service tag 
-     * is added to or updated in a {@code RegistrationData} object or 
-     * the system service tag registry, or {@code null}.
-     */
-    public Date getTimestamp() {
-        if (timestamp != null) {
-            return (Date) timestamp.clone();
-        } else {
-            return null;
-        }
-    }
-
-
-    /**
-     * Returns the container of the product.
-     *
-     * @return the container of the product.
-     */
-    public String getContainer() {
-        return container;
-    }
-
-    /**
-     * Returns the source of this service tag.
-     *
-     * @return  source of this service tag.
-     */
-    public String getSource() {
-        return source;
-    }
-
-    /**
-     * Returns the UID. The UID is set when this service tag
-     * is added to or updated in the system service tag registry.
-     * This is platform dependent whose default value is {@code -1}.
-     * When this service tag is added to a {@code RegistrationData},
-     * the UID is not set.
-     *
-     * @return the UID of whom this service tag
-     * is added to or updated in the system service tag registry,
-     * or {@code -1}. 
-     */
-    public int getInstallerUID() {
-        return installerUID;
-    }
-
-    // The following setter methods are used to validate the
-    // input field when constructing a ServiceTag instance
-    
-    private void setInstanceURN(String instanceURN) {
-        if (instanceURN == null) {
-            throw new NullPointerException("Parameter instanceURN cannot be null");
-        }
-        if (instanceURN.length() > MAX_URN_LEN) {
-            throw new IllegalArgumentException("instanceURN \"" + instanceURN +
-                "\" exceeds maximum length " + MAX_URN_LEN);
-        }
-        this.instanceURN = instanceURN;
-    }
-    
-    private void setProductName(String productName) {
-        if (productName == null) {
-            throw new NullPointerException("Parameter productName cannot be null");
-        }
-        if (productName.length() == 0) {
-            throw new IllegalArgumentException("product name cannot be empty");
-        }
-        if (productName.length() > MAX_PRODUCT_NAME_LEN) {
-            throw new IllegalArgumentException("productName \"" + productName +
-                "\" exceeds maximum length " + MAX_PRODUCT_NAME_LEN);
-        }
-        this.productName = productName;
-    }
-
-    private void setProductVersion(String productVersion) {
-        if (productVersion == null) {
-            throw new NullPointerException("Parameter productVersion cannot be null");
-        }
-        
-        if (productVersion.length() == 0) {
-            throw new IllegalArgumentException("product version cannot be empty");
-        }
-        if (productVersion.length() > MAX_PRODUCT_VERSION_LEN) {
-            throw new IllegalArgumentException("productVersion \"" + 
-                productVersion + "\" exceeds maximum length " + 
-                MAX_PRODUCT_VERSION_LEN);
-        }
-        this.productVersion = productVersion;
-    }
-
-    private void setProductURN(String productURN) {
-        if (productURN == null) {
-            throw new NullPointerException("Parameter productURN cannot be null");
-        }
-        if (productURN.length() == 0) {
-            throw new IllegalArgumentException("product URN cannot be empty");
-        }
-        if (productURN.length() > MAX_URN_LEN) {
-            throw new IllegalArgumentException("productURN \"" + productURN +
-                "\" exceeds maximum length " + MAX_URN_LEN);
-        }
-        this.productURN = productURN;
-    }
-
-    private void setProductParentURN(String productParentURN) {
-        if (productParentURN == null) {
-            throw new NullPointerException("Parameter productParentURN cannot be null");
-        }
-        // optional field - can be empty
-        if (productParentURN.length() > MAX_URN_LEN) {
-            throw new IllegalArgumentException("productParentURN \"" + 
-                productParentURN + "\" exceeds maximum length " + 
-                MAX_URN_LEN);
-        }
-        this.productParentURN = productParentURN;
-    }
-
-    private void setProductParent(String productParent) {
-        if (productParent == null) {
-            throw new NullPointerException("Parameter productParent cannot be null");
-        }
-        if (productParent.length() == 0) {
-            throw new IllegalArgumentException("product parent cannot be empty");
-        }
-        if (productParent.length() > MAX_PRODUCT_PARENT_LEN) {
-            throw new IllegalArgumentException("productParent \"" + 
-                productParent + "\" exceeds maximum length " + 
-                MAX_PRODUCT_PARENT_LEN);
-        }
-        this.productParent = productParent;
-    }
-
-    void setProductDefinedInstanceID(String productDefinedInstanceID) {
-        if (productDefinedInstanceID == null) {
-            throw new NullPointerException("Parameter productDefinedInstanceID cannot be null");
-        }
-        if (productDefinedInstanceID.length() > MAX_URN_LEN) {
-            throw new IllegalArgumentException("productDefinedInstanceID \"" + 
-                productDefinedInstanceID + "\" exceeds maximum length " + 
-                MAX_URN_LEN);
-        }
-        // optional field - can be empty
-        this.productDefinedInstanceID = productDefinedInstanceID;
-    }
-
-    private void setProductVendor(String productVendor) {
-        if (productVendor == null) {
-            throw new NullPointerException("Parameter productVendor cannot be null");
-        }
-        if (productVendor.length() == 0) {
-            throw new IllegalArgumentException("product vendor cannot be empty");
-        }
-        if (productVendor.length() > MAX_PRODUCT_VENDOR_LEN) {
-            throw new IllegalArgumentException("productVendor \"" + 
-                productVendor + "\" exceeds maximum length " + 
-                MAX_PRODUCT_VENDOR_LEN);
-        }
-        this.productVendor = productVendor;
-    }
-    
-    private void setPlatformArch(String platformArch) {
-        if (platformArch == null) {
-            throw new NullPointerException("Parameter platformArch cannot be null");
-        }
-        if (platformArch.length() == 0) {
-            throw new IllegalArgumentException("platform architecture cannot be empty");
-        }
-        if (platformArch.length() > MAX_PLATFORM_ARCH_LEN) {
-            throw new IllegalArgumentException("platformArch \"" + 
-                platformArch + "\" exceeds maximum length " + 
-                MAX_PLATFORM_ARCH_LEN);
-        }
-        this.platformArch = platformArch;
-    }
-
-    private void setTimestamp(Date timestamp) {
-        // can be null
-        this.timestamp = timestamp;
-    }
-
-    private void setContainer(String container) {
-        if (container == null) {
-            throw new NullPointerException("Parameter container cannot be null");
-        }
-        if (container.length() == 0) {
-            throw new IllegalArgumentException("container cannot be empty");
-        }
-        if (container.length() > MAX_CONTAINER_LEN) {
-            throw new IllegalArgumentException("container \"" + 
-                container + "\" exceeds maximum length " + 
-                MAX_CONTAINER_LEN);
-        }
-        this.container = container;
-    }
-
-    private void setSource(String source) {
-        if (source == null) {
-            throw new NullPointerException("Parameter source cannot be null");
-        }
-        if (source.length() == 0) {
-            throw new IllegalArgumentException("source cannot be empty");
-        }
-        if (source.length() > MAX_SOURCE_LEN) {
-            throw new IllegalArgumentException("source \"" + source +
-                "\" exceeds maximum length " + MAX_SOURCE_LEN);
-        }
-        this.source = source;
-    }
-
-    private void setInstallerUID(int installerUID) {
-        this.installerUID = installerUID;
-    }
-
-    /**
-     * Compares this service tag to the specified object. 
-     * The result is {@code true} if and only if the argument is 
-     * not {@code null} and is a {@code ServiceTag} object whose
-     * <tt>instance_urn</tt> is the same as the 
-     * <tt>instance_urn</tt> of this service tag.
-     *
-     * @return {@code true} if this service tag is the same as 
-     * the specified object.
-     */
-    @Override
-    public boolean equals(Object obj) {
-        if (obj == null || !(obj instanceof ServiceTag)) {
-            return false;
-        }
-        ServiceTag st = (ServiceTag) obj;
-        if (st == this) {
-            return true;
-        }
-        return st.getInstanceURN().equals(getInstanceURN());
-    }
-
-    /**
-     * Returns the hash code value for this service tag.
-     * @return the hash code value for this service tag.
-     */
-    @Override
-    public int hashCode() {
-        int hash = 7;
-        hash = 19 * hash + (this.instanceURN != null ? this.instanceURN.hashCode() : 0);
-        return hash;
-    }
-
-    /**
-     * Returns the string representation of this service tag.
-     * The format is implementation specific.
-     *
-     * @return the string representation of this service tag.
-     */
-    public String toString() {
-        StringBuilder sb = new StringBuilder();
-        sb.append(ST_NODE_INSTANCE_URN).append("=").append(instanceURN).append("\n");
-        sb.append(ST_NODE_PRODUCT_NAME).append("=").append(productName).append("\n");
-        sb.append(ST_NODE_PRODUCT_VERSION).append("=").append(productVersion).append("\n");
-        sb.append(ST_NODE_PRODUCT_URN).append("=").append(productURN).append("\n");
-        sb.append(ST_NODE_PRODUCT_PARENT_URN).append("=").append(productParentURN).append("\n");
-        sb.append(ST_NODE_PRODUCT_PARENT).append("=").append(productParent).append("\n");
-        
sb.append(ST_NODE_PRODUCT_DEFINED_INST_ID).append("=").append(productDefinedInstanceID).append("\n");
-        sb.append(ST_NODE_PRODUCT_VENDOR).append("=").append(productVendor).append("\n");
-        sb.append(ST_NODE_PLATFORM_ARCH).append("=").append(platformArch).append("\n");
-        
sb.append(ST_NODE_TIMESTAMP).append("=").append(Util.formatTimestamp(timestamp)).append("\n");
-        sb.append(ST_NODE_CONTAINER).append("=").append(container).append("\n");
-        sb.append(ST_NODE_SOURCE).append("=").append(source).append("\n");
-        
sb.append(ST_NODE_INSTALLER_UID).append("=").append(String.valueOf(installerUID)).append("\n");
-        return sb.toString();
-    }
-
-
-    /**
-     * Returns the {@link ServiceTag} instance for the running Java
-     * platform. The {@link ServiceTag#setSource source} field
-     * of the {@code ServiceTag} will be set to the given {@code source}.
-     * This method will return {@code null} if there is no service tag
-     * for the running Java platform.
-     * <p>
-     * This method is designed for Sun software that bundles the JDK
-     * or the JRE to use. It is recommended that the {@code source}
-     * string contains information about the bundling software 
-     * such as the name and the version of the software bundle,
-     * for example,
-     * <blockquote>
-     * <tt>NetBeans IDE 6.0 with JDK 6 Update 5 Bundle</tt>
-     * </blockquote>
-     * in a NetBeans/JDK bundle.
-     * <p> 
-     * At the first time to call this method the application
-     * is required to have the write permission to the installed
-     * directory of this running JDK or JRE instance. 
-     *
-     * @param source the source that bundles the JDK or the JRE.
-     * @return a {@code ServiceTag} object for the Java platform,
-     *         or {@code null} if not supported.
-     * @throws IOException if an error occurs in this operation.
-     */
-    public static ServiceTag getJavaServiceTag(String source) throws IOException {
-        return Installer.getJavaServiceTag(source);
-    }
-
-}
diff --git a/desktop/source/registration/com/sun/star/servicetag/SolarisServiceTag.java 
b/desktop/source/registration/com/sun/star/servicetag/SolarisServiceTag.java
deleted file mode 100755
index 8378c78..0000000
--- a/desktop/source/registration/com/sun/star/servicetag/SolarisServiceTag.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-package com.sun.star.servicetag;
-
-import java.io.IOException;
-import java.util.Set;
-
-/**
- * Utility class to obtain the service tag for the Solaris Operating System. 
- */
-class SolarisServiceTag {
-    private final static String[] SolarisProductURNs = new String[] {
-        "urn:uuid:a7a38948-2bd5-11d6-98ce-9d3ac1c0cfd7", /* Solaris 8 */
-        "urn:uuid:4f82caac-36f3-11d6-866b-85f428ef944e", /* Solaris 9 */
-        "urn:uuid:a19de03b-48bc-11d9-9607-080020a9ed93", /* Solaris 9 sparc */
-        "urn:uuid:4c35c45b-4955-11d9-9607-080020a9ed93", /* Solaris 9 x86 */
-        "urn:uuid:5005588c-36f3-11d6-9cec-fc96f718e113", /* Solaris 10 */
-        "urn:uuid:6df19e63-7ef5-11db-a4bd-080020a9ed93"  /* Solaris 11 */
-    };
-
-    /**
-     * Returns null if not found.
-     *
-     * There is only one service tag for the operating system.
-     */
-    static ServiceTag getServiceTag() throws IOException {
-        if (Registry.isSupported()) {
-            Registry streg = Registry.getSystemRegistry();
-            for (String parentURN : SolarisProductURNs) {
-                Set<ServiceTag> instances = streg.findServiceTags(parentURN);
-                for (ServiceTag st : instances) {
-                    // there should have only one service tag for the OS
-                    return st;
-                } 
-            }
-        }
-        return null;
-    }
-}
diff --git a/desktop/source/registration/com/sun/star/servicetag/SolarisSystemEnvironment.java 
b/desktop/source/registration/com/sun/star/servicetag/SolarisSystemEnvironment.java
deleted file mode 100755
index 40d6fa9..0000000
--- a/desktop/source/registration/com/sun/star/servicetag/SolarisSystemEnvironment.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-package com.sun.star.servicetag;
-
-// The Service Tags team maintains the latest version of the implementation
-// for system environment data collection.  JDK will include a copy of
-// the most recent released version for a JDK release. We rename
-// the package to com.sun.servicetag so that the Sun Connection
-// product always uses the latest version from the com.sun.scn.servicetags
-// package. JDK and users of the com.sun.servicetag API
-// (e.g. NetBeans and SunStudio) will use the version in JDK.
-
-import java.io.*;
-import java.util.Set;
-import java.util.HashSet;
-
-/**
- * Solaris implementation of the SystemEnvironment class.
- */
-class SolarisSystemEnvironment extends SystemEnvironment {
-    private static final int SN  = 1;
-    private static final int SYS = 2;
-    private static final int CPU = 3;
-    private static final int MODEL = 4;
-    private String kstatCpuInfo = null;
-
-    SolarisSystemEnvironment() {
-        setHostId(getCommandOutput("/usr/bin/hostid"));
-        setSystemModel(getSolarisModel());
-        setSystemManufacturer(getSolarisSystemManufacturer());
-        setCpuManufacturer(getSolarisCpuManufacturer());
-        setSerialNumber(getSolarisSN());
-        setPhysMem(getSolarisPhysMem());
-        setSockets(getSolarisSockets());
-        setCores(getSolarisCores());
-        setVirtCpus(getSolarisVirtCpus());
-        setCpuName(getSolarisCpuName());
-        setClockRate(getSolarisClockRate());
-    }
-
-    private String getSolarisClockRate() {
-        String data = getSolarisKstatCpuInfo();
-
-        String lines[] = data.split("\n");
-        String token = "clock_MHz";
-        for (int i=0; i<lines.length; i++) {
-            String line = lines[i].trim();
-            if (line.startsWith(token)) {
-                return line.substring(line.indexOf(token) + token.length()).trim();
-            }
-        }
-        return "";
-    }
-
-    private String getSolarisCpuName() {
-        String data = getSolarisKstatCpuInfo();
-
-        String lines[] = data.split("\n");
-        String token = "brand";
-        for (int i=0; i<lines.length; i++) {
-            String line = lines[i].trim();
-            if (line.startsWith(token)) {
-                return line.substring(line.indexOf(token) + token.length()).trim();
-            }
-        }
-        return "";
-    }
-
-    private String getSolarisVirtCpus() {
-        String data = getSolarisKstatCpuInfo();
-
-        int cnt = 0;
-        String lines[] = data.split("\n");
-        String token = " cpu_info ";
-        for (int i=0; i<lines.length; i++) {
-            String line = lines[i].trim();
-            if (line.indexOf(token) != -1) {
-                cnt++;
-            }
-        }
-        return "" + cnt;
-    }
-
-    private String getSolarisCores() {
-        String data = getSolarisKstatCpuInfo();
-
-        Set<String> set = new HashSet<String>();
-        String lines[] = data.split("\n");
-        String coreIdToken = "core_id";
-        String coreId = "";
-        String chipIdToken = "chip_id";
-        String chipId = "";
-        for (int i=0; i<lines.length; i++) {
-            String line = lines[i].trim();
-            if (line.startsWith(chipIdToken)) {
-                chipId = line.substring(line.indexOf(chipIdToken) + chipIdToken.length()).trim();
-            }
-            if (line.startsWith(coreIdToken)) {
-                coreId = line.substring(line.indexOf(coreIdToken) + coreIdToken.length()).trim();
-                set.add(chipId + "," + coreId);
-            }
-        }
-        return "" + set.size();
-    }
-
-    private String getSolarisPhysMem() {
-        String data = getCommandOutput("/usr/sbin/prtconf");
-
-        int cnt = 0;
-        String lines[] = data.split("\n");
-        String token = "Memory size:";
-        for (int i=0; i<lines.length; i++) {
-            String line = lines[i].trim();
-            if (line.startsWith(token)) {
-                line = line.substring(line.indexOf(token) + token.length()).trim();
-                if (line.indexOf(" ") != -1) {
-                    return line.substring(0, line.indexOf(" ")).trim();
-                }
-            }
-        }
-        return "";
-    }
-
-    private String getSolarisSockets() {
-        String data = getSolarisKstatCpuInfo();
-
-        Set<String> set = new HashSet<String>();
-        String lines[] = data.split("\n");
-        String token = "chip_id";
-        for (int i=0; i<lines.length; i++) {
-            String line = lines[i].trim();
-            if (line.startsWith(token)) {
-                String id = line.substring(line.indexOf(token) + token.length()).trim();
-                set.add(id);
-            }
-        }
-        return "" + set.size();
-    }
-
-    private synchronized String getSolarisKstatCpuInfo() {
-        // only try to get kstat cpu_info information once, after that, we can
-        // reuse the output
-        if (kstatCpuInfo == null) {
-            Thread thread = new Thread() {
-                public void run() {
-                    kstatCpuInfo = getCommandOutput("/usr/bin/kstat", "cpu_info");
-                }
-            };
-            thread.start();
-
-            try {
-                thread.join(2000);
-                if (thread.isAlive()) {
-                    thread.interrupt();
-                    kstatCpuInfo = "";
-                }
-            } catch (InterruptedException ie) {
-                thread.interrupt();
-            }
-        }
-        return kstatCpuInfo;
-    }
-
-    private String getSolarisModel() {
-        String tmp = getFileContent("/var/run/psn");
-        if (tmp.length() > 0) {
-            String[] lines = tmp.split("\n");
-            if (MODEL <= lines.length) {
-                return lines[MODEL-1] + "::"
-                    + getCommandOutput("/usr/bin/uname", "-v");
-            }
-        }
-
-        if ("sparc".equalsIgnoreCase(System.getProperty("os.arch"))) {
-            return getCommandOutput("/usr/bin/uname", "-i") + "::"
-                + getCommandOutput("/usr/bin/uname", "-v");
-        } else {
-            String model = getSmbiosData("1", "Product: ");
-            if (model == null || model.trim().equals("")) {
-                model = getCommandOutput("/usr/bin/uname", "-i");
-            }
-            if (model == null) {
-                model = "";
-            }
-            return model.trim() + "::"
-                + getCommandOutput("/usr/bin/uname", "-v");
-        }
-    }
-
-    /**
-     * Tries to obtain the cpu manufacturer.
-     * @return The cpu manufacturer (an empty string if not found or an error occurred)
-     */
-    private String getSolarisCpuManufacturer() {
-        String tmp = getFileContent("/var/run/psn");
-        if (tmp.length() > 0) {
-            String[] lines = tmp.split("\n");
-            if (CPU <= lines.length) {
-                return lines[CPU-1];
-            }
-        }
-
-        // not fully accurate, this could be another manufacturer (fujitsu for example)
-        if ("sparc".equalsIgnoreCase(System.getProperty("os.arch"))) {
-            return "Sun Microsystems, Inc";
-        }
-
-        // if we're here, then we'll try smbios (type 4)
-        return getSmbiosData("4", "Manufacturer: ");
-    }
-
-    /**
-     * Tries to obtain the system manufacturer.
-     * @return The system manufacturer (an empty string if not found or an error occurred)
-     */
-    private String getSolarisSystemManufacturer() {
-        String tmp = getFileContent("/var/run/psn");
-        if (tmp.length() > 0) {
-            String[] lines = tmp.split("\n");
-            if (SYS <= lines.length) {
-                return lines[SYS-1];
-            }
-        }
-
-        // not fully accurate, this could be another manufacturer (fujitsu for example)
-        if ("sparc".equalsIgnoreCase(System.getProperty("os.arch"))) {
-            if (getCommandOutput("/usr/bin/uname", "-m").equals("sun4us")) {
-                return "Fujitsu";
-            }
-            return "Sun Microsystems, Inc";
-        }
-
-        // if we're here, then we'll try smbios (type 1)
-        return getSmbiosData("1", "Manufacturer: ");
-    }
-
-    /**
-     * Tries to obtain the serial number.
-     * @return The serial number (empty string if not found or an error occurred)
-     */
-    private String getSolarisSN() {
-        // try to read from the psn file if it exists
-        String tmp = getFileContent("/var/run/psn");
-        if (tmp.length() > 0) {
-            String[] lines = tmp.split("\n");
-            if (SN <= lines.length) {
-                return lines[SN-1];
-            }
-        }
-
-        // if we're here, then we'll try sneep
-        String tmpSN = getSneepSN();
-        if (tmpSN.length() > 0) {
-            return tmpSN;
-        }
-
-        // if we're here, then we'll try smbios (type 1)
-        tmpSN = getSmbiosData("1", "Serial Number: ");
-        if (tmpSN.length() > 0) {
-            return tmpSN;
-        }
-
-        // if we're here, then we'll try smbios (type 3)
-        tmpSN = getSmbiosData("3", "Serial Number: ");
-        if (tmpSN.length() > 0) {
-            return tmpSN;
-        }
-
-        if ("sparc".equalsIgnoreCase(System.getProperty("os.arch"))) {
-            tmpSN = getSNViaPrtfruX();
-            if (tmpSN.length() > 0) {
-                return tmpSN;
-            }
-            tmpSN = getSNViaPrtfru();
-            if (tmpSN.length() > 0) {
-                return tmpSN;
-            }
-        }
-
-        // give up and return
-        return "";
-    }
-
-    // Sample smbios output segment:
-    // ID    SIZE TYPE
-    // 1     150  SMB_TYPE_SYSTEM (system information)
-    //   Manufacturer: Sun Microsystems
-    //   Product: Sun Fire X4600
-    //   Version: To Be Filled By O.E.M.
-    //   Serial Number: 00:14:4F:45:0C:2A
-    private String getSmbiosData(String type, String target) {
-        String output = getCommandOutput("/usr/sbin/smbios", "-t", type);
-        for (String s : output.split("\n")) {
-            if (s.contains(target)) {
-                int indx = s.indexOf(target) + target.length();
-                if (indx < s.length()) {
-                    String tmp = s.substring(indx).trim();
-                    String lowerCaseStr = tmp.toLowerCase();
-                    if (!lowerCaseStr.startsWith("not available")
-                            && !lowerCaseStr.startsWith("to be filled by o.e.m")) {
-                        return tmp;
-                    }
-                }
-            }
-        }
-
-        return "";
-    }
-
-    private String getSneepSN() {
-        String basedir = getCommandOutput("pkgparam","SUNWsneep","BASEDIR");
-        File f = new File(basedir + "/bin/sneep");
-        if (f.exists()) {
-            String sneepSN = getCommandOutput(basedir + "/bin/sneep");
-            if (sneepSN.equalsIgnoreCase("unknown")) {
-                return "";
-            } else {
-                return sneepSN;
-            }
-        } else {
-            return "";
-        }
-    }
-
-    private String getSNViaPrtfruX() {
-        String data = getCommandOutput("/usr/sbin/prtfru", "-x");
-
-        boolean FRUTREE_FLAG = false;
-        boolean FRUNAME_FLAG = false;
-        boolean MB_LABEL_FLAG = false;
-        boolean SYSTEM_BOARD_FLAG = false;
-
-        String lines[] = data.split("\n");
-        for (int i=0; i<lines.length; i++) {
-            String line = lines[i];
-            if (SYSTEM_BOARD_FLAG) {
-                String tok = "<Sun_Serial_No value=\"";
-                int index = line.indexOf(tok);
-                if (index != -1) {
-                    String val = line.substring(index+tok.length());
-                    String vals[] = val.split("\"");
-                    if (vals.length > 0) {
-                        return vals[0].trim();
-                    }
-                    break;
-                }
-            }
-
-            if (line.indexOf("</ContainerData>") != -1) {
-                FRUTREE_FLAG = false;
-                FRUNAME_FLAG = false;
-                SYSTEM_BOARD_FLAG = false;
-            }
-
-            if (FRUNAME_FLAG && line.indexOf("<Container name=\"system-board\">") != -1 ) {
-                SYSTEM_BOARD_FLAG = true;
-            }
-
-            if (FRUTREE_FLAG && line.indexOf("<Fru name=\"chassis\">") != -1 ) {
-                FRUNAME_FLAG = true;
-            }
-
-            if (line.indexOf("<Location name=\"frutree\">") != -1) {
-                FRUTREE_FLAG = true;
-            }
-        }
-
-        return "";
-    }
-
-    private String getSNViaPrtfru() {
-        String data = getCommandOutput("/usr/sbin/prtfru");
-        boolean CHASSIS_FLAG = false;
-
-        String lines[] = data.split("\n");
-        for (int i=0; i<lines.length; i++) {
-            String line = lines[i];
-            if (CHASSIS_FLAG) {
-                String tok = "/ManR/Sun_Serial_No:";
-                int index = line.indexOf(tok);
-                if (index != -1) {
-                    String val = line.substring(index+tok.length());
-                    return val.trim();
-                }
-            }
-
-            if (line.indexOf("/frutree/chassis/system-board (container)") != -1) {
-                CHASSIS_FLAG = true;
-            } else if (line.indexOf("/frutree/chassis/MB?Label=MB/system-board (container)") != 
-1) {
-                CHASSIS_FLAG = true;
-            }
-        }
-        return "";
-    }
-}
diff --git a/desktop/source/registration/com/sun/star/servicetag/SunConnection.java 
b/desktop/source/registration/com/sun/star/servicetag/SunConnection.java
deleted file mode 100755
index 9b9c759..0000000
--- a/desktop/source/registration/com/sun/star/servicetag/SunConnection.java
+++ /dev/null
@@ -1,292 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-package com.sun.star.servicetag;
-
-import java.io.*;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.net.HttpURLConnection;
-import java.net.MalformedURLException;
-import java.io.OutputStreamWriter;
-import java.util.Locale;
-import javax.net.ssl.HttpsURLConnection;
-
-/**
- * Sun Connection Class for Product Registration.
- *
- * Registration Web Application Interface
- * 1) POST the product registry to the output stream of the registration
- *    relay service.
- * 2) Open the webapp URL from a browser with the following parameters:
- *    registry-urn
- *    product=jdk
- *    locale=<locale-lang>
- *
- * @see https://sn-tools.central.sun.com/twiki/pub/ServiceTags/RegistrationRelayService/
- * 
- */
-class SunConnection {
-
-    private static String JDK_REGISTRATION_URL =
-       "https://inventory.sun.com/RegistrationWeb/register";;
-    private static String SANDBOX_TESTING_URL =
-       "https://connection-tst.sun.com/RegistrationWeb/register";;
-    
-    // System properties for testing
-    private static String SVCTAG_REGISTER_TESTING = "servicetag.register.testing";
-    private static String SVCTAG_REGISTRATION_URL = "servicetag.registration.url";
-    private static String SVCTAG_CONNECTION_TIMEOUT = "servicetag.connection.timeout";
-
-    private SunConnection() {
-    }
-
-    /**
-     * Returns a URL for JDK registration interfacing with the Sun Connection
-     * registration relay service in this form:
-     *   <registration-url>/<registry_urn>?product=jdk&locale=<locale-lang>
-     *
-     * The <registration-url> can be overridden by an environment 
-     * variable or a system property.
-     *
-     * 1) "servicetag.register.testing" system property to switch to the
-     *    Sun Connection registration sandbox testing.
-     * 2) "servicetag.registration.url" system property to override 
-     *    the URL
-     * 3) Default production URL
-     *
-     */
-    static URL getRegistrationURL(String registrationURN) {
-        String url = System.getProperty(SVCTAG_REGISTRATION_URL);
-        if (url == null) {
-            if (System.getProperty(SVCTAG_REGISTER_TESTING) != null) { 
-                url = SANDBOX_TESTING_URL;
-            } else {
-                url = JDK_REGISTRATION_URL;
-            }
-        }
-
-        // trim whitespaces 
-        url = url.trim(); 
-        if (url.length() == 0) {
-            throw new InternalError("Empty registration url set");
-        }
-
-        // Add the registry_urn in the URL's query
-        String registerURL = rewriteURL(url, registrationURN);
-        try {
-            return new URL(registerURL);
-        } catch (MalformedURLException ex) {
-            // should never reach here
-            InternalError x = 
-                new InternalError(ex.getMessage());
-            x.initCause(ex);
-            throw x;               
-        }
-    }
-    
-    private static String rewriteURL(String url, String registryURN) {
-        StringBuilder sb = new StringBuilder(url.trim());
-        int len = sb.length();
-        if (sb.charAt(len-1) != '/') {
-            sb.append('/');
-        }
-        sb.append(registryURN);
-        sb.append("?");
-        sb.append("product=jdk");
-        sb.append("&");
-        sb.append("locale=").append(Locale.getDefault().getLanguage());
-        return sb.toString();
-    }
-
-    /**
-     * Registers all products in the given product registry.  If it fails
-     * to post the service tag registry, open the browser with the offline 
-     * registration page.
-     * 
-     * @param regData registration data to be posted to the Sun Connection
-     *             for registration.
-     *
-     * @throws IOException if I/O error occurs in this operation
-     */
-    public static void register(RegistrationData regData) throws IOException {
-        // Gets the URL for SunConnection registration relay service
-        URL url = getRegistrationURL(regData.getRegistrationURN());
-
-        // Post the Product Registry to Sun Connection
-        boolean succeed = postRegistrationData(url, regData);
-        if (succeed) {
-            // service tags posted successfully
-            // now prompt for registration
-            openBrowser(url);
-        } else {
-            // open browser with the offline registration page
-            openOfflineRegisterPage();
-        }
-    }
-
-    /**
-     * Opens a browser for JDK product registration.
-     * @param url Registration Webapp URL
-     */
-    private static void openBrowser(URL url) throws IOException {
-        if (!BrowserSupport.isSupported()) {
-            if (Util.isVerbose()) {
-                System.out.println("Browser is not supported");
-            }
-            return;
-        }
-
-        try {
-            BrowserSupport.browse(url.toURI());
-        } catch (URISyntaxException ex) {
-            InternalError x = new InternalError("Error in registering: " + ex.getMessage());
-            x.initCause(ex);
-            throw x;
-        } catch (IllegalArgumentException ex) {
-            if (Util.isVerbose()) {
-                ex.printStackTrace();
-            }
-        } catch (UnsupportedOperationException ex) {
-            // ignore if not supported
-            if (Util.isVerbose()) {
-                ex.printStackTrace();
-            }
-        }
-    }
-
-    /**
-     * POST service tag registry to Sun Connection
-     * @param loc the URL of the webapp to handle the POST request
-     * @param streg the Service Tag registry
-     * @return true if posting succeeds; otherwise, false.
-     */
-    private static boolean postRegistrationData(URL url, 
-                                                RegistrationData registration) {
-        try {
-            HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
-            con.setDoInput(true);
-            con.setDoOutput(true);
-            con.setUseCaches(false);
-            con.setAllowUserInteraction(false);
-
-            // default 10 seconds timeout
-            String timeout = System.getProperty(SVCTAG_CONNECTION_TIMEOUT, "10");
-            con.setConnectTimeout(Util.getIntValue(timeout) * 1000);
-
-            if (Util.isVerbose()) {
-                System.out.println("Connecting to post registration data at " + url);
-            }
-
-            con.setRequestMethod("POST");
-            con.setRequestProperty("Content-Type", "text/xml;charset=\"utf-8\"");
-            con.connect();
-            
-            OutputStream out = con.getOutputStream();
-            registration.storeToXML(out);
-            out.flush();
-            out.close();
-
-            int returnCode = con.getResponseCode();
-            if (Util.isVerbose()) {
-                System.out.println("POST return status = " + returnCode);
-                printReturnData(con, returnCode);
-            }
-            return (returnCode == HttpURLConnection.HTTP_OK);
-        } catch (MalformedURLException me) {
-            // should never reach here
-            InternalError x = new InternalError("Error in registering: " + me.getMessage());
-            x.initCause(me);
-            throw x;
-        } catch (Exception ioe) {
-            // SocketTimeoutException, IOException or UnknownHostException
-            if (Util.isVerbose()) {
-                ioe.printStackTrace();
-            }
-            return false;
-        }
-    }
-
-    /**
-     * Opens the offline registratioin page in the browser.
-     * 
-     */
-    private static void openOfflineRegisterPage()
-            throws IOException {
-        if (!BrowserSupport.isSupported()) {
-            if (Util.isVerbose()) {
-                System.out.println("Browser is not supported");
-            }
-            return;
-        }
-
-        File registerPage = Installer.getRegistrationHtmlPage();
-        try {
-            BrowserSupport.browse(registerPage.toURI());
-        } catch (FileNotFoundException ex) {
-            // should never reach here
-            InternalError x = 
-                new InternalError("Error in launching " + registerPage + ": " + ex.getMessage());
-            x.initCause(ex);
-            throw x;
-        } catch (IllegalArgumentException ex) {
-            if (Util.isVerbose()) {
-                ex.printStackTrace();
-            }
-        } catch (UnsupportedOperationException ex) {
-            // ignore if not supported
-            if (Util.isVerbose()) {
-                ex.printStackTrace();
-            }
-        }
-    }
-
-    private static void printReturnData(HttpURLConnection con, int returnCode)
-            throws IOException {
-        BufferedReader reader = null;
-        try {
-            if (returnCode < 400) {
-                reader = new BufferedReader(
-                             new InputStreamReader(con.getInputStream()));
-            } else {
-                reader = new BufferedReader(
-                             new InputStreamReader(con.getErrorStream()));
-            }
-            StringBuilder sb = new StringBuilder();
-            String line;
-            while ((line = reader.readLine()) != null) {
-                sb.append(line).append("\n");
-            }
-            System.out.println("Response is : ");
-            System.out.println(sb.toString());
-        } finally {
-            if (reader != null) {
-                reader.close();
-            }
-        }
-    }
-}
diff --git a/desktop/source/registration/com/sun/star/servicetag/SysnetRegistryHelper.java 
b/desktop/source/registration/com/sun/star/servicetag/SysnetRegistryHelper.java
deleted file mode 100755
index 8338b29..0000000
--- a/desktop/source/registration/com/sun/star/servicetag/SysnetRegistryHelper.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-package com.sun.star.servicetag;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Properties;
-import java.util.Set;
-
-import static com.sun.star.servicetag.Util.*;
-import static com.sun.star.servicetag.RegistrationDocument.*;
-
-/**
- * Class containing additional methods that are not yet
- * in the JDK Registry class.  Note that all methods in this class
- * will be superceeded by the JDK classes.
- */
-public class SysnetRegistryHelper {
-
-    private static final String STCLIENT_SOLARIS = "/usr/bin/stclient";
-    private static final String STCLIENT_LINUX = "/opt/sun/servicetag/bin/stclient";
-    // stclient exit value (see sthelper.h)
-    private static final int ST_ERR_NOT_AUTH = 245;
-    private static final int ST_ERR_REC_NOT_FOUND = 225;
-
-    // The stclient output has to be an exported interface
-    private static final String INSTANCE_URN_OPEN_ELEMENT = "<instance_urn>";
-    private static final String INSTANCE_URN_CLOSE_ELEMENT = "</instance_urn>";
-    private static final String REGISTRY_URN = "<registry urn=\"";
-    private static final String INSTANCE_URN_DESC = "Product instance URN=";
-    private static boolean initialized = false;
-    private static boolean supportsHelperClass = true; // default
-    private static File stclient = null;
-    private static String stclientPath = null;
-
-    // System properties for testing
-    private static String SVCTAG_STCLIENT_CMD = "servicetag.stclient.cmd";
-    private static String SVCTAG_STHELPER_SUPPORTED = "servicetag.sthelper.supported";
-
-    private synchronized static String getSTclient() {
-        if (!initialized) {
-            // the system property always overrides the default setting
-            if (System.getProperty(SVCTAG_STHELPER_SUPPORTED) != null) {
-                supportsHelperClass = Boolean.getBoolean(SVCTAG_STHELPER_SUPPORTED);
-            }
-
-            // This is only used for testing
-            stclientPath = System.getProperty(SVCTAG_STCLIENT_CMD);         
-            if (stclientPath != null) {
-                return stclientPath;
-            }
-
-            // Initialization to determine the platform's stclient pathname
-            String os = System.getProperty("os.name");
-            if (os.equals("SunOS")) {
-                stclient = new File(STCLIENT_SOLARIS);
-            } else if (os.equals("Linux")) {
-                stclient = new File(STCLIENT_LINUX);
-            } else if (os.startsWith("Windows")) {
-        stclient = getWindowsStClientFile();
-            } else {
-                if (isVerbose()) {
-                    System.out.println("Running on non-Sun JDK");
-                }
-            }
-            initialized = true;
-        }
-
-        // com.sun.servicetag package has to be compiled with JDK 5 as well
-        // JDK 5 doesn't support the File.canExecute() method.
-        // Risk not checking isExecute() for the stclient command is very low.
-
-        if (stclientPath == null && stclient != null && stclient.exists()) {
-            stclientPath = stclient.getAbsolutePath();
-        }
-        return stclientPath;
-    }
-
-    private static List<String> getCommandList() {
-        // Set up the arguments to call stclient
-        List<String> command = new ArrayList<String>();
-        if (System.getProperty(SVCTAG_STCLIENT_CMD) != null) {
-            // This is for jtreg testing use. This will be set to something
-            // like:
-            // $JAVA_HOME/bin/java -cp $TEST_DIR \
-            //    -Dstclient.registry.path=$TEST_DIR/registry.xml \
-            //    SvcTagClient
-            // On Windows, the JAVA_HOME and TEST_DIR path could contain
-            // space e.g. c:\Program Files\Java\jdk1.6.0_05\bin\java. 
-            // The SVCTAG_STCLIENT_CMD must be set with a list of 
-            // space-separated parameters.  If a parameter contains spaces,
-            // it must be quoted with '"'.
-
-            String cmd = getSTclient();
-            int len = cmd.length();
-            int i = 0;
-            while (i < len) {
-                char separator = ' ';
-                if (cmd.charAt(i) == '"') {
-                    separator = '"';
-                    i++;
-                }
-                // look for the separator or matched the closing '"'
-                int j;
-                for (j = i+1; j < len; j++) {
-                    if (cmd.charAt(j) == separator) {
-                        break;
-                    } 
-                }
-
-                if (i == j-1) {
-                    // add an empty parameter
-                    command.add("\"\"");
-                } else {
-                    // double quotes and space are not included
-                    command.add(cmd.substring(i,j));
-                }
-
-                // skip spaces
-                for (i = j+1; i < len; i++) {
-                    if (!Character.isSpaceChar(cmd.charAt(i))) {
-                        break;
-                    }
-                }
-            }
-            if (isVerbose()) {
-                System.out.println("Command list:");
-                for (String s : command) {
-                    System.out.println(s);
-                }
-            }
-        } else { 
-            command.add(getSTclient());
-        }
-        return command;
-    }
-
-    // Returns null if the service tag record not found;
-    // or throw UnauthorizedAccessException or IOException
-    // based on the exitValue.
-    private static ServiceTag checkReturnError(int exitValue, 
-                                               String output,
-                                               ServiceTag st) throws IOException {
-        switch (exitValue) {
-            case ST_ERR_REC_NOT_FOUND:
-                return null;
-            case ST_ERR_NOT_AUTH:
-                if (st != null) {
-                    throw new UnauthorizedAccessException(
-                        "Not authorized to access " + st.getInstanceURN() + 
-                        " installer_uid=" + st.getInstallerUID());
-                } else  {
-                    throw new UnauthorizedAccessException(
-                        "Not authorized:" + output); 
-                }
-            default: 
-                throw new IOException("stclient exits with error" +
-                     " (" + exitValue + ")\n" + output); 
-        }
-    }
-
-    /**
-     * Returns a {@code ServiceTag} object of the given  <tt>instance_urn</tt>
-     * in this registry.
-     *
-     * @param instanceURN the  <tt>instance_urn</tt> of the service tag
-     * @return a {@code ServiceTag} object of the given <tt>instance_urn</tt>
-     * in this registry; or {@code null} if not found.
-     *
-     * @throws java.io.IOException if an I/O error occurs in this operation.
-     */
-    private static ServiceTag getServiceTag(String instanceURN) throws IOException {
-        if (instanceURN == null) {
-            throw new NullPointerException("instanceURN is null");
-        }
-
-        List<String> command = getCommandList();
-        command.add("-g");
-        command.add("-i");
-        command.add(instanceURN);
-
-        ProcessBuilder pb = new ProcessBuilder(command);
-        Process p = pb.start();
-        String output = commandOutput(p);
-        if (isVerbose()) {
-            System.out.println("Output from stclient -g command:");
-            System.out.println(output);
-        }
-        if (p.exitValue() == 0) {
-            return parseServiceTag(output);
-        } else {
-            return checkReturnError(p.exitValue(), output, null);
-        }
-    }
-
-    private static ServiceTag parseServiceTag(String output) throws IOException {
-        BufferedReader in = null;
-        try {
-            Properties props = new Properties();
-            // parse the service tag output from stclient
-            in = new BufferedReader(new StringReader(output));
-            String line = null;
-            while ((line = in.readLine()) != null) {
-                if ((line = line.trim()).length() > 0) {
-                    String[] ss = line.trim().split("=", 2);
-                    if (ss.length == 2) {
-                        props.setProperty(ss[0].trim(), ss[1].trim());
-                    } else {
-                        props.setProperty(ss[0].trim(), "");
-                    }
-                }
-            }
-
-            String urn = props.getProperty(ST_NODE_INSTANCE_URN);
-            String productName = props.getProperty(ST_NODE_PRODUCT_NAME);
-            String productVersion = props.getProperty(ST_NODE_PRODUCT_VERSION);
-            String productURN = props.getProperty(ST_NODE_PRODUCT_URN);
-            String productParent = props.getProperty(ST_NODE_PRODUCT_PARENT);
-            String productParentURN = props.getProperty(ST_NODE_PRODUCT_PARENT_URN);
-            String productDefinedInstanceID =
-                props.getProperty(ST_NODE_PRODUCT_DEFINED_INST_ID);
-            String productVendor = props.getProperty(ST_NODE_PRODUCT_VENDOR);
-            String platformArch = props.getProperty(ST_NODE_PLATFORM_ARCH);
-            String container = props.getProperty(ST_NODE_CONTAINER);
-            String source = props.getProperty(ST_NODE_SOURCE);
-            int installerUID =
-                Util.getIntValue(props.getProperty(ST_NODE_INSTALLER_UID));
-            Date timestamp =
-                Util.parseTimestamp(props.getProperty(ST_NODE_TIMESTAMP));
-
-            return new ServiceTag(urn,
-                                  productName,
-                                  productVersion,
-                                  productURN,
-                                  productParent,
-                                  productParentURN,
-                                  productDefinedInstanceID,
-                                  productVendor,
-                                  platformArch,
-                                  container,
-                                  source,
-                                  installerUID,
-                                  timestamp);
-        } finally {
-            if (in != null) {
-                in.close();
-            }
-        }
-
-    }
-
-    /**
-     * Returns the urn of this registry.
-     * 
-     * @return a {@code String} for the urn of this registry.
-     * 
-     * @throws java.io.IOException if an I/O error occurs in this operation.
-     */
-    // Once JDK makes this method available, we'll deprecate this method
-    // @deprecated Use the JDK version when available.
-    public static String getRegistryURN() throws IOException {
-        List<String> command = getCommandList();
-        command.add("-x");
-
-        BufferedReader in = null;
-        try {
-            ProcessBuilder pb = new ProcessBuilder(command);
-            Process p = pb.start();
-            String output = commandOutput(p);
-
-            String registryURN = null;
-            if (p.exitValue() == 0) {
-                // parse the service tag output from stclient
-                in = new BufferedReader(new StringReader(output));
-                String line = null;
-                while ((line = in.readLine()) != null) {
-                    String s = line.trim();
-                    if (s.indexOf(REGISTRY_URN) != -1) {
-                        s = s.substring(s.indexOf(REGISTRY_URN)
-                            + REGISTRY_URN.length());
-                        if (s.indexOf("\"") != -1) {
-                            s = s.substring(0, s.indexOf("\""));
-                            registryURN = s;
-                            break;
-                        }
-                    }
-                }
-            } else {
-                checkReturnError(p.exitValue(), output, null);
-            }
-            return registryURN;
-        } finally {
-            if (in != null) {
-                in.close();
-            }
-        }
-    }
-
-    /**
-     * Returns all the service tags in this registry.
-     *
-     * @return a {@code Set} of {@code ServiceTag} objects
-     * in this registry.
-     *
-     * @throws java.io.IOException if an I/O error occurs in this operation.
-     */
-    // Once JDK makes this method available, we'll deprecate this method
-    // @deprecated Use the JDK version when available.
-    public static Set<ServiceTag> getServiceTags() throws IOException {
-        List<String> command = getCommandList();
-        command.add("-x");
-
-        BufferedReader in = null;
-        try {
-            ProcessBuilder pb = new ProcessBuilder(command);
-            Process p = pb.start();
-            String output = commandOutput(p);
-
-            Set<ServiceTag> instances = new HashSet<ServiceTag>();
-            if (p.exitValue() == 0) {
-                // parse the service tag output from stclient
-                in = new BufferedReader(new StringReader(output));
-                String line = null;
-                while ((line = in.readLine()) != null) {
-                    String s = line.trim();
-                    if (s.indexOf(INSTANCE_URN_OPEN_ELEMENT) != -1
-                            && s.indexOf(INSTANCE_URN_CLOSE_ELEMENT) != -1) {
-                        s = s.substring(s.indexOf(INSTANCE_URN_OPEN_ELEMENT)
-                            + INSTANCE_URN_OPEN_ELEMENT.length(),
-                            s.indexOf(INSTANCE_URN_CLOSE_ELEMENT));
-                        try {
-                            instances.add(getServiceTag(s));
-                        } catch (Exception e) {
-                        }
-                    }
-                }
-            } else {
-                checkReturnError(p.exitValue(), output, null);
-            }
-            return instances;
-        } finally {
-            if (in != null) {
-                in.close();
-            }
-        }
-    }
-}
diff --git a/desktop/source/registration/com/sun/star/servicetag/SystemEnvironment.java 
b/desktop/source/registration/com/sun/star/servicetag/SystemEnvironment.java
deleted file mode 100755
index 013c125..0000000
--- a/desktop/source/registration/com/sun/star/servicetag/SystemEnvironment.java
+++ /dev/null
@@ -1,436 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-package com.sun.star.servicetag;
-
-// The Service Tags team maintains the latest version of the implementation
-// for system environment data collection.  JDK will include a copy of
-// the most recent released version for a JDK release. We rename
-// the package to com.sun.servicetag so that the Sun Connection
-// product always uses the latest version from the com.sun.scn.servicetags
-// package. JDK and users of the com.sun.servicetag API
-// (e.g. NetBeans and SunStudio) will use the version in JDK.
-
-import java.io.*;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-
-/**
- * SystemEnvironment class collects the environment data with the
- * best effort from the underlying platform.
- */
-public class SystemEnvironment {
-    private String hostname;
-    private String hostId;
-    private String osName;
-    private String osVersion;
-    private String osArchitecture;
-    private String systemModel;
-    private String systemManufacturer;
-    private String cpuManufacturer;
-    private String serialNumber;
-    private String physmem;
-    private String sockets;
-    private String cores;
-    private String virtcpus;
-    private String cpuname;
-    private String clockrate;
-    private static SystemEnvironment sysEnv = null;
-
-    public static synchronized SystemEnvironment getSystemEnvironment() {
-        if (sysEnv == null) {
-            String os = System.getProperty("os.name");
-            if (os.equals("SunOS")) {
-                sysEnv = new SolarisSystemEnvironment();
-            } else if (os.equals("Linux")) {
-                sysEnv = new LinuxSystemEnvironment();
-            } else if (os.startsWith("Windows")) {
-                sysEnv = new WindowsSystemEnvironment();
-            } else {
-                sysEnv = new SystemEnvironment();
-            }
-        }
-        return sysEnv;
-    }
-
-    // package-private
-    SystemEnvironment() {
-        try {
-            this.hostname = InetAddress.getLocalHost().getHostName();
-        } catch (UnknownHostException ex) {
-            this.hostname = "Unknown host";
-        }
-        this.hostId = "";
-        this.osName = System.getProperty("os.name");
-        this.osVersion = System.getProperty("os.version");
-        this.osArchitecture = System.getProperty("os.arch");
-        this.systemModel = "";
-        this.systemManufacturer = "";
-        this.cpuManufacturer = "";
-        this.serialNumber = "";
-        this.physmem = "0";
-        this.sockets = "0";
-        this.cores = "0";
-        this.virtcpus = "0";
-        this.cpuname = "";
-        this.clockrate = "0";
-    }
-
-
-    /**
-     * Sets the hostname.
-     * @param hostname The hostname to set.
-     */
-    public void setHostname(String hostname) {
-        this.hostname = hostname;
-    }
-
-    /**
-     * Sets the OS name.
-     * @param osName The osName to set.
-     */
-    public void setOsName(String osName) {
-        this.osName = osName;
-    }
-
-    /**
-     * Sets the OS version.
-     * @param osVersion The osVersion to set.
-     */
-    public void setOsVersion(String osVersion) {
-        this.osVersion = osVersion;
-    }
-
-    /**
-     * Sets the OS architecture.
-     * @param osArchitecture The osArchitecture to set.
-     */
-    public void setOsArchitecture(String osArchitecture) {
-        this.osArchitecture = osArchitecture;
-    }
-
-    /**
-     * Sets the system model.
-     * @param systemModel The systemModel to set.
-     */
-    public void setSystemModel(String systemModel) {
-        this.systemModel = systemModel;
-    }
-
-    /**
-     * Sets the system manufacturer.
-     * @param systemManufacturer The systemManufacturer to set.
-     */
-    public void setSystemManufacturer(String systemManufacturer) {
-        this.systemManufacturer = systemManufacturer;
-    }
-
-    /**
-     * Sets the cpu manufacturer.
-     * @param cpuManufacturer The cpuManufacturer to set.
-     */
-    public void setCpuManufacturer(String cpuManufacturer) {
-        this.cpuManufacturer = cpuManufacturer;
-    }
-
-    /**
-     * Sets the serial number.
-     * @param serialNumber The serialNumber to set.
-     */
-    public void setSerialNumber(String serialNumber) {
-        this.serialNumber = serialNumber;
-    }
-
-    /**
-     * Sets the physmem
-     * @param physmem The physmem to set.
-     */
-    public void setPhysMem(String physmem) {
-        if (physmem.length() == 0)
-            physmem = "0";
-        this.physmem = physmem;
-    }
-
-    /**
-     * Sets the sockets
-     * @param sockets The sockets to set.
-     */
-    public void setSockets(String sockets) {
-        if (sockets.length() == 0)
-            sockets = "0";
-        this.sockets = sockets;
-    }
-
-    /**
-     * Sets the cores
-     * @param cores The cores to set.
-     */
-    public void setCores(String cores) {
-        if (cores.length() == 0)
-            cores ="0";
-        this.cores = cores;
-    }
-
-    /**
-     * Sets the virtcpus
-     * @param virtcpus The virtcpus to set.
-     */
-    public void setVirtCpus(String virtcpus) {
-        if (virtcpus.length() == 0)
-            virtcpus = "0";
-        this.virtcpus = virtcpus;
-    }
-
-    /**
-     * Sets the cpuname
-     * @param cpuname The cpuname to set.
-     */
-    public void setCpuName(String cpuname) {
-        this.cpuname = cpuname;
-    }
-
-    /**
-     * Sets the clockrate
-     * @param clockrate The clockrate to set.
-     */
-    public void setClockRate(String clockrate) {
-        if (clockrate.length() == 0)
-            this.clockrate = "0";
-        else
-        {
-            Float f = Float.parseFloat(clockrate);
-            Integer nClockrate = f.intValue();
-            this.clockrate = nClockrate.toString();
-        }
-    }
-
-    /**
-     * Sets the hostid.  Truncates to a max length of 16 chars.
-     * @param hostId The hostid to set.
-     */
-    public void setHostId(String hostId) {
-        if (hostId == null || hostId.equals("null")) {
-            hostId = "";
-        }
-        if (hostId.length() > 16) {
-            hostId = hostId.substring(0,16);
-        }
-        this.hostId = hostId;
-    }
-
-    /**
-     * Returns the hostname.
-     * @return The hostname.
-     */
-    public String getHostname() {
-        return hostname;
-    }
-
-    /**
-     * Returns the osName.
-     * @return The osName.
-     */
-    public String getOsName() {
-        return osName;
-    }
-
-    /**
-     * Returns the osVersion.
-     * @return The osVersion.
-     */
-    public String getOsVersion() {
-        return osVersion;
-    }
-
-    /**
-     * Returns the osArchitecture.
-     * @return The osArchitecture.
-     */
-    public String getOsArchitecture() {
-        return osArchitecture;
-    }
-
-    /**
-     * Returns the systemModel.
-     * @return The systemModel.
-     */
-    public String getSystemModel() {
-        return systemModel;
-    }
-
-    /**
-     * Returns the systemManufacturer.
-     * @return The systemManufacturer.
-     */
-    public String getSystemManufacturer() {
-        return systemManufacturer;
-    }
-
-    /**
-     * Returns the serialNumber.
-     * @return The serialNumber.
-     */
-    public String getSerialNumber() {
-        return serialNumber;
-    }
-
-    public String getPhysMem() {
-        return physmem;
-    }
-
-    public String getSockets() {
-        return sockets;
-    }
-
-    public String getCores() {
-        return cores;
-    }
-
-    public String getVirtCpus() {
-        return virtcpus;
-    }
-
-    public String getCpuName() {
-        return cpuname;
-    }
-
-    public String getClockRate() {
-        return clockrate;
-    }
-
-    /**
-     * Returns the hostId.
-     * @return The hostId.
-     */
-    public String getHostId() {
-        return hostId;
-    }
-
-    /**
-     * Returns the cpuManufacturer.
-     * @return The cpuManufacturer.
-     */
-    public String getCpuManufacturer() {
-        return cpuManufacturer;
-    }
-
-    protected String getCommandOutput(String... command) {
-        StringBuilder sb = new StringBuilder();
-        BufferedReader br = null;
-        Process p = null;
-        try {
-            ProcessBuilder pb = new ProcessBuilder(command);
-            p = pb.start();
-            p.waitFor();
-
-            if (p.exitValue() == 0) {
-                br = new BufferedReader(new InputStreamReader(p.getInputStream()));
-                String line = null;
-                while ((line = br.readLine()) != null) {
-                    line = line.trim();
-                    if (line.length() > 0) {
-                        if (sb.length() > 0) {
-                            sb.append("\n");
-                        }
-                        sb.append(line);
-                    }
-                }
-            }
-            return sb.toString();
-        } catch (InterruptedException ie) {
-            // in case the command hangs
-            if (p != null) {
-                p.destroy();
-            }
-            return "";
-        } catch (Exception e) {
-            // ignore exception
-            return "";
-        } finally {
-            if (p != null) {
-                try {
-                    p.getErrorStream().close();
-                } catch (IOException e) {
-                    // ignore
-                }
-                try {
-                    p.getInputStream().close();
-                } catch (IOException e) {
-                    // ignore
-                }
-                try {
-                    p.getOutputStream().close();
-                } catch (IOException e) {
-                    // ignore
-                }
-                p = null;
-            }
-            if (br != null) {
-                try {
-                    br.close();
-                } catch (IOException e) {
-                    // ignore
-                } 
-            }
-        }
-    }
-
-    protected String getFileContent(String filename) {
-        File f = new File(filename);
-        if (!f.exists()) {
-            return "";
-        }
-
-        StringBuilder sb = new StringBuilder();
-        BufferedReader br = null;
-        try {
-            br = new BufferedReader(new FileReader(f));
-            String line = null;
-            while ((line = br.readLine()) != null) {
-                line = line.trim();
-                if (line.length() > 0) {
-                    if (sb.length() > 0) {
-                        sb.append("\n");
-                    }
-                    sb.append(line);
-                }
-            }
-            return sb.toString();
-        } catch (Exception e) {
-            // ignore exception
-            return "";
-        } finally {
-            if (br != null) {
-                try {
-                    br.close();
-                } catch (IOException e) {
-                    // ignore
-                } 
-            }
-        }
-    }
-}
diff --git a/desktop/source/registration/com/sun/star/servicetag/UnauthorizedAccessException.java 
b/desktop/source/registration/com/sun/star/servicetag/UnauthorizedAccessException.java
deleted file mode 100755
index a6d41e0..0000000
--- a/desktop/source/registration/com/sun/star/servicetag/UnauthorizedAccessException.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-package com.sun.star.servicetag;
-
-/**
- * Thrown if the user is not authorized to 
- * {@link Registry#updateServiceTag update} or
- * {@link Registry#removeServiceTag remove} 
- * a service tag from a {@link Registry}.
- */
-public class UnauthorizedAccessException extends RuntimeException {
-
-    /**
-     * Constructs an <code>UnauthorizedAccessException</code> object 
-     * without detail message.
-     */
-    public UnauthorizedAccessException() {
-    }
-
-
-    /**
-     * Constructs an <code>UnauthorizedAccessException</code> object
-     * with the specified detail message.
-     *
-     * @param msg the detail message.
-     */
-    public UnauthorizedAccessException(String msg) {
-        super(msg);
-    }
-}
diff --git a/desktop/source/registration/com/sun/star/servicetag/Util.java 
b/desktop/source/registration/com/sun/star/servicetag/Util.java
deleted file mode 100755
index c1cb14f..0000000
--- a/desktop/source/registration/com/sun/star/servicetag/Util.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-package com.sun.star.servicetag;
-
-import java.io.*;
-import java.util.Date;
-import java.text.SimpleDateFormat;
-import java.text.ParseException;
-import java.util.TimeZone;
-import java.util.UUID;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-
-// Utility class for com.sun.servicetag package
-class Util {
-    private static boolean verbose = (System.getProperty("servicetag.verbose") != null);
-    private static String jrepath = null;
-
-    // for debugging and tracing
-    static boolean isVerbose() {
-        return verbose;
-    }
-
-    /**
-     * Gets the pathname of JRE in the running platform
-     * This can be a JDK or JRE.
-     */
-    static synchronized String getJrePath() {
-        if (jrepath == null) {
-            // Determine the JRE path by checking the existence of
-            // <HOME>/jre/lib and <HOME>/lib.
-            String javaHome = System.getProperty("java.home");
-            jrepath = javaHome + File.separator + "jre";
-            File f = new File(jrepath, "lib");
-            if (!f.exists()) {
-                // java.home usually points to the JRE path
-                jrepath = javaHome;
-            }
-        }
-        return jrepath;
-    }
-
-    /**
-     * Tests if the running platform is a JDK.
-     */
-    static boolean isJdk() {
-        // <HOME>/jre exists which implies it's a JDK
-        return getJrePath().endsWith(File.separator + "jre");
-    }
-
-    /**
-     * Generates the URN string of "urn:st" namespace
-     */
-    static String generateURN() {
-        return "urn:st:" + UUID.randomUUID().toString();
-    }
-
-    static int getIntValue(String value) {
-        try {
-            return Integer.parseInt(value);
-        } catch (NumberFormatException e) {
-            throw new IllegalArgumentException("\"" + value + "\"" +
-                " expected to be an integer");
-        }
-    }
-
-    /**
-     * Formats the Date into a timestamp string in YYYY-MM-dd HH:mm:ss GMT.
-     * @param timestamp Date
-     * @return a string representation of the timestamp
-     *         in the YYYY-MM-dd HH:mm:ss GMT format.
-     */
-    static String formatTimestamp(Date timestamp) {
-        if (timestamp == null) {
-            return "[No timestamp]";
-        }
-        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");
-        df.setTimeZone(TimeZone.getTimeZone("GMT"));
-        return df.format(timestamp);
-    }
-
-    /**
-     * Parses a timestamp string in YYYY-MM-dd HH:mm:ss GMT format.
-     * @param timestamp Timestamp in the YYYY-MM-dd HH:mm:ss GMT format.
-     * @return Date
-     */
-    static Date parseTimestamp(String timestamp) {
-        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");
-        df.setTimeZone(TimeZone.getTimeZone("GMT"));
-        try {
-            return df.parse(timestamp);
-        } catch (ParseException e) {
-            // should not reach here
-            e.printStackTrace();
-            return new Date();
-        }
-    }
-
-    static String commandOutput(Process p) throws IOException {
-        Reader r = null;
-        Reader err = null;
-        try {
-            r = new InputStreamReader(p.getInputStream());
-            err = new InputStreamReader(p.getErrorStream());
-            String output = commandOutput(r);
-            String errorMsg = commandOutput(err);
-            p.waitFor();
-            return output + errorMsg.trim();
-        } catch (InterruptedException e) {
-            if (isVerbose()) {
-                e.printStackTrace();
-            }
-            return e.getMessage();
-        } finally {
-            if (r != null) {
-                r.close();
-            }
-            if (err != null) {
-                err.close();
-            }
-        }
-    }
-
-    static String commandOutput(Reader r) throws IOException {
-        StringBuilder sb = new StringBuilder();
-        int c;
-        while ((c = r.read()) > 0) {
-            if (c != '\r') {
-                sb.append((char) c);
-            }
-        }
-        return sb.toString();
-    }
-
-    static int getJdkVersion() {
-        parseVersion();
-        return jdkVersion;
-    }
-
-    static int getUpdateVersion() {
-        parseVersion();
-        return jdkUpdate;
-    }
-
-    private static int jdkVersion = 0;
-    private static int jdkUpdate = 0;
-    private static synchronized void parseVersion() {
-        if (jdkVersion > 0) {
-            return;
-        }
-
-        // parse java.runtime.version
-        // valid format of the version string is:
-        // n.n.n[_uu[c]][-<identifer>]-bxx
-        String cs = System.getProperty("java.runtime.version");
-        if (cs.length() >= 5 &&
-            Character.isDigit(cs.charAt(0)) && cs.charAt(1) == '.' &&
-            Character.isDigit(cs.charAt(2)) && cs.charAt(3) == '.' &&
-            Character.isDigit(cs.charAt(4))) {
-            jdkVersion = Character.digit(cs.charAt(2), 10);
-            cs = cs.substring(5, cs.length());
-            if (cs.charAt(0) == '_' && cs.length() >= 3 &&
-                Character.isDigit(cs.charAt(1)) &&
-                Character.isDigit(cs.charAt(2))) {
-                int nextChar = 3;
-                try {
-                    String uu = cs.substring(1, 3);
-                    jdkUpdate = Integer.valueOf(uu).intValue();
-                } catch (NumberFormatException e) {
-                    // not conforming to the naming convention
-                    return;
-                }
-            }
-        } else {
-            throw new InternalError("Invalid java.runtime.version" + cs);
-        }
-    }
-
-    /**
-     * Returns this java string as a null-terminated byte array
-     */
-    private static byte[] stringToByteArray(String str) {
-        return (str + "\u0000").getBytes();
-    }
-    
-    /** 
-     * Converts a null-terminated byte array to java string
-     */
-    private static String byteArrayToString(byte[] array) {
-    return new String(array, 0, array.length -1);
-    }
-
-    /**
-     * Gets the stclient path using a well known location from 
-     * the Windows platform Registry, otherwise it will return null.
-     */
-    static File getWindowsStClientFile() {
-        File out = null;
-        String regKey = "software\\microsoft\\windows\\currentversion\\app paths\\stclient.exe";
-        String keyName = "" ; // use the default  key
-        String path = getRegistryKey(regKey, keyName);
-
-        if (path != null && (new File(path)).exists()) {
-            out = new File(path);
-        }
-        if (isVerbose()) {
-            System.out.println("stclient=" + out);
-        }
-        return out;
-    }
-
-    /**
-     * This uses reflection to access a private java windows registry 
-     * interface, any changes to that Class must be appropriately adjusted.
-     * Returns a null if unsuccessful.
-     */
-    private static String getRegistryKey(String regKey, String keyName) {
-        String out = null;
-        try {
-            Class<?> clazz = Class.forName("java.util.prefs.WindowsPreferences");
-
-        // Get the registry methods
-            Method winRegOpenKeyM = clazz.getDeclaredMethod("WindowsRegOpenKey", 
-                    int.class, byte[].class, int.class);
-            winRegOpenKeyM.setAccessible(true);
-
-            Method winRegCloseKeyM = clazz.getDeclaredMethod("WindowsRegCloseKey", 
-                    int.class);
-            winRegCloseKeyM.setAccessible(true);
-
-            Method winRegQueryValueM = clazz.getDeclaredMethod("WindowsRegQueryValueEx", 
-                    int.class, byte[].class);
-            winRegQueryValueM.setAccessible(true);
-
-            // Get all the constants we need
-            int HKLM = getValueFromStaticField("HKEY_LOCAL_MACHINE", clazz);
-            int KEY_READ = getValueFromStaticField("KEY_READ", clazz);
-            int ERROR_CODE = getValueFromStaticField("ERROR_CODE", clazz);
-            int NATIVE_HANDLE = getValueFromStaticField("NATIVE_HANDLE", clazz);
-            int ERROR_SUCCESS = getValueFromStaticField("ERROR_SUCCESS", clazz);
-
-            // Convert keys
-            byte[] reg = stringToByteArray(regKey);
-            byte[] key = stringToByteArray(keyName);
-
-            // Open the registry
-            int[] result = (int[]) winRegOpenKeyM.invoke(null, HKLM, reg, KEY_READ);
-
-            if (result[ERROR_CODE] == ERROR_SUCCESS) {
-                byte[] stvalue = (byte[]) winRegQueryValueM.invoke(null, 
-                    result[NATIVE_HANDLE], key);
-                out = byteArrayToString(stvalue);
-                winRegCloseKeyM.invoke(null, result[NATIVE_HANDLE]);
-            }
-        } catch (Exception ex) {
-            if (isVerbose()) {
-                ex.printStackTrace();
-            }
-        }
-        return out;
-    }
-
-    private static int getValueFromStaticField(String fldName, Class<?> klass) throws Exception {
-        Field f = klass.getDeclaredField(fldName);
-        f.setAccessible(true);
-        return f.getInt(null);
-    }
-}
diff --git a/desktop/source/registration/com/sun/star/servicetag/WindowsSystemEnvironment.java 
b/desktop/source/registration/com/sun/star/servicetag/WindowsSystemEnvironment.java
deleted file mode 100755
index fd500a8..0000000
--- a/desktop/source/registration/com/sun/star/servicetag/WindowsSystemEnvironment.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-package com.sun.star.servicetag;
-
-// The Service Tags team maintains the latest version of the implementation
-// for system environment data collection.  JDK will include a copy of
-// the most recent released version for a JDK release.        We rename
-// the package to com.sun.servicetag so that the Sun Connection
-// product always uses the latest version from the com.sun.scn.servicetags
-// package. JDK and users of the com.sun.servicetag API
-// (e.g. NetBeans and SunStudio) will use the version in JDK.
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * Windows implementation of the SystemEnvironment class.
- */
-class WindowsSystemEnvironment extends SystemEnvironment {
-    WindowsSystemEnvironment() {
-        super();
-
-        // run a call to make sure things are initialized
-        // ignore the first call result as the system may 
-        // give inconsistent data on the first invocation ever
-        getWmicResult("computersystem", "get", "model"); 
-
-        setSystemModel(getWmicResult("computersystem", "get", "model"));
-        setSystemManufacturer(getWmicResult("computersystem", "get", "manufacturer"));
-        setSerialNumber(getWmicResult("bios", "get", "serialnumber"));
-
-        String cpuMfr = getWmicResult("cpu", "get", "manufacturer");
-        // this isn't as good an option, but if we couldn't get anything
-        // from wmic, try the processor_identifier
-        if (cpuMfr.length() == 0) {
-            String procId = System.getenv("processor_identifer");
-            if (procId != null) {
-                String[] s = procId.split(",");
-                cpuMfr = s[s.length - 1].trim();
-            }
-        }
-        setCpuManufacturer(cpuMfr);
-
-        setSockets(getWindowsSockets());
-        setCores(getWindowsCores());
-        setVirtCpus(getWindowsVirtCpus());
-        setPhysMem(getWindowsPhysMem());
-        setCpuName(getWmicResult("cpu", "get", "Name"));
-        setClockRate(getWmicResult("cpu", "get", "MaxClockSpeed"));
-
-        // try to remove the temp file that gets created from running wmic cmds
-        try {
-            // look in the current working directory
-            File f = new File("TempWmicBatchFile.bat");
-            if (f.exists()) {
-                f.delete();
-            }
-        } catch (Exception e) {
-            // ignore the exception
-        }
-    }
-
-    private String getWindowsVirtCpus() {
-        String res = getWmicResult("cpu", "get", "NumberOfLogicalProcessors");
-        if (res == null || res.equals("")) {
-            res = "1";
-        }
-        return res;
-    }
-
-    private String getWindowsCores() {
-        String res = getWmicResult("cpu", "get", "NumberOfCores");
-        if (res == null || res.equals("")) {
-            res = "1";
-        }
-        return res;
-    }
-
-    private String getWindowsSockets() {
-        String res = getFullWmicResult("cpu", "get", "DeviceID");
-        Set<String> set = new HashSet<String>();
-        for (String line : res.split("\n")) {
-            line = line.trim();
-            if (line.equals("")) {
-                continue;
-            }
-            set.add(line);
-        }
-        if (set.size() == 0) {
-            return "1";
-        }
-        return "" + set.size();
-    }
-
-    private String getWindowsPhysMem() {
-        String mem = getWmicResult("computersystem", "get", "TotalPhysicalMemory");
-        long l = Long.parseLong(mem);
-        return "" + ((long) (l / (1024*1024)));
-    }
-
-
-    /**
-     * This method invokes wmic outside of the normal environment
-     * collection routines.
-     *
-     * An initial call to wmic can be costly in terms of time.  
-     *
-     * <code>
-     * Details of why the first call is costly can be found at:
-     *
-     * http://support.microsoft.com/kb/290216/en-us
-     *
-     * "When you run the Wmic.exe utility for the first time, the utility
-     * compiles its .mof files into the repository. To save time during
-     * Windows installation, this operation takes place as necessary."
-     * </code>
-     */
-    private String getWmicResult(String alias, String verb, String property) {
-        String res = "";
-        BufferedReader in = null;
-        try {
-            ProcessBuilder pb = new ProcessBuilder("cmd", "/C", "WMIC", alias, verb, property);
-            Process p = pb.start();
-            // need this for executing windows commands (at least
-            // needed for executing wmic command)
-            BufferedWriter bw = new BufferedWriter(
-                new OutputStreamWriter(p.getOutputStream()));
-            bw.write(13);
-            bw.flush();
-            bw.close();
-
-            p.waitFor();
-            if (p.exitValue() == 0) {
-                in = new BufferedReader(new InputStreamReader(p.getInputStream()));
-                String line = null;
-                while ((line = in.readLine()) != null) {
-                    line = line.trim();
-                    if (line.length() == 0) {
-                        continue;
-                    }
-                    res = line;
-                }
-                // return the *last* line read
-                return res;
-            }
-
-        } catch (Exception e) {
-            // ignore the exception
-        } finally {
-            if (in != null) {
-                try {
-                    in.close();
-                } catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-        return res.trim();
-    }
-
-    private String getFullWmicResult(String alias, String verb, String property) {
-        String res = "";
-        BufferedReader in = null;
-        try {
-            ProcessBuilder pb = new ProcessBuilder("cmd", "/C", "WMIC", alias, verb, property);
-            Process p = pb.start();
-            // need this for executing windows commands (at least
-            // needed for executing wmic command)
-            BufferedWriter bw = new BufferedWriter(
-                new OutputStreamWriter(p.getOutputStream()));
-            bw.write(13);
-            bw.flush();
-            bw.close();
-
-            p.waitFor();
-            if (p.exitValue() == 0) {
-                in = new BufferedReader(new InputStreamReader(p.getInputStream()));
-                String line = null;
-                while ((line = in.readLine()) != null) {
-                    line = line.trim();
-                    if (line.length() == 0) {
-                        continue;
-                    }
-                    if (line.toLowerCase().indexOf(property.toLowerCase()) != -1) {
-                        continue;
-                    }
-                    res += line + "\n";
-                }
-            }
-
-        } catch (Exception e) {
-            // ignore the exception
-        } finally {
-            if (in != null) {
-                try {
-                    in.close();
-                } catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-        return res;
-    }
-}
diff --git a/desktop/source/registration/com/sun/star/servicetag/makefile.mk 
b/desktop/source/registration/com/sun/star/servicetag/makefile.mk
deleted file mode 100755
index 7849646..0000000
--- a/desktop/source/registration/com/sun/star/servicetag/makefile.mk
+++ /dev/null
@@ -1,79 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-# 
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org.  If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJNAME        = setup_native
-PRJ            = ..$/..$/..$/..$/..$/..
-TARGET = servicetag
-PACKAGE        = com$/sun$/star$/servicetag
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE :  settings.mk
-
-.IF "$(ENABLE_SVCTAGS)" == "YES"
-
-JARFILES = jurt.jar unoil.jar ridl.jar 
-JAVAFILES = \
-    BrowserSupport.java \
-    Installer.java \
-    LinuxSystemEnvironment.java \
-    RegistrationData.java \
-    RegistrationDocument.java \
-    Registry.java \
-    ServiceTag.java \
-    SolarisServiceTag.java \
-    SolarisSystemEnvironment.java \
-    SunConnection.java \
-    SysnetRegistryHelper.java \
-    SystemEnvironment.java \
-    UnauthorizedAccessException.java \
-    Util.java \
-    WindowsSystemEnvironment.java
-
-JAVACLASSFILES= $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-
-JARTARGET               = $(TARGET).jar
-JARCOMPRESS             = TRUE
-JARCLASSDIRS            = $(PACKAGE)
-
-JAVARES= $(CLASSDIR)$/$(PACKAGE)$/resources$/product_registration.xsd
-
-.ENDIF                 # "$(ENABLE_SVCTAGS)" == "YES"
-
-# --- Targets ------------------------------------------------------
-
-
-.INCLUDE :  target.mk
-
-.IF "$(ENABLE_SVCTAGS)" == "YES"
-ALLTAR: $(JAVARES)
-
-$(JAVARES) : $$(@:d:d:f)$/$$(@:f)
-    $(MKDIRHIER) $(@:d)
-    $(COPY) $< $@
-
-.ENDIF                 # "$(ENABLE_SVCTAGS)" == "YES"
diff --git a/desktop/source/registration/com/sun/star/servicetag/resources/product_registration.xsd 
b/desktop/source/registration/com/sun/star/servicetag/resources/product_registration.xsd
deleted file mode 100755
index 6681a56..0000000
--- a/desktop/source/registration/com/sun/star/servicetag/resources/product_registration.xsd
+++ /dev/null
@@ -1,366 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";>
-
-<xs:element name="registration_data">
-  <xs:complexType>
-    <xs:sequence>
-      <xs:element name="environment"
-                  minOccurs="1"
-                  maxOccurs="1">
-        <xs:complexType>
-          <xs:sequence>
-            <xs:element ref="hostname"
-                        minOccurs='1'
-                        maxOccurs='1'/>
-            <xs:element ref="hostId"
-                        minOccurs='1'
-                        maxOccurs='1'/>
-            <xs:element ref="osName"
-                        minOccurs='1'
-                        maxOccurs='1'/>
-            <xs:element ref="osVersion"
-                        minOccurs='1'
-                        maxOccurs='1'/>
-            <xs:element ref="osArchitecture"
-                        minOccurs='1'
-                        maxOccurs='1'/>
-            <xs:element ref="systemModel"
-                        minOccurs='1'
-                        maxOccurs='1'/>
-            <xs:element ref="systemManufacturer"
-                        minOccurs='1'
-                        maxOccurs='1'/>
-            <xs:element ref="cpuManufacturer"
-                        minOccurs='1'
-                        maxOccurs='1'/>
-            <xs:element ref="serialNumber"
-                        minOccurs='1'
-                        maxOccurs='1'/>
-            <xs:element ref="physmem"
-                        minOccurs='0'
-                        maxOccurs='1'/>
-            <xs:element name="cpuinfo"
-                        minOccurs='0'
-                        maxOccurs='1'>
-              <xs:complexType>
-                <xs:sequence>
-                  <xs:element ref="sockets"
-                              minOccurs='0'
-                              maxOccurs='1'/>
-                  <xs:element ref="cores"
-                              minOccurs='0'
-                              maxOccurs='1'/>
-                  <xs:element ref="virtcpus"
-                              minOccurs='0'
-                              maxOccurs='1'/>
-                  <xs:element ref="name"
-                              minOccurs='0'
-                              maxOccurs='1'/>
-                  <xs:element ref="clockrate"
-                              minOccurs='0'
-                              maxOccurs='1'/>
-                </xs:sequence>
-              </xs:complexType>
-            </xs:element>
-          </xs:sequence>
-        </xs:complexType>
-      </xs:element>
-      <xs:element name="registry"
-                  minOccurs="1"
-                  maxOccurs="1">
-        <xs:complexType>
-          <xs:sequence>
-            <xs:element name="service_tag"
-                        minOccurs="0"
-                        maxOccurs="1024">
-              <xs:complexType>
-                <xs:sequence>
-                  <xs:element ref="instance_urn"
-                              minOccurs='1'
-                              maxOccurs='1'/>
-                  <xs:element ref="product_name"
-                              minOccurs='1'
-                              maxOccurs='1'/>
-                  <xs:element ref="product_version"
-                              minOccurs='1'
-                              maxOccurs='1'/>
-                  <xs:element ref="product_urn"
-                              minOccurs='1'
-                              maxOccurs='1'/>
-                  <xs:element ref="product_parent_urn"
-                              minOccurs='1'
-                              maxOccurs='1'/>
-                  <xs:element ref="product_parent"
-                              minOccurs='1'
-                              maxOccurs='1'/>
-                  <xs:element ref="product_defined_inst_id"
-                              minOccurs='1'
-                              maxOccurs='1'/>
-                  <xs:element ref="product_vendor"
-                              minOccurs='1'
-                              maxOccurs='1'/>
-                  <xs:element ref="platform_arch"
-                              minOccurs='1'
-                              maxOccurs='1'/>
-                  <xs:element ref="timestamp"
-                              minOccurs='1'
-                              maxOccurs='1'/>
-                  <xs:element ref="container"
-                              minOccurs='1'
-                              maxOccurs='1'/>
-                  <xs:element ref="source"
-                              minOccurs='1'
-                              maxOccurs='1'/>
-                  <xs:element ref="installer_uid"
-                              minOccurs='1'
-                              maxOccurs='1'/>
-                </xs:sequence>
-              </xs:complexType>
-            </xs:element>
-          </xs:sequence>
-          <xs:attribute name="urn"
-                        type="xs:string"
-                        use="required"/>
-          <xs:attribute name="version"
-                        type="xs:string"
-                        use="required"/>
-        </xs:complexType>
-      </xs:element>
-    </xs:sequence>
-    <xs:attribute name="version"
-                  type="xs:string"
-                  use="required"/>
-  </xs:complexType>
-</xs:element>
-
-  <!-- definition of simple elements -->
-  <xs:element name="hostname">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:minLength value="1"/>
-        <xs:maxLength value="255"/>
-      </xs:restriction>
-    </xs:simpleType>
-   </xs:element>
-
-  <xs:element name="hostId">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:minLength value="0"/>
-        <xs:maxLength value="16"/>
-      </xs:restriction>
-    </xs:simpleType>
-   </xs:element>
-
-  <xs:element name="osName">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:minLength value="1"/>
-        <xs:maxLength value="256"/>
-      </xs:restriction>
-    </xs:simpleType>
-   </xs:element>
-
-  <xs:element name="osVersion">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:minLength value="0"/>
-        <xs:maxLength value="50"/>
-      </xs:restriction>
-    </xs:simpleType>
-   </xs:element>
-
-  <xs:element name="osArchitecture">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:minLength value="0"/>
-        <xs:maxLength value="256"/>
-      </xs:restriction>
-    </xs:simpleType>
-   </xs:element>
-
-  <xs:element name="systemModel">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:minLength value="0"/>
-        <xs:maxLength value="50"/>
-      </xs:restriction>
-    </xs:simpleType>
-   </xs:element>
-
-  <xs:element name="systemManufacturer">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:minLength value="0"/>
-        <xs:maxLength value="50"/>
-      </xs:restriction>
-    </xs:simpleType>
-   </xs:element>
-
-  <xs:element name="cpuManufacturer">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:minLength value="0"/>
-        <xs:maxLength value="50"/>
-      </xs:restriction>
-    </xs:simpleType>
-   </xs:element>
-
-  <xs:element name="serialNumber">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:minLength value="0"/>
-        <xs:maxLength value="256"/>
-      </xs:restriction>
-    </xs:simpleType>
-   </xs:element>
-
-  <xs:element name="instance_urn">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:minLength value="1"/>
-        <xs:maxLength value="255"/>
-      </xs:restriction>
-    </xs:simpleType>
-   </xs:element>
-
-  <xs:element name="product_name">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:maxLength value="255"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:element>
-
-  <xs:element name="product_version">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:maxLength value="63"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:element>
-
-  <xs:element name="product_urn">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:minLength value="1"/>
-        <xs:maxLength value="255"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:element>
-
-  <xs:element name="product_parent_urn">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:minLength value="0"/>
-        <xs:maxLength value="255"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:element>
-
-  <xs:element name="product_parent">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:minLength value="0"/>
-        <xs:maxLength value="255"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:element>
-
-  <xs:element name="product_defined_inst_id">
-      <xs:simpleType>
-          <xs:restriction base="xs:string">
-              <xs:minLength value="0"/>
-              <xs:maxLength value="255"/>
-          </xs:restriction>
-      </xs:simpleType>
-  </xs:element>
-
-  <xs:element name="product_vendor">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:minLength value="0"/>
-        <xs:maxLength value="63"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:element>
-
-  <xs:element name="platform_arch">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:minLength value="0"/>
-        <xs:maxLength value="63"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:element>
-
-  <xs:element name="timestamp">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:maxLength value="24"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:element>
-
-  <xs:element name="container">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:maxLength value="63"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:element> 
-
-  <xs:element name="source">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:maxLength value="63"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:element> 
-
-  <xs:element name="installer_uid">
-    <xs:simpleType>
-      <xs:restriction base="xs:integer">
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:element>
-
-  <xs:element name="physmem">
-    <xs:simpleType>
-      <xs:restriction base="xs:integer"/>
-    </xs:simpleType>
-  </xs:element>
-
-  <xs:element name="sockets">
-    <xs:simpleType>
-      <xs:restriction base="xs:integer"/>
-    </xs:simpleType>
-  </xs:element>
-
-  <xs:element name="cores">
-    <xs:simpleType>
-      <xs:restriction base="xs:integer"/>
-    </xs:simpleType>
-  </xs:element>
-
-  <xs:element name="virtcpus">
-    <xs:simpleType>
-      <xs:restriction base="xs:integer"/>
-    </xs:simpleType>
-  </xs:element>
-
-  <xs:element name="name">
-    <xs:simpleType>
-      <xs:restriction base="xs:string">
-        <xs:maxLength value="128"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:element>
-
-  <xs:element name="clockrate">
-    <xs:simpleType>
-      <xs:restriction base="xs:integer"/>
-    </xs:simpleType>
-  </xs:element>
-
-</xs:schema>
-- 
1.7.1

From 34d6553d505d45ac0e73df60acd8449ef7cc6a5b Mon Sep 17 00:00:00 2001
From: Matus Kukan <matus.kukan@gmail.com>
Date: Sat, 2 Jul 2011 15:14:00 +0200
Subject: [PATCH] Remove online registration related code

---
 helpcontent2/helpers/help_hid.lst           |    2 --
 helpcontent2/helpers/longnames_commands.csv |    2 --
 helpcontent2/helpers/uno-commands.csv       |    1 -
 helpcontent2/helpers/uno_hid.lst            |    2 --
 helpcontent2/helpers/unocmds.txt            |    1 -
 5 files changed, 0 insertions(+), 8 deletions(-)

diff --git a/helpcontent2/helpers/help_hid.lst b/helpcontent2/helpers/help_hid.lst
index 5e9224e..ffb9de2 100644
--- a/helpcontent2/helpers/help_hid.lst
+++ b/helpcontent2/helpers/help_hid.lst
@@ -5620,8 +5620,6 @@ SID_OLE_ACTIVATE,26607,.uno:ActivateOLE
 SID_OLE_DEACTIVATE,26608,.uno:Deactivate
 SID_OLE_OBJECT,26606,.uno:OleObject
 SID_OLE_SELECT,26621,.uno:SelectOLE
-SID_ONLINE_REGISTRATION,6537,.uno:OnlineRegistrationDlg
-SID_ONLINE_REGISTRATION_DLG,6540,.uno:StartRegistrationDialog
 SID_OPENDLG_CONDFRMT,26159,.uno:ConditionalFormatDialog
 SID_OPENDLG_CONSOLIDATE,26150,.uno:DataConsolidate
 SID_OPENDLG_EDIT_PRINTAREA,26605,.uno:EditPrintArea
diff --git a/helpcontent2/helpers/longnames_commands.csv 
b/helpcontent2/helpers/longnames_commands.csv
index 3ba7bfd..92a9e84 100644
--- a/helpcontent2/helpers/longnames_commands.csv
+++ b/helpcontent2/helpers/longnames_commands.csv
@@ -1444,8 +1444,6 @@ SID_OLE_ACTIVATE,.uno:ActivateOLE
 SID_OLE_DEACTIVATE,.uno:Deactivate
 SID_OLE_OBJECT,.uno:OleObject
 SID_OLE_SELECT,.uno:SelectOLE
-SID_ONLINE_REGISTRATION,.uno:OnlineRegistrationDlg
-SID_ONLINE_REGISTRATION_DLG,.uno:StartRegistrationDialog
 SID_OPENDLG_CHART,.uno:StarChartDialog
 SID_OPENDLG_CONDFRMT,.uno:ConditionalFormatDialog
 SID_OPENDLG_CONSOLIDATE,.uno:DataConsolidate
diff --git a/helpcontent2/helpers/uno-commands.csv b/helpcontent2/helpers/uno-commands.csv
index 7ce9242..5baf4c2 100644
--- a/helpcontent2/helpers/uno-commands.csv
+++ b/helpcontent2/helpers/uno-commands.csv
@@ -1199,7 +1199,6 @@
 .uno:ObjectPosition
 .uno:Objects3DToolbox
 .uno:OnlineAutoFormat
-.uno:OnlineRegistrationDlg
 .uno:Open
 .uno:OpenHyperlinkOnCursor
 .uno:OpenReadOnly
diff --git a/helpcontent2/helpers/uno_hid.lst b/helpcontent2/helpers/uno_hid.lst
index 81ca336..06cb093 100644
--- a/helpcontent2/helpers/uno_hid.lst
+++ b/helpcontent2/helpers/uno_hid.lst
@@ -1439,8 +1439,6 @@ SID_OLE_ACTIVATE,26607,.uno:ActivateOLE
 SID_OLE_DEACTIVATE,26608,.uno:Deactivate
 SID_OLE_OBJECT,26606,.uno:OleObject
 SID_OLE_SELECT,26621,.uno:SelectOLE
-SID_ONLINE_REGISTRATION,6537,.uno:OnlineRegistrationDlg
-SID_ONLINE_REGISTRATION_DLG,6540,.uno:StartRegistrationDialog
 SID_OPENDLG_CHART,26155,.uno:StarChartDialog
 SID_OPENDLG_CONDFRMT,26159,.uno:ConditionalFormatDialog
 SID_OPENDLG_CONSOLIDATE,26150,.uno:DataConsolidate
diff --git a/helpcontent2/helpers/unocmds.txt b/helpcontent2/helpers/unocmds.txt
index e6a0a37..014f2ca 100644
--- a/helpcontent2/helpers/unocmds.txt
+++ b/helpcontent2/helpers/unocmds.txt
@@ -729,7 +729,6 @@
 .uno:ObjectPosition;shared/01/05250000.xhp
 .uno:Objects3DToolbox;simpress/02/10090000.xhp
 .uno:OnlineAutoFormat;swriter/01/05150100.xhp
-.uno:OnlineRegistrationDlg;shared/01/08060100.xhp
 .uno:Open;shared/01/01020000.xhp
 .uno:OpenHyperlinkOnCursor;shared/02/09070000.xhp
 .uno:OpenReadOnly;shared/02/01171000.xhp
-- 
1.7.1

From a4b2e366272bd0f1c54610bb7aa19f26c37cab95 Mon Sep 17 00:00:00 2001
From: Matus Kukan <matus.kukan@gmail.com>
Date: Sat, 2 Jul 2011 17:21:45 +0200
Subject: [PATCH] Remove online registration related code

---
 configmgr/qa/unit/data.xcd                         |    5 --
 framework/source/fwe/classes/addonmenu.cxx         |   31 ++-----------
 framework/source/services/backingwindow.cxx        |   19 -------
 framework/source/services/backingwindow.hxx        |    1 -
 framework/source/uielement/menubarmanager.cxx      |   11 +----
 .../org/openoffice/Office/UI/GenericCommands.xcu   |    5 --
 sfx2/inc/sfx2/sfxcommands.h                        |    2 -
 sfx2/inc/sfx2/sfxsids.hrc                          |    3 -
 sfx2/sdi/appslots.sdi                              |    8 ---
 sfx2/sdi/sfx.sdi                                   |   50 --------------------
 sfx2/source/appl/appserv.cxx                       |   49 -------------------
 svx/inc/globlmn_tmpl.hrc                           |    6 --
 12 files changed, 6 insertions(+), 184 deletions(-)

diff --git a/configmgr/qa/unit/data.xcd b/configmgr/qa/unit/data.xcd
index 97e0aed..cd1cdd3 100755
--- a/configmgr/qa/unit/data.xcd
+++ b/configmgr/qa/unit/data.xcd
@@ -3578,11 +3578,6 @@
           <value>1</value>
         </prop>
       </node>
-      <node oor:name=".uno:OnlineRegistrationDlg" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="x-no-translate"></value><value xml:lang="en-US">~Registration...</value>
-        </prop>
-      </node>
       <node oor:name=".uno:GoToStartSel" oor:op="replace">
         <prop oor:name="Label" oor:type="xs:string">
           <value xml:lang="x-no-translate"></value><value xml:lang="en-US">Select to File 
Begin</value>
diff --git a/framework/source/fwe/classes/addonmenu.cxx b/framework/source/fwe/classes/addonmenu.cxx
index f4df73e..d55f2fa 100644
--- a/framework/source/fwe/classes/addonmenu.cxx
+++ b/framework/source/fwe/classes/addonmenu.cxx
@@ -66,7 +66,6 @@ using namespace ::com::sun::star::beans;
 // Please look at sfx2/inc/sfxsids.hrc the values are defined there. Due to build dependencies
 // we cannot include the header file.
 const sal_uInt16 SID_HELPMENU            = (SID_SFX_START + 410);
-const sal_uInt16 SID_ONLINE_REGISTRATION = (SID_SFX_START + 1537);
 
 namespace framework
 {
@@ -213,40 +212,21 @@ void AddonMenuManager::MergeAddonHelpMenu( const Reference< XFrame >& rFrame, 
Me
 
         if ( pHelpMenu )
         {
-            static const char REFERENCECOMMAND_AFTER[]  = ".uno:OnlineRegistrationDlg";
             static const char REFERENCECOMMAND_BEFORE[] = ".uno:About";
 
             // Add-Ons help menu items should be inserted after the "registration" menu item
-            bool   bAddAfter        = true;
             sal_uInt16 nItemCount       = pHelpMenu->GetItemCount();
-            sal_uInt16 nRegPos          = pHelpMenu->GetItemPos( SID_ONLINE_REGISTRATION );
-            sal_uInt16 nInsPos          = nRegPos;
             sal_uInt16 nInsSepAfterPos  = MENU_APPEND;
             sal_uInt16 nUniqueMenuId    = ADDONMENU_ITEMID_START;
             AddonsOptions aOptions;
 
-            if ( nRegPos == USHRT_MAX )
-            {
-                // try to detect the online registration dialog menu item with the command URL
-                sal_uInt16 nId = FindMenuId( pHelpMenu, String::CreateFromAscii( 
REFERENCECOMMAND_AFTER ));
-                nRegPos    = pHelpMenu->GetItemPos( nId );
-                nInsPos    = nRegPos;
-            }
-
-            if ( nRegPos == USHRT_MAX )
-            {
-                // second try:
-                // try to detect the about menu item with the command URL
-                sal_uInt16 nId = FindMenuId( pHelpMenu, String::CreateFromAscii( 
REFERENCECOMMAND_BEFORE ));
-                nRegPos    = pHelpMenu->GetItemPos( nId );
-                nInsPos    = nRegPos;
-                bAddAfter  = false;
-            }
+            // try to detect the about menu item with the command URL
+            sal_uInt16 nId = FindMenuId( pHelpMenu, String::CreateFromAscii( 
REFERENCECOMMAND_BEFORE ));
+            sal_uInt16 nInsPos = pHelpMenu->GetItemPos( nId );
 
             Sequence< Sequence< PropertyValue > > aAddonSubMenu;
             const Sequence< Sequence< PropertyValue > >& rAddonHelpMenuEntries = 
aOptions.GetAddonsHelpMenu();
 
-            nInsPos = bAddAfter ? AddonMenuManager::GetNextPos( nInsPos ) : nInsPos;
             if ( nInsPos < nItemCount && pHelpMenu->GetItemType( nInsPos ) != MENUITEM_SEPARATOR )
                 nInsSepAfterPos = nInsPos;
 
@@ -261,10 +241,7 @@ void AddonMenuManager::MergeAddonHelpMenu( const Reference< XFrame >& rFrame, 
Me
                     if ( pHelpMenu->GetItemType( nInsSepAfterPos ) != MENUITEM_SEPARATOR )
                         pHelpMenu->InsertSeparator( nInsSepAfterPos );
                 }
-                if ( nRegPos < MENU_APPEND )
-                    pHelpMenu->InsertSeparator( nRegPos+1 );
-                else
-                    pHelpMenu->InsertSeparator( nItemCount );
+                pHelpMenu->InsertSeparator( nItemCount );
             }
         }
     }
diff --git a/framework/source/services/backingwindow.cxx 
b/framework/source/services/backingwindow.cxx
index 4317c99..e85cb06 100644
--- a/framework/source/services/backingwindow.cxx
+++ b/framework/source/services/backingwindow.cxx
@@ -905,25 +905,6 @@ IMPL_LINK( BackingWindow, ToolboxHdl, void*, EMPTYARG )
         pNodePath = "/org.openoffice.Office.Common/Help/StartCenter";
         pNode = "AddFeatureURL";
         break;
-    case nItemId_Reg:
-        try
-        {
-            // create the Desktop component which can load components
-            Reference < lang::XMultiServiceFactory > xFactory = 
::comphelper::getProcessServiceFactory();
-            if( xFactory.is() )
-            {
-                Reference< task::XJobExecutor > xProductRegistration(
-                    xFactory->createInstance( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( 
"com.sun.star.setup.ProductRegistration" ) ) ),
-                    UNO_QUERY_THROW );
-
-                 // tell it that the user wants to register
-                 xProductRegistration->trigger( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( 
"RegistrationRequired" ) ) );
-            }
-        }
-        catch (const Exception&)
-        {
-        }
-        break;
     case nItemId_Info:
         pNodePath = "/org.openoffice.Office.Common/Help/StartCenter";
         pNode = "InfoURL";
diff --git a/framework/source/services/backingwindow.hxx 
b/framework/source/services/backingwindow.hxx
index f3a6721..425018d 100644
--- a/framework/source/services/backingwindow.hxx
+++ b/framework/source/services/backingwindow.hxx
@@ -135,7 +135,6 @@ namespace framework
         std::vector< LoadRecentFile >   maRecentFiles;
 
         static const int nItemId_Extensions = 1;
-        static const int nItemId_Reg = 2;
         static const int nItemId_Info = 3;
         static const int nItemId_TplRep = 4;
         static const int nShadowTop = 32;
diff --git a/framework/source/uielement/menubarmanager.cxx 
b/framework/source/uielement/menubarmanager.cxx
index 132c555..d3c5e4c 100644
--- a/framework/source/uielement/menubarmanager.cxx
+++ b/framework/source/uielement/menubarmanager.cxx
@@ -782,7 +782,6 @@ void SAL_CALL MenuBarManager::disposing( const EventObject& Source ) throw ( Run
 void MenuBarManager::CheckAndAddMenuExtension( Menu* pMenu )
 {
     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen@sun.com", 
"MenuBarManager::CheckAndAddMenuExtension" );
-    static const char REFERENCECOMMAND_AFTER[]          = ".uno:OnlineRegistrationDlg";
     static const char REFERENCECOMMAND_BEFORE[]         = ".uno:About";
 
     // retrieve menu extension item
@@ -793,24 +792,18 @@ void MenuBarManager::CheckAndAddMenuExtension( Menu* pMenu )
         // remove all old window list entries from menu
         sal_uInt16 nNewItemId( 0 );
         sal_uInt16 nInsertPos( MENU_APPEND );
-        sal_uInt16 nAfterPos( MENU_APPEND );
         sal_uInt16 nBeforePos( MENU_APPEND );
-        String     aCommandAfter( String::CreateFromAscii ( REFERENCECOMMAND_AFTER ));
         String     aCommandBefore( String::CreateFromAscii ( REFERENCECOMMAND_BEFORE ));
         for ( sal_uInt16 n = 0; n < pMenu->GetItemCount(); n++ )
         {
             sal_uInt16 nItemId = pMenu->GetItemId( n );
             nNewItemId = std::max( nItemId, nNewItemId );
-            if ( pMenu->GetItemCommand( nItemId ) == aCommandAfter )
-                nAfterPos = n+1;
-            else if ( pMenu->GetItemCommand( nItemId ) == aCommandBefore )
+            if ( pMenu->GetItemCommand( nItemId ) == aCommandBefore )
                 nBeforePos = n;
         }
         ++nNewItemId;
 
-        if ( nAfterPos != MENU_APPEND )
-            nInsertPos = nAfterPos;
-        else if ( nBeforePos != MENU_APPEND )
+        if ( nBeforePos != MENU_APPEND )
             nInsertPos = nBeforePos;
 
         pMenu->InsertItem( nNewItemId, aMenuItem.aLabel, 0, nInsertPos );
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu 
b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
index 0610270..e61cca4 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
@@ -3556,11 +3556,6 @@
                     <value>1</value>
                 </prop>
             </node>
-            <node oor:name=".uno:OnlineRegistrationDlg" oor:op="replace">
-                <prop oor:name="Label" oor:type="xs:string">
-                    <value xml:lang="en-US">~Registration...</value>
-                </prop>
-            </node>
             <node oor:name=".uno:GoToStartSel" oor:op="replace">
                 <prop oor:name="Label" oor:type="xs:string">
                     <value xml:lang="en-US">Select to File Begin</value>
diff --git a/sfx2/inc/sfx2/sfxcommands.h b/sfx2/inc/sfx2/sfxcommands.h
index 1ed1e84..106a119 100755
--- a/sfx2/inc/sfx2/sfxcommands.h
+++ b/sfx2/inc/sfx2/sfxcommands.h
@@ -253,7 +253,6 @@
 #define CMD_SID_SHOWPOPUPS                          ".uno:ShowPopups"
 #define CMD_SID_BASICIDE_SHOWSBX                    ".uno:ShowSbx"
 #define CMD_SID_SOURCEVIEW                          ".uno:SourceView"
-#define CMD_SID_ONLINE_REGISTRATION_DLG             ".uno:StartRegistrationDialog"
 #define CMD_SID_STATUSBARTEXT                       ".uno:StatusBar"
 #define CMD_SID_TOGGLESTATUSBAR                     ".uno:StatusBarVisible"
 #define CMD_SID_BASICIDE_STAT_DATE                  ".uno:StatusGetDate"
@@ -308,7 +307,6 @@
 #define CMD_SID_ADDONHELP                           ".uno:AddonHelp"
 #define CMD_SID_FORMATMENUSTATE                     ".uno:FormatMenuState"
 #define CMD_SID_INET_DLG                            ".uno:InternetDialog"
-#define CMD_SID_ONLINE_REGISTRATION                 ".uno:OnlineRegistrationDlg"
 #define CMD_SID_OFFICE_CHECK_PLZ                    ".uno:CheckPLZ"
 #define CMD_SID_ADDRESS_DATA_SOURCE                 ".uno:AutoPilotAddressDataSource"
 #define CMD_FN_BUSINESS_CARD                        ".uno:InsertBusinessCard"
diff --git a/sfx2/inc/sfx2/sfxsids.hrc b/sfx2/inc/sfx2/sfxsids.hrc
index d0456cc..a228916 100755
--- a/sfx2/inc/sfx2/sfxsids.hrc
+++ b/sfx2/inc/sfx2/sfxsids.hrc
@@ -206,9 +206,6 @@
 #define SID_BASEURL                                            (SID_SFX_START + 1518)
 #define SID_TEMPLATE                        (SID_SFX_START + 1519)
 
-#define SID_ONLINE_REGISTRATION                                (SID_SFX_START + 1537)
-
-#define SID_ONLINE_REGISTRATION_DLG                    (SID_SFX_START + 1540)
 #define SID_CONTENTTYPE                     (SID_SFX_START + 1541)
 
 #define SID_SAVETO                          (SID_SFX_START + 1546)
diff --git a/sfx2/sdi/appslots.sdi b/sfx2/sdi/appslots.sdi
index 026f8bb..0dbdfb3 100755
--- a/sfx2/sdi/appslots.sdi
+++ b/sfx2/sdi/appslots.sdi
@@ -232,14 +232,6 @@ shell SfxApplication
 
     //----------------------------------------------------------------------
 
-    SID_ONLINE_REGISTRATION
-    [
-        ExecMethod = OfaExec_Impl;
-        StateMethod = OfaState_Impl;
-    ]
-
-    //----------------------------------------------------------------------
-
     SID_OFFICE_CHECK_PLZ
     [
         ExecMethod = OfaExec_Impl;
diff --git a/sfx2/sdi/sfx.sdi b/sfx2/sdi/sfx.sdi
index b40e842..a8d7c29 100755
--- a/sfx2/sdi/sfx.sdi
+++ b/sfx2/sdi/sfx.sdi
@@ -5967,31 +5967,6 @@ SfxBoolItem SourceView SID_SOURCEVIEW
 ]
 
 //--------------------------------------------------------------------------
-SfxVoidItem StartRegistrationDialog SID_ONLINE_REGISTRATION_DLG
-()
-[
-    /* flags: */
-    AutoUpdate = FALSE,
-    Cachable = Cachable,
-    FastCall = FALSE,
-    HasCoreId = FALSE,
-    HasDialog = FALSE,
-    ReadOnlyDoc = TRUE,
-    Toggle = FALSE,
-    Container = TRUE,
-    RecordAbsolute = FALSE,
-    RecordPerSet;
-    Synchron;
-
-    /* config: */
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    StatusBarConfig = FALSE,
-    ToolBoxConfig = FALSE,
-    GroupId = GID_SPECIAL;
-]
-
-//--------------------------------------------------------------------------
 SfxStringItem StatusBar SID_STATUSBARTEXT
 
 [
@@ -7414,31 +7389,6 @@ SfxVoidItem InternetDialog SID_INET_DLG
 ]
 
 //--------------------------------------------------------------------------
-SfxVoidItem OnlineRegistrationDlg SID_ONLINE_REGISTRATION
-()
-[
-    /* flags: */
-    AutoUpdate = FALSE,
-    Cachable = Cachable,
-    FastCall = FALSE,
-    HasCoreId = FALSE,
-    HasDialog = TRUE,
-    ReadOnlyDoc = TRUE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerSet;
-    Synchron;
-
-    /* config: */
-    AccelConfig = TRUE,
-    MenuConfig = TRUE,
-    StatusBarConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = GID_APPLICATION;
-]
-
-//--------------------------------------------------------------------------
 SfxBoolItem CheckPLZ SID_OFFICE_CHECK_PLZ
 (SfxStringItem PLZ SID_OFFICE_CHECK_PLZ)
 [
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx
index ca10e6b..8afc98a 100644
--- a/sfx2/source/appl/appserv.cxx
+++ b/sfx2/source/appl/appserv.cxx
@@ -741,12 +741,6 @@ void SfxApplication::MiscState_Impl(SfxItemSet &rSet)
     }
 }
 
-static const ::rtl::OUString& getProductRegistrationServiceName( )
-{
-    static ::rtl::OUString 
s_sServiceName(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.setup.ProductRegistration"));
-    return s_sServiceName;
-}
-
 typedef        rtl_uString* (SAL_CALL *basicide_choose_macro)(XModel*, sal_Bool, rtl_uString*);
 typedef        void (SAL_CALL *basicide_macro_organizer)( sal_Int16 );
 
@@ -991,30 +985,6 @@ void SfxApplication::OfaExec_Impl( SfxRequest& rReq )
             break;
         }
 
-        case SID_ONLINE_REGISTRATION:
-        {
-            try
-            {
-                // create the ProductRegistration component
-                Reference< com::sun::star::lang::XMultiServiceFactory > xORB( 
::comphelper::getProcessServiceFactory() );
-                Reference< com::sun::star::task::XJobExecutor > xProductRegistration;
-                if ( xORB.is() )
-                    xProductRegistration = xProductRegistration.query( xORB->createInstance( 
getProductRegistrationServiceName() ) );
-                DBG_ASSERT( xProductRegistration.is(), "OfficeApplication::ExecuteApp_Impl: could 
not create the service!" );
-
-                // tell it that the user wants to register
-                if ( xProductRegistration.is() )
-                {
-                    xProductRegistration->trigger( 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RegistrationRequired")) );
-                }
-            }
-            catch( const ::com::sun::star::uno::Exception& )
-            {
-                OSL_FAIL( "OfficeApplication::ExecuteApp_Impl(SID_ONLINE_REGISTRATION): caught an 
exception!" );
-            }
-        }
-        break;
-
         case SID_BASICIDE_APPEAR:
         {
             SfxViewFrame* pView = lcl_getBasicIDEViewFrame( NULL );
@@ -1332,25 +1302,6 @@ void SfxApplication::OfaExec_Impl( SfxRequest& rReq )
 
 void SfxApplication::OfaState_Impl(SfxItemSet &rSet)
 {
-    const sal_uInt16 *pRanges = rSet.GetRanges();
-    DBG_ASSERT(pRanges && *pRanges, "Set without Region");
-    while ( *pRanges )
-    {
-        for(sal_uInt16 nWhich = *pRanges++; nWhich <= *pRanges; ++nWhich)
-        {
-            switch(nWhich)
-            {
-                case SID_ONLINE_REGISTRATION:
-                {
-                    ::utl::RegOptions aOptions;
-                    if ( !aOptions.allowMenu() )
-                        rSet.DisableItem( SID_ONLINE_REGISTRATION );
-                }
-                break;
-            }
-        }
-    }
-
     SvtModuleOptions aModuleOpt;
 
     if( !aModuleOpt.IsWriter())
diff --git a/svx/inc/globlmn_tmpl.hrc b/svx/inc/globlmn_tmpl.hrc
index 3089dec..bb37f11 100755
--- a/svx/inc/globlmn_tmpl.hrc
+++ b/svx/inc/globlmn_tmpl.hrc
@@ -909,12 +909,6 @@
     HelpID = SID_SHOW_CREDITS ; \
     Text [ en-US ] = "%PRODUCTNAME Credits..." ;
 
-#define ITEM_HELP_ONLINE_REGISTRATION \
-    Identifier = SID_ONLINE_REGISTRATION ; \
-    Command = ".uno:OnlineRegistrationDlg" ; \
-    Text [ en-US ] = "~Registration..." ; \
-    
-
 #define ITEM_HELP_ABOUT \
     Identifier = SID_ABOUT ; \
     Command = ".uno:About" ; \
-- 
1.7.1

From 3e5fab72a2eb3e561a0ffec29f89b6e22a9dae92 Mon Sep 17 00:00:00 2001
From: Matus Kukan <matus.kukan@gmail.com>
Date: Sat, 2 Jul 2011 15:05:35 +0200
Subject: [PATCH] Remove online registration related code

---
 testautomation/global/sid/all.sid |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/testautomation/global/sid/all.sid b/testautomation/global/sid/all.sid
index 258ef7c..32be4f2 100755
--- a/testautomation/global/sid/all.sid
+++ b/testautomation/global/sid/all.sid
@@ -597,7 +597,6 @@ HilfeInhalt .uno:HelpIndex
 HilfeHelferlein .uno:HelperDialog
 HilfeTip .uno:HelpTip
 HilfeAktiveHilfe .uno:ActiveHelp
-HilfeOnlineregistrierung .uno:OnlineRegistrationDlg
 HilfeInfoUeber .uno:About
 
 
-- 
1.7.1


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.