use of lucee.runtime.type.Query in project Lucee by lucee.
the class TaskFileFilter method createQuery.
private Query createQuery() throws DatabaseException {
String v = "VARCHAR";
String d = "DATE";
lucee.runtime.type.Query qry = new QueryImpl(new String[] { "type", "name", "detail", "id", "lastExecution", "nextExecution", "closed", "tries", "exceptions", "triesmax" }, new String[] { v, v, "object", v, d, d, "boolean", "int", "object", "int" }, 0, "query");
return qry;
}
use of lucee.runtime.type.Query in project Lucee by lucee.
the class TaskFileFilter method getAllTasksAsQuery.
@Override
public Query getAllTasksAsQuery(int startrow, int maxrow) throws PageException {
Query query = createQuery();
// print.o(startrow+":"+maxrow);
getTasksAsQuery(query, openDirectory, startrow, maxrow);
int records = query.getRecordcount();
if (maxrow < 0)
maxrow = Integer.MAX_VALUE;
// no open tasks
if (records == 0) {
startrow -= getOpenTaskCount();
if (startrow < 1)
startrow = 1;
} else {
startrow = 1;
maxrow -= records;
}
if (maxrow > 0)
getTasksAsQuery(query, closedDirectory, startrow, maxrow);
return query;
}
use of lucee.runtime.type.Query in project Lucee by lucee.
the class JSONConverter method _serialize.
/**
* serialize a Object to his xml Format represenation
* @param object Object to serialize
* @param sb StringBuilder to write data
* @param serializeQueryByColumns
* @param done
* @throws ConverterException
*/
private void _serialize(PageContext pc, Set test, Object object, StringBuilder sb, boolean serializeQueryByColumns, Set done) throws ConverterException {
// NULL
if (object == null || object == NULL) {
sb.append(goIn());
sb.append("null");
return;
}
// String
if (object instanceof String || object instanceof StringBuilder) {
sb.append(goIn());
sb.append(StringUtil.escapeJS(object.toString(), '"', charsetEncoder));
return;
}
// Character
if (object instanceof Character) {
sb.append(goIn());
sb.append(StringUtil.escapeJS(String.valueOf(((Character) object).charValue()), '"', charsetEncoder));
return;
}
// Number
if (object instanceof Number) {
sb.append(goIn());
sb.append(Caster.toString(((Number) object)));
return;
}
// Boolean
if (object instanceof Boolean) {
sb.append(goIn());
sb.append(Caster.toString(((Boolean) object).booleanValue()));
return;
}
// DateTime
if (object instanceof DateTime) {
_serializeDateTime((DateTime) object, sb);
return;
}
// Date
if (object instanceof Date) {
_serializeDate((Date) object, sb);
return;
}
// XML
if (object instanceof Node) {
_serializeXML((Node) object, sb);
return;
}
// Timespan
if (object instanceof TimeSpan) {
_serializeTimeSpan((TimeSpan) object, sb);
return;
}
// File
if (object instanceof File) {
_serialize(pc, test, ((File) object).getAbsolutePath(), sb, serializeQueryByColumns, done);
return;
}
// String Converter
if (object instanceof ScriptConvertable) {
sb.append(((ScriptConvertable) object).serialize());
return;
}
// byte[]
if (object instanceof byte[]) {
sb.append("\"" + Base64Coder.encode((byte[]) object) + "\"");
return;
}
Object raw = LazyConverter.toRaw(object);
if (done.contains(raw)) {
sb.append(goIn());
sb.append("null");
return;
}
done.add(raw);
try {
// Component
if (object instanceof Component) {
_serializeComponent(pc, test, (Component) object, sb, serializeQueryByColumns, done);
return;
}
// UDF
if (object instanceof UDF) {
_serializeUDF(pc, test, (UDF) object, sb, serializeQueryByColumns, done);
return;
}
// Struct
if (object instanceof Struct) {
_serializeStruct(pc, test, (Struct) object, sb, serializeQueryByColumns, true, done);
return;
}
// Map
if (object instanceof Map) {
_serializeMap(pc, test, (Map) object, sb, serializeQueryByColumns, done);
return;
}
// Array
if (object instanceof Array) {
_serializeArray(pc, test, (Array) object, sb, serializeQueryByColumns, done);
return;
}
// List
if (object instanceof List) {
_serializeList(pc, test, (List) object, sb, serializeQueryByColumns, done);
return;
}
// Query
if (object instanceof Query) {
_serializeQuery(pc, test, (Query) object, sb, serializeQueryByColumns, done);
return;
}
// Native Array
if (Decision.isNativeArray(object)) {
if (object instanceof char[])
_serialize(pc, test, new String((char[]) object), sb, serializeQueryByColumns, done);
else {
_serializeArray(pc, test, ArrayUtil.toReferenceType(object, ArrayUtil.OBJECT_EMPTY), sb, serializeQueryByColumns, done);
}
return;
}
// ObjectWrap
if (object instanceof ObjectWrap) {
try {
_serialize(pc, test, ((ObjectWrap) object).getEmbededObject(), sb, serializeQueryByColumns, done);
} catch (PageException e) {
if (object instanceof JavaObject) {
_serializeClass(pc, test, ((JavaObject) object).getClazz(), null, sb, serializeQueryByColumns, done);
} else
throw new ConverterException("can't serialize Object of type [ " + Caster.toClassName(object) + " ]");
}
return;
}
_serializeClass(pc, test, object.getClass(), object, sb, serializeQueryByColumns, done);
} finally {
done.remove(raw);
}
}
use of lucee.runtime.type.Query in project Lucee by lucee.
the class RHExtension method toQuery.
public static Query toQuery(Config config, RHExtension[] children) throws PageException {
Log log = config.getLog("deploy");
Query qry = createQuery();
for (int i = 0; i < children.length; i++) {
try {
// ,i+1
children[i].populate(qry);
} catch (Throwable t) {
ExceptionUtil.rethrowIfNecessary(t);
log.error("extension", t);
}
}
return qry;
}
use of lucee.runtime.type.Query in project Lucee by lucee.
the class RHExtension method populate.
private void populate(Query qry) throws PageException, IOException, BundleException {
int row = qry.addRow();
qry.setAt(KeyConstants._id, row, getId());
qry.setAt(KeyConstants._name, row, name);
qry.setAt(KeyConstants._image, row, getImage());
qry.setAt(KeyConstants._description, row, description);
qry.setAt(KeyConstants._version, row, getVersion() == null ? null : getVersion().toString());
qry.setAt(TRIAL, row, isTrial());
qry.setAt(RELEASE_TYPE, row, toReleaseType(getReleaseType(), "all"));
// qry.setAt(JARS, row,Caster.toArray(getJars()));
qry.setAt(FLDS, row, Caster.toArray(getFlds()));
qry.setAt(TLDS, row, Caster.toArray(getTlds()));
qry.setAt(FUNCTIONS, row, Caster.toArray(getFunctions()));
qry.setAt(ARCHIVES, row, Caster.toArray(getArchives()));
qry.setAt(TAGS, row, Caster.toArray(getTags()));
qry.setAt(CONTEXTS, row, Caster.toArray(getContexts()));
qry.setAt(WEBCONTEXTS, row, Caster.toArray(getWebContexts()));
qry.setAt(CONFIG, row, Caster.toArray(getConfigs()));
qry.setAt(EVENT_GATEWAYS, row, Caster.toArray(getEventGateways()));
qry.setAt(CATEGORIES, row, Caster.toArray(getCategories()));
qry.setAt(APPLICATIONS, row, Caster.toArray(getApplications()));
qry.setAt(COMPONENTS, row, Caster.toArray(getComponents()));
qry.setAt(PLUGINS, row, Caster.toArray(getPlugins()));
qry.setAt(START_BUNDLES, row, Caster.toBoolean(getStartBundles()));
BundleInfo[] bfs = getBundles();
Query qryBundles = new QueryImpl(new Key[] { KeyConstants._name, KeyConstants._version }, bfs.length, "bundles");
for (int i = 0; i < bfs.length; i++) {
qryBundles.setAt(KeyConstants._name, i + 1, bfs[i].getSymbolicName());
if (bfs[i].getVersion() != null)
qryBundles.setAt(KeyConstants._version, i + 1, bfs[i].getVersionAsString());
}
qry.setAt(BUNDLES, row, qryBundles);
}
Aggregations