package org.onehippo.forge.konakart.common.engine; import org.onehippo.forge.konakart.common.jcr.HippoModuleConfig; import org.onehippo.forge.utilities.commons.NodeUtils; import javax.jcr.Node; import javax.jcr.RepositoryException; import javax.jcr.Session; public class KKAdminEngineConfig { public static final String ADMIN_ENGINE_CONFIG_NODE_PATH = HippoModuleConfig.KONAKART_KONAKART_PATH + "/konakart:adminengine"; public static final String ADMIN_USERNAME_PROPERTY = "konakart:adminusername"; public static final String ADMIN_PASSWORD_PROPERTY = "konakart:adminpassword"; public static final String ADMIN_STORE_ID_PROPERTY = "konakart:defaultstoreid"; public static final String ADMIN_ENGINEMODE_PROPERTY = "konakart:enginemode"; public static final String ADMIN_IS_CUSTOMERS_SHARED_PROPERTY = "konakart:iscustomersshared"; public static final String ADMIN_IS_PRODUCTS_SHARED_PROPERTY = "konakart:isproductsshared"; public static final String ADMIN_IS_CATEGORIES_SHARED_PROPERTY = "konakart:iscategoriesshared"; private String username; private String password; private String storeId; private int engineMode; private boolean isCustomersShared; private boolean isProductsShared; private boolean isCategoriesShared; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getStoreId() { return storeId; } public void setStoreId(String storeId) { this.storeId = storeId; } public int getEngineMode() { return engineMode; } public void setEngineMode(long engineMode) { this.engineMode = (int) engineMode; } public boolean isCustomersShared() { return isCustomersShared; } public void setCustomersShared(boolean customersShared) { isCustomersShared = customersShared; } public boolean isProductsShared() { return isProductsShared; } public void setProductsShared(boolean productsShared) { isProductsShared = productsShared; } public boolean isCategoriesShared() { return isCategoriesShared; } public void setCategoriesShared(boolean categoriesShared) { isCategoriesShared = categoriesShared; } /** * @param session the Jcr session */ public void loadAdminEngineConfiguration(Session session) { try { Node node = session.getNode(ADMIN_ENGINE_CONFIG_NODE_PATH); setUsername(NodeUtils.getString(node, ADMIN_USERNAME_PROPERTY)); setPassword(NodeUtils.getString(node, ADMIN_PASSWORD_PROPERTY)); setStoreId(NodeUtils.getString(node, ADMIN_STORE_ID_PROPERTY)); setEngineMode(NodeUtils.getLong(node, ADMIN_ENGINEMODE_PROPERTY, 0L)); setCustomersShared(NodeUtils.getBoolean(node, ADMIN_IS_CUSTOMERS_SHARED_PROPERTY, false)); setProductsShared(NodeUtils.getBoolean(node, ADMIN_IS_PRODUCTS_SHARED_PROPERTY, false)); setCategoriesShared(NodeUtils.getBoolean(node, ADMIN_IS_CATEGORIES_SHARED_PROPERTY, false)); } catch (RepositoryException e) { throw new IllegalStateException("Failed to load client engine mapping. Check the " + ADMIN_ENGINE_CONFIG_NODE_PATH + " node.", e); } } }