[Feature request] Use Private Musicbrainz

Artist radio, genre radio & related artists. A Subsonic server for music nerds.

Moderator: moderators

[Feature request] Use Private Musicbrainz

Postby resno » Wed Dec 26, 2012 3:52 pm

I currently dont use musiccabinet, but its looking pretty awesome. I have one question, I run my own private copy of the musicbrainz install. Is it possible to add this and hammer at it, instead of musicbrainz itself?

I'd like to lessen the load on musicbrainz if possible.
resno
 
Posts: 12
Joined: Wed Dec 26, 2012 3:49 pm

Re: [Feature request] Use Private Musicbrainz

Postby hakko » Wed Dec 26, 2012 4:23 pm

Information from MusicBrainz is fetched using the web service interface. For example, when we're looking up the band Cult of Luna this is sent:

Code: Select all
http://musicbrainz.org/ws/2/artist/?query=artist%3A%22Cult+Of+Luna%22&limit=1

(to fetch artist mbid)

Code: Select all
http://musicbrainz.org/ws/2/release-group/?query=arid%3Ad347406f-839d-4423-9a28-188939282afa+AND+%28primarytype%3AAlbum+OR+primarytype%3AEP+OR+primarytype%3ASingle%29+AND+NOT+secondarytype%3Acompilation+AND+NOT+secondarytype%3Asoundtrack+AND+NOT+secondarytype%3Aspokenword+AND+NOT+secondarytype%3Ainterview+AND+NOT+secondarytype%3Aaudiobook+AND+NOT+secondarytype%3Alive+AND+NOT+secondarytype%3Aremix+AND+NOT+secondarytype%3Aother+AND+status%3Aofficial&limit=100&offset=0

(to fetch releases, I asked around in the IRC channel and there was currently no easy way to only fetch studio albums)

The response is parsed and stored in PostgreSQL/MusicCabinet.

Does a local install of MusicBrainz expose a web service interface? If so, I guess you could re-direct musicbrainz.org temporarily to localhost while running the import.

Otherwise, you'd need to do some database magic to fill tables music.mb_artist and music.mb_album in the MusicCabinet database. Shouldn't be impossible since we both have chosen PostgreSQL. It might be faster than the web service lookup if you're a fast coder, and it'll also allow you to keep the MusicBrainz information in MusicCabinet more updated (I currently consider information fetched online valid for three months to not burden MusicBrainz more than necessary).

But no, I don't have any code ready for such an import.
MusicCabinet developer
hakko
 
Posts: 1416
Joined: Tue Apr 17, 2012 7:05 pm
Location: Sweden

Re: [Feature request] Use Private Musicbrainz

Postby resno » Wed Dec 26, 2012 5:05 pm

Yes, it does expose the same way as musicbrainz. It actually is a musicbrainz copy in everyway. Except I impose the limits and dont have to worry about being banned etc.

The best way would to redirect the traffic... but it wont treat it any differently I imagine? It will still do it very slowly? Maybe I'll just use your code and adjust that portion to face my private install and remove the rate limiting..
resno
 
Posts: 12
Joined: Wed Dec 26, 2012 3:49 pm

Re: [Feature request] Use Private Musicbrainz

Postby hakko » Wed Dec 26, 2012 5:12 pm

That's true about the throttling, it'll have no idea about the removed speed limit. This is what you'd change/remove: https://github.com/hakko/musiccabinet/b ... t.java#L62
MusicCabinet developer
hakko
 
Posts: 1416
Joined: Tue Apr 17, 2012 7:05 pm
Location: Sweden

Re: [Feature request] Use Private Musicbrainz

Postby resno » Thu Dec 27, 2012 5:11 am

I dont see any guide on how to change db settings, and build.

So, I have thus far

Edited:
Code: Select all
target/classes/local.jdbc.properties

With my own postgres credentials. After a bit of messing around, I have this working.

I then run "maven package" in this dir: musiccabinet/musiccabinet-server
Code: Select all
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.686 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcArtistTopTagsDaoTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.709 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcLibraryDaoTest
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.621 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcLibraryBrowserDaoTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.812 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcTrackRelationDaoTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.436 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcUserRecommendedArtistsDaoTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.296 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcDatabaseAdministrationDaoEnvironmentDependentTest
Tests run: 7, Failures: 1, Errors: 0, Skipped: 4, Time elapsed: 0.029 sec <<< FAILURE!
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcUserTopArtistsDaoTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.158 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcLibraryAdditionDaoTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.298 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcLastFmDaoTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.228 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcPlayCountDaoTest
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.294 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcTagDaoTest
Tests run: 12, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.949 sec <<< FAILURE!
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcGroupWeeklyArtistChartDaoTest
Tests run: 3, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.622 sec <<< FAILURE!
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcLibraryBrowserDaoAggregationTest
Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.323 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcArtistInfoDaoTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.102 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcPlaylistGeneratorDaoTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.628 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcStarDaoTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.625 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcArtistRecommendationDaoTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.369 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcTrackPlayCountDaoTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.104 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcAlbumInfoDaoTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.418 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcArtistRelationDaoTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.755 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcMusicDaoTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.036 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcFunctionCountDaoTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.084 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcArtistTopTracksDaoTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.35 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcNameSearchDaoTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.526 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcTagInfoDaoTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.228 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcMusicBrainzAlbumDaoTest
Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.077 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcMusicBrainzArtistDaoTest
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.258 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcWebserviceHistoryDaoTest
Tests run: 19, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.794 sec
Running com.github.hakko.musiccabinet.ws.musicbrainz.AbstractMusicBrainzClientTest


It hangs here for a long time, meanwhile tailing postgres logs, I see this error.
Code: Select all
LOG:  unexpected EOF on client connection

If a guide is written I'll use that instead but I couldnt find any docs.
resno
 
Posts: 12
Joined: Wed Dec 26, 2012 3:49 pm

Re: [Feature request] Use Private Musicbrainz

Postby hakko » Thu Dec 27, 2012 7:01 am

Sorry, I could have mentioned that the build instructions are posted on the Github/Subsonic page.

https://github.com/hakko/subsonic/blob/ ... d#building
MusicCabinet developer
hakko
 
Posts: 1416
Joined: Tue Apr 17, 2012 7:05 pm
Location: Sweden

Re: [Feature request] Use Private Musicbrainz

Postby resno » Thu Dec 27, 2012 12:53 pm

Sorry, Hakko

I know very little of java, but the build process is failing and I'm not sure how best to correct this. I see some resources arent being found. Should I just ignore and do "mvn -fn"?

BTW, did you ever get a person to help with the design?

Edit: Should I be running this from within the musiccabinet folder?
Code: Select all

~/subsonic/subsonic-main$ mvn install
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Subsonic Main
[INFO]    task-segment: [install]
[INFO] ------------------------------------------------------------------------
Downloading: http://repository.springsource.com/maven/bundles/release/com/github/hakko/musiccabinet/musiccabinet-server/0.7.18beta1/musiccabinet-server-0.7.18beta1.pom
[INFO] Unable to find resource 'com.github.hakko.musiccabinet:musiccabinet-server:pom:0.7.18beta1' in repository com.springsource.repository.bundles.release (http://repository.springsource.com/maven/bundles/release)
Downloading: http://repository.springsource.com/maven/bundles/external/com/github/hakko/musiccabinet/musiccabinet-server/0.7.18beta1/musiccabinet-server-0.7.18beta1.pom
[INFO] Unable to find resource 'com.github.hakko.musiccabinet:musiccabinet-server:pom:0.7.18beta1' in repository com.springsource.repository.bundles.external (http://repository.springsource.com/maven/bundles/external)
Downloading: http://oss.sonatype.org/content/repositories/snapshots/com/github/hakko/musiccabinet/musiccabinet-server/0.7.18beta1/musiccabinet-server-0.7.18beta1.pom
[INFO] Unable to find resource 'com.github.hakko.musiccabinet:musiccabinet-server:pom:0.7.18beta1' in repository oss-sonatype-snapshots (http://oss.sonatype.org/content/repositories/snapshots)
Downloading: http://oss.sonatype.org/content/repositories/jetty-releases/com/github/hakko/musiccabinet/musiccabinet-server/0.7.18beta1/musiccabinet-server-0.7.18beta1.pom
[INFO] Unable to find resource 'com.github.hakko.musiccabinet:musiccabinet-server:pom:0.7.18beta1' in repository jetty-releases (http://oss.sonatype.org/content/repositories/jetty-releases)
Downloading: file:repo/com/github/hakko/musiccabinet/musiccabinet-server/0.7.18beta1/musiccabinet-server-0.7.18beta1.pom
[INFO] Unable to find resource 'com.github.hakko.musiccabinet:musiccabinet-server:pom:0.7.18beta1' in repository local1 (file:repo)
Downloading: file:../repo/com/github/hakko/musiccabinet/musiccabinet-server/0.7.18beta1/musiccabinet-server-0.7.18beta1.pom
[INFO] Unable to find resource 'com.github.hakko.musiccabinet:musiccabinet-server:pom:0.7.18beta1' in repository local2 (file:../repo)
Downloading: http://download.java.net/maven/2//com/github/hakko/musiccabinet/musiccabinet-server/0.7.18beta1/musiccabinet-server-0.7.18beta1.pom
[INFO] Unable to find resource 'com.github.hakko.musiccabinet:musiccabinet-server:pom:0.7.18beta1' in repository java_net (http://download.java.net/maven/2/)
Downloading: http://repo1.maven.org/maven2/com/github/hakko/musiccabinet/musiccabinet-server/0.7.18beta1/musiccabinet-server-0.7.18beta1.pom
[INFO] Unable to find resource 'com.github.hakko.musiccabinet:musiccabinet-server:pom:0.7.18beta1' in repository central (http://repo1.maven.org/maven2)
Downloading: http://repository.springsource.com/maven/bundles/release/com/github/hakko/musiccabinet/musiccabinet-server/0.7.18beta1/musiccabinet-server-0.7.18beta1.jar
[INFO] Unable to find resource 'com.github.hakko.musiccabinet:musiccabinet-server:jar:0.7.18beta1' in repository com.springsource.repository.bundles.release (http://repository.springsource.com/maven/bundles/release)
Downloading: http://repository.springsource.com/maven/bundles/external/com/github/hakko/musiccabinet/musiccabinet-server/0.7.18beta1/musiccabinet-server-0.7.18beta1.jar
[INFO] Unable to find resource 'com.github.hakko.musiccabinet:musiccabinet-server:jar:0.7.18beta1' in repository com.springsource.repository.bundles.external (http://repository.springsource.com/maven/bundles/external)
Downloading: http://oss.sonatype.org/content/repositories/snapshots/com/github/hakko/musiccabinet/musiccabinet-server/0.7.18beta1/musiccabinet-server-0.7.18beta1.jar
[INFO] Unable to find resource 'com.github.hakko.musiccabinet:musiccabinet-server:jar:0.7.18beta1' in repository oss-sonatype-snapshots (http://oss.sonatype.org/content/repositories/snapshots)
Downloading: http://oss.sonatype.org/content/repositories/jetty-releases/com/github/hakko/musiccabinet/musiccabinet-server/0.7.18beta1/musiccabinet-server-0.7.18beta1.jar
[INFO] Unable to find resource 'com.github.hakko.musiccabinet:musiccabinet-server:jar:0.7.18beta1' in repository jetty-releases (http://oss.sonatype.org/content/repositories/jetty-releases)
Downloading: file:repo/com/github/hakko/musiccabinet/musiccabinet-server/0.7.18beta1/musiccabinet-server-0.7.18beta1.jar
[INFO] Unable to find resource 'com.github.hakko.musiccabinet:musiccabinet-server:jar:0.7.18beta1' in repository local1 (file:repo)
Downloading: file:../repo/com/github/hakko/musiccabinet/musiccabinet-server/0.7.18beta1/musiccabinet-server-0.7.18beta1.jar
[INFO] Unable to find resource 'com.github.hakko.musiccabinet:musiccabinet-server:jar:0.7.18beta1' in repository local2 (file:../repo)
Downloading: http://download.java.net/maven/2//com/github/hakko/musiccabinet/musiccabinet-server/0.7.18beta1/musiccabinet-server-0.7.18beta1.jar
[INFO] Unable to find resource 'com.github.hakko.musiccabinet:musiccabinet-server:jar:0.7.18beta1' in repository java_net (http://download.java.net/maven/2/)
Downloading: http://repo1.maven.org/maven2/com/github/hakko/musiccabinet/musiccabinet-server/0.7.18beta1/musiccabinet-server-0.7.18beta1.jar
[INFO] Unable to find resource 'com.github.hakko.musiccabinet:musiccabinet-server:jar:0.7.18beta1' in repository central (http://repo1.maven.org/maven2)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.

Missing:
----------
1) com.github.hakko.musiccabinet:musiccabinet-server:jar:0.7.18beta1

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=com.github.hakko.musiccabinet -DartifactId=musiccabinet-server -Dversion=0.7.18beta1 -Dpackaging=jar -Dfile=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=com.github.hakko.musiccabinet -DartifactId=musiccabinet-server -Dversion=0.7.18beta1 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
     1) net.sourceforge.subsonic:subsonic-main:war:0.7
     2) com.github.hakko.musiccabinet:musiccabinet-server:jar:0.7.18beta1

----------
1 required artifact is missing.

for artifact:
  net.sourceforge.subsonic:subsonic-main:war:0.7

from the specified remote repositories:
  com.springsource.repository.bundles.release (http://repository.springsource.com/maven/bundles/release),
  java_net (http://download.java.net/maven/2/),
  com.springsource.repository.bundles.external (http://repository.springsource.com/maven/bundles/external),
  central (http://repo1.maven.org/maven2),
  oss-sonatype-snapshots (http://oss.sonatype.org/content/repositories/snapshots),
  jetty-releases (http://oss.sonatype.org/content/repositories/jetty-releases),
  local1 (file:repo),
  local2 (file:../repo)



[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4 seconds
[INFO] Finished at: Thu Dec 27 07:53:24 EST 2012
[INFO] Final Memory: 20M/115M
[INFO] ------------------------------------------------------------------------
resno
 
Posts: 12
Joined: Wed Dec 26, 2012 3:49 pm

Re: [Feature request] Use Private Musicbrainz

Postby hakko » Thu Dec 27, 2012 2:56 pm

I wonder if you updated while I was committing new code this morning? If you run "mvn install" in the "musiccabinet-server" directory, it should create an binary called musiccabinet-server-0.7.18beta1-sources.jar.

When you run "mvn install" in the "subsonic-main" directory, that binary gets picked up from your local repository where Maven stores them.

I'd think that you either ran "mvn package" in "musiccabinet-server" (this builds the binary but doesn't put in into the Maven repository), or that you ran it while musiccabinet was still in version 0.7.17 (I updated the versions some four hours ago).

It's not really straight-forward if you haven't worked with Maven before.

Two people started working on a project based on MusicCabinet just before Christmas, but I'm not sure what'll come out of it. I you have good ideas, that's always welcome!
MusicCabinet developer
hakko
 
Posts: 1416
Joined: Tue Apr 17, 2012 7:05 pm
Location: Sweden

Re: [Feature request] Use Private Musicbrainz

Postby resno » Thu Dec 27, 2012 6:14 pm

Okay, I pulled your new code and attempted it again...

Code: Select all
~/musiccabinet/musiccabinet-server$ mvn install
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building musiccabinet-server
[INFO]    task-segment: [install]
[INFO] ------------------------------------------------------------------------
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 70 resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 7 source files to /home/resno/musiccabinet/musiccabinet-server/target/classes
[INFO] [resources:testResources {execution: default-testResources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 71 resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] Compiling 3 source files to /home/resno/musiccabinet/musiccabinet-server/target/test-classes
[INFO] [surefire:test {execution: default-test}]
[INFO] Surefire report directory: /home/resno/musiccabinet/musiccabinet-server/target/surefire-reports

-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.github.hakko.musiccabinet.configuration.CharSetTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.052 sec
Running com.github.hakko.musiccabinet.exception.ApplicationExceptionTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 sec
Running com.github.hakko.musiccabinet.dao.util.PostgreSQLUtilTest
Dec 27, 2012 1:08:55 PM org.springframework.test.context.TestContextManager retrieveTestExecutionListeners
INFO: @TestExecutionListeners is not present for class [class com.github.hakko.musiccabinet.dao.util.PostgreSQLUtilTest]: using defaults.
Dec 27, 2012 1:08:55 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
Dec 27, 2012 1:08:56 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.GenericApplicationContext@6d29a916: startup date [Thu Dec 27 13:08:56 EST 2012]; root of context hierarchy
Dec 27, 2012 1:08:56 PM org.springframework.core.io.support.PropertiesLoaderSupport loadProperties
INFO: Loading properties file from class path resource [local.jdbc.properties]
Dec 27, 2012 1:08:56 PM org.springframework.integration.config.xml.DefaultConfiguringBeanFactoryPostProcessor registerErrorChannel
INFO: No bean named 'errorChannel' has been explicitly defined. Therefore, a default PublishSubscribeChannel will be created.
Dec 27, 2012 1:08:56 PM org.springframework.integration.config.xml.DefaultConfiguringBeanFactoryPostProcessor registerTaskScheduler
INFO: No bean named 'taskScheduler' has been explicitly defined. Therefore, a default ThreadPoolTaskScheduler will be created.
Dec 27, 2012 1:08:56 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@40d5b501: defining beans [propertyConfigurer,taskExecutor,channelInitializer,$autoCreateChannelCandidates,org.springframework.integration.internalDefaultConfiguringBeanFactoryPostProcessor,libraryPresenceChannel,libraryMetadataChannel,libraryAdditionChannel,libraryDeletionChannel,scrobbleChannel,musicBrainzService,directoryBrowserService,starService,lastFmService,scrobbleService,databaseAdministrationService,libraryScannerService,libraryPresenceService,libraryMetadataService,libraryAdditionService,libraryBrowserService,audioTagService,libraryDeletionService,throttleService,artistInfoService,albumInfoService,artistRelationService,artistTopTracksService,artistTopTagsService,scrobbledTracksService,tagInfoService,userTopArtistsService,userRecommendedArtistsService,groupWeeklyArtistChartService,tagTopArtistsService,searchIndexUpdateSettingsService,webserviceHistoryService,tagService,tagUpdateService,nameSearchService,artistRecommendationService,searchIndexUpdateExecutorService,playlistGeneratorService,libraryUpdateService,updateNowPlayingClient,scrobbleClient,tagUpdateClient,authSessionClient,radioPlaylistClient,artistInfoClient,albumInfoClient,artistSimilarityClient,artistTopTracksClient,artistTopTagsClient,trackSimilarityClient,scrobbledTracksClient,tagInfoClient,userTopArtistsClient,userRecommendedArtistsClient,groupWeeklyArtistChartClient,tagTopArtistsClient,artistQueryClient,releaseClient,directoryBrowserDao,libraryPresenceDao,libraryAdditionDao,libraryDeletionDao,libraryBrowserDao,musicDao,starDao,playCountDao,trackPlayCountDao,webserviceHistoryDao,trackRelationDao,artistInfoDao,albumInfoDao,artistRelationDao,artistTopTracksDao,artistTopTagsDao,nameSearchDao,playlistGeneratorDao,artistRecommendationDao,tagDao,tagInfoDao,lastFmDao,userTopArtistsDao,userRecommendedArtistsDao,groupWeeklyArtistChartDao,musicBrainzArtistDao,musicBrainzAlbumDao,functionCountDao,databaseAdministrationDao,dataSource,initialDataSource,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0,nullChannel,errorChannel,_org.springframework.integration.errorLogger,taskScheduler,org.springframework.integration.config.IdGeneratorConfigurer#0]; root of factory hierarchy
Dec 27, 2012 1:08:56 PM org.springframework.scheduling.concurrent.ExecutorConfigurationSupport initialize
INFO: Initializing ExecutorService
Dec 27, 2012 1:08:56 PM com.mchange.v2.log.MLog <clinit>
INFO: MLog clients using java 1.4+ standard logging.
Dec 27, 2012 1:08:56 PM com.mchange.v2.c3p0.C3P0Registry banner
INFO: Initializing c3p0-0.9.2-pre4 [built 16-June-2012 20:16:37 -0400; debug? true; trace: 10]
Dec 27, 2012 1:08:57 PM com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource getPoolManager
INFO: Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 1, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> z8kfsx8r1ph11a81gblrn1|3d5693f, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> org.postgresql.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> z8kfsx8r1ph11a81gblrn1|3d5693f, idleConnectionTestPeriod -> 0, initialPoolSize -> 15, jdbcUrl -> jdbc:postgresql://localhost:5432/musiccabinet, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 40, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 15, numHelperThreads -> 3, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 0, statementCacheNumDeferredCloseThreads -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> true, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.838 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcArtistTopTagsDaoTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.173 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcLibraryDaoTest
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.32 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcLibraryBrowserDaoTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.821 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcTrackRelationDaoTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.368 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcUserRecommendedArtistsDaoTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.43 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcDatabaseAdministrationDaoEnvironmentDependentTest
Tests run: 7, Failures: 1, Errors: 0, Skipped: 4, Time elapsed: 0.035 sec <<< FAILURE!
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcUserTopArtistsDaoTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.282 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcLibraryAdditionDaoTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.332 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcLastFmDaoTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.176 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcPlayCountDaoTest
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.376 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcTagDaoTest
Tests run: 12, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.918 sec <<< FAILURE!
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcGroupWeeklyArtistChartDaoTest
Tests run: 3, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.634 sec <<< FAILURE!
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcLibraryBrowserDaoAggregationTest
Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.544 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcArtistInfoDaoTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.188 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcPlaylistGeneratorDaoTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.86 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcStarDaoTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.676 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcArtistRecommendationDaoTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.378 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcTrackPlayCountDaoTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.187 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcAlbumInfoDaoTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.429 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcArtistRelationDaoTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.686 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcMusicDaoTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.063 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcFunctionCountDaoTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.038 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcArtistTopTracksDaoTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.346 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcNameSearchDaoTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.62 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcTagInfoDaoTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.475 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcMusicBrainzAlbumDaoTest
Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.786 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcMusicBrainzArtistDaoTest
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.026 sec
Running com.github.hakko.musiccabinet.dao.jdbc.JdbcWebserviceHistoryDaoTest
Tests run: 19, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.876 sec
Running com.github.hakko.musiccabinet.ws.musicbrainz.AbstractMusicBrainzClientTest


It basically hangs there for a long time.
resno
 
Posts: 12
Joined: Wed Dec 26, 2012 3:49 pm

Re: [Feature request] Use Private Musicbrainz

Postby hakko » Thu Dec 27, 2012 6:36 pm

:(

Have you done any changes to the AbstractMusicBrainzClient.java? All these tests are there to verify that the code does what I expect it to do, and to help me notice if I break something. Now, AbstractMusicBrainzClientTest has one test for example ("throttlesToOneCallPerSecond") that simply invokes a fake call and measures that it takes longer than one second to execute. I should have realized before, but this test will fail when you change the code as it all of a sudden takes much shorter. So you need to remove that test, or run with mvn -fn (as you know it will fail).

Two things confuse me though: the other failing tests, I'd really expect all of them to work, except maybe JdbcDatabaseAdministrationDaoEnvironmentDependentTest (as it depends on your environment and should maybe not be there).
What was the output when you ran (or run) mvn exec:java -Dexec.mainClass=com.github.hakko.musiccabinet.service.DatabaseAdministrationService ?

The other thing that confuses me is the hanging test. My best guess is that you made some change but left the sleep(Max(INTERVAL_MS ... part somehow in a way that makes it sleep forever. Or did you remove the sleep statement completely? I'm just guessing from the output though.

If I run just that test, it gives me this output:
Code: Select all
musiccabinet-server $ mvn -Dtest=AbstractMusicBrainzClientTest clean test
[...]
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.github.hakko.musiccabinet.ws.musicbrainz.AbstractMusicBrainzClientTest
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.375 sec
MusicCabinet developer
hakko
 
Posts: 1416
Joined: Tue Apr 17, 2012 7:05 pm
Location: Sweden

Re: [Feature request] Use Private Musicbrainz

Postby resno » Thu Dec 27, 2012 10:22 pm

hakko wrote::(

Have you done any changes to the AbstractMusicBrainzClient.java? All these tests are there to verify that the code does what I expect it to do, and to help me notice if I break something. Now, AbstractMusicBrainzClientTest has one test for example ("throttlesToOneCallPerSecond") that simply invokes a fake call and measures that it takes longer than one second to execute. I should have realized before, but this test will fail when you change the code as it all of a sudden takes much shorter. So you need to remove that test, or run with mvn -fn (as you know it will fail).


Yes, I did. Ill change that.

Two things confuse me though: the other failing tests, I'd really expect all of them to work, except maybe JdbcDatabaseAdministrationDaoEnvironmentDependentTest (as it depends on your environment and should maybe not be there).
What was the output when you ran (or run) mvn exec:java -Dexec.mainClass=com.github.hakko.musiccabinet.service.DatabaseAdministrationService ?


Code: Select all
/musiccabinet/musiccabinet-server$  mvn exec:java -Dexec.mainClass=com.github.hakko.musiccabinet.service.DatabaseAdministrationService
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'exec'.
[INFO] ------------------------------------------------------------------------
[INFO] Building musiccabinet-server
[INFO]    task-segment: [exec:java]
[INFO] ------------------------------------------------------------------------
[INFO] Preparing exec:java
[INFO] No goals needed for project - skipping
[INFO] [exec:java {execution: default-cli}]
Dec 27, 2012 5:09:06 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@6d011211: startup date [Thu Dec 27 17:09:06 EST 2012]; root of context hierarchy
Dec 27, 2012 5:09:07 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
Dec 27, 2012 5:09:08 PM org.springframework.core.io.support.PropertiesLoaderSupport loadProperties
INFO: Loading properties file from class path resource [local.jdbc.properties]
Dec 27, 2012 5:09:08 PM org.springframework.integration.config.xml.DefaultConfiguringBeanFactoryPostProcessor registerErrorChannel
INFO: No bean named 'errorChannel' has been explicitly defined. Therefore, a default PublishSubscribeChannel will be created.
Dec 27, 2012 5:09:08 PM org.springframework.integration.config.xml.DefaultConfiguringBeanFactoryPostProcessor registerTaskScheduler
INFO: No bean named 'taskScheduler' has been explicitly defined. Therefore, a default ThreadPoolTaskScheduler will be created.
Dec 27, 2012 5:09:08 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@3a33da2: defining beans [propertyConfigurer,taskExecutor,channelInitializer,$autoCreateChannelCandidates,org.springframework.integration.internalDefaultConfiguringBeanFactoryPostProcessor,libraryPresenceChannel,libraryMetadataChannel,libraryAdditionChannel,libraryDeletionChannel,scrobbleChannel,musicBrainzService,directoryBrowserService,starService,lastFmService,scrobbleService,databaseAdministrationService,libraryScannerService,libraryPresenceService,libraryMetadataService,libraryAdditionService,libraryBrowserService,audioTagService,libraryDeletionService,throttleService,artistInfoService,albumInfoService,artistRelationService,artistTopTracksService,artistTopTagsService,scrobbledTracksService,tagInfoService,userTopArtistsService,userRecommendedArtistsService,groupWeeklyArtistChartService,tagTopArtistsService,searchIndexUpdateSettingsService,webserviceHistoryService,tagService,tagUpdateService,nameSearchService,artistRecommendationService,searchIndexUpdateExecutorService,playlistGeneratorService,libraryUpdateService,updateNowPlayingClient,scrobbleClient,tagUpdateClient,authSessionClient,radioPlaylistClient,artistInfoClient,albumInfoClient,artistSimilarityClient,artistTopTracksClient,artistTopTagsClient,trackSimilarityClient,scrobbledTracksClient,tagInfoClient,userTopArtistsClient,userRecommendedArtistsClient,groupWeeklyArtistChartClient,tagTopArtistsClient,artistQueryClient,releaseClient,directoryBrowserDao,libraryPresenceDao,libraryAdditionDao,libraryDeletionDao,libraryBrowserDao,musicDao,starDao,playCountDao,trackPlayCountDao,webserviceHistoryDao,trackRelationDao,artistInfoDao,albumInfoDao,artistRelationDao,artistTopTracksDao,artistTopTagsDao,nameSearchDao,playlistGeneratorDao,artistRecommendationDao,tagDao,tagInfoDao,lastFmDao,userTopArtistsDao,userRecommendedArtistsDao,groupWeeklyArtistChartDao,musicBrainzArtistDao,musicBrainzAlbumDao,functionCountDao,databaseAdministrationDao,dataSource,initialDataSource,nullChannel,errorChannel,_org.springframework.integration.errorLogger,taskScheduler,org.springframework.integration.config.IdGeneratorConfigurer#0]; root of factory hierarchy
Dec 27, 2012 5:09:08 PM org.springframework.scheduling.concurrent.ExecutorConfigurationSupport initialize
INFO: Initializing ExecutorService
Dec 27, 2012 5:09:08 PM com.mchange.v2.log.MLog <clinit>
INFO: MLog clients using java 1.4+ standard logging.
Dec 27, 2012 5:09:08 PM com.mchange.v2.c3p0.C3P0Registry banner
INFO: Initializing c3p0-0.9.2-pre4 [built 16-June-2012 20:16:37 -0400; debug? true; trace: 10]
Dec 27, 2012 5:09:09 PM com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource getPoolManager
INFO: Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 1, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> z8kfsx8r1pplxm39uvz5m|467463b3, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> org.postgresql.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> z8kfsx8r1pplxm39uvz5m|467463b3, idleConnectionTestPeriod -> 0, initialPoolSize -> 15, jdbcUrl -> jdbc:postgresql://localhost:5432/musiccabinet, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 40, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 15, numHelperThreads -> 3, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 0, statementCacheNumDeferredCloseThreads -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> true, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9 seconds
[INFO] Finished at: Thu Dec 27 17:09:11 EST 2012
[INFO] Final Memory: 18M/107M
[INFO] ------------------------------------------------------------------------


The build now says successful, it's still not creating the file.
resno
 
Posts: 12
Joined: Wed Dec 26, 2012 3:49 pm

Re: [Feature request] Use Private Musicbrainz

Postby resno » Thu Dec 27, 2012 10:24 pm

I'm to run mvn -fn install right?
Because only -fn shows:

Code: Select all
~/musiccabinet/musiccabinet-server$ mvn -fn
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO]

You must specify at least one goal or lifecycle phase to perform build steps.
The following list illustrates some commonly used build commands:

  mvn clean
    Deletes any build output (e.g. class files or JARs).
  mvn test
    Runs the unit tests for the project.
  mvn install
    Copies the project artifacts into your local repository.
  mvn deploy
    Copies the project artifacts into the remote repository.
  mvn site
    Creates project documentation (e.g. reports or Javadoc).

Please see
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
for a complete description of available lifecycle phases.

Use "mvn --help" to show general usage information about Maven's command line.


[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Thu Dec 27 17:26:44 EST 2012
[INFO] Final Memory: 2M/30M
[INFO] ------------------------------------------------------------------------
resno
 
Posts: 12
Joined: Wed Dec 26, 2012 3:49 pm

Re: [Feature request] Use Private Musicbrainz

Postby hakko » Fri Dec 28, 2012 10:33 am

It looks to me that when you edited local.jdbc.properties in the musiccabinet code base, you changed the database URL from localhost:5432/musiccabinet-test to localhost:5432/musiccabinet?

When you run mvn exec:java -Dexec.mainClass=com.github.hakko.musiccabinet.service.DatabaseAdministrationService, it simply connects to Postgres, and syncs the database state with the code (to make sure all tables, stored procedures, indexes etc are up to date). When it says Build successful, it only means your database is up to date.

When building the musiccabinet code, I want to verify expected behavior and then I use a database called musiccabinet-test where I can erase everything, run a mocked MusicBrainz import etc, verify stored data and then erase everything again. This database needs to be different from my "production" database where I keep my actual library (I don't want that one erased!). So people who download the binary only get a "musiccabinet" database, while people who build from the sources also get an "musiccabinet-test" database.

When building with Maven, you have to specify what goal to achieve. For example, "mvn test" will only compile and run all tests and print their output. While "mvn package" will do an additional assembly into a binary file. And "mvn install", finally, will not only build the binary but also install it in your local repository. "-fn" only tells Maven to continue operating even if a test fails. So you can run "mvn -fn package" or "mvn -fn install" and in your case you want the latter one, "mvn -fn install", to create and install the binary, even if a test failed along the road.
MusicCabinet developer
hakko
 
Posts: 1416
Joined: Tue Apr 17, 2012 7:05 pm
Location: Sweden

Re: [Feature request] Use Private Musicbrainz

Postby resno » Mon Dec 31, 2012 9:10 pm

So, for the moment, Ive totally forgotten about doing my own build as it continues to be an epic fail and decided to use one of yours. Upon putting it in the proper location I am greeted with this. Any suggestions?

Code: Select all
Exception    java.lang.NoClassDefFoundError
Message    javax/el/ELException
Java version    Oracle Corporation 1.7.0_10
Operating system    Linux 3.2.0-23-generic
Server    jetty-6.1.x
Memory    Used 49 of 95 MB
Stack trace    java.lang.NoClassDefFoundError: javax/el/ELException at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2442) at java.lang.Class.privateGetPublicMethods(Class.java:2562) at java.lang.Class.getMethods(Class.java:1427) at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1261) at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1122) at java.beans.Introspector.getBeanInfo(Introspector.java:414) at java.beans.Introspector.getBeanInfo(Introspector.java:161) at java.beans.Introspector.getBeanInfo(Introspector.java:248) at java.beans.Introspector.(Introspector.java:395) at java.beans.Introspector.getBeanInfo(Introspector.java:161) at org.apache.jasper.compiler.Generator$TagHandlerInfo.(Generator.java:3712) at org.apache.jasper.compiler.Generator$GenerateVisitor.getTagHandlerInfo(Generator.java:2120) at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1599) at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441) at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163) at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213) at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219) at org.apache.jasper.compiler.Node$Root.accept(Node.java:456) at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163) at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213) at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2237) at org.apache.jasper.compiler.Node$IncludeDirective.accept(Node.java:597) at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163) at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213) at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219) at org.apache.jasper.compiler.Node$Root.accept(Node.java:456) at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163) at org.apache.jasper.compiler.Generator.generate(Generator.java:3304) at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:295) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:276) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:264) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:268) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126) at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1157) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:927) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:139) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at net.sourceforge.subsonic.filter.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at net.sourceforge.subsonic.filter.ParameterDecodingFilter.doFilter(ParameterDecodingFilter.java:54) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at net.sourceforge.subsonic.filter.BootstrapVerificationFilter.doFilter(BootstrapVerificationFilter.java:54) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:313) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442) Caused by: java.lang.ClassNotFoundException: javax.el.ELException at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:375) at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:337) ... 105 more
resno
 
Posts: 12
Joined: Wed Dec 26, 2012 3:49 pm

Re: [Feature request] Use Private Musicbrainz

Postby hakko » Tue Jan 01, 2013 10:30 am

That means that the subsonic-booter-jar-with-dependencies.jar file (I think that's the name) is taken from a vanilla Subsonic install. MusicCabinet uses a different one upgraded from Jetty 6 to Jetty 8 for security reasons. It's included in the installers.
MusicCabinet developer
hakko
 
Posts: 1416
Joined: Tue Apr 17, 2012 7:05 pm
Location: Sweden

Next

Return to MusicCabinet

Who is online

Users browsing this forum: No registered users and 10 guests