<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">I agree that moving providers to
      separate module might be clearer, but not sure if it's easily
      doable. For example org.keycloak.provider.ProviderFactory requires
      KeycloakSession from org.keycloak.models package, which requires
      access to all model classes like RealmProvider, UserProvider etc.
      So moving might require removing 'dependency' on RealmProvider and
      UserProvider from KeycloakSession, which will be quite big
      refactoring...<br>
      <br>
      So I am like 50/50 whether to move or not. Until that, I suggest
      that you put your SPI directly to keycloak-model-api . It already
      contains bunch of other basic SPIs like RealmProvider,
      UserProvider, UserFederationProvider etc.<br>
      <br>
      Marek<br>
      <br>
      <br>
      On 4.8.2015 07:31, Giriraj Sharma wrote:<br>
    </div>
    <blockquote
cite="mid:CAB5vuUxdHekU6wM0=Nqo=Moujq6rbbjVDgS6nYS2o1FVwMKYXA@mail.gmail.com"
      type="cite">
      <div dir="ltr">Hi,
        <div><br>
        </div>
        <div>IMHO, it will be good if we move the package
          (org.keycloak.provider) from keycloak-model-api to some other
          module which is used as a common dependency by most other
          modules (like keycloak-core) . <br clear="all">
          <div><br>
          </div>
          <div>org.keycloak.provider.*  from keycloak-model-api  is used
            by most of the modules which implement certain Spi.</div>
          <div>A module (X) having keycloak-model-api (Y) added as a
            dependency may in turn be used by classes or other Spi's in
            keycloak-model-api (Y) and thus result into a cyclic
            dependency.</div>
          <div><br>
          </div>
          <div>X dependent on Y for org.keycloak.provider.* classes</div>
          <div>Y dependent on X for X specific services/SPI's or classes</div>
          <div><br>
          </div>
          <div>keycloak-core is used by many modules but in turn
            keycloak-core doesn't uses any of keycloak-* dependency and
            hence will not result into any issues like cyclic
            dependency. So, may be moving org.keycloak.provider.* from
            keycloak-model-api to some other(like keycloak-core) will be
            helpful or may be a better practice.</div>
          <div><br>
          </div>
          <div>If this seems fine, I will be happy to make the required
            changes :)</div>
          <div><br>
          </div>
          <div>Cheers,</div>
          -- <br>
          <div class="gmail_signature">
            <div dir="ltr">
              <div>
                <div dir="ltr"><font color="#888888">
                    <div>
                      <table
style="margin:0px;padding:0px;border:0px;outline:0px;font-size:14px;font-family:proxima-nova-1,proxima-nova-2,Tahoma,Helvetica,Verdana,sans-serif;vertical-align:baseline;border-spacing:0px;color:rgb(51,51,51);line-height:18.2000007629395px"
                        border="0" cellpadding="0" cellspacing="0">
                        <tbody
style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline">
                          <tr
style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline">
                            <td
style="padding:0px;border:0px;outline:0px;font-style:inherit;font-size:0px;font-family:inherit;vertical-align:baseline;width:auto;height:30px"> </td>
                          </tr>
                          <tr
style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline">
                            <td
style="padding:0px;border:0px;outline:0px;font-style:inherit;font-family:inherit;vertical-align:baseline;width:auto">
                              <div
style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;line-height:0"><a
                                  moz-do-not-send="true"
                                  href="http://about.me/girirajsharma?promo=email_sig"
style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;color:rgb(58,169,233);text-decoration:none;display:inline-block"
                                  target="_blank">
                                  <table
style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;border-spacing:0px"
                                    border="0" cellpadding="0"
                                    cellspacing="0">
                                    <tbody
style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline">
                                      <tr
style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline">
                                        <td
style="padding:0px;border:0px;outline:0px;font-style:inherit;font-family:inherit;vertical-align:top;width:auto;line-height:1"
                                          align="left" valign="top">
                                          <div
style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:bold;font-style:inherit;font-size:18px;font-family:proxima-nova-1,Proxima-Nova,Helvetica,Arial,sans-serif;vertical-align:baseline;line-height:1;color:rgb(51,51,51)">Giriraj
                                            Sharma</div>
                                          <div style="margin:3px 0px
0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-size:12px;font-family:proxima-nova-1,Proxima-Nova,Helvetica,Arial,sans-serif;vertical-align:baseline;color:rgb(43,130,173)">about.me/girirajsharma</div>
                                        </td>
                                      </tr>
                                      <tr
style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline">
                                        <td style="padding:8px 0px
0px;border:0px;outline:0px;font-style:inherit;font-family:inherit;vertical-align:top;width:auto;line-height:1"
                                          align="left" valign="top">
                                          <div
style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;text-align:right;height:4px;background-color:rgb(197,208,224)"><img
                                              moz-do-not-send="true"
                                              src="http://d13pix9kaak6wt.cloudfront.net/signature/colorbar.png"
                                              alt=""
style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;float:right;display:block"
                                              height="4" width="88"></div>
                                        </td>
                                      </tr>
                                    </tbody>
                                  </table>
                                </a>  </div>
                            </td>
                          </tr>
                          <tr
style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline">
                            <td
style="padding:0px;border:0px;outline:0px;font-style:inherit;font-size:0px;font-family:inherit;vertical-align:baseline;width:auto;height:20px"> </td>
                          </tr>
                        </tbody>
                      </table>
                      Giriraj Sharma, </div>
                    <div>Department of Computer Science </div>
                    <div>National Institute of Technology Hamirpur </div>
                    <div>Himachal Pradesh, India 177005<br>
                    </div>
                  </font></div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
keycloak-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/keycloak-dev">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a></pre>
    </blockquote>
    <br>
  </body>
</html>