Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
reg-app
Regapp
Commits
117a41ff
Commit
117a41ff
authored
Mar 07, 2019
by
michael.simon
Browse files
Merge remote-tracking branch 'origin/branch-2.6' into 72-let-user-deploy-their-ssh-public-keys
parents
ccb091e9
fbb06c9f
Changes
6
Hide whitespace changes
Inline
Side-by-side
bwreg-service/src/main/java/edu/kit/scc/webreg/service/ClusterMemberService.java
0 → 100644
View file @
117a41ff
/*******************************************************************************
* Copyright (c) 2014 Michael Simon.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
*
* Contributors:
* Michael Simon - initial
******************************************************************************/
package
edu.kit.scc.webreg.service
;
import
edu.kit.scc.webreg.entity.ClusterMemberEntity
;
public
interface
ClusterMemberService
extends
BaseService
<
ClusterMemberEntity
,
Long
>
{
}
bwreg-service/src/main/java/edu/kit/scc/webreg/service/impl/ClusterMemberServiceImpl.java
0 → 100644
View file @
117a41ff
/*******************************************************************************
* Copyright (c) 2014 Michael Simon.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
*
* Contributors:
* Michael Simon - initial
******************************************************************************/
package
edu.kit.scc.webreg.service.impl
;
import
javax.ejb.Stateless
;
import
javax.inject.Inject
;
import
edu.kit.scc.webreg.dao.BaseDao
;
import
edu.kit.scc.webreg.dao.ClusterMemberDao
;
import
edu.kit.scc.webreg.entity.ClusterMemberEntity
;
import
edu.kit.scc.webreg.service.ClusterMemberService
;
@Stateless
public
class
ClusterMemberServiceImpl
extends
BaseServiceImpl
<
ClusterMemberEntity
,
Long
>
implements
ClusterMemberService
{
private
static
final
long
serialVersionUID
=
1L
;
@Inject
private
ClusterMemberDao
dao
;
@Override
protected
BaseDao
<
ClusterMemberEntity
,
Long
>
getDao
()
{
return
dao
;
}
}
bwreg-service/src/main/java/edu/kit/scc/webreg/service/timer/ClusterSchedulerManager.java
View file @
117a41ff
...
...
@@ -10,6 +10,8 @@
******************************************************************************/
package
edu.kit.scc.webreg.service.timer
;
import
edu.kit.scc.webreg.dao.ClusterMemberDao
;
public
interface
ClusterSchedulerManager
{
void
initialize
();
...
...
bwreg-service/src/main/java/edu/kit/scc/webreg/service/timer/ClusterSchedulerManagerImpl.java
View file @
117a41ff
...
...
@@ -147,6 +147,5 @@ public class ClusterSchedulerManagerImpl implements ClusterSchedulerManager, Ser
clusterMemberEntity
.
setClusterSchedulerStatus
(
ClusterSchedulerStatus
.
PASSIVE
);
clusterMemberEntity
.
setLastSchedulerStatusChange
(
new
Date
());
}
}
}
}
bwreg-webapp/src/main/java/edu/kit/scc/webreg/bean/admin/timer/SchedulerStatusBean.java
View file @
117a41ff
...
...
@@ -12,15 +12,20 @@ package edu.kit.scc.webreg.bean.admin.timer;
import
java.io.Serializable
;
import
javax.enterprise.context.RequestScoped
;
import
javax.faces.bean.ManagedBean
;
import
javax.faces.bean.ViewScoped
;
import
javax.inject.Inject
;
import
javax.inject.Named
;
import
org.primefaces.model.LazyDataModel
;
import
edu.kit.scc.webreg.bootstrap.NodeConfiguration
;
import
edu.kit.scc.webreg.entity.ClusterMemberEntity
;
import
edu.kit.scc.webreg.model.GenericLazyDataModelImpl
;
import
edu.kit.scc.webreg.service.ClusterMemberService
;
import
edu.kit.scc.webreg.service.timer.StandardScheduler
;
@
Named
(
"schedulerStatus
Bean
"
)
@
Request
Scoped
@
Managed
Bean
@
View
Scoped
public
class
SchedulerStatusBean
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
...
...
@@ -31,6 +36,17 @@ public class SchedulerStatusBean implements Serializable {
@Inject
private
NodeConfiguration
nodeConfiguration
;
@Inject
private
ClusterMemberService
clusterMemberService
;
private
LazyDataModel
<
ClusterMemberEntity
>
list
;
public
void
preRenderView
()
{
if
(
list
==
null
)
{
list
=
new
GenericLazyDataModelImpl
<
ClusterMemberEntity
,
ClusterMemberService
,
Long
>(
clusterMemberService
);
}
}
public
NodeConfiguration
getNodeConfiguration
()
{
return
nodeConfiguration
;
}
...
...
@@ -38,6 +54,13 @@ public class SchedulerStatusBean implements Serializable {
public
StandardScheduler
getStandardScheduler
()
{
return
standardScheduler
;
}
public
LazyDataModel
<
ClusterMemberEntity
>
getList
()
{
return
list
;
}
public
void
setList
(
LazyDataModel
<
ClusterMemberEntity
>
list
)
{
this
.
list
=
list
;
}
}
bwreg-webapp/src/main/webapp/admin/timer/scheduler-status.xhtml
View file @
117a41ff
...
...
@@ -5,12 +5,20 @@
xmlns:h=
"http://java.sun.com/jsf/html"
xmlns:ui=
"http://java.sun.com/jsf/facelets"
xmlns:bw=
"http://www.scc.kit.edu/bwfacelets"
xmlns:p=
"http://primefaces.org/ui"
>
xmlns:p=
"http://primefaces.org/ui"
xmlns:of=
"http://omnifaces.org/functions"
>
<head>
<title></title>
</head>
<body>
<f:view>
<f:metadata>
<f:event
type=
"javax.faces.event.PreRenderViewEvent"
listener=
"#{schedulerStatusBean.preRenderView}"
/>
</f:metadata>
<ui:composition
template=
"/template/default-admin.xhtml"
>
<ui:param
name=
"title"
value=
"#{messages.title}"
/>
...
...
@@ -18,74 +26,44 @@
<h:form
id=
"form"
>
<div
class=
"panel"
>
<p:panel
header=
"#{messages.scheduler_status}"
>
<p:panelGrid
id=
"baseData"
columns=
"2"
>
<h:outputText
value=
"#{messages.cluster_scheduler_node}:"
/>
<h:outputText
value=
"#{schedulerStatusBean.clusterSchedulerStatusService.activeNode}"
/>
<h:outputText
value=
"#{messages.cluster_scheduler_ejb}:"
/>
<h:outputText
value=
"#{schedulerStatusBean.clusterSchedulerStatusService.clusterScheduler}"
/>
<h:outputText
value=
"#{messages.cluster_scheduler_node}:"
/>
<h:outputText
value=
"#{schedulerStatusBean.nodeConfiguration.nodeName}"
/>
<h:outputText
value=
"#{messages.timer_configured}:"
/>
<h:outputText
value=
"#{schedulerStatusBean.nodeConfiguration.timerConfigured}"
/>
<h:outputText
value=
"#{messages.timer_singleton_configured}:"
/>
<h:outputText
value=
"#{schedulerStatusBean.clusterSchedulerStatusService.clusterScheduler.timerConfigured}"
/>
<h:outputText
value=
"#{messages.rules_configured}:"
/>
<h:outputText
value=
"#{schedulerStatusBean.nodeConfiguration.rulesConfigured}"
/>
</p:panelGrid>
</p:panel>
</div>
<div
class=
"panel"
>
<p:panel
header=
"#{messages.singleton_scheduler_status}"
>
<p:dataTable
id=
"clusterSchedTable"
var=
"t"
value=
"#{schedulerStatusBean.clusterSchedulerStatusService.clusterScheduler.timerService.timers.toArray()}"
>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{messages.next_timeout}"
/>
</f:facet>
<h:outputText
value=
"#{t.nextTimeout}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{messages.timer_info}"
/>
</f:facet>
<h:outputText
value=
"#{t.info.name} (#{t.info.jobClass.jobClassName})"
rendered=
"#{t.info.class.simpleName == 'JobScheduleEntity'}"
/>
<h:outputText
value=
"#{t.info}"
rendered=
"#{t.info.class.simpleName != 'JobScheduleEntity'}"
/>
</p:column>
</p:dataTable>
</p:panel>
</div>
<div
class=
"panel"
>
<p:panel
header=
"#{messages.standard_scheduler_status}"
>
<p:dataTable
id=
"schedTable"
var=
"t"
value=
"#{schedulerStatusBean.standardScheduler.timerService.timers.toArray()}"
>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{messages.next_timeout}"
/>
</f:facet>
<h:outputText
value=
"#{t.nextTimeout}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{messages.timer_info}"
/>
</f:facet>
<h:outputText
value=
"#{t.info.name} (#{t.info.jobClass.jobClassName})"
rendered=
"#{t.info.class.simpleName == 'JobScheduleEntity'}"
/>
<h:outputText
value=
"#{t.info}"
rendered=
"#{t.info.class.simpleName != 'JobScheduleEntity'}"
/>
</p:column>
</p:dataTable>
</p:panel>
</div>
<p:dataTable
id=
"dataTable"
var=
"node"
value=
"#{schedulerStatusBean.list}"
paginator=
"true"
lazy=
"true"
rows=
"15"
>
<p:column
sortBy=
"#{node.id}"
style=
"width:36px;"
>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{messages.id}"
/>
</f:facet>
<h:outputText
value=
"#{node.id}"
/>
</p:column>
<p:column
sortBy=
"#{node.nodeName}"
filterBy=
"#{node.nodeName}"
>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{messages.name}"
/>
</f:facet>
<h:outputText
value=
"#{node.nodeName}"
/>
</p:column>
<p:column
sortBy=
"#{node.clusterMemberStatus}"
>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{messages.cluster_member_status}"
/>
</f:facet>
<h:outputText
value=
"#{node.clusterMemberStatus}"
/>
</p:column>
<p:column
sortBy=
"#{node.clusterSchedulerStatus}"
>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{messages.cluster_scheduler_status}"
/>
</f:facet>
<h:outputText
value=
"#{node.clusterSchedulerStatus}"
/>
</p:column>
<p:column
sortBy=
"#{node.lastStatusCheck}"
>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{messages.last_check}"
/>
</f:facet>
<h:outputText
value=
"#{of:formatDate(node.lastStatusCheck, 'dd.MM.yyyy HH:mm')}"
/>
</p:column>
</p:dataTable>
</h:form>
</ui:define>
</ui:composition>
</ui:composition>
</f:view>
</body>
</html>
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