// Path: elastic-config-console/src/main/java/com/github/config/observer/IObserver.java
// public interface IObserver {
// 
//     /**
//      * 通知
//      * 
//      * @param data
//      */
//     void notified(String data, String value);
// 
// }
// 
// Path: elastic-config-console/src/main/java/com/github/config/observer/ISubject.java
// public interface ISubject {
// 
//     /**
//      * 注册观察者
//      * 
//      * @param watcher
//      */
//     void register(IObserver watcher);
// 
//     /**
//      * 通知观察者
//      * 
//      * @param key
//      * @param value
//      */
//     void notify(String key, String value);
// 
// }
// 
// Path: elastic-config-console/src/main/java/com/github/config/service/IAuthService.java
// public interface IAuthService {
// 
//     boolean checkAuth(String nodeName, String password);
// 
//     boolean auth(String nodeName, String password);
// 
// }
// 
// Path: elastic-config-console/src/main/java/com/github/config/service/IRootNodeRecorder.java
// public interface IRootNodeRecorder {
// 
//     void saveNode(String node);
// 
//     List<String> listNode();
// 
// }


import java.io.Serializable;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import com.github.config.observer.IObserver;
import com.github.config.observer.ISubject;
import com.github.config.service.IAuthService;
import com.github.config.service.IRootNodeRecorder;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
package com.github.config.service.web.mb;




/**
 * 节点授权
 */
@ManagedBean(name = "nodeAuthMB")
@SessionScoped
public class NodeAuthManagedBean implements Serializable, ISubject {

    private static final long serialVersionUID = -5359262798219710859L;

    private String nodeName;

    private String password;

    private String authedNode;

    @ManagedProperty(value = "#{authService}")
// Path: elastic-config-console/src/main/java/com/github/config/observer/IObserver.java
// public interface IObserver {
// 
//     /**
//      * 通知
//      * 
//      * @param data
//      */
//     void notified(String data, String value);
// 
// }
// 
// Path: elastic-config-console/src/main/java/com/github/config/observer/ISubject.java
// public interface ISubject {
// 
//     /**
//      * 注册观察者
//      * 
//      * @param watcher
//      */
//     void register(IObserver watcher);
// 
//     /**
//      * 通知观察者
//      * 
//      * @param key
//      * @param value
//      */
//     void notify(String key, String value);
// 
// }
// 
// Path: elastic-config-console/src/main/java/com/github/config/service/IAuthService.java
// public interface IAuthService {
// 
//     boolean checkAuth(String nodeName, String password);
// 
//     boolean auth(String nodeName, String password);
// 
// }
// 
// Path: elastic-config-console/src/main/java/com/github/config/service/IRootNodeRecorder.java
// public interface IRootNodeRecorder {
// 
//     void saveNode(String node);
// 
//     List<String> listNode();
// 
// }


// Path: elastic-config-console/src/main/java/com/github/config/service/web/mb/NodeAuthManagedBean.java
import java.io.Serializable;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import com.github.config.observer.IObserver;
import com.github.config.observer.ISubject;
import com.github.config.service.IAuthService;
import com.github.config.service.IRootNodeRecorder;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;

package com.github.config.service.web.mb;




/**
 * 节点授权
 */
@ManagedBean(name = "nodeAuthMB")
@SessionScoped
public class NodeAuthManagedBean implements Serializable, ISubject {

    private static final long serialVersionUID = -5359262798219710859L;

    private String nodeName;

    private String password;

    private String authedNode;

    @ManagedProperty(value = "#{authService}")
    private IAuthService authService;