ApplicationScriptConverter.java :  » XML-UI » xui32 » com » xoetrope » carousel » testpilot » Java Open Source

Java Open Source » XML UI » xui32 
xui32 » com » xoetrope » carousel » testpilot » ApplicationScriptConverter.java
package com.xoetrope.carousel.testpilot;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import net.xoetrope.builder.helper.XTableModelHelper;
import net.xoetrope.xml.XmlElement;
import net.xoetrope.xml.XmlSource;
import net.xoetrope.xui.data.XBaseModel;
import net.xoetrope.xui.data.XModel;
import net.xoetrope.optional.data.XOptionalDataSource;
import java.io.*;
import net.xoetrope.data.XDataSource;
import net.xoetrope.xui.XProject;

/**
 * Support for ???
 * <p> Copyright (c) Xoetrope Ltd., 2001-2006, This software is licensed under
 * the GNU Public License (GPL), please see license.txt for more details. If
 * you make commercial use of this software you must purchase a commercial
 * license from Xoetrope.</p>
 * <p> $Revision: 1.2 $</p>
 */
public class ApplicationScriptConverter
{
  public static final int EVENT_NODE = 0;
  public static final int CONTROL_NODE = 1;
  public static final int VALUE_NODE = 2;
  public static final int COMMAND_NODE = 3;

  protected XProject currentProject;
  
  public void ScriptConverter( XProject project )
  {
    currentProject = project;
  }

  public static void convertTableForSave( XProject currentProject, String fileName )
  {
    XModel root = currentProject.getModel();
    XModel settings = ( XModel )root.get( "application" );

    try {
      BufferedWriter writer = new BufferedWriter( new OutputStreamWriter( new FileOutputStream( fileName ), "UTF8" ));
      XOptionalDataSource.outputModel( writer, settings );
      writer.flush();
      writer.close();
    }
    catch ( IOException ex ) {
    }
  }

  public static void convertTableForOpen( XProject currentProject, File fis )
  {
    XModel root = currentProject.getModel();
    XModel settings = ( XModel )root.get( "application" );

    try {
      BufferedReader reader = new BufferedReader( new InputStreamReader( new FileInputStream( fis ), "UTF8" ));
      XmlElement ele = XmlSource.read( reader );
      XDataSource ds = new XDataSource( currentProject );
      XBaseModel newModel = new XBaseModel();
      ds.loadTable( ele, newModel );
      reader.close();

      root.append( newModel );
    }
    catch ( IOException ex ) {
    }
  }

  private static void populateEvents( XmlElement ele, XBaseModel tableModel )
  {
    for ( int i = 0; i < ele.getChildren().size(); i++ ) {
      XmlElement eleEvent = ( XmlElement )ele.getChildren().elementAt( i );
      XBaseModel currentModel = ( XBaseModel )XTableModelHelper.addRow( tableModel );
      String control = eleEvent.getAttribute( "control" );
      String value = eleEvent.getAttribute( "value" );
      String cmd = eleEvent.getAttribute( "cmd" );
      XTableModelHelper.addData( currentModel, "event", eleEvent.getAttribute( "event" ) );
      XTableModelHelper.addData( currentModel, "Control", control == null ? "" : control );
      XTableModelHelper.addData( currentModel, "Value", value == null ? "" : value );
      XTableModelHelper.addData( currentModel, "cmd", cmd == null ? "" : cmd );
    }
  }

  private static void populateSettings( XmlElement ele, XBaseModel settings )
  {
    for ( int i = 0; i < ele.getChildren().size(); i++ ) {
      XmlElement eleSetting = ( XmlElement )ele.getChildren().elementAt( i );
      String value = eleSetting.getAttribute( "event" );

      XBaseModel dataModel = new XBaseModel();
      dataModel.setAttribValue( settings.ID_ATTRIBUTE, "data" );
      dataModel.setAttribValue( settings.VALUE_ATTRIBUTE, eleSetting.getAttribute( "name" ) );
      dataModel.set( eleSetting.getAttribute( "value" ) );
      settings.append( dataModel );
    }
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.