details:   /erp/devel/pi/rev/09983f27135a
changeset: 8766:09983f27135a
user:      Gorka Ion Damián <gorkaion.damian <at> openbravo.com>
date:      Thu Oct 28 10:18:10 2010 +0200
summary:   [heatbeat] Add Rejected logins due to concurrent users parameter.

diffstat:

 src-db/database/model/tables/AD_HEARTBEAT_LOG.xml            |   4 +
 src-db/database/sourcedata/AD_COLUMN.xml                     |  32 ++++++++++++
 src-db/database/sourcedata/AD_ELEMENT.xml                    |  12 ++++
 src-db/database/sourcedata/AD_FIELD.xml                      |  28 +++++++++-
 src/org/openbravo/erpCommon/ad_process/HeartbeatProcess.java |   7 ++
 src/org/openbravo/erpCommon/utility/SystemInfo.java          |  24 +++++++-
 6 files changed, 100 insertions(+), 7 deletions(-)

diffs (230 lines):

diff -r 438617827527 -r 09983f27135a 
src-db/database/model/tables/AD_HEARTBEAT_LOG.xml
--- a/src-db/database/model/tables/AD_HEARTBEAT_LOG.xml Wed Oct 27 21:23:12 
2010 +0200
+++ b/src-db/database/model/tables/AD_HEARTBEAT_LOG.xml Thu Oct 28 10:18:10 
2010 +0200
@@ -181,6 +181,10 @@
         <default/>
         <onCreateDefault/>
       </column>
+      <column name="REJECTED_LOGINS_DUE_CONC_USERS" primaryKey="false" 
required="false" type="DECIMAL" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
       <foreign-key foreignTable="AD_CLIENT" name="AD_HEARTBEAT_LOG_AD_CLIENT">
         <reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/>
       </foreign-key>
diff -r 438617827527 -r 09983f27135a src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml  Wed Oct 27 21:23:12 2010 +0200
+++ b/src-db/database/sourcedata/AD_COLUMN.xml  Thu Oct 28 10:18:10 2010 +0200
@@ -308910,6 +308910,38 @@
 <!--92FC7A19DAD0930CE040007F010048EB-->  
<VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
 <!--92FC7A19DAD0930CE040007F010048EB--></AD_COLUMN>
 
+<!--9397E02890414B43E040007F0100749D--><AD_COLUMN>
+<!--9397E02890414B43E040007F0100749D-->  
<AD_COLUMN_ID><![CDATA[9397E02890414B43E040007F0100749D]]></AD_COLUMN_ID>
+<!--9397E02890414B43E040007F0100749D-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--9397E02890414B43E040007F0100749D-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--9397E02890414B43E040007F0100749D-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--9397E02890414B43E040007F0100749D-->  
<NAME><![CDATA[Rejected_Logins_Due_Conc_Users]]></NAME>
+<!--9397E02890414B43E040007F0100749D-->  <HELP><![CDATA[Number of rejected 
logins due to concurrent users limit on the last 30 days]]></HELP>
+<!--9397E02890414B43E040007F0100749D-->  
<COLUMNNAME><![CDATA[Rejected_Logins_Due_Conc_Users]]></COLUMNNAME>
+<!--9397E02890414B43E040007F0100749D-->  
<AD_TABLE_ID><![CDATA[1005400006]]></AD_TABLE_ID>
+<!--9397E02890414B43E040007F0100749D-->  
<AD_REFERENCE_ID><![CDATA[11]]></AD_REFERENCE_ID>
+<!--9397E02890414B43E040007F0100749D-->  
<FIELDLENGTH><![CDATA[12]]></FIELDLENGTH>
+<!--9397E02890414B43E040007F0100749D-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--9397E02890414B43E040007F0100749D-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--9397E02890414B43E040007F0100749D-->  
<ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--9397E02890414B43E040007F0100749D-->  
<ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--9397E02890414B43E040007F0100749D-->  
<ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--9397E02890414B43E040007F0100749D-->  <SEQNO><![CDATA[460]]></SEQNO>
+<!--9397E02890414B43E040007F0100749D-->  
<ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--9397E02890414B43E040007F0100749D-->  
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--9397E02890414B43E040007F0100749D-->  
<ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--9397E02890414B43E040007F0100749D-->  
<AD_ELEMENT_ID><![CDATA[9397E02890444B43E040007F0100749D]]></AD_ELEMENT_ID>
+<!--9397E02890414B43E040007F0100749D-->  
<ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--9397E02890414B43E040007F0100749D-->  
<ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--9397E02890414B43E040007F0100749D-->  
<ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--9397E02890414B43E040007F0100749D-->  
<DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--9397E02890414B43E040007F0100749D-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--9397E02890414B43E040007F0100749D-->  <POSITION><![CDATA[46]]></POSITION>
+<!--9397E02890414B43E040007F0100749D-->  
<ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--9397E02890414B43E040007F0100749D-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--9397E02890414B43E040007F0100749D-->  
<VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--9397E02890414B43E040007F0100749D--></AD_COLUMN>
+
 <!--95228909B4A44702B0D71D14DBBB2E44--><AD_COLUMN>
 <!--95228909B4A44702B0D71D14DBBB2E44-->  
<AD_COLUMN_ID><![CDATA[95228909B4A44702B0D71D14DBBB2E44]]></AD_COLUMN_ID>
 <!--95228909B4A44702B0D71D14DBBB2E44-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 438617827527 -r 09983f27135a src-db/database/sourcedata/AD_ELEMENT.xml
--- a/src-db/database/sourcedata/AD_ELEMENT.xml Wed Oct 27 21:23:12 2010 +0200
+++ b/src-db/database/sourcedata/AD_ELEMENT.xml Thu Oct 28 10:18:10 2010 +0200
@@ -27299,6 +27299,18 @@
 <!--92960702F3C3E1DAE040007F010046D0-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--92960702F3C3E1DAE040007F010046D0--></AD_ELEMENT>
 
+<!--9397E02890444B43E040007F0100749D--><AD_ELEMENT>
+<!--9397E02890444B43E040007F0100749D-->  
<AD_ELEMENT_ID><![CDATA[9397E02890444B43E040007F0100749D]]></AD_ELEMENT_ID>
+<!--9397E02890444B43E040007F0100749D-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--9397E02890444B43E040007F0100749D-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--9397E02890444B43E040007F0100749D-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--9397E02890444B43E040007F0100749D-->  
<COLUMNNAME><![CDATA[Rejected_Logins_Due_Conc_Users]]></COLUMNNAME>
+<!--9397E02890444B43E040007F0100749D-->  <NAME><![CDATA[Rejected logins due to 
concurrent users limit]]></NAME>
+<!--9397E02890444B43E040007F0100749D-->  <PRINTNAME><![CDATA[Rejected logins 
due to concurrent users limit]]></PRINTNAME>
+<!--9397E02890444B43E040007F0100749D-->  <HELP><![CDATA[Number of rejected 
logins due to concurrent users limit on the last 30 days]]></HELP>
+<!--9397E02890444B43E040007F0100749D-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--9397E02890444B43E040007F0100749D--></AD_ELEMENT>
+
 <!--9910D5BD35894A8FBBB365FB9239B711--><AD_ELEMENT>
 <!--9910D5BD35894A8FBBB365FB9239B711-->  
<AD_ELEMENT_ID><![CDATA[9910D5BD35894A8FBBB365FB9239B711]]></AD_ELEMENT_ID>
 <!--9910D5BD35894A8FBBB365FB9239B711-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 438617827527 -r 09983f27135a src-db/database/sourcedata/AD_FIELD.xml
--- a/src-db/database/sourcedata/AD_FIELD.xml   Wed Oct 27 21:23:12 2010 +0200
+++ b/src-db/database/sourcedata/AD_FIELD.xml   Thu Oct 28 10:18:10 2010 +0200
@@ -181796,7 +181796,7 @@
 <!--10F44D767CA9479B9061C09E0E52EA3E-->  
<ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
 <!--10F44D767CA9479B9061C09E0E52EA3E-->  
<DISPLAYLENGTH><![CDATA[22]]></DISPLAYLENGTH>
 <!--10F44D767CA9479B9061C09E0E52EA3E-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
-<!--10F44D767CA9479B9061C09E0E52EA3E-->  <SEQNO><![CDATA[370]]></SEQNO>
+<!--10F44D767CA9479B9061C09E0E52EA3E-->  <SEQNO><![CDATA[380]]></SEQNO>
 <!--10F44D767CA9479B9061C09E0E52EA3E-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
 <!--10F44D767CA9479B9061C09E0E52EA3E-->  
<ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
 <!--10F44D767CA9479B9061C09E0E52EA3E-->  
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
@@ -202394,7 +202394,7 @@
 <!--90211BA56ACAD8A1E040007F01012508-->  
<ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
 <!--90211BA56ACAD8A1E040007F01012508-->  
<DISPLAYLENGTH><![CDATA[12]]></DISPLAYLENGTH>
 <!--90211BA56ACAD8A1E040007F01012508-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
-<!--90211BA56ACAD8A1E040007F01012508-->  <SEQNO><![CDATA[350]]></SEQNO>
+<!--90211BA56ACAD8A1E040007F01012508-->  <SEQNO><![CDATA[360]]></SEQNO>
 <!--90211BA56ACAD8A1E040007F01012508-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
 <!--90211BA56ACAD8A1E040007F01012508-->  
<ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
 <!--90211BA56ACAD8A1E040007F01012508-->  
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
@@ -202417,7 +202417,7 @@
 <!--90211BA56ACBD8A1E040007F01012508-->  
<ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
 <!--90211BA56ACBD8A1E040007F01012508-->  
<DISPLAYLENGTH><![CDATA[12]]></DISPLAYLENGTH>
 <!--90211BA56ACBD8A1E040007F01012508-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
-<!--90211BA56ACBD8A1E040007F01012508-->  <SEQNO><![CDATA[360]]></SEQNO>
+<!--90211BA56ACBD8A1E040007F01012508-->  <SEQNO><![CDATA[370]]></SEQNO>
 <!--90211BA56ACBD8A1E040007F01012508-->  <ISSAMELINE><![CDATA[Y]]></ISSAMELINE>
 <!--90211BA56ACBD8A1E040007F01012508-->  
<ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
 <!--90211BA56ACBD8A1E040007F01012508-->  
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
@@ -203293,6 +203293,28 @@
 <!--93092ACE16BA46B8B0C7AA66DCAF80BE-->  
<GRID_SEQNO><![CDATA[20]]></GRID_SEQNO>
 <!--93092ACE16BA46B8B0C7AA66DCAF80BE--></AD_FIELD>
 
+<!--9397E028904B4B43E040007F0100749D--><AD_FIELD>
+<!--9397E028904B4B43E040007F0100749D-->  
<AD_FIELD_ID><![CDATA[9397E028904B4B43E040007F0100749D]]></AD_FIELD_ID>
+<!--9397E028904B4B43E040007F0100749D-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--9397E028904B4B43E040007F0100749D-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--9397E028904B4B43E040007F0100749D-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--9397E028904B4B43E040007F0100749D-->  <NAME><![CDATA[Rejected logins due to 
concurrent users limit]]></NAME>
+<!--9397E028904B4B43E040007F0100749D-->  <HELP><![CDATA[Number of rejected 
logins due to concurrent users limit on the last 30 days]]></HELP>
+<!--9397E028904B4B43E040007F0100749D-->  
<ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--9397E028904B4B43E040007F0100749D-->  
<AD_TAB_ID><![CDATA[1005400006]]></AD_TAB_ID>
+<!--9397E028904B4B43E040007F0100749D-->  
<AD_COLUMN_ID><![CDATA[9397E02890414B43E040007F0100749D]]></AD_COLUMN_ID>
+<!--9397E028904B4B43E040007F0100749D-->  
<ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--9397E028904B4B43E040007F0100749D-->  
<DISPLAYLENGTH><![CDATA[12]]></DISPLAYLENGTH>
+<!--9397E028904B4B43E040007F0100749D-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--9397E028904B4B43E040007F0100749D-->  <SEQNO><![CDATA[350]]></SEQNO>
+<!--9397E028904B4B43E040007F0100749D-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--9397E028904B4B43E040007F0100749D-->  
<ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--9397E028904B4B43E040007F0100749D-->  
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--9397E028904B4B43E040007F0100749D-->  
<SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--9397E028904B4B43E040007F0100749D-->  
<ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--9397E028904B4B43E040007F0100749D-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--9397E028904B4B43E040007F0100749D--></AD_FIELD>
+
 <!--9548BFF12C804E3EAC9954731D5A4177--><AD_FIELD>
 <!--9548BFF12C804E3EAC9954731D5A4177-->  
<AD_FIELD_ID><![CDATA[9548BFF12C804E3EAC9954731D5A4177]]></AD_FIELD_ID>
 <!--9548BFF12C804E3EAC9954731D5A4177-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 438617827527 -r 09983f27135a 
src/org/openbravo/erpCommon/ad_process/HeartbeatProcess.java
--- a/src/org/openbravo/erpCommon/ad_process/HeartbeatProcess.java      Wed Oct 
27 21:23:12 2010 +0200
+++ b/src/org/openbravo/erpCommon/ad_process/HeartbeatProcess.java      Thu Oct 
28 10:18:10 2010 +0200
@@ -373,6 +373,13 @@
           log.warn("Incorrect number of orgs: "
               + 
systemInfo.getProperty(SystemInfo.Item.NUMBER_OF_ORGS.getLabel()));
         }
+        try {
+          hbLog.setRejectedLoginsDueConcUsers(Long.parseLong(systemInfo
+              
.getProperty(SystemInfo.Item.REJECTED_LOGINS_DUE_CONC_USERS.getLabel())));
+        } catch (NumberFormatException e) {
+          log.warn("Incorrect number of rejected logins: "
+              + SystemInfo.Item.REJECTED_LOGINS_DUE_CONC_USERS.getLabel());
+        }
       }
       OBDal.getInstance().save(hbLog);
     } finally {
diff -r 438617827527 -r 09983f27135a 
src/org/openbravo/erpCommon/utility/SystemInfo.java
--- a/src/org/openbravo/erpCommon/utility/SystemInfo.java       Wed Oct 27 
21:23:12 2010 +0200
+++ b/src/org/openbravo/erpCommon/utility/SystemInfo.java       Thu Oct 28 
10:18:10 2010 +0200
@@ -79,7 +79,8 @@
   private static Date lastLogin;
   private static Long numberOfLogins;
   private static SimpleDateFormat sd;
-  private static int numberOfLonginsThisMoth = 0;
+  private static int numberOfLonginsThisMonth = 0;
+  private static int numberOfRejectedLoginsDueConcUsersThisMonth = 0;
   private static BigDecimal avgUsers = BigDecimal.ZERO;
   private static BigDecimal usagePercentageTime = BigDecimal.ZERO;
   private static int maxUsers = 0;
@@ -212,7 +213,7 @@
       systemInfo.put(i, usagePercentageTime.toString());
       break;
     case TOTAL_LOGINS_LAST_MOTH:
-      systemInfo.put(i, Integer.toString(numberOfLonginsThisMoth));
+      systemInfo.put(i, Integer.toString(numberOfLonginsThisMonth));
       break;
     case NUMBER_OF_CLIENTS:
       systemInfo.put(i, getNumberOfClients());
@@ -228,6 +229,9 @@
           .getInstancePurpose();
       systemInfo.put(i, instancePurpose == null ? "U" : instancePurpose);
       break;
+    case REJECTED_LOGINS_DUE_CONC_USERS:
+      systemInfo.put(i, 
Integer.toString(numberOfRejectedLoginsDueConcUsersThisMonth));
+      break;
     }
   }
 
@@ -597,7 +601,7 @@
       List<Event> events = new ArrayList<Event>();
       List<Session> sessions = qSession.list();
 
-      numberOfLonginsThisMoth = sessions.size();
+      numberOfLonginsThisMonth = sessions.size();
       for (Session session : sessions) {
         Event newSession = new Event();
         newSession.eventDate = session.getCreationDate();
@@ -641,6 +645,7 @@
           usersPeriod = usersPeriod.add(periodTime.multiply(new 
BigDecimal(concurrentUsers)));
         }
       }
+      
calculateNumberOfRejectedLoginsDueConcurrentUsersLastMonth(startOfPeriod);
 
       BigDecimal totalTime = new BigDecimal(now.getTimeInMillis() - 
startOfPeriod.getTimeInMillis());
       if (totalUsageTime.compareTo(BigDecimal.ZERO) != 0) {
@@ -655,6 +660,16 @@
     } catch (Exception e) {
       log4j.error("Error calculating login information", e);
     }
+
+  }
+
+  private static void 
calculateNumberOfRejectedLoginsDueConcurrentUsersLastMonth(
+      Calendar startOfPeriod) {
+    OBCriteria<Session> qSession = 
OBDal.getInstance().createCriteria(Session.class);
+    qSession.add(Expression.ge(Session.PROPERTY_CREATIONDATE, 
startOfPeriod.getTime()));
+    qSession.add(Expression.eq(Session.PROPERTY_LOGINSTATUS, "CUR"));
+
+    numberOfRejectedLoginsDueConcUsersThisMonth = qSession.list().size();
   }
 
   /**
@@ -710,7 +725,8 @@
         "loginsMoth", false), MAX_CONCURRENT_USERS("maxUsers", false), 
AVG_CONCURRENT_USERS(
         "avgUsers", false), PERC_TIME_USAGE("timeUsage", false), 
NUMBER_OF_CLIENTS("clientNum",
         false), NUMBER_OF_ORGS("orgNum", false), USAGE_AUDIT("usageAudit", 
false), INSTANCE_PURPOSE(
-        "instancePurpose", false);
+        "instancePurpose", false), 
REJECTED_LOGINS_DUE_CONC_USERS("rejectedLoginsDueConcUsers",
+        false);
 
     private String label;
     private boolean isIdInfo;

------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to