@Override public Window<IN,Long> next() { currentWindowStartTime = System.currentTimeMillis(); final ArrayList<IN> currentWindow = new ArrayList<IN>(); while(inner.hasNext()){ if(System.currentTimeMillis() - currentWindowStartTime >= RealTimeWindowFunction.this.waitTime ){ break; } IN next = inner.next(); currentWindow.add(next); } // RealTimeWindowFunction.this.currentWindowStartTime = System.currentTimeMillis(); return new Window<IN,Long>(currentWindowStartTime, currentWindow); } };
@Override public void run() { stream.parallelForEach(new Operation<Status>() { @Override public void perform(Status object) { final Stream<URL> imageUrlStream = new CollectionStream<URL>(new TwitterURLExtractor() .apply(object)) .map(new ImageSiteURLExtractor(false, true)); // Get images final Stream<MBFImage> imageStream = imageUrlStream.map(ImageFromURL.MBFIMAGE_EXTRACTOR); final boolean[] foundImages = { false }; imageStream.forEach(new Operation<MBFImage>() { @Override public void perform(MBFImage image) { buffer.offer(image); foundImages[0] = true; } }); System.out.println(foundImages[0]); } }); } }).start();
final Stream<URL> urlStream = stream.map(new TwitterURLExtractor()); final Stream<URL> imageUrlStream = urlStream.map(new ImageSiteURLExtractor(false)); final Stream<MBFImage> imageStream = imageUrlStream.map(ImageFromURL.MBFIMAGE_EXTRACTOR); imageStream.map(new MultiFunction<MBFImage, MBFImage>() { HaarCascadeDetector detector = HaarCascadeDetector.BuiltInCascade.frontalface_default.load(); }).forEach(new Operation<MBFImage>() { @Override public void perform(MBFImage image) {
.map(new WindowFunction<Status, USMFStatus, Long>(new TwitterStatusAsUSMFStatus())) .map(new WindowFunction<USMFStatus, USMFStatus, Long>(new TwitterPreprocessingFunction( languageDetectionMode, tokeniseMode, stopwordMode))) .map(new WindowFilter<USMFStatus, Long>(new TwitterPredicateFunction(new LanguageFilter("en"))));
.forEach(new Operation<Context>() {
@Override public Context call() throws Exception { return stream.next(); } }
.map(new WindowFunction<Status,USMFStatus,Long>(new TwitterStatusAsUSMFStatus())) .map(new WindowFunction<USMFStatus,USMFStatus,Long>(new TwitterPreprocessingFunction(languageDetectionMode,tokeniseMode,stopwordMode))) .map(new WindowFilter<USMFStatus,Long>(new TwitterPredicateFunction(new LanguageFilter("en"))));
.forEach(new Operation<Context>() {
@Override public boolean hasNext() { return inner.hasNext(); } @Override
@Override public T next() { final T toRet = this.streams.get(currentStream).next(); nextStream(); return toRet; }