Example usage for org.apache.commons.lang.time DateFormatUtils format

List of usage examples for org.apache.commons.lang.time DateFormatUtils format

Introduction

In this page you can find the example usage for org.apache.commons.lang.time DateFormatUtils format.

Prototype

public static String format(Date date, String pattern) 

Source Link

Document

Formats a date/time into a specific pattern.

Usage

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();
}