diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-11 23:14:18 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-11 23:14:18 +0000 |
commit | fdd5b43d3c139cf2cbd1655d2efbfaf9032a5b5e (patch) | |
tree | bcd16e19fa4bbd45f956812be8b65f7a143b573f /branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java | |
parent | 3caf8614f25d6b1962e20331fdf423c863bc02f3 (diff) |
Moving 1.x branches
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835145 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java')
12 files changed, 0 insertions, 491 deletions
diff --git a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/CreditCheck.java b/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/CreditCheck.java deleted file mode 100644 index c5787b7819..0000000000 --- a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/CreditCheck.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ -package mortgage; - -import org.osoa.sca.annotations.Remotable; - -/** - * CreditCheck interface - */ -@Remotable -public interface CreditCheck { - int getCreditScore(String ssn); -} diff --git a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/CreditCheckImpl.java b/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/CreditCheckImpl.java deleted file mode 100644 index dc803d9688..0000000000 --- a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/CreditCheckImpl.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ -package mortgage; - -import org.osoa.sca.annotations.Service; - -/** - * A pojo implementation of the CreditCheck service - */ -@Service(CreditCheck.class) -public class CreditCheckImpl implements CreditCheck { - - public int getCreditScore(String ssn) { - int score = (int)(700 + (Math.random() - 0.5) * 100); - System.out.println("Credit score for " + ssn + ": " + score); - return score; - } -} diff --git a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/Customer.java b/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/Customer.java deleted file mode 100644 index 66a486d516..0000000000 --- a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/Customer.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ - -package mortgage; - -/** - * A simple Customer object - */ -public class Customer { - private String ssn; - private String firstName; - private String lastName; - private double monthlyIncome; - private String state; - - public double getMonthlyIncome() { - return monthlyIncome; - } - - public void setMonthlyIncome(double monthlyIncome) { - this.monthlyIncome = monthlyIncome; - } - - public String getState() { - return state; - } - - public void setState(String state) { - this.state = state; - } - - public String getFirstName() { - return firstName; - } - - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - public String getLastName() { - return lastName; - } - - public void setLastName(String lastName) { - this.lastName = lastName; - } - - public String getSsn() { - return ssn; - } - - public void setSsn(String ssn) { - this.ssn = ssn; - } - - @Override - public String toString() { - return firstName + " " + lastName + "[" + ssn + "]"; - } -} diff --git a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/InterestRateQuote.java b/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/InterestRateQuote.java deleted file mode 100644 index b5bafeb204..0000000000 --- a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/InterestRateQuote.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ -package mortgage; - -public interface InterestRateQuote { - public float getRate(String state, double loanAmount, int termInYears); -} diff --git a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/InterestRateQuoteImpl.java b/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/InterestRateQuoteImpl.java deleted file mode 100644 index 8c642667f1..0000000000 --- a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/InterestRateQuoteImpl.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ -package mortgage; - -import org.osoa.sca.annotations.Service; - -@Service(InterestRateQuote.class) -public class InterestRateQuoteImpl implements InterestRateQuote { - public float getRate(String state, double loanAmount, int termInYears) { - float rate = 6.0f; - if (termInYears == 5) { - rate = 5.5f; - } else { - rate = 6.5f; - } - System.out.println("Interest rate for a " + termInYears - + "-year loan of $" - + loanAmount - + " in " - + state - + ": " - + rate - + "%"); - return rate; - } -} diff --git a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/LoanApproval.java b/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/LoanApproval.java deleted file mode 100644 index dcdad18496..0000000000 --- a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/LoanApproval.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ - -package mortgage; - -/** - * Loan Approval interface - */ -public interface LoanApproval { - public boolean approve(Customer customer, double loanAmount, int years); -} diff --git a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/LoanApprovalImpl.java b/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/LoanApprovalImpl.java deleted file mode 100644 index 40bfdc4a1d..0000000000 --- a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/LoanApprovalImpl.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ -package mortgage; - -import org.osoa.sca.annotations.Property; -import org.osoa.sca.annotations.Reference; -import org.osoa.sca.annotations.Service; - -/** - * An implementation of the LoanApproval service. - */ -@Service(LoanApproval.class) -// Service declaration -public class LoanApprovalImpl implements LoanApproval { - private CreditCheck[] creditCheck; - private MortgageCalculator mortgageCalculator; - private InterestRateQuote interestRateQuote; - - // Reference declaration using a protected or public field - @Reference - public RiskAssessment riskAssessment; - - private int minimumCreditScore = 650; - - // Property declaration using a setter method - @Property(name = "minimumCreditScore") - public void setMinimumCreditScore(int minimumCreditScore) { - this.minimumCreditScore = minimumCreditScore; - } - - // Reference declaration using a setter method - @Reference - public void setCreditCheck(CreditCheck[] creditCheck) { - this.creditCheck = creditCheck; - } - - @Reference - public void setInterestRateQuote(InterestRateQuote interestRateQuote) { - this.interestRateQuote = interestRateQuote; - } - - @Reference - public void setMortgageCalculator(MortgageCalculator mortgageCalculator) { - this.mortgageCalculator = mortgageCalculator; - } - - public boolean approve(Customer customer, double loanAmount, int years) { - int score = 0; - for (int i = 0; i < creditCheck.length; i++) { - score += creditCheck[i].getCreditScore(customer.getSsn()); - } - if (score != 0) { - score = score / creditCheck.length; - } - if (score < minimumCreditScore) { - System.err.println("Credit score " + score + " is below the minimum " + minimumCreditScore + "."); - return false; - } - float rate = interestRateQuote.getRate(customer.getState(), loanAmount, years); - double monthlyPayment = mortgageCalculator.getMonthlyPayment(loanAmount, years, rate); - double ratio = monthlyPayment / customer.getMonthlyIncome(); - boolean approved = riskAssessment.assess(score, ratio); - if (!approved) { - System.err.println("Debt/Income ratio " + ratio + " is too high."); - } - return approved; - } -} diff --git a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageCalculator.java b/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageCalculator.java deleted file mode 100644 index cacd8694de..0000000000 --- a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageCalculator.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ -package mortgage; - -import org.osoa.sca.annotations.Remotable; - -/** - * The Mortgage Calculator service interface. - */ -@Remotable -public interface MortgageCalculator { - public double getMonthlyPayment(double principal, int years, float interestRate); -} diff --git a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageCalculatorImpl.java b/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageCalculatorImpl.java deleted file mode 100644 index 015f1bae98..0000000000 --- a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageCalculatorImpl.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ -package mortgage; - -import org.osoa.sca.annotations.Service; - -/** - * An implementation of the Calculator service. - */ -@Service(MortgageCalculator.class) -public class MortgageCalculatorImpl implements MortgageCalculator { - - public double getMonthlyPayment(double principal, int years, float interestRate) { - double monthlyRate = interestRate / 12.0 / 100.0; - double p = Math.pow(1 + monthlyRate, years * 12); - double q = p / (p - 1); - double monthlyPayment = principal * monthlyRate * q; - System.out.println("Monthly payment for a " + years + "-year loan of $" + principal + ": " + monthlyPayment); - return monthlyPayment; - } - -} diff --git a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageClient.java b/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageClient.java deleted file mode 100644 index d69f0a1163..0000000000 --- a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/MortgageClient.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ -package mortgage; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -/** - * This client program to invoke the Mortgage LoanApproval service - */ -public class MortgageClient { - public static void main(String[] args) throws Exception { - - SCADomain domain = SCADomain.newInstance("Mortgage1.composite"); - LoanApproval loanApplication = domain.getService(LoanApproval.class, "LoanApprovalComponent"); - - // Create the customer - Customer customer = new Customer(); - customer.setSsn("111-22-3333"); - customer.setFirstName("John"); - customer.setLastName("Smith"); - customer.setMonthlyIncome(5000.0d); - customer.setState("CA"); - - // Invoke the service - boolean result = loanApplication.approve(customer, 200000d, 30); - System.out.println((result ? "Approved: " : "Rejected: ") + customer); - } -} diff --git a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/RiskAssessment.java b/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/RiskAssessment.java deleted file mode 100644 index 23c9589e85..0000000000 --- a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/RiskAssessment.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ - -package mortgage; - -/** - * Risk Assessment interface - */ -public interface RiskAssessment { - public boolean assess(int creditScore, double ratio); -} diff --git a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/RiskAssessmentImpl.java b/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/RiskAssessmentImpl.java deleted file mode 100644 index c2116366ec..0000000000 --- a/branches/sca-java-1.5.1/demos/mortgage-loanapproval/src/main/java/mortgage/RiskAssessmentImpl.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ - -package mortgage; - -import org.osoa.sca.annotations.Service; - -/** - * A pojo implementation of RiskAssessment service - */ -@Service(RiskAssessment.class) -public class RiskAssessmentImpl implements RiskAssessment { - public boolean assess(int creditScore, double ratio) { - if (creditScore >= 750) { - return ratio < 0.35; - } else if (creditScore >= 700) { - return ratio < 0.30; - } else { - return ratio < 0.25; - } - } -} |