diff options
-rw-r--r-- | jurt/com/sun/star/comp/servicemanager/ServiceManager.java | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/jurt/com/sun/star/comp/servicemanager/ServiceManager.java b/jurt/com/sun/star/comp/servicemanager/ServiceManager.java index a4a5f8d865c8..38e5cb30646d 100644 --- a/jurt/com/sun/star/comp/servicemanager/ServiceManager.java +++ b/jurt/com/sun/star/comp/servicemanager/ServiceManager.java @@ -188,15 +188,12 @@ public class ServiceManager implements XMultiServiceFactory, public String[] getAvailableServiceNames() throws com.sun.star.uno.RuntimeException { - int i = 0; - String[] availableServiceNames = new String[factoriesByServiceNames.size()]; - - java.util.Iterator<String> keys = factoriesByServiceNames.keySet().iterator(); - - while (keys.hasNext()) - availableServiceNames[i++] = keys.next(); - - return availableServiceNames; + try{ + return factoriesByServiceNames.keySet().toArray( + new String[ factoriesByServiceNames.size() ] ); + } catch(Exception ex) { + throw new com.sun.star.uno.RuntimeException(ex.toString()); + } } // XMultiComponentFactory implementation |