Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Genesys Backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
17
Issues
17
List
Boards
Labels
Service Desk
Milestones
Operations
Operations
Incidents
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Genesys PGR
Genesys Backend
Commits
bba5dc48
Commit
bba5dc48
authored
Jul 25, 2014
by
Matija Obreza
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
KPI repositories and tests
parent
127228ae
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
788 additions
and
67 deletions
+788
-67
src/main/java/org/genesys2/server/model/kpi/BooleanDimension.java
.../java/org/genesys2/server/model/kpi/BooleanDimension.java
+57
-0
src/main/java/org/genesys2/server/model/kpi/BooleanListDimension.java
...a/org/genesys2/server/model/kpi/BooleanListDimension.java
+0
-28
src/main/java/org/genesys2/server/model/kpi/Dimension.java
src/main/java/org/genesys2/server/model/kpi/Dimension.java
+7
-2
src/main/java/org/genesys2/server/model/kpi/DimensionKey.java
...main/java/org/genesys2/server/model/kpi/DimensionKey.java
+4
-4
src/main/java/org/genesys2/server/model/kpi/Execution.java
src/main/java/org/genesys2/server/model/kpi/Execution.java
+6
-2
src/main/java/org/genesys2/server/model/kpi/ExecutionDimension.java
...ava/org/genesys2/server/model/kpi/ExecutionDimension.java
+7
-3
src/main/java/org/genesys2/server/model/kpi/KPIParameter.java
...main/java/org/genesys2/server/model/kpi/KPIParameter.java
+12
-0
src/main/java/org/genesys2/server/model/kpi/NumericListDimension.java
...a/org/genesys2/server/model/kpi/NumericListDimension.java
+54
-6
src/main/java/org/genesys2/server/model/kpi/Observation.java
src/main/java/org/genesys2/server/model/kpi/Observation.java
+3
-3
src/main/java/org/genesys2/server/model/kpi/StringListDimension.java
...va/org/genesys2/server/model/kpi/StringListDimension.java
+1
-1
src/main/java/org/genesys2/server/persistence/domain/kpi/DimensionKeyRepository.java
...server/persistence/domain/kpi/DimensionKeyRepository.java
+26
-0
src/main/java/org/genesys2/server/persistence/domain/kpi/DimensionRepository.java
...s2/server/persistence/domain/kpi/DimensionRepository.java
+24
-0
src/main/java/org/genesys2/server/persistence/domain/kpi/ExecutionRepository.java
...s2/server/persistence/domain/kpi/ExecutionRepository.java
+24
-0
src/main/java/org/genesys2/server/persistence/domain/kpi/KPIParameterRepository.java
...server/persistence/domain/kpi/KPIParameterRepository.java
+26
-0
src/main/java/org/genesys2/server/persistence/domain/kpi/ObservationRepository.java
.../server/persistence/domain/kpi/ObservationRepository.java
+24
-0
src/main/java/org/genesys2/server/service/KPIService.java
src/main/java/org/genesys2/server/service/KPIService.java
+33
-2
src/main/java/org/genesys2/server/service/impl/KPIServiceImpl.java
...java/org/genesys2/server/service/impl/KPIServiceImpl.java
+181
-8
src/test/java/org/genesys2/server/service/impl/KPIEntitiesTest.java
...ava/org/genesys2/server/service/impl/KPIEntitiesTest.java
+295
-0
src/test/java/org/genesys2/server/service/impl/KPIServiceTest.java
...java/org/genesys2/server/service/impl/KPIServiceTest.java
+4
-8
No files found.
src/main/java/org/genesys2/server/model/kpi/BooleanDimension.java
0 → 100644
View file @
bba5dc48
package
org.genesys2.server.model.kpi
;
import
java.util.HashSet
;
import
java.util.Set
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
@Entity
public
class
BooleanDimension
extends
Dimension
<
Boolean
>
{
@Column
private
int
mode
=
3
;
@Override
public
Set
<
Boolean
>
getValues
()
{
Set
<
Boolean
>
b
=
new
HashSet
<
Boolean
>();
if
(
hasTrue
())
{
b
.
add
(
Boolean
.
TRUE
);
}
if
((
mode
^
2
)
>
0
)
{
b
.
add
(
Boolean
.
FALSE
);
}
return
b
;
}
public
int
getMode
()
{
return
mode
;
}
public
void
setMode
(
int
mode
)
{
this
.
mode
=
mode
;
}
public
boolean
hasTrue
()
{
return
(
mode
&
1
)
>
0
;
}
public
void
useTrue
(
boolean
use
)
{
if
(
use
)
mode
|=
1
;
else
mode
&=
~
1
;
}
public
boolean
hasFalse
()
{
return
(
mode
&
2
)
>
0
;
}
public
void
useFalse
(
boolean
use
)
{
if
(
use
)
mode
|=
2
;
else
mode
&=
~
2
;
}
}
src/main/java/org/genesys2/server/model/kpi/BooleanListDimension.java
deleted
100644 → 0
View file @
127228ae
package
org.genesys2.server.model.kpi
;
import
java.util.Set
;
import
javax.persistence.CollectionTable
;
import
javax.persistence.Column
;
import
javax.persistence.ElementCollection
;
import
javax.persistence.Entity
;
import
javax.persistence.JoinColumn
;
@Entity
public
class
BooleanListDimension
extends
FixedListDimension
<
Boolean
>
{
@Column
(
name
=
"listvalue"
,
nullable
=
false
)
@ElementCollection
@CollectionTable
(
name
=
"kpidimensionbool"
,
joinColumns
=
@JoinColumn
(
name
=
"dimensionId"
))
private
Set
<
Boolean
>
values
;
public
void
setValues
(
Set
<
Boolean
>
values
)
{
this
.
values
=
values
;
}
@Override
public
Set
<
Boolean
>
getValues
()
{
return
this
.
values
;
}
}
src/main/java/org/genesys2/server/model/kpi/Dimension.java
View file @
bba5dc48
...
...
@@ -24,11 +24,11 @@ public abstract class Dimension<T> extends VersionedAuditedModel {
private
String
title
;
final
public
String
getName
()
{
return
titl
e
;
return
nam
e
;
}
final
public
void
setName
(
String
name
)
{
this
.
titl
e
=
name
;
this
.
nam
e
=
name
;
}
public
void
setTitle
(
String
title
)
{
...
...
@@ -40,4 +40,9 @@ public abstract class Dimension<T> extends VersionedAuditedModel {
}
abstract
public
Set
<
T
>
getValues
();
@Override
public
String
toString
()
{
return
"id="
+
id
+
" name="
+
name
+
" title="
+
title
;
}
}
src/main/java/org/genesys2/server/model/kpi/DimensionKey.java
View file @
bba5dc48
...
...
@@ -8,12 +8,12 @@ import javax.persistence.UniqueConstraint;
import
org.genesys2.server.model.BusinessModel
;
@Entity
@Table
(
name
=
"kpidimensionkey"
,
uniqueConstraints
=
{
@UniqueConstraint
(
name
=
"UQ_dimensionkey"
,
columnNames
=
{
"name"
,
"val"
})
})
@Table
(
name
=
"kpidimensionkey"
,
uniqueConstraints
=
{
@UniqueConstraint
(
name
=
"UQ_dimensionkey"
,
columnNames
=
{
"name"
,
"val"
})
})
public
class
DimensionKey
extends
BusinessModel
{
@Column
(
length
=
100
,
nullable
=
false
)
@Column
(
length
=
100
,
nullable
=
false
,
updatable
=
false
)
private
String
name
;
@Column
(
name
=
"val"
,
length
=
100
,
nullabl
e
=
false
)
@Column
(
name
=
"val"
,
length
=
100
,
nullable
=
false
,
uniqu
e
=
false
)
private
String
value
;
public
String
getName
()
{
...
...
@@ -34,6 +34,6 @@ public class DimensionKey extends BusinessModel {
@Override
public
String
toString
()
{
return
"{key="
+
name
+
", value="
+
value
+
"}"
;
return
"{
id="
+
id
+
",
key="
+
name
+
", value="
+
value
+
"}"
;
}
}
src/main/java/org/genesys2/server/model/kpi/Execution.java
View file @
bba5dc48
...
...
@@ -20,7 +20,7 @@ public class Execution extends VersionedAuditedModel {
@JoinColumn
(
name
=
"parameterId"
)
private
KPIParameter
parameter
;
@OneToMany
(
fetch
=
FetchType
.
EAGER
,
cascade
=
{
CascadeType
.
ALL
})
@OneToMany
(
orphanRemoval
=
true
,
fetch
=
FetchType
.
EAGER
,
cascade
=
{
CascadeType
.
ALL
})
@JoinColumn
(
name
=
"executionId"
)
private
List
<
ExecutionDimension
>
dimensions
=
new
ArrayList
<
ExecutionDimension
>();
...
...
@@ -44,7 +44,7 @@ public class Execution extends VersionedAuditedModel {
public
String
query
()
{
StringBuffer
sb
=
new
StringBuffer
(),
where
=
new
StringBuffer
();
String
alias
=
"
a
"
;
String
alias
=
"
_base
"
;
sb
.
append
(
"select count(distinct "
);
sb
.
append
(
alias
);
sb
.
append
(
") from "
);
...
...
@@ -82,6 +82,10 @@ public class Execution extends VersionedAuditedModel {
return
sb
.
toString
();
}
public
List
<
ExecutionDimension
>
getExecutionDimensions
()
{
return
dimensions
;
}
public
Dimension
<?>
getDimension
(
int
depth
)
{
if
(
depth
>=
dimensions
.
size
())
...
...
src/main/java/org/genesys2/server/model/kpi/ExecutionDimension.java
View file @
bba5dc48
...
...
@@ -2,7 +2,6 @@ package org.genesys2.server.model.kpi;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.FetchType
;
import
javax.persistence.JoinColumn
;
import
javax.persistence.ManyToOne
;
import
javax.persistence.Table
;
...
...
@@ -11,9 +10,9 @@ import org.genesys2.server.model.BusinessModel;
@Entity
@Table
(
name
=
"kpiexecutiondimension"
)
class
ExecutionDimension
extends
BusinessModel
{
public
class
ExecutionDimension
extends
BusinessModel
{
@ManyToOne
(
cascade
=
{},
fetch
=
FetchType
.
EAGER
,
optional
=
false
)
@ManyToOne
(
cascade
=
{},
optional
=
false
)
@JoinColumn
(
name
=
"dimensionId"
)
private
Dimension
<?>
dimension
;
...
...
@@ -46,4 +45,9 @@ class ExecutionDimension extends BusinessModel {
this
.
link
=
link
;
}
@Override
public
String
toString
()
{
return
"id="
+
id
+
" link="
+
link
+
" field="
+
field
+
" dim="
+
dimension
.
getName
();
}
}
\ No newline at end of file
src/main/java/org/genesys2/server/model/kpi/KPIParameter.java
View file @
bba5dc48
...
...
@@ -2,6 +2,7 @@ package org.genesys2.server.model.kpi;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.Lob
;
import
javax.persistence.Table
;
import
javax.persistence.UniqueConstraint
;
...
...
@@ -23,6 +24,9 @@ public class KPIParameter extends VersionedAuditedModel {
@Column
(
name
=
"`condition`"
,
length
=
100
)
private
String
condition
;
@Lob
private
String
description
;
public
String
getName
()
{
return
name
;
}
...
...
@@ -55,4 +59,12 @@ public class KPIParameter extends VersionedAuditedModel {
this
.
condition
=
condition
;
}
public
void
setDescription
(
String
description
)
{
this
.
description
=
description
;
}
public
String
getDescription
()
{
return
description
;
}
}
src/main/java/org/genesys2/server/model/kpi/NumericListDimension.java
View file @
bba5dc48
package
org.genesys2.server.model.kpi
;
import
java.util.HashSet
;
import
java.util.Set
;
import
javax.persistence.CollectionTable
;
...
...
@@ -7,22 +8,69 @@ import javax.persistence.Column;
import
javax.persistence.ElementCollection
;
import
javax.persistence.Entity
;
import
javax.persistence.JoinColumn
;
import
javax.persistence.Transient
;
@Entity
public
class
NumericListDimension
extends
FixedListDimension
<
Number
>
{
@Column
(
name
=
"listvalue"
,
nullable
=
false
,
columnDefinition
=
"double"
)
@ElementCollection
@Column
(
length
=
100
)
private
String
javaType
=
"java.lang.Integer"
;
@Transient
private
Class
<?>
clazz
;
@Column
(
name
=
"listvalue"
,
nullable
=
false
)
@ElementCollection
()
@CollectionTable
(
name
=
"kpidimensionnumeric"
,
joinColumns
=
@JoinColumn
(
name
=
"dimensionId"
))
private
Set
<
Number
>
values
;
private
Set
<
Double
>
values
;
public
void
setValues
(
Set
<
Number
>
values
)
{
this
.
values
=
values
;
public
void
setValues
(
Set
<
Number
>
list
)
{
Set
<
Double
>
doubles
=
new
HashSet
<
Double
>();
for
(
Number
n
:
list
)
{
doubles
.
add
(
n
.
doubleValue
());
}
this
.
values
=
doubles
;
}
@Override
public
Set
<
Number
>
getValues
()
{
return
this
.
values
;
Set
<
Number
>
numbers
=
new
HashSet
<
Number
>();
for
(
double
d
:
values
)
{
numbers
.
add
(
toType
(
d
));
}
return
numbers
;
}
private
Number
toType
(
Double
d
)
{
if
(
this
.
clazz
==
Integer
.
class
)
{
return
d
.
intValue
();
}
else
if
(
this
.
clazz
==
Long
.
class
)
{
return
d
.
longValue
();
}
else
if
(
this
.
clazz
==
Float
.
class
)
{
return
d
.
floatValue
();
}
else
if
(
this
.
clazz
==
Double
.
class
)
{
return
d
;
}
else
if
(
this
.
clazz
==
Short
.
class
)
{
return
d
.
shortValue
();
}
else
if
(
this
.
clazz
==
Byte
.
class
)
{
return
d
.
byteValue
();
}
return
null
;
}
public
Class
<?>
getClazz
()
{
if
(
clazz
==
null
)
{
try
{
this
.
clazz
=
Class
.
forName
(
javaType
);
}
catch
(
ClassNotFoundException
e
)
{
throw
new
RuntimeException
(
e
.
getMessage
(),
e
);
}
}
return
clazz
;
}
public
void
setClazz
(
Class
<?>
clazz
)
{
this
.
clazz
=
clazz
;
this
.
javaType
=
this
.
clazz
.
getName
();
}
}
src/main/java/org/genesys2/server/model/kpi/Observation.java
View file @
bba5dc48
...
...
@@ -33,7 +33,7 @@ public class Observation extends BusinessModel {
@JoinColumn
(
name
=
"parameterId"
)
private
KPIParameter
parameter
;
@ManyToMany
(
fetch
=
FetchType
.
EAGER
)
@ManyToMany
(
fetch
=
FetchType
.
LAZY
)
@JoinTable
(
name
=
"kpiobservationdimension"
,
joinColumns
=
@JoinColumn
(
name
=
"observationId"
),
inverseJoinColumns
=
@JoinColumn
(
name
=
"dimensionId"
))
private
Set
<
DimensionKey
>
dimensions
=
new
HashSet
<
DimensionKey
>();
...
...
@@ -57,8 +57,8 @@ public class Observation extends BusinessModel {
return
parameter
;
}
public
void
setParameter
(
KPIParameter
kPIP
arameter
)
{
this
.
parameter
=
kPIP
arameter
;
public
void
setParameter
(
KPIParameter
p
arameter
)
{
this
.
parameter
=
p
arameter
;
}
public
Set
<
DimensionKey
>
getDimensions
()
{
...
...
src/main/java/org/genesys2/server/model/kpi/StringListDimension.java
View file @
bba5dc48
...
...
@@ -12,7 +12,7 @@ import javax.persistence.JoinColumn;
public
class
StringListDimension
extends
FixedListDimension
<
String
>
{
@Column
(
name
=
"listvalue"
,
nullable
=
false
)
@ElementCollection
@ElementCollection
()
@CollectionTable
(
name
=
"kpidimensionstring"
,
joinColumns
=
@JoinColumn
(
name
=
"dimensionId"
))
private
Set
<
String
>
values
;
...
...
src/main/java/org/genesys2/server/persistence/domain/kpi/DimensionKeyRepository.java
0 → 100644
View file @
bba5dc48
/**
* Copyright 2014 Global Crop Diversity Trust
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
**/
package
org.genesys2.server.persistence.domain.kpi
;
import
org.genesys2.server.model.kpi.DimensionKey
;
import
org.springframework.data.jpa.repository.JpaRepository
;
public
interface
DimensionKeyRepository
extends
JpaRepository
<
DimensionKey
,
Long
>
{
DimensionKey
findByNameAndValue
(
String
name
,
String
value
);
}
src/main/java/org/genesys2/server/persistence/domain/kpi/DimensionRepository.java
0 → 100644
View file @
bba5dc48
/**
* Copyright 2014 Global Crop Diversity Trust
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
**/
package
org.genesys2.server.persistence.domain.kpi
;
import
org.genesys2.server.model.kpi.Dimension
;
import
org.springframework.data.jpa.repository.JpaRepository
;
public
interface
DimensionRepository
extends
JpaRepository
<
Dimension
<?>,
Long
>
{
}
src/main/java/org/genesys2/server/persistence/domain/kpi/ExecutionRepository.java
0 → 100644
View file @
bba5dc48
/**
* Copyright 2014 Global Crop Diversity Trust
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
**/
package
org.genesys2.server.persistence.domain.kpi
;
import
org.genesys2.server.model.kpi.Execution
;
import
org.springframework.data.jpa.repository.JpaRepository
;
public
interface
ExecutionRepository
extends
JpaRepository
<
Execution
,
Long
>
{
}
src/main/java/org/genesys2/server/persistence/domain/kpi/KPIParameterRepository.java
0 → 100644
View file @
bba5dc48
/**
* Copyright 2014 Global Crop Diversity Trust
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
**/
package
org.genesys2.server.persistence.domain.kpi
;
import
org.genesys2.server.model.kpi.KPIParameter
;
import
org.springframework.data.jpa.repository.JpaRepository
;
public
interface
KPIParameterRepository
extends
JpaRepository
<
KPIParameter
,
Long
>
{
KPIParameter
findByName
(
String
name
);
}
src/main/java/org/genesys2/server/persistence/domain/kpi/ObservationRepository.java
0 → 100644
View file @
bba5dc48
/**
* Copyright 2014 Global Crop Diversity Trust
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
**/
package
org.genesys2.server.persistence.domain.kpi
;
import
org.genesys2.server.model.kpi.Observation
;
import
org.springframework.data.jpa.repository.JpaRepository
;
public
interface
ObservationRepository
extends
JpaRepository
<
Observation
,
Long
>
{
}
src/main/java/org/genesys2/server/service/KPIService.java
View file @
bba5dc48
package
org.genesys2.server.service
;
import
java.util.List
;
import
org.genesys2.server.model.kpi.Dimension
;
import
org.genesys2.server.model.kpi.Execution
;
import
org.genesys2.server.model.kpi.JpaDimension
;
import
org.genesys2.server.model.kpi.KPIParameter
;
import
org.genesys2.server.model.kpi.Observation
;
public
interface
KPIService
{
void
test1
();
long
getSingleResult
(
String
paQuery
,
Object
...
params
);
KPIParameter
save
(
KPIParameter
parameter
);
KPIParameter
getParameter
(
String
name
);
KPIParameter
getParameter
(
long
id
);
void
delete
(
KPIParameter
loaded
);
Dimension
<?>
save
(
Dimension
<?>
dimension
);
Dimension
<?>
getDimension
(
long
id
);
List
<?>
getValues
(
JpaDimension
loadedJpa
);
Execution
save
(
Execution
execution
);
Execution
getExecution
(
long
id
);
void
delete
(
Execution
execution
);
List
<
Observation
>
execute
(
Execution
execution
);
List
<
Observation
>
save
(
List
<
Observation
>
observations
);
Object
getSingleResult
(
String
paQuery
,
Object
...
param
s
);
void
delete
(
List
<
Observation
>
observation
s
);
}
src/main/java/org/genesys2/server/service/impl/KPIServiceImpl.java
View file @
bba5dc48
package
org.genesys2.server.service.impl
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Set
;
import
javax.persistence.EntityManager
;
import
javax.persistence.PersistenceContext
;
import
javax.persistence.Query
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.genesys2.server.model.kpi.Dimension
;
import
org.genesys2.server.model.kpi.DimensionKey
;
import
org.genesys2.server.model.kpi.Execution
;
import
org.genesys2.server.model.kpi.JpaDimension
;
import
org.genesys2.server.model.kpi.KPIParameter
;
import
org.genesys2.server.model.kpi.Observation
;
import
org.genesys2.server.persistence.domain.kpi.DimensionKeyRepository
;
import
org.genesys2.server.persistence.domain.kpi.DimensionRepository
;
import
org.genesys2.server.persistence.domain.kpi.ExecutionRepository
;
import
org.genesys2.server.persistence.domain.kpi.ObservationRepository
;
import
org.genesys2.server.persistence.domain.kpi.KPIParameterRepository
;
import
org.genesys2.server.service.KPIService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -18,23 +35,179 @@ public class KPIServiceImpl implements KPIService {
@PersistenceContext
private
EntityManager
entityManager
;
@Autowired
private
DimensionRepository
dimensionRepository
;
@Autowired
private
KPIParameterRepository
parameterRepository
;
@Autowired
private
ExecutionRepository
executionRepository
;
@Autowired
private
ObservationRepository
observationRepository
;
@Autowired
private
DimensionKeyRepository
dimensionKeyRepository
;
@Override
@Transactional
public
KPIParameter
save
(
KPIParameter
parameter
)
{
return
parameterRepository
.
save
(
parameter
);
}
@Override
public
KPIParameter
getParameter
(
long
id
)
{
return
parameterRepository
.
findOne
(
id
);
}
@Override
public
KPIParameter
getParameter
(
String
name
)
{
return
parameterRepository
.
findByName
(
name
);
}
@Override
@Transactional
public
void
delete
(
KPIParameter
parameter
)
{
parameterRepository
.
delete
(
parameter
);
}
@Override
@Transactional
public
Dimension
<?>
save
(
Dimension
<?>
dimension
)
{
LOG
.
debug
(
"Persising dimension "
+
dimension
);
return
dimensionRepository
.
save
(
dimension
);
}
@Override