public DataPoint(String inputLine) {
		// String[] line = inputLine.split(" ");
		// HashMap<Integer, Double> map = new HashMap<Integer, Double> ();
		// int id = 0;
		// for(String token : line){
		// map.put(id, Double.parseDouble(token));
		// id++;
		// }
		// setVector(map);
		// setID(""+GID);
		// setClusterID(""+GID);
		// setFinalClusterID(""+GID);
		// GID++;
		// FRangeDistance = new TreeSet<Double>();

		String[] attributes = inputLine.split("&");
		for (int j = 0; j < attributes.length; j++) {
			String key = attributes[j].substring(0, attributes[j].indexOf(':'));
			String value = "";
			if (key.equals("ID"))
				setID(attributes[j].substring(attributes[j].indexOf(':') + 1));
			else if (key.equals("features")) {
				HashMap<Integer, Double> map = new HashMap<Integer, Double>();
				value = attributes[j].substring(attributes[j].indexOf(':') + 2,
						attributes[j].length() - 1);
				// value --> id=value ,
				String[] hashMap = value.split(",");
				for (String s : hashMap)
					map.put(Integer.parseInt(s.substring(0, s.indexOf('='))
							.trim()), Double.parseDouble(s.substring(
							s.indexOf('=') + 1).trim()));
				setVector(map);
			} else if (key.equals("url"))
				setUrl(attributes[j].substring(attributes[j].indexOf(':') + 1));

		}
		FRangeDistance = new TreeSet<Double>();
		setClusterID(getID());
		
		calculateValue();

	}