Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
198 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
6ab7240
Create new plug-in for initialisers
AlpTorac Oct 25, 2024
b621f05
Implement interfaces for (adaptable) initialisers
AlpTorac Oct 25, 2024
c381689
Implement abstract class for adaptable initialisers
AlpTorac Oct 25, 2024
a78aa91
Implement an interface for initialiser discovery
AlpTorac Oct 25, 2024
ddce248
Add package commentary for top-level interfaces
AlpTorac Oct 25, 2024
850a508
Implement an interface to extend IInitialiser for EObject
AlpTorac Oct 25, 2024
ff64132
Add package commentary
AlpTorac Oct 25, 2024
2b8042d
Implement an interface to adapt IEObjectInitialiser
AlpTorac Oct 25, 2024
daaeca5
Implement initialiser package for org.emftext.language.java.commons
AlpTorac Oct 25, 2024
47f8f8f
Implement initialiser package for org.emftext.language.java.annotations
AlpTorac Oct 25, 2024
a1d7836
Implement initialiser package for org.emftext.language.java.imports
AlpTorac Oct 25, 2024
f40ad6d
Implement initialiser package for org.emftext.language.java.modifiers
AlpTorac Oct 25, 2024
ac840ae
Implement initialiser package for org.emftext.language.java.operators
AlpTorac Oct 25, 2024
dd7089a
(WIP) Implement initialiser package for org.emftext.language.java.arrays
AlpTorac Oct 25, 2024
70aa32d
(WIP) Implement initialiser package for
AlpTorac Oct 25, 2024
cffe623
(WIP) Implement initialiser package for
AlpTorac Oct 25, 2024
29b158f
(WIP) Implement initialiser package for
AlpTorac Oct 25, 2024
280d2fc
(WIP) Implement initialiser package for
AlpTorac Oct 25, 2024
5f65531
(WIP) Implement initialiser package for
AlpTorac Oct 25, 2024
3a71c74
(WIP) Implement initialiser package for
AlpTorac Oct 25, 2024
73e5d7a
(WIP) Implement initialiser package for
AlpTorac Oct 25, 2024
4f51e33
(WIP) Implement initialiser package for
AlpTorac Oct 25, 2024
5011c45
(WIP) Implement initialiser package for
AlpTorac Oct 25, 2024
4e265fa
(WIP) Implement initialiser package for
AlpTorac Oct 25, 2024
a69f5e7
(WIP) Implement initialiser package for
AlpTorac Oct 25, 2024
5c0a46a
(WIP) Implement initialiser package for org.emftext.language.java.types
AlpTorac Oct 25, 2024
497971b
Implement initialiser package for org.emftext.language.java.variables
AlpTorac Oct 25, 2024
3fe125d
Implement initialiser package for all JaMoPP-related initialisers
AlpTorac Oct 25, 2024
850b4e9
Add adaptation strategies for some initialisers
AlpTorac Oct 25, 2024
79533d8
Add package commentary
AlpTorac Oct 25, 2024
2f8a7e7
Add an interface for utility tests
AlpTorac Oct 25, 2024
af40e67
Add a utility class
AlpTorac Oct 25, 2024
ad2936a
Add an interface for utility tests that focus on EObject
AlpTorac Oct 25, 2024
b10cab2
Add a utility class
AlpTorac Oct 25, 2024
780d1bd
Add an interface for utility tests that focus on JaMoPP
AlpTorac Oct 25, 2024
86c73d0
Add utility tests
AlpTorac Oct 25, 2024
7415df3
Add package commentary
AlpTorac Oct 25, 2024
829f032
Implement dummy constructs for future tests
AlpTorac Oct 25, 2024
64dbb99
Implement dummy constructs for future tests
AlpTorac Oct 25, 2024
771609b
Implement dummy constructs for future tests
AlpTorac Oct 25, 2024
01d1b80
Implement dummy constructs for future tests
AlpTorac Oct 25, 2024
81b959a
Add package commentary
AlpTorac Oct 25, 2024
61f228a
Add package commentary
AlpTorac Oct 25, 2024
cdb1d95
Add tests for initialiser discovery via initialiser packages
AlpTorac Oct 25, 2024
5e64400
Add tests for methods in IInitialiser
AlpTorac Oct 25, 2024
427e7bd
Add tests for initialiser adaptation
AlpTorac Oct 25, 2024
32eb7cd
Add package commentary
AlpTorac Oct 25, 2024
d613e74
Add missing IdentifierReferenceInitialiserAdapter
AlpTorac Oct 27, 2024
acc918c
Merge branch 'fi-ref-splitted' into HEAD
AlpTorac Feb 10, 2025
42c0418
Add null checks to inner switches
AlpTorac Aug 30, 2024
445879c
Change JUnit dependencies
AlpTorac Feb 10, 2025
b4c9e15
Fix return value of float/double literal initialisers
AlpTorac Feb 4, 2025
78d6d88
Add utility method to initialisers
AlpTorac Feb 4, 2025
8c629bf
Add hardcoded expected initialiser count
AlpTorac Feb 4, 2025
a3b9416
Remove redundant methods
AlpTorac Feb 4, 2025
6d2adb2
Use EObject methods in JaMoPPHelper
AlpTorac Feb 4, 2025
83188d2
Edit commentary
AlpTorac Feb 4, 2025
da2d1af
Merge branch 'inits-pull-req' into HEAD
AlpTorac Feb 16, 2025
5bff56e
Create plug-in for first instance tests fitests
AlpTorac Oct 27, 2024
5f5a929
Add interface to adapt similarity checking mechanisms
AlpTorac Oct 27, 2024
700a170
Add abstract class for similarity checking tests
AlpTorac Oct 27, 2024
8539cd4
Add helper class for Resource operations
AlpTorac Oct 27, 2024
9c606a4
Add helper class for EcoreUtil
AlpTorac Oct 27, 2024
10f59c5
Extend AbstractSimilarityTest
AlpTorac Oct 27, 2024
f33e06a
Add an interface for storing expected similarity values
AlpTorac Oct 27, 2024
8f2912c
Add an abstract class for storing expected similarity values
AlpTorac Oct 27, 2024
f6ca766
Implement an interface for adapting initialiser parameters
AlpTorac Oct 27, 2024
78961f3
Implement an interface to generate initialiser parameters
AlpTorac Oct 27, 2024
18ef9b6
Add a singleton
AlpTorac Oct 27, 2024
ce50390
Add package commentary
AlpTorac Oct 27, 2024
9351e9c
Extend AbstractResourceSimilarityTest
AlpTorac Oct 27, 2024
c2d2a3c
Add package commentary
AlpTorac Oct 27, 2024
4c1ff11
Add class for storing Java similarity checker
AlpTorac Oct 27, 2024
34b1ba3
Add initialiser parameter adaptation
AlpTorac Oct 27, 2024
61c8816
Add expected similarity values
AlpTorac Oct 27, 2024
83a19e2
Add IInitialiserParameters implementation
AlpTorac Oct 27, 2024
c8c727c
Add package commentary
AlpTorac Oct 27, 2024
d9d6d56
Extend AbstractEObjectSimilarityTest
AlpTorac Oct 27, 2024
be94d86
Add similarity checking tests for some SPLevo models
AlpTorac Oct 27, 2024
e0dfce4
Add package commentary
AlpTorac Oct 27, 2024
a71c7c9
Add helper interfaces
AlpTorac Oct 27, 2024
31a5d21
Add parameterised tests for JaMoPP-related similarity checking
AlpTorac Oct 27, 2024
27a2536
Add tests for JaMoPP-related similarity checking
AlpTorac Oct 27, 2024
052e23b
Add advanced tests for JaMoPP-related similarity checking
AlpTorac Oct 27, 2024
19f5d16
Add package commentary
AlpTorac Oct 27, 2024
a0460ef
Add a "meta-test"
AlpTorac Oct 27, 2024
a5c12d8
Add general tests for JaMoPP-related similarity checking
AlpTorac Oct 27, 2024
cafa800
Add package commentary
AlpTorac Oct 27, 2024
fb90fd3
Add package commentary
AlpTorac Oct 27, 2024
030fc77
Change JUnit dependencies
AlpTorac Feb 10, 2025
87f363c
Extract logging interface
AlpTorac Feb 3, 2025
b75be8c
Add null check
AlpTorac Feb 3, 2025
40e6e6e
Fix author names
AlpTorac Feb 3, 2025
7174389
Remove superfluous constructors
AlpTorac Feb 3, 2025
cd82180
Add dependency to manifest file
AlpTorac Feb 3, 2025
e290df7
Add null check
AlpTorac Feb 3, 2025
2ffff9c
Remove redundant constructor
AlpTorac Feb 3, 2025
6b59fab
Use utility classes instead
AlpTorac Feb 3, 2025
a0597f6
Remove NamespaceCheck Request/Handler
AlpTorac Feb 3, 2025
9de63ec
Use the intended normalization method
AlpTorac Feb 3, 2025
d8222f6
Adapt logging
AlpTorac Feb 3, 2025
a693c20
Remove unused import
AlpTorac Feb 3, 2025
d7e7d98
Fix caseLocalVariableStatement
AlpTorac Feb 3, 2025
dc5550d
Fix local variable names in differentSuccessor
AlpTorac Feb 3, 2025
30f25bd
Fix caseMethod and caseConstructor
AlpTorac Feb 3, 2025
3607b31
Implement missing case
AlpTorac Feb 3, 2025
ef7e1f4
Separate float comparison from double comparison
AlpTorac Feb 3, 2025
7b29f8d
Use utility classes instead
AlpTorac Feb 4, 2025
44ff87a
Implement missing case
AlpTorac Feb 4, 2025
036d4a9
Implement missing case
AlpTorac Feb 4, 2025
0fcc834
Make caseConcreteClassifier symmetric
AlpTorac Feb 4, 2025
517033d
Make ContainersSimilaritySwitch's case methods symmetric
AlpTorac Feb 4, 2025
04e1d23
Use utility classes instead
AlpTorac Feb 4, 2025
be112e9
Implement missing case
AlpTorac Feb 4, 2025
3172eac
Remove FIXME
AlpTorac Feb 4, 2025
7db7ec1
Edit commentary
AlpTorac Feb 4, 2025
30b9723
Merge branch 'fitests-oldsc-pull-req' into HEAD
AlpTorac Feb 16, 2025
14d284c
Merge branch 'fi-ref-splitted-null-check' into HEAD
AlpTorac Feb 16, 2025
1290b93
Update similarity checker
AlpTorac Oct 27, 2024
640a17a
Add tests for top-level similarity checking classes/interfaces
AlpTorac Oct 27, 2024
2f67c81
Enable the disabled interfacetests
AlpTorac Oct 27, 2024
9f5e2f9
Enable the disabled impltests
AlpTorac Oct 27, 2024
1b0e734
Enable the disabled complextests
AlpTorac Oct 27, 2024
705eef7
Enable the disabled general tests
AlpTorac Oct 27, 2024
8444214
Re-use existing method
AlpTorac Feb 4, 2025
95784f4
Add new method for ArrayDimension creation
AlpTorac Feb 4, 2025
2cb953a
Stop resetting singleton after each test
AlpTorac Feb 4, 2025
8da09ad
Make logger member static
AlpTorac Feb 4, 2025
6be7b2d
Re-use existing method
AlpTorac Feb 4, 2025
35ffde7
Change some method signatures in ISimilarityValues
AlpTorac Feb 4, 2025
cab3fc1
Adjust similarity values entries
AlpTorac Feb 4, 2025
f4733f7
Refactor the constructor
AlpTorac Feb 4, 2025
152f594
Refactor and remove null checks
AlpTorac Feb 4, 2025
76e9c15
Fix adapted initialisers in interfacetests
AlpTorac Feb 4, 2025
ddecd6f
Make interfacetest consistent
AlpTorac Feb 4, 2025
b4ec4c7
Add missing test methods to impltests
AlpTorac Feb 4, 2025
9822fb1
Do not use UsesNames interface
AlpTorac Feb 4, 2025
4409f31
Add new test cases for statement positioning
AlpTorac Feb 4, 2025
0a6ce35
Use non-adapted initialisers only
AlpTorac Feb 4, 2025
4a7727e
Extract interface for IdentifierReference tests
AlpTorac Feb 4, 2025
7b94b9a
Extract interface for tests
AlpTorac Feb 4, 2025
19538ca
Add an interface for directly modifying arbitrary EObjects
AlpTorac Feb 4, 2025
033133a
Add complex tests for AdditionalField
AlpTorac Feb 4, 2025
6435f70
Add complex test for LocalVariableStatement
AlpTorac Feb 4, 2025
182f40e
Add complex test for Methods' parameters
AlpTorac Feb 4, 2025
9fcb6f0
Add complex tests for cyclic references
AlpTorac Feb 4, 2025
4ac8a0d
Add complex test for cyclic attributes
AlpTorac Feb 4, 2025
0fea476
Add a complex test for local variable scopes
AlpTorac Feb 4, 2025
3dba4d4
Add Mockito dependency
AlpTorac Feb 3, 2025
1f45c03
Add Mockito dependency to fitests plugin
AlpTorac Feb 4, 2025
7c71e3b
Implement an interface for mock tests
AlpTorac Feb 4, 2025
737f4b3
Add test displays to initialiser arguments
AlpTorac Feb 4, 2025
c32f89b
Improve test displays
AlpTorac Feb 4, 2025
45cc639
Add mock test for case coverage
AlpTorac Feb 4, 2025
43cb58e
Add mock test for faulty namespaces
AlpTorac Feb 4, 2025
d95efe7
Add mock test for statement positioning
AlpTorac Feb 4, 2025
098ad57
Add mock test for asymmetric equals overrides
AlpTorac Feb 4, 2025
045782c
Test IdentifierReference with mocks instead
AlpTorac Feb 4, 2025
cfea635
Make utility test methods private
AlpTorac Feb 4, 2025
ea59174
Add expected initialiser count explicitly
AlpTorac Feb 4, 2025
e23fb7b
Add package-info
AlpTorac Feb 4, 2025
77a6df0
Edit commentary
AlpTorac Feb 4, 2025
95d99b3
Disable logging in fitests
AlpTorac Feb 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
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 Alp Torac Genc
*/
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