public void executeCalculate() {		
		LOG.debug("START_METHOD executeCalculate().");
		
		if ( isSetData ) {
			
			LOG.info("Processor executing calculation.");
			
			Operations operation = getOperation();
			
			if ( operation == OPERATION_C ) {
				calculator.reset();
				
			} else {	
				String strNumber = request.getParameter(PARAMETER_TXT_NUMBER);
				
				LOG.debug("Number < " + strNumber + " > for calculate.");
				
				if ( !strNumber.isEmpty() ) {
					
					Double number = new Double(strNumber);
					
					switch ( operation ) {	
					
						case OPERATION_ADD:
							{
								LOG.info("Processor delegation operation ADD to calculator.");
								calculator.add(number);
								break; 
							}

						case OPERATION_SUB:   
							{
								LOG.info("Processor delegation operation SUB to calculator.");
								calculator.sub(number);
								break;
							}

						case OPERATION_MUL: 
							{
								LOG.info("Processor delegation operation MUL to calculator.");
								calculator.mul(number);
								break;
							}

						case OPERATION_DIV:
							{
								LOG.info("Processor delegation operation DIV to calculator.");
								calculator.div(number);
								break;
							}

						case OPERATION_EQUAL:
							{
								LOG.info("Processor delegation operation EQUAL to calculator.");
								calculator.equal(number);
								break;
							}
						
						case OPERATION_CE:
							{
								LOG.info("Processor work operation CE.");
								break;
							}
						
						default:
							{
								LOG.warn("Illegal operation.");
								break;
							}
					}
				}
			}	
			
			isSetData = false;	
			
		}
		LOG.debug("END_METHOD executeCalculate().");
	}