Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
lib
Moduli
Commits
5dfa0449
Commit
5dfa0449
authored
Sep 02, 2017
by
DominikE
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make implementation property optional
parent
9b13ca7c
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
112 additions
and
76 deletions
+112
-76
src/main/java/edu/tigers/moduli/Moduli.java
src/main/java/edu/tigers/moduli/Moduli.java
+16
-8
src/test/java/edu/tigers/moduli/modules/ConcreteTestModule.java
...st/java/edu/tigers/moduli/modules/ConcreteTestModule.java
+87
-0
src/test/java/edu/tigers/moduli/modules/TestModule.java
src/test/java/edu/tigers/moduli/modules/TestModule.java
+6
-64
src/test/resources/test_config.xml
src/test/resources/test_config.xml
+3
-4
No files found.
src/main/java/edu/tigers/moduli/Moduli.java
View file @
5dfa0449
...
...
@@ -124,13 +124,21 @@ public class Moduli
// --- load modules into modulesList ---
for
(
int
i
=
0
;
i
<=
config
.
getMaxIndex
(
"module"
);
i
++)
{
Class
<?
extends
AModule
>
id
=
(
Class
<?
extends
AModule
>)
Class
.
forName
(
implsPath
+
config
.
getString
(
moduleMessage
(
i
,
"[@id]"
)));
// --- create implementation- and properties-class ---
Class
<?
extends
AModule
>
clazz
=
(
Class
<?
extends
AModule
>)
Class
.
forName
(
implsPath
+
config
.
getString
(
moduleMessage
(
i
,
"implementation"
)));
Class
<?
extends
AModule
>
clazz
;
final
String
implementationKey
=
moduleMessage
(
i
,
".implementation"
);
if
(
config
.
containsKey
(
implementationKey
))
{
clazz
=
(
Class
<?
extends
AModule
>)
Class
.
forName
(
implsPath
+
config
.
getString
(
implementationKey
));
}
else
{
clazz
=
id
;
}
// --- get properties from configuration and put it into a object[] ---
SubnodeConfiguration
moduleConfig
=
config
.
configurationAt
(
moduleMessage
(
i
,
"properties"
));
SubnodeConfiguration
moduleConfig
=
config
.
configurationAt
(
moduleMessage
(
i
,
"
.
properties"
));
Constructor
<?>
clazzConstructor
=
clazz
.
getConstructor
();
...
...
@@ -141,7 +149,7 @@ public class Moduli
module
.
setSubnodeConfiguration
(
moduleConfig
);
// --- set id ---
module
.
setId
(
clazz
);
module
.
setId
(
id
);
// --- check if module is unique ---
if
(
modules
.
containsKey
(
module
.
getId
()))
...
...
@@ -150,7 +158,7 @@ public class Moduli
}
// --- set dependency-list ---
List
<
String
>
rawDependencyList
=
Arrays
.
asList
(
config
.
getStringArray
(
moduleMessage
(
i
,
"dependency"
)));
List
<
String
>
rawDependencyList
=
Arrays
.
asList
(
config
.
getStringArray
(
moduleMessage
(
i
,
"
.
dependency"
)));
List
<
Class
<?
extends
AModule
>>
dependencyList
=
new
ArrayList
<>();
for
(
String
dependency
:
rawDependencyList
)
{
...
...
@@ -159,7 +167,7 @@ public class Moduli
module
.
setDependencies
(
dependencyList
);
modules
.
put
(
clazz
,
module
);
modules
.
put
(
id
,
module
);
log
.
trace
(
"Module created: "
+
module
);
}
...
...
@@ -395,6 +403,6 @@ public class Moduli
private
String
moduleMessage
(
int
moduleNumber
,
String
property
)
{
return
"module("
+
moduleNumber
+
")
.
"
+
property
;
return
"module("
+
moduleNumber
+
")"
+
property
;
}
}
src/test/java/edu/tigers/moduli/modules/ConcreteTestModule.java
0 → 100644
View file @
5dfa0449
/*
* Copyright (c) 2009 - 2017, DHBW Mannheim - TIGERs Mannheim
*/
package
edu.tigers.moduli.modules
;
import
edu.tigers.moduli.exceptions.InitModuleException
;
import
edu.tigers.moduli.exceptions.StartModuleException
;
public
class
ConcreteTestModule
extends
TestModule
{
private
boolean
isConstructed
=
false
;
private
boolean
isInitialized
=
false
;
private
boolean
isStarted
=
false
;
private
boolean
isStopped
=
false
;
private
boolean
isDeinitialized
=
false
;
public
ConcreteTestModule
()
{
this
.
isConstructed
=
true
;
}
@Override
public
void
initModule
()
throws
InitModuleException
{
isInitialized
=
true
;
}
@Override
public
void
startModule
()
throws
StartModuleException
{
isStarted
=
true
;
}
@Override
public
void
stopModule
()
{
isStopped
=
true
;
}
@Override
public
void
deinitModule
()
{
isDeinitialized
=
true
;
}
@Override
public
boolean
isConstructed
()
{
return
isConstructed
;
}
@Override
public
boolean
isInitialized
()
{
return
isInitialized
;
}
@Override
public
boolean
isStarted
()
{
return
isStarted
;
}
@Override
public
boolean
isStopped
()
{
return
isStopped
;
}
@Override
public
boolean
isDeinitialized
()
{
return
isDeinitialized
;
}
}
src/test/java/edu/tigers/moduli/modules/TestModule.java
View file @
5dfa0449
...
...
@@ -5,79 +5,21 @@
package
edu.tigers.moduli.modules
;
import
edu.tigers.moduli.AModule
;
import
edu.tigers.moduli.exceptions.InitModuleException
;
import
edu.tigers.moduli.exceptions.StartModuleException
;
public
class
TestModule
extends
AModule
public
abstract
class
TestModule
extends
AModule
{
private
boolean
isConstructed
=
false
;
private
boolean
isInitialized
=
false
;
private
boolean
isStarted
=
false
;
private
boolean
isStopped
=
false
;
private
boolean
isDeinitialized
=
false
;
public
abstract
boolean
isConstructed
();
public
TestModule
()
{
this
.
isConstructed
=
true
;
}
public
abstract
boolean
isInitialized
();
@Override
public
void
initModule
()
throws
InitModuleException
{
isInitialized
=
true
;
}
public
abstract
boolean
isStarted
();
@Override
public
void
startModule
()
throws
StartModuleException
{
isStarted
=
true
;
}
public
abstract
boolean
isStopped
();
@Override
public
void
stopModule
()
{
isStopped
=
true
;
}
@Override
public
void
deinitModule
()
{
isDeinitialized
=
true
;
}
public
boolean
isConstructed
()
{
return
isConstructed
;
}
public
boolean
isInitialized
()
{
return
isInitialized
;
}
public
boolean
isStarted
()
{
return
isStarted
;
}
public
boolean
isStopped
()
{
return
isStopped
;
}
public
boolean
isDeinitialized
()
{
return
isDeinitialized
;
}
public
abstract
boolean
isDeinitialized
();
}
src/test/resources/test_config.xml
View file @
5dfa0449
...
...
@@ -7,14 +7,13 @@
<environment>
MODULI
</environment>
</globalConfiguration>
<module
id=
"
t
estModule"
>
<implementation>
edu.tigers.moduli.modules.TestModule
</implementation>
<module
id=
"
edu.tigers.moduli.modules.T
estModule"
>
<implementation>
edu.tigers.moduli.modules.
Concrete
TestModule
</implementation>
<properties></properties>
</module>
<module
id=
"configuredModule"
>
<implementation>
edu.tigers.moduli.modules.ConfiguredTestModule
</implementation>
<module
id=
"edu.tigers.moduli.modules.ConfiguredTestModule"
>
<properties>
<testProperty>
exists
</testProperty>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment