summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/menu/MenuProperties.java
blob: 18f3f83e7f12bcc4e250420b15373d0cdfee4f73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/*
 * ============LICENSE_START==========================================
 * ONAP Portal SDK
 * ===================================================================
 * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
 * ===================================================================
 *
 * Unless otherwise specified, all software contained herein is licensed
 * under the Apache License, Version 2.0 (the “License”);
 * you may not use this software 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.
 *
 * Unless otherwise specified, all documentation contained herein is licensed
 * under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
 * you may not use this documentation except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *             https://creativecommons.org/licenses/by/4.0/
 *
 * Unless required by applicable law or agreed to in writing, documentation
 * 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.
 *
 * ============LICENSE_END============================================
 *
 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
 */
package org.onap.portalsdk.core.menu;

import java.io.IOException;
import java.util.HashMap;
import java.util.Properties;

import javax.servlet.ServletContext;

import org.onap.portalsdk.core.util.SystemProperties;


/*
  MenuProperties contains a list of constants used during the creation,
  privilege screening, and rendering of the application menu.
*/
public class MenuProperties {
  private MenuProperties() {
    // cannot instantiate
  }

  @SuppressWarnings("rawtypes")
  private static HashMap menuProperties = new HashMap();

  // keys used to reference values in the menu.properties file
  public static final String WIDTH         	        = "width";
  public static final String LEFT_POSITION 	        = "left_position";
  public static final String TOP_POSITION  	        = "top_position";
  public static final String FONT_COLOR    	        = "font_color";
  public static final String MOUSEOVER_FONT_COLOR       = "mouseover_font_color";
  public static final String BACKGROUND_COLOR           = "background_color";
  public static final String MOUSEOVER_BACKGROUND_COLOR = "mouseover_background_color";
  public static final String BORDER_COLOR               = "border_color";
  public static final String SEPARATOR_COLOR            = "separator_color";
  public static final String IMAGE_SRC                  = "image_src";
  public static final String IMAGE_SRC_LEFT             = "image_src_left";
  public static final String IMAGE_SRC_OVER             = "image_src_over";
  public static final String IMAGE_SRC_LEFT_OVER        = "image_src_left_over";
  public static final String EVALUATE_UPON_TREE_SHOW    = "evaluate_upon_tree_show";
  public static final String EVALUATE_UPON_TREE_HIDE    = "evaluate_upon_tree_hide";
  public static final String TOP_IS_PERMANENT           = "top_is_permanent";
  public static final String TOP_IS_HORIZONTAL          = "top_is_horizontal";
  public static final String TREE_IS_HORIZONTAL         = "tree_is_horizontal";
  public static final String POSITION_UNDER             = "position_under";
  public static final String TOP_MORE_IMAGES_VISIBLE    = "top_more_images_visible";
  public static final String TREE_MORE_IMAGES_VISIBLE   = "tree_more_images_visible";
  public static final String RIGHT_TO_LEFT              = "right_to_left";
  public static final String DISPLAY_ON_CLICK           = "display_on_click";
  public static final String TOP_IS_VARIABLE_WIDTH      = "top_is_variable_width";
  public static final String TREE_IS_VARIABLE_WIDTH     = "tree_is_variable_width";
  public static final String TOP_KEEP_IN_WINDOW_X       = "top_keep_in_window_x";
  public static final String TOP_KEEP_IN_WINDOW_Y       = "top_keep_in_window_y";
  public static final String MENU_ID_ADMIN  	        = "menu_id_admin";
  public static final String MENU_ID_LOGOUT 	        = "menu_id_logout";
  public static final String MENU_FRAME 		= "menu_frame";
  public static final String MAIN_FRAME 		= "main_frame";
  public static final String NESTED_MAIN_FRAME		= "nested_main_frame";
  public static final String ROLE_FUNCTIONS_TAG         = "role_functions_tag";

  public static final String MAX_DISPLAYABLE_ADMIN_MENU_SORT_ORDER = "max_displayable_admin_menu_sort_order";
  public static final String MENU_PROPERTIES_FILENAME_KEY          = "menu_properties_filename";
  public static final String DEFAULT_SERVLET_NAME                  = "dispatcher";
  public static final String DEFAULT_TARGET                        = "_self";

  public static final String TOP_MENU_CLASS        = "top_menu_class";
  public static final String TOP_MENU_LINK_CLASS   = "top_menu_link_class";

  public static final String ON_MOUSE_OUT_TRAILER  = "on_mouse_out_trailer";
  public static final String ON_MOUSE_OVER_TRAILER = "on_mouse_over_trailer";
  public static final String ON_CLICK_TRAILER	   = "on_click_trailer";

  public static final String MENU_ID_PREFIX	   = "menu_id_prefix";


  @SuppressWarnings("unchecked")
  public static void loadFromFile(ServletContext servletContext, String filename, String menuSetName) throws IOException {
    Properties    p = new Properties();

    if (filename == null) {
      filename = SystemProperties.getProperty(SystemProperties.APPLICATION_MENU_PROPERTIES_NAME);
    }

    p.load(servletContext.getResourceAsStream(SystemProperties.getProperty(SystemProperties.MENU_PROPERTIES_FILE_LOCATION) + filename));
    menuProperties.put(menuSetName, p);
   } // loadMenuProperties

  public static String getProperty(String key) {
    return getProperty(key, SystemProperties.getProperty(SystemProperties.APPLICATION_MENU_SET_NAME));
  }

  public static String getProperty(String key, String menuSetName) {
    Properties p = (Properties)menuProperties.get(menuSetName);
    return p.getProperty(key);
  }

}