b9156bcdcad03afea3c94af7017090d312e12365
[ccsdk/sli/core.git] / sli / provider / src / test / java / org / openecomp / sdnc / sli / provider / LunchSelectorPlugin.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * openECOMP : SDN-C
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights
6  *                                              reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  * 
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  * 
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.openecomp.sdnc.sli.provider;
23
24 import java.util.Map;
25
26 import org.openecomp.sdnc.sli.SvcLogicContext;
27 import org.openecomp.sdnc.sli.SvcLogicException;
28 import org.openecomp.sdnc.sli.SvcLogicJavaPlugin;
29
30
31
32 public class LunchSelectorPlugin implements SvcLogicJavaPlugin {
33     public class UnknownLunchDayException extends Exception{
34
35         public UnknownLunchDayException(String string) {
36             super(string);
37         }
38
39     }
40     class Sandwhich {
41         String meat;
42         String cheese;
43
44         public Sandwhich(String meat, String cheese) {
45             this.meat = meat;
46             this.cheese = cheese;
47         }
48     }
49
50     public String selectLunch(Map<String, String> parameters, SvcLogicContext ctx) throws Exception {
51         String day = parameters.get("day");
52         if (day == null || day.length() < 1) {
53             throw new UnknownLunchDayException("What day is it?");
54         }
55         switch (day) {
56         case ("monday"): {
57             return "pizza";
58         }
59         case ("tuesday"): {
60             return "soup";
61         }
62         case ("wednesday"): {
63             return "salad";
64         }
65         case ("thursday"): {
66             return "sushi";
67         }
68         case ("friday"): {
69             return "bbq";
70         }
71         }
72         throw new SvcLogicException("Lunch cannot be served");
73     }
74
75     public Sandwhich makeLunch(Map<String, String> parameters, SvcLogicContext ctx) throws SvcLogicException {
76         return new Sandwhich("ham", "american");
77     }
78 }