/**
*
*/
package org.korsakow.ide.ui.controller.action.media;
import org.dsrg.soenea.domain.MapperException;
import org.korsakow.domain.interf.IResource;
import org.korsakow.domain.interf.ISound;
import org.korsakow.ide.controller.AbstractMediaEditAction;
import org.korsakow.ide.resources.ResourceType;
import org.korsakow.ide.ui.ResourceEditor;
import org.korsakow.ide.ui.controller.SoundResourceEditorController;
import org.korsakow.ide.ui.controller.helper.MediaHelper;
import org.korsakow.ide.ui.resources.SoundResourceView;
public class EditSoundAction extends AbstractMediaEditAction
{
@Override
protected void initViewHelper(ResourceEditor editor, IResource resource) throws Exception
{
edit(editor, (ISound)resource);
}
private static void edit(ResourceEditor resourceEditor, ISound media) throws MapperException
{
Long id = media!=null?media.getId():null;
SoundResourceView resourceView = new SoundResourceView();
resourceEditor.setResourceView(resourceView, ResourceType.SOUND);
SoundResourceEditorController controller = new SoundResourceEditorController(resourceEditor, id); // it might be a bad sign that its unnecessary to keep this reference
resourceEditor.addSaveActionListener( id!=null? SaveSoundAction.update(resourceView, id):SaveSoundAction.insert(resourceView) );
if (media != null)
MediaHelper.initView(resourceView, media);
}
}