From c62ff958823168d7622b397609220db8b67fa731 Mon Sep 17 00:00:00 2001 From: Zippy Date: Sun, 27 Dec 2009 13:46:05 +0100 Subject: revert doofer commit Signed-off-by: Zippy --- src/YalpAuth/YalpPGSqlAuth/DatabaseDefines.java | 130 +- src/YalpClients/SwtClient/GUI/GUI.java | 4208 ++++++++++---------- src/YalpClients/SwtClient/GUI/InitGUI.java | 116 +- src/YalpClients/SwtClient/GUI/LoadDialog.java | 220 +- .../SwtClient/GUI/SWTResourceManager.java | 290 +- src/YalpClients/SwtClient/GUI/SortListener.java | 126 +- src/YalpClients/SwtClient/GUI/StartDialog.java | 472 +-- src/YalpClients/SwtClient/Model.java | 1518 +++---- src/YalpClients/SwtClient/SwtClient.java | 122 +- src/YalpInputs/YalpPGSqlInput/DatabaseDefines.java | 130 +- src/YalpServer/ServerControlImpl.java | 904 ++--- src/YalpServer/ServerSettings.java | 136 +- src/YalpServer/YalpServer.java | 80 +- 13 files changed, 4226 insertions(+), 4226 deletions(-) (limited to 'src') diff --git a/src/YalpAuth/YalpPGSqlAuth/DatabaseDefines.java b/src/YalpAuth/YalpPGSqlAuth/DatabaseDefines.java index 5ff92c7..70c00d7 100644 --- a/src/YalpAuth/YalpPGSqlAuth/DatabaseDefines.java +++ b/src/YalpAuth/YalpPGSqlAuth/DatabaseDefines.java @@ -1,65 +1,65 @@ -/* - * Copyright (c) 2006 Manuel Traut and Volker Dahnke - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: Manuel Traut and Volker Dahnke - */ -package YalpAuth.YalpPGSqlAuth; - -/* - * Class DatabaseDefines - * - * - * - * @author Manuel Traut - * - * @version 0.1 28-08-2008
- * - */ - -public class DatabaseDefines { - - public String dbConnection="jdbc:postgresql://10.0.3.20:5432/yalp_user"; - public String dbUser="yalp"; - public String dbPasswd="huhu"; - -/* - * set string for dbConnection - * @param dbConnection - * "jdbc:postgresql://:/"; - */ - public void setDBConnection(String dbConnection){ - this.dbConnection = dbConnection; - } - -/* - * set userName for db Edit - * @param dbUser - */ - public void setDBUser(String dbUser){ - this.dbUser = dbUser; - } - -/* - * set string for db Password - * @param DBPasswd - */ - public void setDBPasswd(String DBPasswd){ - this.dbPasswd = DBPasswd; - } - - public String getDBConnection(){ - return this.dbConnection; - } - - public String getDBUser(){ - return this.dbUser; - } - - public String getDBPasswd(){ - return this.dbPasswd; - } -} +/* + * Copyright (c) 2006 Manuel Traut and Volker Dahnke + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: Manuel Traut and Volker Dahnke + */ +package YalpAuth.YalpPGSqlAuth; + +/* + * Class DatabaseDefines + * + * + * + * @author Manuel Traut + * + * @version 0.1 28-08-2008
+ * + */ + +public class DatabaseDefines { + + public String dbConnection="jdbc:postgresql://10.0.3.20:5432/yalp_user"; + public String dbUser="yalp"; + public String dbPasswd="huhu"; + +/* + * set string for dbConnection + * @param dbConnection + * "jdbc:postgresql://:/"; + */ + public void setDBConnection(String dbConnection){ + this.dbConnection = dbConnection; + } + +/* + * set userName for db Edit + * @param dbUser + */ + public void setDBUser(String dbUser){ + this.dbUser = dbUser; + } + +/* + * set string for db Password + * @param DBPasswd + */ + public void setDBPasswd(String DBPasswd){ + this.dbPasswd = DBPasswd; + } + + public String getDBConnection(){ + return this.dbConnection; + } + + public String getDBUser(){ + return this.dbUser; + } + + public String getDBPasswd(){ + return this.dbPasswd; + } +} diff --git a/src/YalpClients/SwtClient/GUI/GUI.java b/src/YalpClients/SwtClient/GUI/GUI.java index 475f09b..ab9db71 100644 --- a/src/YalpClients/SwtClient/GUI/GUI.java +++ b/src/YalpClients/SwtClient/GUI/GUI.java @@ -1,2104 +1,2104 @@ -/* - * Copyright (c) 2006 Manuel Traut and Volker Dahnke - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: Manuel Traut and Volker Dahnke - */ - -package YalpClients.SwtClient.GUI; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.widgets.*; -import org.eclipse.swt.events.*; -import java.util.*; - -import YalpInterfaces.*; -import YalpClients.SwtClient.*; - -/* - * - * Class GUI - * - * - * - * @author Volker Dahnke / Manuel Traut - * - * @version 1 02-04-2006
- * - */ -public class GUI extends org.eclipse.swt.widgets.Composite { - - public Model model; - public Composite resultComposite; - public Composite playlistComposite; - public Composite bottemComposite; - public Table resultTable1; - public Table resultTable2; - public Composite composite1; - public Composite changeComposite; - public Table UserTable; - public Composite composite3; - - private AccessRights userKind; - private StyledText styledText1; - private CTabFolder cTabFolder1; - private CTabItem tab1; - private Composite container1; - private Composite topComposite; - private Group find; - private Group logo; - private CTabItem tab2; - private Composite container2; - private Group group1; - private Group group2; - private CLabel authorLabel; - private CLabel titleLabel; - private CLabel streamLabel2; - private CLabel actualStreamLabel2; - private CLabel actualStreamLabel1; - private CLabel streamLabel1; - private CLabel data2; - private CLabel data1; - private Button shutdown; - private TableColumn ip; - private TableColumn userName; - public Table iptable; - private Composite composite4; - - private Button submitButton; - private CLabel adminAddLabel; - private CLabel passwdAddLable; - private CLabel usernameAddLable; - private CLabel realnameAddLabel; - private CCombo adminAdd; - private Text realnameAdd; - private Text passwdAdd; - private Text usernameAdd; - private Group tab3group5; - private Button next; - private Button stop; - private Button play; - private CLabel cLabel2; - private Button save; - private Text userTableId; - private Text passwd; - private Text username; - private Text userTableName; - private CLabel adminLabel; - private CCombo adminCombo; - private CLabel nameLable; - private CLabel passwdLable; - private CLabel usernameLable; - private CLabel idLable; - private Group tab3group4; - private Button delete; - private Button add1; - private Group tab3Group3; - private Group tab3Group2; - private Group tab3Group1; - private Composite container3; - private Button deleteButton; - private Button addButton; - private StyledText status; - private Button saveButton; - private Text id; - private CLabel idLabel; - private CLabel cLabel1; - private CLabel nameLabel; - private CLabel pathLabel; - private CLabel lastEditLable; - private CLabel ownerIdLabel; - private CLabel resolutionLabel; - private CLabel vBitrateLabel; - private CLabel aBitrateLabel; - private CLabel durationLabel; - private CLabel yearLabel; - private CLabel categoryLabel; - private CLabel albumLabel; - private CCombo type; - private Text name; - private Text path; - private Text lastEdit; - private Text ownerId; - private Text resolution; - private Text vBitrate; - private Text aBitrate; - private Text duration; - private Text year; - private Text category; - private Text album; - private Text author; - private Text title; - private Composite composite2; - private Table playlistTable; - private Button add2; - private Button del; - private Boolean isNotPlaying=true; - private Boolean paused =true; - private CTabItem tab3; - private Composite parent; - private Display display; - final Image pauseImage=new Image(this.getDisplay(),"img/pause.gif"); - final Image playImage=new Image(this.getDisplay(),"img/play.gif"); - final Image forwardImage=new Image(this.getDisplay(),"img/forward.gif"); - { - //Register as a resource user - SWTResourceManager will - //handle the obtaining and disposing of resources - SWTResourceManager.registerResourceUser(this); - } - - public GUI( Composite parent, Display display, Model model, - AccessRights userKind, int style ) { - - super(parent, style); - - this.parent = parent; - this.display = display; - this.model = model; - this.userKind = userKind; - - initGUI(); - } - - private void initGUI() { - try { - this.setSize(800, 600); - this.setBackground(SWTResourceManager.getColor(192, 192, 192)); - GridLayout thisLayout = new GridLayout(1, true); - thisLayout.marginWidth = 5; - thisLayout.marginHeight = 5; - thisLayout.numColumns = 1; - thisLayout.makeColumnsEqualWidth = true; - thisLayout.horizontalSpacing = 5; - thisLayout.verticalSpacing = 5; - this.setLayout(thisLayout); - - { - if (this.userKind.value() == AccessRights._USER){ - cTabFolder1 = new CTabFolder(this, SWT.NONE); - GridData cTabFolder1LData = new GridData(); - cTabFolder1LData.widthHint = 787; - cTabFolder1LData.heightHint = 568; - cTabFolder1.setLayoutData(cTabFolder1LData); - { - tab1 = new CTabItem(cTabFolder1,SWT.NONE); - tab1.setText("Find"); - { - container1 = new Composite(cTabFolder1,SWT.NONE); - tab1.setControl(container1); - RowLayout container1Layout = new RowLayout(org.eclipse.swt.SWT.HORIZONTAL); - container1.setLayout(container1Layout); - { - topComposite = new Composite(container1,SWT.NONE); - GridLayout topCompositeLayout = new GridLayout(); - topCompositeLayout.makeColumnsEqualWidth = true; - topCompositeLayout.numColumns = 2; - topCompositeLayout.verticalSpacing = 2; - topCompositeLayout.horizontalSpacing = 5; - topComposite.setLayout(topCompositeLayout); - RowData topCompositeLData = new RowData(); - topCompositeLData.width = 783; - topCompositeLData.height = 566; - topComposite.setLayoutData(topCompositeLData); - { - find = new Group(topComposite,SWT.NONE); - this.find(find,resultComposite,playlistComposite,bottemComposite,1); - } - { - logo = new Group(topComposite,SWT.NONE); - this.logo(logo); - } - { - resultComposite = new Composite(topComposite,SWT.NONE); - resultTable1 = new Table(resultComposite,SWT.MULTI|SWT.FULL_SELECTION); - resultTable1.setToolTipText("Medias"); - resultTable1.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent evt) { - add2.setEnabled(true); - } - }); - this.resultTable(resultComposite,resultTable1,1); - } - { - playlistComposite = new Composite(topComposite,SWT.NONE); - FormLayout playlistCompositeLayout = new FormLayout(); - playlistComposite.setLayout(playlistCompositeLayout); - GridData playlistCompositeLData = new GridData(); - playlistCompositeLData.heightHint = 390; - playlistCompositeLData.horizontalAlignment = GridData.FILL; - playlistComposite.setLayoutData(playlistCompositeLData); - playlistComposite.setVisible(false); - playlistComposite.setSize(238, 390); - { - next = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); - FormData nextLData = new FormData(); - nextLData.width = 45; - nextLData.height = 21; - nextLData.left = new FormAttachment(0, 1000, 185); - nextLData.top = new FormAttachment(0, 1000, 365); - next.setLayoutData(nextLData); - next.setEnabled(false); - next.setFont(SWTResourceManager.getFont("Times", 8, 1, false, false)); - next.setToolTipText("play next Title"); - next.setImage(forwardImage); - next.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent evt) { - model.next(); - } - }); - } - { - stop = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); - FormData stopLData = new FormData(); - stopLData.width = 35; - stopLData.height = 21; - stopLData.left = new FormAttachment(0, 1000, 91); - stopLData.top = new FormAttachment(0, 1000, 365); - stop.setLayoutData(stopLData); - stop.setImage(new Image(this.getDisplay(),"img/stop.gif")); - stop.setEnabled(false); - stop.setToolTipText("stop"); - stop.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent evt) { - if (model.stop()){ - play.setEnabled(true); - next.setEnabled(false); - stop.setEnabled(false); - play.setImage(playImage); - play.setToolTipText("play"); - isNotPlaying=true; - } - - } - }); - } - { - play = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); - FormData playLData = new FormData(); - playLData.width = 35; - playLData.height = 21; - playLData.left = new FormAttachment(0, 1000, 50); - playLData.top = new FormAttachment(0, 1000, 365); - play.setLayoutData(playLData); - play.setImage(playImage); - play.setEnabled(false); - play.setToolTipText("play"); - play.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent evt) { - stop.setEnabled(true); - if (playlistTable.getItemCount()>1)next.setEnabled(true); - del.setEnabled(false); - //add2.setEnabled(false); - if (isNotPlaying){ - play.setCursor(SWTResourceManager.getCursor(SWT.CURSOR_WAIT)); - if(model.play()){ - play.setImage(pauseImage); - play.setToolTipText("pause"); - play.setCursor(SWTResourceManager.getCursor(SWT.NONE)); - isNotPlaying= false; - }else; - }else{ - if(model.pause()){ - if (paused){ - play.setImage(playImage); - play.setToolTipText("play"); - paused=false; - }else{ - play.setImage(pauseImage); - play.setToolTipText("pause"); - paused=true; - } - }else; - } - - } - }); - } - { - add2 = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); - FormData addLData = new FormData(); - addLData.width = 25; - addLData.height = 21; - addLData.left = new FormAttachment(0, 1000, 2); - addLData.top = new FormAttachment(0, 1000, 160); - add2.setLayoutData(addLData); - add2.setText(">>"); - add2.setEnabled(false); - add2.setToolTipText("add to Playlist"); - add2.setFont(SWTResourceManager.getFont("Times", 8, 1, false, false)); - add2.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent evt) { - if (System.getProperty("os.name")== "Mac OS X"){ - for (int i=resultTable1.getSelectionCount()-1;i>=0;i--){ - int id=new Integer(resultTable1.getSelection()[i].getText(0)).intValue(); - System.out.println(resultTable1.getSelection()[i].getText(1)); - model.add2PlayList(id); - } - }else{ - for (int i=0;i playlist=model.getToPlaylist(); - for(int i=0;i1&& !isNotPlaying)next.setEnabled(true); - } - }); - } - { - del = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); - FormData delLData = new FormData(); - delLData.width = 25; - delLData.height = 21; - delLData.left = new FormAttachment(0, 1000, 2); - delLData.top = new FormAttachment(0, 1000, 200); - del.setLayoutData(delLData); - del.setEnabled(false); - del.setToolTipText("del from Playlist"); - del.setText("<<"); - del.setFont(SWTResourceManager.getFont("Times", 8, 1, false, false)); - del.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent evt) { - for (int i=playlistTable.getSelectionCount()-1;i>=0;i--){ - int pos = playlistTable.getSelectionIndices()[i]; - model.removeFromPlayList(pos); - } - - del.setEnabled(false); - while(playlistTable.getItemCount()!=0){ - playlistTable.remove(0); - } - ArrayList playlist=model.getToPlaylist(); - for(int i=0;i resultList = model.getUser(); - for (int i = 0; i < resultList.size(); i++) { - TableItem item; - YalpUser result = resultList.get(i); - item = new TableItem(UserTable,SWT.NONE); - item.setText(0,new Integer(result.id).toString()); - item.setText(1,result.name); - // item.setText(2,result.password); - item.setText(3,result.realName); - item.setText(4,model.accessRightsName(result.level)); - } - tab3group4.setVisible(false); - } - }); - } - { - add1 = new Button(tab3Group3,SWT.PUSH | SWT.CENTER); - add1.setText("Add"); - FormData addLData = new FormData(); - addLData.width = 45; - addLData.height = 21; - addLData.left = new FormAttachment(0, 1000, 7); - addLData.top = new FormAttachment(0, 1000, 254); - add1.setLayoutData(addLData); - add1.setToolTipText("add new User "); - add1.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent evt) { - tab3group5.setVisible(true); - } - }); - } - { - UserTable = new Table(tab3Group3,SWT.SINGLE|SWT.FULL_SELECTION); - FormData UserTableLData = new FormData(); - UserTableLData.width = 467; - UserTableLData.height = 224; - UserTableLData.left = new FormAttachment(11, 1000, 0); - UserTableLData.right = new FormAttachment(988, 1000, 0); - UserTableLData.top = new FormAttachment(19, 1000, 0); - UserTableLData.bottom = new FormAttachment(864, 1000, 0); - UserTable.setLayoutData(UserTableLData); - UserTable.setHeaderVisible(true); - UserTable.setToolTipText("registrated User"); - UserTable.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent evt) { - userTableId.setText(UserTable.getSelection()[0].getText(0)); - username.setText(UserTable.getSelection()[0].getText(1)); - passwd.setText(UserTable.getSelection()[0].getText(2)); - userTableName.setText(UserTable.getSelection()[0].getText(3)); - adminCombo.setText(UserTable.getSelection()[0].getText(4)); - tab3group4.setVisible(true); - } - }); - { - TableColumn id = new TableColumn(UserTable,SWT.BEGINNING); - id.setText("ID"); - id.setWidth(45); - id.setMoveable(true); - id.addListener(SWT.Selection, new SortListener(this,UserTable,0,5)); - TableColumn userName = new TableColumn(UserTable,SWT.BEGINNING); - userName.setMoveable(true); - userName.setText("Username"); - userName.setWidth(120); - userName.addListener(SWT.Selection, new SortListener(this,UserTable,1,5)); - TableColumn passwd = new TableColumn(UserTable,SWT.BEGINNING); - passwd.setMoveable(true); - passwd.setText("Password"); - passwd.setWidth(120); - passwd.addListener(SWT.Selection, new SortListener(this,UserTable,2,5)); - TableColumn name = new TableColumn(UserTable,SWT.BEGINNING); - name.setMoveable(true); - name.setText("Name"); - name.setWidth(130); - name.addListener(SWT.Selection, new SortListener(this,UserTable,3,5)); - TableColumn admin = new TableColumn(UserTable,SWT.BEGINNING); - admin.setMoveable(true); - admin.setText("Admin"); - admin.setWidth(74); - admin.addListener(SWT.Selection, new SortListener(this,UserTable,4,5)); - //TableColumn huhu=new TableColumn(UserTable,SWT.BEGINNING); - //huhu.dispose(); - ArrayList resultList = model.getUser(); - for (int i = 0; i < resultList.size(); i++) { - TableItem item; - YalpUser result = resultList.get(i); - item = new TableItem(UserTable,SWT.NONE); - item.setText(0,new Integer(result.id).toString()); - item.setText(1,result.name); - //item.setText(2,result.passwd); - item.setText(3,result.realName); - item.setText(4,model.accessRightsName(result.level)); - } - } - } - } - { - tab3group4 = new Group(container3,SWT.NONE); - FormLayout tab3group4Layout = new FormLayout(); - tab3group4.setLayout(tab3group4Layout); - tab3group4.setText("Edit User"); - GridData tab3group4LData = new GridData(); - tab3group4LData.widthHint = 256; - tab3group4LData.heightHint = 284; - tab3group4.setLayoutData(tab3group4LData); - tab3group4.setVisible(false); - { - save = new Button(tab3group4,SWT.PUSH | SWT.CENTER); - save.setText("save"); - FormData saveLData = new FormData(); - saveLData.width = 45; - saveLData.height = 21; - saveLData.left = new FormAttachment(0, 1000, 42); - saveLData.top = new FormAttachment(0, 1000, 157); - save.setLayoutData(saveLData); - save.setToolTipText("save Changes"); - save.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent evt) { - YalpUser toChange = new YalpUser(); - toChange.id = new Integer(userTableId.getText()).intValue(); - toChange.name = username.getText(); - model.changeUser(toChange, passwd.getText(), Action.EDIT); - while(UserTable.getItemCount()!=0){ - UserTable.remove(0); - } - ArrayList resultList = model.getUser(); - for (int i = 0; i < resultList.size(); i++) { - TableItem item; - YalpUser result = resultList.get(i); - item = new TableItem(UserTable,SWT.NONE); - item.setText(0,new Integer(result.id).toString()); - item.setText(1,result.name); - //item.setText(2,result.passwd); - item.setText(3,result.realName); - item.setText(4,model.accessRightsName(result.level)); - } - tab3group4.setVisible(false); - } - }); - } - { - userTableName = new Text(tab3group4,SWT.NONE); - FormData text2LData = new FormData(); - text2LData.width = 94; - text2LData.height = 14; - text2LData.left = new FormAttachment(0, 1000, 117); - text2LData.top = new FormAttachment(0, 1000, 112); - userTableName .setLayoutData(text2LData); - } - { - passwd = new Text(tab3group4,SWT.NONE); - FormData passwdLData = new FormData(); - passwdLData.width = 94; - passwdLData.height = 14; - passwdLData.left = new FormAttachment(0, 1000, 117); - passwdLData.top = new FormAttachment(0, 1000, 92); - passwd.setLayoutData(passwdLData); - } - { - username = new Text(tab3group4,SWT.NONE); - FormData usernameLData = new FormData(); - usernameLData.width = 94; - usernameLData.height = 14; - usernameLData.left = new FormAttachment(0, 1000, 117); - usernameLData.top = new FormAttachment(0, 1000, 72); - username.setLayoutData(usernameLData); - } - { - userTableId = new Text(tab3group4,SWT.NONE); - FormData text1LData = new FormData(); - text1LData.width = 94; - text1LData.height = 14; - text1LData.left = new FormAttachment(0, 1000, 117); - text1LData.top = new FormAttachment(0, 1000, 52); - userTableId.setLayoutData(text1LData); - userTableId.setEditable(false); - } - { - adminLabel = new CLabel(tab3group4,SWT.NONE); - adminLabel.setText("Admin:"); - FormData adminLabelLData = new FormData(); - adminLabelLData.width = 42; - adminLabelLData.height = 21; - adminLabelLData.left = new FormAttachment(0, 1000, 27); - adminLabelLData.top = new FormAttachment(0, 1000, 127); - adminLabel.setLayoutData(adminLabelLData); - } - { - idLable = new CLabel(tab3group4,SWT.NONE); - idLable.setText("Id:"); - FormData idLableLData = new FormData(); - idLableLData.width = 20; - idLableLData.height = 21; - idLableLData.left = new FormAttachment(107, 1000, 0); - idLableLData.right = new FormAttachment(185, 1000, 0); - idLableLData.top = new FormAttachment(167, 1000, 0); - idLableLData.bottom = new FormAttachment(241, 1000, 0); - idLable.setLayoutData(idLableLData); - } - { - usernameLable = new CLabel(tab3group4,SWT.NONE); - usernameLable.setText("Username:"); - FormData usernameLableLData = new FormData(); - usernameLableLData.width = 58; - usernameLableLData.height = 21; - usernameLableLData.left = new FormAttachment(107, 1000, 0); - usernameLableLData.right = new FormAttachment(333, 1000, 0); - usernameLableLData.top = new FormAttachment(237, 1000, 0); - usernameLableLData.bottom = new FormAttachment(311, 1000, 0); - usernameLable.setLayoutData(usernameLableLData); - } - { - passwdLable = new CLabel(tab3group4,SWT.NONE); - passwdLable.setText("Password:"); - FormData passwdLableLData = new FormData(); - passwdLableLData.width = 56; - passwdLableLData.height = 21; - passwdLableLData.left = new FormAttachment(107, 1000, 0); - passwdLableLData.right = new FormAttachment(326, 1000, 0); - passwdLableLData.top = new FormAttachment(308, 1000, 0); - passwdLableLData.bottom = new FormAttachment(382, 1000, 0); - passwdLable.setLayoutData(passwdLableLData); - } - { - nameLable = new CLabel(tab3group4,SWT.NONE); - nameLable.setText("Name:"); - FormData nameLableLData = new FormData(); - nameLableLData.width = 37; - nameLableLData.height = 21; - nameLableLData.left = new FormAttachment(107, 1000, 0); - nameLableLData.right = new FormAttachment(251, 1000, 0); - nameLableLData.top = new FormAttachment(378, 1000, 0); - nameLableLData.bottom = new FormAttachment(452, 1000, 0); - nameLable.setLayoutData(nameLableLData); - } - { - adminCombo = new CCombo(tab3group4,SWT.NONE); - FormData adminComboLData = new FormData(); - adminComboLData.width = 81; - adminComboLData.height = 16; - adminComboLData.left = new FormAttachment(458, 1000, 0); - adminComboLData.right = new FormAttachment(849, 1000, 0); - adminComboLData.top = new FormAttachment(466, 1000, 0); - adminComboLData.bottom = new FormAttachment(522, 1000, 0); - adminCombo.setLayoutData(adminComboLData); - { - adminCombo.add("true"); - adminCombo.add("false"); - } - } - } - tab3group5 = new Group(container3,SWT.NONE); - FormLayout tab3group5Layout = new FormLayout(); - tab3group5.setLayout(tab3group5Layout); - GridData tab3group5LData = new GridData(); - tab3group5LData.widthHint = 500; - tab3group5LData.heightHint = 99; - tab3group5.setLayoutData(tab3group5LData); - tab3group5.setText("Add User"); - tab3group5.setVisible(false); - { - submitButton = new Button(tab3group5,SWT.PUSH | SWT.CENTER); - submitButton.setText("Submit"); - FormData submitButtonLData = new FormData(); - submitButtonLData.width = 50; - submitButtonLData.height = 21; - submitButtonLData.left = new FormAttachment(0, 1000, 382); - submitButtonLData.top = new FormAttachment(0, 1000, 52); - submitButton.setLayoutData(submitButtonLData); - submitButton.setToolTipText("add User"); - submitButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent evt) { - System.out.println("submit"); - YalpUser toChange = new YalpUser(); - toChange.id = 100; - toChange.name = usernameAdd.getText(); - toChange.realName = realnameAdd.getText(); - model.changeUser(toChange, passwdAdd.getText(), Action.CREATE); - while(UserTable.getItemCount()!=0){ - UserTable.remove(0); - } - ArrayList resultList = model.getUser(); - for (int i = 0; i < resultList.size(); i++) { - TableItem item; - YalpUser result = resultList.get(i); - item = new TableItem(UserTable,SWT.NONE); - item.setText(0,new Integer(result.id).toString()); - item.setText(1,result.name); - //item.setText(2,result.passwd); - item.setText(3,result.realName); - item.setText(4,model.accessRightsName(result.level)); - } - } - }); - } - { - adminAddLabel = new CLabel(tab3group5,SWT.NONE); - adminAddLabel.setText("Admin:"); - FormData adminAddLabelLData = new FormData(); - adminAddLabelLData.width = 40; - adminAddLabelLData.height = 21; - adminAddLabelLData.left = new FormAttachment(0, 1000, 291); - adminAddLabelLData.top = new FormAttachment(0, 1000, 17); - adminAddLabel.setLayoutData(adminAddLabelLData); - } - { - passwdAddLable = new CLabel(tab3group5,SWT.NONE); - passwdAddLable.setText("Password:"); - FormData passwdAddLableLData = new FormData(); - passwdAddLableLData.width = 60; - passwdAddLableLData.height = 21; - passwdAddLableLData.left = new FormAttachment(0, 1000, 17); - passwdAddLableLData.top = new FormAttachment(0, 1000, 57); - passwdAddLable.setLayoutData(passwdAddLableLData); - } - { - usernameAddLable = new CLabel(tab3group5,SWT.NONE); - usernameAddLable.setText("Username:"); - FormData usernameAddLableLData = new FormData(); - usernameAddLableLData.width = 60; - usernameAddLableLData.height = 21; - usernameAddLableLData.left = new FormAttachment(0, 1000, 17); - usernameAddLableLData.top = new FormAttachment(0, 1000, 37); - usernameAddLable.setLayoutData(usernameAddLableLData); - } - { - realnameAddLabel = new CLabel(tab3group5,SWT.NONE); - realnameAddLabel.setText("Name:"); - FormData realnameAddLabelLData = new FormData(); - realnameAddLabelLData.width = 60; - realnameAddLabelLData.height = 21; - realnameAddLabelLData.left = new FormAttachment(0, 1000, 17); - realnameAddLabelLData.top = new FormAttachment(0, 1000, 17); - realnameAddLabel.setLayoutData(realnameAddLabelLData); - } - { - adminAdd = new CCombo(tab3group5,SWT.NONE); - FormData adminAddLData = new FormData(); - adminAddLData.width = 65; - adminAddLData.height = 12; - adminAddLData.left = new FormAttachment(0, 1000, 347); - adminAddLData.top = new FormAttachment(0, 1000, 22); - adminAdd.setLayoutData(adminAddLData); - adminAdd.setText("false"); - { - adminAdd.add("false"); - adminAdd.add("true"); - } - } - { - realnameAdd = new Text(tab3group5,SWT.NONE); - FormData realnameAddLData = new FormData(); - realnameAddLData.width = 174; - realnameAddLData.height = 14; - realnameAddLData.left = new FormAttachment(0, 1000, 82); - realnameAddLData.top = new FormAttachment(0, 1000, 22); - realnameAdd.setLayoutData(realnameAddLData); - } - { - usernameAdd = new Text(tab3group5,SWT.NONE); - FormData usernameAddLData = new FormData(); - usernameAddLData.width = 174; - usernameAddLData.height = 13; - usernameAddLData.left = new FormAttachment(165, 1000, 0); - usernameAddLData.right = new FormAttachment(525, 1000, 0); - usernameAddLData.top = new FormAttachment(429, 1000, 0); - usernameAddLData.bottom = new FormAttachment(560, 1000, 0); - usernameAdd.setLayoutData(usernameAddLData); - } - { - FormData PasswdAddLData = new FormData(); - PasswdAddLData.width = 174; - PasswdAddLData.height = 13; - PasswdAddLData.left = new FormAttachment(165, 1000, 0); - PasswdAddLData.right = new FormAttachment(525, 1000, 0); - PasswdAddLData.top = new FormAttachment(631, 1000, 0); - PasswdAddLData.bottom = new FormAttachment(762, 1000, 0); - passwdAdd = new Text(tab3group5,SWT.NONE); - passwdAdd.setLayoutData(PasswdAddLData); - } - } - } - cTabFolder1.setSelection(0); - } - else{ - GridData testLData = new GridData(); - testLData.widthHint = 792; - testLData.heightHint = 590; - Composite simpelUser = new Composite(this, SWT.NONE); - RowLayout testLayout = new RowLayout(org.eclipse.swt.SWT.HORIZONTAL); - simpelUser.setLayout(testLayout); - simpelUser.setLayoutData(testLData); - { - topComposite = new Composite(simpelUser,SWT.NONE); - GridLayout topCompositeLayout = new GridLayout(); - topCompositeLayout.makeColumnsEqualWidth = true; - topCompositeLayout.numColumns = 2; - topCompositeLayout.verticalSpacing = 2; - topCompositeLayout.horizontalSpacing = 5; - topComposite.setLayout(topCompositeLayout); - RowData topCompositeLData = new RowData(); - topCompositeLData.width = 783; - topCompositeLData.height = 566; - topComposite.setLayoutData(topCompositeLData); - { - find = new Group(topComposite,SWT.NONE); - this.find(find,resultComposite,playlistComposite,bottemComposite,1); - } - { - logo = new Group(topComposite,SWT.NONE); - this.logo(logo); - } - { - resultComposite = new Composite(topComposite,SWT.NONE); - resultTable1 = new Table(resultComposite,SWT.MULTI|SWT.FULL_SELECTION); - resultTable1.setToolTipText("Medias"); - resultTable1.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent evt) { - add2.setEnabled(true); - } - }); - this.resultTable(resultComposite,resultTable1,1); - } - { - playlistComposite = new Composite(topComposite,SWT.NONE); - FormLayout playlistCompositeLayout = new FormLayout(); - playlistComposite.setLayout(playlistCompositeLayout); - GridData playlistCompositeLData = new GridData(); - playlistCompositeLData.heightHint = 390; - playlistCompositeLData.horizontalAlignment = GridData.FILL; - playlistComposite.setLayoutData(playlistCompositeLData); - playlistComposite.setVisible(false); - playlistComposite.setSize(238, 390); - { - next = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); - FormData nextLData = new FormData(); - nextLData.width = 45; - nextLData.height = 21; - nextLData.left = new FormAttachment(0, 1000, 185); - nextLData.top = new FormAttachment(0, 1000, 365); - next.setLayoutData(nextLData); - next.setEnabled(false); - next.setFont(SWTResourceManager.getFont("Times", 8, 1, false, false)); - next.setToolTipText("play next Title"); - next.setImage(forwardImage); - next.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent evt) { - model.next(); - } - }); - } - { - stop = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); - FormData stopLData = new FormData(); - stopLData.width = 35; - stopLData.height = 21; - stopLData.left = new FormAttachment(0, 1000, 91); - stopLData.top = new FormAttachment(0, 1000, 365); - stop.setLayoutData(stopLData); - stop.setImage(new Image(this.getDisplay(),"img/stop.gif")); - stop.setEnabled(false); - stop.setToolTipText("stop"); - stop.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent evt) { - if (model.stop()){ - play.setEnabled(true); - next.setEnabled(false); - stop.setEnabled(false); - play.setImage(playImage); - play.setToolTipText("play"); - isNotPlaying=true; - } - - } - }); - } - { - play = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); - FormData playLData = new FormData(); - playLData.width = 35; - playLData.height = 21; - playLData.left = new FormAttachment(0, 1000, 50); - playLData.top = new FormAttachment(0, 1000, 365); - play.setLayoutData(playLData); - play.setImage(playImage); - play.setEnabled(false); - play.setToolTipText("play"); - play.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent evt) { - stop.setEnabled(true); - if (playlistTable.getItemCount()>1)next.setEnabled(true); - del.setEnabled(false); - //add2.setEnabled(false); - if (isNotPlaying){ - play.setCursor(SWTResourceManager.getCursor(SWT.CURSOR_WAIT)); - if(model.play()){ - play.setImage(pauseImage); - play.setToolTipText("pause"); - play.setCursor(SWTResourceManager.getCursor(SWT.NONE)); - isNotPlaying= false; - }else; - }else{ - if(model.pause()){ - if (paused){ - play.setImage(playImage); - play.setToolTipText("play"); - paused=false; - }else{ - play.setImage(pauseImage); - play.setToolTipText("pause"); - paused=true; - } - }else; - } - - } - }); - } - { - add2 = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); - FormData addLData = new FormData(); - addLData.width = 25; - addLData.height = 21; - addLData.left = new FormAttachment(0, 1000, 2); - addLData.top = new FormAttachment(0, 1000, 160); - add2.setLayoutData(addLData); - add2.setText(">>"); - add2.setEnabled(false); - add2.setToolTipText("add to Playlist"); - add2.setFont(SWTResourceManager.getFont("Times", 8, 1, false, false)); - add2.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent evt) { - if (System.getProperty("os.name")== "Mac OS X"){ - for (int i=resultTable1.getSelectionCount()-1;i>=0;i--){ - int id=new Integer(resultTable1.getSelection()[i].getText(0)).intValue(); - System.out.println(resultTable1.getSelection()[i].getText(1)); - model.add2PlayList(id); - } - }else{ - for (int i=0;i playlist=model.getToPlaylist(); - for(int i=0;i1&& !isNotPlaying)next.setEnabled(true); - } - }); - } - { - del = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); - FormData delLData = new FormData(); - delLData.width = 25; - delLData.height = 21; - delLData.left = new FormAttachment(0, 1000, 2); - delLData.top = new FormAttachment(0, 1000, 200); - del.setLayoutData(delLData); - del.setEnabled(false); - del.setToolTipText("del from Playlist"); - del.setText("<<"); - del.setFont(SWTResourceManager.getFont("Times", 8, 1, false, false)); - del.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent evt) { - for (int i=playlistTable.getSelectionCount()-1;i>=0;i--){ - int pos = playlistTable.getSelectionIndices()[i]; - model.removeFromPlayList(pos); - } - - del.setEnabled(false); - while(playlistTable.getItemCount()!=0){ - playlistTable.remove(0); - } - ArrayList playlist=model.getToPlaylist(); - for(int i=0;i types = new ArrayList(); - - if( videoCheckBox.getSelection() ) - types.add(MediaType.VIDEO); - - if( audioCheckBox.getSelection() ) - types.add(MediaType.SOUND); - /* t.b.d. add IMAGE support */ - - if (tab==1){ - while(resultTable1.getItemCount()!=0){ - resultTable1.remove(0); - } - }else{ - while(resultTable2.getItemCount()!=0){ - resultTable2.remove(0); - } - } - returnVal= model.search(search, types, tab); - ArrayListresultList = model.getMedia(tab); - for( int i = 0; - (resultList != null) && (i < resultList.size()); - i++ ) - { - TableItem item; - Media result=resultList.get(i); - if (tab==1) item=new TableItem(resultTable1,SWT.NONE); - else item= new TableItem(resultTable2,SWT.NONE); - item.setText(0,new Integer(result.id).toString()); - item.setText(1,result.name); - /* t.b.d. add string_props support - if(result.author != null) - item.setText(2,result.author); - - if(result.album != null) - item.setText(3,result.album); - - if(result.year != null) - item.setText(4,result.year); - - if(result.category != null) - item.setText(5,result.category); - */ - if(result.type != null) - item.setText(6,model.getTypeName(result.type)); - - } - if (tab==1){ - if (returnVal==1)returnNum.setText(returnVal+" Media"); - else returnNum.setText(returnVal+" Medias"); - resultComposite.setVisible(true); - playlistComposite.setVisible(true); - //bottemComposite.setVisible(true); - } - if (tab==2){ - if (returnVal==1)returnNum.setText(returnVal+" Media"); - else returnNum.setText(returnVal+" Medias"); - composite1.setVisible(true); - } - } - - - private void deleteButtonWidgetSelected(SelectionEvent evt) { - try{ - for (int i=resultTable2.getSelectionCount()-1;i>=0;i--){ - - Media result = model.getMediaWithId( - new Integer(resultTable2.getSelection()[i].getText(0)).intValue(),2 ); - - changeComposite.setVisible(false); - deleteButton.setVisible(false); - model.changeMedia(result, Action.DELETE); - resultTable2.remove(resultTable2.getSelectionIndices()[i]); - } - }catch (Exception e){ - System.out.println("Exception in DeleteButton "+e); - } - } - private void addButtonWidgetSelected(SelectionEvent evt) { - System.out.println("browser not implemented in yalp v2"); - } - - - public void refillIpTable(){ - /* t.b.d. replace by session viewer - try{ - ArrayList list=model.srvCon.getClientInfo(); - while(iptable.getItemCount()!=0){ - iptable.remove(0); - } - for(ClientInfo info : list){ - TableItem item = new TableItem(iptable,SWT.NONE); - item.setText(0,info.getUserName()); - item.setText(1,info.getIp()); - } - }catch(Exception e){System.out.println("geht nicht "+e);} - */ - } - - public void show(){ - ((Shell)this.parent).setImage(new Image(display,"img/yalpV2_klein.gif")); - ((Shell)this.parent).setText("yalp"); - this.parent.addListener(SWT.Dispose,new org.eclipse.swt.widgets.Listener(){ - public void handleEvent(org.eclipse.swt.widgets.Event e) { - ShellClose(); - } - }); - Point size = this.getSize(); - java.awt.Dimension screen = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); - Rectangle shellBounds = this.parent.computeTrim((screen.width-size.x)/2,(screen.height-size.y)/2,size.x,size.y); - this.parent.setLayout(new FillLayout()); - this.parent.layout(); - this.parent.setBounds(shellBounds); - ((Shell)this.parent).open(); - while (!this.parent.isDisposed()) { - if (!display.readAndDispatch()) - display.sleep(); - } - } - public void ShellClose(){ - this.model.logoff(); - System.exit(0); - } - -} - +/* + * Copyright (c) 2006 Manuel Traut and Volker Dahnke + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: Manuel Traut and Volker Dahnke + */ + +package YalpClients.SwtClient.GUI; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.*; +import org.eclipse.swt.graphics.*; +import org.eclipse.swt.layout.*; +import org.eclipse.swt.widgets.*; +import org.eclipse.swt.events.*; +import java.util.*; + +import YalpInterfaces.*; +import YalpClients.SwtClient.*; + +/* + * + * Class GUI + * + * + * + * @author Volker Dahnke / Manuel Traut + * + * @version 1 02-04-2006
+ * + */ +public class GUI extends org.eclipse.swt.widgets.Composite { + + public Model model; + public Composite resultComposite; + public Composite playlistComposite; + public Composite bottemComposite; + public Table resultTable1; + public Table resultTable2; + public Composite composite1; + public Composite changeComposite; + public Table UserTable; + public Composite composite3; + + private AccessRights userKind; + private StyledText styledText1; + private CTabFolder cTabFolder1; + private CTabItem tab1; + private Composite container1; + private Composite topComposite; + private Group find; + private Group logo; + private CTabItem tab2; + private Composite container2; + private Group group1; + private Group group2; + private CLabel authorLabel; + private CLabel titleLabel; + private CLabel streamLabel2; + private CLabel actualStreamLabel2; + private CLabel actualStreamLabel1; + private CLabel streamLabel1; + private CLabel data2; + private CLabel data1; + private Button shutdown; + private TableColumn ip; + private TableColumn userName; + public Table iptable; + private Composite composite4; + + private Button submitButton; + private CLabel adminAddLabel; + private CLabel passwdAddLable; + private CLabel usernameAddLable; + private CLabel realnameAddLabel; + private CCombo adminAdd; + private Text realnameAdd; + private Text passwdAdd; + private Text usernameAdd; + private Group tab3group5; + private Button next; + private Button stop; + private Button play; + private CLabel cLabel2; + private Button save; + private Text userTableId; + private Text passwd; + private Text username; + private Text userTableName; + private CLabel adminLabel; + private CCombo adminCombo; + private CLabel nameLable; + private CLabel passwdLable; + private CLabel usernameLable; + private CLabel idLable; + private Group tab3group4; + private Button delete; + private Button add1; + private Group tab3Group3; + private Group tab3Group2; + private Group tab3Group1; + private Composite container3; + private Button deleteButton; + private Button addButton; + private StyledText status; + private Button saveButton; + private Text id; + private CLabel idLabel; + private CLabel cLabel1; + private CLabel nameLabel; + private CLabel pathLabel; + private CLabel lastEditLable; + private CLabel ownerIdLabel; + private CLabel resolutionLabel; + private CLabel vBitrateLabel; + private CLabel aBitrateLabel; + private CLabel durationLabel; + private CLabel yearLabel; + private CLabel categoryLabel; + private CLabel albumLabel; + private CCombo type; + private Text name; + private Text path; + private Text lastEdit; + private Text ownerId; + private Text resolution; + private Text vBitrate; + private Text aBitrate; + private Text duration; + private Text year; + private Text category; + private Text album; + private Text author; + private Text title; + private Composite composite2; + private Table playlistTable; + private Button add2; + private Button del; + private Boolean isNotPlaying=true; + private Boolean paused =true; + private CTabItem tab3; + private Composite parent; + private Display display; + final Image pauseImage=new Image(this.getDisplay(),"img/pause.gif"); + final Image playImage=new Image(this.getDisplay(),"img/play.gif"); + final Image forwardImage=new Image(this.getDisplay(),"img/forward.gif"); + { + //Register as a resource user - SWTResourceManager will + //handle the obtaining and disposing of resources + SWTResourceManager.registerResourceUser(this); + } + + public GUI( Composite parent, Display display, Model model, + AccessRights userKind, int style ) { + + super(parent, style); + + this.parent = parent; + this.display = display; + this.model = model; + this.userKind = userKind; + + initGUI(); + } + + private void initGUI() { + try { + this.setSize(800, 600); + this.setBackground(SWTResourceManager.getColor(192, 192, 192)); + GridLayout thisLayout = new GridLayout(1, true); + thisLayout.marginWidth = 5; + thisLayout.marginHeight = 5; + thisLayout.numColumns = 1; + thisLayout.makeColumnsEqualWidth = true; + thisLayout.horizontalSpacing = 5; + thisLayout.verticalSpacing = 5; + this.setLayout(thisLayout); + + { + if (this.userKind.value() == AccessRights._USER){ + cTabFolder1 = new CTabFolder(this, SWT.NONE); + GridData cTabFolder1LData = new GridData(); + cTabFolder1LData.widthHint = 787; + cTabFolder1LData.heightHint = 568; + cTabFolder1.setLayoutData(cTabFolder1LData); + { + tab1 = new CTabItem(cTabFolder1,SWT.NONE); + tab1.setText("Find"); + { + container1 = new Composite(cTabFolder1,SWT.NONE); + tab1.setControl(container1); + RowLayout container1Layout = new RowLayout(org.eclipse.swt.SWT.HORIZONTAL); + container1.setLayout(container1Layout); + { + topComposite = new Composite(container1,SWT.NONE); + GridLayout topCompositeLayout = new GridLayout(); + topCompositeLayout.makeColumnsEqualWidth = true; + topCompositeLayout.numColumns = 2; + topCompositeLayout.verticalSpacing = 2; + topCompositeLayout.horizontalSpacing = 5; + topComposite.setLayout(topCompositeLayout); + RowData topCompositeLData = new RowData(); + topCompositeLData.width = 783; + topCompositeLData.height = 566; + topComposite.setLayoutData(topCompositeLData); + { + find = new Group(topComposite,SWT.NONE); + this.find(find,resultComposite,playlistComposite,bottemComposite,1); + } + { + logo = new Group(topComposite,SWT.NONE); + this.logo(logo); + } + { + resultComposite = new Composite(topComposite,SWT.NONE); + resultTable1 = new Table(resultComposite,SWT.MULTI|SWT.FULL_SELECTION); + resultTable1.setToolTipText("Medias"); + resultTable1.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + add2.setEnabled(true); + } + }); + this.resultTable(resultComposite,resultTable1,1); + } + { + playlistComposite = new Composite(topComposite,SWT.NONE); + FormLayout playlistCompositeLayout = new FormLayout(); + playlistComposite.setLayout(playlistCompositeLayout); + GridData playlistCompositeLData = new GridData(); + playlistCompositeLData.heightHint = 390; + playlistCompositeLData.horizontalAlignment = GridData.FILL; + playlistComposite.setLayoutData(playlistCompositeLData); + playlistComposite.setVisible(false); + playlistComposite.setSize(238, 390); + { + next = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); + FormData nextLData = new FormData(); + nextLData.width = 45; + nextLData.height = 21; + nextLData.left = new FormAttachment(0, 1000, 185); + nextLData.top = new FormAttachment(0, 1000, 365); + next.setLayoutData(nextLData); + next.setEnabled(false); + next.setFont(SWTResourceManager.getFont("Times", 8, 1, false, false)); + next.setToolTipText("play next Title"); + next.setImage(forwardImage); + next.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + model.next(); + } + }); + } + { + stop = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); + FormData stopLData = new FormData(); + stopLData.width = 35; + stopLData.height = 21; + stopLData.left = new FormAttachment(0, 1000, 91); + stopLData.top = new FormAttachment(0, 1000, 365); + stop.setLayoutData(stopLData); + stop.setImage(new Image(this.getDisplay(),"img/stop.gif")); + stop.setEnabled(false); + stop.setToolTipText("stop"); + stop.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + if (model.stop()){ + play.setEnabled(true); + next.setEnabled(false); + stop.setEnabled(false); + play.setImage(playImage); + play.setToolTipText("play"); + isNotPlaying=true; + } + + } + }); + } + { + play = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); + FormData playLData = new FormData(); + playLData.width = 35; + playLData.height = 21; + playLData.left = new FormAttachment(0, 1000, 50); + playLData.top = new FormAttachment(0, 1000, 365); + play.setLayoutData(playLData); + play.setImage(playImage); + play.setEnabled(false); + play.setToolTipText("play"); + play.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + stop.setEnabled(true); + if (playlistTable.getItemCount()>1)next.setEnabled(true); + del.setEnabled(false); + //add2.setEnabled(false); + if (isNotPlaying){ + play.setCursor(SWTResourceManager.getCursor(SWT.CURSOR_WAIT)); + if(model.play()){ + play.setImage(pauseImage); + play.setToolTipText("pause"); + play.setCursor(SWTResourceManager.getCursor(SWT.NONE)); + isNotPlaying= false; + }else; + }else{ + if(model.pause()){ + if (paused){ + play.setImage(playImage); + play.setToolTipText("play"); + paused=false; + }else{ + play.setImage(pauseImage); + play.setToolTipText("pause"); + paused=true; + } + }else; + } + + } + }); + } + { + add2 = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); + FormData addLData = new FormData(); + addLData.width = 25; + addLData.height = 21; + addLData.left = new FormAttachment(0, 1000, 2); + addLData.top = new FormAttachment(0, 1000, 160); + add2.setLayoutData(addLData); + add2.setText(">>"); + add2.setEnabled(false); + add2.setToolTipText("add to Playlist"); + add2.setFont(SWTResourceManager.getFont("Times", 8, 1, false, false)); + add2.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + if (System.getProperty("os.name")== "Mac OS X"){ + for (int i=resultTable1.getSelectionCount()-1;i>=0;i--){ + int id=new Integer(resultTable1.getSelection()[i].getText(0)).intValue(); + System.out.println(resultTable1.getSelection()[i].getText(1)); + model.add2PlayList(id); + } + }else{ + for (int i=0;i playlist=model.getToPlaylist(); + for(int i=0;i1&& !isNotPlaying)next.setEnabled(true); + } + }); + } + { + del = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); + FormData delLData = new FormData(); + delLData.width = 25; + delLData.height = 21; + delLData.left = new FormAttachment(0, 1000, 2); + delLData.top = new FormAttachment(0, 1000, 200); + del.setLayoutData(delLData); + del.setEnabled(false); + del.setToolTipText("del from Playlist"); + del.setText("<<"); + del.setFont(SWTResourceManager.getFont("Times", 8, 1, false, false)); + del.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + for (int i=playlistTable.getSelectionCount()-1;i>=0;i--){ + int pos = playlistTable.getSelectionIndices()[i]; + model.removeFromPlayList(pos); + } + + del.setEnabled(false); + while(playlistTable.getItemCount()!=0){ + playlistTable.remove(0); + } + ArrayList playlist=model.getToPlaylist(); + for(int i=0;i resultList = model.getUser(); + for (int i = 0; i < resultList.size(); i++) { + TableItem item; + YalpUser result = resultList.get(i); + item = new TableItem(UserTable,SWT.NONE); + item.setText(0,new Integer(result.id).toString()); + item.setText(1,result.name); + // item.setText(2,result.password); + item.setText(3,result.realName); + item.setText(4,model.accessRightsName(result.level)); + } + tab3group4.setVisible(false); + } + }); + } + { + add1 = new Button(tab3Group3,SWT.PUSH | SWT.CENTER); + add1.setText("Add"); + FormData addLData = new FormData(); + addLData.width = 45; + addLData.height = 21; + addLData.left = new FormAttachment(0, 1000, 7); + addLData.top = new FormAttachment(0, 1000, 254); + add1.setLayoutData(addLData); + add1.setToolTipText("add new User "); + add1.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + tab3group5.setVisible(true); + } + }); + } + { + UserTable = new Table(tab3Group3,SWT.SINGLE|SWT.FULL_SELECTION); + FormData UserTableLData = new FormData(); + UserTableLData.width = 467; + UserTableLData.height = 224; + UserTableLData.left = new FormAttachment(11, 1000, 0); + UserTableLData.right = new FormAttachment(988, 1000, 0); + UserTableLData.top = new FormAttachment(19, 1000, 0); + UserTableLData.bottom = new FormAttachment(864, 1000, 0); + UserTable.setLayoutData(UserTableLData); + UserTable.setHeaderVisible(true); + UserTable.setToolTipText("registrated User"); + UserTable.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + userTableId.setText(UserTable.getSelection()[0].getText(0)); + username.setText(UserTable.getSelection()[0].getText(1)); + passwd.setText(UserTable.getSelection()[0].getText(2)); + userTableName.setText(UserTable.getSelection()[0].getText(3)); + adminCombo.setText(UserTable.getSelection()[0].getText(4)); + tab3group4.setVisible(true); + } + }); + { + TableColumn id = new TableColumn(UserTable,SWT.BEGINNING); + id.setText("ID"); + id.setWidth(45); + id.setMoveable(true); + id.addListener(SWT.Selection, new SortListener(this,UserTable,0,5)); + TableColumn userName = new TableColumn(UserTable,SWT.BEGINNING); + userName.setMoveable(true); + userName.setText("Username"); + userName.setWidth(120); + userName.addListener(SWT.Selection, new SortListener(this,UserTable,1,5)); + TableColumn passwd = new TableColumn(UserTable,SWT.BEGINNING); + passwd.setMoveable(true); + passwd.setText("Password"); + passwd.setWidth(120); + passwd.addListener(SWT.Selection, new SortListener(this,UserTable,2,5)); + TableColumn name = new TableColumn(UserTable,SWT.BEGINNING); + name.setMoveable(true); + name.setText("Name"); + name.setWidth(130); + name.addListener(SWT.Selection, new SortListener(this,UserTable,3,5)); + TableColumn admin = new TableColumn(UserTable,SWT.BEGINNING); + admin.setMoveable(true); + admin.setText("Admin"); + admin.setWidth(74); + admin.addListener(SWT.Selection, new SortListener(this,UserTable,4,5)); + //TableColumn huhu=new TableColumn(UserTable,SWT.BEGINNING); + //huhu.dispose(); + ArrayList resultList = model.getUser(); + for (int i = 0; i < resultList.size(); i++) { + TableItem item; + YalpUser result = resultList.get(i); + item = new TableItem(UserTable,SWT.NONE); + item.setText(0,new Integer(result.id).toString()); + item.setText(1,result.name); + //item.setText(2,result.passwd); + item.setText(3,result.realName); + item.setText(4,model.accessRightsName(result.level)); + } + } + } + } + { + tab3group4 = new Group(container3,SWT.NONE); + FormLayout tab3group4Layout = new FormLayout(); + tab3group4.setLayout(tab3group4Layout); + tab3group4.setText("Edit User"); + GridData tab3group4LData = new GridData(); + tab3group4LData.widthHint = 256; + tab3group4LData.heightHint = 284; + tab3group4.setLayoutData(tab3group4LData); + tab3group4.setVisible(false); + { + save = new Button(tab3group4,SWT.PUSH | SWT.CENTER); + save.setText("save"); + FormData saveLData = new FormData(); + saveLData.width = 45; + saveLData.height = 21; + saveLData.left = new FormAttachment(0, 1000, 42); + saveLData.top = new FormAttachment(0, 1000, 157); + save.setLayoutData(saveLData); + save.setToolTipText("save Changes"); + save.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + YalpUser toChange = new YalpUser(); + toChange.id = new Integer(userTableId.getText()).intValue(); + toChange.name = username.getText(); + model.changeUser(toChange, passwd.getText(), Action.EDIT); + while(UserTable.getItemCount()!=0){ + UserTable.remove(0); + } + ArrayList resultList = model.getUser(); + for (int i = 0; i < resultList.size(); i++) { + TableItem item; + YalpUser result = resultList.get(i); + item = new TableItem(UserTable,SWT.NONE); + item.setText(0,new Integer(result.id).toString()); + item.setText(1,result.name); + //item.setText(2,result.passwd); + item.setText(3,result.realName); + item.setText(4,model.accessRightsName(result.level)); + } + tab3group4.setVisible(false); + } + }); + } + { + userTableName = new Text(tab3group4,SWT.NONE); + FormData text2LData = new FormData(); + text2LData.width = 94; + text2LData.height = 14; + text2LData.left = new FormAttachment(0, 1000, 117); + text2LData.top = new FormAttachment(0, 1000, 112); + userTableName .setLayoutData(text2LData); + } + { + passwd = new Text(tab3group4,SWT.NONE); + FormData passwdLData = new FormData(); + passwdLData.width = 94; + passwdLData.height = 14; + passwdLData.left = new FormAttachment(0, 1000, 117); + passwdLData.top = new FormAttachment(0, 1000, 92); + passwd.setLayoutData(passwdLData); + } + { + username = new Text(tab3group4,SWT.NONE); + FormData usernameLData = new FormData(); + usernameLData.width = 94; + usernameLData.height = 14; + usernameLData.left = new FormAttachment(0, 1000, 117); + usernameLData.top = new FormAttachment(0, 1000, 72); + username.setLayoutData(usernameLData); + } + { + userTableId = new Text(tab3group4,SWT.NONE); + FormData text1LData = new FormData(); + text1LData.width = 94; + text1LData.height = 14; + text1LData.left = new FormAttachment(0, 1000, 117); + text1LData.top = new FormAttachment(0, 1000, 52); + userTableId.setLayoutData(text1LData); + userTableId.setEditable(false); + } + { + adminLabel = new CLabel(tab3group4,SWT.NONE); + adminLabel.setText("Admin:"); + FormData adminLabelLData = new FormData(); + adminLabelLData.width = 42; + adminLabelLData.height = 21; + adminLabelLData.left = new FormAttachment(0, 1000, 27); + adminLabelLData.top = new FormAttachment(0, 1000, 127); + adminLabel.setLayoutData(adminLabelLData); + } + { + idLable = new CLabel(tab3group4,SWT.NONE); + idLable.setText("Id:"); + FormData idLableLData = new FormData(); + idLableLData.width = 20; + idLableLData.height = 21; + idLableLData.left = new FormAttachment(107, 1000, 0); + idLableLData.right = new FormAttachment(185, 1000, 0); + idLableLData.top = new FormAttachment(167, 1000, 0); + idLableLData.bottom = new FormAttachment(241, 1000, 0); + idLable.setLayoutData(idLableLData); + } + { + usernameLable = new CLabel(tab3group4,SWT.NONE); + usernameLable.setText("Username:"); + FormData usernameLableLData = new FormData(); + usernameLableLData.width = 58; + usernameLableLData.height = 21; + usernameLableLData.left = new FormAttachment(107, 1000, 0); + usernameLableLData.right = new FormAttachment(333, 1000, 0); + usernameLableLData.top = new FormAttachment(237, 1000, 0); + usernameLableLData.bottom = new FormAttachment(311, 1000, 0); + usernameLable.setLayoutData(usernameLableLData); + } + { + passwdLable = new CLabel(tab3group4,SWT.NONE); + passwdLable.setText("Password:"); + FormData passwdLableLData = new FormData(); + passwdLableLData.width = 56; + passwdLableLData.height = 21; + passwdLableLData.left = new FormAttachment(107, 1000, 0); + passwdLableLData.right = new FormAttachment(326, 1000, 0); + passwdLableLData.top = new FormAttachment(308, 1000, 0); + passwdLableLData.bottom = new FormAttachment(382, 1000, 0); + passwdLable.setLayoutData(passwdLableLData); + } + { + nameLable = new CLabel(tab3group4,SWT.NONE); + nameLable.setText("Name:"); + FormData nameLableLData = new FormData(); + nameLableLData.width = 37; + nameLableLData.height = 21; + nameLableLData.left = new FormAttachment(107, 1000, 0); + nameLableLData.right = new FormAttachment(251, 1000, 0); + nameLableLData.top = new FormAttachment(378, 1000, 0); + nameLableLData.bottom = new FormAttachment(452, 1000, 0); + nameLable.setLayoutData(nameLableLData); + } + { + adminCombo = new CCombo(tab3group4,SWT.NONE); + FormData adminComboLData = new FormData(); + adminComboLData.width = 81; + adminComboLData.height = 16; + adminComboLData.left = new FormAttachment(458, 1000, 0); + adminComboLData.right = new FormAttachment(849, 1000, 0); + adminComboLData.top = new FormAttachment(466, 1000, 0); + adminComboLData.bottom = new FormAttachment(522, 1000, 0); + adminCombo.setLayoutData(adminComboLData); + { + adminCombo.add("true"); + adminCombo.add("false"); + } + } + } + tab3group5 = new Group(container3,SWT.NONE); + FormLayout tab3group5Layout = new FormLayout(); + tab3group5.setLayout(tab3group5Layout); + GridData tab3group5LData = new GridData(); + tab3group5LData.widthHint = 500; + tab3group5LData.heightHint = 99; + tab3group5.setLayoutData(tab3group5LData); + tab3group5.setText("Add User"); + tab3group5.setVisible(false); + { + submitButton = new Button(tab3group5,SWT.PUSH | SWT.CENTER); + submitButton.setText("Submit"); + FormData submitButtonLData = new FormData(); + submitButtonLData.width = 50; + submitButtonLData.height = 21; + submitButtonLData.left = new FormAttachment(0, 1000, 382); + submitButtonLData.top = new FormAttachment(0, 1000, 52); + submitButton.setLayoutData(submitButtonLData); + submitButton.setToolTipText("add User"); + submitButton.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + System.out.println("submit"); + YalpUser toChange = new YalpUser(); + toChange.id = 100; + toChange.name = usernameAdd.getText(); + toChange.realName = realnameAdd.getText(); + model.changeUser(toChange, passwdAdd.getText(), Action.CREATE); + while(UserTable.getItemCount()!=0){ + UserTable.remove(0); + } + ArrayList resultList = model.getUser(); + for (int i = 0; i < resultList.size(); i++) { + TableItem item; + YalpUser result = resultList.get(i); + item = new TableItem(UserTable,SWT.NONE); + item.setText(0,new Integer(result.id).toString()); + item.setText(1,result.name); + //item.setText(2,result.passwd); + item.setText(3,result.realName); + item.setText(4,model.accessRightsName(result.level)); + } + } + }); + } + { + adminAddLabel = new CLabel(tab3group5,SWT.NONE); + adminAddLabel.setText("Admin:"); + FormData adminAddLabelLData = new FormData(); + adminAddLabelLData.width = 40; + adminAddLabelLData.height = 21; + adminAddLabelLData.left = new FormAttachment(0, 1000, 291); + adminAddLabelLData.top = new FormAttachment(0, 1000, 17); + adminAddLabel.setLayoutData(adminAddLabelLData); + } + { + passwdAddLable = new CLabel(tab3group5,SWT.NONE); + passwdAddLable.setText("Password:"); + FormData passwdAddLableLData = new FormData(); + passwdAddLableLData.width = 60; + passwdAddLableLData.height = 21; + passwdAddLableLData.left = new FormAttachment(0, 1000, 17); + passwdAddLableLData.top = new FormAttachment(0, 1000, 57); + passwdAddLable.setLayoutData(passwdAddLableLData); + } + { + usernameAddLable = new CLabel(tab3group5,SWT.NONE); + usernameAddLable.setText("Username:"); + FormData usernameAddLableLData = new FormData(); + usernameAddLableLData.width = 60; + usernameAddLableLData.height = 21; + usernameAddLableLData.left = new FormAttachment(0, 1000, 17); + usernameAddLableLData.top = new FormAttachment(0, 1000, 37); + usernameAddLable.setLayoutData(usernameAddLableLData); + } + { + realnameAddLabel = new CLabel(tab3group5,SWT.NONE); + realnameAddLabel.setText("Name:"); + FormData realnameAddLabelLData = new FormData(); + realnameAddLabelLData.width = 60; + realnameAddLabelLData.height = 21; + realnameAddLabelLData.left = new FormAttachment(0, 1000, 17); + realnameAddLabelLData.top = new FormAttachment(0, 1000, 17); + realnameAddLabel.setLayoutData(realnameAddLabelLData); + } + { + adminAdd = new CCombo(tab3group5,SWT.NONE); + FormData adminAddLData = new FormData(); + adminAddLData.width = 65; + adminAddLData.height = 12; + adminAddLData.left = new FormAttachment(0, 1000, 347); + adminAddLData.top = new FormAttachment(0, 1000, 22); + adminAdd.setLayoutData(adminAddLData); + adminAdd.setText("false"); + { + adminAdd.add("false"); + adminAdd.add("true"); + } + } + { + realnameAdd = new Text(tab3group5,SWT.NONE); + FormData realnameAddLData = new FormData(); + realnameAddLData.width = 174; + realnameAddLData.height = 14; + realnameAddLData.left = new FormAttachment(0, 1000, 82); + realnameAddLData.top = new FormAttachment(0, 1000, 22); + realnameAdd.setLayoutData(realnameAddLData); + } + { + usernameAdd = new Text(tab3group5,SWT.NONE); + FormData usernameAddLData = new FormData(); + usernameAddLData.width = 174; + usernameAddLData.height = 13; + usernameAddLData.left = new FormAttachment(165, 1000, 0); + usernameAddLData.right = new FormAttachment(525, 1000, 0); + usernameAddLData.top = new FormAttachment(429, 1000, 0); + usernameAddLData.bottom = new FormAttachment(560, 1000, 0); + usernameAdd.setLayoutData(usernameAddLData); + } + { + FormData PasswdAddLData = new FormData(); + PasswdAddLData.width = 174; + PasswdAddLData.height = 13; + PasswdAddLData.left = new FormAttachment(165, 1000, 0); + PasswdAddLData.right = new FormAttachment(525, 1000, 0); + PasswdAddLData.top = new FormAttachment(631, 1000, 0); + PasswdAddLData.bottom = new FormAttachment(762, 1000, 0); + passwdAdd = new Text(tab3group5,SWT.NONE); + passwdAdd.setLayoutData(PasswdAddLData); + } + } + } + cTabFolder1.setSelection(0); + } + else{ + GridData testLData = new GridData(); + testLData.widthHint = 792; + testLData.heightHint = 590; + Composite simpelUser = new Composite(this, SWT.NONE); + RowLayout testLayout = new RowLayout(org.eclipse.swt.SWT.HORIZONTAL); + simpelUser.setLayout(testLayout); + simpelUser.setLayoutData(testLData); + { + topComposite = new Composite(simpelUser,SWT.NONE); + GridLayout topCompositeLayout = new GridLayout(); + topCompositeLayout.makeColumnsEqualWidth = true; + topCompositeLayout.numColumns = 2; + topCompositeLayout.verticalSpacing = 2; + topCompositeLayout.horizontalSpacing = 5; + topComposite.setLayout(topCompositeLayout); + RowData topCompositeLData = new RowData(); + topCompositeLData.width = 783; + topCompositeLData.height = 566; + topComposite.setLayoutData(topCompositeLData); + { + find = new Group(topComposite,SWT.NONE); + this.find(find,resultComposite,playlistComposite,bottemComposite,1); + } + { + logo = new Group(topComposite,SWT.NONE); + this.logo(logo); + } + { + resultComposite = new Composite(topComposite,SWT.NONE); + resultTable1 = new Table(resultComposite,SWT.MULTI|SWT.FULL_SELECTION); + resultTable1.setToolTipText("Medias"); + resultTable1.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + add2.setEnabled(true); + } + }); + this.resultTable(resultComposite,resultTable1,1); + } + { + playlistComposite = new Composite(topComposite,SWT.NONE); + FormLayout playlistCompositeLayout = new FormLayout(); + playlistComposite.setLayout(playlistCompositeLayout); + GridData playlistCompositeLData = new GridData(); + playlistCompositeLData.heightHint = 390; + playlistCompositeLData.horizontalAlignment = GridData.FILL; + playlistComposite.setLayoutData(playlistCompositeLData); + playlistComposite.setVisible(false); + playlistComposite.setSize(238, 390); + { + next = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); + FormData nextLData = new FormData(); + nextLData.width = 45; + nextLData.height = 21; + nextLData.left = new FormAttachment(0, 1000, 185); + nextLData.top = new FormAttachment(0, 1000, 365); + next.setLayoutData(nextLData); + next.setEnabled(false); + next.setFont(SWTResourceManager.getFont("Times", 8, 1, false, false)); + next.setToolTipText("play next Title"); + next.setImage(forwardImage); + next.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + model.next(); + } + }); + } + { + stop = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); + FormData stopLData = new FormData(); + stopLData.width = 35; + stopLData.height = 21; + stopLData.left = new FormAttachment(0, 1000, 91); + stopLData.top = new FormAttachment(0, 1000, 365); + stop.setLayoutData(stopLData); + stop.setImage(new Image(this.getDisplay(),"img/stop.gif")); + stop.setEnabled(false); + stop.setToolTipText("stop"); + stop.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + if (model.stop()){ + play.setEnabled(true); + next.setEnabled(false); + stop.setEnabled(false); + play.setImage(playImage); + play.setToolTipText("play"); + isNotPlaying=true; + } + + } + }); + } + { + play = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); + FormData playLData = new FormData(); + playLData.width = 35; + playLData.height = 21; + playLData.left = new FormAttachment(0, 1000, 50); + playLData.top = new FormAttachment(0, 1000, 365); + play.setLayoutData(playLData); + play.setImage(playImage); + play.setEnabled(false); + play.setToolTipText("play"); + play.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + stop.setEnabled(true); + if (playlistTable.getItemCount()>1)next.setEnabled(true); + del.setEnabled(false); + //add2.setEnabled(false); + if (isNotPlaying){ + play.setCursor(SWTResourceManager.getCursor(SWT.CURSOR_WAIT)); + if(model.play()){ + play.setImage(pauseImage); + play.setToolTipText("pause"); + play.setCursor(SWTResourceManager.getCursor(SWT.NONE)); + isNotPlaying= false; + }else; + }else{ + if(model.pause()){ + if (paused){ + play.setImage(playImage); + play.setToolTipText("play"); + paused=false; + }else{ + play.setImage(pauseImage); + play.setToolTipText("pause"); + paused=true; + } + }else; + } + + } + }); + } + { + add2 = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); + FormData addLData = new FormData(); + addLData.width = 25; + addLData.height = 21; + addLData.left = new FormAttachment(0, 1000, 2); + addLData.top = new FormAttachment(0, 1000, 160); + add2.setLayoutData(addLData); + add2.setText(">>"); + add2.setEnabled(false); + add2.setToolTipText("add to Playlist"); + add2.setFont(SWTResourceManager.getFont("Times", 8, 1, false, false)); + add2.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + if (System.getProperty("os.name")== "Mac OS X"){ + for (int i=resultTable1.getSelectionCount()-1;i>=0;i--){ + int id=new Integer(resultTable1.getSelection()[i].getText(0)).intValue(); + System.out.println(resultTable1.getSelection()[i].getText(1)); + model.add2PlayList(id); + } + }else{ + for (int i=0;i playlist=model.getToPlaylist(); + for(int i=0;i1&& !isNotPlaying)next.setEnabled(true); + } + }); + } + { + del = new Button(playlistComposite,SWT.PUSH | SWT.CENTER); + FormData delLData = new FormData(); + delLData.width = 25; + delLData.height = 21; + delLData.left = new FormAttachment(0, 1000, 2); + delLData.top = new FormAttachment(0, 1000, 200); + del.setLayoutData(delLData); + del.setEnabled(false); + del.setToolTipText("del from Playlist"); + del.setText("<<"); + del.setFont(SWTResourceManager.getFont("Times", 8, 1, false, false)); + del.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + for (int i=playlistTable.getSelectionCount()-1;i>=0;i--){ + int pos = playlistTable.getSelectionIndices()[i]; + model.removeFromPlayList(pos); + } + + del.setEnabled(false); + while(playlistTable.getItemCount()!=0){ + playlistTable.remove(0); + } + ArrayList playlist=model.getToPlaylist(); + for(int i=0;i types = new ArrayList(); + + if( videoCheckBox.getSelection() ) + types.add(MediaType.VIDEO); + + if( audioCheckBox.getSelection() ) + types.add(MediaType.SOUND); + /* t.b.d. add IMAGE support */ + + if (tab==1){ + while(resultTable1.getItemCount()!=0){ + resultTable1.remove(0); + } + }else{ + while(resultTable2.getItemCount()!=0){ + resultTable2.remove(0); + } + } + returnVal= model.search(search, types, tab); + ArrayListresultList = model.getMedia(tab); + for( int i = 0; + (resultList != null) && (i < resultList.size()); + i++ ) + { + TableItem item; + Media result=resultList.get(i); + if (tab==1) item=new TableItem(resultTable1,SWT.NONE); + else item= new TableItem(resultTable2,SWT.NONE); + item.setText(0,new Integer(result.id).toString()); + item.setText(1,result.name); + /* t.b.d. add string_props support + if(result.author != null) + item.setText(2,result.author); + + if(result.album != null) + item.setText(3,result.album); + + if(result.year != null) + item.setText(4,result.year); + + if(result.category != null) + item.setText(5,result.category); + */ + if(result.type != null) + item.setText(6,model.getTypeName(result.type)); + + } + if (tab==1){ + if (returnVal==1)returnNum.setText(returnVal+" Media"); + else returnNum.setText(returnVal+" Medias"); + resultComposite.setVisible(true); + playlistComposite.setVisible(true); + //bottemComposite.setVisible(true); + } + if (tab==2){ + if (returnVal==1)returnNum.setText(returnVal+" Media"); + else returnNum.setText(returnVal+" Medias"); + composite1.setVisible(true); + } + } + + + private void deleteButtonWidgetSelected(SelectionEvent evt) { + try{ + for (int i=resultTable2.getSelectionCount()-1;i>=0;i--){ + + Media result = model.getMediaWithId( + new Integer(resultTable2.getSelection()[i].getText(0)).intValue(),2 ); + + changeComposite.setVisible(false); + deleteButton.setVisible(false); + model.changeMedia(result, Action.DELETE); + resultTable2.remove(resultTable2.getSelectionIndices()[i]); + } + }catch (Exception e){ + System.out.println("Exception in DeleteButton "+e); + } + } + private void addButtonWidgetSelected(SelectionEvent evt) { + System.out.println("browser not implemented in yalp v2"); + } + + + public void refillIpTable(){ + /* t.b.d. replace by session viewer + try{ + ArrayList list=model.srvCon.getClientInfo(); + while(iptable.getItemCount()!=0){ + iptable.remove(0); + } + for(ClientInfo info : list){ + TableItem item = new TableItem(iptable,SWT.NONE); + item.setText(0,info.getUserName()); + item.setText(1,info.getIp()); + } + }catch(Exception e){System.out.println("geht nicht "+e);} + */ + } + + public void show(){ + ((Shell)this.parent).setImage(new Image(display,"img/yalpV2_klein.gif")); + ((Shell)this.parent).setText("yalp"); + this.parent.addListener(SWT.Dispose,new org.eclipse.swt.widgets.Listener(){ + public void handleEvent(org.eclipse.swt.widgets.Event e) { + ShellClose(); + } + }); + Point size = this.getSize(); + java.awt.Dimension screen = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); + Rectangle shellBounds = this.parent.computeTrim((screen.width-size.x)/2,(screen.height-size.y)/2,size.x,size.y); + this.parent.setLayout(new FillLayout()); + this.parent.layout(); + this.parent.setBounds(shellBounds); + ((Shell)this.parent).open(); + while (!this.parent.isDisposed()) { + if (!display.readAndDispatch()) + display.sleep(); + } + } + public void ShellClose(){ + this.model.logoff(); + System.exit(0); + } + +} + diff --git a/src/YalpClients/SwtClient/GUI/InitGUI.java b/src/YalpClients/SwtClient/GUI/InitGUI.java index 6b1fa51..e432c50 100644 --- a/src/YalpClients/SwtClient/GUI/InitGUI.java +++ b/src/YalpClients/SwtClient/GUI/InitGUI.java @@ -1,58 +1,58 @@ -/* - * Copyright (c) 2006 Manuel Traut and Volker Dahnke - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: Manuel Traut and Volker Dahnke - */ - -package YalpClients.SwtClient.GUI; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Shell; - -import YalpClients.SwtClient.*; -import YalpInterfaces.AccessRights; - -/* - * Class InitGUI - * - * - * - * @author Volker Dahnke / Manuel Traut - * - * @version 1 02-04-2006
- * - */ - -public class InitGUI { - private Model model; - private Display display; - private int time = 1000; - - public InitGUI(Model model,AccessRights kind){ - this.model=model; - this.display = Display.getDefault(); - final Runnable timer = new Runnable() { - public void run() { - serverStillAlive(this); - } - }; - display.timerExec(time, timer); - - GUI gui= new GUI( - new Shell(display ,SWT.MIN), display, model, kind, SWT.NULL ); - gui.show(); - } - - public void serverStillAlive(Runnable timer){ - model.serverStillAlive(); - if (!this.model.getLogoff()){ - this.display.timerExec(time, timer); - } - } - -} +/* + * Copyright (c) 2006 Manuel Traut and Volker Dahnke + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: Manuel Traut and Volker Dahnke + */ + +package YalpClients.SwtClient.GUI; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Shell; + +import YalpClients.SwtClient.*; +import YalpInterfaces.AccessRights; + +/* + * Class InitGUI + * + * + * + * @author Volker Dahnke / Manuel Traut + * + * @version 1 02-04-2006
+ * + */ + +public class InitGUI { + private Model model; + private Display display; + private int time = 1000; + + public InitGUI(Model model,AccessRights kind){ + this.model=model; + this.display = Display.getDefault(); + final Runnable timer = new Runnable() { + public void run() { + serverStillAlive(this); + } + }; + display.timerExec(time, timer); + + GUI gui= new GUI( + new Shell(display ,SWT.MIN), display, model, kind, SWT.NULL ); + gui.show(); + } + + public void serverStillAlive(Runnable timer){ + model.serverStillAlive(); + if (!this.model.getLogoff()){ + this.display.timerExec(time, timer); + } + } + +} diff --git a/src/YalpClients/SwtClient/GUI/LoadDialog.java b/src/YalpClients/SwtClient/GUI/LoadDialog.java index dcdc4a8..fbe068b 100644 --- a/src/YalpClients/SwtClient/GUI/LoadDialog.java +++ b/src/YalpClients/SwtClient/GUI/LoadDialog.java @@ -1,110 +1,110 @@ -/* - * Copyright (c) 2006 Manuel Traut and Volker Dahnke - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: Manuel Traut and Volker Dahnke - */ - -package YalpClients.SwtClient.GUI; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.widgets.*; - -/* - * Class LoadDialog - * - * - * - * @author Volker Dahnke / Manuel Traut - * - * @version 1 02-04-2006
- */ -public class LoadDialog extends Composite{ - - { - //Register as a resource user - SWTResourceManager will - //handle the obtaining and disposing of resources - SWTResourceManager.registerResourceUser(this); - } - - private CLabel cLabel1; - private CLabel cLabel2; - private CLabel cLabel3; - private Shell parent; - - public LoadDialog(Composite parent, int style) { - super(parent, style); - this.parent=(Shell)parent; - initDialog(); - } - - private void initDialog(){ - GridLayout thisLayout = new GridLayout(); - thisLayout.makeColumnsEqualWidth = true; - this.setLayout(thisLayout); - this.setSize(300,170); - { - Composite composite = new Composite(this, SWT.NONE); - FormLayout compositeLayout = new FormLayout(); - composite.setLayout(compositeLayout); - GridData compositeLData = new GridData(); - compositeLData.widthHint = 287; - compositeLData.heightHint = 165; - composite.setLayoutData(compositeLData); - composite.setVisible(true); - { - cLabel3 = new CLabel(composite, SWT.LEFT); - cLabel3.setText("Copyright (c) 2006 Manuel Traut and Volker Dahnke"); - FormData cLabel3LData = new FormData(); - cLabel3LData.width = 300; - cLabel3LData.height = 20; - cLabel3LData.left = new FormAttachment(0, 1000, 0); - cLabel3LData.top = new FormAttachment(0, 1000, 145); - cLabel3.setLayoutData(cLabel3LData); - cLabel3.setFont(SWTResourceManager.getFont("Times", 7, 0, false, false)); - } - { - cLabel2 = new CLabel(composite, SWT.CENTER); - cLabel2.setText("Loading..."); - FormData cLabel2LData = new FormData(); - cLabel2LData.width = 105; - cLabel2LData.height = 25; - cLabel2LData.left = new FormAttachment(0, 1000, 91); - cLabel2LData.top = new FormAttachment(0, 1000, 123); - cLabel2.setLayoutData(cLabel2LData); - cLabel2.setFont(SWTResourceManager.getFont("Times", 12, 1, false, false)); - } - { - cLabel1 = new CLabel(composite, SWT.CENTER); - FormData cLabel1LData = new FormData(); - cLabel1LData.width = 200; - cLabel1LData.height = 120; - cLabel1LData.left = new FormAttachment(0, 1000, 40); - cLabel1LData.top = new FormAttachment(0, 1000, 0); - cLabel1.setLayoutData(cLabel1LData); - cLabel1.setImage(new Image(this.getDisplay(),"img/yalpV2.gif")); - } - - } - } - - public void show(){ - Point size = this.getSize(); - java.awt.Dimension screen = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); - Rectangle shellBounds = this.parent.computeTrim((screen.width-size.x)/2,(screen.height-size.y)/2,size.x,size.y); - this.parent.setLayout(new FillLayout()); - this.parent.layout(); - this.parent.setBounds(shellBounds); - this.parent.open(); - } - - public void close(){ - this.parent.close(); - } -} +/* + * Copyright (c) 2006 Manuel Traut and Volker Dahnke + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: Manuel Traut and Volker Dahnke + */ + +package YalpClients.SwtClient.GUI; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.*; +import org.eclipse.swt.graphics.*; +import org.eclipse.swt.layout.*; +import org.eclipse.swt.widgets.*; + +/* + * Class LoadDialog + * + * + * + * @author Volker Dahnke / Manuel Traut + * + * @version 1 02-04-2006
+ */ +public class LoadDialog extends Composite{ + + { + //Register as a resource user - SWTResourceManager will + //handle the obtaining and disposing of resources + SWTResourceManager.registerResourceUser(this); + } + + private CLabel cLabel1; + private CLabel cLabel2; + private CLabel cLabel3; + private Shell parent; + + public LoadDialog(Composite parent, int style) { + super(parent, style); + this.parent=(Shell)parent; + initDialog(); + } + + private void initDialog(){ + GridLayout thisLayout = new GridLayout(); + thisLayout.makeColumnsEqualWidth = true; + this.setLayout(thisLayout); + this.setSize(300,170); + { + Composite composite = new Composite(this, SWT.NONE); + FormLayout compositeLayout = new FormLayout(); + composite.setLayout(compositeLayout); + GridData compositeLData = new GridData(); + compositeLData.widthHint = 287; + compositeLData.heightHint = 165; + composite.setLayoutData(compositeLData); + composite.setVisible(true); + { + cLabel3 = new CLabel(composite, SWT.LEFT); + cLabel3.setText("Copyright (c) 2006 Manuel Traut and Volker Dahnke"); + FormData cLabel3LData = new FormData(); + cLabel3LData.width = 300; + cLabel3LData.height = 20; + cLabel3LData.left = new FormAttachment(0, 1000, 0); + cLabel3LData.top = new FormAttachment(0, 1000, 145); + cLabel3.setLayoutData(cLabel3LData); + cLabel3.setFont(SWTResourceManager.getFont("Times", 7, 0, false, false)); + } + { + cLabel2 = new CLabel(composite, SWT.CENTER); + cLabel2.setText("Loading..."); + FormData cLabel2LData = new FormData(); + cLabel2LData.width = 105; + cLabel2LData.height = 25; + cLabel2LData.left = new FormAttachment(0, 1000, 91); + cLabel2LData.top = new FormAttachment(0, 1000, 123); + cLabel2.setLayoutData(cLabel2LData); + cLabel2.setFont(SWTResourceManager.getFont("Times", 12, 1, false, false)); + } + { + cLabel1 = new CLabel(composite, SWT.CENTER); + FormData cLabel1LData = new FormData(); + cLabel1LData.width = 200; + cLabel1LData.height = 120; + cLabel1LData.left = new FormAttachment(0, 1000, 40); + cLabel1LData.top = new FormAttachment(0, 1000, 0); + cLabel1.setLayoutData(cLabel1LData); + cLabel1.setImage(new Image(this.getDisplay(),"img/yalpV2.gif")); + } + + } + } + + public void show(){ + Point size = this.getSize(); + java.awt.Dimension screen = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); + Rectangle shellBounds = this.parent.computeTrim((screen.width-size.x)/2,(screen.height-size.y)/2,size.x,size.y); + this.parent.setLayout(new FillLayout()); + this.parent.layout(); + this.parent.setBounds(shellBounds); + this.parent.open(); + } + + public void close(){ + this.parent.close(); + } +} diff --git a/src/YalpClients/SwtClient/GUI/SWTResourceManager.java b/src/YalpClients/SwtClient/GUI/SWTResourceManager.java index 87dffc3..258c883 100644 --- a/src/YalpClients/SwtClient/GUI/SWTResourceManager.java +++ b/src/YalpClients/SwtClient/GUI/SWTResourceManager.java @@ -1,145 +1,145 @@ -package YalpClients.SwtClient.GUI; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.Vector; - -import org.eclipse.swt.events.DisposeEvent; -import org.eclipse.swt.events.DisposeListener; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.graphics.Cursor; -import org.eclipse.swt.graphics.Font; -import org.eclipse.swt.graphics.FontData; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Widget; - -/* - * Class to manage SWT resources (Font, Color, Image and Cursor) - * There are no restrictions on the use of this code. - * - * You may change this code and your changes will not be overwritten, - * but if you change the version number below then this class will be - * completely overwritten by Jigloo. - * #SWTResourceManager:version4.0.0# - */ -public class SWTResourceManager { - - private static HashMap resources = new HashMap(); - private static Vector users = new Vector(); - private static SWTResourceManager instance = new SWTResourceManager(); - - private static DisposeListener disposeListener = new DisposeListener() { - public void widgetDisposed(DisposeEvent e) { - users.remove(e.getSource()); - if (users.size() == 0) - dispose(); - } - }; - - /* - * This method should be called by *all* Widgets which use resources - * provided by this SWTResourceManager. When widgets are disposed, - * they are removed from the "users" Vector, and when no more - * registered Widgets are left, all resources are disposed. - *

- * If this method is not called for all Widgets then it should not be called - * at all, and the "dispose" method should be explicitly called after all - * resources are no longer being used. - */ - public static void registerResourceUser(Widget widget) { - if (users.contains(widget)) - return; - users.add(widget); - widget.addDisposeListener(disposeListener); - } - - public static void dispose() { - Iterator it = resources.keySet().iterator(); - while (it.hasNext()) { - Object resource = resources.get(it.next()); - if (resource instanceof Font) - ((Font) resource).dispose(); - else if (resource instanceof Color) - ((Color) resource).dispose(); - else if (resource instanceof Image) - ((Image) resource).dispose(); - else if (resource instanceof Cursor) - ((Cursor) resource).dispose(); - } - resources.clear(); - } - - public static Font getFont(String name, int size, int style) { - return getFont(name, size, style, false, false); - } - - public static Font getFont(String name, int size, int style, boolean strikeout, boolean underline) { - String fontName = name + "|" + size + "|" + style + "|" + strikeout + "|" + underline; - if (resources.containsKey(fontName)) - return (Font) resources.get(fontName); - FontData fd = new FontData(name, size, style); - if (strikeout || underline) { - try { - Class lfCls = Class.forName("org.eclipse.swt.internal.win32.LOGFONT"); - Object lf = FontData.class.getField("data").get(fd); - if (lf != null && lfCls != null) { - if (strikeout) - lfCls.getField("lfStrikeOut").set(lf, new Byte((byte) 1)); - if (underline) - lfCls.getField("lfUnderline").set(lf, new Byte((byte) 1)); - } - } catch (Throwable e) { - System.err.println( - "Unable to set underline or strikeout" + " (probably on a non-Windows platform). " + e); - } - } - Font font = new Font(Display.getDefault(), fd); - resources.put(fontName, font); - return font; - } - - public static Image getImage(String url, Control widget) { - Image img = getImage(url); - if(img != null && widget != null) - img.setBackground(widget.getBackground()); - return img; - } - - public static Image getImage(String url) { - try { - url = url.replace('\\', '/'); - if (url.startsWith("/")) - url = url.substring(1); - if (resources.containsKey(url)) - return (Image) resources.get(url); - Image img = new Image(Display.getDefault(), instance.getClass().getClassLoader().getResourceAsStream(url)); - if (img != null) - resources.put(url, img); - return img; - } catch (Exception e) { - System.err.println("SWTResourceManager.getImage: Error getting image "+url+", "+e); - return null; - } - } - - public static Color getColor(int red, int green, int blue) { - String name = "COLOR:" + red + "," + green + "," + blue; - if (resources.containsKey(name)) - return (Color) resources.get(name); - Color color = new Color(Display.getDefault(), red, green, blue); - resources.put(name, color); - return color; - } - - public static Cursor getCursor(int type) { - String name = "CURSOR:" + type; - if (resources.containsKey(name)) - return (Cursor) resources.get(name); - Cursor cursor = new Cursor(Display.getDefault(), type); - resources.put(name, cursor); - return cursor; - } - -} +package YalpClients.SwtClient.GUI; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.Vector; + +import org.eclipse.swt.events.DisposeEvent; +import org.eclipse.swt.events.DisposeListener; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.Cursor; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.graphics.FontData; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Widget; + +/* + * Class to manage SWT resources (Font, Color, Image and Cursor) + * There are no restrictions on the use of this code. + * + * You may change this code and your changes will not be overwritten, + * but if you change the version number below then this class will be + * completely overwritten by Jigloo. + * #SWTResourceManager:version4.0.0# + */ +public class SWTResourceManager { + + private static HashMap resources = new HashMap(); + private static Vector users = new Vector(); + private static SWTResourceManager instance = new SWTResourceManager(); + + private static DisposeListener disposeListener = new DisposeListener() { + public void widgetDisposed(DisposeEvent e) { + users.remove(e.getSource()); + if (users.size() == 0) + dispose(); + } + }; + + /* + * This method should be called by *all* Widgets which use resources + * provided by this SWTResourceManager. When widgets are disposed, + * they are removed from the "users" Vector, and when no more + * registered Widgets are left, all resources are disposed. + *

+ * If this method is not called for all Widgets then it should not be called + * at all, and the "dispose" method should be explicitly called after all + * resources are no longer being used. + */ + public static void registerResourceUser(Widget widget) { + if (users.contains(widget)) + return; + users.add(widget); + widget.addDisposeListener(disposeListener); + } + + public static void dispose() { + Iterator it = resources.keySet().iterator(); + while (it.hasNext()) { + Object resource = resources.get(it.next()); + if (resource instanceof Font) + ((Font) resource).dispose(); + else if (resource instanceof Color) + ((Color) resource).dispose(); + else if (resource instanceof Image) + ((Image) resource).dispose(); + else if (resource instanceof Cursor) + ((Cursor) resource).dispose(); + } + resources.clear(); + } + + public static Font getFont(String name, int size, int style) { + return getFont(name, size, style, false, false); + } + + public static Font getFont(String name, int size, int style, boolean strikeout, boolean underline) { + String fontName = name + "|" + size + "|" + style + "|" + strikeout + "|" + underline; + if (resources.containsKey(fontName)) + return (Font) resources.get(fontName); + FontData fd = new FontData(name, size, style); + if (strikeout || underline) { + try { + Class lfCls = Class.forName("org.eclipse.swt.internal.win32.LOGFONT"); + Object lf = FontData.class.getField("data").get(fd); + if (lf != null && lfCls != null) { + if (strikeout) + lfCls.getField("lfStrikeOut").set(lf, new Byte((byte) 1)); + if (underline) + lfCls.getField("lfUnderline").set(lf, new Byte((byte) 1)); + } + } catch (Throwable e) { + System.err.println( + "Unable to set underline or strikeout" + " (probably on a non-Windows platform). " + e); + } + } + Font font = new Font(Display.getDefault(), fd); + resources.put(fontName, font); + return font; + } + + public static Image getImage(String url, Control widget) { + Image img = getImage(url); + if(img != null && widget != null) + img.setBackground(widget.getBackground()); + return img; + } + + public static Image getImage(String url) { + try { + url = url.replace('\\', '/'); + if (url.startsWith("/")) + url = url.substring(1); + if (resources.containsKey(url)) + return (Image) resources.get(url); + Image img = new Image(Display.getDefault(), instance.getClass().getClassLoader().getResourceAsStream(url)); + if (img != null) + resources.put(url, img); + return img; + } catch (Exception e) { + System.err.println("SWTResourceManager.getImage: Error getting image "+url+", "+e); + return null; + } + } + + public static Color getColor(int red, int green, int blue) { + String name = "COLOR:" + red + "," + green + "," + blue; + if (resources.containsKey(name)) + return (Color) resources.get(name); + Color color = new Color(Display.getDefault(), red, green, blue); + resources.put(name, color); + return color; + } + + public static Cursor getCursor(int type) { + String name = "CURSOR:" + type; + if (resources.containsKey(name)) + return (Cursor) resources.get(name); + Cursor cursor = new Cursor(Display.getDefault(), type); + resources.put(name, cursor); + return cursor; + } + +} diff --git a/src/YalpClients/SwtClient/GUI/SortListener.java b/src/YalpClients/SwtClient/GUI/SortListener.java index a2ff35a..78598d6 100644 --- a/src/YalpClients/SwtClient/GUI/SortListener.java +++ b/src/YalpClients/SwtClient/GUI/SortListener.java @@ -1,63 +1,63 @@ -/* - * Copyright (c) 2006 Manuel Traut and Volker Dahnke - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: Manuel Traut and Volker Dahnke - */ - -package YalpClients.SwtClient.GUI; - -import java.text.Collator; -import java.util.Locale; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.*; - -/* - * Class SortListener - * - * - * - * @author Volker Dahnke / Manuel Traut - * - * @version 1 02-04-2006
- */ -public class SortListener implements Listener{ - private Table table; - private int colum,numColum; - private GUI gui; - - public SortListener(GUI gui,Table table,int colum,int numColum){ - this.colum=colum; - this.numColum=numColum; - this.table=table; - this.gui=gui; - } - - public void handleEvent(Event e) { - TableItem[] items = table.getItems(); - Collator collator = Collator.getInstance(Locale.getDefault()); - for (int i = 1; i < items.length; i++) { - String value1 = items[i].getText(colum); - for (int j = 0; j < i; j++) { - String value2 = items[j].getText(colum); - if (collator.compare(value1, value2) < 0) { - String[] values= new String[numColum]; - for(int g=0;g + * + * @author Volker Dahnke / Manuel Traut + * + * @version 1 02-04-2006
+ */ +public class SortListener implements Listener{ + private Table table; + private int colum,numColum; + private GUI gui; + + public SortListener(GUI gui,Table table,int colum,int numColum){ + this.colum=colum; + this.numColum=numColum; + this.table=table; + this.gui=gui; + } + + public void handleEvent(Event e) { + TableItem[] items = table.getItems(); + Collator collator = Collator.getInstance(Locale.getDefault()); + for (int i = 1; i < items.length; i++) { + String value1 = items[i].getText(colum); + for (int j = 0; j < i; j++) { + String value2 = items[j].getText(colum); + if (collator.compare(value1, value2) < 0) { + String[] values= new String[numColum]; + for(int g=0;g - * - * @author Volker Dahnke / Manuel Traut - * - * @version 1 02-04-2006
- */ -public class StartDialog extends Composite { - - { - //Register as a resource user - SWTResourceManager will - //handle the obtaining and disposing of resources - SWTResourceManager.registerResourceUser(this); - } - private Display display; - private CLabel cLabel1; - private CLabel LogoLabel; - private Model model; - private Composite parent; - private Composite composite; - private CLabel logonLable; - private Button ok; - private Text passwd; - private Text username; - private CLabel passwdLable; - private CLabel usernameLable; - - - public StartDialog(Composite parent,Model model, int style) { - super(parent, style); - - this.parent=parent; - this.model=model; - this.display=Display.getDefault(); - initStartDialog(); - } - - private void initStartDialog(){ - GridLayout thisLayout = new GridLayout(); - thisLayout.makeColumnsEqualWidth = true; - this.setLayout(thisLayout); - this.setSize(300,150); - Listener listener =new Listener() { - public void handleEvent(org.eclipse.swt.widgets.Event evt) { - if (evt.character==SWT.CR){ - OkPressed(); - } - } - }; - addListener(SWT.KeyDown,listener); - { - composite = new Composite(this, SWT.NONE); - FormLayout compositeLayout = new FormLayout(); - composite.setLayout(compositeLayout); - GridData compositeLData = new GridData(); - compositeLData.widthHint = 287; - compositeLData.heightHint = 140; - composite.setLayoutData(compositeLData); - composite.setVisible(true); - composite.addKeyListener(new KeyAdapter() { - public void keyPressed(KeyEvent evt) { - if (evt.character==SWT.CR){ - OkPressed(); - } - } - }); - { - cLabel1 = new CLabel(composite, SWT.NONE); - FormData cLabel1LData = new FormData(); - cLabel1LData.width = 120; - cLabel1LData.height = 20; - cLabel1LData.left = new FormAttachment(0, 1000, 93); - cLabel1LData.top = new FormAttachment(0, 1000, 40); - cLabel1.setLayoutData(cLabel1LData); - Color col =display.getSystemColor(SWT.COLOR_RED); - cLabel1.setForeground(col); - cLabel1.setFont(SWTResourceManager.getFont("Times", 10, 1, false, false)); - } - { - LogoLabel = new CLabel(composite, SWT.NONE); - FormData LogoLabelLData = new FormData(); - LogoLabelLData.width = 70; - LogoLabelLData.height = 42; - LogoLabelLData.left = new FormAttachment(0, 1000, 77); - LogoLabelLData.top = new FormAttachment(0, 1000, 0); - LogoLabelLData.right = new FormAttachment(1000, 1000, -140); - LogoLabelLData.bottom = new FormAttachment(1000, 1000, -98); - LogoLabel.setLayoutData(LogoLabelLData); - LogoLabel.setImage(new Image(this.getDisplay(),"img/yalpV2_mittel.gif")); - } - { - logonLable = new CLabel(composite, SWT.BEGINNING); - logonLable.setText("Login"); - FormData logonLableLData = new FormData(); - logonLableLData.width = 70; - logonLableLData.height = 28; - logonLableLData.left = new FormAttachment(0, 1000, 147); - logonLableLData.top = new FormAttachment(0, 1000, 5); - logonLable.setLayoutData(logonLableLData); - logonLable.setFont(SWTResourceManager.getFont("Times", 14, 1, false, false)); - } - { - username = new Text(composite, SWT.NONE); - FormData usernameLData = new FormData(); - usernameLData.width = 117; - usernameLData.height = 15; - usernameLData.left = new FormAttachment(0, 1000, 120); - usernameLData.top = new FormAttachment(0, 1000, 65); - username.setLayoutData(usernameLData); - username.setFocus(); - username.addKeyListener(new KeyAdapter() { - public void keyPressed(KeyEvent evt) { - if (evt.character==SWT.CR){ - OkPressed(); - } - } - }); - } - { - passwd = new Text(composite, SWT.PASSWORD); - FormData passwdLData = new FormData(); - passwdLData.width = 117; - passwdLData.height = 15; - passwdLData.left = new FormAttachment(0, 1000, 120); - passwdLData.top = new FormAttachment(0, 1000, 88); - passwd.setLayoutData(passwdLData); - passwd.addKeyListener(new KeyAdapter() { - public void keyPressed(KeyEvent evt) { - if (evt.character==SWT.CR){ - OkPressed(); - } - } - }); - } - { - ok = new Button(composite, SWT.PUSH | SWT.CENTER); - ok.setText("OK"); - FormData okLData = new FormData(); - okLData.width = 65; - okLData.height = 21; - okLData.left = new FormAttachment(0, 1000, 110); - okLData.top = new FormAttachment(0, 1000, 115); - ok.setLayoutData(okLData); - ok.setFont(SWTResourceManager.getFont("Times", 10, 1, false, false)); - ok.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent evt) { - OkPressed(); - } - }); - } - { - passwdLable = new CLabel(composite, SWT.NONE); - passwdLable.setText("Password:"); - FormData passwdLableLData = new FormData(); - passwdLableLData.width = 70; - passwdLableLData.height = 20; - passwdLableLData.left = new FormAttachment(0, 1000, 35); - passwdLableLData.top = new FormAttachment(0, 1000, 83); - passwdLable.setLayoutData(passwdLableLData); - passwdLable.setFont(SWTResourceManager.getFont("Times", 10, 0, false, false)); - } - { - usernameLable = new CLabel(composite, SWT.NONE); - usernameLable.setText("Username:"); - FormData usernameLableLData = new FormData(); - usernameLableLData.width = 70; - usernameLableLData.height = 20; - usernameLableLData.left = new FormAttachment(0, 1000, 35); - usernameLableLData.top = new FormAttachment(0, 1000, 60); - usernameLable.setLayoutData(usernameLableLData); - usernameLable.setFont(SWTResourceManager.getFont("Times", 10, 0, false, false)); - } - } - this.layout(); - - } - private void OkPressed(){ - AccessRights kind; - kind = model.userVerify(username.getText(), passwd.getText()); - - if (kind.value() == AccessRights._NO_YALP_SERVER ) { - cLabel1.setText("Server offline"); - } else if (kind.value() == AccessRights._DENY ){ - cLabel1.setText("Access Denied"); - username.setText(""); - passwd.setText(""); - username.setFocus(); - } else { - display.close(); - InitGUI gui = new InitGUI(model, kind); - } - - } - - public void show(){ - ((Shell)this.parent).setImage(new Image(display,"img/yalpV2_klein.gif")); - ((Shell)this.parent).setText("yalp"); - Point size = this.getSize(); - java.awt.Dimension screen = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); - Rectangle shellBounds = this.parent.computeTrim((screen.width-size.x)/2,(screen.height-size.y)/2,size.x,size.y); - this.parent.setLayout(new FillLayout()); - this.parent.layout(); - this.parent.setBounds(shellBounds); - ((Shell)this.parent).open(); - while (!this.parent.isDisposed()) { - if (!display.readAndDispatch()) - display.sleep(); - } - } - - -} +/* + * Copyright (c) 2006 Manuel Traut and Volker Dahnke + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: Manuel Traut and Volker Dahnke + */ + +package YalpClients.SwtClient.GUI; + +import YalpClients.SwtClient.Model; +import YalpInterfaces.AccessRights; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.*; +import org.eclipse.swt.events.*; +import org.eclipse.swt.graphics.*; +import org.eclipse.swt.layout.*; +import org.eclipse.swt.widgets.*; + +/* + * Class StartDialog + * + * + * + * @author Volker Dahnke / Manuel Traut + * + * @version 1 02-04-2006
+ */ +public class StartDialog extends Composite { + + { + //Register as a resource user - SWTResourceManager will + //handle the obtaining and disposing of resources + SWTResourceManager.registerResourceUser(this); + } + private Display display; + private CLabel cLabel1; + private CLabel LogoLabel; + private Model model; + private Composite parent; + private Composite composite; + private CLabel logonLable; + private Button ok; + private Text passwd; + private Text username; + private CLabel passwdLable; + private CLabel usernameLable; + + + public StartDialog(Composite parent,Model model, int style) { + super(parent, style); + + this.parent=parent; + this.model=model; + this.display=Display.getDefault(); + initStartDialog(); + } + + private void initStartDialog(){ + GridLayout thisLayout = new GridLayout(); + thisLayout.makeColumnsEqualWidth = true; + this.setLayout(thisLayout); + this.setSize(300,150); + Listener listener =new Listener() { + public void handleEvent(org.eclipse.swt.widgets.Event evt) { + if (evt.character==SWT.CR){ + OkPressed(); + } + } + }; + addListener(SWT.KeyDown,listener); + { + composite = new Composite(this, SWT.NONE); + FormLayout compositeLayout = new FormLayout(); + composite.setLayout(compositeLayout); + GridData compositeLData = new GridData(); + compositeLData.widthHint = 287; + compositeLData.heightHint = 140; + composite.setLayoutData(compositeLData); + composite.setVisible(true); + composite.addKeyListener(new KeyAdapter() { + public void keyPressed(KeyEvent evt) { + if (evt.character==SWT.CR){ + OkPressed(); + } + } + }); + { + cLabel1 = new CLabel(composite, SWT.NONE); + FormData cLabel1LData = new FormData(); + cLabel1LData.width = 120; + cLabel1LData.height = 20; + cLabel1LData.left = new FormAttachment(0, 1000, 93); + cLabel1LData.top = new FormAttachment(0, 1000, 40); + cLabel1.setLayoutData(cLabel1LData); + Color col =display.getSystemColor(SWT.COLOR_RED); + cLabel1.setForeground(col); + cLabel1.setFont(SWTResourceManager.getFont("Times", 10, 1, false, false)); + } + { + LogoLabel = new CLabel(composite, SWT.NONE); + FormData LogoLabelLData = new FormData(); + LogoLabelLData.width = 70; + LogoLabelLData.height = 42; + LogoLabelLData.left = new FormAttachment(0, 1000, 77); + LogoLabelLData.top = new FormAttachment(0, 1000, 0); + LogoLabelLData.right = new FormAttachment(1000, 1000, -140); + LogoLabelLData.bottom = new FormAttachment(1000, 1000, -98); + LogoLabel.setLayoutData(LogoLabelLData); + LogoLabel.setImage(new Image(this.getDisplay(),"img/yalpV2_mittel.gif")); + } + { + logonLable = new CLabel(composite, SWT.BEGINNING); + logonLable.setText("Login"); + FormData logonLableLData = new FormData(); + logonLableLData.width = 70; + logonLableLData.height = 28; + logonLableLData.left = new FormAttachment(0, 1000, 147); + logonLableLData.top = new FormAttachment(0, 1000, 5); + logonLable.setLayoutData(logonLableLData); + logonLable.setFont(SWTResourceManager.getFont("Times", 14, 1, false, false)); + } + { + username = new Text(composite, SWT.NONE); + FormData usernameLData = new FormData(); + usernameLData.width = 117; + usernameLData.height = 15; + usernameLData.left = new FormAttachment(0, 1000, 120); + usernameLData.top = new FormAttachment(0, 1000, 65); + username.setLayoutData(usernameLData); + username.setFocus(); + username.addKeyListener(new KeyAdapter() { + public void keyPressed(KeyEvent evt) { + if (evt.character==SWT.CR){ + OkPressed(); + } + } + }); + } + { + passwd = new Text(composite, SWT.PASSWORD); + FormData passwdLData = new FormData(); + passwdLData.width = 117; + passwdLData.height = 15; + passwdLData.left = new FormAttachment(0, 1000, 120); + passwdLData.top = new FormAttachment(0, 1000, 88); + passwd.setLayoutData(passwdLData); + passwd.addKeyListener(new KeyAdapter() { + public void keyPressed(KeyEvent evt) { + if (evt.character==SWT.CR){ + OkPressed(); + } + } + }); + } + { + ok = new Button(composite, SWT.PUSH | SWT.CENTER); + ok.setText("OK"); + FormData okLData = new FormData(); + okLData.width = 65; + okLData.height = 21; + okLData.left = new FormAttachment(0, 1000, 110); + okLData.top = new FormAttachment(0, 1000, 115); + ok.setLayoutData(okLData); + ok.setFont(SWTResourceManager.getFont("Times", 10, 1, false, false)); + ok.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + OkPressed(); + } + }); + } + { + passwdLable = new CLabel(composite, SWT.NONE); + passwdLable.setText("Password:"); + FormData passwdLableLData = new FormData(); + passwdLableLData.width = 70; + passwdLableLData.height = 20; + passwdLableLData.left = new FormAttachment(0, 1000, 35); + passwdLableLData.top = new FormAttachment(0, 1000, 83); + passwdLable.setLayoutData(passwdLableLData); + passwdLable.setFont(SWTResourceManager.getFont("Times", 10, 0, false, false)); + } + { + usernameLable = new CLabel(composite, SWT.NONE); + usernameLable.setText("Username:"); + FormData usernameLableLData = new FormData(); + usernameLableLData.width = 70; + usernameLableLData.height = 20; + usernameLableLData.left = new FormAttachment(0, 1000, 35); + usernameLableLData.top = new FormAttachment(0, 1000, 60); + usernameLable.setLayoutData(usernameLableLData); + usernameLable.setFont(SWTResourceManager.getFont("Times", 10, 0, false, false)); + } + } + this.layout(); + + } + private void OkPressed(){ + AccessRights kind; + kind = model.userVerify(username.getText(), passwd.getText()); + + if (kind.value() == AccessRights._NO_YALP_SERVER ) { + cLabel1.setText("Server offline"); + } else if (kind.value() == AccessRights._DENY ){ + cLabel1.setText("Access Denied"); + username.setText(""); + passwd.setText(""); + username.setFocus(); + } else { + display.close(); + InitGUI gui = new InitGUI(model, kind); + } + + } + + public void show(){ + ((Shell)this.parent).setImage(new Image(display,"img/yalpV2_klein.gif")); + ((Shell)this.parent).setText("yalp"); + Point size = this.getSize(); + java.awt.Dimension screen = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); + Rectangle shellBounds = this.parent.computeTrim((screen.width-size.x)/2,(screen.height-size.y)/2,size.x,size.y); + this.parent.setLayout(new FillLayout()); + this.parent.layout(); + this.parent.setBounds(shellBounds); + ((Shell)this.parent).open(); + while (!this.parent.isDisposed()) { + if (!display.readAndDispatch()) + display.sleep(); + } + } + + +} diff --git a/src/YalpClients/SwtClient/Model.java b/src/YalpClients/SwtClient/Model.java index 5423dc4..0ebc09c 100755 --- a/src/YalpClients/SwtClient/Model.java +++ b/src/YalpClients/SwtClient/Model.java @@ -1,759 +1,759 @@ -/* - * Copyright (c) 2006 Manuel Traut and Volker Dahnke - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: Manuel Traut and Volker Dahnke - */ - -package YalpClients.SwtClient; - -import YalpInterfaces.*; -import YalpClients.*; - -import java.beans.XMLDecoder; -import java.beans.XMLEncoder; -import java.io.*; -import java.net.Inet4Address; -import java.net.MalformedURLException; -import java.net.UnknownHostException; -import java.sql.SQLException; -import java.util.ArrayList; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.MessageBox; -import org.eclipse.swt.widgets.Shell; - -import org.omg.CosNaming.*; -import org.omg.CosNaming.NamingContextPackage.*; -import org.omg.CORBA.*; - -/* - * Class Model - * - * Implementiert die Schnittstellenfunktionen zur Steuerung des Servers - * (Datenbankinhalte schreiben, lesen; Streaming steuern - * - * @author Volker Dahnke / Manuel Traut - * - * @version 0.6 14-12-2005
- * - * @see client.GUI - */ - -public class Model { - - public ServerControlInterface srvCon; - private Process vlcPlayer; - private Output actualStream = new Output(); - private Output streamInfo = new Output(); - private ArrayList findMedia = new ArrayList(); - private ArrayList editMedia = new ArrayList(); - private ArrayList toPlaylist = new ArrayList(); - private ArrayList playList = new ArrayList(); - private ArrayList userList = new ArrayList(); - private ClientConfiguration settings; - private String clientIP; - private String curPasswd; - private AccessRights userGroup=AccessRights.DENY; - private String userName; - private Boolean playback = false; - private Boolean logoff= false; - private Session session = new Session(); -/* - * Instances srvConnection to Registry, DbConnection, ServerControl - * and VlcStreamer. Also instances Class variables - */ - public Model(String[] argv) { - - this.settings=new ClientConfiguration(); - loadConfig("ClientConfiguration.xml"); - writeConfig("ClientConfiguration.xml"); - - try { - ORB orb = ORB.init(argv, null); - - org.omg.CORBA.Object objRef = - orb.resolve_initial_references("NameService"); - - NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef); - - String name = "YALP_Server"; - srvCon = ServerControlInterfaceHelper.narrow(ncRef.resolve_str(name)); - } catch (Exception e) {// DEBUG - String errorStr="couldn't connect to YALP Server"; - - MessageBox messageBox = new MessageBox( - new Shell(Display.getDefault(),SWT.MIN), SWT.OK ); - - System.out.println(e); - messageBox.setMessage(errorStr); - messageBox.open(); - System.exit(0); - } - - // determine client IP Adress - try { - this.clientIP = Inet4Address.getLocalHost().getHostAddress(); - System.out.println(this.clientIP); - } catch (UnknownHostException e) { - String errorStr = "Model.model: determine IP failed"; - - MessageBox messageBox = new MessageBox( - new Shell(Display.getDefault(),SWT.MIN), SWT.OK ); - - System.out.println(errorStr); - messageBox.setMessage(errorStr); - messageBox.open(); - System.exit(0); - } - this.userList = new ArrayList(); - this.playList = new ArrayList(); - this.toPlaylist = new ArrayList(); - } - -/* - * write Configuration to XML File - * - * @param fileName - * @return boolean: true if succesful - */ - public boolean writeConfig(String fileName) { - try { - FileOutputStream srvConfigFile = new FileOutputStream(fileName); - XMLEncoder srvConfigWriter = new XMLEncoder(srvConfigFile); - srvConfigWriter.writeObject(settings.serverIP); - srvConfigWriter.writeObject(settings.classServerPort); - srvConfigWriter.writeObject(settings.registryPort); - srvConfigWriter.writeObject(settings.vlcCommand); - srvConfigWriter.close(); - } catch (FileNotFoundException fnfe) { - return false; - } - return true; - } - -/* - * load Configuration from XML File if possible - * - * @param fileName - * @return boolean: true if succesful - */ - public boolean loadConfig(String fileName){ - try{ - FileInputStream srvConfigFile = new FileInputStream(fileName); - XMLDecoder srvConfigLoader = new XMLDecoder(srvConfigFile); - System.out.println(srvConfigFile); - settings.serverIP = (String)srvConfigLoader.readObject(); - settings.classServerPort= (Integer)srvConfigLoader.readObject(); - settings.registryPort = (Integer)srvConfigLoader.readObject(); - settings.vlcCommand = (String)srvConfigLoader.readObject(); - srvConfigLoader.close(); - } catch(FileNotFoundException fnfe) { - System.out.println("Configuration not found, loading defaults..."); - return false; - } catch(ClassCastException cce) { - System.out.println("Errors in Configuration, loading defaults..."); - return false; - } - return true; - } - -/* - * get acutal srvConfig object - * - * @return ClientConfiguration: aktuelle Konfiguration - */ - public ClientConfiguration getConfig(){ - return this.settings; - } - -/* - * setzen und speichern eines ClientConfiguration Files - * - * @param set - * ClientConfiguration.xml - * @return boolean: true if succesful written Configuration - */ - public boolean setConfig(ClientConfiguration set){ - this.settings = set; - return this.writeConfig("ClientConfiguration.xml"); - } - -/* - * Sends YalpUsername and passwd to Server and returns YalpUsergroup - * - * @param username - * @param passwd - * @return AccessRights - */ - public AccessRights userVerify(String username,String passwd){ - this.userName=username; - this.curPasswd = passwd; - YalpErrorHolder err = new YalpErrorHolder(); - SessionHolder sess = new SessionHolder(); - try{ - // log on server - this.srvCon.clientLogon(this.userName,passwd,this.clientIP,sess,err); - this.session = sess.value; - this.userGroup = sess.value.me.level; - /* - } catch (RemoteException e) { - System.out.println("client.Model: Logon on Server failed 1"+ e); - e.printStackTrace(); - System.out.println("client.Model: Logon on Server failed 1"); - } catch (MalformedURLException e) { - System.out.println("client.Model: Logon on Server failed 2"); - } catch (SQLException e) { - System.out.println("client.Model: Logon on Server failed 3"); - } catch (NotBoundException e) { - System.out.println("client.Model: Logon on Server failed 4"); - */ - }catch(NullPointerException e){ - System.out.println("YALP Server couldn't be reached"); - this.userGroup = AccessRights.NO_YALP_SERVER; - } - return this.userGroup; - } - -/* - * Gets a list with all YalpUsers from the server - * - * @return ArrayList all registered YalpUsers - */ - public ArrayList getUser(){ - YalpErrorHolder err = new YalpErrorHolder(); - try{ - UsersHolder usr = new UsersHolder(); - this.srvCon.getUser(usr, err); - this.userList = new ArrayList(usr.value.length); - for(int i = 0; i < usr.value.length; i++) - this.userList.add(usr.value[i]); - }catch(Exception e){ - System.out.println("Exceoption in Model userList "+ e); - } - return userList; - } - -/* - * Sends User change request to server - * - * @param user - * Configuration with changes on specific YalpUser - */ - public void changeUser(YalpUser user, String passwd, Action action) { - YalpErrorHolder err = new YalpErrorHolder(); - try{ - this.srvCon.changeUser( user, - passwd, - action, - err ); - System.out.println(err.value.descr); - }catch(Exception e){ - System.out.println("Exceoption in Model changeUser "+ e); - } - } - -/* - * Sends Media change request to server and refreshes Model data - * - * @param media - * to change - * @return boolean: succesful changed media - */ - public Boolean changeMedia(Media media, Action action){ - YalpErrorHolder err = new YalpErrorHolder(); - try{ - this.srvCon.changeMedia(media, action, err); - if(err.value.code == YalpErrorCode.OK){ - Media result; - for (int i=0;i: ArrayList to create Playlist from - */ - public ArrayList getToPlaylist(){ - return this.toPlaylist; - } - -/* - * Creates new Stream with actual playlist - * - * @return Streaminfo: about new created Stream, Client should use this, - * information to get the Information howto receive the stream - */ - public Output createOutput(){ - /* t.b.d. former createStream */ - streamInfo.outputAction = Action.CREATE; - Media[] a = {}; - streamInfo.playlist = this.playList.toArray(a); - return this.streamInfo; - } - -/* - * Sends search request to server and refreshes Model data - * - * @param request - * Search Request - * @param kind - * 1 - search in first Window; other ints: search in other window - * (admins edit view) - * @return int: number of results - */ - public int search(String request, ArrayList types, int kind){ - YalpErrorHolder err = new YalpErrorHolder(); - MediasHolder result = new MediasHolder(); - try{ - MediaType[] a = {}; - if (kind == 1){ - srvCon.search(request, types.toArray(a), result, err); - for(int i = 0; i < result.value.length; i++) - findMedia.add(result.value[i]); - return findMedia.size(); - } else { - srvCon.search(request, types.toArray(a), result, err); - for(int i = 0; i < result.value.length; i++) - editMedia.add(result.value[i]); - return editMedia.size(); - } - } catch(Exception e){ - e.printStackTrace(); - System.out.println("Exceoption in Model search "+ e); - return 0; - } - } - -/* - * Returns the search result - * - * @param kind - * 1 - for searchMedia of mainwindow; 2 - for searchMedia of editView - * @return ArrayList: last found medias - */ - - public ArrayList getMedia(int kind){ - if (kind==1) return this.findMedia; - else return this.editMedia; - } - -/* - * Retuns search result with given id - * - * @param id - * of the result - * @param kind - * 1 - for mainWindow, 2 for admins editView - * @return Media: searchMedia, with specified ID - */ - public Media getMediaWithId(int id,int kind){ - ArrayList resultList; - if (kind==1)resultList= this.findMedia; - else resultList=this.editMedia; - for (int i=0;(i ownerList =this.userList; - for (YalpUser owner:ownerList){ - if (owner.name.equals(username)){ - return owner.id; - } - } - return 0; - } - -/* - * Returns MediaType as string - * - * @param mediatype - * @return string - */ - public String getTypeName(MediaType type) - { - switch(type.value()) - { - case MediaType._IMAGE: - return "image"; - case MediaType._SOUND: - return "sound"; - case MediaType._VIDEO: - return "video"; - default: - return "unknown"; - } - } - -/* - * Returns AccessRights as string - * - * @param mediatype - * @return string - */ - public String accessRightsName(AccessRights type) - { - switch(type.value()) - { - case AccessRights._USER: - return "user"; - case AccessRights._ADMIN: - return "admin"; - case AccessRights._DENY: - return "no login"; - default: - return "unknown"; - } - } - - -/* - * Sets class variable actualStream to given value - * - * @param aStream - * stream to srvControl via play, pause, etc - */ - public void setActualStream(Output aStream){ - actualStream = aStream; - } - -/* - * Starts Video Lan Player - * - * @return boolean: true if vlc can be started and a stream is actualStream - */ - private boolean startVLC(){ - - String vlcCmd = "/usr/bin/vlc" + - " --ignore-config --no-qt-privacy-ask --video-on-top --qt-display-mode=2"; - //settings.vlcCommand -/* - switch (this.actualStream.getAccess()){ - case UDP: - */ - vlcCmd += " udp://@:"; - /* - break; - case HTTP: - vlcCmd += "http://"; - break; - default: - System.out.println( - "client.Model.startVLC: playback this type is not supported" ); - } -*/ - vlcCmd += "9993"; // actualStream.info.params; - System.out.println(vlcCmd); - - try { - this.vlcPlayer = Runtime.getRuntime().exec(vlcCmd); - } catch (IOException e) { - System.out.println("client.Model.startVLC: starting vlcPlayer failed"); - return false; - } - return true; - } - -/* - * Stops Video Lan Player - * - */ - private void stopVLC(){ - playback = false; - if(vlcPlayer != null) - vlcPlayer.destroy(); - } - -/* - * Starts playback of actual playlist - * - * @return void - */ - public boolean play(){ - - playback = true; - - actualStream.outputAction = Action.CREATE; - actualStream.info = new AccessInfo( "bam", - "bam", - "vlc", - "params", - AccessType.STREAM ); - - Media[] a = new Media[playList.size()]; - actualStream.playlist = playList.toArray(a); - actualStream.destIp = clientIP; - - YalpErrorHolder err = new YalpErrorHolder(); - - OutputHolder tmp = new OutputHolder(); - tmp.value = actualStream; - - srvCon.control(tmp, err); - actualStream = tmp.value; - - actualStream.outputAction = Action.START; - OutputHolder tmp2 = new OutputHolder(actualStream); - srvCon.control(tmp2, err); - actualStream = tmp2.value; - startVLC(); - return true; - } - -/* - * Adds a new Media to Playlist. Only during playback - * - * @param name - * @param path - * @return boolean: true if succesful added - */ - public boolean add2Stream(String name, String path){ - - YalpErrorHolder err = new YalpErrorHolder(); - Media[] empty = {}; - this.actualStream.playlist = empty; - - Media media = new Media(); - media.path = path; - media.fileName = name; - - this.actualStream.playlist[this.actualStream.playlist.length] = media; - this.actualStream.outputAction = Action.CREATE; - - OutputHolder tmp = new OutputHolder(this.actualStream); - this.srvCon.control(tmp, err); - this.actualStream = tmp.value; - return true; - } - -/* - * Stops playback - * - * @return boolean: false - if srvConnection to streamer failed - */ - public boolean stop(){ - YalpErrorHolder err = new YalpErrorHolder(); - this.actualStream.outputAction = Action.STOP; - OutputHolder tmp = new OutputHolder(this.actualStream); - this.srvCon.control(tmp,err); - this.actualStream = tmp.value; - this.stopVLC(); - return true; - } - -/* - * jumps to next media in playlist - * - * @return boolean: false - if srvConnection to streamer failed - */ - public boolean next(){ - YalpErrorHolder err = new YalpErrorHolder(); - this.actualStream.outputAction = Action.FORWARD; - OutputHolder tmp = new OutputHolder(this.actualStream); - this.srvCon.control(tmp,err); - this.actualStream = tmp.value; - return true; - } - -/* - * Pauses playback - * - * @return boolean: false - if srvConnection to streamer failed - */ - public boolean pause(){ - YalpErrorHolder err = new YalpErrorHolder(); - this.actualStream.outputAction = Action.PAUSE; - OutputHolder tmp = new OutputHolder(this.actualStream); - this.srvCon.control(tmp,err); - this.actualStream = tmp.value; - return true; - } - -/* - * Causes the server to clean up and shutdown - * - */ - public void serverShutdown(){ - if (this.playback) - this.stop(); - this.srvCon.serverShutdown(); - } - -/* - * Checks if the server is still alive if not Client shutdown - * - */ - public void serverStillAlive(){ - // try{ - // srvCon.ping(); - /* }catch (RemoteException e){ - if (this.playback) - this.stopVLC(); - String errorStr="Server shutdown - Client is going down too"; - - MessageBox messageBox = new MessageBox( - new Shell(Display.getDefault(),SWT.MIN), SWT.OK); - - System.out.println(errorStr); - messageBox.setMessage(errorStr); - messageBox.open(); - System.exit(0); - } */ - } - -/* - * Returns client IP address - * - * @return String: ipAddress - */ - public String getClientIp(){ - return this.clientIP; - } - -/* - * Returns username of logged in user - * - * @return String: username - */ - public String getYalpUserName(){ - return this.userName; - } - -/* - * Returns indication if playback is runing - * - * @return boolean: true - if is play'in - */ - public Boolean getPlayback(){ - return this.playback; - } - -/* - * Get Total amount of streams played - * - * @return int: number of Streams totally played - * - public int getAllStreamNum(){ - try{ - return this.srvCon.getStreamCounter().getAllStreams(); - }catch (Exception e){ - System.out.println("Exception in Model.getAllStreamNum"+e); - } - return -1; - } - */ - -/* - * Gets amount of Streams actual playing - * - * @return int: number of Streams play'in at the moment - * - public int getActualStreamNum(){ - try{ - return this.srvCon.getStreamCounter().getActualStreams(); - }catch (Exception e){ - System.out.println("Exception in Model.getActualStreamNum"+e); - } - return -1; - } - */ - -/* - * Sets class variable logoff to true and logs off from server - */ - public void logoff(){ - YalpErrorHolder err = new YalpErrorHolder(); - try{ - this.logoff=true; - this.srvCon.clientLogoff(this.session, err); - }catch(Exception e) {// DEBUG - System.out.println("Model Exeptions in logoff"); - e.printStackTrace(); - } - } - -/* - * Returns indication if client is logging of - * - * @return Boolean: true - if is logging of - */ - public Boolean getLogoff(){ - return this.logoff; - } -} +/* + * Copyright (c) 2006 Manuel Traut and Volker Dahnke + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: Manuel Traut and Volker Dahnke + */ + +package YalpClients.SwtClient; + +import YalpInterfaces.*; +import YalpClients.*; + +import java.beans.XMLDecoder; +import java.beans.XMLEncoder; +import java.io.*; +import java.net.Inet4Address; +import java.net.MalformedURLException; +import java.net.UnknownHostException; +import java.sql.SQLException; +import java.util.ArrayList; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.MessageBox; +import org.eclipse.swt.widgets.Shell; + +import org.omg.CosNaming.*; +import org.omg.CosNaming.NamingContextPackage.*; +import org.omg.CORBA.*; + +/* + * Class Model + * + * Implementiert die Schnittstellenfunktionen zur Steuerung des Servers + * (Datenbankinhalte schreiben, lesen; Streaming steuern + * + * @author Volker Dahnke / Manuel Traut + * + * @version 0.6 14-12-2005
+ * + * @see client.GUI + */ + +public class Model { + + public ServerControlInterface srvCon; + private Process vlcPlayer; + private Output actualStream = new Output(); + private Output streamInfo = new Output(); + private ArrayList findMedia = new ArrayList(); + private ArrayList editMedia = new ArrayList(); + private ArrayList toPlaylist = new ArrayList(); + private ArrayList playList = new ArrayList(); + private ArrayList userList = new ArrayList(); + private ClientConfiguration settings; + private String clientIP; + private String curPasswd; + private AccessRights userGroup=AccessRights.DENY; + private String userName; + private Boolean playback = false; + private Boolean logoff= false; + private Session session = new Session(); +/* + * Instances srvConnection to Registry, DbConnection, ServerControl + * and VlcStreamer. Also instances Class variables + */ + public Model(String[] argv) { + + this.settings=new ClientConfiguration(); + loadConfig("ClientConfiguration.xml"); + writeConfig("ClientConfiguration.xml"); + + try { + ORB orb = ORB.init(argv, null); + + org.omg.CORBA.Object objRef = + orb.resolve_initial_references("NameService"); + + NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef); + + String name = "YALP_Server"; + srvCon = ServerControlInterfaceHelper.narrow(ncRef.resolve_str(name)); + } catch (Exception e) {// DEBUG + String errorStr="couldn't connect to YALP Server"; + + MessageBox messageBox = new MessageBox( + new Shell(Display.getDefault(),SWT.MIN), SWT.OK ); + + System.out.println(e); + messageBox.setMessage(errorStr); + messageBox.open(); + System.exit(0); + } + + // determine client IP Adress + try { + this.clientIP = Inet4Address.getLocalHost().getHostAddress(); + System.out.println(this.clientIP); + } catch (UnknownHostException e) { + String errorStr = "Model.model: determine IP failed"; + + MessageBox messageBox = new MessageBox( + new Shell(Display.getDefault(),SWT.MIN), SWT.OK ); + + System.out.println(errorStr); + messageBox.setMessage(errorStr); + messageBox.open(); + System.exit(0); + } + this.userList = new ArrayList(); + this.playList = new ArrayList(); + this.toPlaylist = new ArrayList(); + } + +/* + * write Configuration to XML File + * + * @param fileName + * @return boolean: true if succesful + */ + public boolean writeConfig(String fileName) { + try { + FileOutputStream srvConfigFile = new FileOutputStream(fileName); + XMLEncoder srvConfigWriter = new XMLEncoder(srvConfigFile); + srvConfigWriter.writeObject(settings.serverIP); + srvConfigWriter.writeObject(settings.classServerPort); + srvConfigWriter.writeObject(settings.registryPort); + srvConfigWriter.writeObject(settings.vlcCommand); + srvConfigWriter.close(); + } catch (FileNotFoundException fnfe) { + return false; + } + return true; + } + +/* + * load Configuration from XML File if possible + * + * @param fileName + * @return boolean: true if succesful + */ + public boolean loadConfig(String fileName){ + try{ + FileInputStream srvConfigFile = new FileInputStream(fileName); + XMLDecoder srvConfigLoader = new XMLDecoder(srvConfigFile); + System.out.println(srvConfigFile); + settings.serverIP = (String)srvConfigLoader.readObject(); + settings.classServerPort= (Integer)srvConfigLoader.readObject(); + settings.registryPort = (Integer)srvConfigLoader.readObject(); + settings.vlcCommand = (String)srvConfigLoader.readObject(); + srvConfigLoader.close(); + } catch(FileNotFoundException fnfe) { + System.out.println("Configuration not found, loading defaults..."); + return false; + } catch(ClassCastException cce) { + System.out.println("Errors in Configuration, loading defaults..."); + return false; + } + return true; + } + +/* + * get acutal srvConfig object + * + * @return ClientConfiguration: aktuelle Konfiguration + */ + public ClientConfiguration getConfig(){ + return this.settings; + } + +/* + * setzen und speichern eines ClientConfiguration Files + * + * @param set + * ClientConfiguration.xml + * @return boolean: true if succesful written Configuration + */ + public boolean setConfig(ClientConfiguration set){ + this.settings = set; + return this.writeConfig("ClientConfiguration.xml"); + } + +/* + * Sends YalpUsername and passwd to Server and returns YalpUsergroup + * + * @param username + * @param passwd + * @return AccessRights + */ + public AccessRights userVerify(String username,String passwd){ + this.userName=username; + this.curPasswd = passwd; + YalpErrorHolder err = new YalpErrorHolder(); + SessionHolder sess = new SessionHolder(); + try{ + // log on server + this.srvCon.clientLogon(this.userName,passwd,this.clientIP,sess,err); + this.session = sess.value; + this.userGroup = sess.value.me.level; + /* + } catch (RemoteException e) { + System.out.println("client.Model: Logon on Server failed 1"+ e); + e.printStackTrace(); + System.out.println("client.Model: Logon on Server failed 1"); + } catch (MalformedURLException e) { + System.out.println("client.Model: Logon on Server failed 2"); + } catch (SQLException e) { + System.out.println("client.Model: Logon on Server failed 3"); + } catch (NotBoundException e) { + System.out.println("client.Model: Logon on Server failed 4"); + */ + }catch(NullPointerException e){ + System.out.println("YALP Server couldn't be reached"); + this.userGroup = AccessRights.NO_YALP_SERVER; + } + return this.userGroup; + } + +/* + * Gets a list with all YalpUsers from the server + * + * @return ArrayList all registered YalpUsers + */ + public ArrayList getUser(){ + YalpErrorHolder err = new YalpErrorHolder(); + try{ + UsersHolder usr = new UsersHolder(); + this.srvCon.getUser(usr, err); + this.userList = new ArrayList(usr.value.length); + for(int i = 0; i < usr.value.length; i++) + this.userList.add(usr.value[i]); + }catch(Exception e){ + System.out.println("Exceoption in Model userList "+ e); + } + return userList; + } + +/* + * Sends User change request to server + * + * @param user + * Configuration with changes on specific YalpUser + */ + public void changeUser(YalpUser user, String passwd, Action action) { + YalpErrorHolder err = new YalpErrorHolder(); + try{ + this.srvCon.changeUser( user, + passwd, + action, + err ); + System.out.println(err.value.descr); + }catch(Exception e){ + System.out.println("Exceoption in Model changeUser "+ e); + } + } + +/* + * Sends Media change request to server and refreshes Model data + * + * @param media + * to change + * @return boolean: succesful changed media + */ + public Boolean changeMedia(Media media, Action action){ + YalpErrorHolder err = new YalpErrorHolder(); + try{ + this.srvCon.changeMedia(media, action, err); + if(err.value.code == YalpErrorCode.OK){ + Media result; + for (int i=0;i: ArrayList to create Playlist from + */ + public ArrayList getToPlaylist(){ + return this.toPlaylist; + } + +/* + * Creates new Stream with actual playlist + * + * @return Streaminfo: about new created Stream, Client should use this, + * information to get the Information howto receive the stream + */ + public Output createOutput(){ + /* t.b.d. former createStream */ + streamInfo.outputAction = Action.CREATE; + Media[] a = {}; + streamInfo.playlist = this.playList.toArray(a); + return this.streamInfo; + } + +/* + * Sends search request to server and refreshes Model data + * + * @param request + * Search Request + * @param kind + * 1 - search in first Window; other ints: search in other window + * (admins edit view) + * @return int: number of results + */ + public int search(String request, ArrayList types, int kind){ + YalpErrorHolder err = new YalpErrorHolder(); + MediasHolder result = new MediasHolder(); + try{ + MediaType[] a = {}; + if (kind == 1){ + srvCon.search(request, types.toArray(a), result, err); + for(int i = 0; i < result.value.length; i++) + findMedia.add(result.value[i]); + return findMedia.size(); + } else { + srvCon.search(request, types.toArray(a), result, err); + for(int i = 0; i < result.value.length; i++) + editMedia.add(result.value[i]); + return editMedia.size(); + } + } catch(Exception e){ + e.printStackTrace(); + System.out.println("Exceoption in Model search "+ e); + return 0; + } + } + +/* + * Returns the search result + * + * @param kind + * 1 - for searchMedia of mainwindow; 2 - for searchMedia of editView + * @return ArrayList: last found medias + */ + + public ArrayList getMedia(int kind){ + if (kind==1) return this.findMedia; + else return this.editMedia; + } + +/* + * Retuns search result with given id + * + * @param id + * of the result + * @param kind + * 1 - for mainWindow, 2 for admins editView + * @return Media: searchMedia, with specified ID + */ + public Media getMediaWithId(int id,int kind){ + ArrayList resultList; + if (kind==1)resultList= this.findMedia; + else resultList=this.editMedia; + for (int i=0;(i ownerList =this.userList; + for (YalpUser owner:ownerList){ + if (owner.name.equals(username)){ + return owner.id; + } + } + return 0; + } + +/* + * Returns MediaType as string + * + * @param mediatype + * @return string + */ + public String getTypeName(MediaType type) + { + switch(type.value()) + { + case MediaType._IMAGE: + return "image"; + case MediaType._SOUND: + return "sound"; + case MediaType._VIDEO: + return "video"; + default: + return "unknown"; + } + } + +/* + * Returns AccessRights as string + * + * @param mediatype + * @return string + */ + public String accessRightsName(AccessRights type) + { + switch(type.value()) + { + case AccessRights._USER: + return "user"; + case AccessRights._ADMIN: + return "admin"; + case AccessRights._DENY: + return "no login"; + default: + return "unknown"; + } + } + + +/* + * Sets class variable actualStream to given value + * + * @param aStream + * stream to srvControl via play, pause, etc + */ + public void setActualStream(Output aStream){ + actualStream = aStream; + } + +/* + * Starts Video Lan Player + * + * @return boolean: true if vlc can be started and a stream is actualStream + */ + private boolean startVLC(){ + + String vlcCmd = "/usr/bin/vlc" + + " --ignore-config --no-qt-privacy-ask --video-on-top --qt-display-mode=2"; + //settings.vlcCommand +/* + switch (this.actualStream.getAccess()){ + case UDP: + */ + vlcCmd += " udp://@:"; + /* + break; + case HTTP: + vlcCmd += "http://"; + break; + default: + System.out.println( + "client.Model.startVLC: playback this type is not supported" ); + } +*/ + vlcCmd += "9993"; // actualStream.info.params; + System.out.println(vlcCmd); + + try { + this.vlcPlayer = Runtime.getRuntime().exec(vlcCmd); + } catch (IOException e) { + System.out.println("client.Model.startVLC: starting vlcPlayer failed"); + return false; + } + return true; + } + +/* + * Stops Video Lan Player + * + */ + private void stopVLC(){ + playback = false; + if(vlcPlayer != null) + vlcPlayer.destroy(); + } + +/* + * Starts playback of actual playlist + * + * @return void + */ + public boolean play(){ + + playback = true; + + actualStream.outputAction = Action.CREATE; + actualStream.info = new AccessInfo( "bam", + "bam", + "vlc", + "params", + AccessType.STREAM ); + + Media[] a = new Media[playList.size()]; + actualStream.playlist = playList.toArray(a); + actualStream.destIp = clientIP; + + YalpErrorHolder err = new YalpErrorHolder(); + + OutputHolder tmp = new OutputHolder(); + tmp.value = actualStream; + + srvCon.control(tmp, err); + actualStream = tmp.value; + + actualStream.outputAction = Action.START; + OutputHolder tmp2 = new OutputHolder(actualStream); + srvCon.control(tmp2, err); + actualStream = tmp2.value; + startVLC(); + return true; + } + +/* + * Adds a new Media to Playlist. Only during playback + * + * @param name + * @param path + * @return boolean: true if succesful added + */ + public boolean add2Stream(String name, String path){ + + YalpErrorHolder err = new YalpErrorHolder(); + Media[] empty = {}; + this.actualStream.playlist = empty; + + Media media = new Media(); + media.path = path; + media.fileName = name; + + this.actualStream.playlist[this.actualStream.playlist.length] = media; + this.actualStream.outputAction = Action.CREATE; + + OutputHolder tmp = new OutputHolder(this.actualStream); + this.srvCon.control(tmp, err); + this.actualStream = tmp.value; + return true; + } + +/* + * Stops playback + * + * @return boolean: false - if srvConnection to streamer failed + */ + public boolean stop(){ + YalpErrorHolder err = new YalpErrorHolder(); + this.actualStream.outputAction = Action.STOP; + OutputHolder tmp = new OutputHolder(this.actualStream); + this.srvCon.control(tmp,err); + this.actualStream = tmp.value; + this.stopVLC(); + return true; + } + +/* + * jumps to next media in playlist + * + * @return boolean: false - if srvConnection to streamer failed + */ + public boolean next(){ + YalpErrorHolder err = new YalpErrorHolder(); + this.actualStream.outputAction = Action.FORWARD; + OutputHolder tmp = new OutputHolder(this.actualStream); + this.srvCon.control(tmp,err); + this.actualStream = tmp.value; + return true; + } + +/* + * Pauses playback + * + * @return boolean: false - if srvConnection to streamer failed + */ + public boolean pause(){ + YalpErrorHolder err = new YalpErrorHolder(); + this.actualStream.outputAction = Action.PAUSE; + OutputHolder tmp = new OutputHolder(this.actualStream); + this.srvCon.control(tmp,err); + this.actualStream = tmp.value; + return true; + } + +/* + * Causes the server to clean up and shutdown + * + */ + public void serverShutdown(){ + if (this.playback) + this.stop(); + this.srvCon.serverShutdown(); + } + +/* + * Checks if the server is still alive if not Client shutdown + * + */ + public void serverStillAlive(){ + // try{ + // srvCon.ping(); + /* }catch (RemoteException e){ + if (this.playback) + this.stopVLC(); + String errorStr="Server shutdown - Client is going down too"; + + MessageBox messageBox = new MessageBox( + new Shell(Display.getDefault(),SWT.MIN), SWT.OK); + + System.out.println(errorStr); + messageBox.setMessage(errorStr); + messageBox.open(); + System.exit(0); + } */ + } + +/* + * Returns client IP address + * + * @return String: ipAddress + */ + public String getClientIp(){ + return this.clientIP; + } + +/* + * Returns username of logged in user + * + * @return String: username + */ + public String getYalpUserName(){ + return this.userName; + } + +/* + * Returns indication if playback is runing + * + * @return boolean: true - if is play'in + */ + public Boolean getPlayback(){ + return this.playback; + } + +/* + * Get Total amount of streams played + * + * @return int: number of Streams totally played + * + public int getAllStreamNum(){ + try{ + return this.srvCon.getStreamCounter().getAllStreams(); + }catch (Exception e){ + System.out.println("Exception in Model.getAllStreamNum"+e); + } + return -1; + } + */ + +/* + * Gets amount of Streams actual playing + * + * @return int: number of Streams play'in at the moment + * + public int getActualStreamNum(){ + try{ + return this.srvCon.getStreamCounter().getActualStreams(); + }catch (Exception e){ + System.out.println("Exception in Model.getActualStreamNum"+e); + } + return -1; + } + */ + +/* + * Sets class variable logoff to true and logs off from server + */ + public void logoff(){ + YalpErrorHolder err = new YalpErrorHolder(); + try{ + this.logoff=true; + this.srvCon.clientLogoff(this.session, err); + }catch(Exception e) {// DEBUG + System.out.println("Model Exeptions in logoff"); + e.printStackTrace(); + } + } + +/* + * Returns indication if client is logging of + * + * @return Boolean: true - if is logging of + */ + public Boolean getLogoff(){ + return this.logoff; + } +} diff --git a/src/YalpClients/SwtClient/SwtClient.java b/src/YalpClients/SwtClient/SwtClient.java index 513d4ff..1950eaa 100755 --- a/src/YalpClients/SwtClient/SwtClient.java +++ b/src/YalpClients/SwtClient/SwtClient.java @@ -1,61 +1,61 @@ -/* - * - * Copyright (c) 2006 Manuel Traut and Volker Dahnke - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: Manuel Traut and Volker Dahnke - * - */ -package YalpClients.SwtClient; - -import YalpClients.SwtClient.GUI.*; - -import org.eclipse.swt.*; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Shell; - - -/* - * Class SwtClient - * - * static main method - * - * @author Volker Dahnke / Manuel Traut - * - * @version 0.1 20-11-2005
- */ -public class SwtClient{ - -/* - * Client initialization - * - * @param argv - * arguments which are not used - */ - public static void main (String[] argv) { - try{ - System.setProperty("java.security.policy","client.policy"); - } - catch (Exception e) {//DEBUG - System.out.println ("Server SecurityManagerExeptions not caught jet " + e); - System.exit(0); - } - - LoadDialog load = new LoadDialog( - new Shell(Display.getDefault(),SWT.NONE), SWT.NONE); - - load.show(); - final Model model = new Model(argv); - load.close(); - - StartDialog start = - new StartDialog(new Shell(Display.getDefault(),SWT.MIN),model, SWT.NONE); - - start.show(); - - return; - } -} +/* + * + * Copyright (c) 2006 Manuel Traut and Volker Dahnke + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: Manuel Traut and Volker Dahnke + * + */ +package YalpClients.SwtClient; + +import YalpClients.SwtClient.GUI.*; + +import org.eclipse.swt.*; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Shell; + + +/* + * Class SwtClient + * + * static main method + * + * @author Volker Dahnke / Manuel Traut + * + * @version 0.1 20-11-2005
+ */ +public class SwtClient{ + +/* + * Client initialization + * + * @param argv + * arguments which are not used + */ + public static void main (String[] argv) { + try{ + System.setProperty("java.security.policy","client.policy"); + } + catch (Exception e) {//DEBUG + System.out.println ("Server SecurityManagerExeptions not caught jet " + e); + System.exit(0); + } + + LoadDialog load = new LoadDialog( + new Shell(Display.getDefault(),SWT.NONE), SWT.NONE); + + load.show(); + final Model model = new Model(argv); + load.close(); + + StartDialog start = + new StartDialog(new Shell(Display.getDefault(),SWT.MIN),model, SWT.NONE); + + start.show(); + + return; + } +} diff --git a/src/YalpInputs/YalpPGSqlInput/DatabaseDefines.java b/src/YalpInputs/YalpPGSqlInput/DatabaseDefines.java index b6ee2ce..0300ad3 100644 --- a/src/YalpInputs/YalpPGSqlInput/DatabaseDefines.java +++ b/src/YalpInputs/YalpPGSqlInput/DatabaseDefines.java @@ -1,65 +1,65 @@ -/* - * Copyright (c) 2006 Manuel Traut and Volker Dahnke - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: Manuel Traut and Volker Dahnke - */ -package YalpInputs.YalpPGSqlInput; - -/* - * Class DatabaseDefines - * - * - * - * @author Manuel Traut - * - * @version 0.1 28-08-2008
- * - */ - -public class DatabaseDefines { - - public String dbConnection="jdbc:postgresql://10.0.3.20:5432/yalp_media"; - public String dbUser="yalp"; - public String dbPasswd="huhu"; - -/* - * set string for dbConnection - * @param dbConnection - * "jdbc:postgresql://:/"; - */ - public void setDBConnection(String dbConnection){ - this.dbConnection = dbConnection; - } - -/* - * set userName for db Edit - * @param dbUser - */ - public void setDBUser(String dbUser){ - this.dbUser = dbUser; - } - -/* - * set string for db Password - * @param DBPasswd - */ - public void setDBPasswd(String DBPasswd){ - this.dbPasswd = DBPasswd; - } - - public String getDBConnection(){ - return this.dbConnection; - } - - public String getDBUser(){ - return this.dbUser; - } - - public String getDBPasswd(){ - return this.dbPasswd; - } -} +/* + * Copyright (c) 2006 Manuel Traut and Volker Dahnke + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: Manuel Traut and Volker Dahnke + */ +package YalpInputs.YalpPGSqlInput; + +/* + * Class DatabaseDefines + * + * + * + * @author Manuel Traut + * + * @version 0.1 28-08-2008
+ * + */ + +public class DatabaseDefines { + + public String dbConnection="jdbc:postgresql://10.0.3.20:5432/yalp_media"; + public String dbUser="yalp"; + public String dbPasswd="huhu"; + +/* + * set string for dbConnection + * @param dbConnection + * "jdbc:postgresql://:/"; + */ + public void setDBConnection(String dbConnection){ + this.dbConnection = dbConnection; + } + +/* + * set userName for db Edit + * @param dbUser + */ + public void setDBUser(String dbUser){ + this.dbUser = dbUser; + } + +/* + * set string for db Password + * @param DBPasswd + */ + public void setDBPasswd(String DBPasswd){ + this.dbPasswd = DBPasswd; + } + + public String getDBConnection(){ + return this.dbConnection; + } + + public String getDBUser(){ + return this.dbUser; + } + + public String getDBPasswd(){ + return this.dbPasswd; + } +} diff --git a/src/YalpServer/ServerControlImpl.java b/src/YalpServer/ServerControlImpl.java index f8e4579..1064dd0 100755 --- a/src/YalpServer/ServerControlImpl.java +++ b/src/YalpServer/ServerControlImpl.java @@ -1,452 +1,452 @@ -/* - * Copyright (c) 2006 Manuel Traut and Volker Dahnke - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: Manuel Traut and Volker Dahnke - */ - -package YalpServer; - -import YalpInterfaces.*; - -import java.net.*; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Properties; - -import org.omg.CosNaming.*; -import org.omg.CosNaming.NamingContextPackage.*; -import org.omg.CORBA.*; -import org.omg.PortableServer.*; -import org.omg.PortableServer.POA; - -import org.apache.log4j.Logger; -import org.apache.log4j.PropertyConfigurator; - -/* - * Class ServerControlImpl - * - * Implements functionality of the ServerControl Interface - * - * @author Volker Dahnke / Manuel Traut - * @version 0.6 14-12-2005
- * @see client - */ -public class ServerControlImpl extends ServerControlInterfacePOA -{ - private ORB orb; - - private InitServer srv; - private InputPluginHandler inputHandler; - private OutputPluginHandler outputHandler; - private AuthPluginHandler authHandler; - - private ArrayList sessions; - private ArrayList plugin_infos; - - private String log4jFile = "log4j_server.conf"; - - private static Logger logger = - Logger.getLogger("Yalp.Server.ServerControlImpl"); - -public ServerControlImpl() -{ - this.sessions = new ArrayList (); - this.plugin_infos = new ArrayList (); - - PropertyConfigurator.configureAndWatch(log4jFile); - logger.debug("ServerControlImpl()"); -} - - public void setORB(ORB _orb) - { - logger.debug("setOrb()"); - orb = _orb; - } - - public void init(InitServer _srv) - { - logger.debug("init()"); - srv = _srv; - inputHandler = srv.inputHandler; - outputHandler = srv.outputHandler; - authHandler = srv.authHandler; - } - -/* - * client logon - * - * @param userName - * @param password - * @param ipAdress - * @param session (out) - * @param error (out) - */ - public void clientLogon( String name, - String password, - String ipAddress, - SessionHolder session, - YalpErrorHolder err ) - { - logger.debug("clientLogon()"); - - YalpError error = new YalpError(); - error.code = YalpErrorCode.OK; - error.descr = "authentication successfull"; - error.msg = "nice isn't it"; - error.level = YalpErrorLevel.ERROR_LEVEL_INFO; - err.value = error; - - session.value = authHandler.logon(name, password, ipAddress, session, err); - - ArrayList all_plugins = new ArrayList(); - - PluginInfo[] t = {}; - session.value.availablePlugins = plugin_infos.toArray(t); - sessions.add(session.value); - } - -/* - * client logoff - * - * @param session - * @param error (out) - */ - public void clientLogoff( Session bye, YalpErrorHolder err) - { - logger.debug("clientLogoff"); - - YalpError error = new YalpError(); - error.code = YalpErrorCode.OK; - error.descr = "logged out"; - error.msg = "sad isn't it"; - error.level = YalpErrorLevel.ERROR_LEVEL_INFO; - err.value = error; - - sessions.remove(bye); - } - -/* - * get user list - * - * @param user list (out) - * @param error (out) - */ - public void getUser(UsersHolder list, YalpErrorHolder err) { - logger.debug("getUser()"); - YalpError error = new YalpError(); - error.code = YalpErrorCode.OK; - err = new YalpErrorHolder(error); - } - -/* - * change user details - * - * @param user - * @param password - * @param action (create, delete, alter) - * @param error (out) - */ - public void changeUser(YalpUser usr, String passwd, Action todo, - YalpErrorHolder err) { - logger.debug("changeUser()"); - YalpError error = new YalpError(); - error.code = YalpErrorCode.OK; - err = new YalpErrorHolder(error); - } - -/* - * alter media informations - * - * @param media to change - * @param action (update, delete, create) - * @param error (out) - */ - public void changeMedia( Media toChange, Action todo, YalpErrorHolder err ) { - logger.debug("changeMedia()"); - YalpError error = new YalpError(); - error.code = YalpErrorCode.OK; - err = new YalpErrorHolder(error); - } - -/* - * count yalp medias - * - * @param num (out) - * @param error (out) - */ - public void getNumOfMedias( IntHolder num, YalpErrorHolder err ) { - logger.debug("getNumOfMedias()"); - YalpError error = new YalpError(); - error.code = YalpErrorCode.OK; - err = new YalpErrorHolder(error); - } - -/* - * control yalp medias - * - * @param control description (inout) - * @param error (out) - */ - public void control( OutputHolder ctlOutput, YalpErrorHolder err ) { - logger.debug("control()"); - YalpError error = new YalpError(); - error.code = YalpErrorCode.OK; - error.descr = "streaming ;-)"; - error.msg = "nice isn't it"; - error.level = YalpErrorLevel.ERROR_LEVEL_INFO; - err.value = error; - - outputHandler.control(ctlOutput, err); - } - -/* - * search yalp media - * - * @param search string - * @param list of mediatypes - * @param result as list of medias (out) - */ - public void search( String str, MediaType[] types, MediasHolder result, - YalpErrorHolder err ) { - logger.debug("search()"); - YalpError error = new YalpError(); - inputHandler.search(str, types, result, err); - } - -/* - * register new output plugin - * - * @param plugin which should be registered - * @param error - */ - public void registerOutputPlugin( OutputPluginInterface itf, - PluginInfoHolder info, YalpErrorHolder err ) - { - logger.info("registering output plugin: " + info.value.name ); - - OutputPluginInterface outputItf; - - try { - outputItf = OutputPluginInterfaceHelper.narrow(itf); - } catch( Exception e ) { - e.printStackTrace(); - return; - } - - OutputPlugin newPlugin = new OutputPlugin(outputItf, info.value); - - PluginInfo inf = new PluginInfo(); - - if( newPlugin != null ) - inf = outputHandler.addPlugin( newPlugin ); - - info.value = inf; - plugin_infos.add( inf ); - - YalpError error = new YalpError(); - error.msg = "plugin registered"; - error.descr = ""; - error.code = YalpErrorCode.OK; - error.level = YalpErrorLevel.ERROR_LEVEL_INFO; - err.value = error; - } - -/* - * remove output plugin - * - * @param plugin which should be registered - * @param error - */ - public void removeOutputPlugin( PluginInfo itf, YalpErrorHolder err ) - { - logger.debug("removeOutputPlugin()"); - /* t.b.d. itf handling */ - YalpError error = new YalpError(); - error.code = YalpErrorCode.OK; - err = new YalpErrorHolder(error); - } - -/* - * get all registered output plugins - * - * @param plugin list - * @param error - */ - public void getOutputPlugins( PluginInfosHolder itfs, String name, - YalpErrorHolder err ) - { - logger.debug("getOutputPlugins()"); - /* t.b.d. itf handling */ - YalpError error = new YalpError(); - error.code = YalpErrorCode.OK; - err = new YalpErrorHolder(error); - } - -/* - * register new input plugin - * - * @param plugin which should be registered - * @param error - */ - public void registerInputPlugin( org.omg.CORBA.Object itf, - PluginInfoHolder info, YalpErrorHolder err ) - { - logger.info("registering input plugin: " + info.value.name ); - - InputPluginInterface inputItf; - - try { - inputItf = InputPluginInterfaceHelper.narrow(itf); - } catch( Exception e ) { - e.printStackTrace(); - return; - } - - InputPlugin newPlugin = new InputPlugin(inputItf, info.value); - - PluginInfo inf = new PluginInfo(); - - if( newPlugin != null ) - inf = inputHandler.addPlugin( newPlugin ); - - info.value = inf; - plugin_infos.add( inf ); - - YalpError error = new YalpError(); - error.msg = "plugin registered"; - error.descr = ""; - error.code = YalpErrorCode.OK; - error.level = YalpErrorLevel.ERROR_LEVEL_INFO; - err.value = error; - } - -/* - * remove input plugin - * - * @param plugin which should be registered - * @param error - */ - public void removeInputPlugin( PluginInfo itf, YalpErrorHolder err ) - { - logger.debug("removeInputPlugin()"); - /* t.b.d. itf handling */ - YalpError error = new YalpError(); - error.code = YalpErrorCode.OK; - err = new YalpErrorHolder(error); - } - -/* - * get all registered input plugins - * - * @param plugin list - * @param error - */ - public void getInputPlugins( PluginInfosHolder itfs, - String name, YalpErrorHolder err ) - { - logger.debug("getInputPlugins()"); - /* t.b.d. itf handling */ - YalpError error = new YalpError(); - error.code = YalpErrorCode.OK; - err = new YalpErrorHolder(error); - } - -/* - * register new auth plugin - * - * @param plugin which should be registered - * @param error - */ - public void registerAuthPlugin( org.omg.CORBA.Object itf, - PluginInfoHolder info, YalpErrorHolder err ) - { - logger.info("registering auth plugin: " + info.value.name ); - - AuthPluginInterface authItf; - - try { - authItf = AuthPluginInterfaceHelper.narrow(itf); - } catch( Exception e ) { - e.printStackTrace(); - return; - } - - AuthPlugin newPlugin = new AuthPlugin(authItf, info.value); - - PluginInfo inf = new PluginInfo(); - - if( newPlugin != null ) - inf = authHandler.addPlugin( newPlugin ); - - info.value = inf; - plugin_infos.add (inf); - - YalpError error = new YalpError(); - error.msg = "plugin registered"; - error.descr = ""; - error.code = YalpErrorCode.OK; - error.level = YalpErrorLevel.ERROR_LEVEL_INFO; - err.value = error; - } - -/* - * remove auth plugin - * - * @param plugin which should be registered - * @param error - */ - public void removeAuthPlugin( PluginInfo itf, - YalpErrorHolder err ) - { - logger.debug("removeAuthPlugin()"); - /* t.b.d. itf handling */ - YalpError error = new YalpError(); - error.code = YalpErrorCode.OK; - err = new YalpErrorHolder(error); - } - -/* - * get all registered auth plugins - * - * @param plugin list - * @param error - */ - public void getAuthPlugins( PluginInfosHolder itfs, - String name, YalpErrorHolder err ) - { - logger.debug("getAuthPlugins()"); - /* t.b.d. itf handling */ - YalpError error = new YalpError(); - error.code = YalpErrorCode.OK; - err = new YalpErrorHolder(error); - } - -/* - * to check if server is still ok - * - * @return Boolean true - if ok - */ - public void ping(YalpErrorHolder pong) { - logger.debug("ping()"); - YalpError err = new YalpError(); - err.descr = "PONG"; - err.msg = "huhu"; - err.level = YalpErrorLevel.ERROR_LEVEL_INFO; - err.code = YalpErrorCode.OK; - pong.value = err; - System.out.println("pong"); - } - -/* - * server shutdown - */ - public void serverShutdown() - { - logger.debug("server shutdown()"); - /* t.b.d. clear server shutdown */ - } -} +/* + * Copyright (c) 2006 Manuel Traut and Volker Dahnke + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: Manuel Traut and Volker Dahnke + */ + +package YalpServer; + +import YalpInterfaces.*; + +import java.net.*; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Properties; + +import org.omg.CosNaming.*; +import org.omg.CosNaming.NamingContextPackage.*; +import org.omg.CORBA.*; +import org.omg.PortableServer.*; +import org.omg.PortableServer.POA; + +import org.apache.log4j.Logger; +import org.apache.log4j.PropertyConfigurator; + +/* + * Class ServerControlImpl + * + * Implements functionality of the ServerControl Interface + * + * @author Volker Dahnke / Manuel Traut + * @version 0.6 14-12-2005
+ * @see client + */ +public class ServerControlImpl extends ServerControlInterfacePOA +{ + private ORB orb; + + private InitServer srv; + private InputPluginHandler inputHandler; + private OutputPluginHandler outputHandler; + private AuthPluginHandler authHandler; + + private ArrayList sessions; + private ArrayList plugin_infos; + + private String log4jFile = "log4j_server.conf"; + + private static Logger logger = + Logger.getLogger("Yalp.Server.ServerControlImpl"); + +public ServerControlImpl() +{ + this.sessions = new ArrayList (); + this.plugin_infos = new ArrayList (); + + PropertyConfigurator.configureAndWatch(log4jFile); + logger.debug("ServerControlImpl()"); +} + + public void setORB(ORB _orb) + { + logger.debug("setOrb()"); + orb = _orb; + } + + public void init(InitServer _srv) + { + logger.debug("init()"); + srv = _srv; + inputHandler = srv.inputHandler; + outputHandler = srv.outputHandler; + authHandler = srv.authHandler; + } + +/* + * client logon + * + * @param userName + * @param password + * @param ipAdress + * @param session (out) + * @param error (out) + */ + public void clientLogon( String name, + String password, + String ipAddress, + SessionHolder session, + YalpErrorHolder err ) + { + logger.debug("clientLogon()"); + + YalpError error = new YalpError(); + error.code = YalpErrorCode.OK; + error.descr = "authentication successfull"; + error.msg = "nice isn't it"; + error.level = YalpErrorLevel.ERROR_LEVEL_INFO; + err.value = error; + + session.value = authHandler.logon(name, password, ipAddress, session, err); + + ArrayList all_plugins = new ArrayList(); + + PluginInfo[] t = {}; + session.value.availablePlugins = plugin_infos.toArray(t); + sessions.add(session.value); + } + +/* + * client logoff + * + * @param session + * @param error (out) + */ + public void clientLogoff( Session bye, YalpErrorHolder err) + { + logger.debug("clientLogoff"); + + YalpError error = new YalpError(); + error.code = YalpErrorCode.OK; + error.descr = "logged out"; + error.msg = "sad isn't it"; + error.level = YalpErrorLevel.ERROR_LEVEL_INFO; + err.value = error; + + sessions.remove(bye); + } + +/* + * get user list + * + * @param user list (out) + * @param error (out) + */ + public void getUser(UsersHolder list, YalpErrorHolder err) { + logger.debug("getUser()"); + YalpError error = new YalpError(); + error.code = YalpErrorCode.OK; + err = new YalpErrorHolder(error); + } + +/* + * change user details + * + * @param user + * @param password + * @param action (create, delete, alter) + * @param error (out) + */ + public void changeUser(YalpUser usr, String passwd, Action todo, + YalpErrorHolder err) { + logger.debug("changeUser()"); + YalpError error = new YalpError(); + error.code = YalpErrorCode.OK; + err = new YalpErrorHolder(error); + } + +/* + * alter media informations + * + * @param media to change + * @param action (update, delete, create) + * @param error (out) + */ + public void changeMedia( Media toChange, Action todo, YalpErrorHolder err ) { + logger.debug("changeMedia()"); + YalpError error = new YalpError(); + error.code = YalpErrorCode.OK; + err = new YalpErrorHolder(error); + } + +/* + * count yalp medias + * + * @param num (out) + * @param error (out) + */ + public void getNumOfMedias( IntHolder num, YalpErrorHolder err ) { + logger.debug("getNumOfMedias()"); + YalpError error = new YalpError(); + error.code = YalpErrorCode.OK; + err = new YalpErrorHolder(error); + } + +/* + * control yalp medias + * + * @param control description (inout) + * @param error (out) + */ + public void control( OutputHolder ctlOutput, YalpErrorHolder err ) { + logger.debug("control()"); + YalpError error = new YalpError(); + error.code = YalpErrorCode.OK; + error.descr = "streaming ;-)"; + error.msg = "nice isn't it"; + error.level = YalpErrorLevel.ERROR_LEVEL_INFO; + err.value = error; + + outputHandler.control(ctlOutput, err); + } + +/* + * search yalp media + * + * @param search string + * @param list of mediatypes + * @param result as list of medias (out) + */ + public void search( String str, MediaType[] types, MediasHolder result, + YalpErrorHolder err ) { + logger.debug("search()"); + YalpError error = new YalpError(); + inputHandler.search(str, types, result, err); + } + +/* + * register new output plugin + * + * @param plugin which should be registered + * @param error + */ + public void registerOutputPlugin( OutputPluginInterface itf, + PluginInfoHolder info, YalpErrorHolder err ) + { + logger.info("registering output plugin: " + info.value.name ); + + OutputPluginInterface outputItf; + + try { + outputItf = OutputPluginInterfaceHelper.narrow(itf); + } catch( Exception e ) { + e.printStackTrace(); + return; + } + + OutputPlugin newPlugin = new OutputPlugin(outputItf, info.value); + + PluginInfo inf = new PluginInfo(); + + if( newPlugin != null ) + inf = outputHandler.addPlugin( newPlugin ); + + info.value = inf; + plugin_infos.add( inf ); + + YalpError error = new YalpError(); + error.msg = "plugin registered"; + error.descr = ""; + error.code = YalpErrorCode.OK; + error.level = YalpErrorLevel.ERROR_LEVEL_INFO; + err.value = error; + } + +/* + * remove output plugin + * + * @param plugin which should be registered + * @param error + */ + public void removeOutputPlugin( PluginInfo itf, YalpErrorHolder err ) + { + logger.debug("removeOutputPlugin()"); + /* t.b.d. itf handling */ + YalpError error = new YalpError(); + error.code = YalpErrorCode.OK; + err = new YalpErrorHolder(error); + } + +/* + * get all registered output plugins + * + * @param plugin list + * @param error + */ + public void getOutputPlugins( PluginInfosHolder itfs, String name, + YalpErrorHolder err ) + { + logger.debug("getOutputPlugins()"); + /* t.b.d. itf handling */ + YalpError error = new YalpError(); + error.code = YalpErrorCode.OK; + err = new YalpErrorHolder(error); + } + +/* + * register new input plugin + * + * @param plugin which should be registered + * @param error + */ + public void registerInputPlugin( org.omg.CORBA.Object itf, + PluginInfoHolder info, YalpErrorHolder err ) + { + logger.info("registering input plugin: " + info.value.name ); + + InputPluginInterface inputItf; + + try { + inputItf = InputPluginInterfaceHelper.narrow(itf); + } catch( Exception e ) { + e.printStackTrace(); + return; + } + + InputPlugin newPlugin = new InputPlugin(inputItf, info.value); + + PluginInfo inf = new PluginInfo(); + + if( newPlugin != null ) + inf = inputHandler.addPlugin( newPlugin ); + + info.value = inf; + plugin_infos.add( inf ); + + YalpError error = new YalpError(); + error.msg = "plugin registered"; + error.descr = ""; + error.code = YalpErrorCode.OK; + error.level = YalpErrorLevel.ERROR_LEVEL_INFO; + err.value = error; + } + +/* + * remove input plugin + * + * @param plugin which should be registered + * @param error + */ + public void removeInputPlugin( PluginInfo itf, YalpErrorHolder err ) + { + logger.debug("removeInputPlugin()"); + /* t.b.d. itf handling */ + YalpError error = new YalpError(); + error.code = YalpErrorCode.OK; + err = new YalpErrorHolder(error); + } + +/* + * get all registered input plugins + * + * @param plugin list + * @param error + */ + public void getInputPlugins( PluginInfosHolder itfs, + String name, YalpErrorHolder err ) + { + logger.debug("getInputPlugins()"); + /* t.b.d. itf handling */ + YalpError error = new YalpError(); + error.code = YalpErrorCode.OK; + err = new YalpErrorHolder(error); + } + +/* + * register new auth plugin + * + * @param plugin which should be registered + * @param error + */ + public void registerAuthPlugin( org.omg.CORBA.Object itf, + PluginInfoHolder info, YalpErrorHolder err ) + { + logger.info("registering auth plugin: " + info.value.name ); + + AuthPluginInterface authItf; + + try { + authItf = AuthPluginInterfaceHelper.narrow(itf); + } catch( Exception e ) { + e.printStackTrace(); + return; + } + + AuthPlugin newPlugin = new AuthPlugin(authItf, info.value); + + PluginInfo inf = new PluginInfo(); + + if( newPlugin != null ) + inf = authHandler.addPlugin( newPlugin ); + + info.value = inf; + plugin_infos.add (inf); + + YalpError error = new YalpError(); + error.msg = "plugin registered"; + error.descr = ""; + error.code = YalpErrorCode.OK; + error.level = YalpErrorLevel.ERROR_LEVEL_INFO; + err.value = error; + } + +/* + * remove auth plugin + * + * @param plugin which should be registered + * @param error + */ + public void removeAuthPlugin( PluginInfo itf, + YalpErrorHolder err ) + { + logger.debug("removeAuthPlugin()"); + /* t.b.d. itf handling */ + YalpError error = new YalpError(); + error.code = YalpErrorCode.OK; + err = new YalpErrorHolder(error); + } + +/* + * get all registered auth plugins + * + * @param plugin list + * @param error + */ + public void getAuthPlugins( PluginInfosHolder itfs, + String name, YalpErrorHolder err ) + { + logger.debug("getAuthPlugins()"); + /* t.b.d. itf handling */ + YalpError error = new YalpError(); + error.code = YalpErrorCode.OK; + err = new YalpErrorHolder(error); + } + +/* + * to check if server is still ok + * + * @return Boolean true - if ok + */ + public void ping(YalpErrorHolder pong) { + logger.debug("ping()"); + YalpError err = new YalpError(); + err.descr = "PONG"; + err.msg = "huhu"; + err.level = YalpErrorLevel.ERROR_LEVEL_INFO; + err.code = YalpErrorCode.OK; + pong.value = err; + System.out.println("pong"); + } + +/* + * server shutdown + */ + public void serverShutdown() + { + logger.debug("server shutdown()"); + /* t.b.d. clear server shutdown */ + } +} diff --git a/src/YalpServer/ServerSettings.java b/src/YalpServer/ServerSettings.java index 313e875..3faaa37 100755 --- a/src/YalpServer/ServerSettings.java +++ b/src/YalpServer/ServerSettings.java @@ -1,68 +1,68 @@ -/* - * Copyright (c) 2006 Manuel Traut and Volker Dahnke - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: Manuel Traut and Volker Dahnke - */ - -package YalpServer; - -/* - * Class ServerSettings - * - * - * - * @author Manuel Traut - * - * @version 0.1 27-03-2006
- * - * @see server.InitServer - */ - -public class ServerSettings{ - - static final long serialVersionUID = 0; - - public String imageDir = "/media/image"; - public String videoDir = "/media/video"; - public String soundDir = "/media/sound"; - - /** - * set Directories which contains media Files - * @param startDir - */ - public void setImageDir(String startDir){ - this.imageDir = startDir; - } - - /** - * set Directories which contains media Files - * @param startDir - */ - public void setVideoDir(String startDir){ - this.videoDir = startDir; - } - - /** - * set Directories which contains media Files - * @param startDir - */ - public void setSoundDir(String startDir){ - this.soundDir = startDir; - } - - public String getVideoDir(){ - return this.videoDir; - } - - public String getImageDir(){ - return this.imageDir; - } - - public String getSoundDir(){ - return this.soundDir; - } -} +/* + * Copyright (c) 2006 Manuel Traut and Volker Dahnke + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: Manuel Traut and Volker Dahnke + */ + +package YalpServer; + +/* + * Class ServerSettings + * + * + * + * @author Manuel Traut + * + * @version 0.1 27-03-2006
+ * + * @see server.InitServer + */ + +public class ServerSettings{ + + static final long serialVersionUID = 0; + + public String imageDir = "/media/image"; + public String videoDir = "/media/video"; + public String soundDir = "/media/sound"; + + /** + * set Directories which contains media Files + * @param startDir + */ + public void setImageDir(String startDir){ + this.imageDir = startDir; + } + + /** + * set Directories which contains media Files + * @param startDir + */ + public void setVideoDir(String startDir){ + this.videoDir = startDir; + } + + /** + * set Directories which contains media Files + * @param startDir + */ + public void setSoundDir(String startDir){ + this.soundDir = startDir; + } + + public String getVideoDir(){ + return this.videoDir; + } + + public String getImageDir(){ + return this.imageDir; + } + + public String getSoundDir(){ + return this.soundDir; + } +} diff --git a/src/YalpServer/YalpServer.java b/src/YalpServer/YalpServer.java index 0ddbe00..8cf57d3 100755 --- a/src/YalpServer/YalpServer.java +++ b/src/YalpServer/YalpServer.java @@ -1,40 +1,40 @@ -/* - * Copyright (c) 2006 Manuel Traut and Volker Dahnke - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: Manuel Traut and Volker Dahnke - */ -package YalpServer; - -/* - * Class Server - * - * static main method - * - * @author Volker Dahnke / Manuel Traut - * - * @version 0.1 20-11-2005
- */ -public class YalpServer{ - -/* - * starts Server initialization - * - * @param argv - * arguments which are not used - */ - public static void main (String[] argv) { - try{ - System.setProperty("java.security.policy","server.policy"); - } catch (Exception e) {//DEBUG - System.out.println ("Server SecurityManagerExeptions not caught jet " + e); - System.exit(0); - } - InitServer yalpServer = new InitServer(argv); - return; - } - -} +/* + * Copyright (c) 2006 Manuel Traut and Volker Dahnke + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: Manuel Traut and Volker Dahnke + */ +package YalpServer; + +/* + * Class Server + * + * static main method + * + * @author Volker Dahnke / Manuel Traut + * + * @version 0.1 20-11-2005
+ */ +public class YalpServer{ + +/* + * starts Server initialization + * + * @param argv + * arguments which are not used + */ + public static void main (String[] argv) { + try{ + System.setProperty("java.security.policy","server.policy"); + } catch (Exception e) {//DEBUG + System.out.println ("Server SecurityManagerExeptions not caught jet " + e); + System.exit(0); + } + InitServer yalpServer = new InitServer(argv); + return; + } + +} -- cgit v1.2.3