diff --git a/case/Z2/LPM_Case_Z2_Base.blend b/case/Z2/LPM_Case_Z2_Base.blend new file mode 100644 index 0000000..c456be5 Binary files /dev/null and b/case/Z2/LPM_Case_Z2_Base.blend differ diff --git a/case/Z2/LPM_Case_Z2_Base.stl b/case/Z2/LPM_Case_Z2_Base.stl new file mode 100644 index 0000000..5fead0f Binary files /dev/null and b/case/Z2/LPM_Case_Z2_Base.stl differ diff --git a/case/Z2/LPM_Case_Z2_Base_Flange.blend b/case/Z2/LPM_Case_Z2_Base_Flange.blend new file mode 100644 index 0000000..fe5085f Binary files /dev/null and b/case/Z2/LPM_Case_Z2_Base_Flange.blend differ diff --git a/case/Z2/LPM_Case_Z2_Base_Flange.stl b/case/Z2/LPM_Case_Z2_Base_Flange.stl new file mode 100644 index 0000000..aec6d62 Binary files /dev/null and b/case/Z2/LPM_Case_Z2_Base_Flange.stl differ diff --git a/case/Z2/LPM_Case_Z2_Lid.blend b/case/Z2/LPM_Case_Z2_Lid.blend new file mode 100644 index 0000000..d50c95e Binary files /dev/null and b/case/Z2/LPM_Case_Z2_Lid.blend differ diff --git a/case/Z2/LPM_Case_Z2_Lid.stl b/case/Z2/LPM_Case_Z2_Lid.stl new file mode 100644 index 0000000..de5cf92 Binary files /dev/null and b/case/Z2/LPM_Case_Z2_Lid.stl differ diff --git a/case/Z2/LPM_Case_Z2_Middle.blend b/case/Z2/LPM_Case_Z2_Middle.blend new file mode 100644 index 0000000..36e3ed4 Binary files /dev/null and b/case/Z2/LPM_Case_Z2_Middle.blend differ diff --git a/case/Z2/LPM_Case_Z2_Middle.stl b/case/Z2/LPM_Case_Z2_Middle.stl new file mode 100644 index 0000000..035f08d Binary files /dev/null and b/case/Z2/LPM_Case_Z2_Middle.stl differ diff --git a/case/Z2/Z2_GPIO_Lid.blend b/case/Z2/Z2_GPIO_Lid.blend new file mode 100644 index 0000000..a247f99 Binary files /dev/null and b/case/Z2/Z2_GPIO_Lid.blend differ diff --git a/case/Z2/Z2_GPIO_Lid.stl b/case/Z2/Z2_GPIO_Lid.stl new file mode 100644 index 0000000..9ce78c5 Binary files /dev/null and b/case/Z2/Z2_GPIO_Lid.stl differ diff --git a/currentmonitor/lantern-dataaccess-currentmonitor/src/main/java/com/lanternsoftware/dataaccess/currentmonitor/MongoCurrentMonitorDao.java b/currentmonitor/lantern-dataaccess-currentmonitor/src/main/java/com/lanternsoftware/dataaccess/currentmonitor/MongoCurrentMonitorDao.java index 333694f..fe4637a 100644 --- a/currentmonitor/lantern-dataaccess-currentmonitor/src/main/java/com/lanternsoftware/dataaccess/currentmonitor/MongoCurrentMonitorDao.java +++ b/currentmonitor/lantern-dataaccess-currentmonitor/src/main/java/com/lanternsoftware/dataaccess/currentmonitor/MongoCurrentMonitorDao.java @@ -302,6 +302,8 @@ public class MongoCurrentMonitorDao implements CurrentMonitorDao { @Override public void rebuildSummaries(int _accountId, Date _start, Date _end) { BreakerConfig config = getConfig(_accountId); + if (config == null) + return; TimeZone tz = getTimeZoneForAccount(_accountId); Date start = DateUtils.getMidnightBefore(_start, tz); BreakerGroup root = CollectionUtils.getFirst(config.getBreakerGroups()); @@ -397,8 +399,14 @@ public class MongoCurrentMonitorDao implements CurrentMonitorDao { public BreakerConfig getMergedConfig(AuthCode _authCode) { if (_authCode == null) return null; - if (CollectionUtils.size(_authCode.getAllAccountIds()) == 1) - return getConfig(_authCode.getAccountId()); + if (CollectionUtils.size(_authCode.getAllAccountIds()) == 1) { + BreakerConfig config = getConfig(_authCode.getAccountId()); + if (config == null) { + config = new BreakerConfig(); + config.setAccountId(_authCode.getAccountId()); + return config; + } + } List configs = CollectionUtils.transform(_authCode.getAllAccountIds(), this::getConfig, true); BreakerConfig config = new BreakerConfig(); config.setAccountId(_authCode.getAccountId()); @@ -438,7 +446,9 @@ public class MongoCurrentMonitorDao implements CurrentMonitorDao { @Override public String authenticateAccount(String _username, String _password) { - Account acct = proxy.queryOne(Account.class, new DaoQuery("username", _username)); + if (NullUtils.isEmpty(_username) || NullUtils.isEmpty(_password)) + return null; + Account acct = proxy.queryOne(Account.class, new DaoQuery("username", _username.toLowerCase().trim())); if ((acct == null) || !BCrypt.checkpw(_password, acct.getPassword())) return null; return toAuthCode(acct.getId(), acct.getAuxiliaryAccountIds());