1 /*************************************************************************
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3 *
4 * Copyright 2000, 2010 Oracle and/or its affiliates.
5 *
6 * OpenOffice.org - a multi-platform office productivity suite
7 *
8 * This file is part of OpenOffice.org.
9 *
10 * OpenOffice.org is free software: you can redistribute it and/or modify
11 * it under the terms of the GNU Lesser General Public License version 3
12 * only, as published by the Free Software Foundation.
13 *
14 * OpenOffice.org is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 * GNU Lesser General Public License version 3 for more details
18 * (a copy is included in the LICENSE file that accompanied this code).
19 *
20 * You should have received a copy of the GNU Lesser General Public License
21 * version 3 along with OpenOffice.org.  If not, see
22 * <http://www.openoffice.org/license.html>
23 * for a copy of the LGPLv3 License.
24 ************************************************************************/
25 
26 package com.sun.star.comp.test.deployment.active_java;
27 
28 import com.sun.star.lang.XSingleComponentFactory;
29 import com.sun.star.lib.uno.helper.Factory;
30 import com.sun.star.registry.InvalidRegistryException;
31 import com.sun.star.registry.XRegistryKey;
32 
33 public final class Services {
34     private Services() {}
35 
36     public static XSingleComponentFactory __getComponentFactory(
37         String implementation)
38     {
39         if (implementation.equals(Dispatch.implementationName)) {
40             return Factory.createComponentFactory(
41                 Dispatch.class, Dispatch.implementationName,
42                 Dispatch.serviceNames);
43         } else if (implementation.equals(Provider.implementationName)) {
44             return Factory.createComponentFactory(
45                 Provider.class, Provider.implementationName,
46                 Provider.serviceNames);
47         } else {
48             return null;
49         }
50     }
51 
52     public static boolean __writeRegistryServiceInfo(XRegistryKey key) {
53         if (!(Factory.writeRegistryServiceInfo(
54                   Dispatch.implementationName, Dispatch.serviceNames, key) &&
55               Factory.writeRegistryServiceInfo(
56                   Provider.implementationName, Provider.serviceNames, key)))
57         {
58             return false;
59         }
60         try {
61             key.
62                 createKey(
63                     "/" + Dispatch.implementationName +
64                     "/UNO/SINGLETONS/" +
65                     "com.sun.star.test.deployment.active_java_singleton").
66                 setStringValue(Dispatch.implementationName);
67         } catch (InvalidRegistryException e) {
68             return false;
69         }
70         return true;
71     }
72 }
73