Skip to content

Instantly share code, notes, and snippets.

@bluescreen303
Created November 24, 2009 20:15
Show Gist options
  • Save bluescreen303/242170 to your computer and use it in GitHub Desktop.
Save bluescreen303/242170 to your computer and use it in GitHub Desktop.
module Imports
import com.dutchcoastsoftware.tsunami.server.ClientFrontend
import com.dutchcoastsoftware.tsunami.server.ClientFrontendImpl
import org.waveprotocol.wave.examples.fedone.waveserver.WaveletListener
import org.waveprotocol.wave.examples.fedone.waveserver.WaveletProvider
import org.waveprotocol.wave.model.id.WaveId
import org.waveprotocol.wave.model.id.WaveletName
import org.waveprotocol.wave.model.wave.ParticipantId
Common = org.waveprotocol.wave.protocol.common
end
..
class ClientFrontend
# implements ClientFrontend
include Imports::ClientFrontend
include Imports::WaveletListener
def initialize(provider)
@real_frontend = Imports::ClientFrontendImpl.new(provider)
# override listener to self instead of real frontend - TODO: check why this passes nil to java
puts self
puts self.class
puts self.respond_to? :java_class
puts self.java_class
provider.setListener(self)
end
def submitRequest(waveletName, delta, listener)
puts "submitted"
@real_frontend.submitRequest(waveletName, delta, listener)
end
def openRequest(participant, waveId, waveletIdPrefixes, maximumInitialWavelets, openListener)
puts "opened"
@real_frontend.openRequest(participant, waveId, waveletIdPrefixes, maximumInitialWavelets, openListener)
end
..
def waveletUpdate(waveletName, newDeltas, resultingVersion, documentState)
puts "updated"
@real_frontend.waveletUpdate(waveletName, newDeltas, resultingVersion, documentState)
end
def waveletCommitted(waveletName, version)
puts "committed"
@real_frontend.waveletCommitted(waveletName, version)
end
..
end
ClientFrontend.add_method_signature 'initialize', [java.lang.Void::TYPE, Imports::WaveletProvider.java_class]
ClientFrontend.add_method_annotation 'initialize', com.google.inject.Inject => {}
ClientFrontend.add_method_signature 'submitRequest', [java.lang.Void::TYPE, Imports::WaveletName.java_class, Imports::Common::ProtocolWaveletDelta.java_class, Imports::ClientFrontend::SubmitResultL
ClientFrontend.add_method_signature 'openRequest', [java.lang.Void::TYPE, Imports::ParticipantId.java_class, Imports::WaveId.java_class, java.util.Set.java_class, java.lang.Integer::TYPE, Imports::
ClientFrontend.add_method_signature 'waveletUpdate', [java.lang.Void::TYPE, Imports::WaveletName.java_class, java.util.List.java_class, Imports::Common::ProtocolHashedVersion.java_class, java.util.
ClientFrontend.add_method_signature 'waveletCommitted', [java.lang.Void::TYPE, Imports::WaveletName.java_class, Imports::Common::ProtocolHashedVersion.java_class]
ClientFrontend.become_java!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment