Package it.eng.qbe.model.structure

Examples of it.eng.qbe.model.structure.IModelField


    return operandElement;
  }
 
  private String buildFieldOperand(Operand operand, Query query, Map entityAliasesMaps) {
    String operandElement;
    IModelField datamartField;
    IModelEntity rootEntity;
    String queryName;
    String rootEntityAlias;
    Map targetQueryEntityAliasesMap;
   
    logger.debug("IN");
   
    try {
     
      targetQueryEntityAliasesMap = (Map)entityAliasesMaps.get(query.getId());
      Assert.assertNotNull(targetQueryEntityAliasesMap, "Entity aliases map for query [" + query.getId() + "] cannot be null in order to execute method [buildUserProvidedWhereField]");
     
     
      datamartField = getDataSource().getModelStructure().getField( operand.values[0] );
      Assert.assertNotNull(datamartField, "DataMart does not cantain a field named [" + operand.values[0] + "]");
      queryName =  (String)datamartField.getQueryName().getFirst();
      logger.debug("where field query name [" + queryName + "]");
     
      rootEntity = datamartField.getParent().getRoot();
      logger.debug("where field root entity unique name [" + rootEntity.getUniqueName() + "]");
     
      if(!targetQueryEntityAliasesMap.containsKey(rootEntity.getUniqueName())) {
        logger.debug("Entity [" + rootEntity.getUniqueName() + "] require a new alias");
        rootEntityAlias = getNextAlias(entityAliasesMaps);
View Full Code Here


    String operandElement;
   
    String[] chunks;
    String parentQueryId;
    String fieldName;
    IModelField datamartField;
    IModelEntity rootEntity;
    String queryName;
    String rootEntityAlias;
   
   
    logger.debug("IN");
   
    try {
     
      // it comes directly from the client side GUI. It is a composition of the parent query id and filed name,
      // separated by a space
      logger.debug("operand  is equals to [" + operand.values[0] + "]");
     
      chunks = operand.values[0].split(" ");
      Assert.assertTrue(chunks.length >= 2, "Operand [" + chunks.toString() + "] does not contains enougth informations in order to resolve the reference to parent field");
     
      parentQueryId = chunks[0];
      logger.debug("where right-hand field belonging query [" + parentQueryId + "]");
      fieldName = chunks[1];
      logger.debug("where right-hand field unique name [" + fieldName + "]");

      datamartField = getDataSource().getModelStructure().getField( fieldName );
      Assert.assertNotNull(datamartField, "DataMart does not cantain a field named [" + fieldName + "]");
     
      queryName =  (String)datamartField.getQueryName().getFirst();
      logger.debug("where right-hand field query name [" + queryName + "]");
     
      rootEntity = datamartField.getParent().getRoot();
      logger.debug("where right-hand field root entity unique name [" + rootEntity.getUniqueName() + "]");
     
      Map parentEntityAliases = (Map)entityAliasesMaps.get(parentQueryId);
      if(parentEntityAliases != null) {
        if(!parentEntityAliases.containsKey(rootEntity.getUniqueName())) {
View Full Code Here

        String type = leadOperand.values[0].substring(startType, endType);
        boundedValue = getValueBounded(operandValueToBound, type);
      }else if (OPERAND_TYPE_FIELD.equalsIgnoreCase(leadOperand.type)
              || OPERAND_TYPE_PARENT_FIELD.equalsIgnoreCase(leadOperand.type)) {
       
        IModelField datamartField = getDataSource().getModelStructure().getField(leadOperand.values[0]);
        boundedValue = getValueBounded(operandValueToBound, datamartField.getType());
      }

      boundedValues[i] = boundedValue;
   
    }
View Full Code Here

 
 
  public String parseInLinecalculatedField(String expr, Query query, Map entityAliasesMaps){
    List allSelectFields;
    IModelEntity rootEntity;
    IModelField datamartField;
    String queryName;
    String rootEntityAlias;
    Map entityAliases = (Map)entityAliasesMaps.get(query.getId());
    List<String> aliasEntityMapping = new  ArrayList<String>();
    List<String> aliases = new  ArrayList<String>();
   
    StringTokenizer stk = new StringTokenizer(expr, "+-|*/()");
    while(stk.hasMoreTokens()){
      String alias = stk.nextToken().trim();
      // alias can contain "DISTINCT" HQL/SQL key: we have to remove it
      if (alias.toUpperCase().startsWith("DISTINCT ")) {
        alias = alias.substring("DISTINCT ".length());
      }
      String uniqueName;
      allSelectFields = query.getSelectFields(false);
      for(int i=0; i<allSelectFields.size(); i++){
        if(allSelectFields.get(i).getClass().equals(DataMartSelectField.class) && ((DataMartSelectField)allSelectFields.get(i)).getAlias().equals(alias)){
          uniqueName=((DataMartSelectField)allSelectFields.get(i)).getUniqueName();
          datamartField = getDataSource().getModelStructure().getField(uniqueName)
          queryName =  (String)datamartField.getQueryName().getFirst();
          rootEntity = datamartField.getParent().getRoot();
          rootEntityAlias = (String)entityAliases.get(rootEntity.getUniqueName());
          queryName = ((DataMartSelectField)allSelectFields.get(i)).getFunction().apply(rootEntityAlias+"."+queryName);
          aliasEntityMapping.add(queryName);
          aliases.add(alias);
          break;
View Full Code Here

            Set fields = filter.getFields();
            Properties props = new Properties();
            Iterator fieldIterator = fields.iterator();
            while(fieldIterator.hasNext()) {
              String fieldName = (String)fieldIterator.next();
              IModelField filed = null;
              Iterator subEntityFields = subEntity.getAllFields().iterator();
              while(subEntityFields.hasNext()) {
                filed = (IModelField)subEntityFields.next();
                if(( (String)filed.getQueryName().getFirst()).endsWith("." + fieldName)) break;
              }
              String entityAlias = (String)entityAliases.get(entityUniqueName);
              props.put(fieldName, entityAlias + "." + filed.getQueryName());
            }
            String filterCondition = null;
            try {
              filterCondition = StringUtils.replaceParameters(filter.getFilterCondition(), "F", props);
            } catch (IOException e) {
View Full Code Here

        InLineCalculatedSelectField icf = (InLineCalculatedSelectField)abstractSelectedField;
        fieldName = parseInLinecalculatedField(icf.getExpression(), query, entityAliasesMaps);
      }else{
     
        DataMartSelectField groupByField = (DataMartSelectField)abstractSelectedField;
        IModelField datamartField = getDataSource().getModelStructure().getField(groupByField.getUniqueName());
        IModelEntity entity = datamartField.getParent().getRoot();
        String queryName = (String)datamartField.getQueryName().getFirst();
        if(!entityAliases.containsKey(entity.getUniqueName())) {
          entityAliases.put(entity.getUniqueName(), getNextAlias(entityAliasesMaps));
        }
        String entityAlias = (String)entityAliases.get( entity.getUniqueName() );
        fieldName = entityAlias + "." +queryName;
View Full Code Here

    while( it.hasNext() ) {
      selectField = (DataMartSelectField)it.next();
     
      Assert.assertTrue(selectField.isOrderByField(), "Field [" + selectField.getUniqueName() +"] is not an orderBy filed");
     
      IModelField datamartField = getDataSource().getModelStructure().getField(selectField.getUniqueName());
      IModelEntity entity = datamartField.getParent().getRoot();
      String queryName = (String)datamartField.getQueryName().getFirst();
      if(!entityAliases.containsKey(entity.getUniqueName())) {
        entityAliases.put(entity.getUniqueName(), getNextAlias(entityAliasesMaps));
      }
      String entityAlias = (String)entityAliases.get( entity.getUniqueName() );
      String fieldName = entityAlias + "." + queryName;
View Full Code Here

   
   
   
    for (int j = 0; j < identifierPropertyNames.size(); j++) {
      String fieldName = (String)identifierPropertyNames.get(j);         
      IModelField dataMartField = dataMartEntity.addKeyField(fieldName);
      dataMartField.setType(type[j]);
      dataMartField.setPrecision(precision[j]);
      dataMartField.setLength(scale[j]);
      propertiesInitializer.addProperties(dataMartField);
    }
  }
View Full Code Here

           precision = column.getPrecision();
         }
        
      
         
        IModelField datamartField = dataMartEntity.addNormalField(propertyName);
        datamartField.setType(type);
        datamartField.setPrecision(precision);
        datamartField.setLength(scale);
        propertiesInitializer.addProperties(datamartField);
      }
     }
   
    return subEntities;
View Full Code Here

  }
 
 
  public List filter(IDataSource dataSource, List fields) {
    List list;
    IModelField field;
   
    list = new ArrayList();
   
    for(int i = 0; i < fields.size(); i++) {
      field = (IModelField)fields.get(i);
View Full Code Here

TOP

Related Classes of it.eng.qbe.model.structure.IModelField

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.