Package org.apache.juddi.portlets.client

Source Code of org.apache.juddi.portlets.client.SubscriptionTreePanel

/*
* Copyright 2001-2009 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file 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.
*
*/
package org.apache.juddi.portlets.client;

import java.util.List;

import org.apache.juddi.portlets.client.model.Node;
import org.apache.juddi.portlets.client.model.Subscription;
import org.apache.juddi.portlets.client.service.SubscriptionResponse;
import org.apache.juddi.portlets.client.service.SubscriptionService;
import org.apache.juddi.portlets.client.service.SubscriptionServiceAsync;

import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Tree;
import com.google.gwt.user.client.ui.TreeItem;
import com.google.gwt.user.client.ui.TreeListener;

public class SubscriptionTreePanel extends Composite implements TreeListener {

  private Tree subscriptionTree;
  private Node selectedNode=null;
  private SubscriptionServiceAsync subscriptionService = (SubscriptionServiceAsync) GWT.create(SubscriptionService.class);
 
  public SubscriptionTreePanel() {
    subscriptionTree = new Tree(UDDIBrowser.images);
    subscriptionTree.addTreeListener(this);
    initWidget(subscriptionTree);
  }
 
  public void loadSubscriptions() {
    getSubscriptions();
  }
 
  protected void getSubscriptions() {

    subscriptionService.getSubscriptions(new AsyncCallback<SubscriptionResponse>()
    {
      public void onFailure(Throwable caught) {
        Window.alert("Error:" + caught.getMessage());
      }

      public void onSuccess(SubscriptionResponse response) {
        if (response.isSuccess()) {
          List<Node> nodes = response.getNodes();
          System.out.println("Nodes=" + nodes);
          for (Node node : nodes) {
            String statusImg = UDDIBrowser.images.down().getHTML();
            if ("Up".equals(node.getStatus())) {
              statusImg = UDDIBrowser.images.up().getHTML();
            }
            TreeItem nodeTree = new TreeItem(statusImg + " " + node.getName());
            nodeTree.setUserObject(node);
            nodeTree.setStyleName("portlet-form-field-label");
            nodeTree.setState(true);
            nodeTree.setUserObject(node);
           
            if (node.getStatus().startsWith("D")) {
              TreeItem statItem = new TreeItem(node.getStatus());
              statItem.setStyleName("portlet-form-field-label");
              statItem.setUserObject(node);
              nodeTree.addItem(statItem);
            }
           
            TreeItem descItem = new TreeItem(UDDIBrowser.images.description().getHTML() + " " + node.getDescription());
            descItem.setStyleName("portlet-form-field-label");
            descItem.setUserObject(node);
            nodeTree.addItem(descItem);
           
            for (Subscription subcription : node.getSubscriptions()) {
              TreeItem subcriptionItem = new TreeItem(UDDIBrowser.images.subscription().getHTML() + " "
                  + subcription.getSubscriptionKey());
              subcriptionItem.setStyleName("portlet-form-field-label");
              subcription.setNode(node);
              subcriptionItem.setUserObject(subcription);
              nodeTree.addItem(subcriptionItem);
            }

            subscriptionTree.addItem(nodeTree);
          }
         
        } else {
          Window.alert("error" + response.getMessage());
        }
      }
    });
  }
 

  public void onTreeItemSelected(TreeItem treeItem) {
   
    if (treeItem.getUserObject()!=null && Node.class.equals(treeItem.getUserObject().getClass())) {
      Node node = (Node) treeItem.getUserObject();
      selectedNode = node;
      System.out.println("Selected " + selectedNode);
    }
    if (treeItem.getUserObject()!=null && Subscription.class.equals(treeItem.getUserObject().getClass())) {
      Subscription subscription = (Subscription) treeItem.getUserObject();
      UDDISubscription.getInstance().displaySubscription(subscription);
      selectedNode = subscription.getNode();
      System.out.println("Selected " + selectedNode);
    }
  }

  public void onTreeItemStateChanged(TreeItem arg0) {
    // TODO Auto-generated method stub
    System.out.println("StateChanged " + arg0.getText());
  }
 
  public Node getSelectedNode() {
    return selectedNode;
  }

  public Tree getSubscriptionTree() {
    return subscriptionTree;
  }
 
}
TOP

Related Classes of org.apache.juddi.portlets.client.SubscriptionTreePanel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.