##########################JmeterResultsWriter.java ##################
package com.atlassian.bamboo.plugins.jmeter_aggregator.index;
import java.util.Map;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.NumberTools;
import org.apache.lucene.document.Field.Index;
import org.apache.lucene.document.Field.Store;
import org.jetbrains.annotations.NotNull;
import com.atlassian.bamboo.index.CustomPostBuildIndexWriter;
import com.atlassian.bamboo.plugins.jmeter_aggregator.builder.JmeterBuildDataHelper;
import com.atlassian.bamboo.plugins.jmeter_aggregator.Sampler;
import com.atlassian.bamboo.resultsummary.BuildResultsSummary;
import com.thoughtworks.xstream.XStream;
public class JmeterResultsWriter implements CustomPostBuildIndexWriter
{
public static final String JMETER_AGGREGATOR_NINETY_PERECENT = "jmeter.aggregator.ninety.percent";
public static final String JMETER_AGGREGATOR_MEDIAN = "jmeter.aggregator.median";
public static final String JMETER_AGGREGATOR_THROUGHPUT = "jmeter.aggregator.throughput";
@SuppressWarnings("unchecked")
public void updateIndexDocument(@NotNull Document doc, @NotNull BuildResultsSummary summary)
{
Map<String, String> data = summary.getCustomBuildData();
String xmlData = data.get(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_MAP);
if (xmlData != null)
{
String xmlTotal = data.get(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_TOTAL);
XStream xstream = new XStream();
Sampler sampler = (Sampler) xstream.fromXML(xmlTotal);
// Store the total and xmldata unindexed.
doc.add(new Field(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_MAP, xmlData, Store.COMPRESS, Index.NO));
doc.add(new Field(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_TOTAL, xmlTotal, Store.COMPRESS,
Index.NO));
}
}
}
################### JmeterResultsReader.java ###################
package com.atlassian.bamboo.plugins.jmeter_aggregator.index;
import java.util.Map;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import com.atlassian.bamboo.index.CustomIndexReader;
import com.atlassian.bamboo.plugins.jmeter_aggregator.builder.JmeterBuildDataHelper;
import com.atlassian.bamboo.resultsummary.BuildResultsSummary;
public class JmeterResultsReader implements CustomIndexReader
{
public void extractFromDocument(Document doc, BuildResultsSummary summary)
{
Map<String, String> results = summary.getCustomBuildData();
Field dataField = doc.getField(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_MAP);
if (dataField != null)
{
results.put(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_MAP, dataField.stringValue());
}
Field totalField = doc.getField(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_TOTAL);
if (totalField != null)
{
results.put(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_TOTAL, totalField.stringValue());
}
}
}
正如注释中所述,当您使用Lucene4.x时,您使用的是为Lucene3.x编写的代码。NumberTools
在4.0中被删除(从2.9开始,可能更早)。
对于数字字段,您应该使用适当的字段类型,而不是自己进行任何花哨的转换。例如,longfield
或intfield
。
如果您确实必须自己转换值,Numericutils
将替换旧的NumberTools
的功能。所以不是:
string s = NumberTools.longToString(longval);
//index the string...
BytesRef longvalRef = new BytesRef();
NumericUtils.longToPrefixCoded(longval, 0, longvalRef);
//index the BytesRef...
不过,实际上应该使用longfield
。请参见关于Numericutils的说明:
注意:此API仅用于内部目的,在下一个版本中可能会以不兼容的方式进行更改。
例如,在4.0和4.10中,它肯定有。
DBHelper。JAVA LoginSevlet.java 我正在尝试访问LoginServlet中的DBHelper类,而编译i做了javac DBHelper.javajavac-cp"C:\User\dell\Desktop\MYServlet\WEB-INF\lib\servlet-api-2.5.jar;"LoginServlet.javaLoginServlet.java:13:错误
问题内容: 如果这是一个怪异的问题,我感到很抱歉,但是我刚刚开始OOP,并遇到了一个我应该制作的简单菜单驱动数学程序。我清除了编译器给我的所有错误,但是现在它给了我大约14个新错误,其中大多数被描述为“找不到符号”。这是我的代码: 这是新的编译器输出: 问题答案: 您从未在方法的主体中定义变量。尝试在方法中添加。简单地定义的变量并 没有 放弃对它的访问。如果要避免多次创建实例,可以执行以下操作 然
问题内容: 我正在尝试为计算器编写第一个单元测试,但是NetBeans表示找不到符号和注释。 我应该包括一些东西吗? 我正在使用NetBeans 7.3.1和W7。 编辑:谢谢大家,将其导入为静态帮助。测试注释仅需包括 导入org.junit.Test; 问题答案: 是静态方法。由于不能使用静态方法而没有以静态方式显式导入它们,因此必须使用以下两种方法之一: 要么: 因为有点不同。是的注释,您可以
问题内容: 我有一个奇怪的错误。我在同一包中有2个类,但它们彼此找不到。根据我的记忆,只要这些类位于同一包中,它们就应该能够调用彼此的方法。 我的代码与此类似: 在A.java中: 在B.java中: 这给了我一个错误。 这两个类都依赖于某些文件,但是我已经包括了这些jar的路径并可以很好地编译,但是由于某些原因B找不到A … 当我在两个类中都删除时,它们可以正常编译。 问题答案: 由于您要编译位
这里有一个类似的答案:如何在Java中将函数作为参数传递? 但提供的正确答案不起作用。我有一门课: 在函数内部我试图将传递到,但我得到的错误是: 找不到符号 符号:类Callable 我不知道为什么。 另外,我尝试使用返回类型字符串作为xMethod,您能传递一个返回类型不同的函数吗?
我再次请求您的技术支持。 我在代码中收到多个“找不到符号错误”。我怎样才能纠正这个错误?我在转换变量类型时也有问题。 对于其中的一些变量,我尝试使用新文本(some_string_variable)来转换它们。是否需要使用“新”零件?。我可以直接调用文本(一些字符串变量)吗?