Update Batch Replace
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-gwt-service@94504 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
35bebe87b8
commit
ac1c35932f
|
@ -28,6 +28,7 @@ import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.TabResource;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.TabResource;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.TableData;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.TableData;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.Occurrences;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.Occurrences;
|
||||||
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.OccurrencesForReplaceBatchColumnSession;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.ReplaceBatchColumnMonitor;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.ReplaceBatchColumnMonitor;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.ReplaceBatchColumnSession;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.ReplaceBatchColumnSession;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.clone.CloneTabularResourceSession;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.clone.CloneTabularResourceSession;
|
||||||
|
@ -619,7 +620,7 @@ public interface TDGWTService extends RemoteService {
|
||||||
* @param column
|
* @param column
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public ArrayList<Occurrences> getOccurrencesForBatchReplace(ColumnData column)
|
public ArrayList<Occurrences> getOccurrencesForBatchReplace(OccurrencesForReplaceBatchColumnSession occurrencesForReplaceBatchColumnSession)
|
||||||
throws TDGWTServiceException;
|
throws TDGWTServiceException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -27,6 +27,7 @@ import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.TabResource;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.TabResource;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.TableData;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.TableData;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.Occurrences;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.Occurrences;
|
||||||
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.OccurrencesForReplaceBatchColumnSession;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.ReplaceBatchColumnMonitor;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.ReplaceBatchColumnMonitor;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.ReplaceBatchColumnSession;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.ReplaceBatchColumnSession;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.clone.CloneTabularResourceSession;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.clone.CloneTabularResourceSession;
|
||||||
|
@ -174,7 +175,7 @@ public interface TDGWTServiceAsync {
|
||||||
void startLabelColumn(LabelColumnSession labelColumnSession,AsyncCallback<Void> callback);
|
void startLabelColumn(LabelColumnSession labelColumnSession,AsyncCallback<Void> callback);
|
||||||
|
|
||||||
//BatchReplace Operation
|
//BatchReplace Operation
|
||||||
void getOccurrencesForBatchReplace(ColumnData column, AsyncCallback<ArrayList<Occurrences>> callback);
|
void getOccurrencesForBatchReplace(OccurrencesForReplaceBatchColumnSession occurrencesForReplaceBatchColumnSession, AsyncCallback<ArrayList<Occurrences>> callback);
|
||||||
void getReplaceBatchColumnMonitor(AsyncCallback<ReplaceBatchColumnMonitor> callback);
|
void getReplaceBatchColumnMonitor(AsyncCallback<ReplaceBatchColumnMonitor> callback);
|
||||||
void startReplaceBatchColumn(ReplaceBatchColumnSession replaceBatchColumnSession,AsyncCallback<Void> callback);
|
void startReplaceBatchColumn(ReplaceBatchColumnSession replaceBatchColumnSession,AsyncCallback<Void> callback);
|
||||||
|
|
||||||
|
|
|
@ -121,6 +121,7 @@ import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnViewData;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.TabResource;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.TabResource;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.TableData;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.TableData;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.Occurrences;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.Occurrences;
|
||||||
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.OccurrencesForReplaceBatchColumnSession;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.ReplaceBatchColumnMonitor;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.ReplaceBatchColumnMonitor;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.ReplaceBatchColumnSession;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.ReplaceBatchColumnSession;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.ReplaceEntry;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.ReplaceEntry;
|
||||||
|
@ -616,19 +617,21 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
|
||||||
aslSession.getUsername()));
|
aslSession.getUsername()));
|
||||||
TabularDataService service = TabularDataServiceFactory.getService();
|
TabularDataService service = TabularDataServiceFactory.getService();
|
||||||
|
|
||||||
logger.debug("getValidationColumns():[" + trId.toString()+" columnName: "+columnName+"]");
|
logger.debug("getValidationColumns():[" + trId.toString()
|
||||||
|
+ " columnName: " + columnName + "]");
|
||||||
|
|
||||||
Table table = service.getTable(new TableId(Long.valueOf(trId
|
Table table = service.getTable(new TableId(Long.valueOf(trId
|
||||||
.getTableId())));
|
.getTableId())));
|
||||||
|
|
||||||
Column columnSource=table.getColumnByName(columnName);
|
Column columnSource = table.getColumnByName(columnName);
|
||||||
if(columnSource==null){
|
if (columnSource == null) {
|
||||||
logger.error("Column not present on table");
|
logger.error("Column not present on table");
|
||||||
throw new TDGWTServiceException("Column not present on table");
|
throw new TDGWTServiceException("Column not present on table");
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.debug("getValidationColumns(): columnSource "+columnSource.getLocalId());
|
logger.debug("getValidationColumns(): columnSource "
|
||||||
String columnSourceId=columnSource.getLocalId().getValue();
|
+ columnSource.getLocalId());
|
||||||
|
String columnSourceId = columnSource.getLocalId().getValue();
|
||||||
|
|
||||||
ArrayList<ColumnData> columns = new ArrayList<ColumnData>();
|
ArrayList<ColumnData> columns = new ArrayList<ColumnData>();
|
||||||
|
|
||||||
|
@ -636,14 +639,16 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (Column c : cols) {
|
for (Column c : cols) {
|
||||||
if (c.getColumnType() instanceof ValidationColumnType) {
|
if (c.getColumnType() instanceof ValidationColumnType) {
|
||||||
logger.debug("ValidationColumn present: "+c.getLocalId());
|
logger.debug("ValidationColumn present: " + c.getLocalId());
|
||||||
if (c.contains(ValidationReferencesMetadata.class)) {
|
if (c.contains(ValidationReferencesMetadata.class)) {
|
||||||
logger.debug("ValidationReferencesMetadata present");
|
logger.debug("ValidationReferencesMetadata present");
|
||||||
ValidationReferencesMetadata validationReferenceMetadata = c
|
ValidationReferencesMetadata validationReferenceMetadata = c
|
||||||
.getMetadata(ValidationReferencesMetadata.class);
|
.getMetadata(ValidationReferencesMetadata.class);
|
||||||
List<ColumnLocalId> valColumnList=validationReferenceMetadata.getValidationReferenceColumn();
|
List<ColumnLocalId> valColumnList = validationReferenceMetadata
|
||||||
for(ColumnLocalId columnLocalId:valColumnList){
|
.getValidationReferenceColumn();
|
||||||
if(columnLocalId.getValue().compareTo(columnSourceId)==0){
|
for (ColumnLocalId columnLocalId : valColumnList) {
|
||||||
|
if (columnLocalId.getValue().compareTo(
|
||||||
|
columnSourceId) == 0) {
|
||||||
ColumnData cData = new ColumnData();
|
ColumnData cData = new ColumnData();
|
||||||
cData.setId(Integer.toString(i));
|
cData.setId(Integer.toString(i));
|
||||||
cData.setColumnId(c.getLocalId().getValue());
|
cData.setColumnId(c.getLocalId().getValue());
|
||||||
|
@ -653,7 +658,8 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
|
||||||
cData.setDataTypeName(c.getDataType().getName());
|
cData.setDataTypeName(c.getDataType().getName());
|
||||||
NamesMetadata labelsMetadata = null;
|
NamesMetadata labelsMetadata = null;
|
||||||
try {
|
try {
|
||||||
labelsMetadata = c.getMetadata(NamesMetadata.class);
|
labelsMetadata = c
|
||||||
|
.getMetadata(NamesMetadata.class);
|
||||||
} catch (NoSuchMetadataException e) {
|
} catch (NoSuchMetadataException e) {
|
||||||
logger.debug("labelMetadata: NoSuchMetadataException "
|
logger.debug("labelMetadata: NoSuchMetadataException "
|
||||||
+ e.getLocalizedMessage());
|
+ e.getLocalizedMessage());
|
||||||
|
@ -676,9 +682,10 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
|
||||||
}
|
}
|
||||||
cData.setTrId(trId);
|
cData.setTrId(trId);
|
||||||
cData.setValidationColumn(true);
|
cData.setValidationColumn(true);
|
||||||
ArrayList<String> validatedColumnReferences= new ArrayList<String>();
|
ArrayList<String> validatedColumnReferences = new ArrayList<String>();
|
||||||
for(ColumnLocalId cLocalId:valColumnList){
|
for (ColumnLocalId cLocalId : valColumnList) {
|
||||||
validatedColumnReferences.add(cLocalId.getValue());
|
validatedColumnReferences.add(cLocalId
|
||||||
|
.getValue());
|
||||||
}
|
}
|
||||||
cData.setValidatedColumnReferences(validatedColumnReferences);
|
cData.setValidatedColumnReferences(validatedColumnReferences);
|
||||||
columns.add(cData);
|
columns.add(cData);
|
||||||
|
@ -687,18 +694,19 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
logger.debug("Validation Column: "+columns.size());
|
logger.debug("Validation Column: " + columns.size());
|
||||||
return columns;
|
return columns;
|
||||||
|
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
logger.error(
|
logger.error(
|
||||||
"Error retrieving Validation Columns: " + e.getLocalizedMessage(), e);
|
"Error retrieving Validation Columns: "
|
||||||
throw new TDGWTServiceException("Error retrieving Validation Columns: "
|
+ e.getLocalizedMessage(), e);
|
||||||
|
throw new TDGWTServiceException(
|
||||||
|
"Error retrieving Validation Columns: "
|
||||||
+ e.getLocalizedMessage());
|
+ e.getLocalizedMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4844,17 +4852,18 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ArrayList<Occurrences> getOccurrencesForBatchReplace(
|
public ArrayList<Occurrences> getOccurrencesForBatchReplace(
|
||||||
ColumnData column) throws TDGWTServiceException {
|
OccurrencesForReplaceBatchColumnSession occurrencesForReplaceBatchColumnSession)
|
||||||
|
throws TDGWTServiceException {
|
||||||
try {
|
try {
|
||||||
HttpSession session = this.getThreadLocalRequest().getSession();
|
HttpSession session = this.getThreadLocalRequest().getSession();
|
||||||
ASLSession aslSession = SessionUtil.getAslSession(session);
|
ASLSession aslSession = SessionUtil.getAslSession(session);
|
||||||
logger.debug("GetOccurencesForBatchReplace: " + column);
|
logger.debug("GetOccurencesForBatchReplace: " + occurrencesForReplaceBatchColumnSession.toString());
|
||||||
AuthorizationProvider.instance.set(new AuthorizationToken(
|
AuthorizationProvider.instance.set(new AuthorizationToken(
|
||||||
aslSession.getUsername()));
|
aslSession.getUsername()));
|
||||||
TabularDataService service = TabularDataServiceFactory.getService();
|
TabularDataService service = TabularDataServiceFactory.getService();
|
||||||
|
|
||||||
ArrayList<Occurrences> occurences = QueryService.queryOccurences(
|
ArrayList<Occurrences> occurences = QueryService.queryOccurences(
|
||||||
service, column, Direction.ASC);
|
service, occurrencesForReplaceBatchColumnSession, Direction.ASC);
|
||||||
|
|
||||||
logger.debug("Retrieved Occurences");
|
logger.debug("Retrieved Occurences");
|
||||||
return occurences;
|
return occurences;
|
||||||
|
@ -4893,7 +4902,7 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
|
||||||
templateData.setName(desc.getName());
|
templateData.setName(desc.getName());
|
||||||
templateData.setDescription(desc.getDescription());
|
templateData.setDescription(desc.getDescription());
|
||||||
templateData.setAgency(desc.getAgency());
|
templateData.setAgency(desc.getAgency());
|
||||||
switch (desc.getTemplate().getCategory()){
|
switch (desc.getTemplate().getCategory()) {
|
||||||
case CODELIST:
|
case CODELIST:
|
||||||
templateData.setCategory("Codelist");
|
templateData.setCategory("Codelist");
|
||||||
break;
|
break;
|
||||||
|
@ -4906,7 +4915,8 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
};
|
}
|
||||||
|
;
|
||||||
|
|
||||||
templateDataList.add(templateData);
|
templateDataList.add(templateData);
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,7 @@ import org.gcube.data.analysis.tabulardata.service.TabularDataService;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTServiceException;
|
import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTServiceException;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.Occurrences;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.Occurrences;
|
||||||
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.batch.OccurrencesForReplaceBatchColumnSession;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.tr.paging.Direction;
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.paging.Direction;
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
|
@ -34,9 +35,10 @@ public class QueryService {
|
||||||
.getLogger(QueryService.class);
|
.getLogger(QueryService.class);
|
||||||
|
|
||||||
public static ArrayList<Occurrences> queryOccurences(
|
public static ArrayList<Occurrences> queryOccurences(
|
||||||
TabularDataService service, ColumnData column, Direction direction)
|
TabularDataService service, OccurrencesForReplaceBatchColumnSession occurrencesSession , Direction direction)
|
||||||
throws TDGWTServiceException {
|
throws TDGWTServiceException {
|
||||||
logger.debug("QueryOccurences");
|
logger.debug("QueryOccurences");
|
||||||
|
ColumnData column=occurrencesSession.getColumnData();
|
||||||
ArrayList<Occurrences> occurences = new ArrayList<Occurrences>();
|
ArrayList<Occurrences> occurences = new ArrayList<Occurrences>();
|
||||||
|
|
||||||
TableId tableId = new TableId(new Long(column.getTrId().getTableId()));
|
TableId tableId = new TableId(new Long(column.getTrId().getTableId()));
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
package org.gcube.portlets.user.td.gwtservice.shared.tr.batch;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author "Giancarlo Panichi" <a
|
||||||
|
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class OccurrencesForReplaceBatchColumnSession implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = -838394991333185029L;
|
||||||
|
protected ColumnData columnData;
|
||||||
|
protected ShowOccurrencesType showType;
|
||||||
|
|
||||||
|
public OccurrencesForReplaceBatchColumnSession() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public OccurrencesForReplaceBatchColumnSession(ColumnData columnData,
|
||||||
|
ShowOccurrencesType showType) {
|
||||||
|
this.columnData = columnData;
|
||||||
|
this.showType = showType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ColumnData getColumnData() {
|
||||||
|
return columnData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setColumnData(ColumnData columnData) {
|
||||||
|
this.columnData = columnData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ShowOccurrencesType getShowType() {
|
||||||
|
return showType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setShowType(ShowOccurrencesType showType) {
|
||||||
|
this.showType = showType;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "OccurencesForReplaceBatchColumnSession [columnData="
|
||||||
|
+ columnData + ", showType=" + showType + "]";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
package org.gcube.portlets.user.td.gwtservice.shared.tr.batch;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @author "Giancarlo Panichi"
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public enum ShowOccurrencesType {
|
||||||
|
ONLYERRORS("Only Errors"),
|
||||||
|
ALL("All");
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param text
|
||||||
|
*/
|
||||||
|
private ShowOccurrencesType(final String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
private final String id;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue