diff --git a/src/se/hal/ControllerManager.java b/src/se/hal/ControllerManager.java index 2bd6985e..b18f0c00 100755 --- a/src/se/hal/ControllerManager.java +++ b/src/se/hal/ControllerManager.java @@ -291,6 +291,7 @@ public class ControllerManager implements HalSensorReportListener, controllerMap.put(c, controller); } catch (Exception e){ logger.log(Level.SEVERE, "Unable to instantiate controller: "+c.getName(), e); + controller = null; } } return (T)controller; diff --git a/src/se/hal/HalContext.java b/src/se/hal/HalContext.java index e73a02c8..3a9a8c60 100755 --- a/src/se/hal/HalContext.java +++ b/src/se/hal/HalContext.java @@ -1,5 +1,6 @@ package se.hal; +import se.hal.struct.User; import zutil.db.DBConnection; import zutil.db.DBUpgradeHandler; import zutil.db.SQLResultHandler; @@ -141,6 +142,14 @@ public class HalContext { return null; } }); + // Check if there is a local user + User localUser = User.getLocalUser(db); + if (localUser == null){ + logger.info("Creating local user."); + localUser = new User(); + localUser.setExternal(true); + localUser.save(db); + } logger.info("DB upgrade done"); dbConf.setProperty(PROPERTY_DB_VERSION, defaultDBConf.getProperty(PROPERTY_DB_VERSION)); diff --git a/src/se/hal/HalServer.java b/src/se/hal/HalServer.java index 90b9e6c0..03829f26 100755 --- a/src/se/hal/HalServer.java +++ b/src/se/hal/HalServer.java @@ -51,7 +51,6 @@ public class HalServer { // init DB and other configurations - DBBean.enableBeanGBC(false); // we don't need gbc for our beans as we would loose the device data DBConnection db = HalContext.getDB(); // Init sensors,events and controllers diff --git a/src/se/hal/page/UserConfigHttpPage.java b/src/se/hal/page/UserConfigHttpPage.java index 902ba890..b0f22d61 100755 --- a/src/se/hal/page/UserConfigHttpPage.java +++ b/src/se/hal/page/UserConfigHttpPage.java @@ -34,6 +34,10 @@ public class UserConfigHttpPage extends HalHttpPage { switch(request.get("action")) { // Local User case "modify_local_user": + if (localUser == null) { + localUser = new User(); + localUser.setExternal(true); + } localUser.setUsername(request.get("username")); localUser.setAddress(request.get("address")); localUser.save(db);