/*
*
* Copyright (C) 2007-2015 Licensed to the Comunes Association (CA) under
* one or more contributor license agreements (see COPYRIGHT for details).
* The CA licenses this file to you under the GNU Affero General Public
* License version 3, (the "License"); you may not use this file except in
* compliance with the License. This file is part of kune.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package cc.kune.wave.server.kspecific;
import java.net.URL;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import javax.annotation.Nonnull;
import org.waveprotocol.box.server.robots.agent.AbstractBaseRobotAgent;
import org.waveprotocol.wave.model.id.WaveId;
import org.waveprotocol.wave.model.id.WaveletId;
import org.waveprotocol.wave.model.wave.ParticipantId;
import org.waveprotocol.wave.model.waveref.WaveRef;
import cc.kune.common.shared.utils.SimpleArgCallback;
import com.google.inject.Inject;
import com.google.inject.Injector;
import com.google.inject.Singleton;
import com.google.wave.api.Gadget;
import com.google.wave.api.Participants;
import com.google.wave.api.Wavelet;
// TODO: Auto-generated Javadoc
/**
* The Class KuneAgent.
*
* @author vjrj@ourproject.org (Vicente J. Ruiz Jurado)
*/
@SuppressWarnings("serial")
@Singleton
public class KuneAgent extends AbstractBaseRobotAgent implements KuneWaveService {
// private static final Logger LOG =
// Logger.getLogger(KuneAgent.class.getName());
/** The Constant NO_TITLE. */
private static final String NO_TITLE = "";
/** The Constant ROBOT_URI. */
public static final String ROBOT_URI = AGENT_PREFIX_URI + "/kune-agent";
/**
* Instantiates a new kune agent.
*
* @param injector the injector
*/
@Inject
public KuneAgent(final Injector injector) {
super(injector);
}
// public KuneAgent(final String waveDomain, final AccountStore accountStore,
// final TokenGenerator tokenGenerator, final ServerFrontendAddressHolder
// frontendAddressHolder) {
// super(waveDomain, accountStore, tokenGenerator, frontendAddressHolder);
// }
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#addGadget(org.waveprotocol.wave.model.waveref.WaveRef, java.lang.String, java.net.URL)
*/
@Override
public void addGadget(final WaveRef waveName, final String author, final URL gadgetUrl) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#addParticipants(org.waveprotocol.wave.model.waveref.WaveRef, java.lang.String, java.lang.String, java.lang.String[])
*/
@Override
public boolean addParticipants(final WaveRef waveName, final String author, final String userWhoAdd,
final String... newParticipants) {
// TODO Auto-generated method stub
return false;
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#createWave(java.lang.String, cc.kune.common.shared.utils.SimpleArgCallback, org.waveprotocol.wave.model.wave.ParticipantId[])
*/
@Override
public WaveRef createWave(final String message, final SimpleArgCallback<WaveRef> onCreate,
final ParticipantId... participants) {
return createWave(NO_TITLE, message, onCreate, participants);
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#createWave(java.lang.String, java.lang.String, cc.kune.common.shared.utils.SimpleArgCallback, org.waveprotocol.wave.model.wave.ParticipantId[])
*/
@Override
public WaveRef createWave(@Nonnull final String title, final String message,
final SimpleArgCallback<WaveRef> onCreate, @Nonnull final ParticipantId... participantsArray) {
return createWave(title, message, onCreate, WITHOUT_GADGET, participantsArray);
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#createWave(java.lang.String, java.lang.String, cc.kune.common.shared.utils.SimpleArgCallback, java.lang.String[])
*/
@Override
public WaveRef createWave(final String title, final String message,
final SimpleArgCallback<WaveRef> onCreate, final String... participantsArray) {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#createWave(java.lang.String, java.lang.String, cc.kune.common.shared.utils.SimpleArgCallback, java.net.URL, java.util.Map, org.waveprotocol.wave.model.wave.ParticipantId[])
*/
@Override
public WaveRef createWave(final String newtitle, final String body,
final SimpleArgCallback<WaveRef> simpleArgCallback, final URL gadgetUrl,
final Map<String, String> gadgetProperties, final ParticipantId... participantsArray) {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#createWave(java.lang.String, java.lang.String, cc.kune.common.shared.utils.SimpleArgCallback, java.net.URL, org.waveprotocol.wave.model.wave.ParticipantId[])
*/
@Override
public WaveRef createWave(final String title, final String message,
final SimpleArgCallback<WaveRef> onCreate, final URL gadgetUrl,
final ParticipantId... participantsArray) {
// super.newWave(getWaveDomain(), participantsArray);
final HashSet<String> parts = new HashSet<String>();
for (final ParticipantId part : participantsArray) {
parts.add(part.getAddress());
}
// final Wavelet wave = newWave(getWaveDomain(), parts);
return null;
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#createWave(java.lang.String, java.lang.String, org.waveprotocol.wave.model.waveref.WaveRef, cc.kune.common.shared.utils.SimpleArgCallback, java.net.URL, java.util.Map, org.waveprotocol.wave.model.wave.ParticipantId[])
*/
@Override
public WaveRef createWave(final String title, final String message, final WaveRef waveIdToCopy,
final SimpleArgCallback<WaveRef> onCreate, final URL gadgetUrl,
final Map<String, String> gadgetProperties, final ParticipantId... participantsArray) {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#createWave(java.lang.String, java.lang.String, org.waveprotocol.wave.model.waveref.WaveRef, cc.kune.common.shared.utils.SimpleArgCallback, java.net.URL, org.waveprotocol.wave.model.wave.ParticipantId[])
*/
@Override
public WaveRef createWave(final String title, final String message, final WaveRef waveIdToCopy,
final SimpleArgCallback<WaveRef> onCreate, final URL gadgetUrl,
final ParticipantId... participantsArray) {
return null;
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#delParticipants(org.waveprotocol.wave.model.waveref.WaveRef, java.lang.String, java.lang.String[])
*/
@Override
public boolean delParticipants(final WaveRef waveName, final String whoDel,
final Set<String> participants) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean delParticipants(final WaveRef waveName, final String whoDel,
final String... participants) {
// TODO Auto-generated method stub
return false;
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#fetchWave(org.waveprotocol.wave.model.id.WaveId, org.waveprotocol.wave.model.id.WaveletId, java.lang.String)
*/
@Override
public Wavelet fetchWave(final WaveId waveId, final WaveletId waveletId, final String author) {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#fetchWave(org.waveprotocol.wave.model.waveref.WaveRef, java.lang.String)
*/
@Override
public Wavelet fetchWave(final WaveRef waveRef, final String author) {
// // Preconditions.checkNotNull(author);
// RobotAccountData account = null;
// final String rpcUrl = "http://" + getFrontEndAddress() + "/robot/rpc";
// try {
// account = getAccountStore().getAccount(
// ParticipantId.ofUnsafe(getRobotId() + "@" + getWaveDomain())).asRobot();
// } catch (final PersistenceException e) {
// LOG.log(Level.WARNING, "Cannot fetch account data for robot id: " +
// getRobotId(), e);
// }
// if (account != null) {
// setupOAuth(account.getId().getAddress(), account.getConsumerSecret(),
// rpcUrl);
// try {
// return super.fetchWavelet(waveRef.getWaveId(), waveRef.getWaveletId(),
// "http://"
// + getFrontEndAddress() + "/robot/rpc");
// } catch (final IOException e) {
// e.printStackTrace();
// return null;
// }
// }
return null;
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#getGadget(org.waveprotocol.wave.model.waveref.WaveRef, java.lang.String, java.net.URL)
*/
@Override
public Gadget getGadget(final WaveRef waveletName, final String author, final URL gadgetUrl) {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#getParticipants(org.waveprotocol.wave.model.waveref.WaveRef, java.lang.String)
*/
@Override
public Participants getParticipants(final WaveRef waveref, final String author) {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see org.waveprotocol.box.server.robots.agent.AbstractBaseRobotAgent#getRobotId()
*/
@Override
public String getRobotId() {
return "kune-agent";
}
/* (non-Javadoc)
* @see com.google.wave.api.AbstractRobot#getRobotName()
*/
@Override
protected String getRobotName() {
return "Kune Agent";
}
/* (non-Javadoc)
* @see org.waveprotocol.box.server.robots.agent.AbstractBaseRobotAgent#getRobotUri()
*/
@Override
public String getRobotUri() {
return ROBOT_URI;
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#getTitle(org.waveprotocol.wave.model.waveref.WaveRef, java.lang.String)
*/
@Override
public String getTitle(final WaveRef waveName, final String author) {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#isParticipant(com.google.wave.api.Wavelet, java.lang.String)
*/
@Override
public boolean isParticipant(final Wavelet wavelet, final String user) {
// TODO Auto-generated method stub
return false;
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#render(com.google.wave.api.Wavelet)
*/
@Override
public String render(final Wavelet wavelet) {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#render(org.waveprotocol.wave.model.waveref.WaveRef, java.lang.String)
*/
@Override
public String render(final WaveRef waveRef, final String author) {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#setGadgetProperty(org.waveprotocol.wave.model.waveref.WaveRef, java.lang.String, java.net.URL, java.util.Map)
*/
@Override
public void setGadgetProperty(final WaveRef waveletName, final String author, final URL gadgetUrl,
final Map<String, String> newProperties) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see cc.kune.wave.server.kspecific.KuneWaveService#setTitle(org.waveprotocol.wave.model.waveref.WaveRef, java.lang.String, java.lang.String)
*/
@Override
public void setTitle(final WaveRef waveName, final String title, final String author) {
// TODO Auto-generated method stub
}
}