metamodel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jhorcicka <...@git.apache.org>
Subject [GitHub] metamodel pull request #179: Feature/neo4j column types
Date Mon, 28 May 2018 09:09:40 GMT
Github user jhorcicka commented on a diff in the pull request:

    https://github.com/apache/metamodel/pull/179#discussion_r191153847
  
    --- Diff: neo4j/src/main/java/org/apache/metamodel/neo4j/utils/ColumnTypeResolver.java
---
    @@ -0,0 +1,126 @@
    +/**
    + * Licensed to the Apache Software Foundation (ASF) under one
    + * or more contributor license agreements.  See the NOTICE file
    + * distributed with this work for additional information
    + * regarding copyright ownership.  The ASF licenses this file
    + * to you under the Apache License, Version 2.0 (the
    + * "License"); you may not use this file except in compliance
    + * with the License.  You may obtain a copy of the License at
    + *
    + *   http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing,
    + * software distributed under the License is distributed on an
    + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    + * KIND, either express or implied.  See the License for the
    + * specific language governing permissions and limitations
    + * under the License.
    + */
    +package org.apache.metamodel.neo4j.utils;
    +
    +import java.util.ArrayList;
    +import java.util.Arrays;
    +import java.util.Iterator;
    +import java.util.List;
    +
    +import org.apache.metamodel.schema.ColumnType;
    +import org.json.JSONArray;
    +import org.json.JSONException;
    +import org.json.JSONObject;
    +import org.slf4j.Logger;
    +import org.slf4j.LoggerFactory;
    +
    +public class ColumnTypeResolver {
    +    private static final Logger logger = LoggerFactory.getLogger(ColumnTypeResolver.class);
    +    private final JSONObject _jsonObject;
    +    private final List<String> _columnNames = new ArrayList<>();
    +    private final List<ColumnType> _columnTypes = new ArrayList<>();
    +
    +    public ColumnTypeResolver(final JSONObject jsonObject, final String[] columnNamesArray)
{
    --- End diff --
    
    I have two reasons for that. 
    
    1) Already existing interfaces (methods, constructors) work with arrays instead of lists;
for both, column names and column types. I think it's easier to understand the code when I
use both of these "collections" in the same format/type (both arrays or both lists). 
    
    2) If I change it for ColumnTypeResolver, I get another confusing situation 2 lines below:

    
    ![02](https://user-images.githubusercontent.com/13213915/40606992-6ece3746-6267-11e8-96e5-20b73776926a.png)
    
    Both of these highlighted variables contain the same value, just different data type.
That would be confusing for me. 



---

Mime
View raw message