public Pair<GroupBy<?, ?, ?>, List<Object>> getGroupBy() { return _groupBy == null ? null : new Pair<>(_groupBy, _groupByValues); }
@Override public Pair<Long, Long> deserialize(final JsonElement json, final java.lang.reflect.Type type, final JsonDeserializationContext context) throws JsonParseException { final Pair<Long, Long> pairs = new Pair<>(null, null); final JsonArray array = json.getAsJsonArray(); if (array.size() != 2) { return pairs; } JsonElement element = array.get(0); if (!element.isJsonNull()) { pairs.first(element.getAsLong()); } element = array.get(1); if (!element.isJsonNull()) { pairs.second(element.getAsLong()); } return pairs; } }
public Pair<StringBuilder, Attribute[]> buildSelectSql(final Attribute[] attrs) { final StringBuilder sql = new StringBuilder("SELECT "); for (final Attribute attr : attrs) { sql.append(attr.table).append(".").append(attr.columnName).append(", "); } if (attrs.length > 0) { sql.delete(sql.length() - 2, sql.length()); } sql.append(" FROM ").append(buildTableReferences()); sql.append(" WHERE "); sql.append(buildDiscriminatorClause().first()); return new Pair<>(sql, attrs); }
@Override public ConfigKey<?> get(final String key) { final Pair<String, ConfigKey<?>> value = _allKeys.get(key); return value != null ? value.second() : null; }
@DB() protected StringBuilder createPartialSelectSql(final SearchCriteria<?> sc, final boolean whereClause, final boolean enableQueryCache) { final StringBuilder sql = new StringBuilder(enableQueryCache ? _partialQueryCacheSelectSql.first() : _partialSelectSql.first()); if (sc != null && !sc.isSelectAll()) { sql.delete(7, sql.indexOf(" FROM")); sc.getSelect(sql, 7); } if (!whereClause) { sql.delete(sql.length() - (_discriminatorClause == null ? 6 : 4), sql.length()); } return sql; }
@Override public Object intercept(final Object target, final Method method, final Object[] args, final MethodProxy methodProxy) throws Throwable { final ArrayList<Pair<ComponentMethodInterceptor, Object>> interceptors = new ArrayList<>(); for (final ComponentMethodInterceptor interceptor : getInterceptors()) { if (interceptor.needToIntercept(method)) { final Object objReturnedInInterceptStart = interceptor.interceptStart(method, target); interceptors.add(new Pair<>(interceptor, objReturnedInInterceptStart)); } } boolean success = false; try { final Object obj = methodProxy.invokeSuper(target, args); success = true; return obj; } finally { for (final Pair<ComponentMethodInterceptor, Object> interceptor : interceptors) { if (success) { interceptor.first().interceptComplete(method, target, interceptor.second()); } else { interceptor.first().interceptException(method, target, interceptor.second()); } } } } }
public Pair<StringBuilder, Attribute[]> buildSelectSql(final boolean enableQueryCache) { final StringBuilder sql = new StringBuilder("SELECT "); sql.append(enableQueryCache ? "SQL_CACHE " : ""); final ArrayList<Attribute> attrs = new ArrayList<>(); for (final Attribute attr : _attributes) { if (attr.isSelectable()) { attrs.add(attr); sql.append(attr.table).append(".").append(attr.columnName).append(", "); } } if (attrs.size() > 0) { sql.delete(sql.length() - 2, sql.length()); } sql.append(" FROM ").append(buildTableReferences()); sql.append(" WHERE "); sql.append(buildDiscriminatorClause().first()); return new Pair<>(sql, attrs.toArray(new Attribute[attrs.size()])); }
@DB() protected List<T> listBy(final SearchCriteria<T> sc, final Filter filter, final boolean enableQueryCache) { if (_removed != null) { sc.addAnd(_removed.second().field.getName(), SearchCriteria.Op.NULL); } return listIncludingRemovedBy(sc, filter, enableQueryCache); }
public String buildDistinctIdSql() { final StringBuilder sql = new StringBuilder(); return sql.append("SELECT DISTINCT id FROM ").append(buildTableReferences()).append(" WHERE ").append(buildDiscriminatorClause().first()).toString(); } }
private void log(final String msg, final Object... params) { final Pair<String, Object[]> entry = new Pair<>(msg, params); assert msg != null : "Message can not be null or else it's useless!"; _entries.add(entry); }
protected void populateConfiguration(final Date date, final Configurable configurable) { if (_configured.contains(configurable)) { return; } s_logger.debug("Retrieving keys from " + configurable.getClass().getSimpleName()); for (final ConfigKey<?> key : configurable.getConfigKeys()) { final Pair<String, ConfigKey<?>> previous = _allKeys.get(key.key()); if (previous != null && !previous.first().equals(configurable.getConfigComponentName())) { throw new CloudRuntimeException("Configurable " + configurable.getConfigComponentName() + " is adding a key that has been added before by " + previous.first() + ": " + key.toString()); } _allKeys.put(key.key(), new Pair<>(configurable.getConfigComponentName(), key)); createOrupdateConfigObject(date, configurable.getConfigComponentName(), key, null); if ((key.scope() != null) && (key.scope() != ConfigKey.Scope.Global)) { final Set<ConfigKey<?>> currentConfigs = _scopeLevelConfigsMap.get(key.scope()); currentConfigs.add(key); } } _configured.add(configurable); }
@Override @DB() public T findOneBy(final SearchCriteria<T> sc) { if (_removed != null) { sc.addAnd(_removed.second().field.getName(), SearchCriteria.Op.NULL); } return findOneIncludingRemovedBy(sc); }
public String buildCountSql() { final StringBuilder sql = new StringBuilder(); return sql.append("SELECT COUNT(*) FROM ").append(buildTableReferences()).append(" WHERE ").append(buildDiscriminatorClause().first()).toString(); }
private void writeObject(final ObjectOutputStream out) throws IOException { out.defaultWriteObject(); final int idListSize = idList.size(); out.writeInt(idListSize); for (final ExceptionProxyObject proxy : idList) { out.writeObject(proxy); } final int uuidListSize = uuidList.size(); out.writeInt(uuidListSize); for (final Pair<Class<?>, String> entry : uuidList) { out.writeObject(entry.first().getCanonicalName()); out.writeObject(entry.second()); } }
public CloudRuntimeException add(final Class<?> entity, final String uuid) { uuidList.add(new Pair<>(entity, uuid)); return this; }
@DB() protected List<T> listBy(final SearchCriteria<T> sc, final Filter filter) { if (_removed != null) { sc.addAnd(_removed.second().field.getName(), SearchCriteria.Op.NULL); } return listIncludingRemovedBy(sc, filter); }
@DB() protected StringBuilder createPartialSelectSql(final SearchCriteria<?> sc, final boolean whereClause) { final StringBuilder sql = new StringBuilder(_partialSelectSql.first()); if (sc != null && !sc.isSelectAll()) { sql.delete(7, sql.indexOf(" FROM")); sc.getSelect(sql, 7); } if (!whereClause) { sql.delete(sql.length() - (_discriminatorClause == null ? 6 : 4), sql.length()); } return sql; }
public void toSql(final StringBuilder builder) { builder.append(" GROUP BY "); for (final Pair<Func, Attribute> groupBy : _groupBys) { if (groupBy.first() != null) { String func = groupBy.first().toString(); func = func.replaceFirst("@", groupBy.second().table + "." + groupBy.second().columnName); builder.append(func); } else { builder.append(groupBy.second().table + "." + groupBy.second().columnName); } builder.append(", "); } builder.delete(builder.length() - 2, builder.length()); if (_having != null) { _having.toSql(builder); } }