Skip to content

Commit f8a482a

Browse files
author
Yang Guo
committed
optimize query returnted object type for agent
1 parent c48a37f commit f8a482a

File tree

1 file changed

+25
-34
lines changed

1 file changed

+25
-34
lines changed

platform-control-center/src/main/java/com/flow/platform/cc/dao/AgentDaoImpl.java

Lines changed: 25 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -58,30 +58,25 @@ protected String getKeyName() {
5858

5959
@Override
6060
public Agent get(final AgentPath agentPath) {
61-
Agent agent = execute(session -> (Agent) session
62-
.createQuery("from Agent where AGENT_ZONE = :zone and AGENT_NAME = :name")
61+
return execute(session -> session
62+
.createQuery("from Agent where AGENT_ZONE = :zone and AGENT_NAME = :name", Agent.class)
6363
.setParameter("zone", agentPath.getZone())
6464
.setParameter("name", agentPath.getName())
6565
.uniqueResult());
66-
return agent;
6766
}
6867

6968
@Override
7069
public Agent get(final String sessionId) {
71-
Agent agent = execute(
72-
session -> (Agent) session.createQuery("from Agent where sessionId = :sessionId")
73-
.setParameter("sessionId", sessionId)
74-
.uniqueResult());
75-
return agent;
70+
return execute(session -> session.createQuery("from Agent where sessionId = :sessionId", Agent.class)
71+
.setParameter("sessionId", sessionId)
72+
.uniqueResult());
7673
}
7774

7875
@Override
7976
public Agent getByToken(String token) {
80-
Agent agent = execute(
81-
session -> (Agent) session.createQuery("from Agent where token = :token")
82-
.setParameter("token", token)
83-
.uniqueResult());
84-
return agent;
77+
return execute(session -> session.createQuery("from Agent where token = :token", Agent.class)
78+
.setParameter("token", token)
79+
.uniqueResult());
8580
}
8681

8782
@Override
@@ -124,31 +119,28 @@ public List<Agent> list(final String zone, final String orderByField, final Agen
124119
"The orderByField only availabe among 'createdDate', 'updateDate' or 'sessionDate'");
125120
}
126121

127-
return (List<Agent>) execute(new Executable() {
128-
@Override
129-
public Object execute(Session session) {
130-
CriteriaBuilder builder = session.getCriteriaBuilder();
131-
CriteriaQuery<Agent> criteria = builder.createQuery(Agent.class);
122+
return (List<Agent>) execute(session -> {
123+
CriteriaBuilder builder = session.getCriteriaBuilder();
124+
CriteriaQuery<Agent> criteria = builder.createQuery(Agent.class);
132125

133-
Root<Agent> root = criteria.from(Agent.class);
134-
criteria.select(root);
126+
Root<Agent> root = criteria.from(Agent.class);
127+
criteria.select(root);
135128

136-
Predicate whereCriteria = builder.equal(root.get("path").get("zone"), zone);
129+
Predicate whereCriteria = builder.equal(root.get("path").get("zone"), zone);
137130

138-
if (status != null && status.length > 0) {
139-
Predicate inStatus = root.get("status").in(status);
140-
whereCriteria = builder.and(whereCriteria, inStatus);
141-
}
142-
criteria.where(whereCriteria);
143-
144-
// order by created date
145-
if (orderByField != null) {
146-
criteria.orderBy(builder.asc(root.get(orderByField)));
147-
}
131+
if (status != null && status.length > 0) {
132+
Predicate inStatus = root.get("status").in(status);
133+
whereCriteria = builder.and(whereCriteria, inStatus);
134+
}
135+
criteria.where(whereCriteria);
148136

149-
Query<Agent> query = session.createQuery(criteria);
150-
return query.getResultList();
137+
// order by created date
138+
if (orderByField != null) {
139+
criteria.orderBy(builder.asc(root.get(orderByField)));
151140
}
141+
142+
Query<Agent> query = session.createQuery(criteria);
143+
return query.getResultList();
152144
});
153145
}
154146

@@ -165,7 +157,6 @@ public boolean exist(AgentPath path) {
165157

166158
@Override
167159
public int batchUpdateStatus(String zone, AgentStatus status, Set<String> agents, boolean isNot) {
168-
169160
return execute(session -> {
170161
CriteriaBuilder builder = session.getCriteriaBuilder();
171162
CriteriaUpdate<Agent> criteria = builder.createCriteriaUpdate(Agent.class);

0 commit comments

Comments
 (0)