protected SetMultimap<MetadataEntry,DescriptionBase> loadDescriptions() throws TableNotFoundException, MarkingFunctions.Exception { if (log.isTraceEnabled()) log.trace("loadDescriptions from table: " + metadataTableName); // unlike other entries, the desc colf entries have many auths set. We'll use the fullUserAuths in the scanner instead // of the minimal set in this.auths Scanner scanner = ScannerHelper.createScanner(connector, metadataTableName, fullUserAuths); SetMultimap<MetadataEntry,DescriptionBase> descriptions = HashMultimap.create(); scanner.setRange(new Range()); scanner.fetchColumnFamily(ColumnFamilyConstants.COLF_DESC); for (Entry<Key,Value> entry : scanner) { MetadataEntry mentry = new MetadataEntry(entry.getKey()); if (log.isTraceEnabled()) { log.trace(entry.getKey()); } DescriptionBase desc = this.responseObjectFactory.getDescription(); desc.setDescription(entry.getValue().toString()); desc.setMarkings(getMarkings(entry.getKey())); descriptions.put(mentry, desc); } return Multimaps.unmodifiableSetMultimap(descriptions); }
@Override public BaseQueryResponse createResponse(List<Object> resultList) { EventQueryResponseBase response = responseObjectFactory.getEventQueryResponse(); List<EventBase> eventList = new ArrayList<>(); for (Object o : resultList) { EventBase<?,?> e = (EventBase<?,?>) o; eventList.add(e); } response.setFields(variableFieldList); response.setEvents(eventList); response.setReturnedEvents((long) eventList.size()); return (BaseQueryResponse) response; }
protected BaseQueryResponse createGroupedResponse(Multiset<Collection<FieldBase<?>>> multiset) { Map<String,String> markings = Maps.newHashMap(); EventQueryResponseBase response = this.responseObjectFactory.getEventQueryResponse(); List<EventBase> events = new ArrayList<>(); for (Collection<FieldBase<?>> entry : multiset.elementSet()) { EventBase event = this.responseObjectFactory.getEvent(); event.setMarkings(markings); List<FieldBase<?>> fields = new ArrayList(entry); FieldBase<?> counter = this.responseObjectFactory.getField(); counter.setName("COUNT"); counter.setMarkings(markings); counter.setValue(multiset.count(entry)); counter.setTimestamp(0L); fields.add(counter); event.setFields(fields); events.add(event); } response.setEvents(events); response.setTotalEvents((long) events.size()); response.setReturnedEvents((long) events.size()); return response; }
private void basicExpects(Document d, Key key, Map.Entry<Key,Value> entry) throws MarkingFunctions.Exception { // AbstractMap.SimpleEntry<Key, Document> documentEntry = new AbstractMap.SimpleEntry<>(key, mockDocument); d.put("field1", new Numeric("5", key, true)); AbstractMap.SimpleEntry<Key,Document> documentEntry = new AbstractMap.SimpleEntry<>(key, d); // Map<String,Attribute<?extends Comparable<?>>> dictionary = new HashMap<>(); // dictionary.put("field1", mockNumeric); SimpleField simpleField = new SimpleField(); SimpleEvent simpleEvent = new SimpleEvent(); PowerMock.mockStatic(DocumentSerialization.class); EasyMock.expect(DocumentSerialization.getDocumentDeserializer(mockQuery)).andReturn(mockDeserializer); EasyMock.expect(mockLogic.getTableName()).andReturn("table1"); EasyMock.expect(mockQuery.getQueryAuthorizations()).andReturn("A,B,C"); EasyMock.expect(mockQuery.findParameter("log.timing.details")).andReturn(new QueryImpl.Parameter("", "")); EasyMock.expect(mockDeserializer.apply(entry)).andReturn(documentEntry); // EasyMock.expect(mockDocument.getDictionary()).andReturn(Collections.EMPTY_MAP); // mockDocument.debugDocumentSize(key); EasyMock.expect(mockMarkingFunctions.translateFromColumnVisibility(key.getColumnVisibilityParsed())).andReturn(Collections.EMPTY_MAP); // EasyMock.expect(mockDocument.getDictionary()).andReturn(dictionary); // EasyMock.expect(mockNumeric.getData()).andReturn("5"); EasyMock.expect(mockResponseFactory.getField()).andReturn(simpleField); EasyMock.expect(mockResponseFactory.getEvent()).andReturn(simpleEvent); // EasyMock.expect(mockDocument.sizeInBytes()).andReturn(1l); }
private FieldBase makeField(String name, Map<String,String> markings, ColumnVisibility columnVisibility, Long timestamp, Object value) { FieldBase field = this.responseObjectFactory.getField(); field.setName(name); field.setMarkings(markings); field.setColumnVisibility(columnVisibility); field.setTimestamp(timestamp); field.setValue(value); return field; }
EventBase e = this.responseObjectFactory.getEvent(); e.setMarkings(markings);
Query query = crq.responseObjectFactory.getQueryImpl();
@Override public List<CacheableQueryRow> writeToCache(Object o) throws QueryException { List<CacheableQueryRow> cqoList = new ArrayList<>(); EventBase<?,?> event = (EventBase<?,?>) o; CacheableQueryRow cqo = this.responseObjectFactory.getCacheableQueryRow(); Metadata metadata = event.getMetadata(); cqo.setColFam(metadata.getDataType() + ":" + cqo.getEventId()); cqo.setDataType(metadata.getDataType()); cqo.setEventId(metadata.getInternalId()); cqo.setRow(metadata.getRow()); List<? extends FieldBase<?>> fields = event.getFields(); for (FieldBase<?> f : fields) { cqo.addColumn(f.getName(), f.getTypedValue(), f.getMarkings(), f.getColumnVisibility(), f.getTimestamp()); } cqoList.add(cqo); return cqoList; }
Map<String,String> markings = cqr.getMarkings(); EdgeBase edge = (EdgeBase) responseObjectFactory.getEdge();
Collection<MetadataFieldBase> fields = this.datawaveDataDictionary.getFields(modelName, modelTableName, metadataTableName, dataTypes, connector, auths, this.dataDictionaryConfiguration.getNumThreads()); DataDictionaryBase dataDictionary = this.responseObjectFactory.getDataDictionary(); dataDictionary.setFields(fields); return dataDictionary;
public AuthorizationsListBase listEffectiveAuthorizations() { final AuthorizationsListBase list = responseObjectFactory.getAuthorizationsList();
String row = cqr.getRow(); EventBase event = responseObjectFactory.getEvent(); Long columnTimestamp = cqr.getColumnTimestamp(columnName); Map<String,String> columnMarkings = cqr.getColumnMarkings(columnName); FieldBase field = responseObjectFactory.getField(); field.setName(columnName); field.setMarkings(columnMarkings);
private FieldBase makeField(String name, Map<String,String> markings, String columnVisibility, Long timestamp, Object value) { FieldBase field = this.responseObjectFactory.getField(); field.setName(name); field.setMarkings(markings); field.setColumnVisibility(columnVisibility); field.setTimestamp(timestamp); field.setValue(value); return field; }
EventBase event = this.responseObjectFactory.getEvent();
public Query create(String userDN, List<String> dnList, SecurityMarking marking, String queryLogicName, QueryParameters qp, MultivaluedMap<String,String> optionalQueryParameters) { Query q = responseObjectFactory.getQueryImpl(); q.initialize(userDN, dnList, queryLogicName, qp, optionalQueryParameters); q.setColumnVisibility(marking.toColumnVisibilityString()); q.setUncaughtExceptionHandler(new QueryUncaughtExceptionHandler()); Thread.currentThread().setUncaughtExceptionHandler(q.getUncaughtExceptionHandler()); // Persist the query object if required if (qp.getPersistenceMode().equals(QueryPersistence.PERSISTENT)) { log.debug("Persisting query with id: " + q.getId()); create(q); } return q; }
@Override public List<CacheableQueryRow> writeToCache(Object o) throws QueryException { List<CacheableQueryRow> cqoList = new ArrayList<>(); EventBase event = (EventBase) o; CacheableQueryRow cqo = responseObjectFactory.getCacheableQueryRow(); Metadata metadata = event.getMetadata(); cqo.setColFam(metadata.getDataType() + ":" + cqo.getEventId()); cqo.setDataType(metadata.getDataType()); cqo.setEventId(metadata.getInternalId()); cqo.setRow(metadata.getRow()); List<? extends FieldBase> fields = event.getFields(); for (FieldBase f : fields) { cqo.addColumn(f.getName(), f.getTypedValue(), f.getMarkings(), f.getColumnVisibility(), f.getTimestamp()); } // set the size in bytes using the initial event size as an approximation cqo.setSizeInBytes(event.getSizeInBytes()); cqoList.add(cqo); return cqoList; }
Value value = entry.getValue(); EdgeBase edge = (EdgeBase) this.responseObjectFactory.getEdge();
@Override public BaseQueryResponse createResponse(List<Object> resultList) { EventQueryResponseBase response = this.responseObjectFactory.getEventQueryResponse(); List<EventBase> eventList = new ArrayList<>(); for (Object o : resultList) { EventBase e = (EventBase) o; eventList.add(e); } response.setFields(this.variableFieldList); response.setEvents(eventList); response.setReturnedEvents((long) eventList.size()); return response; }
String row = cqr.getRow(); EventBase event = responseObjectFactory.getEvent(); Long columnTimestamp = cqr.getColumnTimestamp(columnName); Map<String,String> columnMarkings = cqr.getColumnMarkings(columnName); FieldBase field = responseObjectFactory.getField(); field.setName(columnName); field.setMarkings(columnMarkings);
field.setReverseIndexed(true); } else if (ColumnFamilyConstants.COLF_DESC.equals(holder)) { DescriptionBase<?> desc = this.responseObjectFactory.getDescription(); desc.setDescription(value.toString()); desc.setMarkings(getMarkings(key));