Yair Zaslavsky has posted comments on this change.

Change subject: 9. [WIP] core: Introducing configuration loader
......................................................................


Patch Set 16:

(3 comments)

http://gerrit.ovirt.org/#/c/24365/16/backend/manager/modules/extension-manager/src/main/java/org/ovirt/engine/core/extensions/mgr/ConfigurationLoader.java
File 
backend/manager/modules/extension-manager/src/main/java/org/ovirt/engine/core/extensions/mgr/ConfigurationLoader.java:

Line 29:     private static final String NAME = "ovirt.engine.extension.name";
Line 30:     private static final String SERVICE = 
"ovirt.engine.extension.service";
Line 31:     private static final String ENABLED = 
"ovirt.engine.extension.enabled";
Line 32:     private static final String MODULE = 
"ovirt.engine.extension.module";
Line 33:     private static final String TYPE = "ovirt.engine.extension.type";
> so why do oyu need the service?
When i look at your examples (for instance - the authz) you have -
ovirt.engine.extension.service = org.ovirt.engine.core.authorization
I don't think this is enough, i would need another entry to indicate the class 
name of the extension that implements the authorization service.
Please look at the usage at AuthenticationProfileRepository.createProfiles 
where I get all the extensions that are authn.
So I need to have  both what service this is (authn or authz) and what is the 
class of the service.
I'll upload my fixes to the other comments, and I hope it will be more clear.
Line 34: 
Line 35:     public class ExtensionEntry {
Line 36:         private File file;
Line 37:         private boolean enabled;


Line 65:                     loadedModules.put(moduleSpec, module);
Line 66:                     ServiceLoader<? extends Extension> serviceLoader =
Line 67:                             ServiceLoader.load(Extension.class, 
module.getClassLoader());
Line 68:                     for (Extension extension : serviceLoader) {
Line 69:                         
extensionsByType.put(extension.getClass().getName(), extension.getClass());
> we talked about this, please simplify, use the ServiceRegistry with filter 
Done
Line 70:                     }
Line 71:                 } catch (ModuleLoadException exception) {
Line 72:                     throw new 
ConfigurationException(String.format("The module '%1$s' cannot be loaded.", 
moduleSpec),
Line 73:                             exception);


Line 81:                             config.getString(TYPE)));
Line 82:                 }
Line 83:                 this.extension = extensionClass.newInstance();
Line 84:                 this.extension.setName(name);
Line 85:                 
this.extension.setConfigurationProperties(config.getProperties());
> why do you need this here?
Not sure I follow, why do i need what here?
At this point I have the extensionClass , I instantiate the extension and set 
the name and the configuration for it.
Why do you think it's wrong?
Line 86: 
Line 87:             } catch (InstantiationException | IllegalAccessException | 
IllegalArgumentException e) {
Line 88:                 throw new ConfigurationException(String.format("Error 
in instantitating extension based on tye type '%1$'",
Line 89:                         config.getString(TYPE)));


-- 
To view, visit http://gerrit.ovirt.org/24365
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I182904177ec088e62b35bde870ec79725fabc4e4
Gerrit-PatchSet: 16
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Yair Zaslavsky <yzasl...@redhat.com>
Gerrit-Reviewer: Alon Bar-Lev <alo...@redhat.com>
Gerrit-Reviewer: Martin Peřina <mper...@redhat.com>
Gerrit-Reviewer: Yair Zaslavsky <yzasl...@redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to