com.ibm.xsp.extlib.designer.tooling.panels.model.NodeLabelProvider.java Source code

Java tutorial

Introduction

Here is the source code for com.ibm.xsp.extlib.designer.tooling.panels.model.NodeLabelProvider.java

Source

/*
 *  Copyright IBM Corp. 2011
 * 
 * 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 com.ibm.xsp.extlib.designer.tooling.panels.model;

import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.swt.graphics.Image;
import org.w3c.dom.Element;

import com.ibm.commons.util.StringUtil;
import com.ibm.designer.domino.xsp.api.util.XPagesDOMUtil;
import com.ibm.designer.domino.xsp.registry.DefinitionDesignerExtension;
import com.ibm.designer.domino.xsp.registry.DesignerExtensionUtil;
import com.ibm.xsp.extlib.designer.tooling.constants.IExtLibAttrNames;
import com.ibm.xsp.registry.FacesDefinition;
import com.ibm.xsp.registry.FacesRegistry;

/**
 * @author doconnor
 *
 */
public class NodeLabelProvider implements ITableLabelProvider {
    private FacesRegistry registry;
    private boolean rules;

    public NodeLabelProvider(FacesRegistry registry, boolean rules) {
        this.registry = registry;
        this.rules = rules;
    }

    public NodeLabelProvider(FacesRegistry registry) {
        this.registry = registry;
    }

    /* (non-Javadoc)
     * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
     */
    public void addListener(ILabelProviderListener listener) {
    }

    /* (non-Javadoc)
     * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
     */
    public void dispose() {
    }

    /* (non-Javadoc)
     * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
     */
    public boolean isLabelProperty(Object arg0, String arg1) {
        return true;
    }

    /* (non-Javadoc)
     * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
     */
    public void removeListener(ILabelProviderListener arg0) {
    }

    /* (non-Javadoc)
     * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
     */
    public Image getColumnImage(Object element, int column) {
        return null;
    }

    /* (non-Javadoc)
     * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
     */
    public String getColumnText(Object element, int column) {
        String text = null;
        if (element instanceof Element) {
            if (column == 0) {
                FacesDefinition def = this.registry.findComplex(((Element) element).getNamespaceURI(),
                        ((Element) element).getLocalName());
                DefinitionDesignerExtension ext = DesignerExtensionUtil.getDefinitionExtension(def);
                if (ext != null) {
                    text = ext.getDisplayName();
                }
                String label = XPagesDOMUtil.getAttribute((Element) element, IExtLibAttrNames.EXT_LIB_ATTR_LABEL);
                if (StringUtil.isNotEmpty(label)) {
                    text = text + " - " + label;
                }
            } else if (column == 1) {
                text = XPagesDOMUtil.getAttribute((Element) element,
                        rules ? IExtLibAttrNames.EXT_LIB_ATTR_URL : IExtLibAttrNames.EXT_LIB_ATTR_LABEL);
            }
        }
        return text;
    }
}