src/main/java/sancus/service/ContractOntologyService.java
public void solidityAttributes(JsonArray entireContract) {
		JsonNode jsonNode;
		try {
			jsonNode = new ObjectMapper().readTree(entireContract.toString());
			List<JsonNode> variableValue = jsonNode.findParents(ConfigTokens.stateVariableDeclaration);
			for(int i = 0; i < variableValue.size(); i++) {
				attributeSpecification = new AttributeSpecification();
				String attributeType = defineAttributeType(variableValue.get(i));
				if(attributeType.contentEquals("Array")) {
					attributeSpecification.setHasArrayType(completeArrayAttribute(variableValue.get(i)));
					if(defineArrayType(variableValue.get(i)).contentEquals("constant")) {
						attributeSpecification.setHasName(variableValue.get(i).findParent(ConfigTokens.identifier).findValue(ConfigTokens.text).asText());
					}else {
						attributeSpecification.setHasName(variableValue.get(i).findParents(ConfigTokens.identifier).get(1).findValue(ConfigTokens.text).asText());
					}
				}else if(attributeType.contentEquals("NonConstantAttribute")){
					attributeSpecification.setHasNonConstantAttribute(completeNonConstantAttribute(variableValue,i));
					attributeSpecification.setHasName(variableValue.get(i).findParent(ConfigTokens.identifier).findValue(ConfigTokens.text).asText());
				}else if(attributeType.contentEquals("Mapping")){
					attributeSpecification.setHasMapType(completeMappingAttribute(variableValue.get(i)));
					attributeSpecification.setHasName(variableValue.get(i).findParents(ConfigTokens.identifier).get(0).findValue(ConfigTokens.text).asText());
				}else{
					attributeSpecification.setHasNonConstantAttribute(completeUserDefined(variableValue.get(i)));
					attributeSpecification.setHasName(variableValue.get(i).findParents(ConfigTokens.identifier).get(1).findValue(ConfigTokens.text).asText());
				}
				attributeSpecification.setInmutableProperty(false);
				attributeSpecification.setVisibility(VisibilitySpecification.valueOf(getVisibility(variableValue, i).toUpperCase()));
				attributeSpecificationList.add(i, attributeSpecification);
			}
			List<JsonNode> enumAttribute = jsonNode.findParents(ConfigTokens.enumDefinition);
			for(int i = 0; i< enumAttribute.size() && enumAttribute.size() > 0; i++) {
				attributeSpecificationList.add(solidityEnumAttributes(enumAttribute.get(i)));
			}
			List<JsonNode> structAttribute = jsonNode.findParents(ConfigTokens.structDefinition);
			for(int i = 0; i< structAttribute.size() && structAttribute.size() > 0; i++) {
				attributeSpecificationList.add(solidityStructAttributes(structAttribute.get(i)));
			}
		} catch (JsonProcessingException e) {
			e.printStackTrace();
		}
	}
/**
	 * Recopile the attributes.
	 * @param entireContract
	 */
Recopile the attributes.
@param entireContract
Recopile the attributes . @param entireContract
public void solidityAttributes(JsonArray entireContract) {
		JsonNode jsonNode;
		try {
			jsonNode = new ObjectMapper().readTree(entireContract.toString());
			List<JsonNode> variableValue = jsonNode.findParents(ConfigTokens.stateVariableDeclaration);
			for(int i = 0; i < variableValue.size(); i++) {
				attributeSpecification = new AttributeSpecification();
				String attributeType = defineAttributeType(variableValue.get(i));
				if(attributeType.contentEquals("Array")) {
					attributeSpecification.setHasArrayType(completeArrayAttribute(variableValue.get(i)));
					if(defineArrayType(variableValue.get(i)).contentEquals("constant")) {
						attributeSpecification.setHasName(variableValue.get(i).findParent(ConfigTokens.identifier).findValue(ConfigTokens.text).asText());
					}else {
						attributeSpecification.setHasName(variableValue.get(i).findParents(ConfigTokens.identifier).get(1).findValue(ConfigTokens.text).asText());
					}
				}else if(attributeType.contentEquals("NonConstantAttribute")){
					attributeSpecification.setHasNonConstantAttribute(completeNonConstantAttribute(variableValue,i));
					attributeSpecification.setHasName(variableValue.get(i).findParent(ConfigTokens.identifier).findValue(ConfigTokens.text).asText());
				}else if(attributeType.contentEquals("Mapping")){
					attributeSpecification.setHasMapType(completeMappingAttribute(variableValue.get(i)));
					attributeSpecification.setHasName(variableValue.get(i).findParents(ConfigTokens.identifier).get(0).findValue(ConfigTokens.text).asText());
				}else{
					attributeSpecification.setHasNonConstantAttribute(completeUserDefined(variableValue.get(i)));
					attributeSpecification.setHasName(variableValue.get(i).findParents(ConfigTokens.identifier).get(1).findValue(ConfigTokens.text).asText());
				}
				attributeSpecification.setInmutableProperty(false);
				attributeSpecification.setVisibility(VisibilitySpecification.valueOf(getVisibility(variableValue, i).toUpperCase()));
				attributeSpecificationList.add(i, attributeSpecification);
			}
			List<JsonNode> enumAttribute = jsonNode.findParents(ConfigTokens.enumDefinition);
			for(int i = 0; i< enumAttribute.size() && enumAttribute.size() > 0; i++) {
				attributeSpecificationList.add(solidityEnumAttributes(enumAttribute.get(i)));
			}
			List<JsonNode> structAttribute = jsonNode.findParents(ConfigTokens.structDefinition);
			for(int i = 0; i< structAttribute.size() && structAttribute.size() > 0; i++) {
				attributeSpecificationList.add(solidityStructAttributes(structAttribute.get(i)));
			}
		} catch (JsonProcessingException e) {
			e.printStackTrace();
		}
	}
public void solidityAttributes ( JsonArray entireContract ) { JsonNode jsonNode ; try { jsonNode = new ObjectMapper ( ) . readTree ( entireContract . toString ( ) ) ; List < JsonNode > variableValue = jsonNode . findParents ( ConfigTokens . stateVariableDeclaration ) ; for ( int i = 0 ; i < variableValue . size ( ) ; i ++ ) { attributeSpecification = new AttributeSpecification ( ) ; String attributeType = defineAttributeType ( variableValue . get ( i ) ) ; if ( attributeType . contentEquals ( "Array" ) ) { attributeSpecification . setHasArrayType ( completeArrayAttribute ( variableValue . get ( i ) ) ) ; if ( defineArrayType ( variableValue . get ( i ) ) . contentEquals ( "constant" ) ) { attributeSpecification . setHasName ( variableValue . get ( i ) . findParent ( ConfigTokens . identifier ) . findValue ( ConfigTokens . text ) . asText ( ) ) ; } else { attributeSpecification . setHasName ( variableValue . get ( i ) . findParents ( ConfigTokens . identifier ) . get ( 1 ) . findValue ( ConfigTokens . text ) . asText ( ) ) ; } } else if ( attributeType . contentEquals ( "NonConstantAttribute" ) ) { attributeSpecification . setHasNonConstantAttribute ( completeNonConstantAttribute ( variableValue , i ) ) ; attributeSpecification . setHasName ( variableValue . get ( i ) . findParent ( ConfigTokens . identifier ) . findValue ( ConfigTokens . text ) . asText ( ) ) ; } else if ( attributeType . contentEquals ( "Mapping" ) ) { attributeSpecification . setHasMapType ( completeMappingAttribute ( variableValue . get ( i ) ) ) ; attributeSpecification . setHasName ( variableValue . get ( i ) . findParents ( ConfigTokens . identifier ) . get ( 0 ) . findValue ( ConfigTokens . text ) . asText ( ) ) ; } else { attributeSpecification . setHasNonConstantAttribute ( completeUserDefined ( variableValue . get ( i ) ) ) ; attributeSpecification . setHasName ( variableValue . get ( i ) . findParents ( ConfigTokens . identifier ) . get ( 1 ) . findValue ( ConfigTokens . text ) . asText ( ) ) ; } attributeSpecification . setInmutableProperty ( false ) ; attributeSpecification . setVisibility ( VisibilitySpecification . valueOf ( getVisibility ( variableValue , i ) . toUpperCase ( ) ) ) ; attributeSpecificationList . add ( i , attributeSpecification ) ; } List < JsonNode > enumAttribute = jsonNode . findParents ( ConfigTokens . enumDefinition ) ; for ( int i = 0 ; i < enumAttribute . size ( ) && enumAttribute . size ( ) > 0 ; i ++ ) { attributeSpecificationList . add ( solidityEnumAttributes ( enumAttribute . get ( i ) ) ) ; } List < JsonNode > structAttribute = jsonNode . findParents ( ConfigTokens . structDefinition ) ; for ( int i = 0 ; i < structAttribute . size ( ) && structAttribute . size ( ) > 0 ; i ++ ) { attributeSpecificationList . add ( solidityStructAttributes ( structAttribute . get ( i ) ) ) ; } } catch ( JsonProcessingException e ) { e . printStackTrace ( ) ; } }
Recopile the attributes.
Recopile the attributes .