/**
 * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
 *
 * The contents of this file are subject to the terms of the Liferay Enterprise
 * Subscription License ("License"). You may not use this file except in
 * compliance with the License. You can obtain a copy of the License by
 * contacting Liferay, Inc. See the License for the specific language governing
 * permissions and limitations under the License, including but not limited to
 * distribution rights of the Software.
 *
 *
 *
 */

package com.liferay.portal.lpkg.deployer.internal;

import com.liferay.petra.string.CharPool;
import com.liferay.petra.string.StringPool;
import com.liferay.petra.string.StringUtil;

import java.util.List;

public class Version extends org.osgi.framework.Version {
	public Version(String versionString) {
		super(_padHotfixVersionString(versionString));
	}

	private static String _padHotfixVersionString(String versionString) {
		int index = versionString.indexOf(".hotfix");

		if (index == -1) {
			return versionString;
		}

		List<String> versionParts = StringUtil.split(
			versionString, CharPool.PERIOD);

		if (versionParts.size() == 4) {
			return versionString;
		}

		while (versionParts.size() < 4) {
			versionParts.add(versionParts.size() - 2, "0");
		}

		return StringUtil.merge(versionParts, StringPool.PERIOD);
	}
}