Skip to content

Commit bf1b27a

Browse files
author
David Baum
committed
finalize software mrt
1 parent c227b16 commit bf1b27a

27 files changed

Lines changed: 1138 additions & 175 deletions

File tree

generator/org.svis.generator.run/input/backup/famix/bank.famix renamed to generator/org.svis.generator.run/input/famix/bank.famix

File renamed without changes.
Lines changed: 283 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,286 @@
1-
# Config for generating MRT visualizations for CapGemini
1+
# Possible values are x3d(default), x3dom, x3d_compressed, aframe, simple_glyphs_json
2+
output_format = x3d
3+
database_name = ../databases/graph.db
24

3-
structure.show_class_members = false
5+
#
6+
## History
7+
history.repository_nameReekX3DHeightTest.properties
8+
history.repository_owner
49

5-
history.show_versions = latest
6-
history.time_format = yyyy-MM-dd
10+
#
11+
## FAMIX CONFIGS
712

8-
rd.class_size = number_of_statements
9-
rd.class_color_metric = change_frequency
10-
rd.class_height = number_of_incidents
13+
structure.merge_packages = false
14+
15+
# If set true there will be one root package which contains all the other root packages
16+
structure.master_root = false
17+
18+
# If set true all private Elements will not be shown in visualization
19+
# This includes methods, attributes and structures
20+
# This boolean also affects the METHOD_TYPE_MODE in RDSettings.java
21+
# If both is set true private attributes without getters or setters will
22+
# be hidden as well as inner classes and methods
23+
structure.hide_private_elements = false
24+
25+
# If set true attributes will be sorted lengthwise, longest value first in descending order
26+
structure.attribute_sort_size = false
27+
28+
# The type of parser that reads artifacts and parse to famix model
29+
# Possible values are verveinej (default) and jdt2famix
30+
structure.parser = verveinej
31+
32+
33+
#
34+
## CITY CONFIGS
35+
36+
# Possible values are original (default), panels, bricks, floor, dynamic
37+
city.building_type = original
38+
# The active mode to structure
39+
# The active mode to structure and color the methods and attributes.
40+
# Possible values are
41+
# types (default): The class elements are sorted and colored associated to type/functionality of the method.
42+
# visibility: The class elements are sorted and colored corresponding to there visibility modifiers.
43+
city.scheme = types
44+
45+
# Switch to control the elements of the classes to show.
46+
# Possible values are methods_and_attributes (default), methods_only, attributes_only
47+
city.class_elements_mode = methods_and_attributes
48+
49+
# Possible values are methods_first (default), unsorted, attributes_first
50+
city.class_elements_sort_mode_coarse = methods_first
51+
52+
# The active mode, how to sort the methods or attributes separately among each other
53+
# This means a method is only compared to another method and an attribute is only
54+
# compared to another attribute in this comparison, according their values.
55+
# If it is set to scheme, a secondary sorting is performed to place methods
56+
# with high numbers of statements to the bottom.
57+
# Possible values are scheme (default), unsorted, alphabetically, nos
58+
city.class_elements_sort_mode_fine = scheme
59+
60+
# If set true, the order of the sorting, defined in class_elements_sort_mode_fide is reversed.
61+
# If class_elements_sort_mode_fide is set to scheme, a secondary sorting is performed to place
62+
#methods with high numbers of statements to the bottom. This behavior isn't influenced by this switch.
63+
city.class_elements_sort_mode_fine_direction_reversed = false
64+
65+
# Switch to show or hide building base in panels or bricks mode.
66+
# If set to false, only districts and buildingSegments are visible.
67+
city.show_building_base = true
68+
69+
# Switch for showing attributes as cylinders instead of boxes.
70+
# This setting has only an affect in panels-mode.
71+
city.show_attributes_as_cylinders = true
72+
73+
# The active mode for the layout of the bricks/methods.
74+
# This setting has only an affect in brick-mode.
75+
# Possible values are progressive (default), straight, balanced
76+
city.brick.layout = progressive
77+
78+
city.brick.size = 1.0
79+
city.brick.horizontal_margin = 0.5
80+
city.brick.horizontal_gap = 0.2
81+
city.brick.vertical_margin = 0.2
82+
city.brick.vertical_gap = 0.2
83+
84+
# The active mode for the area between panels/methods.
85+
# Possible values are
86+
# separator (default): Between the panels separators are placed with a fix height and color.
87+
# none: No space between the panels and they are placed on top of each other.
88+
# gap: The panels have a free space between them and don't touch each other.
89+
city.panel.separator_mode = separator
90+
91+
# Multiplier for height of a panel, declared in panel.height_unit. The elements of this array
92+
# are threshold values for the number of statements inside the method and are multiplied with the
93+
# index+1, so the product will be the actual height of the panel.
94+
# The values are inclusive.
95+
# Comment property out to use default value (is 3, 6, 12, 24, 48, 96, 144, 192, 240)
96+
city.panel.height_treshold_nos = 3, 6, 12, 24, 48, 96, 144, 192, 240
97+
98+
## Measurements Panels
99+
100+
# Height is multiplied by panel.height_treshold_nos
101+
city.panel.height_unit = 0.5
102+
103+
city.panel.horizontal_margin = 0.5
104+
city.panel.vertical_margin = 0.25
105+
city.panel.vertical_gap = 0.125
106+
city.panel.separator_height = 0.125
107+
108+
# Possible values are none (default) and nos
109+
city.original_building_metric = none
110+
111+
city.width_min = 1
112+
city.height_min = 1
113+
city.building.horizontal_margin = 3.0
114+
city.building.horizontal_gap = 3.0
115+
city.building.vertical_margin = 1.0
116+
117+
city.package.color_start = #969696
118+
city.package.color_end = #f0f0f0
119+
city.class.color_start = #131615
120+
city.class.color_end = #00ff00
121+
city.class.color = #353559
122+
123+
# Dynamic City colors
124+
city.dynamic.class.color_start = #fa965c
125+
city.dynamic.class.color_end = #feb280
126+
city.dynamic.method.color = #735eb9
127+
city.dynamic.package.color_start = #23862c
128+
city.dynamic.package.color_end = #7bcd8d
129+
130+
city.color.blue = #99FFCC
131+
city.color.aqua = #99CCFF
132+
city.color.light_green = #CCFF99
133+
city.color.dark_green = #99FF99
134+
city.color.yellow = #ffff99
135+
city.color.orange = #FFCC99
136+
city.color.red = #FF9999
137+
city.color.pink = #FF99FF
138+
city.color.violet = #9999FF
139+
city.color.light_grey = #CCCCCC
140+
city.color.dark_grey = #999999
141+
city.color.white = #FFFFFF
142+
city.color.black = #000000
143+
144+
145+
#
146+
## RD CONFIGS
147+
148+
rd.data_factor = 4.0
149+
rd.method_factor = 1.0
150+
rd.height = 1.0
151+
rd.height_boost = 8
152+
rd.height_multiplicator = 50.0
153+
rd.ring_width = 2.0
154+
155+
# Sets the ring width of the method disks
156+
# Only relevant if disk of type FAMIX.Method exist
157+
rd.ring_width_md = 0
158+
159+
# Equal to ring_width_md but for attribute disks
160+
rd.ring_with_ad = 0
161+
rd.min_area = 10.0
162+
rd.namespace_transparency = 0
163+
rd.class_transparency = 0
164+
rd.method_transparency = 0
165+
rd.data_transparency = 0
166+
# 53/255.0 + " " + 53/255.0 + " " + 89/255.0
167+
rd.color.class = #353559
168+
# 255/255.0 + " " + 252/255.0 + " " + 25/255.0
169+
rd.color.data = #fffc19
170+
# 20/255.0 + " " + 133/255.0 + " " + 204/255.0
171+
rd.color.method = #1485cc
172+
# 150/255.0 + " " + 150/255.0 + " " + 150/255.0
173+
rd.color.namespace = #969696
174+
# 120/255.0 + " " + 10/255.0 + " " + 50/255.0
175+
rd.color.method_invocation = #780a32
176+
177+
# If true the Methods will be visualized as Disks instead of DiskSegments.
178+
rd.method_disks = false
179+
180+
# If true Attributes will be visualized as disks.
181+
rd.data_disks = false
182+
183+
# If set true visualization will be based on the method type
184+
# Check HIDE_PRIVATE_ELEMENTS in FAMIXSettings for visualization of Privates
185+
rd.method_type_mode = false
186+
187+
# Depending on the value set metrics will not represented, by height or in a dynamic way
188+
# which can either be Luminance or Frequency.
189+
# Output Files differ depending on the value chosen.
190+
# Possible values are none (default), height, luminance, frequency
191+
rd.metric_representation = none
192+
193+
# Depending on this Variable the Dynamix Visualization will be created,
194+
# it can either be in a static or dynamic way.
195+
# Possible values are none (default), moving_spheres, flashing_methods, moving_flashing
196+
rd.invocation_representation = none
197+
198+
# Sets in which way the Historic Evolution of the analyzed Software should be represented,
199+
# it can either be in a static or dynamic way.
200+
# Possible values are time_line (default), dynamic_evolution, multiple_time_line, multiple_dynamic_evolution
201+
rd.evolution_representation = time_line
202+
203+
# Possible values are static (default) and dynamic
204+
rd.variant = static
205+
206+
207+
#
208+
## PLANT CONFIGS
209+
210+
# Possible value are petal_pollstem (default) and pollstem_petal
211+
plant.switch_attribute_method_mapping = petal_pollstem
212+
plant.area_height = 3.5
213+
plant.stem.thickness = 3.0
214+
plant.stem.height = 6.0
215+
plant.cron.height = 2.0
216+
plant.cron.head_height = 0.5
217+
plant.petal.angle = 0.5236
218+
plant.petal.distance_multiplier = 3.0
219+
plant.pollstem.angle = 0.05
220+
plant.pollstem.angle_distance_multiplier = 0.3
221+
plant.pollstem.ball_multiplier = 1.57
222+
plant.junction.angle = 1.3
223+
plant.junction.distance_multiplier = 8.0
224+
plant.junction.pollstem.ball_multiplier = 0.10
225+
226+
# Stuff from city for the layout algorithm
227+
plant.width_min = 1.0
228+
plant.height_min = 1.0
229+
plant.building.horizontal_margin = 3.0
230+
plant.building.horizontal_gap = 7.0
231+
plant.building.vertical_margin = 1.0
232+
233+
# Possible values are default (default) and cylinder
234+
plant.package.shape = default
235+
plant.package.use_textures = true
236+
plant.package.odd_texture = <ImageTexture url='pics/ground.png' scale='false' />
237+
plant.package.even_texture = <ImageTexture url='pics/freeGrass.png' scale='false' />
238+
plant.package.odd_color = #964327
239+
plant.package.even_color = #30ba43
240+
241+
# Possbile values are default (default), realistic, without_head
242+
plant.class.shape = default
243+
plant.class.size = count_attributes_and_methods
244+
plant.class.use_textures = false
245+
plant.class.texture = <ImageTexture url='pics/plant.png' scale='true' />
246+
plant.class.texture_head_brown = <ImageTexture url='pics/plantHeadBrown.png' scale='false' />
247+
plant.class.texture_bloom = <ImageTexture url='pics/bloom.png' scale='false' />
248+
plant.class.color = #34663b
249+
plant.class.color02 = #8b4413
250+
plant.class.color03 = #ffff00
251+
252+
# Possible values are default (default) and realistic
253+
plant.inner_class.shape = default
254+
plant.inner_class.use_textures = false
255+
plant.inner_class.texture = <ImageTexture url='pics/plant.png' scale='true' />
256+
plant.inner_class.texture_junction_head_top_part = <ImageTexture url='pics/junctionHeadTopPart.png' scale='false' />
257+
plant.inner_class.texture_bloom = <ImageTexture url='pics/bloom.png' scale='false' />
258+
plant.inner_class.color = #329c3c
259+
plant.inner_class.color02 = #8b4413
260+
plant.inner_class.color03 = #ffff00
261+
262+
# Possible values are realistic_petal (default), default, default_with_cylinder
263+
plant.attribute.shape = realistic_petal
264+
plant.attribute.show = true
265+
plant.attribute.use_textures = true
266+
plant.attribute.texture = <ImageTexture url='pics/lilacPetal.png' scale='false' />
267+
plant.attribute.color = #8a3398
268+
269+
# Possible values are default (default), realistic_petal, default_with_cylinder
270+
plant.inner_class_attribute.shape = default
271+
plant.inner_class_attribute.texture = <ImageTexture url='pics/lilacPetal.png' scale='false' />
272+
plant.inner_class_attribute.color = #ab2626
273+
274+
# Possible values are default (default), stick, sphere, pollpetal
275+
plant.method.shape = default
276+
plant.method.show = true
277+
plant.method.use_textures = true
278+
plant.method.texture = <ImageTexture url='pics/junctionGreen.png' scale='false' />
279+
plant.method.texture_pollball = <ImageTexture url='pics/pollball.png' scale='false' />
280+
plant.method.color = #00FF00
281+
plant.method.color02 = #FFFF00
282+
283+
# Possible values are default (default), stick, sphere, pollpetal
284+
plant.inner_class_method.shape = default
285+
plant.inner_class_method.texture = <ImageTexture url='pics/bloom.png' scale='false' />
286+
plant.inner_class_method.color = #8b4413

generator/org.svis.generator.run/input/settings.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ database_name = ../databases/graph.db
44

55
#
66
## History
7-
history.repository_nameReekX3DHeightTest.properties
7+
history.repository_name
88
history.repository_owner
99

1010
#

generator/org.svis.generator.tests/pom.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,18 @@
1919
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
2020
</properties>
2121
<dependencies>
22+
<dependency>
23+
<groupId>org.svis.generator</groupId>
24+
<artifactId>org.svis.xtext.famix</artifactId>
25+
<version>1.0.0-SNAPSHOT</version>
26+
</dependency>
27+
<!-- https://mvnrepository.com/artifact/org.eclipse.xtext/org.eclipse.xtext.testing -->
28+
<dependency>
29+
<groupId>org.eclipse.xtext</groupId>
30+
<artifactId>org.eclipse.xtext.testing</artifactId>
31+
<version>2.14.0</version>
32+
<scope>test</scope>
33+
</dependency>
2234
<dependency>
2335
<groupId>xml-apis</groupId>
2436
<artifactId>xml-apis</artifactId>

generator/org.svis.generator/src/org/svis/generator/SettingsConfiguration.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
public class SettingsConfiguration {
1414
private static PropertiesConfiguration config;
1515
private static SettingsConfiguration instance = null;
16+
private String classColor = "";
1617

1718
private SettingsConfiguration() {
1819
}

generator/org.svis.generator/src/org/svis/generator/X3DUtils.xtend

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,13 @@ class X3DUtils {
2121
</head>
2222
<ContextSetup zWriteTrans='false'/>
2323
<Scene>
24+
<Transform rotation='0 0 1 -1.57'>
25+
<Transform rotation='0 1 0 -1.57'>
2426
'''
2527

2628
def String toX3DTail() '''
29+
</Transform>
30+
</Transform>
2731
<Background DEF="_Background" groundColor='1.0000000 1.0000000 1.0000000' skyColor='1.0000000 1.0000000 1.0000000'/>
2832
</Scene>
2933
</X3D>

generator/org.svis.generator/src/org/svis/generator/city/m2m/BrickLayout.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import org.eclipse.emf.common.util.BasicEList;
44
import org.eclipse.emf.common.util.EList;
55
import org.svis.generator.SettingsConfiguration;
6+
import org.svis.generator.SettingsConfiguration.ClassElementsModes;
67
import org.svis.generator.city.CityDebugUtils;
78
import org.svis.generator.city.CityUtils;
89
import org.svis.xtext.city.Building;
@@ -59,14 +60,14 @@ private static void seperateBuilding(final Building b) {
5960

6061
// Get elements for modeling
6162
EList<BuildingSegment> classElements = new BasicEList<BuildingSegment>();
62-
switch (config.getClassElementsModeAsString()) {
63-
case "attributes_only":
63+
switch (config.getClassElementsMode()) {
64+
case ATTRIBUTES_ONLY:
6465
classElements.addAll(b.getData());
6566
break;
66-
case "methods_only":
67+
case METHODS_ONLY:
6768
classElements.addAll(b.getMethods());
6869
break;
69-
case "methods_and_attributes":
70+
case METHODS_AND_ATTRIBUTES:
7071
classElements.addAll(b.getData());
7172
classElements.addAll(b.getMethods());
7273
break;

generator/org.svis.generator/src/org/svis/generator/hismo/m2t/Hismo2JSON.xtend

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ class Hismo2JSON implements IGenerator2 {
258258
"id": "«nv.id»",
259259
"qualifiedName": "«nv.value»",
260260
"name": "«nv.value»",
261-
«IF (config.containsProjects)»
261+
«IF (config.containsProjects && nv.container === null
262262
"type": "FAMIX.Project",
263263
«ELSE»
264264
"type": "FAMIX.Namespace",
@@ -312,6 +312,7 @@ class Hismo2JSON implements IGenerator2 {
312312
"changeFrequency": "«cv.changeFrequency»"
313313
«ELSE»
314314
"changeFrequency": ""
315+
«log.info(cv.id + "XXX" + cv.changeFrequency)»
315316
«ENDIF»
316317
'''
317318
def private toMetaData2(HISMOClassVersion cv) '''

0 commit comments

Comments
 (0)