From 0b8d3782ffe66fbad7ab01238d30a84a57d2a2ef Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Mon, 28 Nov 2011 15:37:25 +0100 Subject: SONAR-3039 Refactor the LCOM4 viewer with Ruby extension --- .../org/sonar/plugins/design/DesignPlugin.java | 2 - .../sonar/plugins/design/ui/lcom4/GwtLcom4Tab.java | 42 --------- .../sonar/plugins/design/ui/lcom4/client/Data.java | 52 ---------- .../plugins/design/ui/lcom4/client/Lcom4Tab.java | 105 --------------------- .../sonar/plugins/design/ui/lcom4/Lcom4Tab.gwt.xml | 8 -- .../plugins/design/ui/lcom4/Lcom4TabDev.gwt.xml | 6 -- .../sonar/plugins/design/ui/lcom4/public/lcom4.css | 23 ----- .../plugins/design/ui/lcom4/public/lcom4.html | 28 ------ 8 files changed, 266 deletions(-) delete mode 100644 plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/lcom4/GwtLcom4Tab.java delete mode 100644 plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/lcom4/client/Data.java delete mode 100644 plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/lcom4/client/Lcom4Tab.java delete mode 100644 plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/lcom4/Lcom4Tab.gwt.xml delete mode 100644 plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/lcom4/Lcom4TabDev.gwt.xml delete mode 100644 plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/lcom4/public/lcom4.css delete mode 100644 plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/lcom4/public/lcom4.html (limited to 'plugins/sonar-design-plugin/src') diff --git a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/DesignPlugin.java b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/DesignPlugin.java index ac392718a4f..c4a8aabe8e8 100644 --- a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/DesignPlugin.java +++ b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/DesignPlugin.java @@ -23,7 +23,6 @@ import com.google.common.collect.Lists; import org.sonar.api.SonarPlugin; import org.sonar.plugins.design.batch.*; import org.sonar.plugins.design.ui.dependencies.GwtDependenciesTab; -import org.sonar.plugins.design.ui.lcom4.GwtLcom4Tab; import org.sonar.plugins.design.ui.libraries.GwtLibrariesPage; import org.sonar.plugins.design.ui.page.GwtDesignPage; import org.sonar.plugins.design.ui.widgets.ChidamberKemererWidget; @@ -51,7 +50,6 @@ public class DesignPlugin extends SonarPlugin { extensions.add(FileDesignWidget.class); extensions.add(PackageDesignWidget.class); extensions.add(ChidamberKemererWidget.class); - extensions.add(GwtLcom4Tab.class); return extensions; } diff --git a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/lcom4/GwtLcom4Tab.java b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/lcom4/GwtLcom4Tab.java deleted file mode 100644 index 51eef44558a..00000000000 --- a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/lcom4/GwtLcom4Tab.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Sonar, open source software quality management tool. - * Copyright (C) 2008-2011 SonarSource - * mailto:contact AT sonarsource DOT com - * - * Sonar is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * Sonar is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with Sonar; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 - */ -package org.sonar.plugins.design.ui.lcom4; - -import org.sonar.api.measures.CoreMetrics; -import org.sonar.api.resources.Java; -import org.sonar.api.resources.Resource; -import org.sonar.api.web.*; -import org.sonar.plugins.design.ui.lcom4.client.Lcom4Tab; - -@ResourceLanguage(Java.KEY) -@ResourceQualifier({Resource.QUALIFIER_CLASS}) -@DefaultTab(metrics = {CoreMetrics.LCOM4_KEY}) -@NavigationSection({NavigationSection.RESOURCE_TAB}) -@UserRole(UserRole.CODEVIEWER) -public class GwtLcom4Tab extends GwtPage { - - public String getTitle() { - return "LCOM4"; - } - - public String getGwtId() { - return Lcom4Tab.GWT_ID; - } -} diff --git a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/lcom4/client/Data.java b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/lcom4/client/Data.java deleted file mode 100644 index 76ee31729f2..00000000000 --- a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/lcom4/client/Data.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Sonar, open source software quality management tool. - * Copyright (C) 2008-2011 SonarSource - * mailto:contact AT sonarsource DOT com - * - * Sonar is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * Sonar is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with Sonar; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 - */ -package org.sonar.plugins.design.ui.lcom4.client; - -import com.google.gwt.core.client.JavaScriptObject; - -public final class Data { - - public static class Entity extends JavaScriptObject { - // Overlay types always have protected, zero-arg ctors - protected Entity() { - } - - public final native String getName() /*-{ return this.n; }-*/; - public final native String getQualifier() /*-{ return this.q; }-*/; - } - - public static class Block extends JavaScriptObject { - protected Block() { - } - public final native int size() /*-{ return this.length; }-*/; - public final native Entity get(int i) /*-{ return this[i]; }-*/; - } - - public static class Blocks extends JavaScriptObject { - protected Blocks() { - } - public final native int size() /*-{ return this.length; }-*/; - public final native Block get(int i) /*-{ return this[i]; }-*/; - } - - public static native Blocks parse(String json) /*-{ - return eval('(' + json + ')') - }-*/; -} diff --git a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/lcom4/client/Lcom4Tab.java b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/lcom4/client/Lcom4Tab.java deleted file mode 100644 index b9aaba09578..00000000000 --- a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/lcom4/client/Lcom4Tab.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Sonar, open source software quality management tool. - * Copyright (C) 2008-2011 SonarSource - * mailto:contact AT sonarsource DOT com - * - * Sonar is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * Sonar is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with Sonar; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 - */ -package org.sonar.plugins.design.ui.lcom4.client; - -import com.google.gwt.i18n.client.Dictionary; -import com.google.gwt.user.client.ui.*; -import org.sonar.gwt.ui.Icons; -import org.sonar.gwt.ui.Loading; -import org.sonar.gwt.ui.Page; -import org.sonar.wsclient.gwt.AbstractCallback; -import org.sonar.wsclient.gwt.Sonar; -import org.sonar.wsclient.services.Resource; -import org.sonar.wsclient.services.ResourceQuery; - -public class Lcom4Tab extends Page { - public static final String GWT_ID = "org.sonar.plugins.design.ui.lcom4.Lcom4Tab"; - - private VerticalPanel panel; - - @Override - protected Widget doOnResourceLoad(Resource resource) { - panel = new VerticalPanel(); - panel.setWidth("100%"); - loadData(resource); - return panel; - } - - private void loadData(Resource resource) { - panel.add(new Loading()); - ResourceQuery query = ResourceQuery.createForMetrics(resource.getId().toString(), "lcom4", "lcom4_blocks"); - Sonar.getInstance().find(query, new AbstractCallback() { - @Override - protected void doOnResponse(Resource resource) { - panel.clear(); - panel.add(new Header(resource)); - if (resource != null && resource.getMeasure("lcom4_blocks") != null) { - String json = resource.getMeasure("lcom4_blocks").getData(); - Data.Blocks blocks = Data.parse(json); - - Grid grid = new Grid(blocks.size(), 2); - grid.setStyleName("lcom4blocks"); - grid.getColumnFormatter().setStyleName(0, "index"); - - for (int indexBlock = 0; indexBlock < blocks.size(); indexBlock++) { - Data.Block block = blocks.get(indexBlock); - grid.setHTML(indexBlock, 0, "
" + (indexBlock + 1) + "
"); - - VerticalPanel blockPanel = new VerticalPanel(); - blockPanel.setStyleName("lcom4block"); - - for (int indexEntity = 0; indexEntity < block.size(); indexEntity++) { - Data.Entity entity = block.get(indexEntity); - HTML row = new HTML(Icons.forQualifier(entity.getQualifier()).getHTML() + " " + entity.getName()); - row.setStyleName("lcom4row"); - blockPanel.add(row); - } - grid.setWidget(indexBlock, 1, blockPanel); - - } - panel.add(grid); - } - } - }); - } - - private static class Header extends Composite { - private FlowPanel header; - - public Header(Resource resource) { - header = new FlowPanel(); - header.setStyleName("gwt-ViewerHeader"); - - HorizontalPanel panel = new HorizontalPanel(); - HTML html = new HTML(Dictionary.getDictionary("l10n").get("lcom4.metric") + ": "); - html.setStyleName("metric"); - panel.add(html); - - if (resource != null) { - html = new HTML(resource.getMeasureFormattedValue("lcom4", "-")); - html.setStyleName("value"); - panel.add(html); - } - - header.add(panel); - initWidget(header); - } - } -} diff --git a/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/lcom4/Lcom4Tab.gwt.xml b/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/lcom4/Lcom4Tab.gwt.xml deleted file mode 100644 index 124aa37c47d..00000000000 --- a/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/lcom4/Lcom4Tab.gwt.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/lcom4/Lcom4TabDev.gwt.xml b/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/lcom4/Lcom4TabDev.gwt.xml deleted file mode 100644 index c4f98f07a4c..00000000000 --- a/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/lcom4/Lcom4TabDev.gwt.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/lcom4/public/lcom4.css b/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/lcom4/public/lcom4.css deleted file mode 100644 index bbd35eb6237..00000000000 --- a/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/lcom4/public/lcom4.css +++ /dev/null @@ -1,23 +0,0 @@ -.lcom4blocks { - width: 100%; - margin-top: 10px; -} -.lcom4blocks td { - vertical-align: top; -} -.lcom4blocks .index { - font-size: 130%; - text-align: center; - width: 2em; - margin-top: 3px; -} -.lcom4block { - width: 100%; - border: 1px solid #ccc; - margin-bottom: 15px; - background-color: #eee; -} -.lcom4row { - padding: 2px 5px; - word-wrap:break-word; -} \ No newline at end of file diff --git a/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/lcom4/public/lcom4.html b/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/lcom4/public/lcom4.html deleted file mode 100644 index 8ae47cdd1c0..00000000000 --- a/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/lcom4/public/lcom4.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - LCOM4 - - - - - -

LCOM4

-
-
- - - - \ No newline at end of file -- cgit v1.2.3