import org.apache.archiva.admin.model.beans.FileType;
import org.apache.archiva.admin.model.beans.LegacyArtifactPath;
import org.apache.archiva.admin.model.beans.OrganisationInformation;
+import org.apache.archiva.admin.model.beans.UiConfiguration;
import java.util.List;
void setOrganisationInformation( OrganisationInformation organisationInformation )
throws RepositoryAdminException;
+ UiConfiguration getUiConfiguration()
+ throws RepositoryAdminException;
+
+ void updateUiConfiguration( UiConfiguration uiConfiguration )
+ throws RepositoryAdminException;
+
}
--- /dev/null
+package org.apache.archiva.admin.model.beans;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+/**
+ * @author Olivier Lamy
+ * @since 1.4
+ */
+@XmlRootElement( name = "uiConfiguration" )
+public class UiConfiguration
+{
+ /**
+ * true if find artifacts should be enabled.
+ */
+ private boolean showFindArtifacts = true;
+
+ /**
+ * true if applet behavior for find artifacts should be enabled.
+ */
+ private boolean appletFindEnabled = true;
+
+ /**
+ * Field disableEasterEggs.
+ */
+ private boolean disableEasterEggs = false;
+
+ public UiConfiguration()
+ {
+ // noop
+ }
+
+ public boolean isShowFindArtifacts()
+ {
+ return showFindArtifacts;
+ }
+
+ public void setShowFindArtifacts( boolean showFindArtifacts )
+ {
+ this.showFindArtifacts = showFindArtifacts;
+ }
+
+ public boolean isAppletFindEnabled()
+ {
+ return appletFindEnabled;
+ }
+
+ public void setAppletFindEnabled( boolean appletFindEnabled )
+ {
+ this.appletFindEnabled = appletFindEnabled;
+ }
+
+ public boolean isDisableEasterEggs()
+ {
+ return disableEasterEggs;
+ }
+
+ public void setDisableEasterEggs( boolean disableEasterEggs )
+ {
+ this.disableEasterEggs = disableEasterEggs;
+ }
+}
import org.apache.archiva.admin.model.beans.FileType;
import org.apache.archiva.admin.model.beans.LegacyArtifactPath;
import org.apache.archiva.admin.model.beans.OrganisationInformation;
+import org.apache.archiva.admin.model.beans.UiConfiguration;
import org.apache.archiva.admin.repository.AbstractRepositoryAdmin;
import org.apache.archiva.audit.AuditEvent;
-import org.apache.commons.lang.StringUtils;
import org.apache.archiva.configuration.Configuration;
+import org.apache.archiva.configuration.UserInterfaceOptions;
+import org.apache.archiva.configuration.WebappConfiguration;
+import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
throws RepositoryAdminException
{
Configuration configuration = getArchivaConfiguration().getConfiguration();
- org.apache.archiva.configuration.FileType fileType =
- new org.apache.archiva.configuration.FileType();
+ org.apache.archiva.configuration.FileType fileType = new org.apache.archiva.configuration.FileType();
fileType.setId( fileTypeId );
configuration.getRepositoryScanning().removeFileType( fileType );
saveConfiguration( configuration );
saveConfiguration( configuration );
}
- //-------------------------
+ public UiConfiguration getUiConfiguration()
+ throws RepositoryAdminException
+ {
+ WebappConfiguration webappConfiguration = getArchivaConfiguration().getConfiguration().getWebapp();
+ if ( webappConfiguration == null )
+ {
+ return null;
+ }
+ UserInterfaceOptions userInterfaceOptions = webappConfiguration.getUi();
+ if ( userInterfaceOptions == null )
+ {
+ return null;
+ }
+ return new BeanReplicator().replicateBean( userInterfaceOptions, UiConfiguration.class );
+ }
+
+ public void updateUiConfiguration( UiConfiguration uiConfiguration )
+ throws RepositoryAdminException
+ {
+ Configuration configuration = getArchivaConfiguration().getConfiguration();
+ if ( uiConfiguration != null )
+ {
+
+ UserInterfaceOptions userInterfaceOptions =
+ new BeanReplicator().replicateBean( uiConfiguration, UserInterfaceOptions.class );
+ configuration.getWebapp().setUi( userInterfaceOptions );
+ }
+ else
+ {
+ configuration.getWebapp().setUi( null );
+ }
+ saveConfiguration( configuration );
+
+ }
+
+//-------------------------
//
//-------------------------
import org.apache.archiva.admin.model.beans.FileType;
import org.apache.archiva.admin.model.beans.LegacyArtifactPath;
import org.apache.archiva.admin.model.beans.OrganisationInformation;
+import org.apache.archiva.admin.model.beans.UiConfiguration;
import org.apache.archiva.admin.repository.AbstractRepositoryAdminTest;
import org.apache.archiva.audit.AuditEvent;
import org.junit.Test;
}
-
+ @Test
public void organisationInfoUpdate()
throws Exception
{
OrganisationInformation organisationInformation = archivaAdministration.getOrganisationInformation();
- assertNull( organisationInformation );
+ assertNotNull( organisationInformation );
+ assertNull( organisationInformation.getLogoLocation() );
+ assertNull( organisationInformation.getName() );
+ assertNull( organisationInformation.getUrl() );
organisationInformation = new OrganisationInformation();
organisationInformation.setLogoLocation( "http://foo.com/bar.png" );
organisationInformation.setName( "foo org" );
- organisationInformation.setUrl( "http:/foo.com" );
+ organisationInformation.setUrl( "http://foo.com" );
archivaAdministration.setOrganisationInformation( organisationInformation );
assertEquals( "http://foo.com", organisationInformation.getUrl() );
}
+
+ @Test
+ public void uiConfiguration()
+ throws Exception
+ {
+ UiConfiguration ui = archivaAdministration.getUiConfiguration();
+ assertNotNull( ui );
+ // assert default values
+ assertFalse( ui.isDisableEasterEggs() );
+ assertTrue( ui.isAppletFindEnabled() );
+ assertTrue( ui.isShowFindArtifacts() );
+
+ ui.setAppletFindEnabled( false );
+ ui.setShowFindArtifacts( false );
+ ui.setDisableEasterEggs( true );
+
+ archivaAdministration.updateUiConfiguration( ui );
+
+ ui = archivaAdministration.getUiConfiguration();
+
+ assertTrue( ui.isDisableEasterEggs() );
+ assertFalse( ui.isAppletFindEnabled() );
+ assertFalse( ui.isShowFindArtifacts() );
+ }
}