All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eu.clarussecure.proxy.protocol.plugins.pgsql.message.converter.PgsqlMessageToQueryConverter Maven / Gradle / Ivy

The newest version!
package eu.clarussecure.proxy.protocol.plugins.pgsql.message.converter;

import eu.clarussecure.proxy.protocol.plugins.pgsql.message.PgsqlBindMessage;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.PgsqlCloseMessage;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.PgsqlDescribeMessage;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.PgsqlExecuteMessage;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.PgsqlFlushMessage;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.PgsqlParseMessage;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.PgsqlQueryMessage;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.PgsqlQueryRequestMessage;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.PgsqlSimpleQueryMessage;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.PgsqlSyncMessage;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.sql.BindStep;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.sql.CloseStep;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.sql.DescribeStep;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.sql.ExecuteStep;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.sql.ExtendedQuery;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.sql.FlushStep;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.sql.ParseStep;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.sql.Query;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.sql.SQLStatement;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.sql.SimpleQuery;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.sql.SimpleSQLStatement;
import eu.clarussecure.proxy.protocol.plugins.pgsql.message.sql.SynchronizeStep;
import io.netty.util.internal.StringUtil;

public class PgsqlMessageToQueryConverter {

    public static Query from(PgsqlQueryRequestMessage msg) {
        if (msg instanceof PgsqlQueryMessage) {
            return from((PgsqlQueryMessage) msg);
        } else if (msg instanceof PgsqlBindMessage) {
            return from((PgsqlBindMessage) msg);
        } else if (msg instanceof PgsqlDescribeMessage) {
            return from((PgsqlDescribeMessage) msg);
        } else if (msg instanceof PgsqlExecuteMessage) {
            return from((PgsqlExecuteMessage) msg);
        } else if (msg instanceof PgsqlCloseMessage) {
            return from((PgsqlCloseMessage) msg);
        } else if (msg instanceof PgsqlSyncMessage) {
            return from((PgsqlSyncMessage) msg);
        } else if (msg instanceof PgsqlFlushMessage) {
            return from((PgsqlFlushMessage) msg);
        }
        throw new IllegalArgumentException(StringUtil.simpleClassName(msg) + " not supported");
    }

    public static PgsqlQueryRequestMessage to(Query query) {
        if (query instanceof SimpleQuery) {
            return to((SimpleQuery) query);
        } else {
            return to((ExtendedQuery) query);
        }
    }

    public static PgsqlQueryRequestMessage to(SimpleQuery query) {
        return to((SimpleSQLStatement) query);
    }

    public static PgsqlQueryRequestMessage to(ExtendedQuery query) {
        if (query instanceof ParseStep) {
            return to((ParseStep) query);
        } else if (query instanceof BindStep) {
            return to((BindStep) query);
        } else if (query instanceof DescribeStep) {
            return to((DescribeStep) query);
        } else if (query instanceof ExecuteStep) {
            return to((ExecuteStep) query);
        } else if (query instanceof CloseStep) {
            return to((CloseStep) query);
        } else if (query instanceof SynchronizeStep) {
            return to((SynchronizeStep) query);
        } else if (query instanceof FlushStep) {
            return to((FlushStep) query);
        }
        throw new IllegalArgumentException(StringUtil.simpleClassName(query) + " not supported");
    }

    public static SQLStatement from(PgsqlQueryMessage msg) {
        if (msg instanceof PgsqlSimpleQueryMessage) {
            return from((PgsqlSimpleQueryMessage) msg);
        } else {
            return from((PgsqlParseMessage) msg);
        }
    }

    public static PgsqlQueryMessage to(SQLStatement sqlStatement) {
        if (sqlStatement instanceof SimpleSQLStatement) {
            return to((SimpleSQLStatement) sqlStatement);
        } else {
            return to((ParseStep) sqlStatement);
        }
    }

    public static SimpleSQLStatement from(PgsqlSimpleQueryMessage msg) {
        return new SimpleSQLStatement(msg.getQuery());
    }

    public static PgsqlSimpleQueryMessage to(SimpleSQLStatement sqlStatement) {
        return new PgsqlSimpleQueryMessage(sqlStatement.getSQL());
    }

    public static ParseStep from(PgsqlParseMessage msg) {
        return new ParseStep(msg.getPreparedStatement(), msg.getQuery(), false, null, msg.getParameterTypes());
    }

    public static PgsqlParseMessage to(ParseStep query) {
        return new PgsqlParseMessage(query.getName(), query.getSQL(), query.getParameterTypes());
    }

    public static BindStep from(PgsqlBindMessage msg) {
        return new BindStep(msg.getPortal(), msg.getPreparedStatement(), msg.getParameterFormats(),
                msg.getParameterValues(), msg.getResultColumnFormats());
    }

    public static PgsqlBindMessage to(BindStep query) {
        return new PgsqlBindMessage(query.getName(), query.getPreparedStatement(), query.getParameterFormats(),
                query.getParameterValues(), query.getResultColumnFormats());
    }

    public static DescribeStep from(PgsqlDescribeMessage msg) {
        return new DescribeStep(msg.getCode(), msg.getName());
    }

    public static PgsqlDescribeMessage to(DescribeStep query) {
        return new PgsqlDescribeMessage(query.getCode(), query.getName());
    }

    public static ExecuteStep from(PgsqlExecuteMessage msg) {
        return new ExecuteStep(msg.getPortal(), msg.getMaxRows());
    }

    public static PgsqlExecuteMessage to(ExecuteStep query) {
        return new PgsqlExecuteMessage(query.getPortal(), query.getMaxRows());
    }

    public static CloseStep from(PgsqlCloseMessage msg) {
        return new CloseStep(msg.getCode(), msg.getName());
    }

    public static PgsqlCloseMessage to(CloseStep query) {
        return new PgsqlCloseMessage(query.getCode(), query.getName());
    }

    public static SynchronizeStep from(PgsqlSyncMessage msg) {
        return new SynchronizeStep();
    }

    public static PgsqlSyncMessage to(SynchronizeStep query) {
        return new PgsqlSyncMessage();
    }

    public static FlushStep from(PgsqlFlushMessage msg) {
        return new FlushStep();
    }

    public static PgsqlFlushMessage to(FlushStep query) {
        return new PgsqlFlushMessage();
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy