⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 router.java

📁 Logica lastest SMPP API
💻 JAVA
字号:
package com.smpp.server;

import java.util.Hashtable;
import java.util.StringTokenizer;
import java.util.Vector;

public class Router
{
	
	private static Router router = new Router();
	private Hashtable<String, String> hash = new Hashtable<String, String>();
	private Vector<char[]> v = new Vector<char[]>();
	
	public static void main(String [] args)
	{
		router.setRoutingData("Tushar1", "98111,98112,98113");
		router.setRoutingData("Tushar2", "098121,098122,98123");
		router.setRoutingData("Tushar3", "98131,98132,98133");
		router.setRoutingData("Tushar4", "98141,98142,98143");
		router.setRoutingData("Tushar5", "98151,98152,98123");
		String abc = router.getSMPPSenderId("9812345");
		//System.out.println("Sender is :"+abc);
		
	}
	
	
	
	private Router()
	{
		
	}
	
	public static Router getRouter()
	{
		return router;
	}
	
	public void setRoutingData(String systemId, String routes)
	{
		StringTokenizer st = new StringTokenizer(routes, ",");
		while(st.hasMoreTokens())
		{
			String token = st.nextToken();
			hash.put(token,systemId);
			char [] c =  token.toCharArray();
			v.add(c);
		}
	}
	
	public String getSMPPSenderId(String destAddress)
	{
		 
		int size = v.size();
		int maxMatchLength = 0;
		char [] x = null;
		char [] d = destAddress.toCharArray();
		
		for(int i = 0; i < size; i++ )
		{
			char [] c = (char[]) v.elementAt(i);
			int matchLength = measureMatchCount(c,d);
			//System.out.println(new String(c) +" : " + matchLength +" : "+maxMatchLength);
			if(matchLength > maxMatchLength)
			{
				maxMatchLength = matchLength;
				x = c;
			}
		}
		if(x == null) return null;
		String sender = (String)hash.get(new String(x));
	 
	
		
		return sender;
	}
	
	private int measureMatchCount(char []c, char []d)
	{
		int len = c.length;
		int currentLen = 0;
		for(int j =0; j < len ; j++)
		{
			currentLen = j;
			if(c[j] != d[j])
			{
				//System.out.println(currentLen +" : "+ len);
				return 0;
			}
		}
		currentLen++;
		//System.out.println(currentLen +" : "+ len);
		if(currentLen == len)
		{
			return len;
		}
		else return 0;
	}
 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -