List of usage examples for org.apache.commons.lang.time DateFormatUtils format
public static String format(Date date, String pattern)
Formats a date/time into a specific pattern.
From source file:org.apache.hadoop.chukwa.rest.actions.RestController.java
private static String getObjectValues(Object obj) { StringBuilder s = new StringBuilder(); try {//from www . jav a 2 s .c om Class cls = obj.getClass(); Method methlist[] = cls.getDeclaredMethods(); int count = 0; for (int i = 0; i < methlist.length; i++) { Method m = methlist[i]; if (m.getName().startsWith("get")) { String name = m.getName(); Object oret = null; try { @SuppressWarnings("unchecked") Method meth = cls.getMethod(name); if (meth == null) { continue; } oret = meth.invoke(obj); } catch (Exception e) { continue; } if (count != 0) { s.append(","); } count += 1; if (oret == null) { s.append("\"\""); } else if ((oret instanceof Date) || (oret instanceof java.sql.Timestamp)) { long time = 0; if (oret instanceof Date) { Date d = (Date) oret; time = d.getTime(); } else if (oret instanceof java.sql.Timestamp) { java.sql.Timestamp d = (java.sql.Timestamp) oret; time = d.getTime(); } String date = DateFormatUtils.format(time, "yyyy-MM-dd HH:mm:ss"); s.append("\"" + date + "\""); } else { s.append("\"" + oret.toString() + "\""); } } } s.append("\n"); } catch (Throwable e) { System.err.println(e); } return s.toString(); }
From source file:org.apache.hadoop.yarn.client.cli.NodeCLI.java
/** * Prints the node report for node id./*from w w w . j a v a 2 s. c om*/ * * @param nodeIdStr * @throws YarnException */ private void printNodeStatus(String nodeIdStr) throws YarnException, IOException { NodeId nodeId = NodeId.fromString(nodeIdStr); List<NodeReport> nodesReport = client.getNodeReports(); // Use PrintWriter.println, which uses correct platform line ending. ByteArrayOutputStream baos = new ByteArrayOutputStream(); PrintWriter nodeReportStr = new PrintWriter(new OutputStreamWriter(baos, Charset.forName("UTF-8"))); NodeReport nodeReport = null; for (NodeReport report : nodesReport) { if (!report.getNodeId().equals(nodeId)) { continue; } nodeReport = report; nodeReportStr.println("Node Report : "); nodeReportStr.print("\tNode-Id : "); nodeReportStr.println(nodeReport.getNodeId()); nodeReportStr.print("\tRack : "); nodeReportStr.println(nodeReport.getRackName()); nodeReportStr.print("\tNode-State : "); nodeReportStr.println(nodeReport.getNodeState()); nodeReportStr.print("\tNode-Http-Address : "); nodeReportStr.println(nodeReport.getHttpAddress()); nodeReportStr.print("\tLast-Health-Update : "); nodeReportStr.println(DateFormatUtils.format(new Date(nodeReport.getLastHealthReportTime()), "E dd/MMM/yy hh:mm:ss:SSzz")); nodeReportStr.print("\tHealth-Report : "); nodeReportStr.println(nodeReport.getHealthReport()); nodeReportStr.print("\tContainers : "); nodeReportStr.println(nodeReport.getNumContainers()); nodeReportStr.print("\tMemory-Used : "); nodeReportStr.println( (nodeReport.getUsed() == null) ? "0MB" : (nodeReport.getUsed().getMemorySize() + "MB")); nodeReportStr.print("\tMemory-Capacity : "); nodeReportStr.println(nodeReport.getCapability().getMemorySize() + "MB"); nodeReportStr.print("\tCPU-Used : "); nodeReportStr.println((nodeReport.getUsed() == null) ? "0 vcores" : (nodeReport.getUsed().getVirtualCores() + " vcores")); nodeReportStr.print("\tCPU-Capacity : "); nodeReportStr.println(nodeReport.getCapability().getVirtualCores() + " vcores"); nodeReportStr.print("\tGPU-Used : "); nodeReportStr.println( (nodeReport.getUsed() == null) ? "0 gpus" : (nodeReport.getUsed().getGPUs() + " gpus")); nodeReportStr.print("\tGPU-Capacity : "); nodeReportStr.println(nodeReport.getCapability().getGPUs() + " " + "gpus"); nodeReportStr.print("\tNode-Labels : "); // Create a List for node labels since we need it get sorted List<String> nodeLabelsList = new ArrayList<String>(report.getNodeLabels()); Collections.sort(nodeLabelsList); nodeReportStr.println(StringUtils.join(nodeLabelsList.iterator(), ',')); nodeReportStr.print("\tResource Utilization by Node : "); if (nodeReport.getNodeUtilization() != null) { nodeReportStr.print("PMem:" + nodeReport.getNodeUtilization().getPhysicalMemory() + " MB, VMem:" + nodeReport.getNodeUtilization().getVirtualMemory() + " MB, VCores:" + nodeReport.getNodeUtilization().getCPU()); } nodeReportStr.println(); nodeReportStr.print("\tResource Utilization by Containers : "); if (nodeReport.getAggregatedContainersUtilization() != null) { nodeReportStr.print("PMem:" + nodeReport.getAggregatedContainersUtilization().getPhysicalMemory() + " MB, VMem:" + nodeReport.getAggregatedContainersUtilization().getVirtualMemory() + " MB, VCores:" + nodeReport.getAggregatedContainersUtilization().getCPU()); } nodeReportStr.println(); } if (nodeReport == null) { nodeReportStr.print("Could not find the node report for node id : " + nodeIdStr); } nodeReportStr.close(); sysout.println(baos.toString("UTF-8")); }
From source file:org.apache.hadoop.yarn.client.cli.TestYarnCLI.java
@Test public void testNodeStatus() throws Exception { NodeId nodeId = NodeId.newInstance("host0", 0); NodeCLI cli = new NodeCLI(); when(client.getNodeReports()).thenReturn(getNodeReports(3, NodeState.RUNNING, false)); cli.setClient(client);//from w ww.j av a 2 s . co m cli.setSysOutPrintStream(sysOut); cli.setSysErrPrintStream(sysErr); int result = cli.run(new String[] { "-status", nodeId.toString() }); assertEquals(0, result); verify(client).getNodeReports(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); PrintWriter pw = new PrintWriter(baos); pw.println("Node Report : "); pw.println("\tNode-Id : host0:0"); pw.println("\tRack : rack1"); pw.println("\tNode-State : RUNNING"); pw.println("\tNode-Http-Address : host1:8888"); pw.println("\tLast-Health-Update : " + DateFormatUtils.format(new Date(0), "E dd/MMM/yy hh:mm:ss:SSzz")); pw.println("\tHealth-Report : "); pw.println("\tContainers : 0"); pw.println("\tMemory-Used : 0MB"); pw.println("\tMemory-Capacity : 0MB"); pw.println("\tCPU-Used : 0 vcores"); pw.println("\tCPU-Capacity : 0 vcores"); pw.println("\tGPU-Used : 0 gpus"); pw.println("\tGPU-Capacity : 0 gpus"); pw.println("\tNode-Labels : a,b,c,x,y,z"); pw.println("\tResource Utilization by Node : PMem:2048 MB, VMem:4096 MB, VCores:8.0"); pw.println("\tResource Utilization by Containers : PMem:1024 MB, VMem:2048 MB, VCores:4.0"); pw.close(); String nodeStatusStr = baos.toString("UTF-8"); verify(sysOut, times(1)).println(isA(String.class)); verify(sysOut).println(nodeStatusStr); }
From source file:org.apache.hadoop.yarn.client.cli.TestYarnCLI.java
@Test public void testNodeStatusWithEmptyNodeLabels() throws Exception { NodeId nodeId = NodeId.newInstance("host0", 0); NodeCLI cli = new NodeCLI(); when(client.getNodeReports()).thenReturn(getNodeReports(3, NodeState.RUNNING)); cli.setClient(client);/*from w w w . ja va2 s .c o m*/ cli.setSysOutPrintStream(sysOut); cli.setSysErrPrintStream(sysErr); int result = cli.run(new String[] { "-status", nodeId.toString() }); assertEquals(0, result); verify(client).getNodeReports(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); PrintWriter pw = new PrintWriter(baos); pw.println("Node Report : "); pw.println("\tNode-Id : host0:0"); pw.println("\tRack : rack1"); pw.println("\tNode-State : RUNNING"); pw.println("\tNode-Http-Address : host1:8888"); pw.println("\tLast-Health-Update : " + DateFormatUtils.format(new Date(0), "E dd/MMM/yy hh:mm:ss:SSzz")); pw.println("\tHealth-Report : "); pw.println("\tContainers : 0"); pw.println("\tMemory-Used : 0MB"); pw.println("\tMemory-Capacity : 0MB"); pw.println("\tCPU-Used : 0 vcores"); pw.println("\tCPU-Capacity : 0 vcores"); pw.println("\tGPU-Used : 0 gpus"); pw.println("\tGPU-Capacity : 0 gpus"); pw.println("\tNode-Labels : "); pw.println("\tResource Utilization by Node : PMem:2048 MB, VMem:4096 MB, VCores:8.0"); pw.println("\tResource Utilization by Containers : PMem:1024 MB, VMem:2048 MB, VCores:4.0"); pw.close(); String nodeStatusStr = baos.toString("UTF-8"); verify(sysOut, times(1)).println(isA(String.class)); verify(sysOut).println(nodeStatusStr); }
From source file:org.apache.hadoop.yarn.client.cli.TestYarnCLI.java
@Test public void testNodeStatusWithEmptyResourceUtilization() throws Exception { NodeId nodeId = NodeId.newInstance("host0", 0); NodeCLI cli = new NodeCLI(); when(client.getNodeReports()).thenReturn(getNodeReports(3, NodeState.RUNNING, false, true)); cli.setClient(client);//from w w w . j a v a2 s .co m cli.setSysOutPrintStream(sysOut); cli.setSysErrPrintStream(sysErr); int result = cli.run(new String[] { "-status", nodeId.toString() }); assertEquals(0, result); verify(client).getNodeReports(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); PrintWriter pw = new PrintWriter(baos); pw.println("Node Report : "); pw.println("\tNode-Id : host0:0"); pw.println("\tRack : rack1"); pw.println("\tNode-State : RUNNING"); pw.println("\tNode-Http-Address : host1:8888"); pw.println("\tLast-Health-Update : " + DateFormatUtils.format(new Date(0), "E dd/MMM/yy hh:mm:ss:SSzz")); pw.println("\tHealth-Report : "); pw.println("\tContainers : 0"); pw.println("\tMemory-Used : 0MB"); pw.println("\tMemory-Capacity : 0MB"); pw.println("\tCPU-Used : 0 vcores"); pw.println("\tCPU-Capacity : 0 vcores"); pw.println("\tGPU-Used : 0 gpus"); pw.println("\tGPU-Capacity : 0 gpus"); pw.println("\tNode-Labels : a,b,c,x,y,z"); pw.println("\tResource Utilization by Node : "); pw.println("\tResource Utilization by Containers : "); pw.close(); String nodeStatusStr = baos.toString("UTF-8"); verify(sysOut, times(1)).println(isA(String.class)); verify(sysOut).println(nodeStatusStr); }
From source file:org.apache.rocketmq.flume.ng.sink.RocketMQSinkTest.java
@Test public void testEvent() throws MQClientException, InterruptedException, EventDeliveryException, RemotingException, MQBrokerException, UnsupportedEncodingException { /*//from w ww. jav a 2s . c o m start sink */ Context context = new Context(); context.put(NAME_SERVER_CONFIG, nameServer); context.put(TAG_CONFIG, tag); RocketMQSink sink = new RocketMQSink(); Configurables.configure(sink, context); MemoryChannel channel = new MemoryChannel(); Configurables.configure(channel, context); sink.setChannel(channel); sink.start(); /* mock flume source */ String sendMsg = "\"Hello RocketMQ\"" + "," + DateFormatUtils.format(new Date(), "yyyy-MM-DD hh:mm:ss"); Transaction tx = channel.getTransaction(); tx.begin(); Event event = EventBuilder.withBody(sendMsg.getBytes(), null); channel.put(event); tx.commit(); tx.close(); log.info("publish message : {}", sendMsg); Sink.Status status = sink.process(); if (status == Sink.Status.BACKOFF) { fail("Error"); } sink.stop(); /* consumer message */ consumer = new DefaultMQPullConsumer(consumerGroup); consumer.setNamesrvAddr(nameServer); consumer.setMessageModel(MessageModel.valueOf("BROADCASTING")); consumer.registerMessageQueueListener(TOPIC_DEFAULT, null); consumer.start(); String receiveMsg = null; Set<MessageQueue> queues = consumer.fetchSubscribeMessageQueues(TOPIC_DEFAULT); for (MessageQueue queue : queues) { long offset = getMessageQueueOffset(queue); PullResult pullResult = consumer.pull(queue, tag, offset, 32); if (pullResult.getPullStatus() == PullStatus.FOUND) { for (MessageExt message : pullResult.getMsgFoundList()) { byte[] body = message.getBody(); receiveMsg = new String(body, "UTF-8"); log.info("receive message : {}", receiveMsg); } long nextBeginOffset = pullResult.getNextBeginOffset(); putMessageQueueOffset(queue, nextBeginOffset); } } /* wait for processQueueTable init */ Thread.sleep(1000); consumer.shutdown(); assertEquals(sendMsg, receiveMsg); }
From source file:org.apache.rocketmq.flume.ng.sink.RocketMQSinkTest.java
@Test public void testBatchEvent() throws MQClientException, InterruptedException, EventDeliveryException, RemotingException, MQBrokerException, UnsupportedEncodingException { /*//w w w . ja v a 2 s.co m start sink */ Context context = new Context(); context.put(NAME_SERVER_CONFIG, nameServer); context.put(TAG_CONFIG, tag); context.put(BATCH_SIZE_CONFIG, String.valueOf(batchSize)); RocketMQSink sink = new RocketMQSink(); Configurables.configure(sink, context); MemoryChannel channel = new MemoryChannel(); Configurables.configure(channel, context); sink.setChannel(channel); sink.start(); /* mock flume source */ Map<String, String> msgs = new HashMap<>(); Transaction tx = channel.getTransaction(); tx.begin(); int sendNum = 0; for (int i = 0; i < batchSize; i++) { String sendMsg = "\"Hello RocketMQ\"" + "," + DateFormatUtils.format(new Date(), "yyyy-MM-DD hh:mm:ss:SSSS"); Event event = EventBuilder.withBody(sendMsg.getBytes(), null); channel.put(event); log.info("publish message : {}", sendMsg); String[] sendMsgKv = sendMsg.split(","); msgs.put(sendMsgKv[1], sendMsgKv[0]); sendNum++; Thread.sleep(10); } log.info("send message num={}", sendNum); tx.commit(); tx.close(); Sink.Status status = sink.process(); if (status == Sink.Status.BACKOFF) { fail("Error"); } sink.stop(); /* consumer message */ consumer = new DefaultMQPullConsumer(consumerGroup); consumer.setNamesrvAddr(nameServer); consumer.setMessageModel(MessageModel.valueOf("BROADCASTING")); consumer.registerMessageQueueListener(TOPIC_DEFAULT, null); consumer.start(); int receiveNum = 0; String receiveMsg = null; Set<MessageQueue> queues = consumer.fetchSubscribeMessageQueues(TOPIC_DEFAULT); for (MessageQueue queue : queues) { long offset = getMessageQueueOffset(queue); PullResult pullResult = consumer.pull(queue, tag, offset, batchSize); if (pullResult.getPullStatus() == PullStatus.FOUND) { for (MessageExt message : pullResult.getMsgFoundList()) { byte[] body = message.getBody(); receiveMsg = new String(body, "UTF-8"); String[] receiveMsgKv = receiveMsg.split(","); msgs.remove(receiveMsgKv[1]); log.info("receive message : {}", receiveMsg); receiveNum++; } long nextBeginOffset = pullResult.getNextBeginOffset(); putMessageQueueOffset(queue, nextBeginOffset); } } log.info("receive message num={}", receiveNum); /* wait for processQueueTable init */ Thread.sleep(1000); consumer.shutdown(); assertEquals(msgs.size(), 0); }
From source file:org.apache.rocketmq.flume.ng.souce.RocketMQSourceTest.java
@Test public void testEvent() throws EventDeliveryException, MQBrokerException, MQClientException, InterruptedException, UnsupportedEncodingException { // publish test message DefaultMQProducer producer = new DefaultMQProducer(producerGroup); producer.setNamesrvAddr(nameServer); String sendMsg = "\"Hello Flume\"" + "," + DateFormatUtils.format(new Date(), "yyyy-MM-DD hh:mm:ss"); try {// w w w . j ava 2s . c o m producer.start(); Message msg = new Message(TOPIC_DEFAULT, tag, sendMsg.getBytes("UTF-8")); SendResult sendResult = producer.send(msg); log.info("publish message : {}, sendResult:{}", sendMsg, sendResult); } catch (Exception e) { throw new MQClientException("Failed to publish messages", e); } finally { producer.shutdown(); } // start source Context context = new Context(); context.put(NAME_SERVER_CONFIG, nameServer); context.put(TAG_CONFIG, tag); Channel channel = new MemoryChannel(); Configurables.configure(channel, context); List<Channel> channels = new ArrayList<>(); channels.add(channel); ChannelSelector channelSelector = new ReplicatingChannelSelector(); channelSelector.setChannels(channels); ChannelProcessor channelProcessor = new ChannelProcessor(channelSelector); RocketMQSource source = new RocketMQSource(); source.setChannelProcessor(channelProcessor); Configurables.configure(source, context); source.start(); PollableSource.Status status = source.process(); if (status == PollableSource.Status.BACKOFF) { fail("Error"); } /* wait for processQueueTable init */ Thread.sleep(1000); source.stop(); /* mock flume sink */ Transaction transaction = channel.getTransaction(); transaction.begin(); Event event = channel.take(); if (event == null) { transaction.commit(); fail("Error"); } byte[] body = event.getBody(); String receiveMsg = new String(body, "UTF-8"); log.info("receive message : {}", receiveMsg); assertEquals(sendMsg, receiveMsg); }
From source file:org.apache.rocketmq.spark.RocketMQServerMock.java
public void prepareDataTo(String topic, int times) throws Exception { // publish test message DefaultMQProducer producer = new DefaultMQProducer(producerGroup); producer.setNamesrvAddr(nameserverAddr); String sendMsg = "\"Hello Rocket\"" + "," + DateFormatUtils.format(new Date(), "yyyy-MM-DD hh:mm:ss"); try {/* w w w .j a va 2 s . com*/ producer.start(); for (int i = 0; i < times; i++) { producer.send(new Message(topic, sendMsg.getBytes("UTF-8"))); } } catch (Exception e) { throw new MQClientException("Failed to publish messages", e); } finally { producer.shutdown(); } }
From source file:org.b3log.latke.servlet.renderer.AbstractFreeMarkerRenderer.java
/** * Processes the specified FreeMarker template with the specified request, data model. * * @param request the specified request * @param dataModel the specified data model * @param template the specified FreeMarker template * @return generated HTML/* www .ja v a 2s . c o m*/ * @throws Exception exception */ protected String genHTML(final HttpServletRequest request, final Map<String, Object> dataModel, final Template template) throws Exception { final StringWriter stringWriter = new StringWriter(); template.setOutputEncoding("UTF-8"); template.process(dataModel, stringWriter); final StringBuilder pageContentBuilder = new StringBuilder(stringWriter.toString()); final long endimeMillis = System.currentTimeMillis(); final String dateString = DateFormatUtils.format(endimeMillis, "yyyy/MM/dd HH:mm:ss"); final long startTimeMillis = (Long) request.getAttribute(Keys.HttpRequest.START_TIME_MILLIS); final String msg = String.format( "\n<!-- Generated by Latke (https://github.com/b3log/latke) in %1$dms, %2$s -->", endimeMillis - startTimeMillis, dateString); pageContentBuilder.append(msg); return pageContentBuilder.toString(); }