From db0f5b50bc4ebe7a478c2d9efea180400e116fc1 Mon Sep 17 00:00:00 2001 From: Stefaan Dutry Date: Mon, 21 May 2018 21:53:29 +0200 Subject: [PATCH] remove ProfilingTimerBean Part of removing the profiling layer Issue: * WW-4779 --- .../util/profiling/ProfilingTimerBean.java | 129 ------------------ .../xwork2/util/profiling/package.html | 21 --- .../profiling/ProfilingTimerBeanTest.java | 127 ----------------- 3 files changed, 277 deletions(-) delete mode 100644 core/src/main/java/com/opensymphony/xwork2/util/profiling/ProfilingTimerBean.java delete mode 100644 core/src/main/java/com/opensymphony/xwork2/util/profiling/package.html delete mode 100644 core/src/test/java/com/opensymphony/xwork2/util/profiling/ProfilingTimerBeanTest.java diff --git a/core/src/main/java/com/opensymphony/xwork2/util/profiling/ProfilingTimerBean.java b/core/src/main/java/com/opensymphony/xwork2/util/profiling/ProfilingTimerBean.java deleted file mode 100644 index 3706d2843..000000000 --- a/core/src/main/java/com/opensymphony/xwork2/util/profiling/ProfilingTimerBean.java +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -/* - * Copyright (c) 2002-2003, Atlassian Software Systems Pty Ltd All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation and/or - * other materials provided with the distribution. - * * Neither the name of Atlassian Software Systems Pty Ltd nor the names of - * its contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -package com.opensymphony.xwork2.util.profiling; - -import java.util.ArrayList; -import java.util.List; - -/** - * Bean to contain information about the pages profiled - * - * @author Mike Cannon-Brookes - * @author Scott Farquhar - * @version $Date$ $Id$ - * - * @deprecated will be dropped with next major release (2.6) - */ -@Deprecated -public class ProfilingTimerBean implements java.io.Serializable { - - private static final long serialVersionUID = -6180672043920208784L; - - List children = new ArrayList<>(); - ProfilingTimerBean parent = null; - - String resource; - - long startTime; - long totalTime; - - public ProfilingTimerBean(String resource) { - this.resource = resource; - } - - protected void addParent(ProfilingTimerBean parent) { - this.parent = parent; - } - - public ProfilingTimerBean getParent() { - return parent; - } - - - public void addChild(ProfilingTimerBean child) { - children.add(child); - child.addParent(this); - } - - - public void setStartTime() { - this.startTime = System.currentTimeMillis(); - } - - public void setEndTime() { - this.totalTime = System.currentTimeMillis() - startTime; - } - - public String getResource() { - return resource; - } - - /** - * @param minTime minimum time - * @return a formatted string representing all the methods that took longer than a specified time. - */ - public String getPrintable(long minTime) { - return getPrintable("", minTime); - } - - protected String getPrintable(String indent, long minTime) { - //only print the value if we are larger or equal to the min time. - if (totalTime >= minTime) { - StringBuilder buffer = new StringBuilder(); - buffer.append(indent); - buffer.append("[" + totalTime + "ms] - " + resource); - buffer.append("\n"); - - for (ProfilingTimerBean aChildren : children) { - buffer.append((aChildren).getPrintable(indent + " ", minTime)); - } - - return buffer.toString(); - } else - return ""; - } -} - diff --git a/core/src/main/java/com/opensymphony/xwork2/util/profiling/package.html b/core/src/main/java/com/opensymphony/xwork2/util/profiling/package.html deleted file mode 100644 index 766d4b870..000000000 --- a/core/src/main/java/com/opensymphony/xwork2/util/profiling/package.html +++ /dev/null @@ -1,21 +0,0 @@ - -Classes to enable profiling of action execution. diff --git a/core/src/test/java/com/opensymphony/xwork2/util/profiling/ProfilingTimerBeanTest.java b/core/src/test/java/com/opensymphony/xwork2/util/profiling/ProfilingTimerBeanTest.java deleted file mode 100644 index 443f469fd..000000000 --- a/core/src/test/java/com/opensymphony/xwork2/util/profiling/ProfilingTimerBeanTest.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package com.opensymphony.xwork2.util.profiling; - -import junit.framework.TestCase; - -/** - * - * @author tm_jee - * @version $Date$ $Id$ - */ -public class ProfilingTimerBeanTest extends TestCase { - - public void testAddChild() throws Exception { - ProfilingTimerBean bean0 = new ProfilingTimerBean("bean0"); - ProfilingTimerBean bean1 = new ProfilingTimerBean("bean1"); - ProfilingTimerBean bean2 = new ProfilingTimerBean("bean2"); - ProfilingTimerBean bean3 = new ProfilingTimerBean("bean3"); - ProfilingTimerBean bean4 = new ProfilingTimerBean("bean4"); - ProfilingTimerBean bean5 = new ProfilingTimerBean("bean5"); - ProfilingTimerBean bean6 = new ProfilingTimerBean("bean6"); - ProfilingTimerBean bean7 = new ProfilingTimerBean("bean7"); - ProfilingTimerBean bean8 = new ProfilingTimerBean("bean8"); - - /* bean0 - * + bean1 - * + bean2 - * + bean3 - * + bean4 - * + bean5 - * + bean6 - * +bean7 - * + bean8 - */ - - bean0.addChild(bean1); - bean0.addChild(bean3); - bean0.addChild(bean8); - - bean1.addChild(bean2); - - bean3.addChild(bean4); - bean3.addChild(bean7); - - bean4.addChild(bean5); - - bean5.addChild(bean6); - - - // bean0 - assertNull(bean0.getParent()); - assertEquals(bean0.children.size(), 3); - assertTrue(bean0.children.contains(bean1)); - assertTrue(bean0.children.contains(bean3)); - assertTrue(bean0.children.contains(bean8)); - - // bean1 - assertEquals(bean1.getParent(), bean0); - assertEquals(bean1.children.size(), 1); - assertTrue(bean1.children.contains(bean2)); - - // bean2 - assertEquals(bean2.getParent(), bean1); - assertEquals(bean2.children.size(), 0); - - // bean3 - assertEquals(bean3.getParent(), bean0); - assertEquals(bean3.children.size(), 2); - assertTrue(bean3.children.contains(bean4)); - assertTrue(bean3.children.contains(bean7)); - - // bean4 - assertEquals(bean4.getParent(), bean3); - assertEquals(bean4.children.size(), 1); - assertTrue(bean4.children.contains(bean5)); - - // bean5 - assertEquals(bean5.getParent(), bean4); - assertEquals(bean5.children.size(), 1); - assertTrue(bean5.children.contains(bean6)); - - // bean6 - assertEquals(bean6.getParent(), bean5); - assertEquals(bean6.children.size(), 0); - - // bean7 - assertEquals(bean7.getParent(), bean3); - assertEquals(bean7.children.size(), 0); - - // bean8 - assertEquals(bean8.getParent(), bean0); - assertEquals(bean8.children.size(), 0); - } - - public void testTime() throws Exception { - ProfilingTimerBean bean0 = new ProfilingTimerBean("bean0"); - bean0.setStartTime(); - Thread.sleep(1050); - bean0.setEndTime(); - assertTrue(bean0.totalTime >= 1000); - } - - public void testPrint() throws Exception { - ProfilingTimerBean bean0 = new ProfilingTimerBean("bean0"); - bean0.setStartTime(); - Thread.sleep(1050); - bean0.setEndTime(); - assertEquals(bean0.getPrintable(2000), ""); - assertTrue(bean0.getPrintable(500).length() > 0); - } -}