ex
Fork of mbed-os-example-mbed5-blinky by
Diff: dcs-sdk-java-master/app/src/main/java/com/baidu/duer/dcs/androidsystemimpl/alert/AlertsFileDataStoreImpl.java
- Revision:
- 49:b9eb462f36a9
- Parent:
- 48:c7ee67edcf1d
- Child:
- 50:9ecaa144d1f3
--- a/dcs-sdk-java-master/app/src/main/java/com/baidu/duer/dcs/androidsystemimpl/alert/AlertsFileDataStoreImpl.java Tue Jul 18 16:56:22 2017 +0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
- * Copyright (c) 2017 Baidu, Inc. All Rights Reserved.
- *
- * 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.
- */
-package com.baidu.duer.dcs.androidsystemimpl.alert;
-
-import android.os.Handler;
-
-import com.baidu.duer.dcs.devicemodule.alerts.message.Alert;
-import com.baidu.duer.dcs.systeminterface.IAlertsDataStore;
-import com.baidu.duer.dcs.util.CommonUtil;
-import com.baidu.duer.dcs.util.FileUtil;
-import com.baidu.duer.dcs.util.LogUtil;
-import com.baidu.duer.dcs.util.ObjectMapperUtil;
-
-import org.codehaus.jackson.map.ObjectReader;
-import org.codehaus.jackson.map.ObjectWriter;
-import org.codehaus.jackson.type.TypeReference;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.List;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-/**
- * 持久化alert数据到文件-android中实现
- * <p>
- * Created by guxiuzhong@baidu.com on 2017/5/18.
- */
-public class AlertsFileDataStoreImpl implements IAlertsDataStore {
- private static final String TAG = AlertsFileDataStoreImpl.class.getSimpleName();
- private static final ExecutorService mExecutor = Executors.newSingleThreadExecutor();
- private Handler mHandler = new Handler();
-
- public AlertsFileDataStoreImpl() {
- }
-
- @Override
- public void readFromDisk(final IAlertsDataStore.ReadResultListener listener) {
- mExecutor.execute(new Runnable() {
- @Override
- public void run() {
- FileReader fis;
- BufferedReader br = null;
- ObjectReader reader = ObjectMapperUtil.instance()
- .getObjectReader()
- .withType(new TypeReference<List<Alert>>() {
- });
- try {
- File file = FileUtil.getAlarmFile();
- if (file == null) {
- postReadFailed(listener, "create file failed file is null");
- return;
- }
- fis = new FileReader(file);
- br = new BufferedReader(fis);
- List<Alert> alerts = reader.readValue(br);
- postReadSucceed(listener, alerts);
- } catch (final FileNotFoundException e) {
- postReadFailed(listener, "Failed to load alerts from disk.");
- } catch (IOException e) {
- postReadFailed(listener, e.getMessage());
- } finally {
- CommonUtil.closeQuietly(br);
- }
- }
- });
- }
-
- private void postReadFailed(final IAlertsDataStore.ReadResultListener listener, final String errorMessage) {
- if (listener != null) {
- mHandler.post(new Runnable() {
- @Override
- public void run() {
- listener.onFailed(errorMessage);
- }
- });
- }
- }
-
- private void postReadSucceed(final IAlertsDataStore.ReadResultListener listener, final List<Alert> alerts) {
- if (listener != null) {
- mHandler.post(new Runnable() {
- @Override
- public void run() {
- listener.onSucceed(alerts);
- }
- });
- }
- }
-
- @Override
- public void writeToDisk(final List<Alert> alerts, final IAlertsDataStore.WriteResultListener listener) {
- mExecutor.execute(new Runnable() {
-
- @Override
- public void run() {
- ObjectWriter writer = ObjectMapperUtil.instance().getObjectWriter();
- PrintWriter out = null;
- try {
- File file = FileUtil.getAlarmFile();
- if (file == null) {
- postWriteFailed(listener, "create file failed file is null ");
- return;
- }
- out = new PrintWriter(file);
- out.print(writer.writeValueAsString(alerts));
- out.flush();
- LogUtil.e(TAG, "start postWriteSucceed");
- postWriteSucceed(listener);
- } catch (IOException e) {
- LogUtil.e(TAG, "Failed to write to disk", e);
- postWriteFailed(listener, "Failed to write to disk,error:" + e.getMessage());
- } finally {
- CommonUtil.closeQuietly(out);
- }
- }
- });
- }
-
- private void postWriteFailed(final IAlertsDataStore.WriteResultListener listener, final String errorMessage) {
- if (listener != null) {
- mHandler.post(new Runnable() {
- @Override
- public void run() {
- listener.onFailed(errorMessage);
- }
- });
- }
- }
-
- private void postWriteSucceed(final IAlertsDataStore.WriteResultListener listener) {
- if (listener != null) {
- mHandler.post(new Runnable() {
- @Override
- public void run() {
- listener.onSucceed();
- }
- });
- }
- }
-}
