View Javadoc
1   package com.srv4pos.server.api;
2   
3   import com.srv4pos.server.api.activation.ActivationSecurityInfo;
4   import com.srv4pos.server.api.activation.ActivationServiceSample;
5   import com.srv4pos.server.api.auth.AuthServiceSample;
6   import com.srv4pos.server.api.category.CategoryServiceSample;
7   import com.srv4pos.server.api.commodity.CommodityServiceSample;
8   import com.srv4pos.server.api.customization.CustomizationServiceSample;
9   import com.srv4pos.server.api.hairdresser.HairdresserServiceSample;
10  import com.srv4pos.server.api.infrastructure.Logger;
11  import com.srv4pos.server.api.infrastructure.PrintStreamLogger;
12  import com.srv4pos.server.api.infrastructure.credentials.ActivationCredentials;
13  import com.srv4pos.server.api.infrastructure.credentials.SellerCredentials;
14  import com.srv4pos.server.api.infrastructure.http.HttpHelper;
15  import com.srv4pos.server.api.infrastructure.http.HttpUrlTrasport;
16  import com.srv4pos.server.api.infrastructure.http.Transport;
17  import com.srv4pos.server.api.keyboard.KeyboardServiceSample;
18  import com.srv4pos.server.api.keyboardentry.KeyboardEntryServiceSample;
19  import com.srv4pos.server.api.order.OrderServiceSample;
20  import com.srv4pos.server.api.posplus.PosPlusServiceSample;
21  import com.srv4pos.server.api.precept.PreceptServiceSample;
22  import com.srv4pos.server.api.product.ProductServiceSample;
23  import com.srv4pos.server.api.receiptSettings.ReceiptSettingsServiceSample;
24  import com.srv4pos.server.api.registration.RegistrationServiceSample;
25  import com.srv4pos.server.api.restaurant.RestaurantServiceSample;
26  import com.srv4pos.server.api.sale.SaleServiceSample;
27  import com.srv4pos.server.api.sale.SaleSlotServiceSample;
28  import com.srv4pos.server.api.seller.SellerServiceSample;
29  import com.srv4pos.server.api.server.ServerServiceSample;
30  import com.srv4pos.server.api.sync.sample.SynchronizationSample;
31  import com.srv4pos.server.api.tax.TaxServiceSample;
32  import com.srv4pos.server.api.treasurer.TreasurerServiceSample;
33  
34  import java.net.URL;
35  import java.util.Date;
36  
37  import static java.lang.System.out;
38  
39  /**
40   * The tool to diagnoze server.
41   * User: Kirill
42   * Date: 25.07.13 12:27
43   */
44  public class Diagnostics {
45  
46      private static final String CONSTANT_TEST_PRODUCTS = "Test Products";
47      private static final String CONSTANT_SE = "se";
48      private final URL url;
49      private final Logger logger;
50      private boolean jndi;
51  
52      public Diagnostics(URL url, Logger logger, boolean jndi) {
53          this.url = url;
54          this.logger = logger;
55          this.jndi = jndi;
56      }
57  
58      //ToDo : rename all service test to service sample
59      public String run() throws Exception {
60  
61  
62          new ActivationCredentials("fi", "2663459", "PM22500000000000000001009").toAuthentication();
63  
64  
65          String tempCorporateId = ("tmp-" + Integer.toHexString(new Date().toString().hashCode())).toUpperCase(HttpHelper.DEFAULT_LOCALE);
66          ActivationCredentials activationCredentials = null;
67          Transport transport = new HttpUrlTrasport();
68          try {
69              logger.log("Test Activation");
70              ActivationSecurityInfo activationSecurityInfo =
71                      new ActivationServiceSample(url, new SellerCredentials(CONSTANT_SE,  tempCorporateId), transport).test();
72              logger.log("Successfully activated");
73  
74              activationCredentials = new ActivationCredentials(CONSTANT_SE, tempCorporateId, activationSecurityInfo.getApiKey());
75  
76              logger.log("Test security enabled by Seller %s", tempCorporateId);
77              new SellerServiceSample(url, activationCredentials, transport).testSecurityEnabled();
78  
79              logger.log("Test server storage");
80              new ServerServiceSample(url, transport).test(jndi);
81  
82              logger.log("Test handshake");
83              new AuthServiceSample(url, transport).test();
84  
85              logger.log("Test Seller %s", tempCorporateId);
86              new SellerServiceSample(url, activationCredentials, transport).test();
87  
88              logger.log("Test Taxes");
89              new TaxServiceSample(url, activationCredentials, transport).test();
90  
91              logger.log("Test Categories");
92              new CategoryServiceSample(url, activationCredentials, transport).test();
93  
94              logger.log(CONSTANT_TEST_PRODUCTS);
95              new ProductServiceSample(url, activationCredentials, transport).testPictures();
96  
97              logger.log("Test Commodities");
98              new CommodityServiceSample(url, activationCredentials, transport).test();
99  
100             logger.log("Test Seller pictures");
101             new SellerServiceSample(url, activationCredentials, transport).testPictures();
102 
103             logger.log("Test Categories pictures");
104             new CategoryServiceSample(url, activationCredentials, transport).testPictures();
105 
106             final OrderServiceSample orderServiceSample = new OrderServiceSample(url, activationCredentials, transport);
107 
108             logger.log("Test sending Order");
109             orderServiceSample.testSendOrder();
110 
111             logger.log("Test getting Order");
112             orderServiceSample.testGetOrder();
113 
114             logger.log("Test putting Order");
115             orderServiceSample.testPutOrder();
116 
117             logger.log("Test PosPlus");
118             new PosPlusServiceSample(url, activationCredentials, transport).test();
119 
120             logger.log("Test Keyboard");
121             new KeyboardServiceSample(url, activationCredentials, transport).test();
122 
123             logger.log("Test KeyboardEntry");
124             new KeyboardEntryServiceSample(url, activationCredentials, transport).test();
125 
126             logger.log("Test Registration");
127             new RegistrationServiceSample(url, activationCredentials, transport).test();
128 
129             logger.log("Test Restaurant");
130             new RestaurantServiceSample(url, activationCredentials, transport).test();
131 
132             logger.log("Test Hairdresser");
133             new HairdresserServiceSample(url, activationCredentials, transport).test();
134 
135             logger.log("Test Treasurer");
136             new TreasurerServiceSample(url, activationCredentials, transport).test();
137 
138             logger.log("Test Booking");
139             // deactivated since Booking denies activation credentials
140             //new BookingServiceSample(url, activationCredentials, transport).test();
141 
142             logger.log("Test Customization");
143             new CustomizationServiceSample(url, activationCredentials, transport).test();
144 
145             logger.log("Test Receipt Settings");
146             new ReceiptSettingsServiceSample(url, activationCredentials, transport).test();
147 
148             logger.log("Test Sale");
149             new SaleServiceSample(url, activationCredentials, transport).test();
150 
151             logger.log("Test Sale Slot");
152             new SaleSlotServiceSample(url, activationCredentials, transport).test();
153 
154             logger.log("Test Precept");
155             new PreceptServiceSample(url, activationCredentials, transport).test();
156 
157             logger.log("Test Synchronization");
158             new SynchronizationSample(url, activationCredentials, transport).test();
159 
160             logger.log("Test Seller Modifications");
161             new SellerServiceSample(url, activationCredentials, transport).testSellerModifications();
162 
163         } finally {
164             if (activationCredentials != null) {
165                 logger.log("Deleting seller %s", tempCorporateId);
166                 new SellerServiceSample(url, activationCredentials, transport).removeSeller(activationCredentials.getSellerId());
167             }
168         }
169         return tempCorporateId;
170     }
171 
172     public static void main(String[] args) {
173         if (args.length < 2) {
174             out.println(String.format("Usage: java -jar server-api-%s.jar <url> true|false", Registry.VERSION));
175             out.println("       true - server reads settings from jndi");
176             out.println("       false - server uses default setting (database in memory)");
177             System.exit(2);
178         }
179         try {
180             new Diagnostics(Registry.wrap(args[0]), new PrintStreamLogger(out, true), Boolean.valueOf(args[1])).run();
181             out.println("\nEVERYTHING IS OK!!!");
182             System.exit(0);
183             //CHECKSTYLE:OFF IllegalCatch
184         } catch (Exception e) {
185             System.err.println(e.toString());
186             e.printStackTrace(System.err);
187             System.exit(1);
188             //CHECKSTYLE:ON IllegalCatch
189         }
190     }
191 
192 }