package art.servers.transactionsserver.model.vms;
|
|
import art.library.interop.InteropParameters;
|
import art.library.interop.InteropResponse;
|
import art.library.interop.serialization.SerializationException;
|
import art.library.model.devices.vms.general.commands.VmsGeneralCommandsPictogram;
|
import art.library.model.devices.vms.general.commands.VmsGeneralCommandsPictogramPersistence;
|
import art.servers.transactionsserver.Shared;
|
import java.sql.ResultSet;
|
import java.util.ArrayList;
|
import java.util.HashSet;
|
import java.util.List;
|
import java.util.Set;
|
import java.util.stream.Collectors;
|
|
public class ModelVmsPictogramsLibrary
|
{
|
public ModelVmsPictogramsLibrary()
|
{
|
}
|
|
public InteropResponse addVmsGeneralCommandsPictogram(InteropParameters parameters) throws SerializationException
|
{
|
String language = (String) parameters.getParameterValue("language");
|
boolean success = true;
|
|
try
|
{
|
VmsGeneralCommandsPictogram lvmsGeneralCommandsPictogram[] = parameters.getBodyContentValue(VmsGeneralCommandsPictogram[].class);
|
|
for (VmsGeneralCommandsPictogram vmsGeneralCommandsPictogram : lvmsGeneralCommandsPictogram)
|
{
|
try
|
{
|
if (vmsGeneralCommandsPictogram.folder == null){vmsGeneralCommandsPictogram.folder = "";}
|
Shared.controllerDatabase.getTimelessPersistance().get(0).updateOrAddObject(new VmsGeneralCommandsPictogramPersistence(vmsGeneralCommandsPictogram));
|
} catch (Exception ex)
|
{
|
success = false;
|
ex.printStackTrace();
|
}
|
}
|
} catch (Exception e)
|
{
|
e.printStackTrace();
|
}
|
return new InteropResponse(new Boolean(success));
|
}
|
|
public InteropResponse removeVmsGeneralCommandsPictogram(InteropParameters parameters) throws SerializationException
|
{
|
String language = (String) parameters.getParameterValue("language");
|
boolean success = true;
|
|
try
|
{
|
VmsGeneralCommandsPictogram lvmsGeneralCommandsPictogram[] = parameters.getBodyContentValue(VmsGeneralCommandsPictogram[].class);
|
|
for (VmsGeneralCommandsPictogram vmsGeneralCommandsPictogram : lvmsGeneralCommandsPictogram)
|
{
|
try
|
{
|
if (vmsGeneralCommandsPictogram.folder == null){vmsGeneralCommandsPictogram.folder = "";}
|
Shared.controllerDatabase.getTimelessPersistance().get(0).deleteObject(new VmsGeneralCommandsPictogramPersistence(vmsGeneralCommandsPictogram));
|
} catch (Exception ex)
|
{
|
success = false;
|
ex.printStackTrace();
|
}
|
}
|
} catch (Exception e)
|
{
|
e.printStackTrace();
|
}
|
return new InteropResponse(new Boolean(success));
|
}
|
|
@SuppressWarnings("unchecked")
|
public InteropResponse getVmsGeneralCommandsPictogram(InteropParameters parameters) throws SerializationException
|
{
|
String language = (String) parameters.getParameterValue("language");
|
List<VmsGeneralCommandsPictogramPersistence> lvmsGeneralCommandsPictogramPersistence = new ArrayList<>();
|
|
try
|
{
|
String folder = (parameters.hasParameter("folder") == true) ? (String) parameters.getParameterValue("folder") : null;
|
String name = (parameters.hasParameter("name") == true) ? (String) parameters.getParameterValue("name") : null;
|
String type = (parameters.hasParameter("type") == true) ? (String) parameters.getParameterValue("type") : null;
|
|
if (folder != null || name != null || type != null)
|
{
|
String where = "true";
|
if (folder != null) where += " and folder='" + folder + "'";
|
if (type != null) where += " and type='" + type + "'";
|
if (name != null) where += " and name like '%" + name + "%'";
|
|
lvmsGeneralCommandsPictogramPersistence = (List<VmsGeneralCommandsPictogramPersistence>) (List<?>) Shared.controllerDatabase.getTimelessPersistance().get(0).getObject(VmsGeneralCommandsPictogramPersistence.class.getName(), where);
|
} else
|
{
|
lvmsGeneralCommandsPictogramPersistence = (List<VmsGeneralCommandsPictogramPersistence>) (List<?>) Shared.controllerDatabase.getTimelessPersistance().get(0).getObject(VmsGeneralCommandsPictogramPersistence.class.getName());
|
}
|
List<VmsGeneralCommandsPictogram> lvmsGeneralCommandsPictogram = lvmsGeneralCommandsPictogramPersistence.stream().map(m -> m.pictogram).collect(Collectors.toList());
|
|
return new InteropResponse(lvmsGeneralCommandsPictogram.toArray(new VmsGeneralCommandsPictogram[0]));
|
} catch (Exception exception)
|
{
|
throw new SerializationException(Shared.getMessage(language, exception.getMessage()), exception);
|
}
|
}
|
|
@SuppressWarnings("unchecked")
|
public InteropResponse getVmsGeneralCommandsPictogramFolders(InteropParameters parameters) throws SerializationException
|
{
|
String language = (String) parameters.getParameterValue("language");
|
Set<String> lfolder = new HashSet<>();
|
|
try
|
{
|
String type = (parameters.hasParameter("type") == true) ? (String) parameters.getParameterValue("type") : null;
|
if (type != null)
|
{
|
List<VmsGeneralCommandsPictogramPersistence> lvmsGeneralCommandsPictogramPersistence
|
= (List<VmsGeneralCommandsPictogramPersistence>) (List<?>) Shared.controllerDatabase.getTimelessPersistance().get(0).getObject(VmsGeneralCommandsPictogramPersistence.class.getName(), "type='" + type + "'");
|
|
lfolder = lvmsGeneralCommandsPictogramPersistence.stream().map(m -> m.pictogram.folder).collect(Collectors.toSet());
|
}
|
return new InteropResponse(lfolder.toArray(new String[0]));
|
} catch (Exception exception)
|
{
|
throw new SerializationException(Shared.getMessage(language, exception.getMessage()), exception);
|
}
|
}
|
|
@SuppressWarnings("unchecked")
|
public InteropResponse renameVmsGeneralCommandsPictogramFolder(InteropParameters parameters) throws SerializationException
|
{
|
String language = (String) parameters.getParameterValue("language");
|
boolean success = true;
|
try
|
{
|
String selectedPath = ((parameters.hasParameter("selectedPath") == true) && !((String) parameters.getParameterValue("selectedPath")).isEmpty())
|
? (String) parameters.getParameterValue("selectedPath") : "";
|
String newPath = ((parameters.hasParameter("newPath") == true) && !((String) parameters.getParameterValue("newPath")).isEmpty())
|
? (String) parameters.getParameterValue("newPath") : "";
|
String type = (parameters.hasParameter("type") == true) ? (String) parameters.getParameterValue("type") : null;
|
|
String where = "(folder = '" + selectedPath + "' or folder like '" + selectedPath + "/%') and type='" + type + "'";
|
@SuppressWarnings("unchecked")
|
List<VmsGeneralCommandsPictogramPersistence> lvmsGeneralCommandsPictogramPersistence = (List<VmsGeneralCommandsPictogramPersistence>) (List<?>) Shared.controllerDatabase.getTimelessPersistance().get(0).getObject(VmsGeneralCommandsPictogramPersistence.class.getName(), where);
|
List<VmsGeneralCommandsPictogram> lvmsGeneralCommandsPictogram = lvmsGeneralCommandsPictogramPersistence.stream().map(m -> m.pictogram).collect(Collectors.toList());
|
|
for (VmsGeneralCommandsPictogram vmsGeneralCommandsPictogram : lvmsGeneralCommandsPictogram)
|
{
|
try
|
{
|
Shared.controllerDatabase.getTimelessPersistance().get(0).deleteObject(new VmsGeneralCommandsPictogramPersistence(vmsGeneralCommandsPictogram));
|
vmsGeneralCommandsPictogram.folder = vmsGeneralCommandsPictogram.folder.replace(selectedPath, newPath);
|
Shared.controllerDatabase.getTimelessPersistance().get(0).addObject_asynchronous(new VmsGeneralCommandsPictogramPersistence(vmsGeneralCommandsPictogram));
|
} catch (Exception e)
|
{
|
success = false;
|
}
|
}
|
|
return new InteropResponse(success);
|
} catch (Exception exception)
|
{
|
throw new SerializationException(Shared.getMessage(language, exception.getMessage()), exception);
|
}
|
}
|
|
public InteropResponse getVmsGeneralCommandsPictogramTypes(InteropParameters parameters) throws SerializationException
|
{
|
String language = (String) parameters.getParameterValue("language");
|
List<String> ltype = new ArrayList<>();
|
|
try
|
{
|
ResultSet res = Shared.controllerDatabase.getTimelessPersistance().get(0).executeQuery("SELECT distinct(type) FROM pictogramlibrary");
|
while (res.next())
|
{
|
ltype.add(res.getString(1));
|
}
|
return new InteropResponse(ltype.toArray(new String[0]));
|
} catch (Exception exception)
|
{
|
throw new SerializationException(Shared.getMessage(language, exception.getMessage()), exception);
|
}
|
}
|
}
|