[jboss-svn-commits] JBL Code SVN: r36126 - in labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client: ruleeditor and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Nov 30 09:43:20 EST 2010


Author: Rikkola
Date: 2010-11-30 09:43:20 -0500 (Tue, 30 Nov 2010)
New Revision: 36126

Added:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/resources/RuleFormatImageResource.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/RuleFormatImageResourceCell.java
Modified:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/AssetTable.java
Log:
Fix for the broken images in asset table
-I was using SafeHtml with image resource urls -> thinks the string url is not safe and sets the image url as #

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/resources/RuleFormatImageResource.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/resources/RuleFormatImageResource.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/resources/RuleFormatImageResource.java	2010-11-30 14:43:20 UTC (rev 36126)
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.drools.guvnor.client.resources;
+
+import com.google.gwt.resources.client.ImageResource;
+
+/**
+ * 
+ * @author rikkola
+ *
+ */
+public class RuleFormatImageResource
+    implements
+    ImageResource,
+    Comparable<RuleFormatImageResource> {
+
+    private final String        format;
+    private final ImageResource imageResource;
+
+    public RuleFormatImageResource(String format,
+                                   ImageResource imageResource) {
+        this.format = format;
+        this.imageResource = imageResource;
+    }
+
+    public String getName() {
+        return this.imageResource.getName();
+    }
+
+    public int compareTo(RuleFormatImageResource o) {
+        return format.compareTo( o.format );
+    }
+
+    public int getHeight() {
+        return this.imageResource.getHeight();
+    }
+
+    public int getLeft() {
+        return this.imageResource.getLeft();
+    }
+
+    public int getTop() {
+        return this.imageResource.getTop();
+    }
+
+    public String getURL() {
+        return this.imageResource.getURL();
+    }
+
+    public int getWidth() {
+        return this.imageResource.getWidth();
+    }
+
+    public boolean isAnimated() {
+        return this.imageResource.isAnimated();
+    }
+
+}

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java	2010-11-30 14:29:00 UTC (rev 36125)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java	2010-11-30 14:43:20 UTC (rev 36126)
@@ -34,12 +34,12 @@
 import org.drools.guvnor.client.processeditor.BusinessProcessEditor;
 import org.drools.guvnor.client.qa.testscenarios.ScenarioWidget;
 import org.drools.guvnor.client.resources.Images;
+import org.drools.guvnor.client.resources.RuleFormatImageResource;
 import org.drools.guvnor.client.rpc.RepositoryServiceAsync;
 import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
 import org.drools.guvnor.client.rpc.RuleAsset;
 
 import com.google.gwt.core.client.GWT;
-import com.google.gwt.resources.client.ImageResource;
 import com.google.gwt.user.client.ui.Widget;
 
 /**
@@ -56,11 +56,11 @@
  */
 public class EditorLauncher {
 
-    private static Images                          images      = GWT.create( Images.class );
+    private static Images                                    images      = GWT.create( Images.class );
 
-    public static final Map<String, ImageResource> TYPE_IMAGES = getTypeImages();
-    private static RepositoryServiceAsync          SERVICE     = RepositoryServiceFactory.getService();
-    public static Boolean                          HOSTED_MODE = Boolean.FALSE;
+    public static final Map<String, RuleFormatImageResource> TYPE_IMAGES = getTypeImages();
+    private static RepositoryServiceAsync                    SERVICE     = RepositoryServiceFactory.getService();
+    public static Boolean                                    HOSTED_MODE = Boolean.FALSE;
 
     static {
         SERVICE.isHostedMode( new GenericCallback<Boolean>() {
@@ -130,33 +130,45 @@
 
     }
 
-    private static Map<String, ImageResource> getTypeImages() {
-        Map<String, ImageResource> result = new HashMap<String, ImageResource>();
+    private static Map<String, RuleFormatImageResource> getTypeImages() {
+        Map<String, RuleFormatImageResource> result = new HashMap<String, RuleFormatImageResource>();
 
         result.put( AssetFormats.DRL,
-                    images.technicalRuleAssets() );
+                    new RuleFormatImageResource( AssetFormats.DRL,
+                                                 images.technicalRuleAssets() ) );
         result.put( AssetFormats.DSL,
-                    images.dsl() );
+                    new RuleFormatImageResource( AssetFormats.DSL,
+                                                 images.dsl() ) );
         result.put( AssetFormats.FUNCTION,
-                    images.functionAssets() );
+                    new RuleFormatImageResource( AssetFormats.FUNCTION,
+                                                 images.functionAssets() ) );
         result.put( AssetFormats.MODEL,
-                    images.modelAsset() );
+                    new RuleFormatImageResource( AssetFormats.MODEL,
+                                                 images.modelAsset() ) );
         result.put( AssetFormats.DECISION_SPREADSHEET_XLS,
-                    images.spreadsheetSmall() );
+                    new RuleFormatImageResource( AssetFormats.DECISION_SPREADSHEET_XLS,
+                                                 images.spreadsheetSmall() ) );
         result.put( AssetFormats.BUSINESS_RULE,
-                    images.businessRule() );
+                    new RuleFormatImageResource( AssetFormats.BUSINESS_RULE,
+                                                 images.businessRule() ) );
         result.put( AssetFormats.DSL_TEMPLATE_RULE,
-                    images.businessRule() );
+                    new RuleFormatImageResource( AssetFormats.DSL_TEMPLATE_RULE,
+                                                 images.businessRule() ) );
         result.put( AssetFormats.RULE_FLOW_RF,
-                    images.ruleflowSmall() );
+                    new RuleFormatImageResource( AssetFormats.RULE_FLOW_RF,
+                                                 images.ruleflowSmall() ) );
         result.put( AssetFormats.BPMN2_PROCESS,
-                    images.ruleflowSmall() );
+                    new RuleFormatImageResource( AssetFormats.BPMN2_PROCESS,
+                                                 images.ruleflowSmall() ) );
         result.put( AssetFormats.TEST_SCENARIO,
-                    images.testManager() );
+                    new RuleFormatImageResource( AssetFormats.TEST_SCENARIO,
+                                                 images.testManager() ) );
         result.put( AssetFormats.ENUMERATION,
-                    images.enumeration() );
+                    new RuleFormatImageResource( AssetFormats.ENUMERATION,
+                                                 images.enumeration() ) );
         result.put( AssetFormats.DECISION_TABLE_GUIDED,
-                    images.gdst() );
+                    new RuleFormatImageResource( AssetFormats.DECISION_TABLE_GUIDED,
+                                                 images.gdst() ) );
 
         return result;
     }
@@ -165,10 +177,11 @@
      * Get the icon name (not the path), including the extension, for the appropriate
      * asset format.
      */
-    public static ImageResource getAssetFormatIcon(String format) {
-        ImageResource result = TYPE_IMAGES.get( format );
+    public static RuleFormatImageResource getAssetFormatIcon(String format) {
+        RuleFormatImageResource result = TYPE_IMAGES.get( format );
         if ( result == null ) {
-            return images.ruleAsset();
+            return new RuleFormatImageResource( format,
+                                                images.ruleAsset() );
         } else {
             return result;
         }

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/AssetTable.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/AssetTable.java	2010-11-30 14:29:00 UTC (rev 36125)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/AssetTable.java	2010-11-30 14:43:20 UTC (rev 36126)
@@ -23,10 +23,25 @@
 import java.util.List;
 import java.util.Set;
 
+import org.drools.guvnor.client.common.GenericCallback;
+import org.drools.guvnor.client.messages.Constants;
+import org.drools.guvnor.client.resources.Images;
+import org.drools.guvnor.client.resources.RuleFormatImageResource;
+import org.drools.guvnor.client.rpc.AssetPageRequest;
+import org.drools.guvnor.client.rpc.AssetPageResponse;
+import org.drools.guvnor.client.rpc.AssetPageRow;
+import org.drools.guvnor.client.rpc.RepositoryServiceAsync;
+import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
+import org.drools.guvnor.client.ruleeditor.EditorLauncher;
+import org.drools.guvnor.client.ruleeditor.MultiViewRow;
+import org.drools.guvnor.client.table.ColumnPicker;
+import org.drools.guvnor.client.table.SelectionColumn;
+import org.drools.guvnor.client.table.SortableHeader;
+import org.drools.guvnor.client.table.SortableHeaderGroup;
+
 import com.google.gwt.cell.client.ButtonCell;
 import com.google.gwt.cell.client.DateCell;
 import com.google.gwt.cell.client.FieldUpdater;
-import com.google.gwt.cell.client.ImageCell;
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.i18n.client.DateTimeFormat;
 import com.google.gwt.user.cellview.client.CellTable;
@@ -46,20 +61,6 @@
 import com.gwtext.client.core.EventObject;
 import com.gwtext.client.widgets.Button;
 import com.gwtext.client.widgets.event.ButtonListenerAdapter;
-import org.drools.guvnor.client.common.GenericCallback;
-import org.drools.guvnor.client.messages.Constants;
-import org.drools.guvnor.client.resources.Images;
-import org.drools.guvnor.client.rpc.AssetPageRequest;
-import org.drools.guvnor.client.rpc.AssetPageResponse;
-import org.drools.guvnor.client.rpc.RepositoryServiceAsync;
-import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
-import org.drools.guvnor.client.rpc.AssetPageRow;
-import org.drools.guvnor.client.ruleeditor.EditorLauncher;
-import org.drools.guvnor.client.ruleeditor.MultiViewRow;
-import org.drools.guvnor.client.table.ColumnPicker;
-import org.drools.guvnor.client.table.SelectionColumn;
-import org.drools.guvnor.client.table.SortableHeader;
-import org.drools.guvnor.client.table.SortableHeaderGroup;
 
 /**
  * Widget with a table of assets.
@@ -121,12 +122,13 @@
         columnPicker.addColumn(uuidNumberColumn, new SortableHeader<AssetPageRow, String>(
                 sortableHeaderGroup, constants.uuid(), uuidNumberColumn), false);
 
-        Column<AssetPageRow, String> formatColumn = new Column<AssetPageRow, String>(new ImageCell()) {
-            public String getValue(AssetPageRow row) {
-                return EditorLauncher.getAssetFormatIcon(row.getFormat()).getURL();
+        Column<AssetPageRow, RuleFormatImageResource> formatColumn = new Column<AssetPageRow, RuleFormatImageResource>(new RuleFormatImageResourceCell()) {
+
+            public RuleFormatImageResource getValue(AssetPageRow row) {
+                return EditorLauncher.getAssetFormatIcon(row.getFormat()); 
             }
         };
-        columnPicker.addColumn(formatColumn, new SortableHeader<AssetPageRow, String>(
+        columnPicker.addColumn(formatColumn, new SortableHeader<AssetPageRow, RuleFormatImageResource>(
                 sortableHeaderGroup, constants.Format(), formatColumn), true);
 
         TextColumn<AssetPageRow> packageNameColumn = new TextColumn<AssetPageRow>() {

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/RuleFormatImageResourceCell.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/RuleFormatImageResourceCell.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/RuleFormatImageResourceCell.java	2010-11-30 14:43:20 UTC (rev 36126)
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.drools.guvnor.client.rulelist;
+
+import org.drools.guvnor.client.resources.RuleFormatImageResource;
+
+import com.google.gwt.cell.client.AbstractCell;
+import com.google.gwt.safehtml.shared.SafeHtml;
+import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
+import com.google.gwt.safehtml.shared.SafeHtmlUtils;
+import com.google.gwt.user.client.ui.AbstractImagePrototype;
+
+/**
+ * 
+ * @author rikkola
+ *
+ */
+public class RuleFormatImageResourceCell extends AbstractCell<RuleFormatImageResource> {
+
+    @Override
+    public void render(RuleFormatImageResource value,
+                       Object key,
+                       SafeHtmlBuilder sb) {
+        SafeHtml html = SafeHtmlUtils.fromTrustedString( AbstractImagePrototype.create( value ).getHTML() );
+        sb.append( html );
+    }
+
+}



More information about the jboss-svn-commits mailing list