##### Coverage Report - jp.co.y_net.amm.api.ApiPage

Classes in this File | Line Coverage | Branch Coverage | Complexity

ApiPage

0% | 0/25

N/A | N/A

1.5714285714285714;1.571

ApiPage$ApiResult

0% | 0/27

0% | 0/8

1.5714285714285714;1.571

1

     package jp.co.y_net.amm.api;

2

3

     import org.apache.wicket.markup.html.WebPage;

4

     import org.apache.wicket.request.handler.resource.ResourceStreamRequestHandler;

5

     import org.apache.wicket.request.http.WebResponse;

6

     import org.apache.wicket.util.resource.StringResourceStream;

7

     import org.apache.wicket.util.time.Time;

8

9

     import com.fasterxml.jackson.core.JsonProcessingException;

10

     import com.fasterxml.jackson.databind.ObjectMapper;

11

12

     /**

13

      * @author k_inaba

14

      */

15

0

     public abstract class ApiPage extends WebPage{

16

17

         @Override

18

         protected void configureResponse(WebResponse response){

19

0

     //        response.setContentType("application/json; charset=utf-8");

20

0

             response.setContentType("application/json; utf-8");

21

22

            /* ブラウザキャッシュ無効化 */

23

0

            java.util.Calendar objCal1=java.util.Calendar.getInstance();

24

0

            java.util.Calendar objCal2=java.util.Calendar.getInstance();

25

0

            objCal2.set(1970,0,1,0,0,0);

26

27

0

            response.setDateHeader("Last-Modified",Time.valueOf(objCal1.getTime()));

28

0

            response.setDateHeader("Expires",Time.valueOf(objCal2.getTime()));

29

0

            response.setHeader("progma","no-cache");

30

0

            response.setHeader("Cache-Control","no-cache");

31

0

32

0

33

0

            super.configureResponse(response);

34

0

         }

35

36

0

         public void setResponse(Object result) {

37

0

             ObjectMapper objectMapper = new ObjectMapper();

38

             String json;

39

0

             try {

40

0

                 json = objectMapper.writeValueAsString(result);

41

0

             } catch (JsonProcessingException e) {

42

0

                 throw new RuntimeException(e);

43

             }

44

0

45

0

             getRequestCycle().scheduleRequestHandlerAfterCurrent(

46

0

                new ResourceStreamRequestHandler(new StringResourceStream(json))

47

0

             );

48

0

         }

49

     //    /* ----------------------------------------------

50

     //     * パラメータ取得ユーティリティ

51

     //     */

52

     //    protected String getParam(String key) {

53

     //        if (getPageParameters() == null) {

54

     //            return "";

55

     //        } else {

56

     //            return getPageParameters().get(key).toString("");

57

     //        }

58

     //    }

59

60

         /* ----------------------------------------------

61

          * 返却値の共通実装

62

          */

63

         public static class ApiResult{

64

0

65

0

             public boolean r = true;

66

0

             public String rmsg = null;

67

0

68

0

             public ApiResult() {

69

0

                 /* デフォルトコンストラクタ */

70

0

             }

71

0

             public ApiResult(String rmsg) {

72

0

                 this.r = false;

73

0

                 this.rmsg = rmsg;

74

0

           }

75

0

             public ApiResult(Exception e) {

76

0

                 this.rmsg = e.getMessage();

77

0

                 if (rmsg == null) {

78

0

                     this.rmsg = e.getClass().getSimpleName();

79

0

                 }

80

0

             }

81

0

             public ApiResult err(String rmsg) {

82

0

                 this.r = false;

83

0

                 this.rmsg = rmsg;

84

0

                 return this;

85

             }

86

0

             public ApiResult err(Exception e) {

87

0

                 this.rmsg = e.getMessage();

88

0

                 if (rmsg == null) {

89

0

                     this.rmsg = e.getClass().getSimpleName();

90

0

                 }

91

0

                 return this;

92

             }

93

         }

94

95

     }

96

     //// String text = "{\"a\":123,\"b\":true,\"c\":\"あいう\"}";

97

     //String text = readTextAsString(file.getAbsolutePath());

98

     //ObjectMapper mapper = new ObjectMapper();

99

     //T bean;

100

     //try {

101

     //   // JsonNode root = mapper.readTree(text);

102

     //   // String c = root.get("c").asText();

103

     //   bean = mapper.readValue(text, clz);

104

     //} catch (JsonProcessingException e) {

105

     //   throw new RuntimeException(e);

106

     //} catch (IOException e) {

107

     //   throw new RuntimeException(e);

108

     //}

109

110

111

     ///**

112

     //* 保存する

113

     //* @param bean 保存するデータ

114

     //* @return id 保存したときに付与されたid

115

     //*/

116

     //public int insert(Object bean) {

117

     //   String tablename = bean.getClass().getName();

118

     //   int maxId = -1;

119

     //   File[] existfiles = getDbFiles(tablename);

120

     //   for (File existfile : existfiles) {

121

     //        int id = toId(existfile.getName(), tablename);

122

     //        maxId = Math.max(maxId, id);

123

     //   }

124

     //   int insertId = maxId + 1;

125

     //   ObjectMapper objectMapper = new ObjectMapper();

126

     //   try {

127

     //        String json = objectMapper.writeValueAsString(bean);

128

     //        File f = toFile(bean.getClass(), (insertId));

129

     //        writeText(f.getAbsolutePath(), json);

130

     //   } catch (JsonProcessingException e) {

131

     //        throw new RuntimeException(e);

132

     //   }

133

     //   return insertId;

134

     //}

135