Friday, July 30, 2010

Generating Large and more decimal Number in SQL


DECLARE @RandomNumber decimal(32,12)
DECLARE @RandomInteger bigint
DECLARE @MaxValue bigint
DECLARE @MinValue bigint

SET @MaxValue = 4000000000
SET @MinValue = 2

SELECT @RandomNumber = RAND()

SELECT @RandomInteger = ((@MaxValue + 1) - @MinValue) * @RandomNumber + @MinValue

--SELECT @RandomNumber as RandomNumber, @RandomInteger as RandomInteger

--select cast(@RandomInteger as varchar(200))+cast(@RandomNumber as varchar(200))

select [dbo].[FormatDecimalCharWithCommaRound](cast(@RandomInteger as varchar(200))+cast(@RandomNumber as varchar(200))
,4),cast(@RandomInteger as varchar(200))+cast(@RandomNumber as varchar(200))

select [dbo].[FormatDecimalCharWithCommaRound](.12345678,2)

Sunday, July 25, 2010

Hosting Http Server in WPF Form


public partial class MainWindow : Window
{
protected HttpListener Listener;
protected bool IsStarted = false;
public event delReceiveWebRequest ReceiveWebRequest;


public void Start(string UrlBase)
{
if (this.IsStarted) return;
if (this.Listener == null)
{
this.Listener = new HttpListener();
}
this.Listener.Prefixes.Add(UrlBase);
this.IsStarted = true;
this.Listener.Start();
IAsyncResult result = this.Listener.BeginGetContext(new AsyncCallback(WebRequestCallback), this.Listener);
}

public void Stop()
{
if (Listener != null)
{
this.Listener.Close();
this.Listener = null;
this.IsStarted = false;
}
}

protected void WebRequestCallback(IAsyncResult result)
{
if (this.Listener == null) return;
HttpListenerContext context = this.Listener.EndGetContext(result);
this.Listener.BeginGetContext(new AsyncCallback(WebRequestCallback), this.Listener);
if (this.ReceiveWebRequest != null)
this.ReceiveWebRequest(context);
this.ProcessRequest(context);
}
string txt="";
protected virtual void ProcessRequest(HttpListenerContext Context)
{
NameValueCollection data = Context.Request.QueryString;
StringBuilder sb = new StringBuilder();
foreach (string s in data.Keys)
sb.Append(s + "=" + data[s]);
txt += sb.ToString() + "\r\n"; ;
HttpListenerResponse response = Context.Response;
string responseString = "<HTML><BODY>ACK</BODY></HTML>";
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
response.ContentLength64 = buffer.Length;
System.IO.Stream output = response.OutputStream;
output.Write(buffer, 0, buffer.Length);
output.Close();
}

public MainWindow()
{
InitializeComponent();
// Server = new HttpServer();
}

private void Grid_Loaded(object sender, RoutedEventArgs e)
{


}
// public HttpServer Server = null;

List d = new List();
private void Window_Loaded(object sender, RoutedEventArgs e)
{
this.Start("http://127.0.0.1:7777/");
//wkr = new BackgroundWorker();
//wkr.DoWork += new DoWorkEventHandler(StartHttpListener);
//server = new HttpListener();
//server.Prefixes.Add("http://127.0.0.1:7777/");
//server.Start();
//StartHttpListener(null, null);
// wkr.RunWorkerAsync();

listBox1.ItemsSource = d;



}


private void Window_Unloaded(object sender, RoutedEventArgs e)
{
this.Stop();
}

private void button1_Click(object sender, RoutedEventArgs e)
{
textBox1.Text = txt;

}
}
public class TestData
{
public string name { get; set; }
public string value { get; set;}
}
}

Client Code to call
string url="123",userCd="test";
string dataComponentType="dc";
long[] ids= new long[]{1,2,3};
System.Net.WebClient c= new WebClient();
NameValueCollection nc= new NameValueCollection();
nc.Add("url",url);
nc.Add("userCd",userCd);
nc.Add("dataComponentType",dataComponentType);
foreach( long l in ids)
nc.Add("id"+l.ToString(),l.ToString());
c.QueryString=nc;
c.DownloadData("http://127.0.0.1:7777");

Monday, July 5, 2010

MSMQ in Java


One way to access Microsoft MSMQ from java is using http://msmqjava.codeplex.com/
JNI Library

Queue queue= new Queue("DIRECT=OS:ding-j-bos\\jqd3");
String qLabel="Created by jimmy.java";
String body= "Hello, World!";
byte[] correlationId = { 0,2,4,6,8,9 };
Message msg=new Message(body, qLabel, correlationId);
queue.send(msg);