Package org.fusesource.ide.camel.model.io

Source Code of org.fusesource.ide.camel.model.io.StubContainerMarshaller

/*******************************************************************************
* Copyright (c) 2013 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*     Red Hat, Inc. - initial API and implementation
******************************************************************************/

package org.fusesource.ide.camel.model.io;

import java.io.File;

import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.draw2d.geometry.Rectangle;
import org.fusesource.ide.camel.model.Activator;
import org.fusesource.ide.camel.model.Endpoint;
import org.fusesource.ide.camel.model.RouteContainer;
import org.fusesource.ide.camel.model.RouteSupport;
import org.fusesource.ide.camel.model.generated.Bean;
import org.fusesource.ide.camel.model.generated.Route;


public class StubContainerMarshaller extends ContainerMarshallerSupport {

  /*
   * (non-Javadoc)
   * @see org.fusesource.ide.camel.model.io.ContainerMarshaler#loadRoutes(java.io.File)
   */
  @Override
  public RouteContainer loadRoutes(File file) {
    Activator.getLogger().debug("Stub marshaller about to open: " + file);
    return createDummyModel();
  }

  /*
   * (non-Javadoc)
   * @see org.fusesource.ide.camel.model.io.ContainerMarshaler#loadRoutesFromText(java.lang.String)
   */
  @Override
  public RouteContainer loadRoutesFromText(String text) {
    return createDummyModel();
  }

  /*
   * (non-Javadoc)
   * @see org.fusesource.ide.camel.model.io.ContainerMarshaler#save(org.eclipse.core.resources.IFile, org.fusesource.ide.camel.model.RouteContainer, org.eclipse.core.runtime.IProgressMonitor)
   */
  @Override
  public void save(IFile file, RouteContainer model, IProgressMonitor monitor) {
    Activator.getLogger().debug("TODO: should be saving route " + model + " to "
        + file + "...");
  }

  /*
   * (non-Javadoc)
   * @see org.fusesource.ide.camel.model.io.ContainerMarshaler#save(java.io.File, org.fusesource.ide.camel.model.RouteContainer)
   */
  @Override
  public void save(File file, RouteContainer model) {
    Activator.getLogger().debug("TODO: should be saving route " + model + " to "
        + file + "...");
  }

  /*
   * (non-Javadoc)
   * @see org.fusesource.ide.camel.model.io.ContainerMarshaler#updateText(java.lang.String, org.fusesource.ide.camel.model.RouteContainer)
   */
  @Override
  public String updateText(String xmlText, RouteContainer model) {
    return xmlText;
  }

  protected RouteContainer createDummyModel() {
    RouteContainer c = new RouteContainer();

    RouteSupport route1 = new Route();

    Endpoint ep1 = new Endpoint();
    Bean bean1 = new Bean();
    Bean bean2 = new Bean();

    ep1.setId("fileIn1");
    ep1.setDescription("Polls files from input folder...");
    ep1.setUri("file:///home/lhein/test/input/");
    ep1.setLayout(new Rectangle(10, 10, 100, 40));

    bean1.setId("procBean1");
    bean1.setDescription("Examines the file...");
    bean1.setMethod("examineFile");
    bean1.setRef("proc1");
    bean1.setLayout(new Rectangle(150, 10, 100, 40));

    bean2.setId("procBean2");
    bean2.setDescription("Examines the file...");
    bean2.setMethod("examineFile");
    bean2.setRef("proc2");
    bean2.setLayout(new Rectangle(300, 10, 100, 40));

    ep1.addTargetNode(bean1);
    bean1.addTargetNode(bean2);

    route1.addChild(bean2);
    route1.addChild(ep1);
    route1.addChild(bean1);

    c.addChild(route1);

    Activator.getLogger().debug("Stub marshaller has loaded model: "
        + c.getDebugInfo());
    return c;
  }
 
  /* (non-Javadoc)
   * @see org.fusesource.ide.camel.model.io.ContainerMarshaler#isNoRoutesOnLoad()
   */
  @Override
  public boolean isNoRoutesOnLoad() {
    return false;
  }
}
TOP

Related Classes of org.fusesource.ide.camel.model.io.StubContainerMarshaller

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.