Skip to content
This repository was archived by the owner on Jul 21, 2020. It is now read-only.
This repository was archived by the owner on Jul 21, 2020. It is now read-only.

Update of title/name of channel #44

@OsteHovel

Description

@OsteHovel

I have a issue with updating the title, I can get the BeamChannel using

 Futures.addCallback(beam.use(ChannelsService.class).findOne(beamUser.channel.id), new ResponseHandler<BeamChannel>() {

but how do i update the title/name and push it back again?
Ive tried to change the name by:

beamChannel.name = "Maybe API is working?";
Futures.addCallback(beam.use(ChannelsService.class).update(beamChannel), new ResponseHandler<BeamChannel>() {

I get this error:

aug 18, 2016 1:29:55 PM com.google.common.util.concurrent.ExecutionList executeListener
SEVERE: RuntimeException while executing runnable com.google.common.util.concurrent.Futures$5@120db25 with executor com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService@73c6c8da
java.lang.NullPointerException: null value in entry: streamKey=null
at com.google.common.collect.CollectPreconditions.checkEntryNotNull(CollectPreconditions.java:33)

Code

package com.ostsoft.stream.beam;

import com.google.common.util.concurrent.Futures;
import pro.beam.api.BeamAPI;
import pro.beam.api.resource.BeamUser;
import pro.beam.api.resource.channel.BeamChannel;
import pro.beam.api.services.impl.ChannelsService;
import pro.beam.api.services.impl.UsersService;
import pro.beam.api.util.ResponseHandler;

import java.net.URI;

public class TestBeam {

    public static void main(String[] args) throws InterruptedException {
        new TestBeam("YourUsername", "YourPassword");
    }

    private BeamAPI beam;

    private TestBeam(String username, String password) {
        beam = new BeamAPI(URI.create("https://beam.pro/api/v1/"), username, password);
        Futures.addCallback(beam.use(UsersService.class).login(username, password), new ResponseHandler<BeamUser>() {
            @Override
            public void onSuccess(BeamUser beamUser) {
                Futures.addCallback(beam.use(ChannelsService.class).findOne(beamUser.channel.id), new ResponseHandler<BeamChannel>() {
                    @Override
                    public void onSuccess(BeamChannel beamChannel) {
                        beamChannel.name = "Maybe API is working?";
                        Futures.addCallback(beam.use(ChannelsService.class).update(beamChannel), new ResponseHandler<BeamChannel>() {
                            @Override
                            public void onSuccess(BeamChannel beamChannel) {
                                System.out.println(beamChannel.name);
                            }
                        });
                    }
                });
            }
        });


    }

}

Complete stacktrace

aug 18, 2016 2:25:44 PM com.google.common.util.concurrent.ExecutionList executeListener
SEVERE: RuntimeException while executing runnable com.google.common.util.concurrent.Futures$5@767c3401 with executor com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService@316aba68
java.lang.NullPointerException: null value in entry: streamKey=null
    at com.google.common.collect.CollectPreconditions.checkEntryNotNull(CollectPreconditions.java:33)
    at com.google.common.collect.ImmutableMap.entryOf(ImmutableMap.java:135)
    at com.google.common.collect.ImmutableMap$Builder.put(ImmutableMap.java:206)
    at pro.beam.api.services.impl.ChannelsService.update(ChannelsService.java:106)
    at com.ostsoft.stream.beam.TestBeam$1$1.onSuccess(TestBeam.java:30)
    at com.ostsoft.stream.beam.TestBeam$1$1.onSuccess(TestBeam.java:26)
    at com.google.common.util.concurrent.Futures$5.run(Futures.java:1231)
    at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297)
    at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)
    at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:145)
    at com.google.common.util.concurrent.ListenableFutureTask.done(ListenableFutureTask.java:91)
    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:384)
    at java.util.concurrent.FutureTask.set(FutureTask.java:233)
    at java.util.concurrent.FutureTask.run(FutureTask.java:274)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions