Nachdem ich die Benutzerverwaltung bereits vor einigen Tagen nahezu vollständig mit der SOAP Schnittstelle verheiratete, wurden jetzt noch diesbezüglich einige Lücken in der API geschlossen.

Zur ‘sauberen’ Trennung der Zugriffe auf Properties durch den internen Programmcodes und im Sinne eines gut handhabbaren API-Designs, wurde ein Session-Konzept eingeführt, das zusätzlich eine individuelle Filterung der Properties je Benutzer ermöglicht.

Im Prinzip hat sich für Nutzer der API kaum etwas geändert; neu ist ein bequemes ‘login’ für user, sowie die Notwendigkeit, sich vor Zugriff auf die meisten API-Methoden eine Instanz einer C7Session liefern zu lassen.

 

Beispiel Code vorher

package de.myApp.sample;
...
   public static void main(String[] args) throws Exception {
     // Initialization of C7
     C7Manager.init("c7.prop");                                            // activates C7 - c7.prop is the file

     // Create a property entry
     C7Property firstProperty = new C7Property("firstKey", "firstValue");  // "firstKey" identifies the property
                                                                           // "firstValue" is the parameter value
     C7Manager.setProperty(firstProperty);                                 // store Property

 

Beispiel Code aktuell

package de.myApp.sample;
...
   public static void main(String[] args) throws Exception {
     // Initialization of C7 and getting a session
     C7Manager.init("c7.prop");                                            // activates C7 - c7.prop is the file
     C7Session session = C7Manager.getSession();                           // session for access to properties

     // Create a property entry
     C7Property firstProperty = new C7Property("firstKey", "firstValue");  // "firstKey" identifies the property
                                                                           // "firstValue" is the parameter value
     session.setProperty(firstProperty);                                   // store Property

Also alles in allem für den Entwickler nur ein geringer Unterschied.
Allerdings hat er jetzt die Möglichkeit eines sehr komfortablen Zugriffs auf die Benutzerverwaltung. Beispiele dazu später hier im Blog und/oder auf einer Beispielseite