mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Fixed notification service issues
This commit is contained in:
parent
330f059a09
commit
bf0e95fa6c
@ -42,6 +42,7 @@ import org.wso2.carbon.device.mgt.core.config.datasource.DataSourceConfig;
|
|||||||
import org.wso2.carbon.device.mgt.core.config.tenant.TenantConfigurationManagementServiceImpl;
|
import org.wso2.carbon.device.mgt.core.config.tenant.TenantConfigurationManagementServiceImpl;
|
||||||
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
|
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
|
||||||
import org.wso2.carbon.device.mgt.core.notification.mgt.NotificationManagementServiceImpl;
|
import org.wso2.carbon.device.mgt.core.notification.mgt.NotificationManagementServiceImpl;
|
||||||
|
import org.wso2.carbon.device.mgt.core.notification.mgt.dao.NotificationManagementDAOFactory;
|
||||||
import org.wso2.carbon.device.mgt.core.operation.mgt.OperationManagerImpl;
|
import org.wso2.carbon.device.mgt.core.operation.mgt.OperationManagerImpl;
|
||||||
import org.wso2.carbon.device.mgt.core.operation.mgt.dao.OperationManagementDAOFactory;
|
import org.wso2.carbon.device.mgt.core.operation.mgt.dao.OperationManagementDAOFactory;
|
||||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||||
@ -117,6 +118,7 @@ public class DeviceManagementServiceComponent {
|
|||||||
|
|
||||||
DataSourceConfig dsConfig = config.getDeviceManagementConfigRepository().getDataSourceConfig();
|
DataSourceConfig dsConfig = config.getDeviceManagementConfigRepository().getDataSourceConfig();
|
||||||
DeviceManagementDAOFactory.init(dsConfig);
|
DeviceManagementDAOFactory.init(dsConfig);
|
||||||
|
NotificationManagementDAOFactory.init(dsConfig);
|
||||||
|
|
||||||
/*Initialize Operation Manager*/
|
/*Initialize Operation Manager*/
|
||||||
this.initOperationsManager();
|
this.initOperationsManager();
|
||||||
|
|||||||
@ -42,11 +42,10 @@ public class NotificationDAOImpl implements NotificationDAO {
|
|||||||
public int addNotification(int deviceId, int tenantId, Notification notification) throws
|
public int addNotification(int deviceId, int tenantId, Notification notification) throws
|
||||||
NotificationManagementException {
|
NotificationManagementException {
|
||||||
Connection conn;
|
Connection conn;
|
||||||
PreparedStatement stmt;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs;
|
ResultSet rs;
|
||||||
int notificationId = -1;
|
int notificationId = -1;
|
||||||
try {
|
try {
|
||||||
NotificationManagementDAOFactory.beginTransaction();
|
|
||||||
conn = NotificationManagementDAOFactory.getConnection();
|
conn = NotificationManagementDAOFactory.getConnection();
|
||||||
String sql =
|
String sql =
|
||||||
"INSERT INTO DM_NOTIFICATION(DEVICE_ID, OPERATION_ID, STATUS, DESCRIPTION, TENANT_ID) " +
|
"INSERT INTO DM_NOTIFICATION(DEVICE_ID, OPERATION_ID, STATUS, DESCRIPTION, TENANT_ID) " +
|
||||||
@ -62,14 +61,12 @@ public class NotificationDAOImpl implements NotificationDAO {
|
|||||||
if (rs.next()) {
|
if (rs.next()) {
|
||||||
notificationId = rs.getInt(1);
|
notificationId = rs.getInt(1);
|
||||||
}
|
}
|
||||||
NotificationManagementDAOFactory.commitTransaction();
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
NotificationManagementDAOFactory.rollbackTransaction();
|
|
||||||
throw new NotificationManagementException("Error occurred while adding the " +
|
throw new NotificationManagementException("Error occurred while adding the " +
|
||||||
"Notification for device id : " + deviceId,
|
"Notification for device id : " + deviceId,
|
||||||
e);
|
e);
|
||||||
} finally {
|
} finally {
|
||||||
NotificationManagementDAOFactory.closeConnection();
|
NotificationDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
return notificationId;
|
return notificationId;
|
||||||
}
|
}
|
||||||
@ -78,10 +75,9 @@ public class NotificationDAOImpl implements NotificationDAO {
|
|||||||
public int updateNotification(Notification notification)
|
public int updateNotification(Notification notification)
|
||||||
throws NotificationManagementException {
|
throws NotificationManagementException {
|
||||||
Connection conn;
|
Connection conn;
|
||||||
PreparedStatement stmt;
|
PreparedStatement stmt = null;
|
||||||
int rows;
|
int rows;
|
||||||
try {
|
try {
|
||||||
NotificationManagementDAOFactory.beginTransaction();
|
|
||||||
conn = NotificationManagementDAOFactory.getConnection();
|
conn = NotificationManagementDAOFactory.getConnection();
|
||||||
String sql = "UPDATE DM_NOTIFICATION SET OPERATION_ID = ?, STATUS = ?, DESCRIPTION = ? " +
|
String sql = "UPDATE DM_NOTIFICATION SET OPERATION_ID = ?, STATUS = ?, DESCRIPTION = ? " +
|
||||||
"WHERE NOTIFICATION_ID = ?";
|
"WHERE NOTIFICATION_ID = ?";
|
||||||
@ -91,13 +87,11 @@ public class NotificationDAOImpl implements NotificationDAO {
|
|||||||
stmt.setString(3, notification.getDescription());
|
stmt.setString(3, notification.getDescription());
|
||||||
stmt.setInt(4, notification.getNotificationId());
|
stmt.setInt(4, notification.getNotificationId());
|
||||||
rows = stmt.executeUpdate();
|
rows = stmt.executeUpdate();
|
||||||
NotificationManagementDAOFactory.commitTransaction();
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
NotificationManagementDAOFactory.rollbackTransaction();
|
|
||||||
throw new NotificationManagementException("Error occurred while updating the " +
|
throw new NotificationManagementException("Error occurred while updating the " +
|
||||||
"Notification id : " + notification.getNotificationId(), e);
|
"Notification id : " + notification.getNotificationId(), e);
|
||||||
} finally {
|
} finally {
|
||||||
NotificationManagementDAOFactory.closeConnection();
|
NotificationDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
return rows;
|
return rows;
|
||||||
}
|
}
|
||||||
@ -106,23 +100,20 @@ public class NotificationDAOImpl implements NotificationDAO {
|
|||||||
public int updateNotificationStatus(int notificationId, Notification.Status status)
|
public int updateNotificationStatus(int notificationId, Notification.Status status)
|
||||||
throws NotificationManagementException {
|
throws NotificationManagementException {
|
||||||
Connection conn;
|
Connection conn;
|
||||||
PreparedStatement stmt;
|
PreparedStatement stmt = null;
|
||||||
int rows;
|
int rows;
|
||||||
try {
|
try {
|
||||||
NotificationManagementDAOFactory.beginTransaction();
|
|
||||||
conn = NotificationManagementDAOFactory.getConnection();
|
conn = NotificationManagementDAOFactory.getConnection();
|
||||||
String sql = "UPDATE DM_NOTIFICATION SET STATUS = ? WHERE NOTIFICATION_ID = ?";
|
String sql = "UPDATE DM_NOTIFICATION SET STATUS = ? WHERE NOTIFICATION_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
stmt.setString(1, status.toString());
|
stmt.setString(1, status.toString());
|
||||||
stmt.setInt(2, notificationId);
|
stmt.setInt(2, notificationId);
|
||||||
rows = stmt.executeUpdate();
|
rows = stmt.executeUpdate();
|
||||||
NotificationManagementDAOFactory.commitTransaction();
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
NotificationManagementDAOFactory.rollbackTransaction();
|
|
||||||
throw new NotificationManagementException("Error occurred while updating the status of " +
|
throw new NotificationManagementException("Error occurred while updating the status of " +
|
||||||
"Notification id : " + notificationId, e);
|
"Notification id : " + notificationId, e);
|
||||||
} finally {
|
} finally {
|
||||||
NotificationManagementDAOFactory.closeConnection();
|
NotificationDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
return rows;
|
return rows;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,32 @@
|
|||||||
|
#
|
||||||
|
# Copyright 2009 WSO2, Inc. (http://wso2.com)
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# This is the log4j configuration file used by WSO2 Carbon
|
||||||
|
#
|
||||||
|
# IMPORTANT : Please do not remove or change the names of any
|
||||||
|
# of the Appenders defined here. The layout pattern & log file
|
||||||
|
# can be changed using the WSO2 Carbon Management Console, and those
|
||||||
|
# settings will override the settings in this file.
|
||||||
|
#
|
||||||
|
|
||||||
|
log4j.rootLogger=DEBUG, STD_OUT
|
||||||
|
|
||||||
|
# Redirect log messages to console
|
||||||
|
log4j.appender.STD_OUT=org.apache.log4j.ConsoleAppender
|
||||||
|
log4j.appender.STD_OUT.Target=System.out
|
||||||
|
log4j.appender.STD_OUT.layout=org.apache.log4j.PatternLayout
|
||||||
|
log4j.appender.STD_OUT.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
|
||||||
@ -0,0 +1,41 @@
|
|||||||
|
|
||||||
|
<!--
|
||||||
|
~ Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
|
~
|
||||||
|
~ WSO2 Inc. licenses this file to you 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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
|
||||||
|
|
||||||
|
<suite name="DeviceManagementCore">
|
||||||
|
<parameter name="useDefaultListeners" value="false"/>
|
||||||
|
|
||||||
|
<test name="DAO Unit Tests" preserve-order="true">
|
||||||
|
<classes>
|
||||||
|
<class name="org.wso2.carbon.device.mgt.core.common.BaseDeviceManagementTest"/>
|
||||||
|
<class name="org.wso2.carbon.device.mgt.core.dao.DevicePersistTests"/>
|
||||||
|
<class name="org.wso2.carbon.device.mgt.core.DeviceManagementRepositoryTests"/>
|
||||||
|
<class name="org.wso2.carbon.device.mgt.core.DeviceManagementConfigTests"/>
|
||||||
|
<class name="org.wso2.carbon.device.mgt.core.app.mgt.AppManagementConfigurationManagerTest"/>
|
||||||
|
<class name="org.wso2.carbon.device.mgt.core.dao.ApplicationPersistenceTests"/>
|
||||||
|
</classes>
|
||||||
|
</test>
|
||||||
|
<test name="Service Unit Tests" preserve-order="true">
|
||||||
|
<classes>
|
||||||
|
<class name="org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderServiceTest"/>
|
||||||
|
<class name="org.wso2.carbon.device.mgt.core.app.mgt.ApplicationManagementProviderServiceTest"/>
|
||||||
|
</classes>
|
||||||
|
</test>
|
||||||
|
</suite>
|
||||||
Loading…
Reference in New Issue
Block a user