details:   https://code.openbravo.com/erp/devel/pi/rev/5b9f270d0bff
changeset: 13268:5b9f270d0bff
user:      Antonio Moreno <antonio.moreno <at> openbravo.com>
date:      Tue Jul 26 12:40:29 2011 +0200
summary:   Fixed issue with ClientInformation and OrganizationInformation in OB3

details:   https://code.openbravo.com/erp/devel/pi/rev/8bfbd41b6ea6
changeset: 13269:8bfbd41b6ea6
user:      Antonio Moreno <antonio.moreno <at> openbravo.com>
date:      Tue Jul 26 12:40:42 2011 +0200
summary:   Added support for the ImageBLOB reference in OB3

diffstat:

 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
                                                                                
                      |   66 ++
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/ApplicationComponentProvider.java
                                                                         |   10 
+-
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/ApplicationUtils.java
                                                                                
     |   13 -
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
                                                                   |   27 +-
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/ImagesActionHandler.java
                                                                           |  
101 +++
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFormComponent.java
                                                                           |   
13 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-image.js
                                                                     |  316 
++++++++++
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/erase_icon.png
                |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/erase_icon_Disabled.png
       |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/erase_icon_Disabled_orig.png
  |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/erase_icon_Down.png
           |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/erase_icon_Over.png
           |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/upload_icon.png
               |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/upload_icon_Disabled.png
      |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/upload_icon_Disabled_orig.png
 |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/upload_icon_Down.png
          |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/images/form/upload_icon_Over.png
          |    0 
 
modules/org.openbravo.client.application/web/org.openbravo.userinterface.smartclient/openbravo/skins/Default/org.openbravo.client.application/ob-form-styles.css
                        |   66 ++
 
modules/org.openbravo.client.kernel/src-db/database/sourcedata/OBCLKER_UIDEFINITION.xml
                                                                                
                 |    4 +-
 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/ImageUIDefinition.java
                                                                                
    |   11 +
 src-db/database/sourcedata/AD_FIELD.xml                                        
                                                                                
                         |   20 +-
 src/org/openbravo/erpCommon/info/ImageInfoBLOB.java                            
                                                                                
                         |   66 +-
 22 files changed, 643 insertions(+), 70 deletions(-)

diffs (truncated from 1021 to 300 lines):

diff -r bc4bd502bc4d -r 8bfbd41b6ea6 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
--- 
a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
        Tue Jul 26 12:30:41 2011 +0200
+++ 
b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
        Tue Jul 26 12:40:42 2011 +0200
@@ -1378,6 +1378,72 @@
 <!--FF808081314C76B401314D0A2A240082-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--FF808081314C76B401314D0A2A240082--></AD_MESSAGE>
 
+<!--FF80808131509CDA013150B6379F0013--><AD_MESSAGE>
+<!--FF80808131509CDA013150B6379F0013-->  
<AD_MESSAGE_ID><![CDATA[FF80808131509CDA013150B6379F0013]]></AD_MESSAGE_ID>
+<!--FF80808131509CDA013150B6379F0013-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF80808131509CDA013150B6379F0013-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF80808131509CDA013150B6379F0013-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF80808131509CDA013150B6379F0013-->  
<VALUE><![CDATA[OBUIAPP_ConfirmDeleteImage]]></VALUE>
+<!--FF80808131509CDA013150B6379F0013-->  <MSGTEXT><![CDATA[Are you sure you 
want to permanently delete this image?]]></MSGTEXT>
+<!--FF80808131509CDA013150B6379F0013-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF80808131509CDA013150B6379F0013-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF80808131509CDA013150B6379F0013--></AD_MESSAGE>
+
+<!--FF80808131509CDA013150B6FDC80016--><AD_MESSAGE>
+<!--FF80808131509CDA013150B6FDC80016-->  
<AD_MESSAGE_ID><![CDATA[FF80808131509CDA013150B6FDC80016]]></AD_MESSAGE_ID>
+<!--FF80808131509CDA013150B6FDC80016-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF80808131509CDA013150B6FDC80016-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF80808131509CDA013150B6FDC80016-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF80808131509CDA013150B6FDC80016-->  
<VALUE><![CDATA[OBUIAPP_ImageSelectorTitle]]></VALUE>
+<!--FF80808131509CDA013150B6FDC80016-->  <MSGTEXT><![CDATA[Upload 
image]]></MSGTEXT>
+<!--FF80808131509CDA013150B6FDC80016-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF80808131509CDA013150B6FDC80016-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF80808131509CDA013150B6FDC80016--></AD_MESSAGE>
+
+<!--FF80808131509CDA013150B7DBF30021--><AD_MESSAGE>
+<!--FF80808131509CDA013150B7DBF30021-->  
<AD_MESSAGE_ID><![CDATA[FF80808131509CDA013150B7DBF30021]]></AD_MESSAGE_ID>
+<!--FF80808131509CDA013150B7DBF30021-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF80808131509CDA013150B7DBF30021-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF80808131509CDA013150B7DBF30021-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF80808131509CDA013150B7DBF30021-->  
<VALUE><![CDATA[OBUIAPP_ImageFile]]></VALUE>
+<!--FF80808131509CDA013150B7DBF30021-->  <MSGTEXT><![CDATA[Image 
File]]></MSGTEXT>
+<!--FF80808131509CDA013150B7DBF30021-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF80808131509CDA013150B7DBF30021-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF80808131509CDA013150B7DBF30021--></AD_MESSAGE>
+
+<!--FF80808131509CDA013150B85F370024--><AD_MESSAGE>
+<!--FF80808131509CDA013150B85F370024-->  
<AD_MESSAGE_ID><![CDATA[FF80808131509CDA013150B85F370024]]></AD_MESSAGE_ID>
+<!--FF80808131509CDA013150B85F370024-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF80808131509CDA013150B85F370024-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF80808131509CDA013150B85F370024-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF80808131509CDA013150B85F370024-->  
<VALUE><![CDATA[OBUIAPP_Close]]></VALUE>
+<!--FF80808131509CDA013150B85F370024-->  <MSGTEXT><![CDATA[Close]]></MSGTEXT>
+<!--FF80808131509CDA013150B85F370024-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF80808131509CDA013150B85F370024-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF80808131509CDA013150B85F370024--></AD_MESSAGE>
+
+<!--FF80808131509CDA013150B8CC730027--><AD_MESSAGE>
+<!--FF80808131509CDA013150B8CC730027-->  
<AD_MESSAGE_ID><![CDATA[FF80808131509CDA013150B8CC730027]]></AD_MESSAGE_ID>
+<!--FF80808131509CDA013150B8CC730027-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF80808131509CDA013150B8CC730027-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF80808131509CDA013150B8CC730027-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF80808131509CDA013150B8CC730027-->  
<VALUE><![CDATA[OBUIAPP_Upload]]></VALUE>
+<!--FF80808131509CDA013150B8CC730027-->  <MSGTEXT><![CDATA[Upload]]></MSGTEXT>
+<!--FF80808131509CDA013150B8CC730027-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF80808131509CDA013150B8CC730027-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF80808131509CDA013150B8CC730027--></AD_MESSAGE>
+
+<!--FF80808131509CDA013150BA6C5C002E--><AD_MESSAGE>
+<!--FF80808131509CDA013150BA6C5C002E-->  
<AD_MESSAGE_ID><![CDATA[FF80808131509CDA013150BA6C5C002E]]></AD_MESSAGE_ID>
+<!--FF80808131509CDA013150BA6C5C002E-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF80808131509CDA013150BA6C5C002E-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF80808131509CDA013150BA6C5C002E-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF80808131509CDA013150BA6C5C002E-->  
<VALUE><![CDATA[OBUIAPP_ConfirmOverwriteImage]]></VALUE>
+<!--FF80808131509CDA013150BA6C5C002E-->  <MSGTEXT><![CDATA[The existing image 
will be replaced by the new one. Are you sure you want to continue?]]></MSGTEXT>
+<!--FF80808131509CDA013150BA6C5C002E-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF80808131509CDA013150BA6C5C002E-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF80808131509CDA013150BA6C5C002E--></AD_MESSAGE>
+
 <!--FF80808131517E5F0131523F2F9000C1--><AD_MESSAGE>
 <!--FF80808131517E5F0131523F2F9000C1-->  
<AD_MESSAGE_ID><![CDATA[FF80808131517E5F0131523F2F9000C1]]></AD_MESSAGE_ID>
 <!--FF80808131517E5F0131523F2F9000C1-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r bc4bd502bc4d -r 8bfbd41b6ea6 
modules/org.openbravo.client.application/src/org/openbravo/client/application/ApplicationComponentProvider.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/ApplicationComponentProvider.java
   Tue Jul 26 12:30:41 2011 +0200
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/ApplicationComponentProvider.java
   Tue Jul 26 12:40:42 2011 +0200
@@ -87,6 +87,8 @@
         
"web/org.openbravo.client.application/js/utilities/ob-utilities-number.js", 
true));
 
     globalResources.add(createStaticResource(
+        "web/org.openbravo.client.application/js/utilities/ob-popup.js", 
false));
+    globalResources.add(createStaticResource(
         "web/org.openbravo.client.application/js/form/ob-form-button.js", 
true));
     globalResources.add(createStaticResource(
         
"web/org.openbravo.client.application/js/form/formitem/ob-formitem-checkbox.js",
 true));
@@ -139,6 +141,10 @@
         
"web/org.openbravo.client.application/js/form/formitem/ob-formitem-yesno.js", 
true));
 
     globalResources.add(createStaticResource(
+        "web/org.openbravo.client.application/js/toolbar/ob-toolbar.js", 
false));
+    globalResources.add(createStaticResource(
+        
"web/org.openbravo.client.application/js/form/formitem/ob-formitem-image.js", 
true));
+    globalResources.add(createStaticResource(
         
"web/org.openbravo.client.application/js/navbar/ob-application-menu.js", 
false));
     globalResources.add(createStaticResource(
         "web/org.openbravo.client.application/js/main/ob-tab.js", false));
@@ -174,8 +180,6 @@
     globalResources.add(createStaticResource(
         "web/org.openbravo.client.application/js/main/ob-standard-view.js", 
false));
     globalResources.add(createStaticResource(
-        "web/org.openbravo.client.application/js/utilities/ob-popup.js", 
false));
-    globalResources.add(createStaticResource(
         
"web/org.openbravo.client.application/js/form/ob-view-form-linked-items.js", 
false));
     globalResources.add(createStaticResource(
         "web/org.openbravo.client.application/js/form/ob-view-form-notes.js", 
false));
@@ -190,8 +194,6 @@
     globalResources.add(createStaticResource(
         "web/org.openbravo.client.application/js/classic/ob-classic-popup.js", 
false));
     globalResources.add(createStaticResource(
-        "web/org.openbravo.client.application/js/toolbar/ob-toolbar.js", 
false));
-    globalResources.add(createStaticResource(
         "web/org.openbravo.client.application/js/main/ob-messagebar.js", 
false));
     globalResources.add(createStaticResource(
         "web/org.openbravo.client.application/js/form/ob-statusbar.js", 
false));
diff -r bc4bd502bc4d -r 8bfbd41b6ea6 
modules/org.openbravo.client.application/src/org/openbravo/client/application/ApplicationUtils.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/ApplicationUtils.java
       Tue Jul 26 12:30:41 2011 +0200
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/ApplicationUtils.java
       Tue Jul 26 12:40:42 2011 +0200
@@ -31,7 +31,6 @@
 import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.service.OBCriteria;
 import org.openbravo.dal.service.OBDal;
-import org.openbravo.dal.service.OBQuery;
 import org.openbravo.model.ad.access.Role;
 import org.openbravo.model.ad.access.RoleOrganization;
 import org.openbravo.model.ad.access.User;
@@ -57,19 +56,7 @@
   }
 
   static void showWindowInClassicMode(Window window, List<String> 
reasonsToBeShownInClassic) {
-    // FIXME Remove this once ImageBLOB is implemented
-    // Currently, windows with ImageBLOB reference columns will be shown in 
classic mode
-    String qryStr = "as f where f.column.reference.id = 
'4AA6C3BE9D3B4D84A3B80489505A23E5' "
-        + "and f.tab.window.id = :windowId ";
     List<String> reasonsOfWindow = new ArrayList<String>();
-    OBQuery<Field> qry = OBDal.getInstance().createQuery(Field.class, qryStr);
-    qry.setNamedParameter("windowId", window.getId());
-    if (qry.count() > 0) {
-      String reason = "   One or more columns in the window " + 
window.getName()
-          + " have an ImageBLOB reference ";
-      reasonsOfWindow.add(reason);
-    }
-
     for (Tab tab : window.getADTabList()) {
       if (!tab.isActive()) {
         continue;
diff -r bc4bd502bc4d -r 8bfbd41b6ea6 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
     Tue Jul 26 12:30:41 2011 +0200
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
     Tue Jul 26 12:40:42 2011 +0200
@@ -381,24 +381,25 @@
       }
 
       if (mode.equals("EDIT") && row != null) {
-        if (((ClientEnabled) row).getClient() != null
-            || ((OrganizationEnabled) row).getOrganization() != null) {
+        if ((row instanceof ClientEnabled && ((ClientEnabled) row).getClient() 
!= null)) {
           final String rowClientId = ((ClientEnabled) row).getClient().getId();
           final String currentClientId = 
OBContext.getOBContext().getCurrentClient().getId();
           if (!rowClientId.equals(currentClientId)) {
             finalObject.put("_readOnly", true);
-          } else {
-            boolean writable = false;
-            final String objectOrgId = ((OrganizationEnabled) 
row).getOrganization().getId();
-            for (String orgId : 
OBContext.getOBContext().getWritableOrganizations()) {
-              if (orgId.equals(objectOrgId)) {
-                writable = true;
-                break;
-              }
+          }
+        }
+        if (row instanceof OrganizationEnabled
+            && ((OrganizationEnabled) row).getOrganization() != null) {
+          boolean writable = false;
+          final String objectOrgId = ((OrganizationEnabled) 
row).getOrganization().getId();
+          for (String orgId : 
OBContext.getOBContext().getWritableOrganizations()) {
+            if (orgId.equals(objectOrgId)) {
+              writable = true;
+              break;
             }
-            if (!writable) {
-              finalObject.put("_readOnly", true);
-            }
+          }
+          if (!writable) {
+            finalObject.put("_readOnly", true);
           }
         }
       }
diff -r bc4bd502bc4d -r 8bfbd41b6ea6 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/ImagesActionHandler.java
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/ImagesActionHandler.java
     Tue Jul 26 12:40:42 2011 +0200
@@ -0,0 +1,101 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html 
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License. 
+ * The Original Code is Openbravo ERP. 
+ * The Initial Developer of the Original Code is Openbravo SLU 
+ * All portions are Copyright (C) 2011 Openbravo SLU 
+ * All Rights Reserved. 
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+ */
+package org.openbravo.client.application.window;
+
+import java.awt.image.BufferedImage;
+import java.io.ByteArrayInputStream;
+import java.util.Map;
+
+import javax.imageio.ImageIO;
+
+import org.apache.log4j.Logger;
+import org.codehaus.jettison.json.JSONObject;
+import org.openbravo.base.model.Entity;
+import org.openbravo.base.model.ModelProvider;
+import org.openbravo.base.structure.BaseOBObject;
+import org.openbravo.client.kernel.BaseActionHandler;
+import org.openbravo.dal.core.OBContext;
+import org.openbravo.dal.service.OBDal;
+import org.openbravo.model.ad.datamodel.Table;
+import org.openbravo.model.ad.ui.Tab;
+import org.openbravo.model.ad.utility.Image;
+
+/**
+ * This ActionHandler implements the DELETE and GETSIZE actions which are used 
by the ImageBLOB
+ * reference components in the OB3 windows.
+ * 
+ * The DELETE action deletes an image from the database, and its reference 
from the referencing
+ * table
+ * 
+ * The GETSIZE action gets the size of an image
+ * 
+ */
+public class ImagesActionHandler extends BaseActionHandler {
+
+  private static final Logger log = 
Logger.getLogger(ImagesActionHandler.class);
+
+  @Override
+  protected JSONObject execute(Map<String, Object> parameters, String content) 
{
+    if (parameters.get("command").equals("DELETE")) {
+      OBContext.setAdminMode();
+      String imageID = (String) parameters.get("inpimageId");
+      String tabId = (String) parameters.get("inpTabId");
+      Tab tab = OBDal.getInstance().get(Tab.class, tabId);
+      String tableId = tab.getTable().getId();
+
+      String columnName = (String) parameters.get("inpColumnName");
+      String parentObjectId = (String) parameters.get("parentObjectId");
+      try {
+        Image image = OBDal.getInstance().get(Image.class, imageID);
+        Table table = OBDal.getInstance().get(Table.class, tableId);
+        Entity entity = 
ModelProvider.getInstance().getEntityByTableName(table.getDBTableName());
+        String propertyName = 
entity.getPropertyByColumnName(columnName).getName();
+        BaseOBObject parentObject = (BaseOBObject) 
OBDal.getInstance().get(entity.getName(),
+            parentObjectId);
+        parentObject.set(propertyName, null);
+        OBDal.getInstance().flush();
+        OBDal.getInstance().remove(image);
+        return new JSONObject();
+      } finally {
+        OBContext.restorePreviousMode();
+      }
+    } else if (parameters.get("command").equals("GETSIZE")) {
+      try {
+        OBContext.setAdminMode();
+        String imageID = (String) parameters.get("inpimageId");
+        Image image = OBDal.getInstance().get(Image.class, imageID);
+        ByteArrayInputStream bis = new 
ByteArrayInputStream(image.getBindaryData());
+        BufferedImage rImage = ImageIO.read(bis);
+        int width = rImage.getWidth();
+        int height = rImage.getHeight();
+        JSONObject obj = new JSONObject();
+        obj.put("width", width);
+        obj.put("height", height);
+        return obj;
+      } catch (Exception e) {
+        log.error("Error while calculating image size", e);
+        return new JSONObject();
+      } finally {
+        OBContext.restorePreviousMode();
+      }
+    } else {
+      return new JSONObject();
+    }
+  }
+}
diff -r bc4bd502bc4d -r 8bfbd41b6ea6 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFormComponent.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFormComponent.java
     Tue Jul 26 12:30:41 2011 +0200
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFormComponent.java
     Tue Jul 26 12:40:42 2011 +0200
@@ -58,6 +58,7 @@
 

------------------------------------------------------------------------------
Magic Quadrant for Content-Aware Data Loss Prevention
Research study explores the data loss prevention market. Includes in-depth
analysis on the changes within the DLP market, and the criteria used to
evaluate the strengths and weaknesses of these DLP solutions.
http://www.accelacomm.com/jaw/sfnl/114/51385063/
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to