Merge branch 'application-mgt-new' into 'application-mgt-new'

MS SQL based syntax fixes

See merge request entgra/carbon-device-mgt!339
merge-requests/336/merge
Dharmakeerthi Lasantha 5 years ago
commit 41f53d06c6

@ -562,13 +562,13 @@ public class GenericApplicationDAOImpl extends AbstractDAOImpl implements Applic
@Override
public boolean updateApplication(ApplicationDTO applicationDTO, int tenantId)
throws ApplicationManagementDAOException {
String sql = "UPDATE AP_APP AP " +
String sql = "UPDATE AP_APP " +
"SET " +
"AP.NAME = ?, " +
"AP.DESCRIPTION = ?, " +
"AP.SUB_TYPE = ?, " +
"AP.CURRENCY = ? " +
"WHERE AP.ID = ? AND AP.TENANT_ID = ?";
"NAME = ?, " +
"DESCRIPTION = ?, " +
"SUB_TYPE = ?, " +
"CURRENCY = ? " +
"WHERE ID = ? AND TENANT_ID = ?";
try {
Connection conn = this.getDBConnection();
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
@ -594,12 +594,12 @@ public class GenericApplicationDAOImpl extends AbstractDAOImpl implements Applic
@Override
public void updateApplicationRating(String uuid, double rating, int tenantId)
throws ApplicationManagementDAOException {
String sql = "UPDATE AP_APP AP " +
String sql = "UPDATE AP_APP " +
"SET " +
"AP.RATING = ? " +
"RATING = ? " +
"WHERE " +
"AP.ID = (SELECT AP_APP_ID FROM AP_APP_RELEASE WHERE UUID = ?) AND " +
"AP.TENANT_ID = ?";
"ID = (SELECT AP_APP_ID FROM AP_APP_RELEASE WHERE UUID = ?) AND " +
"TENANT_ID = ?";
try {
Connection conn = this.getDBConnection();
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
@ -1013,11 +1013,11 @@ public class GenericApplicationDAOImpl extends AbstractDAOImpl implements Applic
log.debug("Request received in DAO Layer to update a category.");
}
String sql = "UPDATE " +
"AP_APP_CATEGORY cat " +
"SET cat.CATEGORY = ? " +
"AP_APP_CATEGORY " +
"SET CATEGORY = ? " +
"WHERE " +
"cat.ID = ? AND " +
"cat.TENANT_ID = ?";
"ID = ? AND " +
"TENANT_ID = ?";
try {
Connection conn = this.getDBConnection();
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
@ -1444,11 +1444,11 @@ public class GenericApplicationDAOImpl extends AbstractDAOImpl implements Applic
log.debug("Request received in DAO Layer to update a Tag.");
}
String sql = "UPDATE " +
"AP_APP_TAG tag " +
"SET tag.TAG = ? " +
"AP_APP_TAG " +
"SET TAG = ? " +
"WHERE " +
"tag.ID = ? AND " +
"tag.TENANT_ID = ?";
"ID = ? AND " +
"TENANT_ID = ?";
try {
Connection conn = this.getDBConnection();
try (PreparedStatement stmt = conn.prepareStatement(sql)) {

@ -436,7 +436,7 @@ public class GenericSubscriptionDAOImpl extends AbstractDAOImpl implements Subsc
int index = 1;
List<String> subscribedUsers = new ArrayList<>();
StringJoiner joiner = new StringJoiner(",",
"SELECT US.USER_NAME AS USER "
"SELECT US.USER_NAME AS USER_NAME "
+ "FROM AP_USER_SUBSCRIPTION US "
+ "WHERE US.USER_NAME IN (", ") AND TENANT_ID = ?");
users.stream().map(ignored -> "?").forEach(joiner::add);
@ -448,7 +448,7 @@ public class GenericSubscriptionDAOImpl extends AbstractDAOImpl implements Subsc
ps.setInt(index, tenantId);
try (ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
subscribedUsers.add(rs.getString("USER"));
subscribedUsers.add(rs.getString("USER_NAME"));
}
}
}
@ -516,7 +516,7 @@ public class GenericSubscriptionDAOImpl extends AbstractDAOImpl implements Subsc
int index = 1;
List<String> subscribedUsers = new ArrayList<>();
StringJoiner joiner = new StringJoiner(",",
"SELECT GS.GROUP_NAME AS GROUP "
"SELECT GS.GROUP_NAME AS GROUP_NAME "
+ "FROM AP_GROUP_SUBSCRIPTION GS "
+ "WHERE GS.GROUP_NAME IN (", ") AND TENANT_ID = ?");
groups.stream().map(ignored -> "?").forEach(joiner::add);
@ -528,7 +528,7 @@ public class GenericSubscriptionDAOImpl extends AbstractDAOImpl implements Subsc
ps.setInt(index, tenantId);
try (ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
subscribedUsers.add(rs.getString("GROUP"));
subscribedUsers.add(rs.getString("GROUP_NAME"));
}
}
}
@ -557,7 +557,7 @@ public class GenericSubscriptionDAOImpl extends AbstractDAOImpl implements Subsc
int index = 1;
List<Integer> subscribedDevices = new ArrayList<>();
StringJoiner joiner = new StringJoiner(",",
"SELECT DS.ID AS DM_DEVICE_ID "
"SELECT DS.ID AS DEVICE_SUBSCRIPTION_ID "
+ "FROM AP_DEVICE_SUBSCRIPTION DS "
+ "WHERE DS.DM_DEVICE_ID IN (", ") AND AP_APP_RELEASE_ID = ? AND TENANT_ID = ?");
deviceIds.stream().map(ignored -> "?").forEach(joiner::add);
@ -570,7 +570,7 @@ public class GenericSubscriptionDAOImpl extends AbstractDAOImpl implements Subsc
ps.setInt(index, tenantId);
try (ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
subscribedDevices.add(rs.getInt("DM_DEVICE_ID"));
subscribedDevices.add(rs.getInt("DEVICE_SUBSCRIPTION_ID"));
}
}
}
@ -592,6 +592,7 @@ public class GenericSubscriptionDAOImpl extends AbstractDAOImpl implements Subsc
String subType, String action) throws ApplicationManagementDAOException {
try {
Connection conn = this.getDBConnection();
boolean isUnsubscribed = false;
String sql = "UPDATE ";
if (SubscriptionType.USER.toString().equalsIgnoreCase(subType)) {
sql += "AP_USER_SUBSCRIPTION SET ";
@ -602,9 +603,10 @@ public class GenericSubscriptionDAOImpl extends AbstractDAOImpl implements Subsc
}
if (SubAction.UNINSTALL.toString().equalsIgnoreCase(action)) {
sql += "UNSUBSCRIBED = true, UNSUBSCRIBED_BY = ?, UNSUBSCRIBED_TIMESTAMP = ? ";
sql += "UNSUBSCRIBED = ?, UNSUBSCRIBED_BY = ?, UNSUBSCRIBED_TIMESTAMP = ? ";
isUnsubscribed = true;
} else {
sql += "UNSUBSCRIBED = false, SUBSCRIBED_BY = ?, SUBSCRIBED_TIMESTAMP = ? ";
sql += "UNSUBSCRIBED = ?, SUBSCRIBED_BY = ?, SUBSCRIBED_TIMESTAMP = ? ";
}
if (SubscriptionType.USER.toString().equalsIgnoreCase(subType)) {
@ -621,11 +623,12 @@ public class GenericSubscriptionDAOImpl extends AbstractDAOImpl implements Subsc
Calendar calendar = Calendar.getInstance();
Timestamp timestamp = new Timestamp(calendar.getTime().getTime());
for (String username : paramList) {
stmt.setString(1, updateBy);
stmt.setTimestamp(2, timestamp);
stmt.setString(3, username);
stmt.setInt(4, releaseId);
stmt.setInt(5, tenantId);
stmt.setBoolean(1, isUnsubscribed);
stmt.setString(2, updateBy);
stmt.setTimestamp(3, timestamp);
stmt.setString(4, username);
stmt.setInt(5, releaseId);
stmt.setInt(6, tenantId);
stmt.addBatch();
}
stmt.executeBatch();
@ -755,12 +758,12 @@ public class GenericSubscriptionDAOImpl extends AbstractDAOImpl implements Subsc
@Override
public boolean updateScheduledSubscription(int id, LocalDateTime scheduledAt, String scheduledBy)
throws ApplicationManagementDAOException {
String sql = "UPDATE AP_SCHEDULED_SUBSCRIPTION AP "
String sql = "UPDATE AP_SCHEDULED_SUBSCRIPTION "
+ "SET "
+ "AP.SCHEDULED_AT = ?, "
+ "AP.SCHEDULED_BY = ?, "
+ "AP.SCHEDULED_TIMESTAMP = ? "
+ "WHERE AP.ID = ?";
+ "SCHEDULED_AT = ?, "
+ "SCHEDULED_BY = ?, "
+ "SCHEDULED_TIMESTAMP = ? "
+ "WHERE ID = ?";
try {
Connection conn = this.getDBConnection();
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
@ -786,9 +789,9 @@ public class GenericSubscriptionDAOImpl extends AbstractDAOImpl implements Subsc
@Override
public boolean deleteScheduledSubscription(List<Integer> subscriptionIdList) throws ApplicationManagementDAOException {
String sql = "UPDATE AP_SCHEDULED_SUBSCRIPTION AP "
+ "SET AP.DELETED = ? "
+ "WHERE AP.ID = ?";
String sql = "UPDATE AP_SCHEDULED_SUBSCRIPTION "
+ "SET DELETED = ? "
+ "WHERE ID = ?";
try {
Connection conn = this.getDBConnection();
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
@ -816,9 +819,9 @@ public class GenericSubscriptionDAOImpl extends AbstractDAOImpl implements Subsc
@Override
public boolean updateScheduledSubscriptionStatus(int id, ExecutionStatus status)
throws ApplicationManagementDAOException {
String sql = "UPDATE AP_SCHEDULED_SUBSCRIPTION AP "
+ "SET AP.STATUS = ? "
+ "WHERE AP.ID = ?";
String sql = "UPDATE AP_SCHEDULED_SUBSCRIPTION "
+ "SET STATUS = ? "
+ "WHERE ID = ?";
try {
Connection conn = this.getDBConnection();
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
@ -850,7 +853,7 @@ public class GenericSubscriptionDAOImpl extends AbstractDAOImpl implements Subsc
Connection conn = this.getDBConnection();
List<String> subscribedUsers = new ArrayList<>();
String sql = "SELECT "
+ "US.USER_NAME AS USER "
+ "US.USER_NAME AS USER_NAME "
+ "FROM AP_USER_SUBSCRIPTION US "
+ "WHERE "
+ "AP_APP_RELEASE_ID = ? AND TENANT_ID = ? LIMIT ? OFFSET ?";
@ -861,7 +864,7 @@ public class GenericSubscriptionDAOImpl extends AbstractDAOImpl implements Subsc
stmt.setInt(4, offsetValue);
try (ResultSet rs = stmt.executeQuery()) {
while (rs.next()) {
subscribedUsers.add(rs.getString("USER"));
subscribedUsers.add(rs.getString("USER_NAME"));
}
}
return subscribedUsers;

@ -51,7 +51,7 @@ public class SQLServerSubscriptionDAOImpl extends GenericSubscriptionDAOImpl {
Connection conn = this.getDBConnection();
List<String> subscribedUsers = new ArrayList<>();
String sql = "SELECT "
+ "US.USER_NAME AS USER "
+ "US.USER_NAME AS USER_NAME "
+ "FROM AP_USER_SUBSCRIPTION US "
+ "WHERE "
+ "AP_APP_RELEASE_ID = ? AND TENANT_ID = ? ORDER BY US.ID OFFSET ? ROWS FETCH NEXT ? ROWS ONLY";
@ -62,7 +62,7 @@ public class SQLServerSubscriptionDAOImpl extends GenericSubscriptionDAOImpl {
stmt.setInt(4, limitValue);
try (ResultSet rs = stmt.executeQuery()) {
while (rs.next()) {
subscribedUsers.add(rs.getString("USER"));
subscribedUsers.add(rs.getString("USER_NAME"));
}
}
return subscribedUsers;

@ -787,8 +787,8 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
" e1.DATE_OF_ENROLMENT, d.DESCRIPTION, d.NAME AS DEVICE_NAME, d.DEVICE_IDENTIFICATION, t.NAME " +
"AS DEVICE_TYPE FROM DM_DEVICE d, (SELECT e.OWNER, e.OWNERSHIP, e.ID AS ENROLMENT_ID, " +
"e.DEVICE_ID, e.STATUS, e.DATE_OF_LAST_UPDATE, e.DATE_OF_ENROLMENT FROM DM_ENROLMENT e WHERE " +
"e.TENANT_ID = ? AND LOWER(e.OWNER) = LOWER(?) ORDER BY e.DATE_OF_LAST_UPDATE DESC) e1, DM_DEVICE_TYPE t WHERE d.ID = e1.DEVICE_ID " +
"AND t.ID = d.DEVICE_TYPE_ID";
"e.TENANT_ID = ? AND LOWER(e.OWNER) = LOWER(?)) e1, DM_DEVICE_TYPE t WHERE d.ID = e1.DEVICE_ID " +
"AND t.ID = d.DEVICE_TYPE_ID ORDER BY e1.DATE_OF_LAST_UPDATE DESC";
stmt = conn.prepareStatement(sql);
stmt.setInt(1, tenantId);
stmt.setString(2, username);

@ -268,8 +268,7 @@ CREATE TABLE AP_SCHEDULED_SUBSCRIPTION(
ID INTEGER NOT NULL IDENTITY,
TASK_NAME VARCHAR(100) NOT NULL,
APPLICATION_UUID VARCHAR(200) NOT NULL,
CONSTRAINT APPLICATION_UUID_CONSTRAINT UNIQUE(APPLICATION_UUID),
SUBSCRIBER_LIST VARCHAR NOT NULL,
SUBSCRIBER_LIST VARCHAR(MAX) NOT NULL,
STATUS VARCHAR(15) NOT NULL,
SCHEDULED_AT DATETIME2(0) NOT NULL,
SCHEDULED_BY VARCHAR(100) NOT NULL,

Loading…
Cancel
Save