diff options
author | Sumy Joseph | 2012-10-10 23:53:27 +0000 |
---|---|---|
committer | Roberto E. Escobar | 2012-10-10 23:53:27 +0000 |
commit | 4a029b20d2712619915fa73ef1b17777f44d9ffc (patch) | |
tree | 640400deda73496767fc6001a2b400837cbd49d6 | |
parent | e05e3b81efa3680451d9ff76abd090c328f287e1 (diff) | |
download | org.eclipse.osee-4a029b20d2712619915fa73ef1b17777f44d9ffc.tar.gz org.eclipse.osee-4a029b20d2712619915fa73ef1b17777f44d9ffc.tar.xz org.eclipse.osee-4a029b20d2712619915fa73ef1b17777f44d9ffc.zip |
feature[bgz_391218]: Add project management work distribution report
17 files changed, 3770 insertions, 0 deletions
diff --git a/plugins/org.eclipse.osee.reports.split/.classpath b/plugins/org.eclipse.osee.reports.split/.classpath new file mode 100644 index 00000000000..ad32c83a788 --- /dev/null +++ b/plugins/org.eclipse.osee.reports.split/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.osee.reports.split/.project b/plugins/org.eclipse.osee.reports.split/.project new file mode 100644 index 00000000000..b621565658a --- /dev/null +++ b/plugins/org.eclipse.osee.reports.split/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.osee.reports.split</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.osee.reports.split/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.reports.split/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..006d7875cc9 --- /dev/null +++ b/plugins/org.eclipse.osee.reports.split/META-INF/MANIFEST.MF @@ -0,0 +1,27 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Split +Bundle-SymbolicName: org.eclipse.osee.reports.split;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-Activator: org.eclipse.osee.reports.split.Activator +Bundle-Vendor: BOSCH +Require-Bundle: org.eclipse.ui, + org.eclipse.osee.ats.core, + org.eclipse.osee.framework.core, + org.eclipse.osee.framework.skynet.core, + org.eclipse.osee.framework.ui.skynet, + org.eclipse.osee.framework.ui.plugin, + org.eclipse.osee.ats, + org.eclipse.birt.report.viewer, + org.eclipse.osee.ats.core.client, + org.eclipse.osee.framework.ui.swt, + org.eclipse.ui.forms, + org.eclipse.osee.ats.api, + org.eclipse.osee.framework.core.model +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Export-Package: org.eclipse.osee.reports.split.model, + org.eclipse.osee.reports.split.ui, + org.eclipse.osee.reports.split.ui.ai, + org.eclipse.osee.reports.split.ui.state, + org.eclipse.osee.reports.split.ui.team diff --git a/plugins/org.eclipse.osee.reports.split/build.properties b/plugins/org.eclipse.osee.reports.split/build.properties new file mode 100644 index 00000000000..bcaa80baf7d --- /dev/null +++ b/plugins/org.eclipse.osee.reports.split/build.properties @@ -0,0 +1,6 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.xml,\ + reports/ diff --git a/plugins/org.eclipse.osee.reports.split/plugin.xml b/plugins/org.eclipse.osee.reports.split/plugin.xml new file mode 100644 index 00000000000..5535690d377 --- /dev/null +++ b/plugins/org.eclipse.osee.reports.split/plugin.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.4"?> +<plugin> + +</plugin> diff --git a/plugins/org.eclipse.osee.reports.split/reports/aiDistribution.rptdesign b/plugins/org.eclipse.osee.reports.split/reports/aiDistribution.rptdesign new file mode 100644 index 00000000000..92c0dbec3de --- /dev/null +++ b/plugins/org.eclipse.osee.reports.split/reports/aiDistribution.rptdesign @@ -0,0 +1,1002 @@ +<?xml version="1.0" encoding="UTF-8"?> +<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22" id="1"> + <property name="createdBy">Eclipse BIRT Designer Version 3.7.1.v20110905 Build <3.7.1.v20110913-1734></property> + <property name="units">in</property> + <property name="iconFile">/templates/blank_report.gif</property> + <property name="layoutPreference">fixed layout</property> + <property name="bidiLayoutOrientation">ltr</property> + <property name="imageDPI">72</property> + <data-sources> + <script-data-source name="Split Data Source" id="7"/> + </data-sources> + <data-sets> + <script-data-set name="AI Split Data Set" id="8"> + <list-property name="resultSetHints"> + <structure> + <property name="position">1</property> + <property name="name">ActionableItem</property> + <property name="dataType">string</property> + </structure> + <structure> + <property name="position">2</property> + <property name="name">Issues</property> + <property name="dataType">integer</property> + </structure> + </list-property> + <list-property name="columnHints"> + <structure> + <property name="columnName">ActionableItem</property> + <text-property name="displayName">Actionable Item</text-property> + </structure> + <structure> + <property name="columnName">Issues</property> + <text-property name="displayName">Issues</text-property> + </structure> + </list-property> + <structure name="cachedMetaData"> + <list-property name="resultSet"> + <structure> + <property name="position">1</property> + <property name="name">ActionableItem</property> + <property name="dataType">string</property> + </structure> + <structure> + <property name="position">2</property> + <property name="name">Issues</property> + <property name="dataType">integer</property> + </structure> + </list-property> + </structure> + <property name="dataSource">Split Data Source</property> + <method name="open"><![CDATA[importPackage(Packages.org.eclipse.core.runtime); + +myBundle = Platform.getBundle("org.eclipse.osee.reports.split"); + +count = 0; + +/* load data reader class */ +readerClass = myBundle.loadClass("org.eclipse.osee.reports.split.model.DistributionModel"); + +/* create new instance of DataReader */ +splitModel = readerClass.newInstance(); + +aiSplitMap = splitModel.getAiSplitEntry().getAiSplitMap(); +aiIterator = aiSplitMap.keySet().iterator();]]></method> + <method name="fetch"><![CDATA[ +if(aiIterator.hasNext()){ +art = aiIterator.next(); +row["ActionableItem"] = art.getName(); +row["Issues"] = aiSplitMap.get(art); +return true; +} + +return false;]]></method> + </script-data-set> + </data-sets> + <styles> + <style name="report" id="4"> + <property name="fontFamily">sans-serif</property> + <property name="fontSize">10pt</property> + </style> + <style name="crosstab-cell" id="5"> + <property name="borderBottomColor">#CCCCCC</property> + <property name="borderBottomStyle">solid</property> + <property name="borderBottomWidth">1pt</property> + <property name="borderLeftColor">#CCCCCC</property> + <property name="borderLeftStyle">solid</property> + <property name="borderLeftWidth">1pt</property> + <property name="borderRightColor">#CCCCCC</property> + <property name="borderRightStyle">solid</property> + <property name="borderRightWidth">1pt</property> + <property name="borderTopColor">#CCCCCC</property> + <property name="borderTopStyle">solid</property> + <property name="borderTopWidth">1pt</property> + </style> + <style name="crosstab" id="6"> + <property name="borderBottomColor">#CCCCCC</property> + <property name="borderBottomStyle">solid</property> + <property name="borderBottomWidth">1pt</property> + <property name="borderLeftColor">#CCCCCC</property> + <property name="borderLeftStyle">solid</property> + <property name="borderLeftWidth">1pt</property> + <property name="borderRightColor">#CCCCCC</property> + <property name="borderRightStyle">solid</property> + <property name="borderRightWidth">1pt</property> + <property name="borderTopColor">#CCCCCC</property> + <property name="borderTopStyle">solid</property> + <property name="borderTopWidth">1pt</property> + </style> + </styles> + <page-setup> + <simple-master-page name="Simple MasterPage" id="2"> + <page-footer> + <text id="3"> + <property name="contentType">html</property> + <text-property name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property> + </text> + </page-footer> + </simple-master-page> + </page-setup> + <body> + <extended-item extensionName="Chart" id="10"> + <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType"> + <Version>2.5.1</Version> + <Type>Pie Chart</Type> + <SubType>Standard</SubType> + <Block> + <Children xsi:type="layout:TitleBlock"> + <Bounds> + <Left>0.0</Left> + <Top>0.0</Top> + <Width>0.0</Width> + <Height>0.0</Height> + </Bounds> + <Insets> + <Top>3.0</Top> + <Left>3.0</Left> + <Bottom>3.0</Bottom> + <Right>3.0</Right> + </Insets> + <Row>-1</Row> + <Column>-1</Column> + <Rowspan>-1</Rowspan> + <Columnspan>-1</Columnspan> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Visible>true</Visible> + <Label> + <Caption> + <Value>Actionable Item Distribution</Value> + <Font> + <Size>16.0</Size> + <Bold>true</Bold> + <Alignment> + <horizontalAlignment>Center</horizontalAlignment> + <verticalAlignment>Center</verticalAlignment> + </Alignment> + </Font> + </Caption> + <Background xsi:type="attribute:ColorDefinition"> + <Transparency>0</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Background> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + </Outline> + <Insets> + <Top>0.0</Top> + <Left>2.0</Left> + <Bottom>0.0</Bottom> + <Right>3.0</Right> + </Insets> + <Visible>true</Visible> + </Label> + </Children> + <Children xsi:type="layout:Plot"> + <Bounds> + <Left>0.0</Left> + <Top>0.0</Top> + <Width>0.0</Width> + <Height>0.0</Height> + </Bounds> + <Insets> + <Top>3.0</Top> + <Left>3.0</Left> + <Bottom>3.0</Bottom> + <Right>3.0</Right> + </Insets> + <Row>-1</Row> + <Column>-1</Column> + <Rowspan>-1</Rowspan> + <Columnspan>-1</Columnspan> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Visible>true</Visible> + <HorizontalSpacing>5</HorizontalSpacing> + <VerticalSpacing>5</VerticalSpacing> + <ClientArea> + <Outline> + <Style>Solid</Style> + <Thickness>0</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Insets> + <Top>0.0</Top> + <Left>0.0</Left> + <Bottom>0.0</Bottom> + <Right>0.0</Right> + </Insets> + </ClientArea> + </Children> + <Children xsi:type="layout:Legend"> + <Bounds> + <Left>0.0</Left> + <Top>0.0</Top> + <Width>0.0</Width> + <Height>0.0</Height> + </Bounds> + <Insets> + <Top>3.0</Top> + <Left>3.0</Left> + <Bottom>3.0</Bottom> + <Right>3.0</Right> + </Insets> + <Row>-1</Row> + <Column>-1</Column> + <Rowspan>-1</Rowspan> + <Columnspan>-1</Columnspan> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Visible>true</Visible> + <ClientArea> + <Outline> + <Style>Solid</Style> + <Thickness>0</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Insets> + <Top>2.0</Top> + <Left>2.0</Left> + <Bottom>2.0</Bottom> + <Right>2.0</Right> + </Insets> + </ClientArea> + <Text> + <Value></Value> + <Font> + <Alignment/> + </Font> + </Text> + <Orientation>Vertical</Orientation> + <Direction>Top_Bottom</Direction> + <Separator> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>true</Visible> + </Separator> + <Position>Right</Position> + <ItemType>Categories</ItemType> + <Title> + <Caption> + <Value></Value> + <Font> + <Alignment/> + </Font> + </Caption> + <Background xsi:type="attribute:ColorDefinition"> + <Transparency>0</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Background> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Insets> + <Top>0.0</Top> + <Left>2.0</Left> + <Bottom>0.0</Bottom> + <Right>3.0</Right> + </Insets> + <Visible>false</Visible> + </Title> + <TitlePosition>Above</TitlePosition> + </Children> + <Bounds> + <Left>0.0</Left> + <Top>0.0</Top> + <Width>566.0</Width> + <Height>348.75</Height> + </Bounds> + <Insets> + <Top>3.0</Top> + <Left>3.0</Left> + <Bottom>3.0</Bottom> + <Right>3.0</Right> + </Insets> + <Row>-1</Row> + <Column>-1</Column> + <Rowspan>-1</Rowspan> + <Columnspan>-1</Columnspan> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Visible>true</Visible> + </Block> + <Dimension>Two_Dimensional_With_Depth</Dimension> + <Units>Points</Units> + <SeriesThickness>10.0</SeriesThickness> + <GridColumnCount>0</GridColumnCount> + <ExtendedProperties> + <Name>enable.area.alt</Name> + <Value>false</Value> + </ExtendedProperties> + <SampleData> + <BaseSampleData> + <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation> + </BaseSampleData> + <OrthogonalSampleData> + <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation> + <SeriesDefinitionIndex>0</SeriesDefinitionIndex> + </OrthogonalSampleData> + </SampleData> + <Interactivity> + <Enable>true</Enable> + <LegendBehavior>None</LegendBehavior> + </Interactivity> + <EmptyMessage> + <Caption> + <Value>This chart contains no data.</Value> + <Font> + <Alignment> + <horizontalAlignment>Center</horizontalAlignment> + <verticalAlignment>Center</verticalAlignment> + </Alignment> + </Font> + </Caption> + <Background xsi:type="attribute:ColorDefinition"> + <Transparency>64</Transparency> + <Red>127</Red> + <Green>127</Green> + <Blue>127</Blue> + </Background> + <Outline> + <Color> + <Transparency>128</Transparency> + <Red>127</Red> + <Green>127</Green> + <Blue>127</Blue> + </Color> + <Visible>true</Visible> + </Outline> + <Insets> + <Top>10.0</Top> + <Left>10.0</Left> + <Bottom>10.0</Bottom> + <Right>10.0</Right> + </Insets> + <Visible>false</Visible> + </EmptyMessage> + <SeriesDefinitions> + <Query> + <Definition></Definition> + </Query> + <SeriesPalette> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>255</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>0</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>192</Red> + <Green>192</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>0</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>170</Red> + <Green>85</Green> + <Blue>85</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>192</Red> + <Green>192</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>192</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>7</Red> + <Green>146</Green> + <Blue>94</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>128</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>255</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>128</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>0</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>64</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>80</Red> + <Green>240</Green> + <Blue>120</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>64</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>0</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>0</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>64</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>0</Blue> + </Entries> + </SeriesPalette> + <SeriesDefinitions> + <Query> + <Definition></Definition> + </Query> + <SeriesPalette> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>255</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>0</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>192</Red> + <Green>192</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>0</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>170</Red> + <Green>85</Green> + <Blue>85</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>192</Red> + <Green>192</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>192</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>7</Red> + <Green>146</Green> + <Blue>94</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>128</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>255</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>128</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>0</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>64</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>80</Red> + <Green>240</Green> + <Blue>120</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>64</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>0</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>0</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>64</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>0</Blue> + </Entries> + </SeriesPalette> + <Series xsi:type="type:PieSeries"> + <Visible>true</Visible> + <Label> + <Caption> + <Value></Value> + <Font> + <Alignment/> + </Font> + </Caption> + <Background xsi:type="attribute:ColorDefinition"> + <Transparency>0</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Background> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Insets> + <Top>0.0</Top> + <Left>2.0</Left> + <Bottom>0.0</Bottom> + <Right>3.0</Right> + </Insets> + <Visible>true</Visible> + </Label> + <DataDefinition> + <Definition>row["Issues"]</Definition> + <Grouping> + <GroupType>Text</GroupType> + <AggregateExpression>Sum</AggregateExpression> + </Grouping> + </DataDefinition> + <SeriesIdentifier>Issues</SeriesIdentifier> + <DataPoint> + <Components> + <Type>Orthogonal_Value</Type> + </Components> + <Separator>, </Separator> + </DataPoint> + <LabelPosition>Outside</LabelPosition> + <Stacked>false</Stacked> + <Explosion>0</Explosion> + <Title> + <Caption> + <Value></Value> + <Font> + <Size>16.0</Size> + <Bold>true</Bold> + <Alignment/> + </Font> + </Caption> + <Background xsi:type="attribute:ColorDefinition"> + <Transparency>0</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Background> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + </Outline> + <Insets> + <Top>0.0</Top> + <Left>2.0</Left> + <Bottom>0.0</Bottom> + <Right>3.0</Right> + </Insets> + <Visible>true</Visible> + </Title> + <TitlePosition>Below</TitlePosition> + <LeaderLineAttributes> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Visible>true</Visible> + </LeaderLineAttributes> + <LeaderLineStyle>Fixed_Length</LeaderLineStyle> + <LeaderLineLength>10.0</LeaderLineLength> + </Series> + <Grouping> + <GroupType>Text</GroupType> + <AggregateExpression>Sum</AggregateExpression> + </Grouping> + </SeriesDefinitions> + <Series> + <Visible>true</Visible> + <Label> + <Caption> + <Value></Value> + <Font> + <Alignment/> + </Font> + </Caption> + <Background xsi:type="attribute:ColorDefinition"> + <Transparency>0</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Background> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Insets> + <Top>0.0</Top> + <Left>2.0</Left> + <Bottom>0.0</Bottom> + <Right>3.0</Right> + </Insets> + <Visible>false</Visible> + </Label> + <DataDefinition> + <Definition>row["ActionableItem"]</Definition> + </DataDefinition> + <SeriesIdentifier>Actionable Item</SeriesIdentifier> + <DataPoint> + <Components> + <Type>Orthogonal_Value</Type> + </Components> + <Separator>, </Separator> + </DataPoint> + <LabelPosition>Outside</LabelPosition> + <Stacked>false</Stacked> + </Series> + <Grouping> + <Enabled>true</Enabled> + <GroupType>Text</GroupType> + <AggregateExpression>Sum</AggregateExpression> + </Grouping> + </SeriesDefinitions> +</model:ChartWithoutAxes> +]]></xml-property> + <property name="outputFormat">SVG</property> + <property name="inheritColumns">false</property> + <property name="pageBreakAfter">always</property> + <structure name="toc"> + <expression name="expressionValue" type="javascript">"Actionable Items Distribution"</expression> + </structure> + <property name="dataSet">AI Split Data Set</property> + <property name="height">4.84375in</property> + <property name="width">7.861111111111111in</property> + <list-property name="boundDataColumns"> + <structure> + <property name="name">ActionableItem</property> + <expression name="expression" type="javascript">dataSetRow["ActionableItem"]</expression> + <property name="dataType">string</property> + </structure> + <structure> + <property name="name">Issues</property> + <expression name="expression" type="javascript">dataSetRow["Issues"]</expression> + <property name="dataType">integer</property> + </structure> + </list-property> + </extended-item> + </body> +</report> diff --git a/plugins/org.eclipse.osee.reports.split/reports/stateWorkDistribution.rptdesign b/plugins/org.eclipse.osee.reports.split/reports/stateWorkDistribution.rptdesign new file mode 100644 index 00000000000..4f8d7714a98 --- /dev/null +++ b/plugins/org.eclipse.osee.reports.split/reports/stateWorkDistribution.rptdesign @@ -0,0 +1,1001 @@ +<?xml version="1.0" encoding="UTF-8"?> +<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22" id="1"> + <property name="createdBy">Eclipse BIRT Designer Version 3.7.1.v20110905 Build <3.7.1.v20110913-1734></property> + <property name="units">in</property> + <property name="iconFile">/templates/blank_report.gif</property> + <property name="layoutPreference">fixed layout</property> + <property name="bidiLayoutOrientation">ltr</property> + <property name="imageDPI">72</property> + <data-sources> + <script-data-source name="Split Data Source" id="7"/> + </data-sources> + <data-sets> + <script-data-set name="State Split Data Set" id="13"> + <list-property name="resultSetHints"> + <structure> + <property name="position">1</property> + <property name="name">State</property> + <property name="dataType">string</property> + </structure> + <structure> + <property name="position">2</property> + <property name="name">Hours</property> + <property name="dataType">float</property> + </structure> + </list-property> + <list-property name="columnHints"> + <structure> + <property name="columnName">State</property> + <text-property name="displayName">State</text-property> + </structure> + <structure> + <property name="columnName">Hours</property> + <text-property name="displayName">Hours</text-property> + </structure> + </list-property> + <structure name="cachedMetaData"> + <list-property name="resultSet"> + <structure> + <property name="position">1</property> + <property name="name">State</property> + <property name="dataType">string</property> + </structure> + <structure> + <property name="position">2</property> + <property name="name">Hours</property> + <property name="dataType">float</property> + </structure> + </list-property> + </structure> + <property name="dataSource">Split Data Source</property> + <method name="open"><![CDATA[importPackage(Packages.org.eclipse.core.runtime); + +myBundle = Platform.getBundle("org.eclipse.osee.reports.split"); + +count = 0; + +/* load data reader class */ +readerClass = myBundle.loadClass("org.eclipse.osee.reports.split.model.DistributionModel"); + +/* create new instance of DataReader */ +splitModel = readerClass.newInstance(); + +stateSplitMap = splitModel.getStateSplitEntry().getStateSplitMap(); +stateIterator = stateSplitMap.keySet().iterator();]]></method> + <method name="fetch"><![CDATA[ +if(stateIterator.hasNext()){ +state = stateIterator.next(); +row["State"] = state; +row["Hours"] = stateSplitMap.get(state); +return true; +} + +return false;]]></method> + </script-data-set> + </data-sets> + <styles> + <style name="report" id="4"> + <property name="fontFamily">sans-serif</property> + <property name="fontSize">10pt</property> + </style> + <style name="crosstab-cell" id="5"> + <property name="borderBottomColor">#CCCCCC</property> + <property name="borderBottomStyle">solid</property> + <property name="borderBottomWidth">1pt</property> + <property name="borderLeftColor">#CCCCCC</property> + <property name="borderLeftStyle">solid</property> + <property name="borderLeftWidth">1pt</property> + <property name="borderRightColor">#CCCCCC</property> + <property name="borderRightStyle">solid</property> + <property name="borderRightWidth">1pt</property> + <property name="borderTopColor">#CCCCCC</property> + <property name="borderTopStyle">solid</property> + <property name="borderTopWidth">1pt</property> + </style> + <style name="crosstab" id="6"> + <property name="borderBottomColor">#CCCCCC</property> + <property name="borderBottomStyle">solid</property> + <property name="borderBottomWidth">1pt</property> + <property name="borderLeftColor">#CCCCCC</property> + <property name="borderLeftStyle">solid</property> + <property name="borderLeftWidth">1pt</property> + <property name="borderRightColor">#CCCCCC</property> + <property name="borderRightStyle">solid</property> + <property name="borderRightWidth">1pt</property> + <property name="borderTopColor">#CCCCCC</property> + <property name="borderTopStyle">solid</property> + <property name="borderTopWidth">1pt</property> + </style> + </styles> + <page-setup> + <simple-master-page name="Simple MasterPage" id="2"> + <page-footer> + <text id="3"> + <property name="contentType">html</property> + <text-property name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property> + </text> + </page-footer> + </simple-master-page> + </page-setup> + <body> + <extended-item extensionName="Chart" id="14"> + <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType"> + <Version>2.5.1</Version> + <Type>Pie Chart</Type> + <SubType>Standard</SubType> + <Block> + <Children xsi:type="layout:TitleBlock"> + <Bounds> + <Left>0.0</Left> + <Top>0.0</Top> + <Width>0.0</Width> + <Height>0.0</Height> + </Bounds> + <Insets> + <Top>3.0</Top> + <Left>3.0</Left> + <Bottom>3.0</Bottom> + <Right>3.0</Right> + </Insets> + <Row>-1</Row> + <Column>-1</Column> + <Rowspan>-1</Rowspan> + <Columnspan>-1</Columnspan> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Visible>true</Visible> + <Label> + <Caption> + <Value>Workflow State Distribution</Value> + <Font> + <Size>16.0</Size> + <Bold>true</Bold> + <Alignment> + <horizontalAlignment>Center</horizontalAlignment> + <verticalAlignment>Center</verticalAlignment> + </Alignment> + </Font> + </Caption> + <Background xsi:type="attribute:ColorDefinition"> + <Transparency>0</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Background> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + </Outline> + <Insets> + <Top>0.0</Top> + <Left>2.0</Left> + <Bottom>0.0</Bottom> + <Right>3.0</Right> + </Insets> + <Visible>true</Visible> + </Label> + </Children> + <Children xsi:type="layout:Plot"> + <Bounds> + <Left>0.0</Left> + <Top>0.0</Top> + <Width>0.0</Width> + <Height>0.0</Height> + </Bounds> + <Insets> + <Top>3.0</Top> + <Left>3.0</Left> + <Bottom>3.0</Bottom> + <Right>3.0</Right> + </Insets> + <Row>-1</Row> + <Column>-1</Column> + <Rowspan>-1</Rowspan> + <Columnspan>-1</Columnspan> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Visible>true</Visible> + <HorizontalSpacing>5</HorizontalSpacing> + <VerticalSpacing>5</VerticalSpacing> + <ClientArea> + <Outline> + <Style>Solid</Style> + <Thickness>0</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Insets> + <Top>0.0</Top> + <Left>0.0</Left> + <Bottom>0.0</Bottom> + <Right>0.0</Right> + </Insets> + </ClientArea> + </Children> + <Children xsi:type="layout:Legend"> + <Bounds> + <Left>0.0</Left> + <Top>0.0</Top> + <Width>0.0</Width> + <Height>0.0</Height> + </Bounds> + <Insets> + <Top>3.0</Top> + <Left>3.0</Left> + <Bottom>3.0</Bottom> + <Right>3.0</Right> + </Insets> + <Row>-1</Row> + <Column>-1</Column> + <Rowspan>-1</Rowspan> + <Columnspan>-1</Columnspan> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Visible>true</Visible> + <ClientArea> + <Outline> + <Style>Solid</Style> + <Thickness>0</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Insets> + <Top>2.0</Top> + <Left>2.0</Left> + <Bottom>2.0</Bottom> + <Right>2.0</Right> + </Insets> + </ClientArea> + <Text> + <Value></Value> + <Font> + <Alignment/> + </Font> + </Text> + <Orientation>Vertical</Orientation> + <Direction>Top_Bottom</Direction> + <Separator> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>true</Visible> + </Separator> + <Position>Right</Position> + <ItemType>Categories</ItemType> + <Title> + <Caption> + <Value></Value> + <Font> + <Alignment/> + </Font> + </Caption> + <Background xsi:type="attribute:ColorDefinition"> + <Transparency>0</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Background> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Insets> + <Top>0.0</Top> + <Left>2.0</Left> + <Bottom>0.0</Bottom> + <Right>3.0</Right> + </Insets> + <Visible>false</Visible> + </Title> + <TitlePosition>Above</TitlePosition> + </Children> + <Bounds> + <Left>0.0</Left> + <Top>0.0</Top> + <Width>568.0</Width> + <Height>349.5</Height> + </Bounds> + <Insets> + <Top>3.0</Top> + <Left>3.0</Left> + <Bottom>3.0</Bottom> + <Right>3.0</Right> + </Insets> + <Row>-1</Row> + <Column>-1</Column> + <Rowspan>-1</Rowspan> + <Columnspan>-1</Columnspan> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Visible>true</Visible> + </Block> + <Dimension>Two_Dimensional_With_Depth</Dimension> + <Units>Points</Units> + <SeriesThickness>10.0</SeriesThickness> + <GridColumnCount>0</GridColumnCount> + <ExtendedProperties> + <Name>enable.area.alt</Name> + <Value>false</Value> + </ExtendedProperties> + <SampleData> + <BaseSampleData> + <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation> + </BaseSampleData> + <OrthogonalSampleData> + <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation> + <SeriesDefinitionIndex>0</SeriesDefinitionIndex> + </OrthogonalSampleData> + </SampleData> + <Interactivity> + <Enable>true</Enable> + <LegendBehavior>None</LegendBehavior> + </Interactivity> + <EmptyMessage> + <Caption> + <Value>This chart contains no data.</Value> + <Font> + <Alignment> + <horizontalAlignment>Center</horizontalAlignment> + <verticalAlignment>Center</verticalAlignment> + </Alignment> + </Font> + </Caption> + <Background xsi:type="attribute:ColorDefinition"> + <Transparency>64</Transparency> + <Red>127</Red> + <Green>127</Green> + <Blue>127</Blue> + </Background> + <Outline> + <Color> + <Transparency>128</Transparency> + <Red>127</Red> + <Green>127</Green> + <Blue>127</Blue> + </Color> + <Visible>true</Visible> + </Outline> + <Insets> + <Top>10.0</Top> + <Left>10.0</Left> + <Bottom>10.0</Bottom> + <Right>10.0</Right> + </Insets> + <Visible>false</Visible> + </EmptyMessage> + <SeriesDefinitions> + <Query> + <Definition></Definition> + </Query> + <SeriesPalette> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>254</Red> + <Green>0</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>254</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>254</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>254</Red> + <Green>254</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>192</Red> + <Green>192</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>128</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>145</Red> + <Green>145</Green> + <Blue>145</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>50</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>192</Red> + <Green>192</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>192</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>7</Red> + <Green>146</Green> + <Blue>94</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>128</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>255</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>128</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>0</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>64</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>80</Red> + <Green>240</Green> + <Blue>120</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>64</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>0</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>0</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>64</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>0</Blue> + </Entries> + </SeriesPalette> + <SeriesDefinitions> + <Query> + <Definition></Definition> + </Query> + <SeriesPalette> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>254</Red> + <Green>0</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>254</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>254</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>254</Red> + <Green>254</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>192</Red> + <Green>192</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>128</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>145</Red> + <Green>145</Green> + <Blue>145</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>50</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>192</Red> + <Green>192</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>192</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>7</Red> + <Green>146</Green> + <Blue>94</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>128</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>255</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>128</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>0</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>64</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>80</Red> + <Green>240</Green> + <Blue>120</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>64</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>0</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>0</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>64</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>0</Blue> + </Entries> + </SeriesPalette> + <Series xsi:type="type:PieSeries"> + <Visible>true</Visible> + <Label> + <Caption> + <Value></Value> + <Font> + <Alignment/> + </Font> + </Caption> + <Background xsi:type="attribute:ColorDefinition"> + <Transparency>0</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Background> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Insets> + <Top>0.0</Top> + <Left>2.0</Left> + <Bottom>0.0</Bottom> + <Right>3.0</Right> + </Insets> + <Visible>true</Visible> + </Label> + <DataDefinition> + <Definition>row["Hours"]</Definition> + <Grouping> + <GroupType>Text</GroupType> + <AggregateExpression>Sum</AggregateExpression> + </Grouping> + </DataDefinition> + <SeriesIdentifier>Hours</SeriesIdentifier> + <DataPoint> + <Components> + <Type>Orthogonal_Value</Type> + </Components> + <Separator>, </Separator> + </DataPoint> + <LabelPosition>Outside</LabelPosition> + <Stacked>false</Stacked> + <Explosion>0</Explosion> + <Title> + <Caption> + <Value></Value> + <Font> + <Size>16.0</Size> + <Bold>true</Bold> + <Alignment/> + </Font> + </Caption> + <Background xsi:type="attribute:ColorDefinition"> + <Transparency>0</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Background> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + </Outline> + <Insets> + <Top>0.0</Top> + <Left>2.0</Left> + <Bottom>0.0</Bottom> + <Right>3.0</Right> + </Insets> + <Visible>true</Visible> + </Title> + <TitlePosition>Below</TitlePosition> + <LeaderLineAttributes> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Visible>true</Visible> + </LeaderLineAttributes> + <LeaderLineStyle>Fixed_Length</LeaderLineStyle> + <LeaderLineLength>10.0</LeaderLineLength> + </Series> + <Grouping> + <GroupType>Text</GroupType> + <AggregateExpression>Sum</AggregateExpression> + </Grouping> + </SeriesDefinitions> + <Series> + <Visible>true</Visible> + <Label> + <Caption> + <Value></Value> + <Font> + <Alignment/> + </Font> + </Caption> + <Background xsi:type="attribute:ColorDefinition"> + <Transparency>0</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Background> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Insets> + <Top>0.0</Top> + <Left>2.0</Left> + <Bottom>0.0</Bottom> + <Right>3.0</Right> + </Insets> + <Visible>false</Visible> + </Label> + <DataDefinition> + <Definition>row["State"]</Definition> + </DataDefinition> + <SeriesIdentifier>State</SeriesIdentifier> + <DataPoint> + <Components> + <Type>Orthogonal_Value</Type> + </Components> + <Separator>, </Separator> + </DataPoint> + <LabelPosition>Outside</LabelPosition> + <Stacked>false</Stacked> + </Series> + <Grouping> + <Enabled>true</Enabled> + <GroupType>Text</GroupType> + <AggregateExpression>Sum</AggregateExpression> + </Grouping> + </SeriesDefinitions> +</model:ChartWithoutAxes> +]]></xml-property> + <property name="outputFormat">SVG</property> + <property name="inheritColumns">false</property> + <structure name="toc"> + <expression name="expressionValue" type="javascript">"State Distribution"</expression> + </structure> + <property name="dataSet">State Split Data Set</property> + <property name="height">4.854166666666667in</property> + <property name="width">7.888888888888889in</property> + <list-property name="boundDataColumns"> + <structure> + <property name="name">State</property> + <expression name="expression" type="javascript">dataSetRow["State"]</expression> + <property name="dataType">string</property> + </structure> + <structure> + <property name="name">Hours</property> + <expression name="expression" type="javascript">dataSetRow["Hours"]</expression> + <property name="dataType">float</property> + </structure> + </list-property> + </extended-item> + </body> +</report> diff --git a/plugins/org.eclipse.osee.reports.split/reports/teamWorkDistribution.rptdesign b/plugins/org.eclipse.osee.reports.split/reports/teamWorkDistribution.rptdesign new file mode 100644 index 00000000000..ebb81a9855a --- /dev/null +++ b/plugins/org.eclipse.osee.reports.split/reports/teamWorkDistribution.rptdesign @@ -0,0 +1,1002 @@ +<?xml version="1.0" encoding="UTF-8"?> +<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22" id="1"> + <property name="createdBy">Eclipse BIRT Designer Version 3.7.1.v20110905 Build <3.7.1.v20110913-1734></property> + <property name="units">in</property> + <property name="iconFile">/templates/blank_report.gif</property> + <property name="layoutPreference">fixed layout</property> + <property name="bidiLayoutOrientation">ltr</property> + <property name="imageDPI">72</property> + <data-sources> + <script-data-source name="Split Data Source" id="7"/> + </data-sources> + <data-sets> + <script-data-set name="Team Data Set" id="9"> + <list-property name="resultSetHints"> + <structure> + <property name="position">1</property> + <property name="name">Team</property> + <property name="dataType">string</property> + </structure> + <structure> + <property name="position">2</property> + <property name="name">Hours</property> + <property name="dataType">float</property> + </structure> + </list-property> + <list-property name="columnHints"> + <structure> + <property name="columnName">Team</property> + <text-property name="displayName">Team</text-property> + </structure> + <structure> + <property name="columnName">Hours</property> + <text-property name="displayName">Hours</text-property> + </structure> + </list-property> + <structure name="cachedMetaData"> + <list-property name="resultSet"> + <structure> + <property name="position">1</property> + <property name="name">Team</property> + <property name="dataType">string</property> + </structure> + <structure> + <property name="position">2</property> + <property name="name">Hours</property> + <property name="dataType">float</property> + </structure> + </list-property> + </structure> + <property name="dataSource">Split Data Source</property> + <method name="open"><![CDATA[importPackage(Packages.org.eclipse.core.runtime); + +myBundle = Platform.getBundle("org.eclipse.osee.reports.split"); + +count = 0; + +/* load data reader class */ +readerClass = myBundle.loadClass("org.eclipse.osee.reports.split.model.DistributionModel"); + +/* create new instance of DataReader */ +splitModel = readerClass.newInstance(); + +teamSplitMap = splitModel.getTeamSplitEntry().getTeamSplitMap(); +teamIterator = teamSplitMap.keySet().iterator();]]></method> + <method name="fetch"><![CDATA[ +if(teamIterator.hasNext()){ +team = teamIterator.next(); +row["Team"] = team; +row["Hours"] = teamSplitMap.get(team); +return true; +} + +return false;]]></method> + </script-data-set> + </data-sets> + <styles> + <style name="report" id="4"> + <property name="fontFamily">sans-serif</property> + <property name="fontSize">10pt</property> + </style> + <style name="crosstab-cell" id="5"> + <property name="borderBottomColor">#CCCCCC</property> + <property name="borderBottomStyle">solid</property> + <property name="borderBottomWidth">1pt</property> + <property name="borderLeftColor">#CCCCCC</property> + <property name="borderLeftStyle">solid</property> + <property name="borderLeftWidth">1pt</property> + <property name="borderRightColor">#CCCCCC</property> + <property name="borderRightStyle">solid</property> + <property name="borderRightWidth">1pt</property> + <property name="borderTopColor">#CCCCCC</property> + <property name="borderTopStyle">solid</property> + <property name="borderTopWidth">1pt</property> + </style> + <style name="crosstab" id="6"> + <property name="borderBottomColor">#CCCCCC</property> + <property name="borderBottomStyle">solid</property> + <property name="borderBottomWidth">1pt</property> + <property name="borderLeftColor">#CCCCCC</property> + <property name="borderLeftStyle">solid</property> + <property name="borderLeftWidth">1pt</property> + <property name="borderRightColor">#CCCCCC</property> + <property name="borderRightStyle">solid</property> + <property name="borderRightWidth">1pt</property> + <property name="borderTopColor">#CCCCCC</property> + <property name="borderTopStyle">solid</property> + <property name="borderTopWidth">1pt</property> + </style> + </styles> + <page-setup> + <simple-master-page name="Simple MasterPage" id="2"> + <page-footer> + <text id="3"> + <property name="contentType">html</property> + <text-property name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property> + </text> + </page-footer> + </simple-master-page> + </page-setup> + <body> + <extended-item extensionName="Chart" id="11"> + <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType"> + <Version>2.5.1</Version> + <Type>Pie Chart</Type> + <SubType>Standard</SubType> + <Block> + <Children xsi:type="layout:TitleBlock"> + <Bounds> + <Left>0.0</Left> + <Top>0.0</Top> + <Width>0.0</Width> + <Height>0.0</Height> + </Bounds> + <Insets> + <Top>3.0</Top> + <Left>3.0</Left> + <Bottom>3.0</Bottom> + <Right>3.0</Right> + </Insets> + <Row>-1</Row> + <Column>-1</Column> + <Rowspan>-1</Rowspan> + <Columnspan>-1</Columnspan> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Visible>true</Visible> + <Label> + <Caption> + <Value>Team-Work Distribution</Value> + <Font> + <Size>16.0</Size> + <Bold>true</Bold> + <Alignment> + <horizontalAlignment>Center</horizontalAlignment> + <verticalAlignment>Center</verticalAlignment> + </Alignment> + </Font> + </Caption> + <Background xsi:type="attribute:ColorDefinition"> + <Transparency>0</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Background> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + </Outline> + <Insets> + <Top>0.0</Top> + <Left>2.0</Left> + <Bottom>0.0</Bottom> + <Right>3.0</Right> + </Insets> + <Visible>true</Visible> + </Label> + </Children> + <Children xsi:type="layout:Plot"> + <Bounds> + <Left>0.0</Left> + <Top>0.0</Top> + <Width>0.0</Width> + <Height>0.0</Height> + </Bounds> + <Insets> + <Top>3.0</Top> + <Left>3.0</Left> + <Bottom>3.0</Bottom> + <Right>3.0</Right> + </Insets> + <Row>-1</Row> + <Column>-1</Column> + <Rowspan>-1</Rowspan> + <Columnspan>-1</Columnspan> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Visible>true</Visible> + <HorizontalSpacing>5</HorizontalSpacing> + <VerticalSpacing>5</VerticalSpacing> + <ClientArea> + <Outline> + <Style>Solid</Style> + <Thickness>0</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Insets> + <Top>0.0</Top> + <Left>0.0</Left> + <Bottom>0.0</Bottom> + <Right>0.0</Right> + </Insets> + </ClientArea> + </Children> + <Children xsi:type="layout:Legend"> + <Bounds> + <Left>0.0</Left> + <Top>0.0</Top> + <Width>0.0</Width> + <Height>0.0</Height> + </Bounds> + <Insets> + <Top>3.0</Top> + <Left>3.0</Left> + <Bottom>3.0</Bottom> + <Right>3.0</Right> + </Insets> + <Row>-1</Row> + <Column>-1</Column> + <Rowspan>-1</Rowspan> + <Columnspan>-1</Columnspan> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Visible>true</Visible> + <ClientArea> + <Outline> + <Style>Solid</Style> + <Thickness>0</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Insets> + <Top>2.0</Top> + <Left>2.0</Left> + <Bottom>2.0</Bottom> + <Right>2.0</Right> + </Insets> + </ClientArea> + <Text> + <Value></Value> + <Font> + <Alignment/> + </Font> + </Text> + <Orientation>Vertical</Orientation> + <Direction>Top_Bottom</Direction> + <Separator> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>true</Visible> + </Separator> + <Position>Right</Position> + <ItemType>Categories</ItemType> + <Title> + <Caption> + <Value></Value> + <Font> + <Alignment/> + </Font> + </Caption> + <Background xsi:type="attribute:ColorDefinition"> + <Transparency>0</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Background> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Insets> + <Top>0.0</Top> + <Left>2.0</Left> + <Bottom>0.0</Bottom> + <Right>3.0</Right> + </Insets> + <Visible>false</Visible> + </Title> + <TitlePosition>Above</TitlePosition> + </Children> + <Bounds> + <Left>0.0</Left> + <Top>0.0</Top> + <Width>571.5</Width> + <Height>351.75</Height> + </Bounds> + <Insets> + <Top>3.0</Top> + <Left>3.0</Left> + <Bottom>3.0</Bottom> + <Right>3.0</Right> + </Insets> + <Row>-1</Row> + <Column>-1</Column> + <Rowspan>-1</Rowspan> + <Columnspan>-1</Columnspan> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Visible>true</Visible> + </Block> + <Dimension>Two_Dimensional_With_Depth</Dimension> + <Units>Points</Units> + <SeriesThickness>10.0</SeriesThickness> + <GridColumnCount>0</GridColumnCount> + <ExtendedProperties> + <Name>enable.area.alt</Name> + <Value>false</Value> + </ExtendedProperties> + <SampleData> + <BaseSampleData> + <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation> + </BaseSampleData> + <OrthogonalSampleData> + <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation> + <SeriesDefinitionIndex>0</SeriesDefinitionIndex> + </OrthogonalSampleData> + </SampleData> + <Interactivity> + <Enable>true</Enable> + <LegendBehavior>None</LegendBehavior> + </Interactivity> + <EmptyMessage> + <Caption> + <Value>This chart contains no data.</Value> + <Font> + <Alignment> + <horizontalAlignment>Center</horizontalAlignment> + <verticalAlignment>Center</verticalAlignment> + </Alignment> + </Font> + </Caption> + <Background xsi:type="attribute:ColorDefinition"> + <Transparency>64</Transparency> + <Red>127</Red> + <Green>127</Green> + <Blue>127</Blue> + </Background> + <Outline> + <Color> + <Transparency>128</Transparency> + <Red>127</Red> + <Green>127</Green> + <Blue>127</Blue> + </Color> + <Visible>true</Visible> + </Outline> + <Insets> + <Top>10.0</Top> + <Left>10.0</Left> + <Bottom>10.0</Bottom> + <Right>10.0</Right> + </Insets> + <Visible>false</Visible> + </EmptyMessage> + <SeriesDefinitions> + <Query> + <Definition></Definition> + </Query> + <SeriesPalette> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>254</Red> + <Green>0</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>254</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>254</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>254</Red> + <Green>254</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>192</Red> + <Green>192</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>0</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>128</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>145</Red> + <Green>145</Green> + <Blue>145</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>192</Red> + <Green>192</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>192</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>7</Red> + <Green>146</Green> + <Blue>94</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>128</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>255</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>128</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>0</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>64</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>80</Red> + <Green>240</Green> + <Blue>120</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>64</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>0</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>0</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>64</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>0</Blue> + </Entries> + </SeriesPalette> + <SeriesDefinitions> + <Query> + <Definition></Definition> + </Query> + <SeriesPalette> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>254</Red> + <Green>0</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>254</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>254</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>254</Red> + <Green>254</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>192</Red> + <Green>192</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>0</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>128</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>145</Red> + <Green>145</Green> + <Blue>145</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>192</Red> + <Green>192</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>192</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>7</Red> + <Green>146</Green> + <Blue>94</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>128</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>255</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>128</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>192</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>0</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>64</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>80</Red> + <Green>240</Green> + <Blue>120</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>64</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>0</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>0</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>64</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>128</Red> + <Green>128</Green> + <Blue>128</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>64</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Entries> + <Entries xsi:type="attribute:ColorDefinition"> + <Transparency>255</Transparency> + <Red>255</Red> + <Green>128</Green> + <Blue>0</Blue> + </Entries> + </SeriesPalette> + <Series xsi:type="type:PieSeries"> + <Visible>true</Visible> + <Label> + <Caption> + <Value></Value> + <Font> + <Alignment/> + </Font> + </Caption> + <Background xsi:type="attribute:ColorDefinition"> + <Transparency>0</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Background> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Insets> + <Top>0.0</Top> + <Left>2.0</Left> + <Bottom>0.0</Bottom> + <Right>3.0</Right> + </Insets> + <Visible>true</Visible> + </Label> + <DataDefinition> + <Definition>row["Hours"]</Definition> + <Grouping> + <GroupType>Text</GroupType> + <AggregateExpression>Sum</AggregateExpression> + </Grouping> + </DataDefinition> + <SeriesIdentifier>Hours</SeriesIdentifier> + <DataPoint> + <Components> + <Type>Orthogonal_Value</Type> + </Components> + <Separator>, </Separator> + </DataPoint> + <LabelPosition>Outside</LabelPosition> + <Stacked>false</Stacked> + <Explosion>0</Explosion> + <Title> + <Caption> + <Value></Value> + <Font> + <Size>16.0</Size> + <Bold>true</Bold> + <Alignment/> + </Font> + </Caption> + <Background xsi:type="attribute:ColorDefinition"> + <Transparency>0</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Background> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + </Outline> + <Insets> + <Top>0.0</Top> + <Left>2.0</Left> + <Bottom>0.0</Bottom> + <Right>3.0</Right> + </Insets> + <Visible>true</Visible> + </Title> + <TitlePosition>Below</TitlePosition> + <LeaderLineAttributes> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Visible>true</Visible> + </LeaderLineAttributes> + <LeaderLineStyle>Fixed_Length</LeaderLineStyle> + <LeaderLineLength>10.0</LeaderLineLength> + </Series> + <Grouping> + <GroupType>Text</GroupType> + <AggregateExpression>Sum</AggregateExpression> + </Grouping> + </SeriesDefinitions> + <Series> + <Visible>true</Visible> + <Label> + <Caption> + <Value></Value> + <Font> + <Alignment/> + </Font> + </Caption> + <Background xsi:type="attribute:ColorDefinition"> + <Transparency>0</Transparency> + <Red>255</Red> + <Green>255</Green> + <Blue>255</Blue> + </Background> + <Outline> + <Style>Solid</Style> + <Thickness>1</Thickness> + <Color> + <Transparency>255</Transparency> + <Red>0</Red> + <Green>0</Green> + <Blue>0</Blue> + </Color> + <Visible>false</Visible> + </Outline> + <Insets> + <Top>0.0</Top> + <Left>2.0</Left> + <Bottom>0.0</Bottom> + <Right>3.0</Right> + </Insets> + <Visible>false</Visible> + </Label> + <DataDefinition> + <Definition>row["Team"]</Definition> + </DataDefinition> + <SeriesIdentifier>Teams</SeriesIdentifier> + <DataPoint> + <Components> + <Type>Orthogonal_Value</Type> + </Components> + <Separator>, </Separator> + </DataPoint> + <LabelPosition>Outside</LabelPosition> + <Stacked>false</Stacked> + </Series> + <Grouping> + <Enabled>true</Enabled> + <GroupType>Text</GroupType> + <AggregateExpression>Sum</AggregateExpression> + </Grouping> + </SeriesDefinitions> +</model:ChartWithoutAxes> +]]></xml-property> + <property name="outputFormat">SVG</property> + <property name="inheritColumns">false</property> + <property name="pageBreakAfter">always</property> + <structure name="toc"> + <expression name="expressionValue" type="javascript">"Team-Work Distribution"</expression> + </structure> + <property name="dataSet">Team Data Set</property> + <property name="height">4.885416666666667in</property> + <property name="width">7.9375in</property> + <list-property name="boundDataColumns"> + <structure> + <property name="name">Team</property> + <expression name="expression" type="javascript">dataSetRow["Team"]</expression> + <property name="dataType">string</property> + </structure> + <structure> + <property name="name">Hours</property> + <expression name="expression" type="javascript">dataSetRow["Hours"]</expression> + <property name="dataType">float</property> + </structure> + </list-property> + </extended-item> + </body> +</report> diff --git a/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/Activator.java b/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/Activator.java new file mode 100644 index 00000000000..ca4d953d5ad --- /dev/null +++ b/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/Activator.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2012 Robert Bosch Engineering and Business Solutions Ltd India. All rights reserved. This program and + * the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies + * this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.eclipse.osee.reports.split; + +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + + /** + * The plug-in ID + */ + public static final String PLUGIN_ID = "org.eclipse.osee.reports.split"; //$NON-NLS-1$ + + // The shared instance + private static Activator plugin; + + /** + * The constructor + */ + public Activator() {} + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + @Override + public void start(final BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + @Override + public void stop(final BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + +} diff --git a/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/model/AIDistributionEntry.java b/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/model/AIDistributionEntry.java new file mode 100644 index 00000000000..ecbe37566a7 --- /dev/null +++ b/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/model/AIDistributionEntry.java @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2012 Robert Bosch Engineering and Business Solutions Ltd India. All rights reserved. This program and + * the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies + * this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.eclipse.osee.reports.split.model; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +import org.eclipse.osee.ats.api.ai.IAtsActionableItem; +import org.eclipse.osee.ats.api.data.AtsRelationTypes; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; + +/** + * Model class representing a single entry for a actionable item. + * + * @author Chandan Bandemutt + */ +public class AIDistributionEntry { + + private final Artifact versionArtifact; + private final Map<IAtsActionableItem, Integer> aiSplitMap; + /** + * Constructor to set the version artifact and instantiate map + * + * @param verArtifact : set version artifact + */ + public AIDistributionEntry(final Artifact verArtifact) { + this.versionArtifact = verArtifact; + this.aiSplitMap = new HashMap<IAtsActionableItem, Integer>(); + } + + /** + * Method to compute the count on actionable items and fill the map + * + * @throws OseeCoreException : + */ + public void computeAISplit() throws OseeCoreException { + Collection<TeamWorkFlowArtifact> teamWorkflows = + this.versionArtifact.getRelatedArtifactsOfType(AtsRelationTypes.TeamWorkflowTargetedForVersion_Workflow, + TeamWorkFlowArtifact.class); + for (TeamWorkFlowArtifact workflow : teamWorkflows) { + Set<IAtsActionableItem> actionableItems = workflow.getActionableItemsDam().getActionableItems(); + for (IAtsActionableItem aiArtifact : actionableItems) { + int count = 0; + if (this.aiSplitMap.containsKey(aiArtifact)) { + count = this.aiSplitMap.get(aiArtifact); + } + this.aiSplitMap.put(aiArtifact, count + 1); + } + } + + } + + /** + * @return the map + */ + public Map<IAtsActionableItem, Integer> getAiSplitMap() { + return this.aiSplitMap; + } + + +} diff --git a/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/model/DistributionModel.java b/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/model/DistributionModel.java new file mode 100644 index 00000000000..e03b5b4e67a --- /dev/null +++ b/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/model/DistributionModel.java @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2012 Robert Bosch Engineering and Business Solutions Ltd India. All rights reserved. This program and + * the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies + * this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.eclipse.osee.reports.split.model; + + +/** + * Model class to store the data + * + * @author Chandan Bandemutt + */ +public class DistributionModel { + + private static AIDistributionEntry aiSplitEntry; + private static TeamDistributionEntry teamSplitEntry; + private static StateDistributionEntry stateSplitEntry; + + /** + * @return the Actionable Item DistributionEntry + */ + public static AIDistributionEntry getAiSplitEntry() { + return aiSplitEntry; + } + + /** + * @param aiSpltEntry : sets the Actionable Item split entry + */ + public static void setAiSplitEntry(final AIDistributionEntry aiSpltEntry) { + DistributionModel.aiSplitEntry = aiSpltEntry; + } + + /** + * @return the Actionable Item split entry + */ + public static TeamDistributionEntry getTeamSplitEntry() { + return teamSplitEntry; + } + + /** + * @param teamSplitEntry : sets the teamSplitEntry + */ + public static void setTeamSplitEntry(final TeamDistributionEntry teamSplitEntry) { + DistributionModel.teamSplitEntry = teamSplitEntry; + } + + /** + * @return the StateDistributionEntry + */ + public static StateDistributionEntry getStateSplitEntry() { + return stateSplitEntry; + } + + /** + * @param stateSplitEntry : sets the StateDistributionEntry + */ + public static void setStateSplitEntry(final StateDistributionEntry stateSplitEntry) { + DistributionModel.stateSplitEntry = stateSplitEntry; + } +} diff --git a/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/model/StateDistributionEntry.java b/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/model/StateDistributionEntry.java new file mode 100644 index 00000000000..2265b118a49 --- /dev/null +++ b/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/model/StateDistributionEntry.java @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2012 Robert Bosch Engineering and Business Solutions Ltd India. All rights reserved. This program and + * the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies + * this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.eclipse.osee.reports.split.model; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.osee.ats.api.data.AtsRelationTypes; +import org.eclipse.osee.ats.api.workdef.IAtsStateDefinition; +import org.eclipse.osee.ats.api.workdef.IAtsWorkDefinition; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.workflow.AbstractWorkflowArtifact; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; + +/** + * Class to compute states of the workflow and fill the map + * + * @author Chandan Bandemutt + */ +public class StateDistributionEntry { + + private final Artifact versionArtifact; + private final Map<String, Double> stateSplitMap; + + /** + * Constructor to set the version artifact and instantiate the map + * + * @param ver + * : sets the version artifact + */ + public StateDistributionEntry(final Artifact ver) { + this.versionArtifact = ver; + this.stateSplitMap = new HashMap<String, Double>(); + } + + /** + * @return the map + */ + public Map<String, Double> getStateSplitMap() { + return this.stateSplitMap; + } + + /** + * Method to compute the states of the workflow and fill the map + * + * @throws OseeCoreException + * : + */ + public void computeStateSplit() throws OseeCoreException { + for (AbstractWorkflowArtifact art : this.versionArtifact + .getRelatedArtifactsOfType( + AtsRelationTypes.TeamWorkflowTargetedForVersion_Workflow, + TeamWorkFlowArtifact.class)) { + IAtsWorkDefinition workDefinition = art.getWorkDefinition(); + List<IAtsStateDefinition> states = workDefinition.getStates(); + for (IAtsStateDefinition state : states) { + double timeInState = 0; + if (this.stateSplitMap.containsKey(state.getName())) { + timeInState = getStateSplitMap().get(state.getName()); + } + timeInState += art.getStateMgr().getHoursSpent(state.getName()); + this.stateSplitMap.put(state.getName(), timeInState); + } + } + } + +} diff --git a/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/model/TeamDistributionEntry.java b/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/model/TeamDistributionEntry.java new file mode 100644 index 00000000000..a83c92084d8 --- /dev/null +++ b/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/model/TeamDistributionEntry.java @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2012 Robert Bosch Engineering and Business Solutions Ltd India. All rights reserved. This program and + * the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies + * this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.eclipse.osee.reports.split.model; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.osee.ats.api.data.AtsRelationTypes; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.workflow.HoursSpentUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; + +/** + * Class to compute the work from work flow and fill the map + * + * @author Chandan Bandemutt + */ +public class TeamDistributionEntry { + + private final Artifact versionArtifact; + private final Map<String, Double> teamSplitMap; + + /** + * Constructor to set the version artifact and to instantiate the map + * + * @param verArtifact + * : sets the version artifact + */ + public TeamDistributionEntry(final Artifact verArtifact) { + this.versionArtifact = verArtifact; + this.teamSplitMap = new HashMap<String, Double>(); + } + + /** + * Method to compute the work from work flow and fill the map + * + * @throws OseeCoreException + * : + */ + public void computeTeamSplit() throws OseeCoreException { + Collection<TeamWorkFlowArtifact> teamWorkflows = this.versionArtifact + .getRelatedArtifactsOfType( + AtsRelationTypes.TeamWorkflowTargetedForVersion_Workflow, + TeamWorkFlowArtifact.class); + for (TeamWorkFlowArtifact workflow : teamWorkflows) { + double work = 0; + String teamName = workflow.getTeamName(); + if (this.teamSplitMap.containsKey(teamName)) { + work = this.teamSplitMap.get(teamName); + } + double hoursSpent = HoursSpentUtil.getHoursSpentTotal(workflow); + this.teamSplitMap.put(teamName, work + hoursSpent); + } + } + + /** + * @return the map + */ + public Map<String, Double> getTeamSplitMap() { + return this.teamSplitMap; + } + +} diff --git a/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/ui/DistributionItem.java b/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/ui/DistributionItem.java new file mode 100644 index 00000000000..a04f1d1c009 --- /dev/null +++ b/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/ui/DistributionItem.java @@ -0,0 +1,105 @@ +/* + * Copyright (c) 2012 Robert Bosch Engineering and Business Solutions Ltd India. All rights reserved. This program and + * the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies + * this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.eclipse.osee.reports.split.ui; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.osee.ats.AtsImage; +import org.eclipse.osee.ats.api.version.IAtsVersion; +import org.eclipse.osee.ats.core.client.config.store.VersionArtifactStore; +import org.eclipse.osee.ats.util.widgets.dialog.TeamVersionListDialog; +import org.eclipse.osee.framework.core.enums.Active; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemAction; +import org.eclipse.osee.framework.ui.skynet.results.IResultsEditorProvider; +import org.eclipse.osee.framework.ui.skynet.results.IResultsEditorTab; +import org.eclipse.osee.framework.ui.skynet.results.ResultsEditor; +import org.eclipse.osee.reports.split.model.AIDistributionEntry; +import org.eclipse.osee.reports.split.model.DistributionModel; +import org.eclipse.osee.reports.split.model.StateDistributionEntry; +import org.eclipse.osee.reports.split.model.TeamDistributionEntry; +import org.eclipse.osee.reports.split.ui.ai.AITab; +import org.eclipse.osee.reports.split.ui.state.StateTab; +import org.eclipse.osee.reports.split.ui.team.TeamTab; + +/** + * Class to create the navigate item in the UI and to populate the model + * + * @author Chandan Bandemutt + */ +public class DistributionItem extends XNavigateItemAction { + + /** + * Constructor that calls super + * + * @param parent : + */ + public DistributionItem(final XNavigateItem parent) { + super(parent, "Distribution Reports", AtsImage.REPORT); + } + + @Override + public void run(final TableLoadOption... tableLoadOptions) throws Exception { + // Get input from the user. + TeamVersionListDialog dlg = new TeamVersionListDialog(Active.Both); + int open = dlg.open(); + if (open == 0) { + populateModel(dlg); + ResultsEditor.open(new IResultsEditorProvider() { + + @Override + public String getEditorName() { + return "Distribution Reports"; + } + + @Override + public List<IResultsEditorTab> getResultsEditorTabs() { + List<IResultsEditorTab> tabs = new ArrayList<IResultsEditorTab>(); + tabs.add(new AITab()); + tabs.add(new TeamTab()); + tabs.add(new StateTab()); + return tabs; + } + + }); + } + } + + private boolean populateModel(final TeamVersionListDialog dlg) { + try { + // AI Split + IAtsVersion version = (IAtsVersion) dlg.getSelectedVersion(); + VersionArtifactStore artifactStore = new VersionArtifactStore(version); + Artifact artifact = artifactStore.getArtifact(); + + AIDistributionEntry aiSplitEntry = new AIDistributionEntry(artifact); + aiSplitEntry.computeAISplit(); + + TeamDistributionEntry teamSplitEntry = new TeamDistributionEntry(artifact); + teamSplitEntry.computeTeamSplit(); + + StateDistributionEntry stateSplitEntry = new StateDistributionEntry(artifact); + stateSplitEntry.computeStateSplit(); + + DistributionModel.setAiSplitEntry(aiSplitEntry); + DistributionModel.setTeamSplitEntry(teamSplitEntry); + DistributionModel.setStateSplitEntry(stateSplitEntry); + + } + catch (OseeCoreException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return false; + } + + return true; + } + +} diff --git a/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/ui/ai/AITab.java b/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/ui/ai/AITab.java new file mode 100644 index 00000000000..339b16fde07 --- /dev/null +++ b/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/ui/ai/AITab.java @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2012 Robert Bosch Engineering and Business Solutions Ltd India. All rights reserved. This program and + * the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies + * this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.eclipse.osee.reports.split.ui.ai; + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; + +import org.eclipse.birt.report.viewer.utilities.WebViewer; +import org.eclipse.core.runtime.FileLocator; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Platform; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.ui.skynet.results.IResultsEditorTab; +import org.eclipse.osee.framework.ui.skynet.results.ResultsEditor; +import org.eclipse.osee.reports.split.Activator; +import org.eclipse.swt.SWT; +import org.eclipse.swt.browser.Browser; +import org.eclipse.swt.widgets.Composite; +import org.osgi.framework.Bundle; + + +/** + * Class to create the tab in UI + * + * @author Chandan Bandemutt + */ +public class AITab implements IResultsEditorTab { + + private Browser browser; + + @SuppressWarnings("deprecation") + @Override + public Composite createTab(final Composite parent, final ResultsEditor resultsEditor) throws OseeCoreException { + + String path = getReportPath(); + this.browser = new Browser(parent, SWT.NONE); + WebViewer.display(path, WebViewer.HTML, this.browser, "frameset"); + this.browser.refresh(); + return this.browser; + } + + /** + * Method to return the report path + * + * @return the report tab + */ + public String getReportPath() { + String path = null; + try { + Bundle bundle = Platform.getBundle(getPluginID()); + URL url = FileLocator.find(bundle, new Path("reports/" + getReport()), null); + path = FileLocator.toFileURL(url).getPath(); + } + catch (MalformedURLException me) { + System.out.println("Fehler bei URL " + me.getStackTrace()); + return null; + } + catch (IOException e) { + e.printStackTrace(); + return null; + } + return path; + } + + /** + * @return teh plug in ID + */ + public String getPluginID() { + return Activator.PLUGIN_ID; + } + + /** + * @return the report name + */ + public String getReport() { + return "aiDistribution.rptdesign"; + } + + @Override + public String getTabName() { + return "Actionable Item"; + } + +} diff --git a/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/ui/state/StateTab.java b/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/ui/state/StateTab.java new file mode 100644 index 00000000000..ff988f6c8a9 --- /dev/null +++ b/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/ui/state/StateTab.java @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2012 Robert Bosch Engineering and Business Solutions Ltd India. All rights reserved. This program and + * the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies + * this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.eclipse.osee.reports.split.ui.state; + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; + +import org.eclipse.birt.report.viewer.utilities.WebViewer; +import org.eclipse.core.runtime.FileLocator; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Platform; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.ui.skynet.results.IResultsEditorTab; +import org.eclipse.osee.framework.ui.skynet.results.ResultsEditor; +import org.eclipse.osee.reports.split.Activator; +import org.eclipse.swt.SWT; +import org.eclipse.swt.browser.Browser; +import org.eclipse.swt.widgets.Composite; +import org.osgi.framework.Bundle; + + +/** + * Class to create the tab in UI + * + * @author Chandan Bandemutt + */ +public class StateTab implements IResultsEditorTab { + + private Browser browser; + + @SuppressWarnings("deprecation") + @Override + public Composite createTab(final Composite parent, final ResultsEditor resultsEditor) throws OseeCoreException { + + String path = getReportPath(); + this.browser = new Browser(parent, SWT.NONE); + WebViewer.display(path, WebViewer.HTML, this.browser, "frameset"); + this.browser.refresh(); + return this.browser; + } + + /** + * @return the report path + */ + public String getReportPath() { + String path = null; + try { + Bundle bundle = Platform.getBundle(getPluginID()); + URL url = FileLocator.find(bundle, new Path("reports/" + getReport()), null); + path = FileLocator.toFileURL(url).getPath(); + } + catch (MalformedURLException me) { + System.out.println("Fehler bei URL " + me.getStackTrace()); + return null; + } + catch (IOException e) { + e.printStackTrace(); + return null; + } + return path; + } + + /** + * @return the plugin ID + */ + public String getPluginID() { + return Activator.PLUGIN_ID; + } + + /** + * @return the report name + */ + public String getReport() { + return "stateWorkDistribution.rptdesign"; + } + + @Override + public String getTabName() { + return "Workflow State"; + } + +} diff --git a/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/ui/team/TeamTab.java b/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/ui/team/TeamTab.java new file mode 100644 index 00000000000..d8cb02b7052 --- /dev/null +++ b/plugins/org.eclipse.osee.reports.split/src/org/eclipse/osee/reports/split/ui/team/TeamTab.java @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2012 Robert Bosch Engineering and Business Solutions Ltd India. All rights reserved. This program and + * the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies + * this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.eclipse.osee.reports.split.ui.team; + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; + +import org.eclipse.birt.report.viewer.utilities.WebViewer; +import org.eclipse.core.runtime.FileLocator; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Platform; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.ui.skynet.results.IResultsEditorTab; +import org.eclipse.osee.framework.ui.skynet.results.ResultsEditor; +import org.eclipse.osee.reports.split.Activator; +import org.eclipse.swt.SWT; +import org.eclipse.swt.browser.Browser; +import org.eclipse.swt.widgets.Composite; +import org.osgi.framework.Bundle; + + +/** + * Class to create teh tab in UI + * + * @author Chandan Bandemutt + */ +public class TeamTab implements IResultsEditorTab { + + private Browser browser; + + @SuppressWarnings("deprecation") + @Override + public Composite createTab(final Composite parent, final ResultsEditor resultsEditor) throws OseeCoreException { + + String path = getReportPath(); + this.browser = new Browser(parent, SWT.NONE); + WebViewer.display(path, WebViewer.HTML, this.browser, "frameset"); + this.browser.refresh(); + return this.browser; + } + + /** + * @return the report Path + */ + public String getReportPath() { + String path = null; + try { + Bundle bundle = Platform.getBundle(getPluginID()); + URL url = FileLocator.find(bundle, new Path("reports/" + getReport()), null); + path = FileLocator.toFileURL(url).getPath(); + } + catch (MalformedURLException me) { + System.out.println("Fehler bei URL " + me.getStackTrace()); + return null; + } + catch (IOException e) { + e.printStackTrace(); + return null; + } + return path; + } + + /** + * @return the plugin ID + */ + public String getPluginID() { + return Activator.PLUGIN_ID; + } + + /** + * @return the report name + */ + public String getReport() { + return "teamWorkDistribution.rptdesign"; + } + + @Override + public String getTabName() { + return "Team-Work"; + } + +} |