/*******************************************************************************
 * Mission Control Technologies, Copyright (c) 2009-2012, United States Government
 * as represented by the Administrator of the National Aeronautics and Space 
 * Administration. All rights reserved.
 *
 * The MCT platform is licensed under the Apache License, Version 2.0 (the 
 * "License"); you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * http://www.apache.org/licenses/LICENSE-2.0.
 *
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations under 
 * the License.
 *
 * MCT includes source code licensed under additional open source licenses. See 
 * the MCT Open Source Licenses file included with this distribution or the About 
 * MCT Licenses dialog available at runtime from the MCT Help menu for additional 
 * information. 
 *******************************************************************************/
package gov.nasa.arc.mct.scenario.component;

import gov.nasa.arc.mct.components.PropertyEditor;

import java.util.Collections;
import java.util.List;

public class CostPropertyEditor implements PropertyEditor<Object> {
	private CostCapability cost;

	public CostPropertyEditor(CostCapability cost) {
		super();
		this.cost = cost;
	}

	@Override
	public String getAsText() {		
		return String.valueOf(cost.getValue());
	}

	/**
	 * Set and save the value in the business model.
	 * 
	 * @param newValue the new value
	 * @throws exception if the new value is invalid.  MCT platform will handle this exception and
	 * disallow the prospective edit.
	 */
	@Override
	public void setAsText(String newValue) throws IllegalArgumentException {
		String result = verify(newValue);
		if (verify(newValue) != null) {
			throw new IllegalArgumentException(result);
		}
		// verify() took care of a possible number format exception
		cost.setValue(Double.parseDouble(newValue));
	}

	private String verify(String s) {
		assert s != null;
		if (s.isEmpty()) {
			return "Cannot be unspecified";
		}
		try {
			Double.parseDouble(s);
		} catch (NumberFormatException e) {
			return "Must be a numeric";
		}
		return null;
	}
	
	@Override
	public String getValue() {
		throw new UnsupportedOperationException();
	}

	@Override
	public void setValue(Object selection) {
		throw new UnsupportedOperationException();
	}

	@Override
	public List<Object> getTags() {
		return Collections.emptyList();
	}	
}

@@ -1301,16 +1301,79 @@
 ditor;%0A%0A
+import java.text.DecimalFormat;%0Aimport java.text.NumberFormat;%0A
 import j
@@ -1394,16 +1394,16 @@
 ctions;%0A
-
 import j
@@ -1486,16 +1486,81 @@
 ject%3E %7B%0A
+%09private static final NumberFormat FORMAT = new DecimalFormat();%0A
 %09private
@@ -1722,22 +1722,21 @@
 urn 
-String.valueOf
+FORMAT.format
 (cos

Fix decimal format in Activity's Info view