[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[news.eclipse.platform] Re: File Path API

Praveen, I think "plugin folder" isn't said, rather your plugin is
a "bundle", a thing that is an abstraction of how the storage might be implemented. That's why Tom's getBundle() is the right way to go for plugin file access. The code I posted was for Eclipse IResources (not Java's resource aka non-class file in a package).


John.

Praveen wrote:
Hi John,
Thank you for your reply. I am trying to use the API as you suggested, but am not able to get a path. In fact the getProject returns me a project even when the project does not exist.
I just realized that I should not be accessing the resource as a file path, because if the plugin is deployed as a jar, then the jar would need to be extracted to a temp location for the absolute path to be valid.
Is there a better way to access a resource contained in a plugin folder?
Regards Praveen.


    "John J. Barton" <johnjbarton@xxxxxxxxxxxxxxx
    <mailto:johnjbarton@xxxxxxxxxxxxxxx>> wrote in message
    news:ekth5d$skj$1@xxxxxxxxxxxxxxxxxxxx
    Maybe this will give you some hints as to which API to look into:

    IProject project =
    ResourcesPlugin.getWorkspace().getRoot().getProject(best_project_match);

    IPath as_specific_as_possible = source_path;
    if (project.exists()) {
      iseg++; // skip project name
      IPath resourcePath = source_path.removeFirstSegments(iseg);
      IResource resource = project.findMember(resourcePath);
      as_specific_as_possible = resource.getLocation();
      if (as_specific_as_possible == null) {
    as_specific_as_possible = path; // someone lied
      }
    } // else not in workspace

    If you really want a URL, then try something like
       path.toFile().toURI().toURL();

Praveen wrote:
> Hi,
> > I am writing a plugin and need to access a file within one of the
folder.
> > I tried using URL
u=this.getClass().getResource("/Profile/Profile.uml2");
> > But this returns a path of the eclipse installation. Is there any
other
> API which can return the path of the file?
> > Thanks Praveen.