@@ -26,90 +26,95 @@ public class CreatePersistentUrlImpl implements CreatePersistentUrl {
2626
2727 @ Override
2828 public Url createPersistentUrlFor (String url , Task task ) {
29- String msg = "Url.createPersistentUrlFor url=" +url +" " ;
30- if (url == null ) {
31- return null ;
32- } else {
33- log .debug (msg + " try to find " );
34- Url urlPers = urlRepository .findByUrl (url );
35- if (urlPers != null ) {
36- log .debug (msg + " found: " + urlPers );
37- if (urlPers .isUrlAndExpandedTheSame ()) {
38- log .debug (msg + " urlPers.isUrlAndExpandedTheSame " + urlPers .toString ());
39- Url myTransientUrl = twitterUrlService .fetchTransientUrl (url ,task );
40- if (myTransientUrl == null ) {
41- log .debug (msg + "nothing found by fetchTransientUrl" );
42- return null ;
43- } else {
44- urlPers .setExpanded (myTransientUrl .getExpanded ());
45- String displayUrl = myTransientUrl .getExpanded ();
46- try {
47- URL newURL = new URL (myTransientUrl .getExpanded ());
48- displayUrl = newURL .getHost ();
49- } catch (MalformedURLException exe ) {
50- log .warn (exe .getMessage ());
51- }
52- urlPers .setDisplay (displayUrl );
53- }
54- }
55- urlPers .setUpdatedBy (task );
56- urlPers = urlRepository .save (urlPers );
57- return urlPers ;
29+ String msg = "Url.createPersistentUrlFor url=" +url +" " +task .getUniqueId ()+" : " ;
30+ try {
31+ if (url == null ) {
32+ return null ;
5833 } else {
59- log .debug (msg + " not found " );
60- log .debug (msg + " try to find UrlCache" );
61- UrlCache urlCache = urlCacheRepository .findByUrl (url );
62- if (urlCache != null ) {
63- log .debug (msg + " found: " + urlCache );
64- String displayUrl = urlCache .getExpanded ();
65- try {
66- URL myURL = new URL (urlCache .getExpanded ());
67- displayUrl = myURL .getHost ();
68- } catch (MalformedURLException exe ) {
69- log .warn (exe .getMessage ());
70- }
71- Url newUrl = new Url (task , null , displayUrl , urlCache .getExpanded (), urlCache .getUrl ());
72- log .debug (msg + " try to persist: " + newUrl .toString ());
73- newUrl = urlRepository .save (newUrl );
74- //TODO: delete ?
75- if ((!newUrl .isRawUrlsFromDescription ())&&(!newUrl .isUrlAndExpandedTheSame ())){
76- urlCacheRepository .delete (urlCache );
77- }
78- log .debug (msg + " persisted: " + newUrl .toString ());
79- return newUrl ;
80- } else {
81- urlCache = new UrlCache (task ,null ,url );
82- log .debug (msg + " try to fetchTransientUrl" );
83- Url myTransientUrl = twitterUrlService .fetchTransientUrl (url ,task );
84- if (myTransientUrl == null ) {
85- log .debug (msg + "nothing found by fetchTransientUrl" );
86- return null ;
87- } else {
88- log .debug (msg + " found by fetchTransientUrl: " + myTransientUrl );
89- urlCache .setExpanded (myTransientUrl .getExpanded ());
90- log .debug (msg + " try to persist: " + urlCache .toString ());
91- if (urlCache .isUrlAndExpandedTheSame ()) {
92- log .debug (msg + " not persisted: " + urlCache .toString ());
34+ log .debug (msg + " try to find " );
35+ Url urlPers = urlRepository .findByUrl (url );
36+ if (urlPers != null ) {
37+ log .debug (msg + " found: " + urlPers );
38+ if (urlPers .isUrlAndExpandedTheSame ()) {
39+ log .debug (msg + " urlPers.isUrlAndExpandedTheSame " + urlPers .toString ());
40+ Url myTransientUrl = twitterUrlService .fetchTransientUrl (url , task );
41+ if (myTransientUrl == null ) {
42+ log .debug (msg + "nothing found by fetchTransientUrl" );
43+ return null ;
9344 } else {
94- urlCache = urlCacheRepository .save (urlCache );
95- log .debug (msg + " persisted: " + urlCache .toString ());
45+ urlPers .setExpanded (myTransientUrl .getExpanded ());
46+ String displayUrl = myTransientUrl .getExpanded ();
47+ try {
48+ URL newURL = new URL (myTransientUrl .getExpanded ());
49+ displayUrl = newURL .getHost ();
50+ } catch (MalformedURLException exe ) {
51+ log .warn (exe .getMessage ());
52+ }
53+ urlPers .setDisplay (displayUrl );
9654 }
97- String displayUrl = myTransientUrl .getExpanded ();
55+ }
56+ urlPers .setUpdatedBy (task );
57+ urlPers = urlRepository .save (urlPers );
58+ return urlPers ;
59+ } else {
60+ log .debug (msg + " not found " );
61+ log .debug (msg + " try to find UrlCache" );
62+ UrlCache urlCache = urlCacheRepository .findByUrl (url );
63+ if (urlCache != null ) {
64+ log .debug (msg + " found: " + urlCache );
65+ String displayUrl = urlCache .getExpanded ();
9866 try {
99- URL newURL = new URL (myTransientUrl .getExpanded ());
100- displayUrl = newURL .getHost ();
67+ URL myURL = new URL (urlCache .getExpanded ());
68+ displayUrl = myURL .getHost ();
10169 } catch (MalformedURLException exe ) {
10270 log .warn (exe .getMessage ());
10371 }
104- Url newUrl = new Url (task ,null ,displayUrl , myTransientUrl .getExpanded (), myTransientUrl .getUrl ());
72+ Url newUrl = new Url (task , null , displayUrl , urlCache .getExpanded (), urlCache .getUrl ());
10573 log .debug (msg + " try to persist: " + newUrl .toString ());
10674 newUrl = urlRepository .save (newUrl );
75+ //TODO: delete ?
76+ if ((!newUrl .isRawUrlsFromDescription ()) && (!newUrl .isUrlAndExpandedTheSame ())) {
77+ urlCacheRepository .delete (urlCache );
78+ }
10779 log .debug (msg + " persisted: " + newUrl .toString ());
10880 return newUrl ;
81+ } else {
82+ urlCache = new UrlCache (task , null , url );
83+ log .debug (msg + " try to fetchTransientUrl" );
84+ Url myTransientUrl = twitterUrlService .fetchTransientUrl (url , task );
85+ if (myTransientUrl == null ) {
86+ log .debug (msg + "nothing found by fetchTransientUrl" );
87+ return null ;
88+ } else {
89+ log .debug (msg + " found by fetchTransientUrl: " + myTransientUrl );
90+ urlCache .setExpanded (myTransientUrl .getExpanded ());
91+ log .debug (msg + " try to persist: " + urlCache .toString ());
92+ if (urlCache .isUrlAndExpandedTheSame ()) {
93+ log .debug (msg + " not persisted: " + urlCache .toString ());
94+ } else {
95+ urlCache = urlCacheRepository .save (urlCache );
96+ log .debug (msg + " persisted: " + urlCache .toString ());
97+ }
98+ String displayUrl = myTransientUrl .getExpanded ();
99+ try {
100+ URL newURL = new URL (myTransientUrl .getExpanded ());
101+ displayUrl = newURL .getHost ();
102+ } catch (MalformedURLException exe ) {
103+ log .warn (exe .getMessage ());
104+ }
105+ Url newUrl = new Url (task , null , displayUrl , myTransientUrl .getExpanded (), myTransientUrl .getUrl ());
106+ log .debug (msg + " try to persist: " + newUrl .toString ());
107+ newUrl = urlRepository .save (newUrl );
108+ log .debug (msg + " persisted: " + newUrl .toString ());
109+ return newUrl ;
110+ }
109111 }
110112 }
111113 }
114+ } catch (Exception e ){
115+ log .error (msg ,e .getMessage ());
112116 }
117+ return null ;
113118 }
114119
115120 private static final Logger log = LoggerFactory .getLogger (CreatePersistentUrlImpl .class );
0 commit comments