[ 
https://issues.apache.org/jira/browse/MRESOLVER-266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17609037#comment-17609037
 ] 

ASF GitHub Bot commented on MRESOLVER-266:
------------------------------------------

michael-o commented on code in PR #196:
URL: https://github.com/apache/maven-resolver/pull/196#discussion_r979293398


##########
maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/synccontext/DefaultSyncContextFactory.java:
##########
@@ -44,20 +58,41 @@
 public final class DefaultSyncContextFactory
         implements SyncContextFactory, Service
 {
-    private NamedLockFactoryAdapter namedLockFactoryAdapter;
+    private static final Logger LOGGER = LoggerFactory.getLogger( 
DefaultSyncContextFactory.class );
+
+    private static final String ADAPTER_KEY = 
DefaultSyncContextFactory.class.getName() + ".adapter";
+
+    private static final String NAME_MAPPER_KEY = 
"aether.syncContext.named.nameMapper";
+
+    private static final String DEFAULT_NAME_MAPPER = GAVNameMapper.NAME;
+
+    private static final String FACTORY_KEY = 
"aether.syncContext.named.factory";
+
+    private static final String DEFAULT_FACTORY = 
LocalReadWriteLockNamedLockFactory.NAME;
+
+    private Map<String, NameMapper> nameMappers;
+
+    private Map<String, NamedLockFactory> namedLockFactories;
+
+    private final CopyOnWriteArrayList<NamedLockFactoryAdapter> 
createdAdapters = new CopyOnWriteArrayList<>();
 
     /**
      * Constructor used with DI, where factories are injected and selected 
based on key.
      */
     @Inject
-    public DefaultSyncContextFactory( final NamedLockFactorySelector selector )
+    public DefaultSyncContextFactory( final Map<String, NameMapper> 
nameMappers,
+                                      final Map<String, NamedLockFactory> 
namedLockFactories )
     {
-        this.namedLockFactoryAdapter = new NamedLockFactoryAdapter(
-            selector.getSelectedNameMapper(),
-            selector.getSelectedNamedLockFactory()
-        );
+        this.nameMappers = requireNonNull( nameMappers );
+        this.namedLockFactories = requireNonNull( namedLockFactories );

Review Comment:
   This that these should not only be non-null, but also non-empty. WDYT?





> Simplify adapter creation and align configuration for it
> --------------------------------------------------------
>
>                 Key: MRESOLVER-266
>                 URL: https://issues.apache.org/jira/browse/MRESOLVER-266
>             Project: Maven Resolver
>          Issue Type: Task
>          Components: Resolver
>            Reporter: Tamás Cservenák
>            Assignee: Tamás Cservenák
>            Priority: Major
>             Fix For: resolver-next
>
>
> Rework how named lock factory adapter is created, it is the ONLY bit reaching 
> directly to Java System Properties instead to rely on session config 
> properties. This makes it impossible to control from Maven for example (as it 
> is "too late").
> Proposed changes:
> * adapter should be created based on session config properties, not Java 
> system properties
> * adapter should be stored within session
> * adapter creation should be vastly simplified (currently we have 4 involved 
> class: selectors and default sync context)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to