diff options
| author | guest <guest@f059d3a0-6783-47b7-97ff-1fe0bbf25129> | 2008-09-29 17:27:17 +0000 |
|---|---|---|
| committer | guest <guest@f059d3a0-6783-47b7-97ff-1fe0bbf25129> | 2008-09-29 17:27:17 +0000 |
| commit | 408445cc49f360b979266ea93cf3bcb25a50a8e4 (patch) | |
| tree | f04ddd775d23205e603f552693e448600b9b937d | |
| parent | 1124d590a9db28e5a4088f8e84557469e7ee4bb2 (diff) | |
fixed crash introtuced in last commit
git-svn-id: http://manut.eu/svn/yalp/trunk@7 f059d3a0-6783-47b7-97ff-1fe0bbf25129
| -rw-r--r-- | src/YalpClients/SwtClient/GUI/GUI.java | 7 | ||||
| -rwxr-xr-x | src/YalpClients/SwtClient/Model.java | 70 | ||||
| -rw-r--r-- | src/YalpInputs/YalpPGSqlInput/PGSqlInput.java | 8 | ||||
| -rw-r--r-- | src/YalpInputs/YalpPGSqlInput/YalpInputPluginImpl.java | 87 | ||||
| -rwxr-xr-x | src/YalpServer/ServerControlImpl.java | 9 |
5 files changed, 125 insertions, 56 deletions
diff --git a/src/YalpClients/SwtClient/GUI/GUI.java b/src/YalpClients/SwtClient/GUI/GUI.java index 4c0e474..475f09b 100644 --- a/src/YalpClients/SwtClient/GUI/GUI.java +++ b/src/YalpClients/SwtClient/GUI/GUI.java @@ -1995,8 +1995,11 @@ public class GUI extends org.eclipse.swt.widgets.Composite { }
}
returnVal= model.search(search, types, tab);
- ArrayList<Media>resultList=model.getMedia(tab);
- for(int i=0;i<resultList.size();i++){
+ ArrayList<Media>resultList = 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);
diff --git a/src/YalpClients/SwtClient/Model.java b/src/YalpClients/SwtClient/Model.java index 3c48615..912a3bb 100755 --- a/src/YalpClients/SwtClient/Model.java +++ b/src/YalpClients/SwtClient/Model.java @@ -48,13 +48,13 @@ public class Model { public ServerControlInterface srvCon;
private Process vlcPlayer;
- private Output actualStream;
- private Output streamInfo;
- private ArrayList<Media> findMedia;
- private ArrayList<Media> editMedia;
- private ArrayList<Media> toPlaylist;
- private ArrayList<Media> playList;
- private ArrayList<YalpUser> userList;
+ private Output actualStream = new Output();
+ private Output streamInfo = new Output();
+ private ArrayList<Media> findMedia = new ArrayList<Media>();
+ private ArrayList<Media> editMedia = new ArrayList<Media>();
+ private ArrayList<Media> toPlaylist = new ArrayList<Media>();
+ private ArrayList<Media> playList = new ArrayList<Media>();
+ private ArrayList<YalpUser> userList = new ArrayList<YalpUser>();
private ClientConfiguration settings;
private String clientIP;
private String curPasswd;
@@ -62,7 +62,7 @@ public class Model { private String userName;
private Boolean playback = false;
private Boolean logoff= false;
- private Session session;
+ private Session session = new Session();
/*
* Instances srvConnection to Registry, DbConnection, ServerControl
* and VlcStreamer. Also instances Class variables
@@ -350,9 +350,9 @@ public class Model { */
public Output createOutput(){
/* t.b.d. former createStream */
- this.streamInfo.outputAction = Action.CREATE;
+ streamInfo.outputAction = Action.CREATE;
Media[] a = {};
- this.streamInfo.playlist = this.playList.toArray(a);
+ streamInfo.playlist = this.playList.toArray(a);
return this.streamInfo;
}
@@ -374,15 +374,16 @@ public class Model { if (kind == 1){
srvCon.search(request, types.toArray(a), result, err);
for(int i = 0; i < result.value.length; i++)
- this.findMedia.add(result.value[i]);
- return this.findMedia.size();
+ 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++)
- this.editMedia.add(result.value[i]);
- return this.editMedia.size();
+ editMedia.add(result.value[i]);
+ return editMedia.size();
}
} catch(Exception e){
+ e.printStackTrace();
System.out.println("Exceoption in Model search "+ e);
return 0;
}
@@ -489,7 +490,7 @@ public class Model { * stream to srvControl via play, pause, etc
*/
public void setActualStream(Output aStream){
- this.actualStream = aStream;
+ actualStream = aStream;
}
/*
@@ -514,7 +515,7 @@ public class Model { "client.Model.startVLC: playback this type is not supported" );
}
*/
- vlcCmd += this.actualStream.info.params;
+ vlcCmd += actualStream.info.params;
System.out.println(vlcCmd);
try {
@@ -531,8 +532,9 @@ public class Model { *
*/
private void stopVLC(){
- this.playback = false;
- this.vlcPlayer.destroy();
+ playback = false;
+ if(vlcPlayer != null)
+ vlcPlayer.destroy();
}
/*
@@ -542,22 +544,32 @@ public class Model { */
public boolean play(){
- this.playback = true;
+ playback = true;
+
+ actualStream.outputAction = Action.CREATE;
+ actualStream.info = new AccessInfo( "bam",
+ "bam",
+ "vlc",
+ "params",
+ AccessType.STREAM );
- this.actualStream = this.createOutput();
- this.actualStream.destIp = this.clientIP;
+ Media[] a = new Media[playList.size()];
+ actualStream.playlist = playList.toArray(a);
+ actualStream.destIp = clientIP;
YalpErrorHolder err = new YalpErrorHolder();
- OutputHolder tmp = new OutputHolder(this.actualStream);
- this.srvCon.control(tmp, err);
- this.actualStream = tmp.value;
+ OutputHolder tmp = new OutputHolder();
+ tmp.value = actualStream;
+
+ srvCon.control(tmp, err);
+ actualStream = tmp.value;
- this.actualStream.outputAction = Action.START;
- OutputHolder tmp2 = new OutputHolder(this.actualStream);
- this.srvCon.control(tmp2, err);
- this.actualStream = tmp2.value;
- this.startVLC();
+ actualStream.outputAction = Action.START;
+ OutputHolder tmp2 = new OutputHolder(actualStream);
+ srvCon.control(tmp2, err);
+ actualStream = tmp2.value;
+ startVLC();
return true;
}
diff --git a/src/YalpInputs/YalpPGSqlInput/PGSqlInput.java b/src/YalpInputs/YalpPGSqlInput/PGSqlInput.java index 531f53d..339ee4c 100644 --- a/src/YalpInputs/YalpPGSqlInput/PGSqlInput.java +++ b/src/YalpInputs/YalpPGSqlInput/PGSqlInput.java @@ -108,9 +108,13 @@ public class PGSqlInput { pluginInfo = tmp.value; if(err.value.code != YalpErrorCode.OK) + { System.out.println("registring inputplugin failed"); - else - System.out.println("input plugin registered"); + return; + } + + psql.setInfo(pluginInfo); + System.out.println("input plugin registered"); orb.run(); diff --git a/src/YalpInputs/YalpPGSqlInput/YalpInputPluginImpl.java b/src/YalpInputs/YalpPGSqlInput/YalpInputPluginImpl.java index 573c587..ef18b31 100644 --- a/src/YalpInputs/YalpPGSqlInput/YalpInputPluginImpl.java +++ b/src/YalpInputs/YalpPGSqlInput/YalpInputPluginImpl.java @@ -38,6 +38,12 @@ public class YalpInputPluginImpl extends InputPluginInterfacePOA { logger.debug("YalpInputPluginImpl()"); } + public void setInfo(PluginInfo info) + { + logger.debug("interfaceImpl - setInfo(): "+info.id); + pluginInfo = info; + } + public void setORB(ORB _orb) { orb = _orb; @@ -88,6 +94,13 @@ public class YalpInputPluginImpl extends InputPluginInterfacePOA { logger.debug("search("+str+")"); + YalpError error = new YalpError(); + error.descr = ""; + error.msg = ""; + error.level = YalpErrorLevel.ERROR_LEVEL_INFO; + error.code = YalpErrorCode.OK; + err.value = error; + ArrayList <String> searchWords = stringCut(str); String query = new String(); Boolean first, doIntersect, sound, video, image; @@ -112,7 +125,6 @@ public class YalpInputPluginImpl extends InputPluginInterfacePOA { } } - //for( int i = 0; i < searchWords.size(); i++ ) { for( String pattern : searchWords ) { first = true; @@ -162,42 +174,73 @@ public class YalpInputPluginImpl extends InputPluginInterfacePOA { logger.debug("sending SQL request: "+query); + ArrayList<Media> foundMedias = new ArrayList<Media>(); + try { Statement stat = con.createStatement(); ResultSet sqlResult = stat.executeQuery(query); System.out.println("found: "); + MediaType type; + while( sqlResult.next() ) { System.out.print(sqlResult.getString(3)+": "); System.out.print(sqlResult.getString(4)+"\t| "); System.out.println(sqlResult.getString(6)); - /* - result.add( - new Result( sqlResult.getInt(1), - sqlResult.getString(2), - ---> - result.getString(3), - result.getString(4), - result.getString(5), - result.getString(6), - result.getString(7), - result.getString(8), - result.getInt(9), - result.getInt(10), - result.getString(11), - result.getInt(12), - result.getString(13), - result.getString(14), - result.getString(15) ) ); - */ - } - System.out.println(); + switch( sqlResult.getString(2).charAt(0) ) { + case 's': + type = MediaType.SOUND; + break; + case 'v': + type = MediaType.VIDEO; + break; + case 'i': + type = MediaType.IMAGE; + break; + default: + type = MediaType.OTHER; + } + + StringProperty[] strProp = new StringProperty[1]; + strProp[0] = new StringProperty("",""); + + IntProperty[] intProp = new IntProperty[1]; + intProp[0] = new IntProperty("", 0); + + String[] tags = new String[1]; + tags[0] = "blubb"; + + YalpUser owner = new YalpUser( 0, // user id + "huhu", // name + "manut", // real name + AccessRights.ADMIN ); + + Media newMedia = new Media( sqlResult.getString(6), + sqlResult.getInt(1), + type, + pluginInfo.id, + owner, + "", // last edit + sqlResult.getString(3), + sqlResult.getString(4), + sqlResult.getString(5), + strProp, + intProp, + tags ); + + foundMedias.add(newMedia); + logger.debug( sqlResult.getString(6) + "added to foundMedias"); + } } catch( SQLException e ) { System.out.println("Exception in PGSqlInput.search: "+e); } + Media[] m = new Media[foundMedias.size()]; + result.value = foundMedias.toArray(m); + + logger.debug("psql search done"); } // == REIMPLEMENTATION NEEDED : == // diff --git a/src/YalpServer/ServerControlImpl.java b/src/YalpServer/ServerControlImpl.java index 3947cdd..44984c7 100755 --- a/src/YalpServer/ServerControlImpl.java +++ b/src/YalpServer/ServerControlImpl.java @@ -186,7 +186,14 @@ public ServerControlImpl() { logger.debug("control()");
YalpError error = new YalpError();
error.code = YalpErrorCode.OK;
- err = new YalpErrorHolder(error);
+ error.descr = "streaming ;-)";
+ error.msg = "nice isn't it";
+ error.level = YalpErrorLevel.ERROR_LEVEL_INFO;
+ err.value = error;
+
+ Output out = new Output();
+ out = ctlOutput.value;
+ ctlOutput.value = out;
}
/*
|
