Example usage for org.springframework.dao EmptyResultDataAccessException getMessage

List of usage examples for org.springframework.dao EmptyResultDataAccessException getMessage

Introduction

In this page you can find the example usage for org.springframework.dao EmptyResultDataAccessException getMessage.

Prototype

@Override
@Nullable
public String getMessage() 

Source Link

Document

Return the detail message, including the message from the nested exception if there is one.

Usage

From source file:dao.DatasetsDAO.java

public static ObjectNode getPagedDatasets(String urn, Integer page, Integer size, String user) {
    ObjectNode result = Json.newObject();

    Integer userId = UserDAO.getUserIDByUserName(user);

    javax.sql.DataSource ds = getJdbcTemplate().getDataSource();
    DataSourceTransactionManager tm = new DataSourceTransactionManager(ds);
    TransactionTemplate txTemplate = new TransactionTemplate(tm);
    final Integer id = userId;

    result = txTemplate.execute(new TransactionCallback<ObjectNode>() {
        public ObjectNode doInTransaction(TransactionStatus status) {

            ObjectNode resultNode = Json.newObject();
            List<Dataset> pagedDatasets = new ArrayList<Dataset>();
            List<Map<String, Object>> rows = null;
            if (id != null && id > 0) {
                if (StringUtils.isBlank(urn)) {
                    rows = getJdbcTemplate().queryForList(SELECT_PAGED_DATASET_BY_CURRENT_USER,
                            (page - 1) * size, size, id, id);
                } else {
                    rows = getJdbcTemplate().queryForList(SELECT_PAGED_DATASET_BY_URN_CURRENT_USER, urn + "%",
                            (page - 1) * size, size, id, id);
                }/*from w w w.j a v a  2  s  .  c o m*/
            } else {
                if (StringUtils.isBlank(urn)) {
                    rows = getJdbcTemplate().queryForList(SELECT_PAGED_DATASET, (page - 1) * size, size);
                } else {
                    rows = getJdbcTemplate().queryForList(SELECT_PAGED_DATASET_BY_URN, urn + "%",
                            (page - 1) * size, size);
                }

            }

            long count = 0;
            try {

                if (StringUtils.isBlank(urn)) {
                    count = getJdbcTemplate().queryForObject(GET_PAGED_DATASET_COUNT, Long.class);
                } else {
                    count = getJdbcTemplate().queryForObject(GET_PAGED_DATASET_COUNT_BY_URN, Long.class,
                            urn + "%");
                }
            } catch (EmptyResultDataAccessException e) {
                Logger.error("Exception = " + e.getMessage());
            }

            for (Map row : rows) {

                Dataset ds = new Dataset();
                Timestamp modified = (Timestamp) row.get(DatasetWithUserRowMapper.DATASET_MODIFIED_TIME_COLUMN);
                ds.id = (Long) row.get(DatasetWithUserRowMapper.DATASET_ID_COLUMN);
                ds.name = (String) row.get(DatasetWithUserRowMapper.DATASET_NAME_COLUMN);
                ds.source = (String) row.get(DatasetWithUserRowMapper.DATASET_SOURCE_COLUMN);
                ds.urn = (String) row.get(DatasetWithUserRowMapper.DATASET_URN_COLUMN);
                ds.schema = (String) row.get(DatasetWithUserRowMapper.DATASET_SCHEMA_COLUMN);
                String strOwner = (String) row.get(DatasetWithUserRowMapper.DATASET_OWNER_ID_COLUMN);
                String strOwnerName = (String) row.get(DatasetWithUserRowMapper.DATASET_OWNER_NAME_COLUMN);
                Long sourceModifiedTime = (Long) row
                        .get(DatasetWithUserRowMapper.DATASET_SOURCE_MODIFIED_TIME_COLUMN);
                String properties = (String) row.get(DatasetWithUserRowMapper.DATASET_PROPERTIES_COLUMN);
                try {
                    if (StringUtils.isNotBlank(properties)) {
                        ds.properties = Json.parse(properties);
                    }
                } catch (Exception e) {
                    Logger.error(e.getMessage());
                }

                if (modified != null && sourceModifiedTime != null && sourceModifiedTime > 0) {
                    ds.modified = modified;
                    ds.formatedModified = modified.toString();
                }

                String[] owners = null;
                if (StringUtils.isNotBlank(strOwner)) {
                    owners = strOwner.split(",");
                }
                String[] ownerNames = null;
                if (StringUtils.isNotBlank(strOwnerName)) {
                    ownerNames = strOwnerName.split(",");
                }
                ds.owners = new ArrayList<User>();
                if (owners != null && ownerNames != null) {
                    if (owners.length == ownerNames.length) {
                        for (int i = 0; i < owners.length; i++) {
                            User datasetOwner = new User();
                            datasetOwner.userName = owners[i];
                            if (datasetOwner.userName.equalsIgnoreCase(user)) {
                                ds.isOwned = true;
                            }
                            if (StringUtils.isBlank(ownerNames[i]) || ownerNames[i].equalsIgnoreCase("*")) {
                                datasetOwner.name = owners[i];
                            } else {
                                datasetOwner.name = ownerNames[i];
                            }
                            ds.owners.add(datasetOwner);
                        }
                    } else {
                        Logger.error("getPagedDatasets get wrong owner and names. Dataset ID: "
                                + Long.toString(ds.id) + " Owner: " + owners + " Owner names: " + ownerNames);
                    }
                }

                Integer favoriteId = (Integer) row.get(DatasetWithUserRowMapper.FAVORITE_DATASET_ID_COLUMN);
                Long watchId = (Long) row.get(DatasetWithUserRowMapper.DATASET_WATCH_ID_COLUMN);

                Long schemaHistoryRecordCount = 0L;
                try {
                    schemaHistoryRecordCount = getJdbcTemplate().queryForObject(CHECK_SCHEMA_HISTORY,
                            Long.class, ds.id);
                } catch (EmptyResultDataAccessException e) {
                    Logger.error("Exception = " + e.getMessage());
                }

                if (StringUtils.isNotBlank(ds.urn)) {
                    if (ds.urn.substring(0, 4).equalsIgnoreCase(DatasetRowMapper.HDFS_PREFIX)) {
                        ds.hdfsBrowserLink = Play.application().configuration().getString(HDFS_BROWSER_URL_KEY)
                                + ds.urn.substring(DatasetRowMapper.HDFS_URN_PREFIX_LEN);
                    }
                }
                if (favoriteId != null && favoriteId > 0) {
                    ds.isFavorite = true;
                } else {
                    ds.isFavorite = false;
                }
                if (watchId != null && watchId > 0) {
                    ds.watchId = watchId;
                    ds.isWatched = true;
                } else {
                    ds.isWatched = false;
                    ds.watchId = 0L;
                }
                if (schemaHistoryRecordCount != null && schemaHistoryRecordCount > 0) {
                    ds.hasSchemaHistory = true;
                } else {
                    ds.hasSchemaHistory = false;
                }
                pagedDatasets.add(ds);
            }

            resultNode.put("count", count);
            resultNode.put("page", page);
            resultNode.put("itemsPerPage", size);
            resultNode.put("totalPages", (int) Math.ceil(count / ((double) size)));
            resultNode.set("datasets", Json.toJson(pagedDatasets));
            return resultNode;
        }
    });
    return result;
}

From source file:dao.DatasetsDAO.java

public static ObjectNode ownDataset(int id, String user) {
    ObjectNode resultNode = Json.newObject();
    boolean result = false;
    List<Map<String, Object>> rows = null;

    rows = getJdbcTemplate().queryForList(GET_DATASET_OWNERS, id);
    int sortId = 0;
    for (Map row : rows) {
        String ownerId = (String) row.get(DatasetWithUserRowMapper.DATASET_OWNER_ID_COLUMN);
        String namespace = (String) row.get("namespace");
        int ret = getJdbcTemplate().update(UPDATE_DATASET_OWNER_SORT_ID, ++sortId, id, ownerId, namespace);
        if (ret <= 0) {
            Logger.warn("ownDataset update sort_id failed. Dataset id is : " + Long.toString(id)
                    + " owner_id is : " + ownerId + " namespace is : " + namespace);
        }//from www .j  a v a 2 s .com
    }

    String urn = null;
    try {
        urn = (String) getJdbcTemplate().queryForObject(GET_DATASET_URN_BY_ID, String.class, id);
    } catch (EmptyResultDataAccessException e) {
        Logger.error("Dataset ownDataset get urn failed, id = " + id);
        Logger.error("Exception = " + e.getMessage());
    }
    int status = getJdbcTemplate().update(UPDATE_DATASET_OWNERS, id, user, 300, "urn:li:corpuser", "Producer",
            "N", 0, urn, "", "Producer", "N", 0, "");
    if (status > 0) {
        result = true;
    }
    rows = getJdbcTemplate().queryForList(GET_DATASET_OWNERS, id);
    List<User> owners = new ArrayList<User>();
    for (Map row : rows) {
        String ownerId = (String) row.get(DatasetWithUserRowMapper.DATASET_OWNER_ID_COLUMN);
        String dislayName = (String) row.get("display_name");
        if (StringUtils.isBlank(dislayName)) {
            dislayName = ownerId;
        }
        User owner = new User();
        owner.userName = ownerId;
        owner.name = dislayName;
        owners.add(owner);
    }
    if (result) {
        resultNode.put("status", "success");
    } else {
        resultNode.put("status", "failed");
    }
    resultNode.set("owners", Json.toJson(owners));
    return resultNode;
}

From source file:dao.DatasetsDAO.java

public static Dataset getDatasetByID(int id, String user) {
    Dataset dataset = null;/*from   w ww .  j  a v  a  2s  .com*/
    Integer userId = 0;
    if (StringUtils.isNotBlank(user)) {
        try {
            userId = (Integer) getJdbcTemplate().queryForObject(GET_USER_ID, Integer.class, user);
        } catch (EmptyResultDataAccessException e) {
            Logger.error("Dataset getDatasetByID get user id failed, username = " + user);
            Logger.error("Exception = " + e.getMessage());
        }
    }
    try {
        if (userId != null && userId > 0) {
            dataset = (Dataset) getJdbcTemplate().queryForObject(GET_DATASET_BY_ID_CURRENT_USER,
                    new DatasetWithUserRowMapper(), userId, userId, id);

        } else {
            dataset = (Dataset) getJdbcTemplate().queryForObject(GET_DATASET_BY_ID, new DatasetRowMapper(), id);
        }
    } catch (EmptyResultDataAccessException e) {
        Logger.error("Dataset getDatasetByID failed, id = " + id);
        Logger.error("Exception = " + e.getMessage());
    }

    return dataset;
}

From source file:dao.DatasetsDAO.java

public static List<ImpactDataset> getImpactAnalysisByID(int id) {
    String urn = null;//from www.j  av a  2  s  .co  m

    try {
        urn = (String) getJdbcTemplate().queryForObject(GET_DATASET_URN_BY_ID, String.class, id);
    } catch (EmptyResultDataAccessException e) {
        Logger.error("Dataset getImpactAnalysisByID get urn failed, id = " + id);
        Logger.error("Exception = " + e.getMessage());
    }

    return LineageDAO.getImpactDatasetsByUrn(urn);
}

From source file:dao.DatasetsDAO.java

public static ObjectNode getPagedDatasetComments(String userName, int id, int page, int size) {
    ObjectNode result = Json.newObject();

    javax.sql.DataSource ds = getJdbcTemplate().getDataSource();
    DataSourceTransactionManager tm = new DataSourceTransactionManager(ds);
    TransactionTemplate txTemplate = new TransactionTemplate(tm);

    result = txTemplate.execute(new TransactionCallback<ObjectNode>() {
        public ObjectNode doInTransaction(TransactionStatus status) {

            List<DatasetComment> pagedComments = getJdbcTemplate().query(GET_COMMENTS_BY_DATASET_ID,
                    new DatasetCommentRowMapper(), id, (page - 1) * size, size);

            long count = 0;
            try {
                count = getJdbcTemplate().queryForObject("SELECT FOUND_ROWS()", Long.class);
            } catch (EmptyResultDataAccessException e) {
                Logger.error("Exception = " + e.getMessage());
            }/*  ww w  .j  av  a  2 s.c o  m*/

            if (pagedComments != null) {
                for (DatasetComment dc : pagedComments) {
                    if (StringUtils.isNotBlank(userName) && userName.equalsIgnoreCase(dc.authorUserName)) {
                        dc.isAuthor = true;
                    }
                }
            }

            ObjectNode resultNode = Json.newObject();
            resultNode.set("comments", Json.toJson(pagedComments));
            resultNode.put("count", count);
            resultNode.put("page", page);
            resultNode.put("itemsPerPage", size);
            resultNode.put("totalPages", (int) Math.ceil(count / ((double) size)));

            return resultNode;
        }
    });
    return result;
}

From source file:dao.DatasetsDAO.java

public static ObjectNode getPagedDatasetColumnComments(String userName, int datasetId, int columnId, int page,
        int size) {
    ObjectNode result = Json.newObject();

    javax.sql.DataSource ds = getJdbcTemplate().getDataSource();
    DataSourceTransactionManager tm = new DataSourceTransactionManager(ds);
    TransactionTemplate txTemplate = new TransactionTemplate(tm);

    result = txTemplate.execute(new TransactionCallback<ObjectNode>() {
        public ObjectNode doInTransaction(TransactionStatus status) {

            ObjectNode resultNode = Json.newObject();
            long count = 0;
            int start = (page - 1) * size;
            int end = start + size;
            List<DatasetColumnComment> pagedComments = new ArrayList<DatasetColumnComment>();
            List<Map<String, Object>> rows = null;

            rows = getJdbcTemplate().queryForList(GET_COLUMN_COMMENTS_BY_DATASETID_AND_COLUMNID, datasetId,
                    columnId, start, end);
            for (Map row : rows) {
                Long id = (Long) row.get("id");
                String author = (String) row.get("author");
                String authorEmail = (String) row.get("authorEmail");
                String authorUsername = (String) row.get("authorUsername");
                String text = (String) row.get("text");
                String created = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss")
                        .format((Timestamp) row.get("created"));
                String modified = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss")
                        .format((Timestamp) row.get("modified"));
                Long columnId = (Long) row.get("field_id");
                boolean isDefault = (Boolean) row.get("is_default");

                DatasetColumnComment datasetColumnComment = new DatasetColumnComment();
                datasetColumnComment.id = id;
                datasetColumnComment.author = author;
                datasetColumnComment.authorEmail = authorEmail;
                datasetColumnComment.authorUsername = authorUsername;
                datasetColumnComment.text = text;
                datasetColumnComment.created = created;
                datasetColumnComment.modified = modified;
                datasetColumnComment.columnId = columnId;
                datasetColumnComment.isDefault = isDefault;
                pagedComments.add(datasetColumnComment);
            }//from  ww  w .j  a  v  a2  s.  c om

            try {
                count = getJdbcTemplate().queryForObject("SELECT FOUND_ROWS()", Long.class);
            } catch (EmptyResultDataAccessException e) {
                Logger.error("Exception = " + e.getMessage());
            }

            if (pagedComments != null) {
                for (DatasetColumnComment dc : pagedComments) {
                    if (StringUtils.isNotBlank(userName) && userName.equalsIgnoreCase(dc.authorUsername)) {
                        dc.isAuthor = true;
                    }
                }
            }

            resultNode.set("comments", Json.toJson(pagedComments));
            resultNode.put("count", count);
            resultNode.put("page", page);
            resultNode.put("itemsPerPage", size);
            resultNode.put("totalPages", (int) Math.ceil(count / ((double) size)));

            return resultNode;
        }
    });
    return result;
}

From source file:dao.DatasetsDAO.java

public static boolean updateDatasetOwners(int datasetId, Map<String, String[]> ownersMap, String user) {
    boolean result = true;
    if ((ownersMap == null) || ownersMap.size() == 0) {
        return false;
    }// w w w  .  ja  v  a2  s.  co m

    List<DatasetOwner> owners = new ArrayList<DatasetOwner>();
    if (ownersMap.containsKey("owners")) {
        String[] textArray = ownersMap.get("owners");
        if (textArray != null && textArray.length > 0) {
            JsonNode node = Json.parse(textArray[0]);
            for (int i = 0; i < node.size(); i++) {
                JsonNode ownerNode = node.get(i);
                if (ownerNode != null) {
                    String userName = "";
                    if (ownerNode.has("userName")) {
                        userName = ownerNode.get("userName").asText();
                    }
                    if (StringUtils.isBlank(userName)) {
                        continue;
                    }
                    Boolean isGroup = false;
                    if (ownerNode.has("isGroup")) {
                        isGroup = ownerNode.get("isGroup").asBoolean();
                    }
                    String type = "";
                    if (ownerNode.has("type") && (!ownerNode.get("type").isNull())) {
                        type = ownerNode.get("type").asText();
                    }
                    String subType = "";
                    if (ownerNode.has("subType") && (!ownerNode.get("subType").isNull())) {
                        subType = ownerNode.get("subType").asText();
                    }

                    String confirmedBy = "";
                    if (ownerNode.has("confirmedBy") && (!ownerNode.get("confirmedBy").isNull())) {
                        confirmedBy = ownerNode.get("confirmedBy").asText();
                    }

                    DatasetOwner owner = new DatasetOwner();
                    owner.userName = userName;
                    owner.isGroup = isGroup;
                    if (isGroup) {
                        owner.namespace = "urn:li:griduser";
                    } else {
                        owner.namespace = "urn:li:corpuser";
                    }
                    owner.type = type;
                    owner.subType = subType;
                    owner.confirmedBy = confirmedBy;
                    owner.sortId = i;
                    owners.add(owner);
                }
            }
        }
    }

    getJdbcTemplate().update(MARK_DATASET_OWNERS_AS_DELETED, datasetId);
    if (owners.size() > 0) {
        String urn = null;
        try {
            urn = (String) getJdbcTemplate().queryForObject(GET_DATASET_URN_BY_ID, String.class, datasetId);
        } catch (EmptyResultDataAccessException e) {
            Logger.error("Dataset updateDatasetOwners get urn failed, id = " + datasetId);
            Logger.error("Exception = " + e.getMessage());
        }
        updateDatasetOwnerDatabase(datasetId, urn, owners);
    }

    return result;
}

From source file:dao.FlowsDAO.java

public static Integer getApplicationIDByName(String applicationName) {
    Integer applicationId = 0;/*from  ww w  . j av  a2s.  c  om*/
    try {
        applicationId = getJdbcTemplate().queryForObject(GET_APP_ID,
                new Object[] { applicationName.replace(".", " ") }, Integer.class);
    } catch (EmptyResultDataAccessException e) {
        applicationId = 0;
        Logger.error("Get application id failed, application name = " + applicationName);
        Logger.error("Exception = " + e.getMessage());
    }

    return applicationId;
}

From source file:dao.FlowsDAO.java

public static ObjectNode getPagedProjects(int page, int size) {
    ObjectNode result;//from w  ww  .  ja  va 2 s .c o  m

    javax.sql.DataSource ds = getJdbcTemplate().getDataSource();
    DataSourceTransactionManager tm = new DataSourceTransactionManager(ds);
    TransactionTemplate txTemplate = new TransactionTemplate(tm);
    result = txTemplate.execute(new TransactionCallback<ObjectNode>() {
        public ObjectNode doInTransaction(TransactionStatus status) {
            ObjectNode resultNode = Json.newObject();
            long count = 0;
            List<Flow> pagedFlows = new ArrayList<Flow>();
            List<Map<String, Object>> rows = null;
            rows = getJdbcTemplate().queryForList(GET_PAGED_FLOWS, (page - 1) * size, size);

            try {
                count = getJdbcTemplate().queryForObject("SELECT FOUND_ROWS()", Long.class);
            } catch (EmptyResultDataAccessException e) {
                Logger.error("Exception = " + e.getMessage());
            }
            for (Map row : rows) {
                Flow flow = new Flow();
                flow.id = (Long) row.get("flow_id");
                flow.level = (Integer) row.get("flow_level");
                flow.appId = (Integer) row.get("app_id");
                flow.group = (String) row.get("flow_group");
                flow.name = (String) row.get("flow_name");
                flow.path = (String) row.get("flow_path");
                flow.appCode = (String) row.get("app_code");
                if (StringUtils.isNotBlank(flow.path)) {
                    int index = flow.path.indexOf(":");
                    if (index != -1) {
                        flow.path = flow.path.substring(0, index);
                    }
                }
                Object created = row.get("created_time");
                if (created != null) {
                    flow.created = created.toString();
                }
                Object modified = row.get("modified_time");
                if (modified != null) {
                    flow.modified = row.get("modified_time").toString();
                }

                int jobCount = 0;

                if (flow.id != null && flow.id != 0) {
                    try {
                        jobCount = getJdbcTemplate().queryForObject(GET_JOB_COUNT_BY_APP_ID_AND_FLOW_ID,
                                new Object[] { flow.appId, flow.id }, Integer.class);
                        flow.jobCount = jobCount;
                    } catch (EmptyResultDataAccessException e) {
                        Logger.error("Exception = " + e.getMessage());
                    }
                }
                pagedFlows.add(flow);
            }
            resultNode.set("flows", Json.toJson(pagedFlows));
            resultNode.put("count", count);
            resultNode.put("page", page);
            resultNode.put("itemsPerPage", size);
            resultNode.put("totalPages", (int) Math.ceil(count / ((double) size)));

            return resultNode;
        }
    });
    return result;
}

From source file:dao.FlowsDAO.java

public static ObjectNode getPagedProjectsByApplication(String applicationName, int page, int size) {
    String application = applicationName.replace(".", " ");
    ObjectNode result = Json.newObject();

    javax.sql.DataSource ds = getJdbcTemplate().getDataSource();
    DataSourceTransactionManager tm = new DataSourceTransactionManager(ds);
    TransactionTemplate txTemplate = new TransactionTemplate(tm);

    Integer appID = getApplicationIDByName(applicationName);
    if (appID != 0) {

        final int applicationID = appID;

        result = txTemplate.execute(new TransactionCallback<ObjectNode>() {
            public ObjectNode doInTransaction(TransactionStatus status) {
                ObjectNode resultNode = Json.newObject();
                long count = 0;
                List<Flow> pagedFlows = new ArrayList<Flow>();
                List<Map<String, Object>> rows = null;
                rows = getJdbcTemplate().queryForList(GET_PAGED_FLOWS_BY_APP_ID, applicationID,
                        (page - 1) * size, size);

                try {
                    count = getJdbcTemplate().queryForObject("SELECT FOUND_ROWS()", Long.class);
                } catch (EmptyResultDataAccessException e) {
                    Logger.error("Exception = " + e.getMessage());
                }/*from w w  w .  jav a2s  .c o  m*/
                for (Map row : rows) {
                    Flow flow = new Flow();
                    flow.id = (Long) row.get("flow_id");
                    flow.level = (Integer) row.get("flow_level");
                    flow.appId = (Integer) row.get("app_id");
                    flow.group = (String) row.get("flow_group");
                    flow.name = (String) row.get("flow_name");
                    flow.path = (String) row.get("flow_path");
                    flow.appCode = (String) row.get("app_code");
                    if (StringUtils.isNotBlank(flow.path)) {
                        int index = flow.path.indexOf(":");
                        if (index != -1) {
                            flow.path = flow.path.substring(0, index);
                        }
                    }
                    Object created = row.get("created_time");
                    if (created != null) {
                        flow.created = DateFormat.format(created.toString());
                    }
                    Object modified = row.get("modified_time");
                    if (modified != null) {
                        flow.modified = DateFormat.format(row.get("modified_time").toString());
                    }

                    int jobCount = 0;

                    if (flow.id != null && flow.id != 0) {
                        try {
                            jobCount = getJdbcTemplate().queryForObject(GET_JOB_COUNT_BY_APP_ID_AND_FLOW_ID,
                                    new Object[] { flow.appId, flow.id }, Integer.class);
                            flow.jobCount = jobCount;
                        } catch (EmptyResultDataAccessException e) {
                            Logger.error("Exception = " + e.getMessage());
                        }
                    }
                    pagedFlows.add(flow);
                }
                resultNode.set("flows", Json.toJson(pagedFlows));
                resultNode.put("count", count);
                resultNode.put("page", page);
                resultNode.put("itemsPerPage", size);
                resultNode.put("totalPages", (int) Math.ceil(count / ((double) size)));

                return resultNode;
            }
        });
        return result;
    }

    result = Json.newObject();
    result.put("count", 0);
    result.put("page", page);
    result.put("itemsPerPage", size);
    result.put("totalPages", 0);
    result.set("flows", Json.toJson(""));
    return result;
}