]> gerrit.simantics Code Review - simantics/sysdyn.git/commitdiff
refs #6271 simantics-1.18
authorluukkainen <luukkainen@ac1ea38d-2e2b-0410-8846-a27921b304fc>
Tue, 19 Jan 2016 14:33:00 +0000 (14:33 +0000)
committerluukkainen <luukkainen@ac1ea38d-2e2b-0410-8846-a27921b304fc>
Tue, 19 Jan 2016 14:33:00 +0000 (14:33 +0000)
git-svn-id: https://www.simantics.org/svn/simantics/sysdyn/branches/simantics-1.18@32276 ac1ea38d-2e2b-0410-8846-a27921b304fc

org.simantics.jfreechart.ontology/.classpath [new file with mode: 0644]
org.simantics.jfreechart.ontology/.project [new file with mode: 0644]
org.simantics.jfreechart.ontology/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
org.simantics.jfreechart.ontology/META-INF/MANIFEST.MF [new file with mode: 0644]
org.simantics.jfreechart.ontology/build.properties [new file with mode: 0644]
org.simantics.jfreechart.ontology/graph.tg [new file with mode: 0644]
org.simantics.jfreechart.ontology/graph/ChartViewpoints.pgraph [new file with mode: 0644]
org.simantics.jfreechart.ontology/graph/JFreeChart.pgraph [new file with mode: 0644]
org.simantics.jfreechart.ontology/src/org/simantics/sysdyn/JFreeChartResource.java [new file with mode: 0644]

diff --git a/org.simantics.jfreechart.ontology/.classpath b/org.simantics.jfreechart.ontology/.classpath
new file mode 100644 (file)
index 0000000..8a8f166
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>\r
+       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>\r
+       <classpathentry kind="src" path="src"/>\r
+       <classpathentry kind="output" path="bin"/>\r
+</classpath>\r
diff --git a/org.simantics.jfreechart.ontology/.project b/org.simantics.jfreechart.ontology/.project
new file mode 100644 (file)
index 0000000..36a196b
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<projectDescription>\r
+       <name>org.simantics.jfreechart.ontology</name>\r
+       <comment></comment>\r
+       <projects>\r
+       </projects>\r
+       <buildSpec>\r
+               <buildCommand>\r
+                       <name>org.simantics.graph.builder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>org.eclipse.jdt.core.javabuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>org.eclipse.pde.ManifestBuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>org.eclipse.pde.SchemaBuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+       </buildSpec>\r
+       <natures>\r
+               <nature>org.eclipse.pde.PluginNature</nature>\r
+               <nature>org.eclipse.jdt.core.javanature</nature>\r
+               <nature>org.simantics.graph.nature</nature>\r
+       </natures>\r
+</projectDescription>\r
diff --git a/org.simantics.jfreechart.ontology/.settings/org.eclipse.jdt.core.prefs b/org.simantics.jfreechart.ontology/.settings/org.eclipse.jdt.core.prefs
new file mode 100644 (file)
index 0000000..8fdbeb7
--- /dev/null
@@ -0,0 +1,8 @@
+#Mon Nov 14 12:29:34 EET 2011\r
+eclipse.preferences.version=1\r
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled\r
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6\r
+org.eclipse.jdt.core.compiler.compliance=1.6\r
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error\r
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error\r
+org.eclipse.jdt.core.compiler.source=1.6\r
diff --git a/org.simantics.jfreechart.ontology/META-INF/MANIFEST.MF b/org.simantics.jfreechart.ontology/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..a4fc101
--- /dev/null
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: http://www.simantics.org/JFreeChart
+Bundle-SymbolicName: org.simantics.jfreechart.ontology
+Bundle-Version: 1.0.0.qualifier
+Require-Bundle: org.simantics.layer0,
+ org.simantics.layer0x.ontology;bundle-version="1.0.0",
+ org.simantics.g2d.ontology;bundle-version="1.0.0",
+ org.simantics.diagram.ontology;bundle-version="2.1.0",
+ org.simantics.structural.ontology;bundle-version="1.1.0",
+ org.simantics.modeling.ontology;bundle-version="1.1.0",
+ org.simantics.project.ontology;bundle-version="1.2.0",
+ org.simantics.image2.ontology;bundle-version="1.2.0",
+ org.simantics.action.ontology;bundle-version="1.1.0",
+ org.simantics.viewpoint.ontology;bundle-version="1.2.0",
+ org.simantics.color.ontology;bundle-version="1.1.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.simantics.sysdyn
diff --git a/org.simantics.jfreechart.ontology/build.properties b/org.simantics.jfreechart.ontology/build.properties
new file mode 100644 (file)
index 0000000..ecdc7c3
--- /dev/null
@@ -0,0 +1,5 @@
+source.. = src/\r
+output.. = bin/\r
+bin.includes = META-INF/,\\r
+               .,\\r
+               graph.tg\r
diff --git a/org.simantics.jfreechart.ontology/graph.tg b/org.simantics.jfreechart.ontology/graph.tg
new file mode 100644 (file)
index 0000000..5a57c74
Binary files /dev/null and b/org.simantics.jfreechart.ontology/graph.tg differ
diff --git a/org.simantics.jfreechart.ontology/graph/ChartViewpoints.pgraph b/org.simantics.jfreechart.ontology/graph/ChartViewpoints.pgraph
new file mode 100644 (file)
index 0000000..e0cb5e3
--- /dev/null
@@ -0,0 +1,117 @@
+L0 = <http://www.simantics.org/Layer0-1.1>\r
+VP = <http://www.simantics.org/Viewpoint-1.2>\r
+PROJECT = <http://www.simantics.org/Project-1.2>\r
+MOD = <http://www.simantics.org/Modeling-1.2>\r
+IMAGE = <http://www.simantics.org/Image2-1.2>\r
+COLOR = <http://www.simantics.org/Color-1.1>\r
+ACT = <http://www.simantics.org/Action-1.1>\r
+JFREE = <http://www.simantics.org/JFreeChart-1.0>\r
+\r
+\r
+///////////////////////////////////////////////\r
+// XY Line axis: axis and variables viewpoint\r
+///////////////////////////////////////////////\r
+CBC = JFREE.ChartAxisAndVariablesBrowseContext : VP.BrowseContext\r
+CAC = JFREE.ChartAxisAndVariablesActionContext : VP.BrowseContext\r
+\r
+CBC.AxisChildRule : VP.ChildRule\r
+CBC.VariableChildRule : VP.ChildRule\r
+CBC.SeriesLabelRule : VP.LabelRule\r
+CBC.AxisLabelRule : VP.LabelRule\r
+CBC.SeriesLabelDecorationRule : VP.LabelDecorationRule\r
+\r
+CBC\r
+    @VP.customChildRule JFREE.Chart CBC.AxisChildRule\r
+        JFREE.Axis : VP.ResourceNodeType\r
+    @VP.customChildRule JFREE.Axis CBC.VariableChildRule\r
+        JFREE.Series : VP.ResourceNodeType\r
+\r
+CBC        \r
+    @VP.customLabelRule             JFREE.Axis          CBC.AxisLabelRule\r
+    @VP.customLabelRule             JFREE.Series        CBC.SeriesLabelRule\r
+    \r
+CBC\r
+    @VP.customLabelDecorationRule   JFREE.Series        CBC.SeriesLabelDecorationRule \r
+    \r
+CBC\r
+    @VP.dropActionContribution JFREE.Axis CAC.Actions.SeriesDropAction 1.0    \r
+    @VP.dropActionContribution JFREE.Series CAC.Actions.SeriesDropAction 1.0      \r
+    @VP.dropActionContribution JFREE.Axis CAC.Actions.AxisDropAction 2.0    \r
+    @VP.dropActionContribution JFREE.Series CAC.Actions.AxisDropAction 2.0          \r
+    \r
+CBC\r
+    VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution\r
+        VP.VisualsContribution.HasNodeType JFREE.Chart\r
+        VP.VisualsContribution.HasRule VP.PassThruSorterRule     \r
+    VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution\r
+        VP.VisualsContribution.HasNodeType JFREE.Axis\r
+        VP.VisualsContribution.HasRule VP.PassThruSorterRule\r
+   \r
+    \r
+CAC.Actions : L0.Library\r
+CAC.Actions.SeriesDropAction : ACT.DropAction    \r
+CAC.Actions.AxisDropAction : ACT.DropAction    \r
+\r
+\r
+///////////////////////////////////////////////\r
+// Bar chart: Variables viewpoint\r
+///////////////////////////////////////////////\r
+BSBC = JFREE.BarSeriesBrowseContext : VP.BrowseContext\r
+BSAC = JFREE.BarSeriesActionContext : VP.BrowseContext\r
+\r
+BSBC.SeriesChildRule : VP.ChildRule\r
+BSBC.SeriesLabelRule : VP.LabelRule\r
+BSBC.SeriesLabelDecorationRule : VP.LabelDecorationRule\r
+    \r
+BSBC\r
+    @VP.customChildRule JFREE.Chart BSBC.SeriesChildRule\r
+        JFREE.Series\r
+\r
+BSBC        \r
+    @VP.customLabelRule             JFREE.Series        BSBC.SeriesLabelRule\r
+    \r
+BSBC\r
+    @VP.customLabelDecorationRule   JFREE.Series        BSBC.SeriesLabelDecorationRule     \r
+    \r
+BSBC\r
+    @VP.dropActionContribution JFREE.Series BSAC.Actions.SeriesDropAction 1.0      \r
+    \r
+BSBC\r
+    VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution\r
+        VP.VisualsContribution.HasNodeType JFREE.Chart\r
+        VP.VisualsContribution.HasRule VP.PassThruSorterRule\r
+   \r
+BSAC.Actions : L0.Library\r
+BSAC.Actions.SeriesDropAction : ACT.DropAction    \r
+\r
+\r
+///////////////////////////////////////////////\r
+// Pie chart: Variables viewpoint\r
+///////////////////////////////////////////////\r
+PSBC = JFREE.PieSeriesBrowseContext : VP.BrowseContext\r
+PSAC = JFREE.PieSeriesActionContext : VP.BrowseContext\r
+\r
+PSBC.SeriesChildRule : VP.ChildRule\r
+PSBC.SeriesLabelRule : VP.LabelRule\r
+PSBC.SeriesLabelDecorationRule : VP.LabelDecorationRule\r
+    \r
+PSBC\r
+    @VP.customChildRule JFREE.Chart PSBC.SeriesChildRule\r
+        JFREE.Series\r
+\r
+PSBC        \r
+    @VP.customLabelRule             JFREE.Series        PSBC.SeriesLabelRule\r
+    \r
+PSBC\r
+    @VP.customLabelDecorationRule   JFREE.Series        PSBC.SeriesLabelDecorationRule     \r
+    \r
+PSBC\r
+    @VP.dropActionContribution JFREE.Series PSAC.Actions.SeriesDropAction 1.0      \r
+    \r
+PSBC\r
+    VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution\r
+        VP.VisualsContribution.HasNodeType JFREE.Chart\r
+        VP.VisualsContribution.HasRule VP.PassThruSorterRule\r
+   \r
+PSAC.Actions : L0.Library\r
+PSAC.Actions.SeriesDropAction : ACT.DropAction    \r
diff --git a/org.simantics.jfreechart.ontology/graph/JFreeChart.pgraph b/org.simantics.jfreechart.ontology/graph/JFreeChart.pgraph
new file mode 100644 (file)
index 0000000..f185b41
--- /dev/null
@@ -0,0 +1,141 @@
+L0 = <http://www.simantics.org/Layer0-1.1>
+L0X = <http://www.simantics.org/Layer0X-1.1>
+G2D = <http://www.simantics.org/G2D-1.1>
+DIA = <http://www.simantics.org/Diagram-2.2>
+MOD = <http://www.simantics.org/Modeling-1.2>
+STR = <http://www.simantics.org/Structural-1.2>
+
+//#####################################################################
+// Ontology for defining JFreeChart charts
+//#####################################################################
+
+JFREE = <http://www.simantics.org/JFreeChart-1.0> : L0.Ontology
+    @L0.new
+    L0.HasResourceClass "org.simantics.sysdyn.JFreeChartResource"
+
+//#####################################################################
+// Charts
+//#####################################################################
+JFREE.Chart <T L0.Entity
+    >-- JFREE.title --> JFREE.Title <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.subtitles --> L0.List <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Chart.borderColor --> G2D.Color <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Chart.visibleBorder --> L0.Boolean <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Chart.borderWidth --> L0.Double <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Chart.visibleLegend --> L0.Boolean <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Chart.time --> L0.Double <R L0.HasProperty : L0.FunctionalRelation
+
+//#####################################################################
+// Titles
+//#####################################################################
+JFREE.Title <T L0.Entity
+    >-- JFREE.visible --> L0.Boolean <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Title.position --> L0.Boolean <R L0.IsWeaklyRelatedTo
+    
+JFREE.TextTitle <T JFREE.Title
+JFREE.ImageTitle <T JFREE.Title
+JFREE.LegendTitle <T JFREE.Title
+JFREE.PaintScaleLegend <T JFREE.Title
+JFREE.CompositeTitle <T JFREE.Title
+
+
+//#####################################################################
+// Plots
+//#####################################################################
+
+JFREE.Plot <T L0.Entity
+    >-- JFREE.Plot.domainAxis --> JFREE.Axis <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Plot.rangeAxis --> JFREE.Axis <R L0.HasProperty
+    >-- JFREE.backgroundColor --> G2D.Color <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Plot.visibleGrid --> L0.Boolean <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Plot.rangeAxisList --> L0.List <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Plot.visibleLabels --> L0.Boolean <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Plot.orientation --> L0.Boolean <R L0.HasProperty : L0.FunctionalRelation
+    
+JFREE.CategoryPlot <T JFREE.Plot
+JFREE.XYPlot <T JFREE.Plot
+JFREE.PiePlot <T JFREE.Plot
+
+//#####################################################################
+// Axis
+//#####################################################################
+
+JFREE.Axis <T L0.Entity
+    >-- JFREE.color --> G2D.Color <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Axis.min --> L0.Double <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Axis.max --> L0.Double <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Axis.visibleTickLabels --> L0.Boolean <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Axis.visibleTickMarks --> L0.Boolean <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Axis.visibleAxisLine --> L0.Boolean <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Axis.visibleLabel --> L0.Boolean <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Axis.rotateLabelDegrees --> L0.Double <R L0.HasProperty : L0.FunctionalRelation
+    
+JFREE.CategoryAxis <T JFREE.Axis
+JFREE.ValueAxis <T JFREE.Axis
+JFREE.NumberAxis <T JFREE.Axis
+
+//#####################################################################
+// Datasets
+//#####################################################################
+JFREE.Dataset <T L0.Entity
+    >-- JFREE.Dataset.seriesList --> L0.List <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Dataset.renderer --> JFREE.Renderer <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Dataset.mapToDomainAxis --> JFREE.Axis <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Dataset.mapToRangeAxis --> JFREE.Axis <R L0.HasProperty : L0.FunctionalRelation
+
+JFREE.XYDataset <T JFREE.Dataset
+JFREE.CategoryDataset <T JFREE.Dataset
+JFREE.PieDataset <T JFREE.Dataset
+
+//#####################################################################
+// Series
+//#####################################################################
+
+JFREE.Series <T L0.Entity
+    >-- JFREE.color
+    >-- JFREE.variableRVI --> L0.String <R L0.HasProperty
+    >-- JFREE.variableFilter --> L0.StringArray <R L0.HasProperty
+    >-- JFREE.Series.rangeList --> L0.List <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Series.lineWidth --> L0.Integer <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Series.exploded --> L0.Boolean <R L0.HasProperty : L0.FunctionalRelation
+    >-- JFREE.Series.time --> L0.Double <R L0.HasProperty : L0.FunctionalRelation
+
+//#####################################################################
+// Renderers
+//#####################################################################
+
+JFREE.Renderer <T L0.Entity
+
+JFREE.XYLineRenderer <T JFREE.Renderer
+JFREE.XYAreaRenderer <T JFREE.Renderer
+
+JFREE.BarRenderer <T JFREE.Renderer
+JFREE.StackedBarRenderer <T JFREE.Renderer
+
+JFREE.DeviationRenderer <T JFREE.Renderer
+    
+//#####################################################################
+// Position
+//#####################################################################
+JFREE.Position <T L0.Entity
+JFREE.Bottom <T JFREE.Position
+JFREE.Top <T JFREE.Position
+JFREE.Left <T JFREE.Position
+JFREE.Right <T JFREE.Position
+
+
+//#####################################################################
+// Symbol
+//#####################################################################
+JFREE.ChartElement <T DIA.Element
+    L0.HasDescription "Element for displaying charts in diagrams"
+    >-- JFREE.ChartElement.component --> JFREE.Chart <R L0.IsWeaklyRelatedTo
+    
+//#####################################################################
+// Filtering
+//#####################################################################
+JFREE.Filter <T L0.Library
+JFREE.Filter.used <R L0.HasProperty : L0.FunctionalRelation
+   L0.HasRange L0.Boolean
+JFREE.Filter.fraction <R L0.HasProperty : L0.FunctionalRelation
+   L0.HasRange L0.Double
\ No newline at end of file
diff --git a/org.simantics.jfreechart.ontology/src/org/simantics/sysdyn/JFreeChartResource.java b/org.simantics.jfreechart.ontology/src/org/simantics/sysdyn/JFreeChartResource.java
new file mode 100644 (file)
index 0000000..88ccbc8
--- /dev/null
@@ -0,0 +1,442 @@
+package org.simantics.sysdyn;\r
+\r
+import org.simantics.db.RequestProcessor;\r
+import org.simantics.db.Resource;\r
+import org.simantics.db.ReadGraph;\r
+import org.simantics.db.request.Read;\r
+import org.simantics.db.Session;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.db.service.QueryControl;\r
+\r
+public class JFreeChartResource {\r
+    \r
+    public final Resource Axis;\r
+    public final Resource Axis_max;\r
+    public final Resource Axis_max_Inverse;\r
+    public final Resource Axis_min;\r
+    public final Resource Axis_min_Inverse;\r
+    public final Resource Axis_rotateLabelDegrees;\r
+    public final Resource Axis_rotateLabelDegrees_Inverse;\r
+    public final Resource Axis_visibleAxisLine;\r
+    public final Resource Axis_visibleAxisLine_Inverse;\r
+    public final Resource Axis_visibleLabel;\r
+    public final Resource Axis_visibleLabel_Inverse;\r
+    public final Resource Axis_visibleTickLabels;\r
+    public final Resource Axis_visibleTickLabels_Inverse;\r
+    public final Resource Axis_visibleTickMarks;\r
+    public final Resource Axis_visibleTickMarks_Inverse;\r
+    public final Resource BarRenderer;\r
+    public final Resource BarSeriesActionContext;\r
+    public final Resource BarSeriesActionContext_Actions;\r
+    public final Resource BarSeriesActionContext_Actions_SeriesDropAction;\r
+    public final Resource BarSeriesBrowseContext;\r
+    public final Resource BarSeriesBrowseContext_SeriesChildRule;\r
+    public final Resource BarSeriesBrowseContext_SeriesLabelDecorationRule;\r
+    public final Resource BarSeriesBrowseContext_SeriesLabelRule;\r
+    public final Resource Bottom;\r
+    public final Resource CategoryAxis;\r
+    public final Resource CategoryDataset;\r
+    public final Resource CategoryPlot;\r
+    public final Resource Chart;\r
+    public final Resource ChartAxisAndVariablesActionContext;\r
+    public final Resource ChartAxisAndVariablesActionContext_Actions;\r
+    public final Resource ChartAxisAndVariablesActionContext_Actions_AxisDropAction;\r
+    public final Resource ChartAxisAndVariablesActionContext_Actions_SeriesDropAction;\r
+    public final Resource ChartAxisAndVariablesBrowseContext;\r
+    public final Resource ChartAxisAndVariablesBrowseContext_AxisChildRule;\r
+    public final Resource ChartAxisAndVariablesBrowseContext_AxisLabelRule;\r
+    public final Resource ChartAxisAndVariablesBrowseContext_SeriesLabelDecorationRule;\r
+    public final Resource ChartAxisAndVariablesBrowseContext_SeriesLabelRule;\r
+    public final Resource ChartAxisAndVariablesBrowseContext_VariableChildRule;\r
+    public final Resource ChartElement;\r
+    public final Resource ChartElement_component;\r
+    public final Resource Chart_borderColor;\r
+    public final Resource Chart_borderColor_Inverse;\r
+    public final Resource Chart_borderWidth;\r
+    public final Resource Chart_borderWidth_Inverse;\r
+    public final Resource Chart_time;\r
+    public final Resource Chart_time_Inverse;\r
+    public final Resource Chart_visibleBorder;\r
+    public final Resource Chart_visibleBorder_Inverse;\r
+    public final Resource Chart_visibleLegend;\r
+    public final Resource Chart_visibleLegend_Inverse;\r
+    public final Resource CompositeTitle;\r
+    public final Resource Dataset;\r
+    public final Resource Dataset_mapToDomainAxis;\r
+    public final Resource Dataset_mapToDomainAxis_Inverse;\r
+    public final Resource Dataset_mapToRangeAxis;\r
+    public final Resource Dataset_mapToRangeAxis_Inverse;\r
+    public final Resource Dataset_renderer;\r
+    public final Resource Dataset_renderer_Inverse;\r
+    public final Resource Dataset_seriesList;\r
+    public final Resource Dataset_seriesList_Inverse;\r
+    public final Resource DeviationRenderer;\r
+    public final Resource Filter;\r
+    public final Resource Filter_fraction;\r
+    public final Resource Filter_fraction_Inverse;\r
+    public final Resource Filter_used;\r
+    public final Resource Filter_used_Inverse;\r
+    public final Resource ImageTitle;\r
+    public final Resource Left;\r
+    public final Resource LegendTitle;\r
+    public final Resource NumberAxis;\r
+    public final Resource PaintScaleLegend;\r
+    public final Resource PieDataset;\r
+    public final Resource PiePlot;\r
+    public final Resource PieSeriesActionContext;\r
+    public final Resource PieSeriesActionContext_Actions;\r
+    public final Resource PieSeriesActionContext_Actions_SeriesDropAction;\r
+    public final Resource PieSeriesBrowseContext;\r
+    public final Resource PieSeriesBrowseContext_SeriesChildRule;\r
+    public final Resource PieSeriesBrowseContext_SeriesLabelDecorationRule;\r
+    public final Resource PieSeriesBrowseContext_SeriesLabelRule;\r
+    public final Resource Plot;\r
+    public final Resource Plot_domainAxis;\r
+    public final Resource Plot_domainAxis_Inverse;\r
+    public final Resource Plot_orientation;\r
+    public final Resource Plot_orientation_Inverse;\r
+    public final Resource Plot_rangeAxis;\r
+    public final Resource Plot_rangeAxisList;\r
+    public final Resource Plot_rangeAxisList_Inverse;\r
+    public final Resource Plot_rangeAxis_Inverse;\r
+    public final Resource Plot_visibleGrid;\r
+    public final Resource Plot_visibleGrid_Inverse;\r
+    public final Resource Plot_visibleLabels;\r
+    public final Resource Plot_visibleLabels_Inverse;\r
+    public final Resource Position;\r
+    public final Resource Renderer;\r
+    public final Resource Right;\r
+    public final Resource Series;\r
+    public final Resource Series_exploded;\r
+    public final Resource Series_exploded_Inverse;\r
+    public final Resource Series_lineWidth;\r
+    public final Resource Series_lineWidth_Inverse;\r
+    public final Resource Series_rangeList;\r
+    public final Resource Series_rangeList_Inverse;\r
+    public final Resource Series_time;\r
+    public final Resource Series_time_Inverse;\r
+    public final Resource StackedBarRenderer;\r
+    public final Resource TextTitle;\r
+    public final Resource Title;\r
+    public final Resource Title_position;\r
+    public final Resource Top;\r
+    public final Resource ValueAxis;\r
+    public final Resource XYAreaRenderer;\r
+    public final Resource XYDataset;\r
+    public final Resource XYLineRenderer;\r
+    public final Resource XYPlot;\r
+    public final Resource backgroundColor;\r
+    public final Resource backgroundColor_Inverse;\r
+    public final Resource color;\r
+    public final Resource color_Inverse;\r
+    public final Resource subtitles;\r
+    public final Resource subtitles_Inverse;\r
+    public final Resource title;\r
+    public final Resource title_Inverse;\r
+    public final Resource variableFilter;\r
+    public final Resource variableFilter_Inverse;\r
+    public final Resource variableRVI;\r
+    public final Resource variableRVI_Inverse;\r
+    public final Resource visible;\r
+    public final Resource visible_Inverse;\r
+        \r
+    public static class URIs {\r
+        public static final String Axis = "http://www.simantics.org/JFreeChart-1.0/Axis";\r
+        public static final String Axis_max = "http://www.simantics.org/JFreeChart-1.0/Axis/max";\r
+        public static final String Axis_max_Inverse = "http://www.simantics.org/JFreeChart-1.0/Axis/max/Inverse";\r
+        public static final String Axis_min = "http://www.simantics.org/JFreeChart-1.0/Axis/min";\r
+        public static final String Axis_min_Inverse = "http://www.simantics.org/JFreeChart-1.0/Axis/min/Inverse";\r
+        public static final String Axis_rotateLabelDegrees = "http://www.simantics.org/JFreeChart-1.0/Axis/rotateLabelDegrees";\r
+        public static final String Axis_rotateLabelDegrees_Inverse = "http://www.simantics.org/JFreeChart-1.0/Axis/rotateLabelDegrees/Inverse";\r
+        public static final String Axis_visibleAxisLine = "http://www.simantics.org/JFreeChart-1.0/Axis/visibleAxisLine";\r
+        public static final String Axis_visibleAxisLine_Inverse = "http://www.simantics.org/JFreeChart-1.0/Axis/visibleAxisLine/Inverse";\r
+        public static final String Axis_visibleLabel = "http://www.simantics.org/JFreeChart-1.0/Axis/visibleLabel";\r
+        public static final String Axis_visibleLabel_Inverse = "http://www.simantics.org/JFreeChart-1.0/Axis/visibleLabel/Inverse";\r
+        public static final String Axis_visibleTickLabels = "http://www.simantics.org/JFreeChart-1.0/Axis/visibleTickLabels";\r
+        public static final String Axis_visibleTickLabels_Inverse = "http://www.simantics.org/JFreeChart-1.0/Axis/visibleTickLabels/Inverse";\r
+        public static final String Axis_visibleTickMarks = "http://www.simantics.org/JFreeChart-1.0/Axis/visibleTickMarks";\r
+        public static final String Axis_visibleTickMarks_Inverse = "http://www.simantics.org/JFreeChart-1.0/Axis/visibleTickMarks/Inverse";\r
+        public static final String BarRenderer = "http://www.simantics.org/JFreeChart-1.0/BarRenderer";\r
+        public static final String BarSeriesActionContext = "http://www.simantics.org/JFreeChart-1.0/BarSeriesActionContext";\r
+        public static final String BarSeriesActionContext_Actions = "http://www.simantics.org/JFreeChart-1.0/BarSeriesActionContext/Actions";\r
+        public static final String BarSeriesActionContext_Actions_SeriesDropAction = "http://www.simantics.org/JFreeChart-1.0/BarSeriesActionContext/Actions/SeriesDropAction";\r
+        public static final String BarSeriesBrowseContext = "http://www.simantics.org/JFreeChart-1.0/BarSeriesBrowseContext";\r
+        public static final String BarSeriesBrowseContext_SeriesChildRule = "http://www.simantics.org/JFreeChart-1.0/BarSeriesBrowseContext/SeriesChildRule";\r
+        public static final String BarSeriesBrowseContext_SeriesLabelDecorationRule = "http://www.simantics.org/JFreeChart-1.0/BarSeriesBrowseContext/SeriesLabelDecorationRule";\r
+        public static final String BarSeriesBrowseContext_SeriesLabelRule = "http://www.simantics.org/JFreeChart-1.0/BarSeriesBrowseContext/SeriesLabelRule";\r
+        public static final String Bottom = "http://www.simantics.org/JFreeChart-1.0/Bottom";\r
+        public static final String CategoryAxis = "http://www.simantics.org/JFreeChart-1.0/CategoryAxis";\r
+        public static final String CategoryDataset = "http://www.simantics.org/JFreeChart-1.0/CategoryDataset";\r
+        public static final String CategoryPlot = "http://www.simantics.org/JFreeChart-1.0/CategoryPlot";\r
+        public static final String Chart = "http://www.simantics.org/JFreeChart-1.0/Chart";\r
+        public static final String ChartAxisAndVariablesActionContext = "http://www.simantics.org/JFreeChart-1.0/ChartAxisAndVariablesActionContext";\r
+        public static final String ChartAxisAndVariablesActionContext_Actions = "http://www.simantics.org/JFreeChart-1.0/ChartAxisAndVariablesActionContext/Actions";\r
+        public static final String ChartAxisAndVariablesActionContext_Actions_AxisDropAction = "http://www.simantics.org/JFreeChart-1.0/ChartAxisAndVariablesActionContext/Actions/AxisDropAction";\r
+        public static final String ChartAxisAndVariablesActionContext_Actions_SeriesDropAction = "http://www.simantics.org/JFreeChart-1.0/ChartAxisAndVariablesActionContext/Actions/SeriesDropAction";\r
+        public static final String ChartAxisAndVariablesBrowseContext = "http://www.simantics.org/JFreeChart-1.0/ChartAxisAndVariablesBrowseContext";\r
+        public static final String ChartAxisAndVariablesBrowseContext_AxisChildRule = "http://www.simantics.org/JFreeChart-1.0/ChartAxisAndVariablesBrowseContext/AxisChildRule";\r
+        public static final String ChartAxisAndVariablesBrowseContext_AxisLabelRule = "http://www.simantics.org/JFreeChart-1.0/ChartAxisAndVariablesBrowseContext/AxisLabelRule";\r
+        public static final String ChartAxisAndVariablesBrowseContext_SeriesLabelDecorationRule = "http://www.simantics.org/JFreeChart-1.0/ChartAxisAndVariablesBrowseContext/SeriesLabelDecorationRule";\r
+        public static final String ChartAxisAndVariablesBrowseContext_SeriesLabelRule = "http://www.simantics.org/JFreeChart-1.0/ChartAxisAndVariablesBrowseContext/SeriesLabelRule";\r
+        public static final String ChartAxisAndVariablesBrowseContext_VariableChildRule = "http://www.simantics.org/JFreeChart-1.0/ChartAxisAndVariablesBrowseContext/VariableChildRule";\r
+        public static final String ChartElement = "http://www.simantics.org/JFreeChart-1.0/ChartElement";\r
+        public static final String ChartElement_component = "http://www.simantics.org/JFreeChart-1.0/ChartElement/component";\r
+        public static final String Chart_borderColor = "http://www.simantics.org/JFreeChart-1.0/Chart/borderColor";\r
+        public static final String Chart_borderColor_Inverse = "http://www.simantics.org/JFreeChart-1.0/Chart/borderColor/Inverse";\r
+        public static final String Chart_borderWidth = "http://www.simantics.org/JFreeChart-1.0/Chart/borderWidth";\r
+        public static final String Chart_borderWidth_Inverse = "http://www.simantics.org/JFreeChart-1.0/Chart/borderWidth/Inverse";\r
+        public static final String Chart_time = "http://www.simantics.org/JFreeChart-1.0/Chart/time";\r
+        public static final String Chart_time_Inverse = "http://www.simantics.org/JFreeChart-1.0/Chart/time/Inverse";\r
+        public static final String Chart_visibleBorder = "http://www.simantics.org/JFreeChart-1.0/Chart/visibleBorder";\r
+        public static final String Chart_visibleBorder_Inverse = "http://www.simantics.org/JFreeChart-1.0/Chart/visibleBorder/Inverse";\r
+        public static final String Chart_visibleLegend = "http://www.simantics.org/JFreeChart-1.0/Chart/visibleLegend";\r
+        public static final String Chart_visibleLegend_Inverse = "http://www.simantics.org/JFreeChart-1.0/Chart/visibleLegend/Inverse";\r
+        public static final String CompositeTitle = "http://www.simantics.org/JFreeChart-1.0/CompositeTitle";\r
+        public static final String Dataset = "http://www.simantics.org/JFreeChart-1.0/Dataset";\r
+        public static final String Dataset_mapToDomainAxis = "http://www.simantics.org/JFreeChart-1.0/Dataset/mapToDomainAxis";\r
+        public static final String Dataset_mapToDomainAxis_Inverse = "http://www.simantics.org/JFreeChart-1.0/Dataset/mapToDomainAxis/Inverse";\r
+        public static final String Dataset_mapToRangeAxis = "http://www.simantics.org/JFreeChart-1.0/Dataset/mapToRangeAxis";\r
+        public static final String Dataset_mapToRangeAxis_Inverse = "http://www.simantics.org/JFreeChart-1.0/Dataset/mapToRangeAxis/Inverse";\r
+        public static final String Dataset_renderer = "http://www.simantics.org/JFreeChart-1.0/Dataset/renderer";\r
+        public static final String Dataset_renderer_Inverse = "http://www.simantics.org/JFreeChart-1.0/Dataset/renderer/Inverse";\r
+        public static final String Dataset_seriesList = "http://www.simantics.org/JFreeChart-1.0/Dataset/seriesList";\r
+        public static final String Dataset_seriesList_Inverse = "http://www.simantics.org/JFreeChart-1.0/Dataset/seriesList/Inverse";\r
+        public static final String DeviationRenderer = "http://www.simantics.org/JFreeChart-1.0/DeviationRenderer";\r
+        public static final String Filter = "http://www.simantics.org/JFreeChart-1.0/Filter";\r
+        public static final String Filter_fraction = "http://www.simantics.org/JFreeChart-1.0/Filter/fraction";\r
+        public static final String Filter_fraction_Inverse = "http://www.simantics.org/JFreeChart-1.0/Filter/fraction/Inverse";\r
+        public static final String Filter_used = "http://www.simantics.org/JFreeChart-1.0/Filter/used";\r
+        public static final String Filter_used_Inverse = "http://www.simantics.org/JFreeChart-1.0/Filter/used/Inverse";\r
+        public static final String ImageTitle = "http://www.simantics.org/JFreeChart-1.0/ImageTitle";\r
+        public static final String Left = "http://www.simantics.org/JFreeChart-1.0/Left";\r
+        public static final String LegendTitle = "http://www.simantics.org/JFreeChart-1.0/LegendTitle";\r
+        public static final String NumberAxis = "http://www.simantics.org/JFreeChart-1.0/NumberAxis";\r
+        public static final String PaintScaleLegend = "http://www.simantics.org/JFreeChart-1.0/PaintScaleLegend";\r
+        public static final String PieDataset = "http://www.simantics.org/JFreeChart-1.0/PieDataset";\r
+        public static final String PiePlot = "http://www.simantics.org/JFreeChart-1.0/PiePlot";\r
+        public static final String PieSeriesActionContext = "http://www.simantics.org/JFreeChart-1.0/PieSeriesActionContext";\r
+        public static final String PieSeriesActionContext_Actions = "http://www.simantics.org/JFreeChart-1.0/PieSeriesActionContext/Actions";\r
+        public static final String PieSeriesActionContext_Actions_SeriesDropAction = "http://www.simantics.org/JFreeChart-1.0/PieSeriesActionContext/Actions/SeriesDropAction";\r
+        public static final String PieSeriesBrowseContext = "http://www.simantics.org/JFreeChart-1.0/PieSeriesBrowseContext";\r
+        public static final String PieSeriesBrowseContext_SeriesChildRule = "http://www.simantics.org/JFreeChart-1.0/PieSeriesBrowseContext/SeriesChildRule";\r
+        public static final String PieSeriesBrowseContext_SeriesLabelDecorationRule = "http://www.simantics.org/JFreeChart-1.0/PieSeriesBrowseContext/SeriesLabelDecorationRule";\r
+        public static final String PieSeriesBrowseContext_SeriesLabelRule = "http://www.simantics.org/JFreeChart-1.0/PieSeriesBrowseContext/SeriesLabelRule";\r
+        public static final String Plot = "http://www.simantics.org/JFreeChart-1.0/Plot";\r
+        public static final String Plot_domainAxis = "http://www.simantics.org/JFreeChart-1.0/Plot/domainAxis";\r
+        public static final String Plot_domainAxis_Inverse = "http://www.simantics.org/JFreeChart-1.0/Plot/domainAxis/Inverse";\r
+        public static final String Plot_orientation = "http://www.simantics.org/JFreeChart-1.0/Plot/orientation";\r
+        public static final String Plot_orientation_Inverse = "http://www.simantics.org/JFreeChart-1.0/Plot/orientation/Inverse";\r
+        public static final String Plot_rangeAxis = "http://www.simantics.org/JFreeChart-1.0/Plot/rangeAxis";\r
+        public static final String Plot_rangeAxisList = "http://www.simantics.org/JFreeChart-1.0/Plot/rangeAxisList";\r
+        public static final String Plot_rangeAxisList_Inverse = "http://www.simantics.org/JFreeChart-1.0/Plot/rangeAxisList/Inverse";\r
+        public static final String Plot_rangeAxis_Inverse = "http://www.simantics.org/JFreeChart-1.0/Plot/rangeAxis/Inverse";\r
+        public static final String Plot_visibleGrid = "http://www.simantics.org/JFreeChart-1.0/Plot/visibleGrid";\r
+        public static final String Plot_visibleGrid_Inverse = "http://www.simantics.org/JFreeChart-1.0/Plot/visibleGrid/Inverse";\r
+        public static final String Plot_visibleLabels = "http://www.simantics.org/JFreeChart-1.0/Plot/visibleLabels";\r
+        public static final String Plot_visibleLabels_Inverse = "http://www.simantics.org/JFreeChart-1.0/Plot/visibleLabels/Inverse";\r
+        public static final String Position = "http://www.simantics.org/JFreeChart-1.0/Position";\r
+        public static final String Renderer = "http://www.simantics.org/JFreeChart-1.0/Renderer";\r
+        public static final String Right = "http://www.simantics.org/JFreeChart-1.0/Right";\r
+        public static final String Series = "http://www.simantics.org/JFreeChart-1.0/Series";\r
+        public static final String Series_exploded = "http://www.simantics.org/JFreeChart-1.0/Series/exploded";\r
+        public static final String Series_exploded_Inverse = "http://www.simantics.org/JFreeChart-1.0/Series/exploded/Inverse";\r
+        public static final String Series_lineWidth = "http://www.simantics.org/JFreeChart-1.0/Series/lineWidth";\r
+        public static final String Series_lineWidth_Inverse = "http://www.simantics.org/JFreeChart-1.0/Series/lineWidth/Inverse";\r
+        public static final String Series_rangeList = "http://www.simantics.org/JFreeChart-1.0/Series/rangeList";\r
+        public static final String Series_rangeList_Inverse = "http://www.simantics.org/JFreeChart-1.0/Series/rangeList/Inverse";\r
+        public static final String Series_time = "http://www.simantics.org/JFreeChart-1.0/Series/time";\r
+        public static final String Series_time_Inverse = "http://www.simantics.org/JFreeChart-1.0/Series/time/Inverse";\r
+        public static final String StackedBarRenderer = "http://www.simantics.org/JFreeChart-1.0/StackedBarRenderer";\r
+        public static final String TextTitle = "http://www.simantics.org/JFreeChart-1.0/TextTitle";\r
+        public static final String Title = "http://www.simantics.org/JFreeChart-1.0/Title";\r
+        public static final String Title_position = "http://www.simantics.org/JFreeChart-1.0/Title/position";\r
+        public static final String Top = "http://www.simantics.org/JFreeChart-1.0/Top";\r
+        public static final String ValueAxis = "http://www.simantics.org/JFreeChart-1.0/ValueAxis";\r
+        public static final String XYAreaRenderer = "http://www.simantics.org/JFreeChart-1.0/XYAreaRenderer";\r
+        public static final String XYDataset = "http://www.simantics.org/JFreeChart-1.0/XYDataset";\r
+        public static final String XYLineRenderer = "http://www.simantics.org/JFreeChart-1.0/XYLineRenderer";\r
+        public static final String XYPlot = "http://www.simantics.org/JFreeChart-1.0/XYPlot";\r
+        public static final String backgroundColor = "http://www.simantics.org/JFreeChart-1.0/backgroundColor";\r
+        public static final String backgroundColor_Inverse = "http://www.simantics.org/JFreeChart-1.0/backgroundColor/Inverse";\r
+        public static final String color = "http://www.simantics.org/JFreeChart-1.0/color";\r
+        public static final String color_Inverse = "http://www.simantics.org/JFreeChart-1.0/color/Inverse";\r
+        public static final String subtitles = "http://www.simantics.org/JFreeChart-1.0/subtitles";\r
+        public static final String subtitles_Inverse = "http://www.simantics.org/JFreeChart-1.0/subtitles/Inverse";\r
+        public static final String title = "http://www.simantics.org/JFreeChart-1.0/title";\r
+        public static final String title_Inverse = "http://www.simantics.org/JFreeChart-1.0/title/Inverse";\r
+        public static final String variableFilter = "http://www.simantics.org/JFreeChart-1.0/variableFilter";\r
+        public static final String variableFilter_Inverse = "http://www.simantics.org/JFreeChart-1.0/variableFilter/Inverse";\r
+        public static final String variableRVI = "http://www.simantics.org/JFreeChart-1.0/variableRVI";\r
+        public static final String variableRVI_Inverse = "http://www.simantics.org/JFreeChart-1.0/variableRVI/Inverse";\r
+        public static final String visible = "http://www.simantics.org/JFreeChart-1.0/visible";\r
+        public static final String visible_Inverse = "http://www.simantics.org/JFreeChart-1.0/visible/Inverse";\r
+    }\r
+    \r
+    public static Resource getResourceOrNull(ReadGraph graph, String uri) {\r
+        try {\r
+            return graph.getResource(uri);\r
+        } catch(DatabaseException e) {\r
+            System.err.println(e.getMessage());\r
+            return null;\r
+        }\r
+    }\r
+    \r
+    public JFreeChartResource(ReadGraph graph) {\r
+        Axis = getResourceOrNull(graph, URIs.Axis);\r
+        Axis_max = getResourceOrNull(graph, URIs.Axis_max);\r
+        Axis_max_Inverse = getResourceOrNull(graph, URIs.Axis_max_Inverse);\r
+        Axis_min = getResourceOrNull(graph, URIs.Axis_min);\r
+        Axis_min_Inverse = getResourceOrNull(graph, URIs.Axis_min_Inverse);\r
+        Axis_rotateLabelDegrees = getResourceOrNull(graph, URIs.Axis_rotateLabelDegrees);\r
+        Axis_rotateLabelDegrees_Inverse = getResourceOrNull(graph, URIs.Axis_rotateLabelDegrees_Inverse);\r
+        Axis_visibleAxisLine = getResourceOrNull(graph, URIs.Axis_visibleAxisLine);\r
+        Axis_visibleAxisLine_Inverse = getResourceOrNull(graph, URIs.Axis_visibleAxisLine_Inverse);\r
+        Axis_visibleLabel = getResourceOrNull(graph, URIs.Axis_visibleLabel);\r
+        Axis_visibleLabel_Inverse = getResourceOrNull(graph, URIs.Axis_visibleLabel_Inverse);\r
+        Axis_visibleTickLabels = getResourceOrNull(graph, URIs.Axis_visibleTickLabels);\r
+        Axis_visibleTickLabels_Inverse = getResourceOrNull(graph, URIs.Axis_visibleTickLabels_Inverse);\r
+        Axis_visibleTickMarks = getResourceOrNull(graph, URIs.Axis_visibleTickMarks);\r
+        Axis_visibleTickMarks_Inverse = getResourceOrNull(graph, URIs.Axis_visibleTickMarks_Inverse);\r
+        BarRenderer = getResourceOrNull(graph, URIs.BarRenderer);\r
+        BarSeriesActionContext = getResourceOrNull(graph, URIs.BarSeriesActionContext);\r
+        BarSeriesActionContext_Actions = getResourceOrNull(graph, URIs.BarSeriesActionContext_Actions);\r
+        BarSeriesActionContext_Actions_SeriesDropAction = getResourceOrNull(graph, URIs.BarSeriesActionContext_Actions_SeriesDropAction);\r
+        BarSeriesBrowseContext = getResourceOrNull(graph, URIs.BarSeriesBrowseContext);\r
+        BarSeriesBrowseContext_SeriesChildRule = getResourceOrNull(graph, URIs.BarSeriesBrowseContext_SeriesChildRule);\r
+        BarSeriesBrowseContext_SeriesLabelDecorationRule = getResourceOrNull(graph, URIs.BarSeriesBrowseContext_SeriesLabelDecorationRule);\r
+        BarSeriesBrowseContext_SeriesLabelRule = getResourceOrNull(graph, URIs.BarSeriesBrowseContext_SeriesLabelRule);\r
+        Bottom = getResourceOrNull(graph, URIs.Bottom);\r
+        CategoryAxis = getResourceOrNull(graph, URIs.CategoryAxis);\r
+        CategoryDataset = getResourceOrNull(graph, URIs.CategoryDataset);\r
+        CategoryPlot = getResourceOrNull(graph, URIs.CategoryPlot);\r
+        Chart = getResourceOrNull(graph, URIs.Chart);\r
+        ChartAxisAndVariablesActionContext = getResourceOrNull(graph, URIs.ChartAxisAndVariablesActionContext);\r
+        ChartAxisAndVariablesActionContext_Actions = getResourceOrNull(graph, URIs.ChartAxisAndVariablesActionContext_Actions);\r
+        ChartAxisAndVariablesActionContext_Actions_AxisDropAction = getResourceOrNull(graph, URIs.ChartAxisAndVariablesActionContext_Actions_AxisDropAction);\r
+        ChartAxisAndVariablesActionContext_Actions_SeriesDropAction = getResourceOrNull(graph, URIs.ChartAxisAndVariablesActionContext_Actions_SeriesDropAction);\r
+        ChartAxisAndVariablesBrowseContext = getResourceOrNull(graph, URIs.ChartAxisAndVariablesBrowseContext);\r
+        ChartAxisAndVariablesBrowseContext_AxisChildRule = getResourceOrNull(graph, URIs.ChartAxisAndVariablesBrowseContext_AxisChildRule);\r
+        ChartAxisAndVariablesBrowseContext_AxisLabelRule = getResourceOrNull(graph, URIs.ChartAxisAndVariablesBrowseContext_AxisLabelRule);\r
+        ChartAxisAndVariablesBrowseContext_SeriesLabelDecorationRule = getResourceOrNull(graph, URIs.ChartAxisAndVariablesBrowseContext_SeriesLabelDecorationRule);\r
+        ChartAxisAndVariablesBrowseContext_SeriesLabelRule = getResourceOrNull(graph, URIs.ChartAxisAndVariablesBrowseContext_SeriesLabelRule);\r
+        ChartAxisAndVariablesBrowseContext_VariableChildRule = getResourceOrNull(graph, URIs.ChartAxisAndVariablesBrowseContext_VariableChildRule);\r
+        ChartElement = getResourceOrNull(graph, URIs.ChartElement);\r
+        ChartElement_component = getResourceOrNull(graph, URIs.ChartElement_component);\r
+        Chart_borderColor = getResourceOrNull(graph, URIs.Chart_borderColor);\r
+        Chart_borderColor_Inverse = getResourceOrNull(graph, URIs.Chart_borderColor_Inverse);\r
+        Chart_borderWidth = getResourceOrNull(graph, URIs.Chart_borderWidth);\r
+        Chart_borderWidth_Inverse = getResourceOrNull(graph, URIs.Chart_borderWidth_Inverse);\r
+        Chart_time = getResourceOrNull(graph, URIs.Chart_time);\r
+        Chart_time_Inverse = getResourceOrNull(graph, URIs.Chart_time_Inverse);\r
+        Chart_visibleBorder = getResourceOrNull(graph, URIs.Chart_visibleBorder);\r
+        Chart_visibleBorder_Inverse = getResourceOrNull(graph, URIs.Chart_visibleBorder_Inverse);\r
+        Chart_visibleLegend = getResourceOrNull(graph, URIs.Chart_visibleLegend);\r
+        Chart_visibleLegend_Inverse = getResourceOrNull(graph, URIs.Chart_visibleLegend_Inverse);\r
+        CompositeTitle = getResourceOrNull(graph, URIs.CompositeTitle);\r
+        Dataset = getResourceOrNull(graph, URIs.Dataset);\r
+        Dataset_mapToDomainAxis = getResourceOrNull(graph, URIs.Dataset_mapToDomainAxis);\r
+        Dataset_mapToDomainAxis_Inverse = getResourceOrNull(graph, URIs.Dataset_mapToDomainAxis_Inverse);\r
+        Dataset_mapToRangeAxis = getResourceOrNull(graph, URIs.Dataset_mapToRangeAxis);\r
+        Dataset_mapToRangeAxis_Inverse = getResourceOrNull(graph, URIs.Dataset_mapToRangeAxis_Inverse);\r
+        Dataset_renderer = getResourceOrNull(graph, URIs.Dataset_renderer);\r
+        Dataset_renderer_Inverse = getResourceOrNull(graph, URIs.Dataset_renderer_Inverse);\r
+        Dataset_seriesList = getResourceOrNull(graph, URIs.Dataset_seriesList);\r
+        Dataset_seriesList_Inverse = getResourceOrNull(graph, URIs.Dataset_seriesList_Inverse);\r
+        DeviationRenderer = getResourceOrNull(graph, URIs.DeviationRenderer);\r
+        Filter = getResourceOrNull(graph, URIs.Filter);\r
+        Filter_fraction = getResourceOrNull(graph, URIs.Filter_fraction);\r
+        Filter_fraction_Inverse = getResourceOrNull(graph, URIs.Filter_fraction_Inverse);\r
+        Filter_used = getResourceOrNull(graph, URIs.Filter_used);\r
+        Filter_used_Inverse = getResourceOrNull(graph, URIs.Filter_used_Inverse);\r
+        ImageTitle = getResourceOrNull(graph, URIs.ImageTitle);\r
+        Left = getResourceOrNull(graph, URIs.Left);\r
+        LegendTitle = getResourceOrNull(graph, URIs.LegendTitle);\r
+        NumberAxis = getResourceOrNull(graph, URIs.NumberAxis);\r
+        PaintScaleLegend = getResourceOrNull(graph, URIs.PaintScaleLegend);\r
+        PieDataset = getResourceOrNull(graph, URIs.PieDataset);\r
+        PiePlot = getResourceOrNull(graph, URIs.PiePlot);\r
+        PieSeriesActionContext = getResourceOrNull(graph, URIs.PieSeriesActionContext);\r
+        PieSeriesActionContext_Actions = getResourceOrNull(graph, URIs.PieSeriesActionContext_Actions);\r
+        PieSeriesActionContext_Actions_SeriesDropAction = getResourceOrNull(graph, URIs.PieSeriesActionContext_Actions_SeriesDropAction);\r
+        PieSeriesBrowseContext = getResourceOrNull(graph, URIs.PieSeriesBrowseContext);\r
+        PieSeriesBrowseContext_SeriesChildRule = getResourceOrNull(graph, URIs.PieSeriesBrowseContext_SeriesChildRule);\r
+        PieSeriesBrowseContext_SeriesLabelDecorationRule = getResourceOrNull(graph, URIs.PieSeriesBrowseContext_SeriesLabelDecorationRule);\r
+        PieSeriesBrowseContext_SeriesLabelRule = getResourceOrNull(graph, URIs.PieSeriesBrowseContext_SeriesLabelRule);\r
+        Plot = getResourceOrNull(graph, URIs.Plot);\r
+        Plot_domainAxis = getResourceOrNull(graph, URIs.Plot_domainAxis);\r
+        Plot_domainAxis_Inverse = getResourceOrNull(graph, URIs.Plot_domainAxis_Inverse);\r
+        Plot_orientation = getResourceOrNull(graph, URIs.Plot_orientation);\r
+        Plot_orientation_Inverse = getResourceOrNull(graph, URIs.Plot_orientation_Inverse);\r
+        Plot_rangeAxis = getResourceOrNull(graph, URIs.Plot_rangeAxis);\r
+        Plot_rangeAxisList = getResourceOrNull(graph, URIs.Plot_rangeAxisList);\r
+        Plot_rangeAxisList_Inverse = getResourceOrNull(graph, URIs.Plot_rangeAxisList_Inverse);\r
+        Plot_rangeAxis_Inverse = getResourceOrNull(graph, URIs.Plot_rangeAxis_Inverse);\r
+        Plot_visibleGrid = getResourceOrNull(graph, URIs.Plot_visibleGrid);\r
+        Plot_visibleGrid_Inverse = getResourceOrNull(graph, URIs.Plot_visibleGrid_Inverse);\r
+        Plot_visibleLabels = getResourceOrNull(graph, URIs.Plot_visibleLabels);\r
+        Plot_visibleLabels_Inverse = getResourceOrNull(graph, URIs.Plot_visibleLabels_Inverse);\r
+        Position = getResourceOrNull(graph, URIs.Position);\r
+        Renderer = getResourceOrNull(graph, URIs.Renderer);\r
+        Right = getResourceOrNull(graph, URIs.Right);\r
+        Series = getResourceOrNull(graph, URIs.Series);\r
+        Series_exploded = getResourceOrNull(graph, URIs.Series_exploded);\r
+        Series_exploded_Inverse = getResourceOrNull(graph, URIs.Series_exploded_Inverse);\r
+        Series_lineWidth = getResourceOrNull(graph, URIs.Series_lineWidth);\r
+        Series_lineWidth_Inverse = getResourceOrNull(graph, URIs.Series_lineWidth_Inverse);\r
+        Series_rangeList = getResourceOrNull(graph, URIs.Series_rangeList);\r
+        Series_rangeList_Inverse = getResourceOrNull(graph, URIs.Series_rangeList_Inverse);\r
+        Series_time = getResourceOrNull(graph, URIs.Series_time);\r
+        Series_time_Inverse = getResourceOrNull(graph, URIs.Series_time_Inverse);\r
+        StackedBarRenderer = getResourceOrNull(graph, URIs.StackedBarRenderer);\r
+        TextTitle = getResourceOrNull(graph, URIs.TextTitle);\r
+        Title = getResourceOrNull(graph, URIs.Title);\r
+        Title_position = getResourceOrNull(graph, URIs.Title_position);\r
+        Top = getResourceOrNull(graph, URIs.Top);\r
+        ValueAxis = getResourceOrNull(graph, URIs.ValueAxis);\r
+        XYAreaRenderer = getResourceOrNull(graph, URIs.XYAreaRenderer);\r
+        XYDataset = getResourceOrNull(graph, URIs.XYDataset);\r
+        XYLineRenderer = getResourceOrNull(graph, URIs.XYLineRenderer);\r
+        XYPlot = getResourceOrNull(graph, URIs.XYPlot);\r
+        backgroundColor = getResourceOrNull(graph, URIs.backgroundColor);\r
+        backgroundColor_Inverse = getResourceOrNull(graph, URIs.backgroundColor_Inverse);\r
+        color = getResourceOrNull(graph, URIs.color);\r
+        color_Inverse = getResourceOrNull(graph, URIs.color_Inverse);\r
+        subtitles = getResourceOrNull(graph, URIs.subtitles);\r
+        subtitles_Inverse = getResourceOrNull(graph, URIs.subtitles_Inverse);\r
+        title = getResourceOrNull(graph, URIs.title);\r
+        title_Inverse = getResourceOrNull(graph, URIs.title_Inverse);\r
+        variableFilter = getResourceOrNull(graph, URIs.variableFilter);\r
+        variableFilter_Inverse = getResourceOrNull(graph, URIs.variableFilter_Inverse);\r
+        variableRVI = getResourceOrNull(graph, URIs.variableRVI);\r
+        variableRVI_Inverse = getResourceOrNull(graph, URIs.variableRVI_Inverse);\r
+        visible = getResourceOrNull(graph, URIs.visible);\r
+        visible_Inverse = getResourceOrNull(graph, URIs.visible_Inverse);\r
+    }\r
+    \r
+    public static JFreeChartResource getInstance(ReadGraph graph) {\r
+        Session session = graph.getSession();\r
+        JFreeChartResource ret = session.peekService(JFreeChartResource.class);\r
+        if(ret == null) {\r
+            QueryControl qc = graph.getService(QueryControl.class);\r
+            ret = new JFreeChartResource(qc.getIndependentGraph(graph));\r
+            session.registerService(JFreeChartResource.class, ret);\r
+        }\r
+        return ret;\r
+    }\r
+    \r
+    public static JFreeChartResource getInstance(RequestProcessor session) throws DatabaseException {\r
+        JFreeChartResource ret = session.peekService(JFreeChartResource.class);\r
+        if(ret == null) {\r
+            ret = session.syncRequest(new Read<JFreeChartResource>() {\r
+                public JFreeChartResource perform(ReadGraph graph) throws DatabaseException {\r
+                    QueryControl qc = graph.getService(QueryControl.class);\r
+                    return new JFreeChartResource(qc.getIndependentGraph(graph));\r
+                }\r
+            });\r
+            session.registerService(JFreeChartResource.class, ret);\r
+        }\r
+        return ret;\r
+    }\r
+    \r
+}\r
+\r