mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Added capability to filter apps as user apps and system apps
This commit is contained in:
parent
a45820e845
commit
dda253e66d
@ -54,6 +54,8 @@ public class Application implements Serializable {
|
|||||||
private int memoryUsage;
|
private int memoryUsage;
|
||||||
@ApiModelProperty(name = "isActive", value = "Is the application actively running", required = true)
|
@ApiModelProperty(name = "isActive", value = "Is the application actively running", required = true)
|
||||||
private boolean isActive;
|
private boolean isActive;
|
||||||
|
@ApiModelProperty(name = "isSystemApp", value = "Is the application a system app", required = true)
|
||||||
|
private boolean isSystemApp;
|
||||||
@ApiModelProperty(name = "hourlyUsage", value = "App hourly usage")
|
@ApiModelProperty(name = "hourlyUsage", value = "App hourly usage")
|
||||||
private long hourlyUsage;
|
private long hourlyUsage;
|
||||||
@ApiModelProperty(name = "dailyUsage", value = "App daily usage")
|
@ApiModelProperty(name = "dailyUsage", value = "App daily usage")
|
||||||
@ -186,6 +188,14 @@ public class Application implements Serializable {
|
|||||||
isActive = active;
|
isActive = active;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isSystemApp() {
|
||||||
|
return isSystemApp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSystemApp(boolean system) {
|
||||||
|
isSystemApp = system;
|
||||||
|
}
|
||||||
|
|
||||||
public long getHourlyUsage() {
|
public long getHourlyUsage() {
|
||||||
return hourlyUsage;
|
return hourlyUsage;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -258,7 +258,7 @@ public class ApplicationManagerProviderServiceImpl implements ApplicationManagem
|
|||||||
if (installedApps.containsKey(newApp.getApplicationIdentifier())) {
|
if (installedApps.containsKey(newApp.getApplicationIdentifier())) {
|
||||||
Application oldApp = installedApps.get(newApp.getApplicationIdentifier());
|
Application oldApp = installedApps.get(newApp.getApplicationIdentifier());
|
||||||
if (oldApp.isActive() != newApp.isActive() || oldApp.getMemoryUsage() != newApp.getMemoryUsage()
|
if (oldApp.isActive() != newApp.isActive() || oldApp.getMemoryUsage() != newApp.getMemoryUsage()
|
||||||
|| !newApp.getVersion().equals(oldApp.getVersion())) {
|
|| !newApp.getVersion().equals(oldApp.getVersion()) || oldApp.isSystemApp() != newApp.isSystemApp()) {
|
||||||
newApp.setId(oldApp.getId());
|
newApp.setId(oldApp.getId());
|
||||||
appsToUpdate.put(newApp.getApplicationIdentifier(), newApp);
|
appsToUpdate.put(newApp.getApplicationIdentifier(), newApp);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -56,8 +56,8 @@ public class ApplicationDAOImpl implements ApplicationDAO {
|
|||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
stmt = conn.prepareStatement("INSERT INTO DM_APPLICATION (NAME, PLATFORM, " +
|
stmt = conn.prepareStatement("INSERT INTO DM_APPLICATION (NAME, PLATFORM, " +
|
||||||
"CATEGORY, VERSION, TYPE, LOCATION_URL, IMAGE_URL, TENANT_ID, " +
|
"CATEGORY, VERSION, TYPE, LOCATION_URL, IMAGE_URL, TENANT_ID, " +
|
||||||
"APP_IDENTIFIER, MEMORY_USAGE, IS_ACTIVE, DEVICE_ID, ENROLMENT_ID) " +
|
"APP_IDENTIFIER, MEMORY_USAGE, IS_ACTIVE, DEVICE_ID, ENROLMENT_ID, IS_SYSTEM_APP) " +
|
||||||
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
||||||
|
|
||||||
for (Application application : applications) {
|
for (Application application : applications) {
|
||||||
stmt.setString(1, application.getName());
|
stmt.setString(1, application.getName());
|
||||||
@ -73,6 +73,7 @@ public class ApplicationDAOImpl implements ApplicationDAO {
|
|||||||
stmt.setBoolean(11, application.isActive());
|
stmt.setBoolean(11, application.isActive());
|
||||||
stmt.setInt(12, deviceId);
|
stmt.setInt(12, deviceId);
|
||||||
stmt.setInt(13, enrolmentId);
|
stmt.setInt(13, enrolmentId);
|
||||||
|
stmt.setBoolean(14, application.isSystemApp());
|
||||||
stmt.addBatch();
|
stmt.addBatch();
|
||||||
}
|
}
|
||||||
stmt.executeBatch();
|
stmt.executeBatch();
|
||||||
@ -91,7 +92,7 @@ public class ApplicationDAOImpl implements ApplicationDAO {
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
stmt = conn.prepareStatement("UPDATE DM_APPLICATION SET NAME = ?, PLATFORM = ?, CATEGORY = ?, " +
|
stmt = conn.prepareStatement("UPDATE DM_APPLICATION SET NAME = ?, PLATFORM = ?, CATEGORY = ?, " +
|
||||||
"VERSION = ?, TYPE = ?, LOCATION_URL = ?, IMAGE_URL = ?, MEMORY_USAGE = ?, IS_ACTIVE = ? " +
|
"VERSION = ?, TYPE = ?, LOCATION_URL = ?, IMAGE_URL = ?, MEMORY_USAGE = ?, IS_ACTIVE = ?, IS_SYSTEM_APP = ? " +
|
||||||
"WHERE ID = ?");
|
"WHERE ID = ?");
|
||||||
|
|
||||||
for (Application application : applications) {
|
for (Application application : applications) {
|
||||||
@ -104,7 +105,8 @@ public class ApplicationDAOImpl implements ApplicationDAO {
|
|||||||
stmt.setString(7, application.getImageUrl());
|
stmt.setString(7, application.getImageUrl());
|
||||||
stmt.setInt(8, application.getMemoryUsage());
|
stmt.setInt(8, application.getMemoryUsage());
|
||||||
stmt.setBoolean(9, application.isActive());
|
stmt.setBoolean(9, application.isActive());
|
||||||
stmt.setInt(10, application.getId());
|
stmt.setBoolean(10, application.isSystemApp());
|
||||||
|
stmt.setInt(11, application.getId());
|
||||||
stmt.addBatch();
|
stmt.addBatch();
|
||||||
}
|
}
|
||||||
stmt.executeBatch();
|
stmt.executeBatch();
|
||||||
@ -422,6 +424,46 @@ public class ApplicationDAOImpl implements ApplicationDAO {
|
|||||||
return application;
|
return application;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Application loadApplicationDetails(ResultSet rs) throws DeviceManagementDAOException {
|
||||||
|
ByteArrayInputStream bais;
|
||||||
|
ObjectInputStream ois;
|
||||||
|
Properties properties;
|
||||||
|
|
||||||
|
Application application = new Application();
|
||||||
|
try {
|
||||||
|
application.setId(rs.getInt("ID"));
|
||||||
|
application.setName(rs.getString("NAME"));
|
||||||
|
application.setType(rs.getString("TYPE"));
|
||||||
|
|
||||||
|
if (rs.getBytes("APP_PROPERTIES") != null) {
|
||||||
|
byte[] appProperties = rs.getBytes("APP_PROPERTIES");
|
||||||
|
bais = new ByteArrayInputStream(appProperties);
|
||||||
|
|
||||||
|
ois = new ObjectInputStream(bais);
|
||||||
|
properties = (Properties) ois.readObject();
|
||||||
|
application.setAppProperties(properties);
|
||||||
|
}
|
||||||
|
application.setCategory(rs.getString("CATEGORY"));
|
||||||
|
application.setImageUrl(rs.getString("IMAGE_URL"));
|
||||||
|
application.setLocationUrl(rs.getString("LOCATION_URL"));
|
||||||
|
application.setPlatform(rs.getString("PLATFORM"));
|
||||||
|
application.setVersion(rs.getString("VERSION"));
|
||||||
|
application.setMemoryUsage(rs.getInt("MEMORY_USAGE"));
|
||||||
|
application.setActive(rs.getBoolean("IS_ACTIVE"));
|
||||||
|
application.setSystemApp(rs.getBoolean("IS_SYSTEM_APP"));
|
||||||
|
application.setApplicationIdentifier(rs.getString("APP_IDENTIFIER"));
|
||||||
|
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new DeviceManagementDAOException("IO error occurred fetch at app properties", e);
|
||||||
|
} catch (ClassNotFoundException e) {
|
||||||
|
throw new DeviceManagementDAOException("Class not found error occurred fetch at app properties", e);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
throw new DeviceManagementDAOException("SQL error occurred fetch at application", e);
|
||||||
|
}
|
||||||
|
|
||||||
|
return application;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void saveApplicationIcon(String iconPath, String packageName, String version, int tenantId)
|
public void saveApplicationIcon(String iconPath, String packageName, String version, int tenantId)
|
||||||
throws DeviceManagementDAOException{
|
throws DeviceManagementDAOException{
|
||||||
@ -565,6 +607,7 @@ public class ApplicationDAOImpl implements ApplicationDAO {
|
|||||||
"APP_PROPERTIES, " +
|
"APP_PROPERTIES, " +
|
||||||
"MEMORY_USAGE, " +
|
"MEMORY_USAGE, " +
|
||||||
"IS_ACTIVE, " +
|
"IS_ACTIVE, " +
|
||||||
|
"IS_SYSTEM_APP, " +
|
||||||
"TENANT_ID " +
|
"TENANT_ID " +
|
||||||
"FROM DM_APPLICATION " +
|
"FROM DM_APPLICATION " +
|
||||||
"WHERE DEVICE_ID = ? AND " +
|
"WHERE DEVICE_ID = ? AND " +
|
||||||
@ -582,7 +625,7 @@ public class ApplicationDAOImpl implements ApplicationDAO {
|
|||||||
stmt.setInt(5, offset);
|
stmt.setInt(5, offset);
|
||||||
try (ResultSet rs = stmt.executeQuery()) {
|
try (ResultSet rs = stmt.executeQuery()) {
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
application = loadApplication(rs);
|
application = loadApplicationDetails(rs);
|
||||||
applicationList.add(application);
|
applicationList.add(application);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -615,6 +658,7 @@ public class ApplicationDAOImpl implements ApplicationDAO {
|
|||||||
"APP_PROPERTIES, " +
|
"APP_PROPERTIES, " +
|
||||||
"MEMORY_USAGE, " +
|
"MEMORY_USAGE, " +
|
||||||
"IS_ACTIVE, " +
|
"IS_ACTIVE, " +
|
||||||
|
"IS_SYSTEM_APP, " +
|
||||||
"TENANT_ID " +
|
"TENANT_ID " +
|
||||||
"FROM DM_APPLICATION " +
|
"FROM DM_APPLICATION " +
|
||||||
"WHERE DEVICE_ID = ? AND " +
|
"WHERE DEVICE_ID = ? AND " +
|
||||||
@ -628,7 +672,7 @@ public class ApplicationDAOImpl implements ApplicationDAO {
|
|||||||
stmt.setInt(3, tenantId);
|
stmt.setInt(3, tenantId);
|
||||||
try (ResultSet rs = stmt.executeQuery()) {
|
try (ResultSet rs = stmt.executeQuery()) {
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
application = loadApplication(rs);
|
application = loadApplicationDetails(rs);
|
||||||
applicationList.add(application);
|
applicationList.add(application);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user