]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.g3d/src/org/simantics/g3d/tools/PluginTools.java
Use FileLocator.toFileURL to get access to image files
[simantics/3d.git] / org.simantics.g3d / src / org / simantics / g3d / tools / PluginTools.java
1 /*******************************************************************************
2  * Copyright (c) 2012, 2013 Association for Decentralized Information Management in
3  * Industry THTH ry.
4  * All rights reserved. This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License v1.0
6  * which accompanies this distribution, and is available at
7  * http://www.eclipse.org/legal/epl-v10.html
8  *
9  * Contributors:
10  *     VTT Technical Research Centre of Finland - initial API and implementation
11  *******************************************************************************/
12 package org.simantics.g3d.tools;
13
14 import java.io.File;
15 import java.net.URL;
16
17 import org.eclipse.core.runtime.FileLocator;
18 import org.eclipse.core.runtime.IPath;
19 import org.eclipse.core.runtime.Path;
20 import org.osgi.framework.Bundle;
21
22 public class PluginTools {
23         
24         public static String getAbsolutePath(Bundle inBundle, String fullpath) {
25                 IPath path = new Path(fullpath);
26                 URL u = FileLocator.find(inBundle, path, null);
27                 if (u != null) {
28                         try {
29                                 u = FileLocator.toFileURL(u);
30                                 if ("file".equals(u.getProtocol())) {
31                                         return new File(u.getFile()).getAbsolutePath();
32                                 }
33                         } catch (Exception e) {
34                         }
35                 }
36                 return null;
37         }
38
39 }