@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("**************************").append("\n");
		builder.append("operationName = ").append(operationName).append("\n");
		if (this.dimensionLevelInfo.size() != 0) {
			builder.append("dimensionInfo = ").append(this.dimensionLevelInfo)
					.append("\n");
		}
		if (this.dimensionNicknames.size() != 0) {
			builder.append("dimensionNicknames = ")
					.append(this.dimensionNicknames).append("\n");
		}
		builder.append("target = ").append(targetCube).append("\n");
		if (this.resultCube != null) {
			builder.append("resultCube = ").append(resultCube).append("\n");
		}
		if (this.aggregateFunctionName != null) {
			builder.append("aggregateFunctionName = ")
					.append(aggregateFunctionName).append("\n");
		}
		if (this.conditions.size() > 0) {
			builder.append("conditions = ").append("{");
			for (Iterator<String> iterator = this.conditions.keySet()
					.iterator(); iterator.hasNext();) {
				String key = iterator.next();
				builder.append(key).append("=[")
						.append(this.conditions.get(key)[0]).append(",")
						.append(this.conditions.get(key)[1]).append("],");
			}
			builder.deleteCharAt(builder.length() - 1).append("}\n");
		}
		// StringBuilder builder = new StringBuilder();
		// builder.append("{");
		// Set<Entry<String, String[]>> entrySet = conditions.entrySet();
		// for (Entry<String, String[]> entry : entrySet) {
		// builder.append(entry.getKey());
		// builder.append("=[");
		// builder.append(entry.getValue()[0]);
		// builder.append(",");
		// builder.append(entry.getValue()[1]);
		// builder.append("],");
		// }
		// int index = builder.lastIndexOf(",");
		// if (index != -1) {
		// builder.deleteCharAt(index);
		// }
		// builder.append("}");
		// return
		// "ParserResult [operationName = "+operationName+" , dimensionLevelInfo="
		// + dimensionLevelInfo
		// + ", dimensionNicknames=" + dimensionNicknames
		// + ", targetCube=" + targetCube + ", resultCube=" + resultCube
		// + ", aggregateFunctionName=" + aggregateFunctionName
		// + ", aggregateFunctionParameters="
		// + builder.toString() + "]";
		builder.append("**************************").append("\n");
		return builder.toString();
	}