• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

link-intersystems / lis-commons / #264

05 Nov 2023 11:38AM UTC coverage: 88.527% (-1.3%) from 89.804%
#264

Pull #7

renelink
Added tests.
Pull Request #7: Migrated swing-view stuff from java-swing-mvc-plugin-architecture.

249 of 400 new or added lines in 23 files covered. (62.25%)

7639 of 8629 relevant lines covered (88.53%)

0.89 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

60.87
/lis-commons-util-context/src/main/java/com/link_intersystems/util/context/DefaultContext.java
1
package com.link_intersystems.util.context;
2

3

4
import java.util.Collection;
5
import java.util.Map;
6
import java.util.concurrent.ConcurrentHashMap;
7
import java.util.function.Supplier;
8
import java.util.stream.Stream;
9

10
public class DefaultContext extends AbstractContext implements AutoCloseable {
11

12
    private Map<ObjectQualifier<?>, QualifiedObject<?>> qualifiedInstances;
13

14
    public DefaultContext() {
15
        this(ConcurrentHashMap::new);
1✔
16
    }
1✔
17

18
    public DefaultContext(Supplier<Map<ObjectQualifier<?>, QualifiedObject<?>>> mapSupplier) {
1✔
19
        this.qualifiedInstances = mapSupplier.get();
1✔
20
    }
1✔
21

22
    @Override
23
    protected boolean putInstance(QualifiedObject<?> qualifiedObject) {
24
        ObjectQualifier<?> objectQualifier = qualifiedObject.getQualifier();
1✔
25
        QualifiedObject<?> existentQualifiedObject = getInstance(objectQualifier);
1✔
26

27
        if (existentQualifiedObject != null) {
1✔
28
            return existentQualifiedObject.equals(qualifiedObject);
1✔
29
        }
30

31
        return qualifiedInstances.put(objectQualifier, qualifiedObject) == null;
1✔
32
    }
33

34
    @Override
35
    protected QualifiedObject<?> removeInstance(ObjectQualifier<?> objectQualifier) {
36
        return qualifiedInstances.remove(objectQualifier);
1✔
37
    }
38

39
    @SuppressWarnings("unchecked")
40
    @Override
41
    protected <T> QualifiedObject<T> getInstance(ObjectQualifier<? super T> objectQualifier) {
42
        return (QualifiedObject<T>) qualifiedInstances.get(objectQualifier);
1✔
43
    }
44

45
    @Override
46
    public boolean contains(ObjectQualifier<?> objectQualifier) {
47
        return qualifiedInstances.containsKey(objectQualifier);
1✔
48
    }
49

50
    @Override
51
    public Stream<QualifiedObject<?>> stream() {
52
        return qualifiedInstances.values().stream();
1✔
53
    }
54

55
    @Override
56
    public void close() throws Exception {
NEW
57
        Collection<QualifiedObject<?>> values = qualifiedInstances.values();
×
NEW
58
        for (QualifiedObject<?> qualifiedObject : values) {
×
NEW
59
            Object object = qualifiedObject.getObject();
×
60

NEW
61
            if (object != this && object instanceof AutoCloseable) {
×
NEW
62
                AutoCloseable autoCloseable = (AutoCloseable) object;
×
NEW
63
                autoCloseable.close();
×
64
            }
65

NEW
66
            remove(qualifiedObject.getQualifier());
×
NEW
67
        }
×
NEW
68
    }
×
69
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc