OpenGL ES 2.0: how to rotate “around the table”

Please I have the following code:


public void onDrawFrame(GL10 gl) {
    // Clear the rendering surface.
    glClear(GL_COLOR_BUFFER_BIT);
    multiplyMM(viewProjectionMatrix, 0, projectionMatrix, 0, viewMatrix, 0);
    positionTableInScene();
    textureProgram.useProgram();
    textureProgram.setUniforms(modelViewProjectionMatrix, texture);
    table.bindData(textureProgram);
    table.draw();
    // Draw the mallets.
    positionObjectInScene(0f, mallet.height / 2f, -0.4f);
    colorProgram.useProgram();
    colorProgram.setUniforms(modelViewProjectionMatrix, 1f, 0f, 0f);
    mallet.bindData(colorProgram);
    mallet.draw();
    positionObjectInScene(0f, mallet.height / 2f, 0.4f);
    colorProgram.setUniforms(modelViewProjectionMatrix, 0f, 0f, 1f);
    // Note that we don't have to define the object data twice -- we just
    // draw the same mallet again but in a different position and with a
    // different color.
    mallet.draw();
    // Draw the puck.
    positionObjectInScene(0f, puck.height / 2f, 0f);
    colorProgram.setUniforms(modelViewProjectionMatrix, 0.8f, 0.8f, 1f);
    puck.bindData(colorProgram);
    puck.draw();
}

That shows an image of a air hokey table.

What I want to do is to “move the camera” in a circle around the table.

Therefore I do like this:

public void onDrawFrame(GL10 gl) {
    // Clear the rendering surface.
    glClear(GL_COLOR_BUFFER_BIT);
    //
    float angle=(float) (2*Math.PI);
    time=(float) (time+0.001);
    Log.e("",Float.toString(time));
    //TO ROTATE AROUND THE TABLE
    setLookAtM(viewMatrix, 0, (float)Math.sin(angle*time), (float)Math.cos(angle*time), 2.2f, 0f, 0f, 0f, 0f, 1f, 0f);
    //
    multiplyMM(viewProjectionMatrix, 0, projectionMatrix, 0, viewMatrix, 0);
    positionTableInScene();
    textureProgram.useProgram();
    textureProgram.setUniforms(modelViewProjectionMatrix, texture);
    table.bindData(textureProgram);
    table.draw();
    // Draw the mallets.
    positionObjectInScene(0f, mallet.height / 2f, -0.4f);
    colorProgram.useProgram();
    colorProgram.setUniforms(modelViewProjectionMatrix, 1f, 0f, 0f);
    mallet.bindData(colorProgram);
    mallet.draw();
    positionObjectInScene(0f, mallet.height / 2f, 0.4f);
    colorProgram.setUniforms(modelViewProjectionMatrix, 0f, 0f, 1f);
    // Note that we don't have to define the object data twice -- we just
    // draw the same mallet again but in a different position and with a
    // different color.
    mallet.draw();
    // Draw the puck.
    positionObjectInScene(0f, puck.height / 2f, 0f);
    colorProgram.setUniforms(modelViewProjectionMatrix, 0.8f, 0.8f, 1f);
    puck.bindData(colorProgram);
    puck.draw();
}

But It is not working the way I expected.
Please can somebody point me in the right direction?
Thanks
LISA