Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.ow2.kerneos.examples.extensions.insurance.auto;
  
 
 
 /*
  * Kerneos
  * Copyright (C) 2012 Bull S.A.S.
  * Contact: jasmine AT ow2.org
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
  * version 2.1 of the License, or any later version.
  *
  * This library 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
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  * USA
  *
  * $Id$
  */

HelloService
 
 //ipojo annotations Component, Instantiate and Provides
 /*
  * Annotation that defines a KerneosService with the
  * "HelloService" destination.
  * It is the same destination defined in kerneos-module-fragment.xml
  */
 public class AutoInsuranceService implements KerneosSimpleService {

    
The logger
 
     private static Log logger = LogFactory.getLog(AutoInsuranceService.class);
 
     @ServiceProperty(name = ., value = "auto-insurance-service")
     private String id;

    
Start
 
     @Validate
     private void start() {
         .info("Start auto-insurance-payment-computation");
     }

    
Stop
 
     @Invalidate
     private void stop() {
         .info("Stop auto-insurance-payment-computation");
     }

    

Parameters:
request the insurance policy request
Returns:
a welcome message
 
     public int computePolicyPayment(final InsurancePolicyRequest requestthrows Exception {
         if (request.carFirstRegistrationYear < 1960) {
             throw new Exception("Your car is far too old to be insured");
         }
         if (request.carFirstRegistrationYear > Calendar.getInstance().get(.)) {
             throw new Exception("Your car can't have a first registration year in future");
         }
 
         int result = 100;
         if ("red".equalsIgnoreCase(request.carColor)) {
             result += 10;
         }
         if (request.carFirstRegistrationYear > Calendar.getInstance().get(.) - 1) {
             result += result * 0.7;
         } else if (request.carFirstRegistrationYear > Calendar.getInstance().get(.) - 2) {
             result += result * 0.6;
         } else if (request.carFirstRegistrationYear > Calendar.getInstance().get(.) - 3) {
             result += result * 0.5;
         } else if (request.carFirstRegistrationYear > Calendar.getInstance().get(.) - 5) {
            result += result * 0.4;
        } else {
            result += result * 0.3;
        }
        if ("BMW".equalsIgnoreCase(request.carConstructor) ||
                "Ferrari".equalsIgnoreCase(request.carConstructor)) {
            result += result * 0.1;
        }
        if ("Full Insurance".equalsIgnoreCase(request.insuranceType)) {
            result += result * 0.3;
        }
        return result;
    }
New to GrepCode? Check out our FAQ X