예제 #1
0
		/// <summary>
		/// 简单的对比工作
		/// </summary>
		/// <param name="old"> </param>
		/// <param name="newData">
		/// 
		/// @return </param>
		public static string getDiffSimple(string old, string newData)
		{

			StringComparator stringComparator = new StringComparator(old, newData);
			try
			{
				return stringComparator.ChangesFromOriginal.ToString();
			}
			catch (IOException e)
			{
				LOG.warn(e.ToString());
				return "";
			}
		}
예제 #2
0
		/// <summary>
		/// 专门为disconf打造的对照工具
		/// </summary>
		/// <param name="old"> </param>
		/// <param name="newData"> </param>
		/// <param name="identify">
		/// 
		/// @return </param>
		public static string getDiff(string old, string newData, string identify, string htmlClick)
		{

			StringComparator stringComparator = new StringComparator(old, newData);
			string contentString = StringEscapeUtils.escapeHtml4(identify) + "<br/><br/>" + htmlClick + "<br/> ";

			try
			{

				if (stringComparator.ChangesFromOriginal.Count == 0 && stringComparator.DeletesFromOriginal.Count == 0 && stringComparator.InsertsFromOriginal.Count == 0)
				{

					return "<span style='color:#FF0000'>OK, NO MODIFICATOIN!</span>";

				}
				else
				{

					string oldValue = "<br/><br/><br/><span style='color:#FF0000'>Old value:</span><br/>" + StringEscapeUtils.escapeHtml4(old).replaceAll("\n", "<br/>");

					string newValue = "<br/><br/><br/><span style='color:#FF0000'>New value:</span><br/>" + StringEscapeUtils.escapeHtml4(newData).replaceAll("\n", "<br/>");

					string diff = "";
					if (stringComparator.ChangesFromOriginal.Count != 0)
					{
						diff = "<span style='color:#FF0000'>Change info: </span><br/>";
						foreach (Chunk chunk in stringComparator.ChangesFromOriginal)
						{
							diff += StringEscapeUtils.escapeHtml4(chunk.ToString()) + "<br/>";
						}
					}

					if (stringComparator.InsertsFromOriginal.Count != 0)
					{
						diff += "<br/><span style='color:#FF0000'>Insert info: </span><br/>";
						foreach (Chunk chunk in stringComparator.InsertsFromOriginal)
						{
							diff += StringEscapeUtils.escapeHtml4(chunk.ToString()) + "<br/>";
						}
					}

					if (stringComparator.DeletesFromOriginal.Count != 0)
					{
						diff += "<br/><span style='color:#FF0000'>Delete info: </span><br/>";
						foreach (Chunk chunk in stringComparator.DeletesFromOriginal)
						{
							diff += StringEscapeUtils.escapeHtml4(chunk.ToString()) + "<br/>";
						}
					}

					return contentString + diff + oldValue + newValue;
				}

			}
			catch (IOException e)
			{
				LOG.error("compare error", e);

				return "comparator error" + e.ToString();
			}
		}