removed getElementInfo from WorkspaceThreddsSynchronize and moved under
check method
This commit is contained in:
parent
db1e0729a3
commit
cae34434fa
|
@ -0,0 +1,47 @@
|
||||||
|
package org.gcube.portal.wssynclibrary.shared.thredds;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Class ThSyncElementInfo.
|
||||||
|
*
|
||||||
|
* @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it
|
||||||
|
*
|
||||||
|
* May 13, 2021
|
||||||
|
*/
|
||||||
|
public class ThSyncElementInfo implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 6248465200945019743L;
|
||||||
|
|
||||||
|
private Sync_Status syncStatus;
|
||||||
|
|
||||||
|
public ThSyncElementInfo() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public ThSyncElementInfo(Sync_Status syncStatus) {
|
||||||
|
super();
|
||||||
|
this.syncStatus = syncStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Sync_Status getSyncStatus() {
|
||||||
|
return syncStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSyncStatus(Sync_Status syncStatus) {
|
||||||
|
this.syncStatus = syncStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
|
builder.append("ThSyncElementInfo [syncStatus=");
|
||||||
|
builder.append(syncStatus);
|
||||||
|
builder.append("]");
|
||||||
|
return builder.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -5,54 +5,51 @@ import java.io.Serializable;
|
||||||
/**
|
/**
|
||||||
* The Class ThSyncFolderDescriptor.
|
* The Class ThSyncFolderDescriptor.
|
||||||
*
|
*
|
||||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
* @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it
|
||||||
* Feb 8, 2018
|
*
|
||||||
|
* May 13, 2021
|
||||||
*/
|
*/
|
||||||
public class ThSyncFolderDescriptor implements Serializable{
|
public class ThSyncFolderDescriptor implements Serializable {
|
||||||
|
|
||||||
|
|
||||||
/** The Constant serialVersionUID. */
|
|
||||||
private static final long serialVersionUID = 4134777763175272691L;
|
private static final long serialVersionUID = 4134777763175272691L;
|
||||||
|
|
||||||
/** The folder id. */
|
|
||||||
private String folderId;
|
private String folderId;
|
||||||
|
|
||||||
/** The folder path. */
|
|
||||||
private String folderPath;
|
private String folderPath;
|
||||||
|
|
||||||
/** The configuration. */
|
|
||||||
private ThSynchFolderConfiguration configuration;
|
private ThSynchFolderConfiguration configuration;
|
||||||
|
|
||||||
/** The is locked. */
|
private boolean isLocked = false;
|
||||||
private boolean isLocked=false;
|
|
||||||
|
private ThSyncElementInfo elementInfo;
|
||||||
|
|
||||||
/** The local process descriptor. */
|
private ThProcessDescriptor localProcessDescriptor = null;
|
||||||
private ThProcessDescriptor localProcessDescriptor=null;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiates a new s sync folder descriptor.
|
* Instantiates a new s sync folder descriptor.
|
||||||
*/
|
*/
|
||||||
public ThSyncFolderDescriptor() {
|
public ThSyncFolderDescriptor() {
|
||||||
// TODO Auto-generated constructor stub
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiates a new s sync folder descriptor.
|
* Instantiates a new th sync folder descriptor.
|
||||||
*
|
*
|
||||||
* @param folderId the folder id
|
* @param folderId the folder id
|
||||||
* @param folderPath the folder path
|
* @param folderPath the folder path
|
||||||
* @param configuration the configuration
|
* @param configuration the configuration
|
||||||
* @param isLocked the is locked
|
* @param isLocked the is locked
|
||||||
|
* @param elementInfo the element info
|
||||||
* @param localProcessDescriptor the local process descriptor
|
* @param localProcessDescriptor the local process descriptor
|
||||||
*/
|
*/
|
||||||
public ThSyncFolderDescriptor(String folderId, String folderPath, ThSynchFolderConfiguration configuration,
|
public ThSyncFolderDescriptor(String folderId, String folderPath, ThSynchFolderConfiguration configuration,
|
||||||
boolean isLocked, ThProcessDescriptor localProcessDescriptor) {
|
boolean isLocked, ThSyncElementInfo elementInfo, ThProcessDescriptor localProcessDescriptor) {
|
||||||
super();
|
super();
|
||||||
this.folderId = folderId;
|
this.folderId = folderId;
|
||||||
this.folderPath = folderPath;
|
this.folderPath = folderPath;
|
||||||
this.configuration = configuration;
|
this.configuration = configuration;
|
||||||
this.isLocked = isLocked;
|
this.isLocked = isLocked;
|
||||||
|
this.elementInfo = elementInfo;
|
||||||
this.localProcessDescriptor = localProcessDescriptor;
|
this.localProcessDescriptor = localProcessDescriptor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -146,8 +143,28 @@ public class ThSyncFolderDescriptor implements Serializable{
|
||||||
this.localProcessDescriptor = localProcessDescriptor;
|
this.localProcessDescriptor = localProcessDescriptor;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/**
|
||||||
* @see java.lang.Object#toString()
|
* Gets the element info.
|
||||||
|
*
|
||||||
|
* @return the element info
|
||||||
|
*/
|
||||||
|
public ThSyncElementInfo getElementInfo() {
|
||||||
|
return elementInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the element info.
|
||||||
|
*
|
||||||
|
* @param elementInfo the new element info
|
||||||
|
*/
|
||||||
|
public void setElementInfo(ThSyncElementInfo elementInfo) {
|
||||||
|
this.elementInfo = elementInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* To string.
|
||||||
|
*
|
||||||
|
* @return the string
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
|
@ -160,13 +177,12 @@ public class ThSyncFolderDescriptor implements Serializable{
|
||||||
builder.append(configuration);
|
builder.append(configuration);
|
||||||
builder.append(", isLocked=");
|
builder.append(", isLocked=");
|
||||||
builder.append(isLocked);
|
builder.append(isLocked);
|
||||||
|
builder.append(", elementInfo=");
|
||||||
|
builder.append(elementInfo);
|
||||||
builder.append(", localProcessDescriptor=");
|
builder.append(", localProcessDescriptor=");
|
||||||
builder.append(localProcessDescriptor);
|
builder.append(localProcessDescriptor);
|
||||||
builder.append("]");
|
builder.append("]");
|
||||||
return builder.toString();
|
return builder.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ import org.gcube.portal.wssynclibrary.shared.thredds.Sync_Status;
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.ThCatalogueBean;
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThCatalogueBean;
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.ThProcessDescriptor;
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThProcessDescriptor;
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.ThProcessStatus;
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThProcessStatus;
|
||||||
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThSyncElementInfo;
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.ThSyncFolderDescriptor;
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThSyncFolderDescriptor;
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.ThSynchFolderConfiguration;
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThSynchFolderConfiguration;
|
||||||
import org.gcube.usecases.ws.thredds.engine.impl.ProcessDescriptor;
|
import org.gcube.usecases.ws.thredds.engine.impl.ProcessDescriptor;
|
||||||
|
@ -14,6 +15,7 @@ import org.gcube.usecases.ws.thredds.engine.impl.ProcessStatus;
|
||||||
import org.gcube.usecases.ws.thredds.model.SyncFolderDescriptor;
|
import org.gcube.usecases.ws.thredds.model.SyncFolderDescriptor;
|
||||||
import org.gcube.usecases.ws.thredds.model.SynchFolderConfiguration;
|
import org.gcube.usecases.ws.thredds.model.SynchFolderConfiguration;
|
||||||
import org.gcube.usecases.ws.thredds.model.SynchronizedElementInfo;
|
import org.gcube.usecases.ws.thredds.model.SynchronizedElementInfo;
|
||||||
|
import org.gcube.usecases.ws.thredds.model.SynchronizedElementInfo.SynchronizationStatus;
|
||||||
import org.gcube.usecases.ws.thredds.model.gui.CatalogBean;
|
import org.gcube.usecases.ws.thredds.model.gui.CatalogBean;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -22,6 +24,7 @@ import org.slf4j.LoggerFactory;
|
||||||
* The Class ThreddsConverter.
|
* The Class ThreddsConverter.
|
||||||
*
|
*
|
||||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it Feb 14, 2018
|
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it Feb 14, 2018
|
||||||
|
* updated May 13, 2021
|
||||||
*/
|
*/
|
||||||
public class ThreddsConverter {
|
public class ThreddsConverter {
|
||||||
|
|
||||||
|
@ -42,7 +45,8 @@ public class ThreddsConverter {
|
||||||
|
|
||||||
mySync.setFolderId(t.getFolderId());
|
mySync.setFolderId(t.getFolderId());
|
||||||
mySync.setFolderPath(t.getFolderPath());
|
mySync.setFolderPath(t.getFolderPath());
|
||||||
mySync.setLocked(t.isLocked());
|
mySync.setLocked(t.getIsLocked());
|
||||||
|
mySync.setElementInfo(toThElementInfo.apply(t.getInfo()));
|
||||||
ThProcessDescriptor localProcessDescriptor = toThProcessDescriptor.apply(t.getLocalProcessDescriptor());
|
ThProcessDescriptor localProcessDescriptor = toThProcessDescriptor.apply(t.getLocalProcessDescriptor());
|
||||||
mySync.setLocalProcessDescriptor(localProcessDescriptor);
|
mySync.setLocalProcessDescriptor(localProcessDescriptor);
|
||||||
ThSynchFolderConfiguration configuration = toThSynchFolderConfiguration.apply(t.getConfiguration());
|
ThSynchFolderConfiguration configuration = toThSynchFolderConfiguration.apply(t.getConfiguration());
|
||||||
|
@ -63,7 +67,8 @@ public class ThreddsConverter {
|
||||||
}
|
}
|
||||||
|
|
||||||
SynchFolderConfiguration configuration = toSynchFolderConfiguration.apply(t.getConfiguration());
|
SynchFolderConfiguration configuration = toSynchFolderConfiguration.apply(t.getConfiguration());
|
||||||
return new SyncFolderDescriptor(t.getFolderId(), t.getFolderPath(), configuration);
|
SynchronizedElementInfo sei = toSynchronizedElementInfo.apply(t.getElementInfo());
|
||||||
|
return new SyncFolderDescriptor(t.getFolderId(), t.getFolderPath(), configuration, sei);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -94,7 +99,7 @@ public class ThreddsConverter {
|
||||||
+ ThSynchFolderConfiguration.class.getSimpleName());
|
+ ThSynchFolderConfiguration.class.getSimpleName());
|
||||||
return mySync;
|
return mySync;
|
||||||
}
|
}
|
||||||
|
|
||||||
mySync.setFilter(t.getFilter());
|
mySync.setFilter(t.getFilter());
|
||||||
mySync.setRemotePath(t.getRemotePath());
|
mySync.setRemotePath(t.getRemotePath());
|
||||||
mySync.setRemotePersistence(t.getRemotePersistence());
|
mySync.setRemotePersistence(t.getRemotePersistence());
|
||||||
|
@ -188,23 +193,66 @@ public class ThreddsConverter {
|
||||||
return mySync;
|
return mySync;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
public static Function<SynchronizedElementInfo, Sync_Status> toSyncStatus = new Function<SynchronizedElementInfo, Sync_Status>() {
|
|
||||||
|
|
||||||
public Sync_Status apply(SynchronizedElementInfo sei) {
|
public static Function<SynchronizedElementInfo, ThSyncElementInfo> toThElementInfo = new Function<SynchronizedElementInfo, ThSyncElementInfo>() {
|
||||||
|
|
||||||
|
public ThSyncElementInfo apply(SynchronizedElementInfo sei) {
|
||||||
|
|
||||||
if (sei == null) {
|
if (sei == null) {
|
||||||
logger.info("Input " + SynchronizedElementInfo.class.getSimpleName() + " is null, returning null "
|
logger.info("Input " + SynchronizedElementInfo.class.getSimpleName() + " is null, returning null "
|
||||||
+ Sync_Status.class.getSimpleName());
|
+ ThSyncElementInfo.class.getSimpleName());
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.warn("toSyncStatus not implemented yet!!!!!!");
|
ThSyncElementInfo toReturn = new ThSyncElementInfo();
|
||||||
|
SynchronizationStatus status = sei.getStatus();
|
||||||
return null;
|
|
||||||
|
if (status != null) {
|
||||||
|
switch (status) {
|
||||||
|
case UP_TO_DATE:
|
||||||
|
toReturn.setSyncStatus(Sync_Status.UP_TO_DATE);
|
||||||
|
break;
|
||||||
|
case OUTDATED_WS:
|
||||||
|
toReturn.setSyncStatus(Sync_Status.OUTDATED_WS);
|
||||||
|
break;
|
||||||
|
case OUTDATED_REMOTE:
|
||||||
|
toReturn.setSyncStatus(Sync_Status.OUTDATED_REMOTE);
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return toReturn;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public static Function<ThSyncElementInfo, SynchronizedElementInfo> toSynchronizedElementInfo = new Function<ThSyncElementInfo, SynchronizedElementInfo>() {
|
||||||
|
|
||||||
|
public SynchronizedElementInfo apply(ThSyncElementInfo sei) {
|
||||||
|
|
||||||
|
if (sei == null) {
|
||||||
|
logger.info("Input " + ThSyncElementInfo.class.getSimpleName() + " is null, returning null "
|
||||||
|
+ SynchronizedElementInfo.class.getSimpleName());
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Sync_Status status = sei.getSyncStatus();
|
||||||
|
SynchronizationStatus theStatus = null;
|
||||||
|
if (status != null) {
|
||||||
|
|
||||||
|
switch (status) {
|
||||||
|
case UP_TO_DATE:
|
||||||
|
theStatus = SynchronizedElementInfo.SynchronizationStatus.UP_TO_DATE;
|
||||||
|
break;
|
||||||
|
case OUTDATED_WS:
|
||||||
|
theStatus = SynchronizedElementInfo.SynchronizationStatus.OUTDATED_WS;
|
||||||
|
break;
|
||||||
|
case OUTDATED_REMOTE:
|
||||||
|
theStatus = SynchronizedElementInfo.SynchronizationStatus.OUTDATED_REMOTE;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return new SynchronizedElementInfo(theStatus);
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,6 @@ import java.util.Set;
|
||||||
import org.gcube.portal.wssynclibrary.shared.ItemNotSynched;
|
import org.gcube.portal.wssynclibrary.shared.ItemNotSynched;
|
||||||
import org.gcube.portal.wssynclibrary.shared.WorkspaceFolderLocked;
|
import org.gcube.portal.wssynclibrary.shared.WorkspaceFolderLocked;
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.Status;
|
import org.gcube.portal.wssynclibrary.shared.thredds.Status;
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.Sync_Status;
|
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.ThCatalogueBean;
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThCatalogueBean;
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.ThProcessDescriptor;
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThProcessDescriptor;
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.ThProcessStatus;
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThProcessStatus;
|
||||||
|
@ -28,7 +27,6 @@ import org.gcube.usecases.ws.thredds.faults.WorkspaceNotSynchedException;
|
||||||
import org.gcube.usecases.ws.thredds.model.SyncFolderDescriptor;
|
import org.gcube.usecases.ws.thredds.model.SyncFolderDescriptor;
|
||||||
import org.gcube.usecases.ws.thredds.model.SyncOperationCallBack;
|
import org.gcube.usecases.ws.thredds.model.SyncOperationCallBack;
|
||||||
import org.gcube.usecases.ws.thredds.model.SynchFolderConfiguration;
|
import org.gcube.usecases.ws.thredds.model.SynchFolderConfiguration;
|
||||||
import org.gcube.usecases.ws.thredds.model.SynchronizedElementInfo;
|
|
||||||
import org.gcube.usecases.ws.thredds.model.gui.CatalogBean;
|
import org.gcube.usecases.ws.thredds.model.gui.CatalogBean;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -366,28 +364,10 @@ public class WorkspaceThreddsSynchronize
|
||||||
ThSynchFolderConfiguration toFolderConfig = ThreddsConverter.toThSynchFolderConfiguration
|
ThSynchFolderConfiguration toFolderConfig = ThreddsConverter.toThSynchFolderConfiguration
|
||||||
.apply(syncFolderConfig);
|
.apply(syncFolderConfig);
|
||||||
|
|
||||||
return new ThSyncFolderDescriptor(itemId, null, toFolderConfig, false, null);
|
return new ThSyncFolderDescriptor(itemId, null, toFolderConfig, false, null,null);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the info.
|
|
||||||
*
|
|
||||||
* @param itemId the item id
|
|
||||||
* @return the info
|
|
||||||
* @throws Exception the exception
|
|
||||||
*/
|
|
||||||
public Sync_Status getInfo(String itemId) throws Exception {
|
|
||||||
|
|
||||||
if (itemId == null)
|
|
||||||
throw new Exception("Invalid parameter: itemId is null");
|
|
||||||
|
|
||||||
SynchronizedElementInfo infoStatus = engine.getInfo(itemId);
|
|
||||||
Sync_Status infoSyncStatus = ThreddsConverter.toSyncStatus.apply(infoStatus);
|
|
||||||
|
|
||||||
return infoSyncStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue