add patch for upstream bug #1240
[debian/jabref.git] / debian / patches / mrDlib_jayatana.patch
index 1f279a3575ceef9a393f13a3991089732f8d1525..39a7e83bed50f4d93281da43d8d10d373e83b65c 100644 (file)
-Description: This is the diff between the debian branch and the v_2.9b2 tag\r
- in upstream git; the debian branch was created for us with the purpose to\r
- disable the mrDlib functionality which needs libraries not packaged in\r
- Debian yet.\r
-Origin: upstream git\r
+Description: This is the diff between the debian branch and the v_2.10 tag
+ in upstream git; the debian branch was created for us with the purpose to
+ disable the mrDlib functionality which needs libraries not packaged in
+ Debian yet.
+Origin: upstream git
 Forwarded: not-needed
-Author: Oliver Kopp <oliver.kopp@gmail.com>\r
-Reviewed-by: gregor herrmann <gregoa@debian.org>\r
-Last-Update: 2013-01-01\r
+Author: Oliver Kopp <oliver.kopp@gmail.com>
+Reviewed-by: gregor herrmann <gregoa@debian.org>
+Last-Update: 2014-03-12
 
 --- a/.classpath
 +++ b/.classpath
 @@ -11,8 +11,6 @@
-       <classpathentry exported="true" kind="lib" path="lib/plugin/JPFCodeGenerator-rt.jar" sourcepath="/JPFCodeGenerator/src"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/glazedlists-1.8.0_java15.jar"/>\r
-       <classpathentry kind="lib" path="lib/mysql-connector-java-5.0.7-bin.jar"/>\r
--      <classpathentry kind="lib" path="lib/spl/sciplore/xstream-1.4.1.jar"/>\r
--      <classpathentry kind="lib" path="lib/spl/sciplore/mrDlib-serialization-api.jar" sourcepath="/Serialization API"/>\r
-       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">\r
-               <accessrules>\r
-                       <accessrule kind="accessible" pattern="**"/>\r
+       <classpathentry exported="true" kind="lib" path="lib/plugin/JPFCodeGenerator-rt.jar" sourcepath="/JPFCodeGenerator/src"/>
+       <classpathentry exported="true" kind="lib" path="lib/glazedlists-1.8.0_java15.jar"/>
+       <classpathentry kind="lib" path="lib/mysql-connector-java-5.0.7-bin.jar"/>
+-      <classpathentry kind="lib" path="lib/spl/sciplore/xstream-1.4.1.jar"/>
+-      <classpathentry kind="lib" path="lib/spl/sciplore/mrDlib-serialization-api.jar" sourcepath="/Serialization API"/>
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
+               <accessrules>
+                       <accessrule kind="accessible" pattern="**"/>
 @@ -21,14 +19,10 @@
-       <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/>\r
-       <classpathentry exported="true" kind="con" path="org.eclipse.jdt.USER_LIBRARY/resources"/>\r
-       <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/sciplore"/>\r
--      <classpathentry kind="lib" path="lib/spl/jersey/mimepull-1.3.jar"/>\r
-       <classpathentry kind="lib" path="lib/oo/juh.jar"/>\r
-       <classpathentry kind="lib" path="lib/oo/jurt.jar"/>\r
-       <classpathentry kind="lib" path="lib/oo/ridl.jar"/>\r
-       <classpathentry kind="lib" path="lib/oo/unoil.jar"/>\r
--      <classpathentry kind="lib" path="lib/spl/jersey/jersey-client-1.14.jar"/>\r
--      <classpathentry kind="lib" path="lib/spl/jersey/jersey-core-1.14.jar"/>\r
--      <classpathentry kind="lib" path="lib/spl/jersey/jersey-multipart-1.14.jar"/>\r
-       <classpathentry kind="lib" path="lib/antlr-3.4-complete.jar"/>\r
-       <classpathentry kind="lib" path="lib/jgoodies-common-1.4.0.jar"/>\r
-       <classpathentry kind="lib" path="lib/jgoodies-forms-1.6.0.jar"/>\r
+       <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/>
+       <classpathentry exported="true" kind="con" path="org.eclipse.jdt.USER_LIBRARY/resources"/>
+       <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/sciplore"/>
+-      <classpathentry kind="lib" path="lib/spl/jersey/mimepull-1.3.jar"/>
+       <classpathentry kind="lib" path="lib/oo/juh.jar"/>
+       <classpathentry kind="lib" path="lib/oo/jurt.jar"/>
+       <classpathentry kind="lib" path="lib/oo/ridl.jar"/>
+       <classpathentry kind="lib" path="lib/oo/unoil.jar"/>
+-      <classpathentry kind="lib" path="lib/spl/jersey/jersey-client-1.14.jar"/>
+-      <classpathentry kind="lib" path="lib/spl/jersey/jersey-core-1.14.jar"/>
+-      <classpathentry kind="lib" path="lib/spl/jersey/jersey-multipart-1.14.jar"/>
+       <classpathentry kind="lib" path="lib/antlr-3.4-complete.jar"/>
+       <classpathentry kind="lib" path="lib/jgoodies-common-1.4.0.jar"/>
+       <classpathentry kind="lib" path="lib/jgoodies-forms-1.6.0.jar"/>
 @@ -36,7 +30,6 @@
-       <classpathentry kind="lib" path="lib/fontbox-1.7.1.jar"/>\r
-       <classpathentry kind="lib" path="lib/jempbox-1.7.1.jar"/>\r
-       <classpathentry kind="lib" path="lib/pdfbox-1.7.1.jar"/>\r
--      <classpathentry kind="lib" path="lib/jayatana-1.2.4.jar"/>\r
-       <classpathentry kind="lib" path="lib/postgresql-9.2-1002.jdbc4.jar"/>\r
-       <classpathentry kind="output" path="bin"/>\r
- </classpath>\r
+       <classpathentry kind="lib" path="lib/fontbox-1.7.1.jar"/>
+       <classpathentry kind="lib" path="lib/jempbox-1.7.1.jar"/>
+       <classpathentry kind="lib" path="lib/pdfbox-1.7.1.jar"/>
+-      <classpathentry kind="lib" path="lib/jayatana-1.2.4.jar"/>
+       <classpathentry kind="lib" path="lib/postgresql-9.2-1002.jdbc4.jar"/>
+       <classpathentry kind="output" path="bin"/>
+ </classpath>
 --- a/src/java/net/sf/jabref/ImportSettingsTab.java
 +++ b/src/java/net/sf/jabref/ImportSettingsTab.java
 @@ -44,10 +44,8 @@
-       \r
-     private JRadioButton radioButtonXmp;\r
-       private JRadioButton radioButtonPDFcontent;\r
--    private JRadioButton radioButtonMrDlib;\r
-     private JRadioButton radioButtonNoMeta;\r
-       private JRadioButton radioButtononlyAttachPDF;\r
--      private JRadioButton radioButtonUpdateEmptyFields;\r
-       private JCheckBox useDefaultPDFImportStyle;\r
-       \r
-       private JTextField fileNamePattern;\r
+       
+     private JRadioButton radioButtonXmp;
+       private JRadioButton radioButtonPDFcontent;
+-    private JRadioButton radioButtonMrDlib;
+     private JRadioButton radioButtonNoMeta;
+       private JRadioButton radioButtononlyAttachPDF;
+-      private JRadioButton radioButtonUpdateEmptyFields;
+       private JCheckBox useDefaultPDFImportStyle;
+       
+       private JTextField fileNamePattern;
 @@ -59,17 +57,12 @@
-         radioButtonNoMeta = new JRadioButton(Globals.lang("Create_blank_entry_linking_the_PDF"));\r
-         radioButtonXmp = new JRadioButton(Globals.lang("Create_entry_based_on_XMP_data"));\r
-         radioButtonPDFcontent = new JRadioButton(Globals.lang("Create_entry_based_on_content"));\r
--        radioButtonMrDlib = new JRadioButton(Globals.lang("Create_entry_based_on_data_fetched_from")+" Mr.DLib");\r
-         radioButtononlyAttachPDF = new JRadioButton(Globals.lang("Only_attach_PDF"));\r
--        radioButtonUpdateEmptyFields = new JRadioButton(Globals.lang("Update_empty_fields_with_data_fetched_from")\r
--            +" Mr.DLib");\r
-         ButtonGroup bg = new ButtonGroup();\r
-         bg.add(radioButtonNoMeta);\r
-         bg.add(radioButtonXmp);\r
-         bg.add(radioButtonPDFcontent);\r
--        bg.add(radioButtonMrDlib);\r
-         bg.add(radioButtononlyAttachPDF);\r
--        bg.add(radioButtonUpdateEmptyFields);\r
\r
-         useDefaultPDFImportStyle = new JCheckBox(Globals.lang("Always use this PDF import style (and do not ask for each import)"));\r
-               \r
+         radioButtonNoMeta = new JRadioButton(Globals.lang("Create_blank_entry_linking_the_PDF"));
+         radioButtonXmp = new JRadioButton(Globals.lang("Create_entry_based_on_XMP_data"));
+         radioButtonPDFcontent = new JRadioButton(Globals.lang("Create_entry_based_on_content"));
+-        radioButtonMrDlib = new JRadioButton(Globals.lang("Create_entry_based_on_data_fetched_from")+" Mr.DLib");
+         radioButtononlyAttachPDF = new JRadioButton(Globals.lang("Only_attach_PDF"));
+-        radioButtonUpdateEmptyFields = new JRadioButton(Globals.lang("Update_empty_fields_with_data_fetched_from")
+-            +" Mr.DLib");
+         ButtonGroup bg = new ButtonGroup();
+         bg.add(radioButtonNoMeta);
+         bg.add(radioButtonXmp);
+         bg.add(radioButtonPDFcontent);
+-        bg.add(radioButtonMrDlib);
+         bg.add(radioButtononlyAttachPDF);
+-        bg.add(radioButtonUpdateEmptyFields);
+         useDefaultPDFImportStyle = new JCheckBox(Globals.lang("Always use this PDF import style (and do not ask for each import)"));
+               
 @@ -96,15 +89,9 @@
-               builder.append(radioButtonPDFcontent);\r
-         builder.nextLine();\r
-         builder.append(pan);\r
--              builder.append(radioButtonMrDlib);\r
--        builder.nextLine();\r
--        builder.append(pan);\r
-               builder.append(radioButtononlyAttachPDF);\r
-         builder.nextLine();\r
-         builder.append(pan);\r
--              builder.append(radioButtonUpdateEmptyFields);\r
--        builder.nextLine();\r
--        builder.append(pan);\r
-               builder.append(useDefaultPDFImportStyle);\r
-         builder.nextLine();\r
-               \r
+               builder.append(radioButtonPDFcontent);
+         builder.nextLine();
+         builder.append(pan);
+-              builder.append(radioButtonMrDlib);
+-        builder.nextLine();
+-        builder.append(pan);
+               builder.append(radioButtononlyAttachPDF);
+         builder.nextLine();
+         builder.append(pan);
+-              builder.append(radioButtonUpdateEmptyFields);
+-        builder.nextLine();
+-        builder.append(pan);
+               builder.append(useDefaultPDFImportStyle);
+         builder.nextLine();
+               
 @@ -136,15 +123,9 @@
-               case ImportDialog.CONTENT:\r
-                       radioButtonPDFcontent.setSelected(true);\r
-                       break;\r
--              case ImportDialog.MRDLIB:\r
--                      radioButtonMrDlib.setSelected(true);\r
--                      break;\r
-               case ImportDialog.ONLYATTACH:\r
-                       radioButtononlyAttachPDF.setSelected(true);\r
-                       break;\r
--              case ImportDialog.UPDATEEMPTYFIELDS:\r
--                      radioButtonUpdateEmptyFields.setSelected(true);\r
--                      break;\r
-               default:\r
-                       // fallback\r
-                       radioButtonPDFcontent.setSelected(true);\r
+               case ImportDialog.CONTENT:
+                       radioButtonPDFcontent.setSelected(true);
+                       break;
+-              case ImportDialog.MRDLIB:
+-                      radioButtonMrDlib.setSelected(true);
+-                      break;
+               case ImportDialog.ONLYATTACH:
+                       radioButtononlyAttachPDF.setSelected(true);
+                       break;
+-              case ImportDialog.UPDATEEMPTYFIELDS:
+-                      radioButtonUpdateEmptyFields.setSelected(true);
+-                      break;
+               default:
+                       // fallback
+                       radioButtonPDFcontent.setSelected(true);
 @@ -162,12 +143,9 @@
-                       style = ImportDialog.XMP;\r
-               else if (radioButtonPDFcontent.isSelected())\r
-                       style = ImportDialog.CONTENT;\r
--              else if (radioButtonMrDlib.isSelected())\r
--                      style = ImportDialog.MRDLIB;\r
-               else if (radioButtononlyAttachPDF.isSelected())\r
-                       style = ImportDialog.ONLYATTACH;\r
--              else if (radioButtonUpdateEmptyFields.isSelected())\r
--                      style = ImportDialog.UPDATEEMPTYFIELDS;\r
-+              else throw new IllegalStateException();\r
-               Globals.prefs.putInt(PREF_IMPORT_DEFAULT_PDF_IMPORT_STYLE, style);\r
-               Globals.prefs.put(PREF_IMPORT_FILENAMEPATTERN, fileNamePattern.getText());\r
-       }\r
+                       style = ImportDialog.XMP;
+               else if (radioButtonPDFcontent.isSelected())
+                       style = ImportDialog.CONTENT;
+-              else if (radioButtonMrDlib.isSelected())
+-                      style = ImportDialog.MRDLIB;
+               else if (radioButtononlyAttachPDF.isSelected())
+                       style = ImportDialog.ONLYATTACH;
+-              else if (radioButtonUpdateEmptyFields.isSelected())
+-                      style = ImportDialog.UPDATEEMPTYFIELDS;
++              else throw new IllegalStateException();
+               Globals.prefs.putInt(PREF_IMPORT_DEFAULT_PDF_IMPORT_STYLE, style);
+               Globals.prefs.put(PREF_IMPORT_FILENAMEPATTERN, fileNamePattern.getText());
+       }
 --- a/src/java/net/sf/jabref/JabRefFrame.java
 +++ b/src/java/net/sf/jabref/JabRefFrame.java
 @@ -1,4 +1,4 @@
--/*  Copyright (C) 2003-2012 JabRef contributors.\r
-+/*  Copyright (C) 2003-2011 JabRef contributors.\r
-     This program is free software; you can redistribute it and/or modify\r
-     it under the terms of the GNU General Public License as published by\r
-     the Free Software Foundation; either version 2 of the License, or\r
+-/*  Copyright (C) 2003-2012 JabRef contributors.
++/*  Copyright (C) 2003-2011 JabRef contributors.
+     This program is free software; you can redistribute it and/or modify
+     it under the terms of the GNU General Public License as published by
+     the Free Software Foundation; either version 2 of the License, or
 @@ -40,8 +40,6 @@
- import javax.swing.event.ChangeEvent;\r
- import javax.swing.event.ChangeListener;\r
\r
--import org.java.ayatana.ApplicationMenu;\r
--\r
- import net.sf.jabref.export.*;\r
- import net.sf.jabref.external.ExternalFileTypeEditor;\r
- import net.sf.jabref.external.PushToApplicationButton;\r
-@@ -551,13 +549,6 @@
-                 }\r
-             }\r
-         });\r
--\r
--        // The following sets up integration with Unity's global menu, but currently (Nov 18, 2012)\r
--        // this doesn't work with OpenJDK 6 (leads to crash), only with 7.\r
--        String javaVersion = System.getProperty("java.version", null);\r
--        if (javaVersion.compareTo("1.7") >= 0)\r
--            ApplicationMenu.tryInstall(this);\r
--\r
-     }\r
\r
-     public void setWindowTitle() {\r
+ import javax.swing.event.ChangeEvent;
+ import javax.swing.event.ChangeListener;
+-import org.java.ayatana.ApplicationMenu;
+-
+ import net.sf.jabref.export.*;
+ import net.sf.jabref.external.ExternalFileTypeEditor;
+ import net.sf.jabref.external.PushToApplicationButton;
+@@ -562,13 +560,6 @@
+                 }
+             }
+         });
+-
+-        // The following sets up integration with Unity's global menu, but currently (Nov 18, 2012)
+-        // this doesn't work with OpenJDK 6 (leads to crash), only with 7.
+-        String javaVersion = System.getProperty("java.version", null);
+-        if (javaVersion.compareTo("1.7") >= 0)
+-            ApplicationMenu.tryInstall(this);
+-
+     }
+     public void setWindowTitle() {
 --- a/src/java/spl/DocumentWrapper.java
 +++ /dev/null
 @@ -1,272 +0,0 @@
@@ -562,7 +562,7 @@ Last-Update: 2013-01-01
 -}\r
 --- a/src/java/spl/PdfImporter.java
 +++ b/src/java/spl/PdfImporter.java
-@@ -21,15 +21,9 @@
+@@ -19,12 +19,8 @@
  import net.sf.jabref.undo.UndoableInsertEntry;\r
  import net.sf.jabref.util.XMPUtil;\r
  \r
@@ -571,30 +571,28 @@ Last-Update: 2013-01-01
  import spl.filter.PdfFileFilter;\r
  import spl.gui.ImportDialog;\r
 -import spl.gui.MetaDataListDialog;\r
+-\r
  \r
--import java.util.ArrayList;\r
--import java.util.Arrays;\r
--import java.util.List;\r
- import java.util.Set;\r
\r
\r
-@@ -113,7 +107,6 @@
+ /**\r
+  * Created by IntelliJ IDEA.\r
+@@ -129,7 +125,6 @@
                BibtexEntryType type;\r
                  InputStream in = null;\r
-                 List<BibtexEntry> res = null;\r
+                 List<BibtexEntry> localRes = null;\r
 -              MetaDataListDialog metaDataListDialog;\r
                  switch (choice) {\r
                        case ImportDialog.XMP:\r
                      //SplDatabaseChangeListener dataListener = new SplDatabaseChangeListener(frame, panel, entryTable, fileName);\r
-@@ -200,84 +193,9 @@
-                         panel.adjustSplitter();\r
+@@ -222,88 +217,10 @@
                      }\r
+                     res.add(entry);\r
                      break;\r
 -                      case ImportDialog.MRDLIB:\r
 -                    metaDataListDialog = new MetaDataListDialog(fileName, true);\r
 -                    Tools.centerRelativeToWindow(metaDataListDialog, frame);\r
 -                    metaDataListDialog.showDialog();\r
 -                    Document document = metaDataListDialog.getXmlDocuments();\r
+-                    entry = null; // to satisfy the Java compiler\r
 -                    if(document != null /*&& documents.getDocuments() != null && documents.getDocuments().size() > 0*/ && metaDataListDialog.getResult() == JOptionPane.OK_OPTION){\r
 -                        int selected = metaDataListDialog.getTableMetadata().getSelectedRow();\r
 -                        if(selected > -1 /*&& selected < documents.getDocuments().size()*/){\r
@@ -623,21 +621,24 @@ Last-Update: 2013-01-01
 -                            LabelPatternUtil.makeLabel(panel.metaData(), panel.database(), entry);\r
 -                        }\r
 -                        else{\r
--                            createNewBlankEntry(fileName);\r
+-                            entry = createNewBlankEntry(fileName);\r
 -                        }\r
 -                    }\r
 -                    else if(metaDataListDialog.getResult() == JOptionPane.CANCEL_OPTION ){\r
 -                        continue;\r
 -                    }\r
 -                    else if(metaDataListDialog.getResult() == JOptionPane.NO_OPTION ){\r
--                        createNewBlankEntry(fileName);\r
+-                        entry = createNewBlankEntry(fileName);\r
 -                    }\r
 -                    else if(document == null /*|| document.getDocuments() == null || document.getDocuments().size() <= 0*/ && metaDataListDialog.getResult() == JOptionPane.OK_OPTION){\r
--                        createNewBlankEntry(fileName);\r
+-                        entry = createNewBlankEntry(fileName);\r
 -                    }\r
+-                    assert(entry != null);\r
+-                    res.add(entry);\r
 -                    break;\r
                        case ImportDialog.NOMETA:\r
-                     createNewBlankEntry(fileName);\r
+                     entry = createNewBlankEntry(fileName);\r
+                     res.add(entry);\r
                      break;\r
 -                      case ImportDialog.UPDATEEMPTYFIELDS:\r
 -                    metaDataListDialog = new MetaDataListDialog(fileName, false);                   \r
@@ -671,8 +672,8 @@ Last-Update: 2013-01-01
                  }\r
              }\r
  \r
-@@ -295,58 +213,6 @@
-         }\r
+@@ -322,58 +239,6 @@
+         return newEntry;\r
      }\r
  \r
 -    private void insertFields(String[] fields, BibtexEntry entry, Document xmlDocument) {\r
@@ -954,9 +955,9 @@ Last-Update: 2013-01-01
 -    private JLabel labelMrDlib1;\r
 -    private JLabel labelMrDlib2;\r
      private int result;\r
-     private int dropRow;\r
      private String fileName;\r
-@@ -71,15 +65,7 @@
+     // indicates whether the drop target is a row in the table or whether other kinds of imports are used\r
+@@ -72,15 +66,7 @@
          radioButtonNoMeta = new JRadioButton(Globals.lang("Create_blank_entry_linking_the_PDF"));\r
          radioButtonXmp = new JRadioButton(Globals.lang("Create_entry_based_on_XMP_data"));\r
          radioButtonPDFcontent = new JRadioButton(Globals.lang("Create_entry_based_on_content"));\r
@@ -972,7 +973,7 @@ Last-Update: 2013-01-01
          buttonOK = new JButton(Globals.lang("Ok"));\r
          buttonCancel = new JButton(Globals.lang("Cancel"));\r
          checkBoxDoNotShowAgain = new JCheckBox(Globals.lang("Do not show this box again for this import"));\r
-@@ -89,12 +75,8 @@
+@@ -90,12 +76,8 @@
          b.append(radioButtonNoMeta, 3);\r
          b.append(radioButtonXmp, 3);\r
          b.append(radioButtonPDFcontent, 3);\r
@@ -985,16 +986,16 @@ Last-Update: 2013-01-01
          b.nextLine();\r
          b.append(checkBoxDoNotShowAgain);\r
          b.append(useDefaultPDFImportStyle);\r
-@@ -114,8 +96,6 @@
-         //this.setText();\r
-         if (this.dropRow < 0) {\r
+@@ -113,8 +95,6 @@
\r
+         if (!this.targetIsARow) {\r
              this.radioButtononlyAttachPDF.setEnabled(false);\r
 -            this.radioButtonUpdateEmptyFields.setEnabled(false);\r
 -            this.labelMrDlib2.setEnabled(false);\r
          }\r
          this.fileName = fileName;\r
          String name = new File(this.fileName).getName();\r
-@@ -124,8 +104,6 @@
+@@ -123,8 +103,6 @@
          } else {\r
              this.labelFileName.setText(new File(this.fileName).getName().substring(0, 33) + "...");\r
          }\r
@@ -1003,7 +1004,7 @@ Last-Update: 2013-01-01
          this.setTitle(LocalizationSupport.message("Import_Metadata_From_PDF"));\r
  \r
          setModal(true);\r
-@@ -136,9 +114,7 @@
+@@ -135,9 +113,7 @@
          bg.add(radioButtonNoMeta);\r
          bg.add(radioButtonXmp);\r
          bg.add(radioButtonPDFcontent);\r
@@ -1013,7 +1014,7 @@ Last-Update: 2013-01-01
  \r
          buttonOK.addActionListener(new ActionListener() {\r
              public void actionPerformed(ActionEvent e) {\r
-@@ -175,15 +151,9 @@
+@@ -174,15 +150,9 @@
                case CONTENT:\r
                        radioButtonPDFcontent.setSelected(true);\r
                        break;\r
@@ -1029,7 +1030,7 @@ Last-Update: 2013-01-01
                default:\r
                        // fallback\r
                        radioButtonPDFcontent.setSelected(true);\r
-@@ -218,14 +188,10 @@
+@@ -217,14 +187,10 @@
                return XMP;\r
        else if (radioButtonPDFcontent.isSelected())\r
                return CONTENT;\r