Source Code Formatting while Converting C# Code to Java using CodePorting

Discussion in 'Programming' started by zarfishsn, Jun 21, 2012.

  1. #1
    While converting C# code to java, CodePorting.com C#2Java Engine also handles the conversion of code formatting which is an important feature of CodePorting Engine. C# and Java both have completely different style of code commenting, But in contempt of this difference C#2Java Engine intelligently converts the code comments in C# and produce the comments which are used in Java.

    Developers can take advantage of this great feature by using CodePorting’s web Application as well as Visual Studio Add-in. Developers who use Microsoft Visual Studio can use the Add-in to convert their project directly from their IDE.

    Following example will show you how CodePorting Engine handles code formatting while converting C# code to Java.

    C# Code:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace CsPorter.Example.Convert.XmlComments
    {

    ///
    <summary> /// Appender that logs to a database. /// </summary>

    ///
    ///

    /// appends logging events to a table within a
    /// database. The appender can be configured to specify the connection
    /// string by setting the property.
    /// The connection type (provider) can be specified by setting the
    /// property. For more information on database connection strings for
    /// your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>.
    ///
    ///

    /// Records are written into the database either using a prepared
    /// statement or a stored procedure. The property
    /// is set to (System.Data.CommandType.Text) to specify a prepared statement
    /// or to (System.Data.CommandType.StoredProcedure) to specify a stored
    /// procedure.
    ///
    ///

    /// The prepared statement text or the name of the stored procedure
    /// must be set in the property.
    ///
    ///

    /// The prepared statement or stored procedure can take a number
    /// of parameters. Parameters are added using the
    /// method. This adds a single to the
    /// ordered list of parameters. The
    /// type may be subclassed if required to provide database specific
    /// functionality. The specifies
    /// the parameter name, database type, size, and how the value should
    /// be generated using a .
    ///
    ///
    ///
    /// An example of a SQL Server table that could be logged to:
    /// <code lang="SQL"> /// CREATE TABLE [dbo].[Log] ( /// [ID] [int] IDENTITY (1, 1) NOT NULL , /// [Date] [datetime] NOT NULL , /// [Thread] [varchar] (255) NOT NULL , /// [Level] [varchar] (20) NOT NULL , /// [Logger] [varchar] (255) NOT NULL , /// [Message] [varchar] (4000) NOT NULL /// ) ON [PRIMARY] /// </code>
    ///
    ///
    /// An example configuration to log to the above table:
    /// <code lang="XML"> /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// </code>
    ///
    /// Julian Biddle
    /// Nicko Cadell
    /// Gert Driesen
    /// Lance Nehring
    class ComplexTest
    {
    ///
    <summary> ///Gets or sets the database connection string that is used to connect to ///the database. ///</summary>

    ///
    ///The database connection string used to connect to the database.
    ///
    ///
    ///

    ///The connections string is specific to the connection type.
    ///See for more information.
    ///
    ///
    ///Connection string for MS Access via ODBC:
    ///<code>"DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb"</code>
    ///
    ///Another connection string for MS Access via ODBC:
    ///<code>"Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;"</code>
    ///
    ///Connection string for MS Access via OLE DB:
    ///<code>"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;"</code>
    ///
    private String Str { get; set; }
    }
    }
    Java Code:

    package CsPorter.Example.Convert.XmlComments;

    // ********* THIS FILE IS AUTO PORTED FORM C# USING CODEPORTING.COM *********
    /**
    * <p>
    * Appender that logs to a database.
    * </p><p><hr><blockquote>
    * An example of a SQL Server table that could be logged to:
    *
    * CREATE TABLE [dbo].[Log] (
    * [ID] [int] IDENTITY (1, 1) NOT NULL ,
    * [Date] [datetime] NOT NULL ,
    * [Thread] [varchar] (255) NOT NULL ,
    * [Level] [varchar] (20) NOT NULL ,
    * [Logger] [varchar] (255) NOT NULL ,
    * [Message] [varchar] (4000) NOT NULL
    * ) ON [PRIMARY]
    *
    * </blockquote></hr></p><p><hr><blockquote>
    * An example configuration to log to the above table:
    *
    * {@code <appender name="AdoNetAppender_SqlServer" type="log4net.Appender.AdoNetAppender">
    * <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"></connectionType>
    * <connectionString value="data source=SQLSVR;initial catalog=test_log4net;integrated security=false;persist security info=True;User ID=sa;Password=sa"></connectionString>
    * <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)"></commandText>
    * <parameter>
    * <parameterName value="@log_date"></parameterName>
    * <dbType value="DateTime"></dbType>
    * <layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}"></layout>
    * </parameter>
    * <parameter>
    * <parameterName value="@thread"></parameterName>
    * <dbType value="String"></dbType>
    * <size value="255"></size>
    * <layout type="log4net.Layout.PatternLayout" value="%thread"></layout>
    * </parameter>
    * <parameter>
    * <parameterName value="@log_level"></parameterName>
    * <dbType value="String"></dbType>
    * <size value="50"></size>
    * <layout type="log4net.Layout.PatternLayout" value="%level"></layout>
    * </parameter>
    * <parameter>
    * <parameterName value="@logger"></parameterName>
    * <dbType value="String"></dbType>
    * <size value="255"></size>
    * <layout type="log4net.Layout.PatternLayout" value="%logger"></layout>
    * </parameter>
    * <parameter>
    * <parameterName value="@message"></parameterName>
    * <dbType value="String"></dbType>
    * <size value="4000"></size>
    * <layout type="log4net.Layout.PatternLayout" value="%message"></layout>
    * </parameter>
    * </appender>}
    *
    * </blockquote></hr></p><p><hr>
    * <p>
    * {@code T:log4net.Appender.AdoNetAppender} appends logging events to a table within a
    * database. The appender can be configured to specify the connection
    * string by setting the {@code P:log4net.Appender.AdoNetAppender.ConnectionString} property.
    * The connection type (provider) can be specified by setting the {@code P:log4net.Appender.AdoNetAppender.ConnectionType}
    * property. For more information on database connection strings for
    * your specific database see {@code <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>}.
    * </p>
    * <p>
    * Records are written into the database either using a prepared
    * statement or a stored procedure. The {@code P:log4net.Appender.AdoNetAppender.CommandType} property
    * is set to {@code F:System.Data.CommandType.Text} ({@code System.Data.CommandType.Text}) to specify a prepared statement
    * or to {@code F:System.Data.CommandType.StoredProcedure} ({@code System.Data.CommandType.StoredProcedure}) to specify a stored
    * procedure.
    * </p>
    * <p>
    * The prepared statement text or the name of the stored procedure
    * must be set in the {@code P:log4net.Appender.AdoNetAppender.CommandText} property.
    * </p>
    * <p>
    * The prepared statement or stored procedure can take a number
    * of parameters. Parameters are added using the {@code M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)}
    * method. This adds a single {@code T:log4net.Appender.AdoNetAppenderParameter} to the
    * ordered list of parameters. The {@code T:log4net.Appender.AdoNetAppenderParameter}
    * type may be subclassed if required to provide database specific
    * functionality. The {@code T:log4net.Appender.AdoNetAppenderParameter} specifies
    * the parameter name, database type, size, and how the value should
    * be generated using a {@code T:log4net.Layout.ILayout}.
    * </p>
    * </hr></p>{@code <author>Julian Biddle</author>}{@code <author>Nicko Cadell</author>}{@code <author>Gert Driesen</author>}{@code <author>Lance Nehring</author>}
    */
    class ComplexTest
    {
    /**
    * <p>
    * Gets or sets the database connection string that is used to connect to
    * the database.
    * </p><p><hr><blockquote>Connection string for MS Access via ODBC:
    * "DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb"
    * </blockquote></hr></p><p><hr><blockquote>Another connection string for MS Access via ODBC:
    * "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;"
    * </blockquote></hr></p><p><hr><blockquote>Connection string for MS Access via OLE DB:
    * "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;"
    * </blockquote></hr></p>Value:
    * The database connection string used to connect to the database.
    * <p><hr>
    * <p>
    * The connections string is specific to the connection type.
    * See {@code P:log4net.Appender.AdoNetAppender.ConnectionType} for more information.
    * </p>
    * </hr></p>
    */
    String _Str;private String getStr(){ return _Str; }; private void setStr(String value){_Str = value; };
    }

    The above examples shows that commenting styles are different for both programming languages and CodePorting C#2Java engine intelligently converts these comments from C# to java accurately which helps to generate documents for the converted java code.
     
    zarfishsn, Jun 21, 2012 IP