/*
* This program is free software; you can redistribute it and/or modify it under the
* terms of the GNU General Public License, version 2 as published by the Free Software
* Foundation.
*
* You should have received a copy of the GNU General Public License along with this
* program; if not, you can obtain a copy at http://www.gnu.org/licenses/gpl-2.0.html
* or from the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* Copyright 2008 - 2009 Pentaho Corporation. All rights reserved.
*
*/
package org.pentaho.test.platform.engine.services;
import java.math.BigDecimal;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.apache.commons.logging.Log;
//import org.pentaho.platform.api.engine.IConfiguredPojo;
import org.pentaho.platform.api.engine.IPentahoSession;
//import org.pentaho.platform.api.engine.ISimplePojoComponent;
public class TestPojo1 {
// public class TestPojo1 implements ISimplePojoComponent, IConfiguredPojo {
public static String input1;
protected String output1;
public static int int1;
public static Integer int2;
public static boolean bool1;
public static Boolean bool2;
public static long long1;
public static Long long2;
public static double double1;
public static Double double2;
public static float float1;
public static Float float2;
public static BigDecimal bigDecimal;
public static String setting1;
public static String setting2;
public static String setting3;
public boolean execute() throws Exception {
// this will generate a null pointer if input1 is null
output1 = input1+input1;
return true;
}
public void setLogger( Log log ) {
PojoComponentTest.setLoggerCalled = true;
}
public void setSession( IPentahoSession session ) {
PojoComponentTest.setSessionCalled = true;
}
public String getOutput1() {
return output1;
}
public void setInput1( String input1 ) {
TestPojo1.input1 = input1;
}
public boolean validate() throws Exception {
return true;
}
public boolean done() {
PojoComponentTest.doneCalled = true;
return true;
}
public void setInt1( int anInt ) {
TestPojo1.int1 = anInt;
}
public void setInt2( Integer anInt ) {
TestPojo1.int2 = anInt;
}
public boolean isBool1() {
return bool1;
}
public void setBool1(boolean bool1) {
TestPojo1.bool1 = bool1;
}
public Boolean getBool2() {
return bool2;
}
public void setBool2(Boolean bool2) {
TestPojo1.bool2 = bool2;
}
public long getLong1() {
return long1;
}
public void setLong1(long long1) {
TestPojo1.long1 = long1;
}
public Long getLong2() {
return long2;
}
public void setLong2(Long long2) {
TestPojo1.long2 = long2;
}
public double getDouble1() {
return double1;
}
public void setDouble1(double double1) {
TestPojo1.double1 = double1;
}
public Double getDouble2() {
return double2;
}
public void setDouble2(Double double2) {
TestPojo1.double2 = double2;
}
public float getFloat1() {
return float1;
}
public void setFloat1(float float1) {
TestPojo1.float1 = float1;
}
public Float getFloat2() {
return float2;
}
public void setFloat2(Float float2) {
TestPojo1.float2 = float2;
}
public BigDecimal getBigDecimal() {
return bigDecimal;
}
public void setBigDecimal(BigDecimal bigDecimal) {
TestPojo1.bigDecimal = bigDecimal;
}
public int getInt1() {
return int1;
}
public Integer getInt2() {
return int2;
}
public boolean configure(Map<String, String> settings) {
TestPojo1.setting1 = settings.get("pojosettings/settings.xml{settings-root/setting1-name}"); //$NON-NLS-1$
TestPojo1.setting2 = settings.get("pojosettings/settings.xml{settings-root/setting2-name}"); //$NON-NLS-1$
TestPojo1.setting3 = settings.get("pojosettings/settings.xml{settings-root/bogus}"); //$NON-NLS-1$
return true;
}
public Set<String> getConfigSettingsPaths() {
Set<String> paths = new HashSet<String>();
paths.add( "pojosettings/settings.xml{settings-root/setting1-name}" ); //$NON-NLS-1$
paths.add( "pojosettings/settings.xml{settings-root/setting2-name}" ); //$NON-NLS-1$
paths.add( "pojosettings/settings.xml{settings-root/bogus}" ); //$NON-NLS-1$
return paths;
}
}