gluu
クラス | 静的公開メンバ関数 | 静的公開変数類 | 非公開メンバ関数 | 静的非公開変数類 | 全メンバ一覧
org.xdi.oxd.common.CoreUtils クラス
org.xdi.oxd.common.CoreUtils 連携図
Collaboration graph

クラス

class  JacksonMapperHolder
 

静的公開メンバ関数

static boolean isExpired (Date expiredAt)
 
static ScheduledExecutorService createExecutor ()
 
static ThreadFactory daemonThreadFactory ()
 
static void sleep (int i)
 
static String asJson (Object p_object) throws IOException
 
static String asJsonSilently (Object p_object)
 
static ObjectMapper createJsonMapper ()
 
static Command asCommand (String commandAsJson) throws IOException
 
static long parseSilently (String p_str)
 
static String normalizeLengthPrefixString (int p_length)
 
static ReadResult readCommand (String p_leftString, BufferedReader p_reader) throws IOException
 
static boolean allNotBlank (String... p_strings)
 
static HttpClient createHttpClientWithKeyStore (File pathToKeyStore, String password) throws Exception
 
static HttpClient createHttpClientTrustAll () throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException
 
static String secureRandomString ()
 
static Map< String, String > splitQuery (String url) throws UnsupportedEncodingException, MalformedURLException
 
static Map< String, String > splitQuery (URL url) throws UnsupportedEncodingException
 

静的公開変数類

static final String UTF8 = "UTF-8"
 
static final int COMMAND_STR_LENGTH_SIZE = 4
 
static final int BUFFER_SIZE = 8192
 

非公開メンバ関数

 CoreUtils ()
 

静的非公開変数類

static final Logger LOG = LoggerFactory.getLogger(CoreUtils.class)
 

詳解

Core utility class.

著者
Yuriy Zabrovarnyy
バージョン
0.9, 27/07/2013

構築子と解体子

◆ CoreUtils()

org.xdi.oxd.common.CoreUtils.CoreUtils ( )
inlineprivate

Avoid instance creation.

89  {
90  }

関数詳解

◆ allNotBlank()

static boolean org.xdi.oxd.common.CoreUtils.allNotBlank ( String...  p_strings)
inlinestatic
219  {
220  if (p_strings != null && p_strings.length > 0) {
221  for (String s : p_strings) {
222  if (org.apache.commons.lang.StringUtils.isBlank(s)) {
223  return false;
224  }
225  }
226  return true;
227  }
228  return false;
229  }

◆ asCommand()

static Command org.xdi.oxd.common.CoreUtils.asCommand ( String  commandAsJson) throws IOException
inlinestatic
146  {
147  return createJsonMapper().readValue(commandAsJson, Command.class);
148  }
static ObjectMapper createJsonMapper()
Definition: CoreUtils.java:142

◆ asJson()

static String org.xdi.oxd.common.CoreUtils.asJson ( Object  p_object) throws IOException
inlinestatic

Converts object to json string.

引数
p_objectobject to convert to string
戻り値
json object representation in string format
例外
java.io.IOExceptionif io problems occurs
122  {
123  final ObjectMapper mapper = createJsonMapper().configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, false);
124  return mapper.writeValueAsString(p_object);
125  }
static ObjectMapper createJsonMapper()
Definition: CoreUtils.java:142

◆ asJsonSilently()

static String org.xdi.oxd.common.CoreUtils.asJsonSilently ( Object  p_object)
inlinestatic
127  {
128  try {
129  final ObjectMapper mapper = createJsonMapper().configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, false);
130  return mapper.writeValueAsString(p_object);
131  } catch (Exception e) {
132  LOG.error("Failed to serialize object into json.", e);
133  return "";
134  }
135  }
static ObjectMapper createJsonMapper()
Definition: CoreUtils.java:142
static final Logger LOG
Definition: CoreUtils.java:81

◆ createExecutor()

static ScheduledExecutorService org.xdi.oxd.common.CoreUtils.createExecutor ( )
inlinestatic
92  {
93  return Executors.newSingleThreadScheduledExecutor(daemonThreadFactory());
94  }
static ThreadFactory daemonThreadFactory()
Definition: CoreUtils.java:96

◆ createHttpClientTrustAll()

static HttpClient org.xdi.oxd.common.CoreUtils.createHttpClientTrustAll ( ) throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException
inlinestatic
257  {
258 // System.setProperty("javax.net.debug", "SSL,handshake,trustmanager");
259 
260 // SSLSocketFactory sf = new SSLSocketFactory(new TrustStrategy() {
261 // @Override
262 // public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
263 // return true;
264 // }
265 // }, new AllowAllHostnameVerifier());
266 
267  SSLSocketFactory sf = new SSLSocketFactory(new TrustStrategy() {
268  @Override
269  public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
270  return true;
271  }
272  }, new X509HostnameVerifier() {
273  @Override
274  public void verify(String host, SSLSocket ssl) throws IOException {
275  }
276 
277  @Override
278  public void verify(String host, X509Certificate cert) throws SSLException {
279  }
280 
281  @Override
282  public void verify(String host, String[] cns, String[] subjectAlts) throws SSLException {
283  }
284 
285  @Override
286  public boolean verify(String s, SSLSession sslSession) {
287  return true;
288  }
289  }
290  );
291 
292  SchemeRegistry registry = new SchemeRegistry();
293  registry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
294  registry.register(new Scheme("https", 443, sf));
295  ClientConnectionManager ccm = new PoolingClientConnectionManager(registry);
296  return new DefaultHttpClient(ccm);
297  }

◆ createHttpClientWithKeyStore()

static HttpClient org.xdi.oxd.common.CoreUtils.createHttpClientWithKeyStore ( File  pathToKeyStore,
String  password 
) throws Exception
inlinestatic
引数
pathToKeyStorepath to key store, e.g. D:/Development/gluu_conf/etc/certs/DA855F9895A1CA3B9E7D4BF5-java.jks
passwordkey store password
戻り値
http client
例外
Exception
237  {
238  KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
239  FileInputStream instream = new FileInputStream(pathToKeyStore);
240  try {
241  keyStore.load(instream, password.toCharArray());
242  } finally {
243  instream.close();
244  }
245 
246  HttpClient httpClient = new DefaultHttpClient();
247 
248  SSLSocketFactory socketFactory = new SSLSocketFactory(keyStore);
249  socketFactory.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
250 
251  httpClient.getConnectionManager().getSchemeRegistry().register(new Scheme("https", socketFactory, 443));
252  httpClient.getConnectionManager().getSchemeRegistry().register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
253 
254  return httpClient;
255  }

◆ createJsonMapper()

static ObjectMapper org.xdi.oxd.common.CoreUtils.createJsonMapper ( )
inlinestatic

Creates json mapper for json object serialization/deserialization.

戻り値
object mapper
142  {
143  return JacksonMapperHolder.MAPPER;
144  }

◆ daemonThreadFactory()

static ThreadFactory org.xdi.oxd.common.CoreUtils.daemonThreadFactory ( )
inlinestatic
96  {
97  return new ThreadFactory() {
98  public Thread newThread(Runnable p_r) {
99  Thread thread = new Thread(p_r);
100  thread.setDaemon(true);
101  return thread;
102  }
103  };
104  }

◆ isExpired()

static boolean org.xdi.oxd.common.CoreUtils.isExpired ( Date  expiredAt)
inlinestatic
50  {
51  return expiredAt != null && expiredAt.before(new Date());
52  }

◆ normalizeLengthPrefixString()

static String org.xdi.oxd.common.CoreUtils.normalizeLengthPrefixString ( int  p_length)
inlinestatic
158  {
159  if (p_length <= 0) {
160  throw new IllegalArgumentException("Length must be more than zero.");
161  }
162  final String s = Integer.toString(p_length);
163  final StringBuilder sb = new StringBuilder(s);
164  final int sbLength = sb.length();
165  if (sbLength < COMMAND_STR_LENGTH_SIZE) {
166  for (int i = sbLength; i < COMMAND_STR_LENGTH_SIZE; i++) {
167  sb.insert(0, '0');
168  }
169  }
170  if (sb.length() != COMMAND_STR_LENGTH_SIZE) {
171  throw new IllegalArgumentException("Normalized length size must be exactly: " + COMMAND_STR_LENGTH_SIZE);
172  }
173  return sb.toString();
174  }
static final int COMMAND_STR_LENGTH_SIZE
Definition: CoreUtils.java:83

◆ parseSilently()

static long org.xdi.oxd.common.CoreUtils.parseSilently ( String  p_str)
inlinestatic
150  {
151  try {
152  return Long.parseLong(p_str);
153  } catch (Exception e) {
154  return -1;
155  }
156  }

◆ readCommand()

static ReadResult org.xdi.oxd.common.CoreUtils.readCommand ( String  p_leftString,
BufferedReader  p_reader 
) throws IOException
inlinestatic
176  {
177  int commandSize = -1;
178  final StringBuilder storage = new StringBuilder(p_leftString != null ? p_leftString : "");
179  while (true) {
180  LOG.trace("commandSize: {}, stringStorage: {}", commandSize, storage.toString());
181 
182  final char[] buffer = new char[BUFFER_SIZE];
183  final int readCount = p_reader.read(buffer, 0, BUFFER_SIZE);
184  if (readCount == -1) {
185  LOG.trace("End of stream. Quit.");
186  return null;
187  }
188 
189  storage.append(buffer, 0, readCount);
190 
191  final int storageLength = storage.length();
192  if (commandSize == -1 && storageLength >= CoreUtils.COMMAND_STR_LENGTH_SIZE) {
193  final String sizeString = storage.substring(0, CoreUtils.COMMAND_STR_LENGTH_SIZE);
194  commandSize = (int) CoreUtils.parseSilently(sizeString);
195  LOG.trace("Parsed sizeString: {}, commandSize: {}", sizeString, commandSize);
196 
197  if (commandSize == -1) {
198  LOG.trace("Unable to identify command size. Quit.");
199  return null;
200  }
201  }
202 
203  final int totalSize = commandSize + CoreUtils.COMMAND_STR_LENGTH_SIZE;
204  if (commandSize != -1 && storageLength >= totalSize) {
205  final String commandAsString = storage.substring(
206  CoreUtils.COMMAND_STR_LENGTH_SIZE, totalSize);
207 
208  String leftString = "";
209  if (storageLength > (totalSize + 1)) {
210  storage.substring(totalSize + 1);
211  }
212  final ReadResult result = new ReadResult(commandAsString, leftString);
213  LOG.trace("Read result: {}", result);
214  return result;
215  }
216  }
217  }
static final Logger LOG
Definition: CoreUtils.java:81
CoreUtils()
Definition: CoreUtils.java:89
static final int BUFFER_SIZE
Definition: CoreUtils.java:84

◆ secureRandomString()

static String org.xdi.oxd.common.CoreUtils.secureRandomString ( )
inlinestatic
299  {
300  return new BigInteger(130, new SecureRandom()).toString(32);
301  }

◆ sleep()

static void org.xdi.oxd.common.CoreUtils.sleep ( int  i)
inlinestatic
106  {
107  try {
108  Thread.sleep(i * 1000);
109  } catch (InterruptedException e) {
110  LOG.error(e.getMessage(), e);
111  }
112  }
static final Logger LOG
Definition: CoreUtils.java:81

◆ splitQuery() [1/2]

static Map<String, String> org.xdi.oxd.common.CoreUtils.splitQuery ( String  url) throws UnsupportedEncodingException, MalformedURLException
inlinestatic
303  {
304  return splitQuery(new URL(url));
305  }
static Map< String, String > splitQuery(String url)
Definition: CoreUtils.java:303

◆ splitQuery() [2/2]

static Map<String, String> org.xdi.oxd.common.CoreUtils.splitQuery ( URL  url) throws UnsupportedEncodingException
inlinestatic
307  {
308  Map<String, String> queryPairs = new LinkedHashMap<>();
309  String query = url.getQuery();
310  String[] pairs = query.split("&");
311  for (String pair : pairs) {
312  int idx = pair.indexOf("=");
313  queryPairs.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"), URLDecoder.decode(pair.substring(idx + 1), "UTF-8"));
314  }
315  return queryPairs;
316  }

メンバ詳解

◆ BUFFER_SIZE

final int org.xdi.oxd.common.CoreUtils.BUFFER_SIZE = 8192
static

◆ COMMAND_STR_LENGTH_SIZE

final int org.xdi.oxd.common.CoreUtils.COMMAND_STR_LENGTH_SIZE = 4
static

◆ LOG

final Logger org.xdi.oxd.common.CoreUtils.LOG = LoggerFactory.getLogger(CoreUtils.class)
staticprivate

Logger

◆ UTF8

final String org.xdi.oxd.common.CoreUtils.UTF8 = "UTF-8"
static

UTF-8 encoding string


このクラス詳解は次のファイルから抽出されました: