Alon Bar-Lev has posted comments on this change.

Change subject: aaa: using the new extensions API in InternalDirectory
......................................................................


Patch Set 4:

(6 comments)

http://gerrit.ovirt.org/#/c/26477/4/backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/DirectoryProxy.java
File 
backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/DirectoryProxy.java:

Line 28:     @Override
Line 29:     public DirectoryUser findUser(String name) {
Line 30:         ExtMap inputMap = new ExtMap().mput(
Line 31:                 Base.InvokeKeys.COMMAND, 
Authz.InvokeCommands.FETCH_PRINCIPAL_RECORD
Line 32:                 ).mput(Authn.InvokeKeys.AUTH_RECORD, new 
ExtMap().mput(Authn.AuthRecord.PRINCIPAL, name));
can we try to indent our code in decent way?

I expect one indent per block.

in this case:

 ExtMap inputMap = new ExtMap().mput(
     Base.InvokeKeys.COMMAND, 
     Authz.InvokeCommands.FETCH_PRINCIPAL_RECORD
 ).mput(
     Authn.InvokeKeys.AUTH_RECORD,
     new ExtMap().mput(
         Authn.AuthRecord.PRINCIPAL,
         name
    )
 );

it makes the eye find each block/parameter with ease, as each line contain 
single expression and indent is nesting level.

please find a way to do similar in your auto formatting ide
Line 33:         ExtMap outputMap = extension.invoke(inputMap);
Line 34:         ExtMap principalRecord = 
outputMap.<ExtMap>get(Authz.InvokeKeys.PRINCIPAL_RECORD);
Line 35:         if (principalRecord == null) {
Line 36:             return null;


Line 59:             return populateUsers(inputMap);
Line 60:         } finally {
Line 61:             extension.invoke(new ExtMap().mput(
Line 62:                     Base.InvokeKeys.COMMAND, 
Authz.InvokeCommands.QUERY_CLOSE
Line 63:                     ).mput(Authz.InvokeKeys.QUERY_OPAQUE, 
queryOpaque));
if you do not invoke the open here, you should not invoke the close.

please try to be symmetric... close should be only when opened.
Line 64:         }
Line 65:     }
Line 66: 
Line 67:     @Deprecated


Line 87:             return populateUsers(outputMap);
Line 88:         } finally {
Line 89:             extension.invoke(new ExtMap().mput(
Line 90:                     Base.InvokeKeys.COMMAND, 
Authz.InvokeCommands.QUERY_CLOSE
Line 91:                     ).mput(Authz.InvokeKeys.QUERY_OPAQUE, 
queryOpaque));
this leads to multiple close...
Line 92:         }
Line 93:     }
Line 94: 
Line 95:     private List<DirectoryUser> populateUsers(ExtMap inputMap) {


Line 98:         queryOpaque = outputMap.get(Authz.InvokeKeys.QUERY_OPAQUE);
Line 99:         while (true) {
Line 100:             inputMap = new ExtMap().mput(
Line 101:                     Base.InvokeKeys.COMMAND, 
Authz.InvokeCommands.QUERY_EXECUTE
Line 102:                     ).mput(Authz.InvokeKeys.QUERY_OPAQUE, 
queryOpaque);
no need for inputMap temp variable.... please notice that you change input 
parameter which is bad.
Line 103:             outputMap = extension.invoke(inputMap);
Line 104:             ExtMap result = 
outputMap.get(Authz.InvokeKeys.QUERY_RESULT);
Line 105:             if (result == null) {
Line 106:                 break;


Line 109:         }
Line 110:         inputMap = new ExtMap().mput(
Line 111:                 Base.InvokeKeys.COMMAND, 
Authz.InvokeCommands.QUERY_CLOSE
Line 112:                 ).mput(Authz.InvokeKeys.QUERY_OPAQUE, queryOpaque);
Line 113:         outputMap = extension.invoke(inputMap);
no need for inputMap temp variable.
Line 114:         return directoryUsers;
Line 115:     }
Line 116: 
Line 117:     private List<DirectoryGroup> populateGroups(ExtMap inputMap) {


Line 135:                 Base.InvokeKeys.COMMAND, 
Authz.InvokeCommands.QUERY_CLOSE
Line 136:                 ).mput(Authz.InvokeKeys.QUERY_OPAQUE, queryOpaque);
Line 137:         outputMap = extension.invoke(inputMap);
Line 138:         return directoryGroups;
Line 139:     }
why not have query with callback? something like: but in the java way... of 
useless interface.

 query(input, callback) {
    invoke()
    get opaque
    while(true) {
        output = invoke()
        if (!callback(output)) {
           break;
        }
 }

 final List<DirectoryGroup> directoryGroups = new ArrayList<>();
 query(
         new ExtMap().mput(
             Base.InvokeKeys.COMMAND,
             Authz.InvokeCommands.QUERY_PRINCIPALS_OPEN
         ).mput(
             Authz.InvokeKeys.QUERY,
             query
         )
     ),
     new QueryResults() {
         public boolean process(ExtMap output) {
             if (output.result == null) {
                 return false;
             }
             for (r : output.results) {
                 directoryGroups.add(r);
             }
             return true;
         }
     }
 );
Line 140: 
Line 141:     @Deprecated
Line 142:     @Override
Line 143:     public List<DirectoryGroup> queryGroups(String query) {


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I958443292da0455e0a12039fac98eebb9b17dee2
Gerrit-PatchSet: 4
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Yair Zaslavsky <yzasl...@redhat.com>
Gerrit-Reviewer: Alon Bar-Lev <alo...@redhat.com>
Gerrit-Reviewer: Yair Zaslavsky <yzasl...@redhat.com>
Gerrit-Reviewer: automat...@ovirt.org
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