Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
e8367bb
Use Map instead of LinkedHashMap
AlpTorac Aug 30, 2024
c097634
Extract structure
AlpTorac Aug 30, 2024
34687ee
Extract similarity checking operations
AlpTorac Sep 2, 2024
ce439d3
Extract EMFtext related structure
AlpTorac Sep 2, 2024
9415c53
Implement interface
AlpTorac Sep 2, 2024
0f24f6a
Implement interface
AlpTorac Sep 2, 2024
1545fb2
Implement interface
AlpTorac Sep 2, 2024
7f62d06
Export new packages
AlpTorac Aug 30, 2024
159c4a2
Implement interface
AlpTorac Aug 30, 2024
633ce45
Implement interface
AlpTorac Aug 30, 2024
e9bae56
Implement similarity comparer
AlpTorac Aug 30, 2024
bb947f6
Implement handler
AlpTorac Aug 30, 2024
b133441
Implement similarity comparer
AlpTorac Sep 2, 2024
04e6627
Implement temporary interface
AlpTorac Aug 30, 2024
8ea7863
Add package-info
AlpTorac Aug 30, 2024
90f4421
Relocate package-info
AlpTorac Aug 31, 2024
352d4e2
(WIP) Copy Java-related inner switches
AlpTorac Sep 3, 2024
8b470c9
(WIP) Adapt SimilaritySwitch
AlpTorac Sep 2, 2024
5b6da63
(WIP) Implement request and handler
AlpTorac Sep 2, 2024
317e58b
(WIP) Implement interface
AlpTorac Aug 31, 2024
96fb3ee
(WIP) Adapt inner switches
AlpTorac Sep 3, 2024
a5d337f
(WIP) Add logging to Java-related inner switches
AlpTorac Apr 25, 2024
2e77e55
(WIP) Implement toolbox builder
AlpTorac Aug 30, 2024
a6362b6
(WIP) Adapt SimilarityChecker
AlpTorac Aug 30, 2024
88ca0d0
(WIP) Integrate changes with outside
AlpTorac Aug 30, 2024
ee3d19b
(WIP) Copy PCM-related inner switches
AlpTorac Sep 3, 2024
d0ed147
(WIP) Implement similarity switch for PCM
AlpTorac Sep 3, 2024
45ddfdb
(WIP) Implement request and handler
AlpTorac Sep 2, 2024
c135c8e
(WIP) Implement interface
AlpTorac Aug 31, 2024
7c79364
(WIP) Adapt inner switches
AlpTorac Sep 3, 2024
f5b7348
(WIP) Implement toolbox builder
AlpTorac Aug 30, 2024
26bf151
(WIP) Prepare PCM similarity checker
AlpTorac Aug 30, 2024
c4a3df0
(WIP) Delete ID-based similarity checker
AlpTorac Aug 30, 2024
d231a3e
Integrate toolbox builder
AlpTorac Aug 30, 2024
7ecc86c
Adapt SecondInstance
AlpTorac Aug 30, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import org.splevo.jamopp.diffing.match.JaMoPPEqualityStrategy;
import org.splevo.jamopp.diffing.match.JaMoPPIgnoreStrategy;
import org.splevo.jamopp.diffing.scope.PackageIgnoreChecker;
import org.splevo.jamopp.diffing.similarity.SimilarityChecker;
import org.splevo.jamopp.diffing.similarity.base.ISimilarityChecker;

import com.google.common.cache.CacheBuilder;

Expand All @@ -32,7 +32,7 @@ private HierarchicalMatchEngineFactoryGenerator() {
* @param key a key to identify the compared models.
* @return the generated factory.
*/
public static HierarchicalMatchEngineFactory generateMatchEngineFactory(SimilarityChecker simChecker, String key) {
public static HierarchicalMatchEngineFactory generateMatchEngineFactory(ISimilarityChecker simChecker, String key) {
EqualityHelperExtensionProvider.Descriptor.Registry descRegistryImpl =
EqualityHelperExtensionProviderDescriptorRegistryImpl.createStandaloneInstance();
descRegistryImpl.put(key, new SimilarityCheckerBasedEqualityHelperExtensionProviderDescriptor(simChecker));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package cipm.consistency.commitintegration.diff.util;

import org.splevo.diffing.match.HierarchicalMatchEngineFactory;
import org.splevo.jamopp.diffing.similarity.SimilarityChecker;
import org.splevo.jamopp.diffing.similarity.JavaSimilarityChecker;
import org.splevo.jamopp.diffing.similarity.JavaSimilarityToolboxBuilder;
import org.splevo.jamopp.diffing.similarity.base.MapSimilarityToolboxFactory;

/**
* A generator for HierarchicalMatchEngineFactories specific to Java models.
Expand All @@ -18,6 +20,15 @@ private JavaMatchEngineFactoryGenerator() {
* @return the generated factory.
*/
public static HierarchicalMatchEngineFactory generateMatchEngineFactory() {
return HierarchicalMatchEngineFactoryGenerator.generateMatchEngineFactory(new SimilarityChecker(), "javaxmi");
var builder = new JavaSimilarityToolboxBuilder();
builder.setSimilarityToolboxFactory(new MapSimilarityToolboxFactory());

var toolbox = builder.instantiate()
.buildNewSimilaritySwitchHandler()
.buildNormalizationHandlers()
.buildComparisonHandlers()
.build();

return HierarchicalMatchEngineFactoryGenerator.generateMatchEngineFactory(new JavaSimilarityChecker(toolbox), "javaxmi");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import org.eclipse.emf.compare.match.eobject.EqualityHelperExtensionProvider;
import org.eclipse.emf.compare.utils.IEqualityHelper;
import org.eclipse.emf.ecore.EObject;
import org.splevo.jamopp.diffing.similarity.SimilarityChecker;
import org.splevo.jamopp.diffing.similarity.base.ISimilarityChecker;

/**
* A descriptor for the provider of a EqualityHelperExtension which is based on the SimilarityChecker.
Expand All @@ -14,9 +14,9 @@
*/
public class SimilarityCheckerBasedEqualityHelperExtensionProviderDescriptor
implements EqualityHelperExtensionProvider.Descriptor {
private SimilarityChecker checker;
private ISimilarityChecker checker;

public SimilarityCheckerBasedEqualityHelperExtensionProviderDescriptor(SimilarityChecker check) {
public SimilarityCheckerBasedEqualityHelperExtensionProviderDescriptor(ISimilarityChecker check) {
checker = check;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package cipm.consistency.commitintegration.diff.util.pcm;

import org.splevo.jamopp.diffing.similarity.base.ecore.IComposedSimilaritySwitch;

/**
* An interface for switches that can be used to compute the similarity of
* Palladio Component Model (PCM) repositories.
*
* @author atora
*/
public interface IPCMRepositorySimilaritySwitch extends IComposedSimilaritySwitch {

}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package cipm.consistency.commitintegration.diff.util.pcm;

import org.splevo.diffing.match.HierarchicalMatchEngineFactory;
import org.splevo.jamopp.diffing.similarity.base.MapSimilarityToolboxFactory;

import cipm.consistency.commitintegration.diff.util.HierarchicalMatchEngineFactoryGenerator;

Expand All @@ -21,7 +22,14 @@ private PCMRepositoryMatchEngineFactoryGenerator() {
* @return the generated factory.
*/
public static HierarchicalMatchEngineFactory generateMatchEngineFactory() {
return HierarchicalMatchEngineFactoryGenerator.generateMatchEngineFactory(new PCMRepositorySimilarityChecker(),
var builder = new PCMRepositorySimilarityToolboxBuilder();
builder.setSimilarityToolboxFactory(new MapSimilarityToolboxFactory());

var toolbox = builder.instantiate()
.buildComparisonPairs()
.build();

return HierarchicalMatchEngineFactoryGenerator.generateMatchEngineFactory(new PCMRepositorySimilarityChecker(toolbox),
"repository");
}

Expand All @@ -32,7 +40,14 @@ public static HierarchicalMatchEngineFactory generateMatchEngineFactory() {
* @return the generated factory.
*/
public static HierarchicalMatchEngineFactory generateIDBasedMatchEngineFactory() {
var builder = new PCMRepositorySimilarityToolboxBuilder();
builder.setSimilarityToolboxFactory(new MapSimilarityToolboxFactory());

var toolbox = builder.instantiate()
.buildIDBasedComparisonPairs()
.build();

return HierarchicalMatchEngineFactoryGenerator
.generateMatchEngineFactory(new PCMRepositoryIDBasedSimilarityChecker(), "repository");
.generateMatchEngineFactory(new PCMRepositorySimilarityChecker(toolbox), "repository");
}
}
Loading