Package org.apache.oozie.tools.workflowgenerator.client.property

Source Code of org.apache.oozie.tools.workflowgenerator.client.property.PropertyTableFactory

/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you 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.oozie.tools.workflowgenerator.client.property;

import org.apache.oozie.tools.workflowgenerator.client.property.action.EmailPropertyTable;
import org.apache.oozie.tools.workflowgenerator.client.property.action.FSPropertyTable;
import org.apache.oozie.tools.workflowgenerator.client.property.action.JavaPropertyTable;
import org.apache.oozie.tools.workflowgenerator.client.property.action.MapReducePropertyTable;
import org.apache.oozie.tools.workflowgenerator.client.property.action.PigPropertyTable;
import org.apache.oozie.tools.workflowgenerator.client.property.action.PipesPropertyTable;
import org.apache.oozie.tools.workflowgenerator.client.property.action.SSHPropertyTable;
import org.apache.oozie.tools.workflowgenerator.client.property.action.ShellPropertyTable;
import org.apache.oozie.tools.workflowgenerator.client.property.action.StreamingPropertyTable;
import org.apache.oozie.tools.workflowgenerator.client.property.action.SubWFPropertyTable;
import org.apache.oozie.tools.workflowgenerator.client.property.control.DecisionPropertyTable;
import org.apache.oozie.tools.workflowgenerator.client.property.control.EndPropertyTable;
import org.apache.oozie.tools.workflowgenerator.client.property.control.ForkPropertyTable;
import org.apache.oozie.tools.workflowgenerator.client.property.control.JoinPropertyTable;
import org.apache.oozie.tools.workflowgenerator.client.property.control.KillPropertyTable;
import org.apache.oozie.tools.workflowgenerator.client.property.control.StartPropertyTable;
import org.apache.oozie.tools.workflowgenerator.client.widget.NodeWidget;
import org.apache.oozie.tools.workflowgenerator.client.widget.action.EmailActionWidget;
import org.apache.oozie.tools.workflowgenerator.client.widget.action.FSActionWidget;
import org.apache.oozie.tools.workflowgenerator.client.widget.action.JavaActionWidget;
import org.apache.oozie.tools.workflowgenerator.client.widget.action.MapReduceActionWidget;
import org.apache.oozie.tools.workflowgenerator.client.widget.action.PigActionWidget;
import org.apache.oozie.tools.workflowgenerator.client.widget.action.PipesActionWidget;
import org.apache.oozie.tools.workflowgenerator.client.widget.action.SSHActionWidget;
import org.apache.oozie.tools.workflowgenerator.client.widget.action.ShellActionWidget;
import org.apache.oozie.tools.workflowgenerator.client.widget.action.StreamingActionWidget;
import org.apache.oozie.tools.workflowgenerator.client.widget.action.SubWFActionWidget;
import org.apache.oozie.tools.workflowgenerator.client.widget.control.DecisionNodeWidget;
import org.apache.oozie.tools.workflowgenerator.client.widget.control.EndNodeWidget;
import org.apache.oozie.tools.workflowgenerator.client.widget.control.ForkNodeWidget;
import org.apache.oozie.tools.workflowgenerator.client.widget.control.JoinNodeWidget;
import org.apache.oozie.tools.workflowgenerator.client.widget.control.KillNodeWidget;
import org.apache.oozie.tools.workflowgenerator.client.widget.control.StartNodeWidget;

/**
* Singleton class to instantiate property table corresponding to node widget.
*/
public class PropertyTableFactory {

    // Singleton
    private static PropertyTableFactory factory = new PropertyTableFactory();

    private PropertyTableFactory() {
    }

    /**
     * Return PropertyTableFactory instance
     *
     * @return PropertyTableFactory
     */
    public static PropertyTableFactory getInstance() {
        return factory;
    }

    /**
     * Return property table instance corresponding to node widget given in an
     * argument
     *
     * @param w node widget
     * @return PropertyTable
     */
    public PropertyTable createPropertyTable(NodeWidget w) {

        PropertyTable table = null;

        if (w instanceof MapReduceActionWidget) {
            table = new MapReducePropertyTable(w);
        }
        else if (w instanceof PigActionWidget) {
            table = new PigPropertyTable(w);
        }
        else if (w instanceof JavaActionWidget) {
            table = new JavaPropertyTable(w);
        }
        else if (w instanceof FSActionWidget) {
            table = new FSPropertyTable(w);
        }
        else if (w instanceof PipesActionWidget) {
            table = new PipesPropertyTable(w);
        }
        else if (w instanceof StreamingActionWidget) {
            table = new StreamingPropertyTable(w);
        }
        else if (w instanceof ShellActionWidget) {
            table = new ShellPropertyTable(w);
        }
        else if (w instanceof SSHActionWidget) {
            table = new SSHPropertyTable(w);
        }
        else if (w instanceof EmailActionWidget) {
            table = new EmailPropertyTable(w);
        }
        else if (w instanceof SubWFActionWidget) {
            table = new SubWFPropertyTable(w);
        }
        else if (w instanceof StartNodeWidget) {
            table = new StartPropertyTable(w);
        }
        else if (w instanceof EndNodeWidget) {
            table = new EndPropertyTable(w);
        }
        else if (w instanceof KillNodeWidget) {
            table = new KillPropertyTable(w);
        }
        else if (w instanceof ForkNodeWidget) {
            table = new ForkPropertyTable(w);
        }
        else if (w instanceof JoinNodeWidget) {
            table = new JoinPropertyTable(w);
        }
        else if (w instanceof DecisionNodeWidget) {
            table = new DecisionPropertyTable(w);
        }

        return table;
    }
}
TOP

Related Classes of org.apache.oozie.tools.workflowgenerator.client.property.PropertyTableFactory

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.