Skip to content
Snippets Groups Projects
Commit 127afc04 authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Added comments, refactoring, improved testing

parent 0527414f
Branches
Tags
No related merge requests found
Showing
with 156 additions and 76 deletions
......@@ -20,6 +20,11 @@
<artifactId>TapSchemaManagerDL</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>ari.ucd</groupId>
<artifactId>ucdvalidator</artifactId>
<version>1.0beta</version>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
......@@ -53,8 +58,8 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<source>1.7</source>
<target>1.7</target>
<compilerArguments>
<endorseddirs>${endorsed.dir}</endorseddirs>
</compilerArguments>
......
......@@ -6,7 +6,7 @@ import java.io.Serializable;
/**
*
* @author Sonia Zorba <zorba at oats.inaf.it>
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
*/
public class Column extends EntityWrapper<ColumnEntity> implements Serializable {
......@@ -28,10 +28,10 @@ public class Column extends EntityWrapper<ColumnEntity> implements Serializable
private boolean hidden;
public Column(TapSchemaHandler tapSchemaHandler, ColumnEntity columnEntity, boolean primaryKey) {
public Column(TapSchemaHandler tapSchemaHandler, ColumnEntity columnEntity) {
super(columnEntity, UTYPE, UCD, UNIT, DESCRIPTION, STD, PRINCIPAL);
hidden = true;
this.primaryKey = primaryKey;
this.primaryKey = columnEntity.isPrimaryKey();
this.datatype = columnEntity.getDatatype();
this.size = columnEntity.getSize();
this.indexed = columnEntity.getIndexed() == 1;
......@@ -51,18 +51,25 @@ public class Column extends EntityWrapper<ColumnEntity> implements Serializable
@Override
protected void afterSetValue(String key, String value) {
ColumnEntity columnEntity = getEntity();
if (key.equals(UTYPE)) {
switch (key) {
case UTYPE:
columnEntity.setUtype(value);
} else if (key.equals(UCD)) {
break;
case UCD:
columnEntity.setUcd(value);
} else if (key.equals(UNIT)) {
break;
case UNIT:
columnEntity.setUnit(value);
} else if (key.equals(DESCRIPTION)) {
break;
case DESCRIPTION:
columnEntity.setDescription(value);
} else if (key.equals(STD)) {
break;
case STD:
columnEntity.setStd(Integer.parseInt(value));
} else if (key.equals(PRINCIPAL)) {
break;
case PRINCIPAL:
columnEntity.setPrincipal(Integer.parseInt(value));
break;
}
}
......
......@@ -10,7 +10,7 @@ import javax.xml.bind.annotation.XmlRootElement;
/**
*
* @author Sonia Zorba <zorba at oats.inaf.it>
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
*/
@XmlRootElement(name = "credentials-config")
public class CredentialsConfiguration {
......@@ -20,7 +20,7 @@ public class CredentialsConfiguration {
private List<Object> credentialsInfo;
public CredentialsConfiguration() {
credentialsInfo = new ArrayList<Object>();
credentialsInfo = new ArrayList<>();
}
public void addCredentials(Credentials credentials) {
......
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package it.inaf.oats.ia2.tapschemamanager.businesslayer;
/**
*
* @author Sonia Zorba <zorba at oats.inaf.it>
*/
public class CredentialsConfigurationBean {
}
......@@ -9,7 +9,7 @@ import java.util.Map;
/**
*
* @author Sonia Zorba <zorba at oats.inaf.it>
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
* @param <T>
*/
public abstract class EntityWrapper<T extends TapSchemaEntity> implements Serializable {
......@@ -23,8 +23,8 @@ public abstract class EntityWrapper<T extends TapSchemaEntity> implements Serial
private Status status;
public EntityWrapper(T entity, String... supportedKeys) {
originalValues = new HashMap<String, String>();
editedValues = new HashMap<String, String>();
originalValues = new HashMap<>();
editedValues = new HashMap<>();
this.entity = entity;
this.supportedKeys = Arrays.asList(supportedKeys);
}
......@@ -48,7 +48,7 @@ public abstract class EntityWrapper<T extends TapSchemaEntity> implements Serial
protected abstract void afterSetValue(String key, String value);
public final void setValue(String key, String value) {
if (originalValues.get(key) == null && value.equals("")) {
if (originalValues.get(key) == null && value.isEmpty()) {
value = null;
}
editedValues.put(key, value);
......
......@@ -5,7 +5,7 @@ import java.util.List;
/**
*
* @author Sonia Zorba <zorba at oats.inaf.it>
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
* @param <T>
*/
public interface EntityWrapperContainer<T extends EntityWrapper> {
......
package it.inaf.oats.ia2.tapschemamanager.businesslayer;
import ari.ucd.UCD;
import ari.ucd.UCDParser;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* Serializable wrapper for the ari.ucd.UCD class. Contains only a subset of the
* original properties.
*
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
*/
public class ParsedUCD implements Serializable {
private static final long serialVersionUID = 527435700858258310L;
private final boolean valid;
private final boolean recognised;
private final boolean recommended;
private final List<String> errors;
private final List<String> advices;
private final String suggestedUCD;
public ParsedUCD(UCD parsedUCD) {
valid = parsedUCD.isFullyValid();
recognised = parsedUCD.isAllRecognised();
recommended = parsedUCD.isAllRecommended();
errors = new ArrayList<>();
Iterator<String> errorIte = parsedUCD.getErrors();
while (errorIte.hasNext()) {
errors.add(errorIte.next());
}
advices = new ArrayList<>();
Iterator<String> adviceIte = parsedUCD.getAdvice();
while (adviceIte.hasNext()) {
advices.add(adviceIte.next());
}
UCD suggested = parsedUCD.getSuggestion();
String suggestionString = suggested == null ? null : suggested.toString();
if (suggestionString != null && !suggestionString.isEmpty() && !suggestionString.equals(parsedUCD.toString())) {
suggestedUCD = suggestionString;
} else {
suggestedUCD = null;
}
}
public ParsedUCD(String ucdText) {
this(UCDParser.parseUCD(ucdText));
}
public boolean isValid() {
return valid;
}
public boolean isRecognised() {
return recognised;
}
public boolean isRecommended() {
return recommended;
}
public List<String> getErrors() {
return errors;
}
public List<String> getAdvices() {
return advices;
}
public String getSuggestedUCD() {
return suggestedUCD;
}
}
......@@ -13,7 +13,7 @@ import java.util.TreeMap;
/**
*
* @author Sonia Zorba <zorba at oats.inaf.it>
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
*/
public class Schema extends EntityWrapper<SchemaEntity> implements EntityWrapperContainer<Table>, Serializable {
......@@ -22,10 +22,10 @@ public class Schema extends EntityWrapper<SchemaEntity> implements EntityWrapper
public static final String UTYPE = "utype";
public static final String DESCRIPTION = "description";
private TapSchemaHandler tapSchemaHandler;
private final TapSchemaHandler tapSchemaHandler;
private String selectedTable;
private Map<String, Table> tables;
private final Map<String, Table> tables;
public Schema(TapSchemaHandler tapSchemaHandler, SchemaEntity schemaEntity) throws SQLException {
super(schemaEntity, UTYPE, DESCRIPTION);
......@@ -35,7 +35,7 @@ public class Schema extends EntityWrapper<SchemaEntity> implements EntityWrapper
addValue(UTYPE, schemaEntity.getUtype());
addValue(DESCRIPTION, schemaEntity.getDescription());
tables = new TreeMap<String, Table>(String.CASE_INSENSITIVE_ORDER);
tables = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
for (TableEntity tableEntity : schemaEntity.getTables()) {
String tableName = tableEntity.getShortTableName();
......@@ -48,10 +48,13 @@ public class Schema extends EntityWrapper<SchemaEntity> implements EntityWrapper
@Override
protected void afterSetValue(String key, String value) {
SchemaEntity schemaEntity = getEntity();
if (key.equals(UTYPE)) {
switch (key) {
case UTYPE:
schemaEntity.setUtype(value);
} else if (key.equals(DESCRIPTION)) {
break;
case DESCRIPTION:
schemaEntity.setDescription(value);
break;
}
}
......
......@@ -18,7 +18,7 @@ import javax.naming.NamingException;
* Collection of static methods for accessing to the UCD REST service and
* validating custom UCD.
*
* @author Sonia Zorba <zorba at oats.inaf.it>
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
*/
public class SearchUCD {
......@@ -113,7 +113,7 @@ public class SearchUCD {
int responseCodeSuggest = connectionSuggest.getResponseCode();
if (responseCodeSuggest == 200) {
List<UCDInfo> resultList = new ArrayList<UCDInfo>();
List<UCDInfo> resultList = new ArrayList<>();
BufferedReader br = new BufferedReader(new InputStreamReader(connectionSuggest.getInputStream()));
String line;
......
......@@ -5,7 +5,7 @@ import javax.xml.bind.annotation.XmlElement;
/**
*
* @author Sonia Zorba <zorba at oats.inaf.it>
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
*/
public class SeparateCredentials {
......@@ -37,5 +37,4 @@ public class SeparateCredentials {
public void setTapSchemaCredentials(Credentials tapSchemaCredentials) {
this.tapSchemaCredentials = tapSchemaCredentials;
}
}
......@@ -2,7 +2,7 @@ package it.inaf.oats.ia2.tapschemamanager.businesslayer;
/**
*
* @author Sonia Zorba <zorba at oats.inaf.it>
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
*/
public enum Status {
ADDED_PERSISTED,
......
package it.inaf.oats.ia2.tapschemamanager.businesslayer;
import it.inaf.oats.ia2.tapschemamanager.datalayer.ColumnEntity;
import it.inaf.oats.ia2.tapschemamanager.datalayer.ColumnInfo;
import it.inaf.oats.ia2.tapschemamanager.datalayer.DLUtil;
import it.inaf.oats.ia2.tapschemamanager.datalayer.TableEntity;
import it.inaf.oats.ia2.tapschemamanager.datalayer.TapSchemaHandler;
......@@ -14,7 +13,7 @@ import java.util.TreeMap;
/**
*
* @author Sonia Zorba <zorba at oats.inaf.it>
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
*/
public class Table extends EntityWrapper<TableEntity> implements EntityWrapperContainer<Column>, Serializable {
......@@ -41,11 +40,10 @@ public class Table extends EntityWrapper<TableEntity> implements EntityWrapperCo
this.tableName = tableName;
// Load all ColumnEntity map
columns = new TreeMap<String, Column>(String.CASE_INSENSITIVE_ORDER);
columns = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
List<String> alreadyLoadedColumns = DLUtil.getEntitiesNames(tableEntity.getColumns());
for (ColumnInfo columnInfo : tapSchemaHandler.getColumnInfo(schemaName, tableName)) {
ColumnEntity columnEntity = columnInfo.getColumnEntity();
Column column = new Column(tapSchemaHandler, columnEntity, columnInfo.isPrimaryKey());
for (ColumnEntity columnEntity : tapSchemaHandler.getColumnEntities(schemaName, tableName)) {
Column column = new Column(tapSchemaHandler, columnEntity);
columns.put(columnEntity.getName(), column);
if (alreadyLoadedColumns.contains(columnEntity.getName())) {
......@@ -68,16 +66,19 @@ public class Table extends EntityWrapper<TableEntity> implements EntityWrapperCo
@Override
protected void afterSetValue(String key, String value) {
TableEntity tableEntity = getEntity();
if (key.equals(UTYPE)) {
switch (key) {
case UTYPE:
tableEntity.setUtype(value);
} else if (key.equals(DESCRIPTION)) {
break;
case DESCRIPTION:
tableEntity.setDescription(value);
break;
}
}
@Override
public List<String> getAddables() {
List<String> addables = new ArrayList<String>();
List<String> addables = new ArrayList<>();
for (Column column : columns.values()) {
if (column.isHidden()) {
addables.add(column.getName());
......@@ -148,7 +149,7 @@ public class Table extends EntityWrapper<TableEntity> implements EntityWrapperCo
@Override
public List<String> getEntitiesNames() {
List<String> columnsNames = new ArrayList<String>();
List<String> columnsNames = new ArrayList<>();
for (Column column : columns.values()) {
if (!column.isHidden()) {
columnsNames.add(column.getName());
......@@ -181,7 +182,7 @@ public class Table extends EntityWrapper<TableEntity> implements EntityWrapperCo
@Override
public List<Column> getAllEntityWrappers() {
List<Column> list = new ArrayList<Column>();
List<Column> list = new ArrayList<>();
for (Column column : columns.values()) {
if (!column.isHidden()) {
list.add(column);
......
package it.inaf.oats.ia2.tapschemamanager.businesslayer;
import it.inaf.oats.ia2.tapschemamanager.datalayer.Credentials;
import it.inaf.oats.ia2.tapschemamanager.datalayer.DBWrapper;
import it.inaf.oats.ia2.tapschemamanager.datalayer.SchemaEntity;
import it.inaf.oats.ia2.tapschemamanager.datalayer.TapSchemaHandler;
......@@ -14,7 +13,7 @@ import java.util.TreeMap;
/**
*
* @author Sonia Zorba <zorba at oats.inaf.it>
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
*/
public class TapSchema implements EntityWrapperContainer<Schema>, Serializable {
......@@ -29,7 +28,7 @@ public class TapSchema implements EntityWrapperContainer<Schema>, Serializable {
public TapSchema(DBWrapper dbWrapper, String tapSchemaName, boolean exists) throws SQLException {
this.name = tapSchemaName;
schemas = new TreeMap<String, Schema>(String.CASE_INSENSITIVE_ORDER);
schemas = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
this.tapSchemaHandler = new TapSchemaHandler(dbWrapper, tapSchemaName, exists);
......
......@@ -4,7 +4,7 @@ import java.io.Serializable;
/**
*
* @author Sonia Zorba <zorba at oats.inaf.it>
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
*/
public class UCDInfo implements Serializable {
......
......@@ -2,7 +2,7 @@ package it.inaf.oats.ia2.tapschemamanager.businesslayer;
/**
*
* @author Sonia Zorba <zorba at oats.inaf.it>
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
*/
public class UCDServiceException extends Exception {
......
......@@ -6,12 +6,12 @@ import java.util.Set;
/**
*
* @author Sonia Zorba <zorba at oats.inaf.it>
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
*/
class Util {
protected static List<String> getAddables(List<String> allElements, Set<String> addedElements) {
List<String> addables = new ArrayList<String>();
List<String> addables = new ArrayList<>();
for (String elementName : allElements) {
if (!addedElements.contains(elementName)) {
addables.add(elementName);
......@@ -21,7 +21,7 @@ class Util {
}
protected static List<String> setToList(Set<String> set) {
List<String> list = new ArrayList<String>();
List<String> list = new ArrayList<>();
list.addAll(set);
return list;
}
......
......@@ -20,7 +20,7 @@ import org.slf4j.LoggerFactory;
/**
*
* @author Sonia Zorba <zorba at oats.inaf.it>
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
*/
@Named("credentialsInsertion")
@SessionScoped
......
......@@ -14,7 +14,7 @@ import org.slf4j.LoggerFactory;
/**
*
* @author Sonia Zorba <zorba at oats.inaf.it>
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
*/
@ApplicationScoped
public class CredentialsConfigurationBean {
......
......@@ -13,7 +13,7 @@ import javax.faces.context.ResponseWriter;
/**
*
* @author Sonia Zorba <zorba at oats.inaf.it>
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
*/
public class CustomPartialResponseWriter extends PartialResponseWriter {
......
......@@ -6,7 +6,7 @@ import javax.faces.context.PartialViewContextFactory;
/**
*
* @author Sonia Zorba <zorba at oats.inaf.it>
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
*/
public class CustomPartialViewContextFactory extends PartialViewContextFactory {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment