/**
  * DOC bZhou Comment method "getComment".
  *
  * @param element
  * @return
  */
 public static String getComment(ModelElement element) {
   TaggedValue taggedValue =
       TaggedValueHelper.getTaggedValue(TaggedValueHelper.COMMENT, element.getTaggedValue());
   if (taggedValue == null) {
     return "";
   }
   return taggedValue.getValue();
 }
 /**
  * DOC bZhou Comment method "getViewFilter".
  *
  * @param element
  * @return
  */
 public static String getViewFilter(ModelElement element) {
   TaggedValue taggedValue =
       TaggedValueHelper.getTaggedValue(TaggedValueHelper.VIEW_FILTER, element.getTaggedValue());
   if (taggedValue == null) {
     return "";
   }
   return taggedValue.getValue();
 }
 /**
  * get Last Run Context.
  *
  * @param analysis
  * @return
  */
 public static String getLastRunContext(Analysis analysis) {
   TaggedValue taggedValue =
       TaggedValueHelper.getTaggedValue(
           TaggedValueHelper.ANA_LAST_RUN_CONTEXT, analysis.getTaggedValue());
   if (taggedValue == null) {
     return PluginConstant.EMPTY_STRING;
   }
   return taggedValue.getValue();
 }
 /**
  * DOC xqliu Comment method "getPurpose".
  *
  * @param analysis
  * @return
  */
 public static String getPurpose(Analysis analysis) {
   String purpose = ""; // $NON-NLS-1$
   if (analysis != null) {
     TaggedValue taggedValue =
         TaggedValueHelper.getTaggedValue(TaggedValueHelper.PURPOSE, analysis.getTaggedValue());
     if (taggedValue != null && taggedValue.getValue() != null) {
       purpose = taggedValue.getValue();
     }
   }
   return purpose;
 }
 /**
  * DOC xqliu Comment method "getDescription".
  *
  * @param analysis
  * @return
  */
 public static String getDescription(Analysis analysis) {
   String description = ""; // $NON-NLS-1$
   if (analysis != null) {
     TaggedValue taggedValue =
         TaggedValueHelper.getTaggedValue(
             TaggedValueHelper.DESCRIPTION, analysis.getTaggedValue());
     if (taggedValue != null && taggedValue.getValue() != null) {
       description = taggedValue.getValue();
     }
   }
   return description;
 }
 /**
  * DOC xqliu Comment method "getReloadDatabases".
  *
  * @param analysis
  * @return
  */
 public static boolean getReloadDatabases(Analysis analysis) {
   TaggedValue taggedValue =
       TaggedValueHelper.getTaggedValue(
           TaggedValueHelper.RELOAD_DATABASES, analysis.getTaggedValue());
   if (taggedValue != null) {
     try {
       return Boolean.valueOf(taggedValue.getValue());
     } catch (Exception e) {
       return false;
     }
   }
   return false;
 }
 /**
  * get NumberOfConnections Per Analysis with context value.
  *
  * @return
  */
 public String getNumberOfConnectionsPerAnalysisWithContext() {
   int num = TdqAnalysisConnectionPool.CONNECTIONS_PER_ANALYSIS_DEFAULT_LENGTH;
   if (this.analysis != null) {
     TaggedValue taggedValue =
         TaggedValueHelper.getTaggedValue(
             TdqAnalysisConnectionPool.NUMBER_OF_CONNECTIONS_PER_ANALYSIS,
             this.analysis.getTaggedValue());
     if (taggedValue != null) {
       return taggedValue.getValue();
     }
   }
   return String.valueOf(num);
 }
 private boolean isColumnTaggedAsReadonly(
     org.talend.core.model.metadata.builder.connection.MetadataTable table, String columnName) {
   if (table == null || columnName == null) {
     return false;
   }
   EList<org.talend.core.model.metadata.builder.connection.MetadataColumn> columns =
       table.getColumns();
   for (org.talend.core.model.metadata.builder.connection.MetadataColumn newColumn : columns) {
     if (columnName.equals(newColumn.getLabel())) {
       EList<TaggedValue> taggedValues = newColumn.getTaggedValue();
       for (TaggedValue taggedValue : taggedValues) {
         if (DiSchemaConstants.TALEND6_IS_READ_ONLY.equals(taggedValue.getTag())) {
           return Boolean.valueOf(taggedValue.getValue());
         }
       }
     }
   }
   return false;
 }
 /**
  * get NumberOfConnections Per Analysis with the real value.
  *
  * @return
  */
 public int getNumberOfConnectionsPerAnalysis() {
   int num = TdqAnalysisConnectionPool.CONNECTIONS_PER_ANALYSIS_DEFAULT_LENGTH;
   if (this.analysis != null) {
     TaggedValue taggedValue =
         TaggedValueHelper.getTaggedValue(
             TdqAnalysisConnectionPool.NUMBER_OF_CONNECTIONS_PER_ANALYSIS,
             this.analysis.getTaggedValue());
     if (taggedValue != null) {
       try {
         num =
             Integer.valueOf(
                 ContextHelper.getAnalysisContextValue(analysis, taggedValue.getValue()));
       } catch (NumberFormatException e) {
         log.debug(e);
       }
     }
   }
   return num;
 }