Skip to content

Package: ProvidersContentProvider

ProvidersContentProvider

nameinstructionbranchcomplexitylinemethod
ProvidersContentProvider()
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
ProvidersContentProvider(boolean)
M: 6 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
connectInput(ECPProviderRegistry)
M: 7 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
disconnectInput(ECPProviderRegistry)
M: 7 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
excludesProvidersThatCannotAddRepositories()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
fillChildren(Object, InternalChildrenList)
M: 31 C: 0
0%
M: 8 C: 0
0%
M: 5 C: 0
0%
M: 9 C: 0
0%
M: 1 C: 0
0%
providersChanged(Collection, Collection)
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /********************************************************************************
2: * Copyright (c) 2011 Eike Stepper (Berlin, Germany) and others.
3: *
4: * All rights reserved. This program and the accompanying materials
5: * are made available under the terms of the Eclipse Public License 2.0
6: * which accompanies this distribution, and is available at
7: * https://www.eclipse.org/legal/epl-2.0/
8: *
9: * SPDX-License-Identifier: EPL-2.0
10: *
11: * Contributors:
12: * Eike Stepper - initial API and implementation
13: ********************************************************************************/
14: package org.eclipse.emf.ecp.internal.ui.model;
15:
16: import java.util.Collection;
17:
18: import org.eclipse.emf.ecp.core.ECPProvider;
19: import org.eclipse.emf.ecp.core.ECPProviderRegistry;
20: import org.eclipse.emf.ecp.core.util.ECPUtil;
21: import org.eclipse.emf.ecp.core.util.observer.ECPProvidersChangedObserver;
22: import org.eclipse.emf.ecp.spi.core.util.InternalChildrenList;
23:
24: /**
25: * @author Eike Stepper
26: */
27: public class ProvidersContentProvider extends TreeContentProvider<ECPProviderRegistry> implements
28:         // ECPProviderRegistry.Listener
29:         ECPProvidersChangedObserver {
30:         private final boolean excludesProvidersThatCannotAddRepositories;
31:
32:         public ProvidersContentProvider() {
33:                 this(false);
34:         }
35:
36:         public ProvidersContentProvider(boolean excludesProvidersThatCannotAddRepositories) {
37:                 this.excludesProvidersThatCannotAddRepositories = excludesProvidersThatCannotAddRepositories;
38:         }
39:
40:         public final boolean excludesProvidersThatCannotAddRepositories() {
41:                 return excludesProvidersThatCannotAddRepositories;
42:         }
43:
44:         @Override
45:         protected void fillChildren(Object parent, InternalChildrenList childrenList) {
46:•                if (parent == ECPUtil.getECPProviderRegistry()) {
47:                         final Collection<ECPProvider> providers = ECPUtil.getECPProviderRegistry().getProviders();
48:•                        if (!excludesProvidersThatCannotAddRepositories) {
49:                                 childrenList.addChildren(providers);
50:                         } else {
51:•                                for (final ECPProvider provider : providers) {
52:•                                        if (provider.hasCreateRepositorySupport()) {
53:                                                 childrenList.addChild(provider);
54:                                         }
55:                                 }
56:                         }
57:                 }
58:         }
59:
60:         @Override
61:         public void providersChanged(Collection<ECPProvider> oldProviders, Collection<ECPProvider> newProviders) {
62:                 refreshViewer();
63:         }
64:
65:         @Override
66:         protected void connectInput(ECPProviderRegistry input) {
67:                 super.connectInput(input);
68:                 ECPUtil.getECPObserverBus().register(this);
69:         }
70:
71:         @Override
72:         protected void disconnectInput(ECPProviderRegistry input) {
73:                 ECPUtil.getECPObserverBus().unregister(this);
74:                 super.disconnectInput(input);
75:         }
76: }