Compare commits

..

1 Commits

Author SHA1 Message Date
ralphlee
f65370a0dd [WIFI-7323] do not automatically delete PROTOCOL status on AP disconnect 2022-03-18 17:14:24 -04:00
12 changed files with 60 additions and 150 deletions

View File

@@ -262,7 +262,7 @@ public class AlarmController {
public AlarmCounts getAlarmCounts(@RequestParam int customerId,
@RequestParam Set<Long> equipmentIdSet,
@RequestParam Set<AlarmCode> alarmCodeSet,
@RequestParam(required = false) Boolean acknowledged) {
@RequestParam Boolean acknowledged) {
LOG.debug("Getting Alarm counts for {} {} {} {}", customerId, equipmentIdSet, alarmCodeSet, acknowledged);

View File

@@ -11,7 +11,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.cache.Cache;
import org.springframework.cache.CacheManager;
import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@@ -33,8 +32,8 @@ public class CloudEventDispatcherController {
private static final Logger LOG = LoggerFactory.getLogger(CloudEventDispatcherController.class);
@Autowired @Qualifier("metricStreamInterface") @Lazy private StreamInterface<ServiceMetric> metricStream;
@Autowired @Qualifier("eventStreamInterface") @Lazy private StreamInterface<SystemEventRecord> systemEventStream;
@Autowired @Qualifier("metricStreamInterface") private StreamInterface<ServiceMetric> metricStream;
@Autowired @Qualifier("eventStreamInterface") private StreamInterface<SystemEventRecord> systemEventStream;
@Autowired private ServiceMetricServiceInterface serviceMetricInterface;
@Autowired private SystemEventServiceInterface systemEventInterface;

View File

@@ -209,7 +209,6 @@ public class CustomerFirmwareTrackDAO extends BaseJdbcDao {
return copy;
}
@Transactional(noRollbackFor = { EmptyResultDataAccessException.class })
public CustomerFirmwareTrackRecord getCustomerFirmwareTrackRecord(int customerId) {
CustomerFirmwareTrackRecord ret = null;
try {

View File

@@ -57,7 +57,6 @@ public interface FirmwareServiceInterface {
CustomerFirmwareTrackRecord updateCustomerFirmwareTrackRecord(CustomerFirmwareTrackRecord record);
CustomerFirmwareTrackRecord deleteCustomerFirmwareTrackRecord(int customerId);
CustomerFirmwareTrackSettings getDefaultCustomerTrackSetting();
CustomerFirmwareTrackSettings updateDefaultCustomerTrackSetting(CustomerFirmwareTrackSettings defaultSettings);
/**
* @param equipmentType

View File

@@ -81,9 +81,6 @@ public class FirmwareServiceLocal implements FirmwareServiceInterface {
public CustomerFirmwareTrackSettings getDefaultCustomerTrackSetting() {
return firmwareController.getDefaultCustomerTrackSetting();
}
public CustomerFirmwareTrackSettings updateDefaultCustomerTrackSetting(CustomerFirmwareTrackSettings defaultSettings) {
return firmwareController.updateDefaultCustomerTrackSetting(defaultSettings);
}
public CustomerFirmwareTrackRecord getCustomerFirmwareTrackRecord(int customerId) {
return firmwareController.getCustomerFirmwareTrackRecord(customerId);
}

View File

@@ -387,21 +387,6 @@ public class FirmwareServiceRemote extends BaseRemoteClient implements FirmwareS
return ret;
}
@Override
public CustomerFirmwareTrackSettings updateDefaultCustomerTrackSetting(CustomerFirmwareTrackSettings defaultSettings) {
LOG.debug("calling updateDefaultCustomerTrackSetting {} ", defaultSettings);
ResponseEntity<CustomerFirmwareTrackSettings> responseEntity = restTemplate.exchange(
getBaseUrl()
+"/customerTrack/default", HttpMethod.PUT, null,
CustomerFirmwareTrackSettings.class, defaultSettings);
CustomerFirmwareTrackSettings ret = responseEntity.getBody();
LOG.debug("completed updateDefaultCustomerTrackSetting {} ", ret);
return ret;
}
}

View File

@@ -2,6 +2,8 @@ package com.telecominfraproject.wlan.firmware.controller;
import java.util.List;
import javax.annotation.PostConstruct;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -20,11 +22,11 @@ import com.telecominfraproject.wlan.datastore.exceptions.DsEntityNotFoundExcepti
import com.telecominfraproject.wlan.firmware.datastore.FirmwareDatastore;
import com.telecominfraproject.wlan.firmware.models.CustomerFirmwareTrackRecord;
import com.telecominfraproject.wlan.firmware.models.CustomerFirmwareTrackSettings;
import com.telecominfraproject.wlan.firmware.models.CustomerFirmwareTrackSettings.TrackFlag;
import com.telecominfraproject.wlan.firmware.models.FirmwareTrackAssignmentDetails;
import com.telecominfraproject.wlan.firmware.models.FirmwareTrackAssignmentRecord;
import com.telecominfraproject.wlan.firmware.models.FirmwareTrackRecord;
import com.telecominfraproject.wlan.firmware.models.FirmwareVersion;
import com.telecominfraproject.wlan.firmware.models.CustomerFirmwareTrackSettings.TrackFlag;
import com.telecominfraproject.wlan.systemevent.models.SystemEvent;
@@ -42,11 +44,35 @@ public class FirmwareController {
@Autowired private FirmwareDatastore firmwareDatastore;
@Autowired private CloudEventDispatcherInterface cloudEventDispatcher;
@Autowired Environment environment;
/*
* FirmwareVersion API
*/
CustomerFirmwareTrackSettings defaultCustomerTrackSettings;
@PostConstruct
private void postConstruct() {
defaultCustomerTrackSettings = new CustomerFirmwareTrackSettings();
defaultCustomerTrackSettings.setAutoUpgradeDeprecatedOnBind(environment
.getProperty("whizcontrol.autoupgrade.deprecated", TrackFlag.class, TrackFlag.NEVER));
defaultCustomerTrackSettings.setAutoUpgradeUnknownOnBind(environment
.getProperty("whizcontrol.autoupgrade.unknown", TrackFlag.class, TrackFlag.NEVER));
defaultCustomerTrackSettings.setAutoUpgradeDeprecatedDuringMaintenance(environment.getProperty(
"whizcontrol.maintenanceupgrade.deprecated", TrackFlag.class, TrackFlag.NEVER));
defaultCustomerTrackSettings.setAutoUpgradeUnknownDuringMaintenance(environment
.getProperty("whizcontrol.maintenanceupgrade.unknown", TrackFlag.class, TrackFlag.NEVER));
LOG.info("Default CustomerFirmwareTrackSettings: {}", defaultCustomerTrackSettings);
}
private void publishEvent(SystemEvent event) {
if (event == null) {
return;
}
try {
cloudEventDispatcher.publishEvent(event);
} catch (Exception e) {
LOG.error("Failed to publish event : {}", event, e);
}
}
@RequestMapping(value = "/version", method = RequestMethod.POST)
public FirmwareVersion createFirmwareVersion(@RequestBody FirmwareVersion firmwareVersion) {
@@ -123,10 +149,6 @@ public class FirmwareController {
return ret;
}
/*
* FirmwareTrackRecord API
*/
@RequestMapping(value = "/track", method = RequestMethod.POST)
public FirmwareTrackRecord createFirmwareTrack(@RequestBody FirmwareTrackRecord firmwareTrack) {
LOG.debug("calling createFirmwareTrack({})", firmwareTrack);
@@ -171,10 +193,7 @@ public class FirmwareController {
return result;
}
/*
* FirmwareTrackAssignmentDetails API
*/
@RequestMapping(value = "/trackAssignment", method = RequestMethod.GET)
public List<FirmwareTrackAssignmentDetails> getFirmwareTrackAssignments (
@RequestParam String firmwareTrackName) {
@@ -201,50 +220,33 @@ public class FirmwareController {
FirmwareTrackAssignmentDetails result = new FirmwareTrackAssignmentDetails(assignment, version);
return result;
}
/*
* CustomerFirmwareTrackSettings API
*/
@RequestMapping(value = "/customerTrack/default", method = RequestMethod.GET)
public CustomerFirmwareTrackSettings getDefaultCustomerTrackSetting() {
CustomerFirmwareTrackRecord defaultRecord = firmwareDatastore.getCustomerFirmwareTrackRecord(0);
if (defaultRecord == null) {
LOG.debug("No default record exists, creating the default");
defaultRecord = new CustomerFirmwareTrackRecord();
defaultRecord.setCustomerId(0);
CustomerFirmwareTrackSettings defaultSettings = new CustomerFirmwareTrackSettings();
defaultSettings.setAutoUpgradeDeprecatedOnBind(TrackFlag.NEVER);
defaultSettings.setAutoUpgradeUnknownOnBind(TrackFlag.NEVER);
defaultSettings.setAutoUpgradeDeprecatedDuringMaintenance(TrackFlag.NEVER);
defaultSettings.setAutoUpgradeUnknownDuringMaintenance(TrackFlag.NEVER);
defaultRecord.setSettings(defaultSettings);
defaultRecord.setTrackRecordId(firmwareDatastore.getFirmwareTrackByName("DEFAULT").getRecordId());
defaultRecord = firmwareDatastore.createCustomerFirmwareTrackRecord(defaultRecord);
if (defaultCustomerTrackSettings == null) {
if (defaultCustomerTrackSettings == null) {
defaultCustomerTrackSettings = new CustomerFirmwareTrackSettings();
defaultCustomerTrackSettings.setAutoUpgradeDeprecatedOnBind(environment
.getProperty("whizcontrol.autoupgrade.deprecated", TrackFlag.class, TrackFlag.NEVER));
defaultCustomerTrackSettings.setAutoUpgradeUnknownOnBind(environment
.getProperty("whizcontrol.autoupgrade.unknown", TrackFlag.class, TrackFlag.NEVER));
defaultCustomerTrackSettings.setAutoUpgradeDeprecatedDuringMaintenance(environment.getProperty(
"whizcontrol.maintenanceupgrade.deprecated", TrackFlag.class, TrackFlag.NEVER));
defaultCustomerTrackSettings.setAutoUpgradeUnknownDuringMaintenance(environment
.getProperty("whizcontrol.maintenanceupgrade.unknown", TrackFlag.class, TrackFlag.NEVER));
LOG.info("Default CustomerFirmwareTrackSettings: {}", defaultCustomerTrackSettings);
}
}
return defaultRecord.getSettings();
return defaultCustomerTrackSettings;
}
@RequestMapping(value = "/customerTrack/default", method = RequestMethod.PUT)
public CustomerFirmwareTrackSettings updateDefaultCustomerTrackSetting(@RequestBody CustomerFirmwareTrackSettings customerTrackSettings) {
CustomerFirmwareTrackRecord defaultRecord = firmwareDatastore.getCustomerFirmwareTrackRecord(0);
if (defaultRecord == null) {
defaultRecord = new CustomerFirmwareTrackRecord();
defaultRecord.setCustomerId(0);
defaultRecord.setSettings(customerTrackSettings);
defaultRecord.setTrackRecordId(firmwareDatastore.getFirmwareTrackByName("DEFAULT").getRecordId());
return firmwareDatastore.createCustomerFirmwareTrackRecord(defaultRecord).getSettings();
}
defaultRecord.setSettings(customerTrackSettings);
return firmwareDatastore.updateCustomerFirmwareTrackRecord(defaultRecord).getSettings();
}
@RequestMapping(value = "/customerTrack", method = RequestMethod.GET)
public CustomerFirmwareTrackRecord getCustomerFirmwareTrackRecord(@RequestParam int customerId) {
LOG.debug("calling getCustomerFirmwareTrackRecord({})", customerId);
return firmwareDatastore.getCustomerFirmwareTrackRecord(customerId);
}
@RequestMapping(value = "/customerTrack", method = RequestMethod.POST)
public CustomerFirmwareTrackRecord createCustomerFirmwareTrackRecord(@RequestBody CustomerFirmwareTrackRecord customerTrack) {
@@ -253,6 +255,7 @@ public class FirmwareController {
return result;
}
@RequestMapping(value = "/customerTrack", method = RequestMethod.PUT)
public CustomerFirmwareTrackRecord updateCustomerFirmwareTrackRecord(@RequestBody CustomerFirmwareTrackRecord customerTrack) {
LOG.debug("calling updateCustomerFirmwareTrackRecord({})", customerTrack);
@@ -267,6 +270,8 @@ public class FirmwareController {
}
return result;
}
@RequestMapping(value = "/customerTrack", method = RequestMethod.DELETE)
public CustomerFirmwareTrackRecord deleteCustomerFirmwareTrackRecord(@RequestParam int customerId) {
@@ -274,17 +279,6 @@ public class FirmwareController {
CustomerFirmwareTrackRecord result = firmwareDatastore.deleteCustomerFirmwareTrackRecord(customerId);
return result;
}
private void publishEvent(SystemEvent event) {
if (event == null) {
return;
}
try {
cloudEventDispatcher.publishEvent(event);
} catch (Exception e) {
LOG.error("Failed to publish event : {}", event, e);
}
}
}

View File

@@ -619,12 +619,11 @@ paths:
$ref: '#/components/schemas/FirmwareTrackAssignmentDetails'
500:
$ref: '#/components/responses/GenericApiError'
/api/firmware/customerTrack/default:
get:
tags:
- Firmware Data
summary: Get customer firmware track settings, if it doesn't exist, create it
summary: Get customer firmware track settings
operationId: getCustomerFirmwareTrackSettings
responses:
200:
@@ -635,27 +634,6 @@ paths:
$ref: '#/components/schemas/CustomerFirmwareTrackSettings'
500:
$ref: '#/components/responses/GenericApiError'
put:
tags:
- Firmware Data
summary: Update customer firmware track settings, if it doesn't exist, create it
operationId: updateCustomerFirmwareTrackSettings
requestBody:
description: CustomerFirmwareTrackSettings
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerFirmwareTrackSettings'
responses:
200:
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerFirmwareTrackSettings'
500:
$ref: '#/components/responses/GenericApiError'
/api/firmware/customerTrack:
post:

View File

@@ -173,11 +173,6 @@ public class FirmwarePortalController {
return firmwareServiceInterface.getDefaultCustomerTrackSetting();
}
@RequestMapping(value = "/customerTrack/default", method = RequestMethod.PUT)
public CustomerFirmwareTrackSettings updateDefaultCustomerTrackSetting(@RequestBody CustomerFirmwareTrackSettings defaultSettings) {
LOG.debug("calling updateDefaultCustomerTrackSetting({})", defaultSettings);
return firmwareServiceInterface.updateDefaultCustomerTrackSetting(defaultSettings);
}
@RequestMapping(value = "/customerTrack", method = RequestMethod.GET)
public CustomerFirmwareTrackRecord getCustomerFirmwareTrackRecord(@RequestParam int customerId) {

View File

@@ -10371,7 +10371,7 @@ paths:
get:
tags:
- Firmware Management
summary: Get default settings for handling automatic firmware upgrades, if it doesn't exist, create it
summary: Get default settings for handling automatic firmware upgrades
operationId: getDefaultCustomerTrackSetting
responses:
200:
@@ -10382,27 +10382,6 @@ paths:
$ref: '#/components/schemas/CustomerFirmwareTrackSettings'
500:
$ref: '#/components/responses/GenericApiError'
put:
tags:
- Firmware Management
summary: Update default settings for handling automatic firmware upgrades, if it doesn't exist, create it
operationId: updateDefaultCustomerTrackSetting
requestBody:
description: CustomerFirmwareTrackSettings
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerFirmwareTrackSettings'
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerFirmwareTrackSettings'
500:
$ref: '#/components/responses/GenericApiError'
/portal/firmware/customerTrack:
post:

View File

@@ -167,7 +167,6 @@ public class EquipmentConfigPushTrigger extends StreamProcessor {
private void process(EquipmentRemovedEvent model) {
LOG.debug("Processing EquipmentRemovedEvent");
equipmentGatewayInterface.sendCommand(new CEGWCloseSessionRequest(model.getPayload().getInventoryId(), model.getEquipmentId()));
cleanUpClientSessions(model.getPayload());
}
private void process(ProfileAddedEvent model) {
@@ -295,21 +294,6 @@ public class EquipmentConfigPushTrigger extends StreamProcessor {
} else {
LOG.info("There are no existing client sessions that are not already in Disconnected state.");
}
}
private void cleanUpClientSessions(Equipment ce) {
LOG.info("EquipmentConfigPushTrigger::cleanUpClientSessions for Equipment {}", ce);
PaginationResponse<ClientSession> clientSessions = clientServiceInterface.getSessionsForCustomer(
ce.getCustomerId(), Set.of(ce.getId()), Set.of(ce.getLocationId()), null, null,
new PaginationContext<ClientSession>(100));
if (clientSessions.getItems().isEmpty() || clientSessions == null) {
LOG.info("There are no existing client sessions to clean up.");
return;
}
clientSessions.getItems().stream().forEach(c -> clientServiceInterface.deleteSession(c.getCustomerId(), c.getEquipmentId(), c.getMacAddress()));
LOG.info("Cleaned up client sessions for deleted Equipment {}", ce.getId());
}
}

View File

@@ -257,6 +257,7 @@ public class SystemEventDatastoreInMemory extends BaseInMemoryDatastore implemen
if (mdl.getEventTimestamp() > eqptStats.getLastEventTime()) {
eqptStats.setLastEventTime(mdl.getEventTimestamp());
}
items.add(mdl);
}
List<EquipmentEventStats> equipmentStats = new ArrayList<>();