public Object addingService(ServiceReference reference) { ContainerTypeDescription ctd = (ContainerTypeDescription) context.getService(reference); if (ctd != null && ctd.getName() != null) ContainerFactory.getDefault().addDescription(ctd); return ctd; }
/** * Remove extensions for container factory extension point * * @param members * the members to remove */ protected void removeContainerFactoryExtensions(IConfigurationElement[] members) { // For each configuration element for (int m = 0; m < members.length; m++) { final IConfigurationElement member = members[m]; String name = null; try { // Get name and get version, if available name = member.getAttribute(NAME_ATTRIBUTE); if (name == null) name = member.getAttribute(CLASS_ATTRIBUTE); final IContainerFactory factory = ContainerFactory.getDefault(); final ContainerTypeDescription cd = factory.getDescriptionByName(name); if (cd == null || !factory.containsDescription(cd)) continue; // remove factory.removeDescription(cd); trace("removeContainerFactoryExtensions", "Removed ContainerTypeDescription=" + cd); //$NON-NLS-1$ //$NON-NLS-2$ } catch (final Exception e) { logException("removeContainerFactoryExtensions", "Unexpected exception", e); //$NON-NLS-1$//$NON-NLS-2$ } } }
void addContainerExtensions(IConfigurationElement[] members) { // For each configuration element for (int m = 0; m < members.length; m++) { final IConfigurationElement member = members[m]; String factory = null; String id = null; try { // The only required attribute is "factoryName" factory = member.getAttribute(FACTORY_ATTRIBUTE); // Skip over if factory name is invalid if (factory == null || "".equals(factory)) //$NON-NLS-1$ continue; // get id attribute id = member.getAttribute(ID_ATTRIBUTE); id = (id == null || "".equals(id)) ? null : id; //$NON-NLS-1$ Map parameters = getParametersForContainer(member); ContainerFactory.getDefault().createContainer(factory, id, parameters); trace("addContainerExtensions", "Created container with id=" + id); //$NON-NLS-1$ //$NON-NLS-2$ } catch (final CoreException e) { logException(e.getStatus(), "addContainerExtensions", e); //$NON-NLS-1$ } catch (final Exception e) { logException("addContainerExtensions", "Exception creating container with id=" + id, null); //$NON-NLS-1$//$NON-NLS-2$ } } }
ContainerTypeDescription ctd = factory.getDescriptionByName(name); if (factory.containsDescription(scd)) { log(new Status(IStatus.WARNING, Activator.PLUGIN_ID, "Factory already has container type description=" + scd + ". Ignoring extension from " + member.getContributor().getName())); //$NON-NLS-1$ //$NON-NLS-2$ continue; factory.addDescription(scd); trace("addContainerFactoryDescription", "added ContainerTypeDescription=" + scd); //$NON-NLS-1$ //$NON-NLS-2$ } catch (final CoreException e) {
public void removedService(ServiceReference reference, Object service) { IContainerFactory cf = ContainerFactory.getDefault(); cf.removeDescription((ContainerTypeDescription) service); } });
protected void sendBrowseRequest(URI uri, IProgressMonitor monitor) throws CoreException, FileNotFoundException, AuthenticationFailedException, JREHttpClientRequiredException { IContainer container; try { container = ContainerFactory.getDefault().createContainer(); } catch (ContainerCreateException e) { throw RepositoryStatusHelper.fromMessage(Messages.ecf_configuration_error); } IRemoteFileSystemBrowserContainerAdapter adapter = container.getAdapter(IRemoteFileSystemBrowserContainerAdapter.class); if (adapter == null) { throw RepositoryStatusHelper.fromMessage(Messages.ecf_configuration_error); } adapter.setConnectContextForAuthentication(connectContext); this.exception = null; this.theMonitor = monitor; for (int retryCount = 0;; retryCount++) { if (monitor != null && monitor.isCanceled()) throw new OperationCanceledException(); try { IFileID fileID = FileIDFactory.getDefault().createFileID(adapter.getBrowseNamespace(), uri.toString()); browseRequest = adapter.sendBrowseRequest(fileID, this); } catch (RemoteFileSystemException e) { exception = e; } catch (FileCreateException e) { exception = e; } if (checkException(uri, retryCount)) break; } }
protected void sendBrowseRequest(URI uri, IProgressMonitor monitor) throws CoreException, FileNotFoundException, AuthenticationFailedException, JREHttpClientRequiredException { IContainer container; try { container = ContainerFactory.getDefault().createContainer(); } catch (ContainerCreateException e) { throw RepositoryStatusHelper.fromMessage(Messages.ecf_configuration_error); } IRemoteFileSystemBrowserContainerAdapter adapter = container.getAdapter(IRemoteFileSystemBrowserContainerAdapter.class); if (adapter == null) { throw RepositoryStatusHelper.fromMessage(Messages.ecf_configuration_error); } adapter.setConnectContextForAuthentication(connectContext); this.exception = null; this.theMonitor = monitor; for (int retryCount = 0;; retryCount++) { if (monitor != null && monitor.isCanceled()) throw new OperationCanceledException(); try { IFileID fileID = FileIDFactory.getDefault().createFileID(adapter.getBrowseNamespace(), uri.toString()); browseRequest = adapter.sendBrowseRequest(fileID, this); } catch (RemoteFileSystemException e) { exception = e; } catch (FileCreateException e) { exception = e; } if (checkException(uri, retryCount)) break; } }
protected void sendBrowseRequest(URI uri, IProgressMonitor monitor) throws CoreException, FileNotFoundException, AuthenticationFailedException, JREHttpClientRequiredException { IContainer container; try { container = ContainerFactory.getDefault().createContainer(); } catch (ContainerCreateException e) { throw RepositoryStatusHelper.fromMessage(Messages.ecf_configuration_error); } IRemoteFileSystemBrowserContainerAdapter adapter = container.getAdapter(IRemoteFileSystemBrowserContainerAdapter.class); if (adapter == null) { throw RepositoryStatusHelper.fromMessage(Messages.ecf_configuration_error); } adapter.setConnectContextForAuthentication(connectContext); this.exception = null; this.theMonitor = monitor; for (int retryCount = 0;; retryCount++) { if (monitor != null && monitor.isCanceled()) throw new OperationCanceledException(); try { IFileID fileID = FileIDFactory.getDefault().createFileID(adapter.getBrowseNamespace(), uri.toString()); browseRequest = adapter.sendBrowseRequest(fileID, this); } catch (RemoteFileSystemException e) { exception = e; } catch (FileCreateException e) { exception = e; } if (checkException(uri, retryCount)) break; } }