<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to ExtractClassPlugInInstallation</title><link>https://sourceforge.net/p/ext-c/wiki/ExtractClassPlugInInstallation/</link><description>Recent changes to ExtractClassPlugInInstallation</description><atom:link href="https://sourceforge.net/p/ext-c/wiki/ExtractClassPlugInInstallation/feed" rel="self"/><language>en</language><lastBuildDate>Mon, 18 Jan 2016 23:57:58 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/ext-c/wiki/ExtractClassPlugInInstallation/feed" rel="self" type="application/rss+xml"/><item><title>ExtractClassPlugInInstallation modified by Anonymous</title><link>https://sourceforge.net/p/ext-c/wiki/ExtractClassPlugInInstallation/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;(This page is under construction.) &lt;/p&gt;
&lt;h1 id="dependencies"&gt;Dependencies&lt;/h1&gt;
&lt;p&gt;ExtC makes use of the following open-source packages. The libraries are included in the distribution and should require no effort on your part to install. The plugins need to be installed independently. Each of the required packages may themselves rely on other open-source packages. Please see their web pages for their up-to-date dependencies. &lt;/p&gt;
&lt;h2 id="platform"&gt;Platform&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Java 1.6 or greater &lt;/li&gt;
&lt;li&gt;Eclipse 3.5.1 or greater &lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="eclipse-plugins"&gt;Eclipse Plugins&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="" href="http://sourceforge.net/projects/metrics2/"&gt;net.sourceforge.metrics&lt;/a&gt; collects software metrics and can store them to a database. An alpha version of the 2.0 release is provided with extc in the Downloads page. License - CPL1.0, the same license as Eclipse itself . &lt;/li&gt;
&lt;li&gt;&lt;a class="" href="http://db.apache.org/derby/" rel="nofollow"&gt;Apache Derby&lt;/a&gt; or.g.apache.derby.core 10.5.3 (optional) provides database functionality. License - &lt;a class="" href="http://www.apache.org/licenses/" rel="nofollow"&gt;Apache License, Version 2.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="" href="http://db.apache.org/derby/" rel="nofollow"&gt;Apache Derby&lt;/a&gt; org.apache.derby.plugin.doc (optional) provides database functionality. License - &lt;a class="" href="http://www.apache.org/licenses/" rel="nofollow"&gt;Apache License, Version 2.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="" href="http://db.apache.org/derby/" rel="nofollow"&gt;Apache Derby&lt;/a&gt; org.apache.derby.ui (optional) provides database functionality. License - &lt;a class="" href="http://www.apache.org/licenses/" rel="nofollow"&gt;Apache License, Version 2.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="libraries"&gt;Libraries&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="" href="http://www.phylosoft.org/archaeopteryx/" rel="nofollow"&gt;Archaeopteryx/forester&lt;/a&gt; provides dendrogram viewing functionality. License - GNU Lesser General Public License 2.1 &lt;/li&gt;
&lt;li&gt;&lt;a class="" href="http://larvalabs.com/collections/" rel="nofollow"&gt;Collections-generic-4.0.1&lt;/a&gt; is a general-purpose collections package required by Jung. License - Apache License V2.0 &lt;/li&gt;
&lt;li&gt;&lt;a class="" href="http://acs.lbl.gov/software/colt/" rel="nofollow"&gt;colt-1.2.0&lt;/a&gt; scientific computing package is required by JUNG. License &lt;a class="" href="http://acs.lbl.gov/software/colt/license.html" rel="nofollow"&gt;here&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;&lt;a class="" href="http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html" rel="nofollow"&gt;concurrent-1.3.4.jar&lt;/a&gt; contains utility packages for concurrent programming and is required by JUNG. No license required. &lt;/li&gt;
&lt;li&gt;&lt;a class="" href="http://www.jibble.org/epsgraphics/" rel="nofollow"&gt;epsdump&lt;/a&gt; provides a way to dump java graphics to an EPS file. License - formerly GPL, now has a license fee. &lt;/li&gt;
&lt;li&gt;&lt;a class="" href="http://www.json.org/java/index.html" rel="nofollow"&gt;json-extracts&lt;/a&gt; provides a data interchange format. License &lt;a class="" href="https://github.com/douglascrockford/JSON-java" rel="nofollow"&gt;here&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;&lt;a class="" href="http://jung.sourceforge.net/"&gt;jung 2.0&lt;/a&gt; provides graph visualizations, algorithms, and more. License - Berkeley Software Distribution (BSD) license (&lt;a href="http://jung.sourceforge.net/site/jung-graph-impl/license.html"&gt;http://jung.sourceforge.net/site/jung-graph-impl/license.html&lt;/a&gt;). &lt;/li&gt;
&lt;li&gt;&lt;a class="" href="http://code.google.com/p/airhead-research/" rel="nofollow"&gt;S-Space lsa-vsm&lt;/a&gt; provides semantic space functionality. License - &lt;a class="" href="http://code.google.com/p/airhead-research/wiki/LicenseAndRestrictions" rel="nofollow"&gt;GPL v. 2&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;&lt;a class="" href="http://stax.codehaus.org/Home" rel="nofollow"&gt;Streaming API for XML&lt;/a&gt; stax-api-1.0.1 provides XML capabilities required by JUNG. License - Apache License 2.0 &lt;/li&gt;
&lt;li&gt;&lt;a class="" href="http://woodstox.codehaus.org/" rel="nofollow"&gt;Woodstox&lt;/a&gt; wstx-asl-3.2.6 is an XML processor required by JUNG. Licenses: Free Software Foundataion's LGPL 2.1 and Apache Foundation's ASL 2.0. &lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="installing"&gt;Installing&lt;/h1&gt;
&lt;p&gt;Install the plugins listed in the Dependencies section (metrics2 and Apache Derby). Then, install ext-c using either the pre-built plugins or the available source. Your dropins directory should end up looking something like: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;plugins
plugins/org.apache.derby.ui_1.1.2/*
plugins/classRefactoringPlugin_1.0.0.201108031258.jar
plugins/org.apache.derby.core_10.5.3/*
plugins/org.apache.derby.plugin.doc_1.1.2/*
plugins/net.sourceforge.metrics_2.0.0.201105311430.jar
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;This &lt;a class="" href="http://stackoverflow.com/questions/1489648/eclipse-doesnt-load-plugins-in-the-dropins-folder/" rel="nofollow"&gt;web page&lt;/a&gt; addresses problems with installing plugins/dropins. &lt;/p&gt;
&lt;h2 id="installing-from-pre-built-plugins"&gt;Installing from pre-built plugins&lt;/h2&gt;
&lt;p&gt;Download the most recent ClassRefactoringPlugin from &lt;a href="http://code.google.com/p/ext-c/downloads/list" rel="nofollow"&gt;http://code.google.com/p/ext-c/downloads/list&lt;/a&gt; and place it in your Eclipse dropins directory. &lt;/p&gt;
&lt;h2 id="installing-from-source"&gt;Installing from source&lt;/h2&gt;
&lt;p&gt;The project is hosted at &lt;a href="http://code.google.com/p/ext-c/" rel="nofollow"&gt;http://code.google.com/p/ext-c/&lt;/a&gt;. Download the source from the command line: svn checkout &lt;a href="https://ext-c.googlecode.com/svn/trunk" rel="nofollow"&gt;https://ext-c.googlecode.com/svn/trunk&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Download the source into Eclipse: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;File -&amp;gt; Import -&amp;gt; SVN -&amp;gt; Checkout Projects from SVN (Next) &lt;/li&gt;
&lt;li&gt;Use repository location &lt;a href="https://ext-c.googlecode.com/svn/trunk" rel="nofollow"&gt;https://ext-c.googlecode.com/svn/trunk&lt;/a&gt; (Next) &lt;/li&gt;
&lt;li&gt;Select Folder trunk (Next) &lt;/li&gt;
&lt;li&gt;Checkout From SVN &lt;ol&gt;
&lt;li&gt;Check out as a project in the workspace &lt;/li&gt;
&lt;li&gt;Check out HEAD revision &lt;/li&gt;
&lt;li&gt;Allow unversioned obstructions (Finish) &lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id="customization"&gt;Customization&lt;/h1&gt;
&lt;p&gt;There is a limited amount of customization that can be done by setting system properties when eclipse is started, e.g. by supplying “-D” command line arguments e.g.: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;    eclipse -vmargs -Xms128m -Xmx512m -XX:MaxPermSize=128m  -Dextc.properties=H:\workspace\ClassRefactoringPlugin\extc.properties
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;ExtC recognizes the following properties: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;extc.project.root&lt;/strong&gt; indicates where files should be read or written by default, e.g. graph images. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;extc.properties&lt;/strong&gt; indicates the location of a property file that contains additional customizable parameters. &lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id="example-property-file-extcproperties"&gt;Example Property File (extc.properties)&lt;/h1&gt;
&lt;p&gt;Most of these properties can be modified via the Graph View of the UI. They are mostly for convenience for setting preferences or for running in batch mode. &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;### Parameters influencing the graph construction and display
# These keys should be kept consistent with
# nz.ac.vuw.ecs.kcassell.utils.ParameterConstants

# See edu.uci.ics.jung.graph.util.EdgeType enum for acceptable values
edgeType=DIRECTED

# See nz.ac.vuw.ecs.kcassell.callgraph.gui.GraphLayoutEnum for acceptable values
graphLayout=FRLayout

# see nz.ac.vuw.ecs.kcassell.callgraph.ScoreType for acceptable values
nodeSizing=Authority

# Indicates which graph nodes should be condensed into a single node.
condenseInherited=true
condenseObjectMethods=false
condenseInterfaces=true
condenseRecursiveCycles=false

# Indicates which nodes should be removed from the graph
filterObject = true

# should constructors be shown in the graph? */
includeConstructors = false

# preferred colors for graph nodes and edges.
# RGB value consisting of the red component
# in bits 16-23, the green component in bits 8-15,
# and the blue component in bits 0-7
# see http://www.web-source.net/216_color_chart.htm
fieldColor         = 0x3333CC
methodColor        = 0xFFFFFF
connectedEdgeColor = 0x000000
deletedEdgeColor   = 0xDDDDDD
unpickedColor      = 0x000000
pickedColor        = 0x00FFFF

### Parameters influencing class selection

# The max size threshold for the number of members in a class.
maxMembers = 20

### Parameters influencing clustering

# the clusterer to use
# see nz.ac.vuw.ecs.kcassell.similarity.ClustererEnum
clusterer=Mixed_Mode

# the distance calculator to use for agglomerative clustering
# see nz.ac.vuw.ecs.kcassell.similarity.DistanceCalculatorEnum
distanceCalculator=Identifier

# Tokens from identifiers that shouldn't be considered properties
identifierPartsToIgnore=get,set,m,i,d,l,s

# Link type (how to combine clusters) for agglomerative clustering
# see Jain, Murphy, and Flynn, "Data clustering: a review",
# ACM Computing Surveys, 1999
# acceptable value are static strings in MatrixBasedAgglomerativeClusterer
linkType = single

# how many new betweenness clusters should be created
newBetweennessClusters = 1
&lt;/pre&gt;&lt;/div&gt;


&lt;h1 id="graphing"&gt;Graphing&lt;/h1&gt;
&lt;p&gt;Clicking on the graph icon will bring up ExtC in graph mode for the file currently being edited in Eclipse, assuming that the file is part of an Eclipse project. This enables the following tabs of ExtC: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Graph &lt;/li&gt;
&lt;li&gt;Betweenness &lt;/li&gt;
&lt;li&gt;Agglomeration &lt;/li&gt;
&lt;li&gt;Spanning Forest &lt;br/&gt;
Of these, Graph and Betweenness will probably be the most useful. Agglomeration is in the midst of revision. &lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="metrics"&gt;Metrics&lt;/h1&gt;
&lt;p&gt;The installation includes my enhancements to the metrics2 (&lt;a href="http://sourceforge.net/projects/metrics2/"&gt;http://sourceforge.net/projects/metrics2/&lt;/a&gt;) Eclipse plug-in. Using metrics2, you can collect OO metrics on your Eclipse project. With additional work, you can save the metric data to a Derby database. ExtC can run queries on that database and display the results in the Metrics View. Clicking on a row in the Metrics View will display that class in the Graph View (and others). &lt;/p&gt;
&lt;p&gt;I haven't yet prepared instructions for the database set up. &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Mon, 18 Jan 2016 23:57:58 -0000</pubDate><guid>https://sourceforge.net4093b53fdbe7f86d99df45f714125bdcda5dfacc</guid></item></channel></rss>