*/
private URL getRemoteObrInstallUrl(String path) throws IOException, InvalidSyntaxException
{
if( path == null || path.trim().length() == 0 )
{
throw new MalformedURLException( "Path cannot be null or empty. Syntax " + SYNTAX );
}
final String[] segments = path.split( "/" );
if( segments.length > 2 )
{
throw new MalformedURLException( "Path cannot contain more then one '/'. Syntax " + SYNTAX );
}
final StringBuffer buffer = new StringBuffer();
// add bundle symbolic name filter
buffer.append( "(symbolicname=" ).append( segments[ 0 ] ).append( ")" );
if( !validateFilter( buffer.toString() ) )
{
throw new MalformedURLException( "Invalid symbolic name value." );
}
// add bundle version filter
if( segments.length > 1 )
{
buffer.insert( 0, "(&" ).append( "(version=" ).append( segments[ 1 ] ).append( "))" );
if( !validateFilter( buffer.toString() ) )
{
throw new MalformedURLException( "Invalid version value." );
}
}
Resource[] discoverResources =
m_reRepositoryAdmin.discoverResources(buffer.toString());
if (discoverResources == null || discoverResources.length == 0)