/** * Method to populate current Repositories using OSGi Serive */ private void populateRepositories() { // Cleaning Repositories repositories.clear(); // Validating that RepositoryAdmin exists Validate.notNull(getRepositoryAdmin(), "RepositoryAdmin not found"); for (Repository repo : getRepositoryAdmin().listRepositories()) { repositories.add(repo); } }
private void addDefaultRepositories() { // Getting wrapping repository url String wrappingRepoUrl = context.getProperty("wrapping.repository.url"); try { getRepositoryAdmin().addRepository(wrappingRepoUrl); } catch (Exception e) { LOGGER.log(Level.WARNING, "WARNING: Wrapping repository could not be installed"); } }
@Override public void removeRepo(String url) throws Exception { LOGGER.log(Level.INFO, "Removing repository " + url + "..."); getRepositoryAdmin().removeRepository(url); // Removing repos from installed Repos list installedRepos.remove(url); // Updating configuration service with installed repos config.update(installedRepos); LOGGER.log(Level.INFO, "Repository '" + url + "' removed!"); }
/** * Method to populate current Repositories using OSGi Service * @throws Exception */ private void populateRepositories() throws Exception { // Cleaning Repositories repositories.clear(); // Validating that RepositoryAdmin exists Validate.notNull(getRepositoryAdmin(), "RepositoryAdmin not found"); // Checking if exists installed Repos and adding to repositories Enumeration persistedRepos = installedRepos.keys(); while (persistedRepos.hasMoreElements()) { String repositoryURL = (String) persistedRepos.nextElement(); // Checking if is a valid URL if (repositoryURL.startsWith("http") || repositoryURL.startsWith("file")) { // Installing persisted repositories getRepositoryAdmin().addRepository(repositoryURL); } } for (Repository repo : getRepositoryAdmin().listRepositories()) { repositories.add(repo); } }
DataModelHelper helper = repositoryAdmin.getHelper(); Repository appRepo; try { resolveRepos.add(repositoryAdmin.getSystemRepository()); Repository[] repos = repositoryAdmin.listRepositories(); for (Repository r : repos) { resolveRepos.add(r); Resolver obrResolver = repositoryAdmin.resolver(resolveRepos.toArray(new Repository[resolveRepos.size()])); addPlatformRepositories (obrResolver, appName, platformRepository); log.debug(LOG_EXIT, "getConfiguredObrResolver", obrResolver);
private Resource[] getAllResources(RepositoryAdmin repositoryAdmin) { try { return repositoryAdmin.discoverResources("(symbolicname=*)"); } catch (InvalidSyntaxException e) { throw new RuntimeException("Unexpected error", e); } }
private void refreshRepository(ActionRequest actionRequest) throws Exception { String uri = actionRequest.getParameter("repo.uri"); String name = getName(actionRequest.getParameter("repo.name"), uri); BundleContext bundleContext = getBundleContext(actionRequest); ServiceReference reference = null; try { if (GeronimoOBRGBean.REPOSITORY_NAME.equals(name)) { reference = bundleContext.getServiceReference(GeronimoOBRGBean.class.getName()); GeronimoOBRGBean obrGBean = (GeronimoOBRGBean) bundleContext.getService(reference); // do refresh obrGBean.refresh(); } else { reference = bundleContext.getServiceReference(RepositoryAdmin.class.getName()); RepositoryAdmin repositoryAdmin = (RepositoryAdmin) bundleContext.getService(reference); // do refresh repositoryAdmin.removeRepository(uri); repositoryAdmin.addRepository(uri); } } finally { if (reference != null) { bundleContext.ungetService(reference); } } addInfoMessage(actionRequest, getLocalizedString(actionRequest, "consolebase.obrmanager.info.refreshurl", name)); }
final org.apache.felix.bundlerepository.Resolver resolver = ra.resolver(); final org.apache.felix.bundlerepository.Requirement req = ra.getHelper().requirement( bundle.getSymbolicName(), filter ); final org.apache.felix.bundlerepository.Resource[] resources = ra .discoverResources( new org.apache.felix.bundlerepository.Requirement[] { req } ); final org.apache.felix.bundlerepository.Resource resource = selectHighestVersion( resources );
protected void doExecute(RepositoryAdmin admin) throws Exception { for (String id : ids) { if (useIndex) { Repository[] repos = admin.listRepositories(); int index = Integer.parseInt(id); if (index >= 0 && index < repos.length) { admin.removeRepository(repos[index].getURI()); } else { System.err.println("Invalid index"); } } else { admin.removeRepository(id); } } persistRepositoryList(admin); } }
@Override final void doAction( String action, String urlParam ) throws IOException, ServletException { RepositoryAdmin admin = ( RepositoryAdmin ) getRepositoryAdmin(); Repository[] repos = admin.listRepositories(); Repository repo = getRepository( repos, urlParam ); String uri = repo != null ? repo.getURI() : urlParam; if ( "delete".equals( action ) ) //$NON-NLS-1$ { if ( !admin.removeRepository( uri ) ) { throw new ServletException( "Failed to remove repository with URL " + uri ); } } else if ( "add".equals( action ) || "refresh".equals( action ) ) //$NON-NLS-1$ //$NON-NLS-2$ { try { admin.addRepository( uri ); } catch ( IOException e ) { throw e; } catch ( Exception e ) { throw new ServletException( "Failed to " + action + " repository " + uri + ": " + e.toString() ); } } }
synchronized Bundle deploy(Resource resource) { final Resolver resolver = getRepositoryAdmin().resolver(getRepositories()); boolean resolved = resolve(resolver, resource); if (resolved) { final int flags = !deployOptionalRequirements ? Resolver.NO_OPTIONAL_RESOURCES : 0; resolver.deploy(flags); return getBundle(resource); } else { Reason[] reqs = resolver.getUnsatisfiedRequirements(); logger.logp(Level.WARNING, "ObrHandler", "deploy", "Unable to satisfy the requirements: {0}", new Object[]{Arrays.toString(reqs)}); return null; } }
private void saveRepository(File repoFile, Repository repository) throws IOException { assert (repoFile != null); final FileWriter writer = new FileWriter(repoFile); getRepositoryAdmin().getHelper().writeRepository(repository, writer); writer.flush(); }
private Repository getLocalRepository(RepositoryAdmin admin) { Repository localRepository = repositoryAdmin.getLocalRepository(); Resource[] resources = localRepository.getResources(); Resource[] newResources = new Resource[resources.length]; for (int i = 0; i < resources.length; i++) { newResources[i] = new ResourceWrapper(resources[i]); } return repositoryAdmin.getHelper().repository(newResources); }
Resolver resolver = repoAdmin.resolver(); Resource[] resources = repoAdmin.discoverResources( filter ); if ( resources != null && resources.length > 0 )
@Override public Object addingService(ServiceReference reference) { if (this.getTrackingCount() == 1) { logger.logp(Level.INFO, "ObrHandler", "addingService", "We already have a repository admin service, so ignoring {0}", new Object[]{reference}); return null; // we are not tracking this } RepositoryAdmin repositoryAdmin = (RepositoryAdmin) context.getService(reference); repositories.add(repositoryAdmin.getSystemRepository()); repositories.add(repositoryAdmin.getLocalRepository()); return super.addingService(reference); }
DataModelHelper helper = repositoryAdmin.getHelper(); Repository appRepo; try { resolveRepos.add(repositoryAdmin.getSystemRepository()); Repository[] repos = repositoryAdmin.listRepositories(); for (Repository r : repos) { resolveRepos.add(r); Resolver obrResolver = repositoryAdmin.resolver(resolveRepos.toArray(new Repository[resolveRepos.size()])); addPlatformRepositories (obrResolver, appName, platformRepository); log.debug(LOG_EXIT, "getConfiguredObrResolver", obrResolver);
@Override public Resource[] findResources(String id) { // String filter = "(&(SYMBOLIC_NAME={0})(VERSION={1}))"; String filter = "({0}={1})"; filter = MessageFormat.format(filter, Resource.ID, id); try { return admin.discoverResources(filter); } catch (InvalidSyntaxException e) { logger.error("Invalid OSGi filter " + filter, e); } return new Resource[0]; }
if (event.getType() == Constants.URL_ADD_EVENT_TYPE) { LOGGER.debug("CELLAR OBR: adding repository URL {}", url); obrService.addRepository(url); boolean removed = obrService.removeRepository(url); if (!removed) { LOGGER.warn("CELLAR OBR: repository URL {} has not been added to the OBR service", url);
final org.apache.felix.bundlerepository.Resolver resolver = ra.resolver(); final org.apache.felix.bundlerepository.Requirement req = ra.getHelper().requirement( bundle.getSymbolicName(), filter ); final org.apache.felix.bundlerepository.Resource[] resources = ra .discoverResources( new org.apache.felix.bundlerepository.Requirement[] { req } ); final org.apache.felix.bundlerepository.Resource resource = selectHighestVersion( resources );
protected void doExecute(RepositoryAdmin admin) throws Exception { for (String id : ids) { if (useIndex) { Repository[] repos = admin.listRepositories(); int index = Integer.parseInt(id); if (index >= 0 && index < repos.length) { admin.removeRepository(repos[index].getURI()); } else { System.err.println("Invalid index"); } } else { admin.removeRepository(id); } } persistRepositoryList(admin); } }